Skill governor
Act as the skill manager. Own the installed skill portfolio and decide which skill is fit for a requested capability, stage and boundary. Do not choose a skill because its name happens to contain a prompt keyword.
The governor and ai-creation-workflow are the two top-level roles in this
package. The governor manages skills; the workflow controller manages a
project's plan and execution. For a production stage, the workflow controller
sends the required output and constraints to the governor, and the governor
returns a primary skill, optional specialist, boundary and input requirements.
The governor does not take over project scheduling or progress reporting.
Normal routing
- Receive a stage request from the workflow controller: required output, inputs, tool, constraints and acceptance evidence.
- Identify the functional lane and production stage.
- Run
scripts/skill_registry.py report --lane "<lane>"or inspect the roadmap. - Exclude entries whose mapping is stale, colliding or incomplete.
- Return one primary skill, optional complementary skills, boundaries and missing inputs. The workflow controller writes this assignment into its plan.
Reuse an accepted allocation when the lane, requested artifact, input type, tool, constraints and behavior fingerprints are unchanged. Do not rescan the whole portfolio for every project step. Rescan or compare candidates when a new capability appears, a mapping changes, the selected skill fails or the workflow controller reports a real gap.
For an auditable full-workflow decision, create a capability request from
assets/templates/capability-request.json, then use
scripts/capability_gap.py assess. It produces fit | partial | gap, a request
fingerprint and at most five local candidates. Read
references/capability-gap.md only when the
result is not a reusable fit or the user supplied a candidate.
Capability gaps and candidate adoption
Search in this order: unchanged accepted decision, functional roadmap, local installed metadata, then online metadata only for a real unresolved gap. A user-supplied name, path, archive or URL skips discovery search but never skips duplicate, unique-gain, license, safety, dependency, permission or compatibility review. Online discovery never installs or activates its result.
Every final third-party candidate receives one recommendation:
full_install, reference_strengthen, or reject. Prefer reference
strengthening when the candidate substantially overlaps an existing Skill;
extract only licensed, decision-changing material and do not create a duplicate
directory. Prefer full installation only for a distinct, measurable capability;
stage and test it, then start it as probation. Reject candidates with no real
gain or unresolved safety/license blockers.
Honor an explicit user choice without asking again. If the user requested a Skill but did not choose the adoption mode, show the recommendation and ask one compact question: "完整安装,还是参考后补强现有功能?" The choice authorizes the mode, not bypassing a failed safety or license gate.
Portfolio maintenance
python scripts/skill_registry.py scan --no-plugins
python scripts/skill_registry.py report --include-unready
python scripts/skill_registry.py duplicates
python scripts/skill_registry.py validate
python scripts/skill_registry.py package-check
python scripts/skill_audit.py audit --output-md skill-audit.md
Edit registry/skill-roadmap.json after reading the candidate's full SKILL.md
and any behavior-bearing references. Then rerun scan and acknowledge the
mapping against its current fingerprint:
python scripts/skill_registry.py ack-map --skill NAME --review-level full-reviewed
Record outcomes only after real use. Keep usage frequency separate from quality evidence; neither one substitutes for an artifact review.
Safe upgrades
Never overwrite a locally modified skill with a blind copy. Use
scripts/skill_transaction.py prepare for a three-way comparison, resolve all
conflicts in staging, then create a verified backup before activation. Preserve
source commit, license and local modifications in skill-sources.json.
For retirement, copy assets/templates/retirement-evidence.json, complete every
replacement, A/B, unique-capability, usage, dependency and license field, then
run prepare-retire --evidence-file ....
Review its plan, then run retire --approved retire. The command verifies the
unchanged evidence contract and Skill fingerprint, moves it to a dated archive
and records the transaction in skill-retirements.json. Use restore-retired --approved restore to reactivate that verified archive. System and plugin-cache
skills are protected.
Read references/governance.md before merging, disabling or replacing a skill, references/evolution.md when recording learning, scoring or retirement evidence, and references/registry-schema.md when adding routes or evidence.
Read references/role-model.md when deciding whether a change belongs to the skill manager or the workflow controller.