协作头脑风暴
brainstorming
在实现前澄清需求、探索设计选择,并形成清晰的开发方向。
refresh-repo-skill【开发与工程】Refreshes an existing repository-specific Agent Skill after the source repository changed. Use when the user says repo code, APIs, docs, examples, configs, dependencies, or behavior changed and an old skill may now be stale, outdated, inconsistent with current code, or needs to be resynchronized from repository evidence.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Use this skill when an existing repo-specific Agent Skill should continue describing the same repository, but the repository itself has changed since the skill was created or last maintained.
Typical requests include:
This workflow is different from extend-repo-skill: use
extend-repo-skill when the user asks to add a new capability or deeper
coverage to a working skill. Use this skill when repository drift is the main
reason the skill may be wrong.
Gather or infer:
SKILL.md.references/repo-provenance.md from the skill, when present.If the existing skill directory is missing or does not contain SKILL.md, stop
and ask for the correct skill path. If the repository path is missing and cannot
be inferred from the current working directory or user request, ask for it.
Read these references as the workflow reaches each stage:
Use scripts/check_repo_provenance.py when
references/repo-provenance.md exists. It compares the skill snapshot with the
current Git checkout and prints JSON with current, stale, or unknown
status.
When useful, also read sibling workflow-skill references:
../create-repo-skill/references/ for repository evidence discovery,
installed-package inspection, and output structure.../verify-repo-skill/references/ for usability case format,
verification review, and import/index routing guidance.../extend-repo-skill/references/ for narrow editing and regression
review rules.../prepare-repo-skill-env/SKILL.md if live Python
inspection is needed and no verified environment is available.Resolve the existing skill directory, current repository path, existing
references/repo-provenance.md baseline, optional user-provided baseline,
Python inspection context, review/test artifact directory, and review output
path. If the user does not specify an artifact directory, default to
<repository-path>/skills/tests/<skill-id>/, with usability cases under
test-cases/ and review reports under reports/. If the existing skill is
the live managed copy under <agent-dir>/skills/repositories/repo-skills/<skill-id>/, copy
only its runtime tree to a temporary working directory outside
<agent-dir>/skills/ before editing. Keep that working copy until the
dedicated importer succeeds; never edit the live managed copy in place.
Read references/change-detection-and-staleness-audit.md.
Build a current-state map of the existing skill. When provenance exists, run
python scripts/check_repo_provenance.py --skill-dir <skill_dir> --repo-path <repo_path>
from this workflow-skill directory or adapt the script path to the installed
skill copy. Use its JSON output as the first staleness signal, then gather
current repository evidence and optional change evidence from Git history or
release notes.
Produce a staleness audit that separates:
If live Python inspection is required and no verified environment exists, use
prepare-repo-skill-env to create or repair one, then
continue only from its verified handoff.
Read references/refresh-editing.md. Edit the
resolved runtime working copy in place. Preserve root and sub-skill identities unless the
user explicitly asks for a rename or the current name is invalid. Add or
update references/repo-provenance.md with the refreshed source snapshot.
Preserve the canonical repo_id and skill_id by default. Treat the
existing area-family assignments as the routing baseline: keep them when
the repository's capability scope is unchanged, but do not keep them
blindly when the refresh adds, removes, or materially changes a capability.
If the capability scope changed, the taxonomy hash changed, or the user
requests reclassification, produce a new external area-family routing
handoff and matching minimal v2 metadata before import. Do not hand-edit
generated router Markdown or silently change assignments in prose.
Resolve and apply the repository license after the refreshed source commit is known and before handing the tree to verification:
node ../verify-repo-skill/scripts/resolve_repo_license.mjs \
--repository <owner/repository> \
--source-commit <40-hex-source-commit> \
--json > <artifact-root>/reports/license-resolution.json
node ../verify-repo-skill/scripts/apply_repo_license.mjs \
--skill-dir <external-runtime-skill-dir> \
--license <value-from-report>
Re-query on every refresh; do not preserve a stale license solely because it
was present in the previous skill. Update all root/sub-skill frontmatter to
the same result. Preserve NOASSERTION when GitHub returns it; normalize only
unavailable results to NO_LICENSE, keep the report outside the runtime tree,
and carry old value, new value, source commit, status, and reason into the
handoff. NO_LICENSE is a warning and not a legal conclusion.
Update usability test cases under the review/test artifact directory's
test-cases/ subtree so at least one case proves refreshed behavior and at
least one case guards a pre-existing workflow that should remain valid.
Read references/verification-and-handoff.md.
Verify that refreshed public skill content is self-contained, current,
privacy-safe, and reachable from nearby SKILL.md files. Save staleness
audits, verification reports, and human-review notes under the review/test
artifact directory's reports/ subtree.
After verification passes, follow verify-repo-skill's structured import
policy: use ask_user_question when approval is still required, then run the
approved or auto-authorized refresh through
verify-repo-skill/scripts/import_repo_skill.mjs with --overwrite, the
refreshed runtime skill directory, and --routing-entry <repo-path>/skills/disco/routing_decision/classification.json. The external
handoff is mandatory for a normal classified import, even when the existing
area-family assignments are retained. Use --overwrite only because this
workflow is updating that exact approved repo skill. The helper installs the
refreshed runtime tree under
~/.disco/agent/skills/repositories/repo-skills/<skill-id>/, rebuilds the
sibling live DisCo repo-skills-router under the global lock, and restores
both on failure. Do not hand-edit router Markdown or manually combine copy
and updater commands. The refreshed skill is directly available to DisCo
Researcher in a new session; use import-repo-skills-to-agent only when the
user explicitly asks for a cross-agent export.
<agent-dir>/skills/repositories/repo-skills/ before the
global import lock is held. Refresh an external working copy, then let
verify-repo-skill/scripts/import_repo_skill.mjs replace the live target.references/repo-provenance.md; if the old
skill lacks it, create it from the current repository snapshot.repo_id or skill_id during a
refresh. A rename is a separate identity migration and must update the
central repository index and all router references together.pip show locations, API keys, or machine-specific details into public
skill files.scripts/ or references/ tree and link it instead.tests/ as a skill directory. It is the review/test artifact area.evals/, verification reports, human-review
notes, publication checklists, prompt samples, benchmark notes, or other
check-only artifacts inside the runtime skill directory. Put concrete
usability cases under the review/test artifact directory's test-cases/
subtree and reports under its reports/ subtree, defaulting to
<repository-path>/skills/tests/<skill-id>/.By the end, the user should have:
references/repo-provenance.md snapshot that future agents can use
to detect whether the skill may be stale.reports/ subtree that identifies changed, retained, and removed
guidance.