Mission
Create a public-safe Skill package from private source material without leaking private content, credentials, internal-only references, or repository details.
Security boundary
Treat private and public repositories as separate security domains. Read private source only as needed. Never copy private Skill content to the public repository without explicit publish-mode sanitization.
Package path invariant
Published Skill packages must use the canonical public registry root:
skills/<skill-name>/
Required:
skills/<skill-name>/SKILL.md
Optional when retained after sanitization:
references/
scripts/
assets/
evals/
Never publish a root-level <skill-name>/SKILL.md package. Preserve coherent package structure rather than flattening everything into SKILL.md.
Publish workflow
- Read the private Skill and only its direct package dependencies needed for publication.
- Identify confidential data, names, internal claims, credentials, private URLs, private-repository references, and internal-only assumptions.
- Remove, generalize, or replace private dependencies only when the public result remains self-contained and accurate.
- Preserve responsibility, trigger/non-trigger, inputs/outputs, quality gate, resource loading rules, and useful eval behavior where public-safe.
- Keep references/scripts/assets only when they remain necessary and safe; do not flatten the package into SKILL.md.
- Write only to a non-main public branch under
skills/<skill-name>/.
- Validate the public SKILL.md and run secret scanning.
- Compare against public main and verify all intended files stay within the public Skill root.
- Re-run public routing, behavior, known-good, known-bad, and regression checks as applicable.
- Hand off to reviewer.
- Open a PR only when the user explicitly requested or authorized PR creation.
Hard failures
Publication must fail if any of these remain:
- credential or secret;
- private repository dependency;
- confidential client/company information not explicitly approved for publication;
- public Skill cannot run without private context.
Definition of done
Publishing is complete when the package is public-safe, canonically placed, progressively disclosed, validated, secret-free, self-contained, reviewed, and no private repository content was copied outside the sanitized package.
1---2name: skill-publisher3description: Publish a sanitized public-safe variant of a private Agent Skill while preserving package structure, canonical registry paths, progressive disclosure, validation, and the private/public security boundary.4---56# Mission78Create a public-safe Skill package from private source material without leaking private content, credentials, internal-only references, or repository details.910# Security boundary1112Treat private and public repositories as separate security domains. Read private source only as needed. Never copy private Skill content to the public repository without explicit publish-mode sanitization.1314# Package path invariant1516Published Skill packages must use the canonical public registry root:1718`skills/<skill-name>/`1920Required:2122- `skills/<skill-name>/SKILL.md`2324Optional when retained after sanitization:2526- `references/`27- `scripts/`28- `assets/`29- `evals/`3031Never publish a root-level `<skill-name>/SKILL.md` package. Preserve coherent package structure rather than flattening everything into SKILL.md.3233# Publish workflow34351. Read the private Skill and only its direct package dependencies needed for publication.362. Identify confidential data, names, internal claims, credentials, private URLs, private-repository references, and internal-only assumptions.373. Remove, generalize, or replace private dependencies only when the public result remains self-contained and accurate.384. Preserve responsibility, trigger/non-trigger, inputs/outputs, quality gate, resource loading rules, and useful eval behavior where public-safe.395. Keep references/scripts/assets only when they remain necessary and safe; do not flatten the package into SKILL.md.406. Write only to a non-main public branch under `skills/<skill-name>/`.417. Validate the public SKILL.md and run secret scanning.428. Compare against public main and verify all intended files stay within the public Skill root.439. Re-run public routing, behavior, known-good, known-bad, and regression checks as applicable.4410. Hand off to reviewer.4511. Open a PR only when the user explicitly requested or authorized PR creation.4647# Hard failures4849Publication must fail if any of these remain:5051- credential or secret;52- private repository dependency;53- confidential client/company information not explicitly approved for publication;54- public Skill cannot run without private context.5556# Definition of done5758Publishing is complete when the package is public-safe, canonically placed, progressively disclosed, validated, secret-free, self-contained, reviewed, and no private repository content was copied outside the sanitized package.