Skill Supply-Chain Guide
Canonical documentation rendered from the repository docs/ folder.
Skill Supply-Chain Guide
Purpose
Third-party skills can improve specialized work, but they are executable supply-chain dependencies. This guide defines how skills are discovered, locked, reviewed, tested, quarantined, promoted, upgraded, and retired.
Fail-closed default
A skill is not automatically trusted because:
- it appears on Skills.sh;
- the repository is popular;
- installation succeeds;
- its name matches the task;
- another agent recommended it.
Unresolved locks, excessive permissions, failed conformance, or unknown external effects block automatic use.
Registry and lock responsibilities
skill_registry.json
Defines:
- skill ID and purpose;
- install command;
- mapped prompts;
- trust tier;
- maturity status;
- required permissions;
- output quarantine;
- fallback;
- conformance contract.
skills.lock.json
Pins:
- repository;
- exact skill name or path;
- commit SHA;
- downloaded archive SHA-256;
- resolution time;
- review and auto-install state.
The delivered third-party locks are unresolved because the build environment did not resolve GitHub commits. Automatic install remains disabled. No fake SHA is inserted.
Trust tiers
native: package-owned code or alias.verified: source and behavior reviewed with current evidence.community_reviewed: meaningful external review, but not locally verified to the highest standard.unreviewed: no sufficient trust evidence.
Trust describes provenance evidence, not guaranteed quality.
Maturity states
- recommended;
- approved;
- experimental;
- quarantined;
- deprecated.
A skill can have a resolved lock and remain experimental or quarantined.
Lock resolution
In a trusted networked environment:
python tools/resolve_skill_lock.py --skill frontend-design
python tools/check_skill_lock.pyReview the exact resulting revision before promotion.
Source review
Inspect:
- installation scripts;
- dependencies;
- shell and subprocess calls;
- network requests;
- filesystem access;
- secret and credential access;
- telemetry;
- update behavior;
- external actions;
- license;
- generated code or content handling.
Permission comparison
The skill permissions must be a subset of the effective prompt <tool_policy> and runtime authority.
A skill that needs network access cannot be selected for a read-only local prompt unless the route explicitly authorizes that access.
Output quarantine
All skill output begins quarantined. Promotion requires the applicable checks:
- schema;
- provenance;
- factual integrity;
- code tests;
- security;
- accessibility;
- brand;
- visual quality;
- exact export;
- external-effect confirmation.
The skill cannot approve its own output.
Conformance testing
python tools/run_skill_conformance.py \
--skill-id <SKILL_ID> \
--artifact <OUTPUT_PATH>A conformance result should record:
- locked revision;
- fixture;
- sandbox permissions;
- raw output;
- expected and actual artifact shape;
- validation results;
- prohibited effects;
- reviewer;
- status.
Skill selection
Prefer:
- one primary producer;
- one independent reviewer when needed;
- one fallback;
- optional specialist adapters only when they change quality.
Do not chain several overlapping design or prompt-optimization skills merely because they are available.
Conflict examples
- two primary frontend design skills should not edit the same source concurrently;
polishmay refine an artifact but not silently replace approved information architecture;- a prompt optimizer may transform a prompt, but an independent prompt reviewer must evaluate the transformed result;
- a report generator may format content but may not rewrite verified numbers without a new finding.
Upgrade procedure
- Resolve a new revision.
- Diff code, permissions, dependencies, and outputs.
- Keep the prior lock available for rollback.
- Rerun healthy and adversarial conformance fixtures.
- Review mapped prompts and policies.
- Promote explicitly.
- Update manifests and documentation.
Never silently track a floating branch in high-assurance use.
Incident response
If a skill is suspected of compromise:
- disable automatic selection;
- quarantine outputs;
- preserve lock and execution evidence;
- identify affected runs;
- rotate exposed credentials if authorized;
- revert to native fallback;
- add detections and a regression fixture;
- review downstream artifacts produced by the skill.
Retirement
Deprecate when the skill is unmaintained, redundant, unsafe, or no longer improves over native execution. Preserve the lock and affected-run references for audit.
Proof boundary
A resolved lock proves byte identity. A conformance pass proves behavior on tested fixtures. Neither guarantees safety on every input or environment.