publish-agent-skill
Skill2 starsChanged 48 days agoMITView on GitHub
Publish an Agent Skill through a verified release: a draft becomes a discoverable, installable release with its catalogue README, release notes, update guidance and provenance, or a published skill gets a versioned update. Symptoms: publish this skill, release this Agent Skill, add this skill to the public pack. Not for a user-local skill that should stay unpublished.
2 other projects use a version of this.
Adopted by
Most recently taken up by
- luxiangze/skillstheir own version, first seen Oct 8, 2026
- mizchi/skillstheir own version, first seen Oct 2, 2026
Other versions2 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 2
- mizchi/skills★ 369same name
- luxiangze/skills★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository39 other files it gives its agents.
- agent-lifecycleSkill
- analyse-ticketSkill
- blast-areaSkill
- blocksSkill
- codex-review-loopSkill
- coding-teacherSkill
- decision-journalSkill
- delphi-groundSkill
- delphi-imagineSkill
- derive-codebase-contextSkill
- describe-changesSkill
- github-webhooksSkill
- handoff-promptSkill
- implement-ticketSkill
- investigate-codebaseSkill
- isolated-change-validationSkill
- land-complex-changeSkill
- layer-repository-docsSkill
- mine-session-transcriptsSkill
- model-routingSkill
- new-ux-discoverySkill
- onboard-projectSkill
- preregistered-model-studySkill
- promote-releaseSkill
- publish-to-linearSkill
- release-ledgerSkill
- release-notesSkill
- report-progressSkill
- request-answersSkill
- request-blocks-reviewSkill
- resolve-problem-reportSkill
- resume-after-limitSkill
- rotate-shared-secretSkill
- secure-credential-setupSkill
- track-in-linearSkill
- update-agent-skillsSkill
- visualise-blast-areaSkill
- work-in-external-repoSkill
- workspace-governanceSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
23 rules. About 0 are common, 17 are distinctive, and 6 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈17
Distinctive · estimate
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- could be automatic: a setting could enforce it
- Distinctive: line 25
Do not use for a user-local skill that should remain unpublished, or for private organization policy when a target-specific publishing …
- Very specific: line 74
Write acceptance tests first: Add focused contract tests against the shipped SKILL.md and carried files.
- Distinctive: line 78
Keep triggers and counter-triggers precise.
- Distinctive: line 82
Update the repository README/catalogue entry in the same change so humans and agents can discover the exact skill description, install …
- Very specific: line 87
Validate locally: Run focused tests, frontmatter/link/catalog validators, generated-artifact drift checks, repository-required tests, and …
- Distinctive: line 90
Complete when: every required local check passes and the diff contains only intended target files.
- Very specific: line 92
Review before publication: Use the repository's required review gate.
- Distinctive: line 96
Open the publication change: Create the repository-standard branch, commit, and pull request only after scope is reviewed and authorization …
- Very specific: line 104
Merge and release: Follow branch protection and repository release policy.
- Distinctive: line 110
Verify external state from source: Read back the main-branch skill, release, and catalog.
- Distinctive: line 113
Test an isolated install; do not rely on a preexisting local copy or redirect.
- Distinctive: line 114
Synchronize requested local libraries: Only when the user explicitly names a local-global or project-local target, follow All-plane local …
- Distinctive: line 132
Read the installed inventory in machine-readable form for both scopes:
- Distinctive: line 156
CLI-managed global copy: update the named skills without scope inference:
- Distinctive: line 162
CLI-managed project copy: run from the exact project and specify project scope explicitly:
- Distinctive: line 169
Missing global copy across all supported agents: add from the authoritative published source, preserving the repository's install form:
- Very specific: line 176
Use --copy only when the user or existing installation selected copied delivery.
- Very specific: line 179
Missing project copy: run in the exact project, omit --global, and name the intended agents.
- Distinctive: line 182
Unmanaged or provenance-less copy: do not overwrite it as if managed.
- Distinctive: line 188
Native plugin/package channel: use that channel's marketplace/registry refresh and update commands, then read back its declared version and …
- Distinctive: line 218
Never collapse partial multi-agent success into “local libraries updated.”
- Distinctive: line 255
Review of stale head: only current-head evidence satisfies the gate.
- Distinctive: line 256
Local copy used as proof: verify published source and isolated install.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Publish an Agent Skill
Author, validate, review, merge, release, and verify an Agent Skill without assuming a repository owner, account, forge, package layout, or private delivery system. This skill owns one explicitly selected publication target. It does not silently copy the skill into private repositories, plugins, mirrors, websites, sidecars, control planes, or another owner's account.
When to Use
- “Publish this skill,” “release this Agent Skill,” or “add this skill to the public pack.”
- A skill draft must become a discoverable, installable, verified release.
- An existing published skill needs a versioned content update.
Do not use for a user-local skill that should remain unpublished, or for private organization policy when a target-specific publishing skill explicitly overrides this one.
Publication Authority
Discover the repository, owner, publication target, skill layout, version source, tests, review requirements, merge policy, release mechanism, and discovery channels from the active repository and the user's request. If the target is not uniquely known, ask before writing or publishing. Never infer a destination from memory, a sibling clone, an installed skill, a similarly named organization, or credentials that happen to work.
This workflow has one primary target by default.
External and sidecar targets are opt-in only
An external target includes any second repository, private plugin, marketplace, website, mirror, sidecar runtime, canonical-source repository, generated copy, or local-global installation outside the primary target.
Touch one only when the user explicitly asks for or mentions that named target in the active request. Do not infer external propagation from repository history, links, provenance files, prior releases, available credentials, or the presence of another checkout. When explicitly requested, treat every external target as a separate publication with its own scope, validation, approval, readback, and completion status. A primary release is not proof that a sidecar published.
Prerequisites
- Inspect repository instructions, current branch/status, recent release tags, skill peers, manifest/frontmatter conventions, tests, CI, and release docs.
- Resolve the exact primary target and whether this is a new skill or update.
- Define acceptance: skill identity, trigger, boundaries, carried files, discovery name, version, install command, and proof required after release.
- Inventory external targets mentioned by the user. Record all others as out of scope; do not modify them.
- Confirm authorization before remote writes, merge, publication, destructive replacement, or cross-account changes. Every external target must be named explicitly by the user in the active request; repository policy may add safeguards but cannot select or authorize an unmentioned target.
Procedure
- Discover the target contract. Trace validators, generators, catalog code, neighboring imports/links, release automation, and install commands. Do not invent files, fields, commands, versions, or namespaces. Complete when: repository owner, target branch, skill path, metadata contract, checks, release mechanism, and discovery surfaces are evidenced.
- Write acceptance tests first. Add focused contract tests against the
shipped
SKILL.mdand carried files. Run them and confirm failure for the missing or stale behavior. Complete when: RED proves the intended contract. - Author the minimum skill. Match peer structure and progressive disclosure. Keep triggers and counter-triggers precise; make boundaries, prerequisites, ordered steps, pitfalls, and verification executable. Add carried reference files or scripts only when the main file would otherwise carry bulky or repeated detail. Update the repository README/catalogue entry in the same change so humans and agents can discover the exact skill description, install coordinates, and how to update it. Add human-readable release notes or changelog prose that explains what changed, who should care, compatibility/migration impact, and the action required to receive it. A version number or generated diff is not release notes.
- Validate locally. Run focused tests, frontmatter/link/catalog validators, generated-artifact drift checks, repository-required tests, and diff hygiene. Re-run from a clean dependency state when release reproducibility matters. Complete when: every required local check passes and the diff contains only intended target files.
- Review before publication. Use the repository's required review gate. If
request-blocks-reviewis installed and Blocks review is requested by the user or repository policy, load it and run review/fix/verify/re-review until the current head is clean. Never silently install a reviewer dependency. - Open the publication change. Create the repository-standard branch, commit, and pull request only after scope is reviewed and authorization is present. State tests, release impact, discovery impact, and explicitly excluded external targets. Complete when: the PR URL and exact head exist.
- Follow CI and review to convergence. Distinguish queued acknowledgements from real reviews. Fix findings, rerun checks, push, and request current-head re-review as required. Complete when: required CI and review gates are green for the exact merge head.
- Merge and release. Follow branch protection and repository release policy; do not treat merge as publication. Create or verify the version/tag/release and wait for deployment/indexing channels that the target contract names. Publish the human release notes with exact install/update guidance. Encourage affected users and agents to update without claiming or performing unrequested local synchronization.
- Verify external state from source. Read back the main-branch skill, release, and catalog. Run installer/CLI discovery against the published repository and confirm exact name, description, source URL/type, and version where exposed. Test an isolated install; do not rely on a preexisting local copy or redirect.
- Synchronize requested local libraries. Only when the user explicitly names a local-global or project-local target, follow All-plane local synchronization. Treat every scope, machine, agent, and native/manual channel as an independent target.
- Report staged completion. Separate
verified,published,deferred, andout of scope. A cache/index delay is pending, not failure or success. Name every explicitly requested external target and its independently verified state.
All-plane Local Synchronization
Publishing and isolated install verification do not authorize changing the user's real skill libraries. Enter this procedure only when the active request explicitly names a local-global scope, project scope, machine, agent set, native plugin, or manual/upload target.
Inventory every plane
Read the installed inventory in machine-readable form for both scopes:
npx skills list --global --json npx skills list --json- Record each skill's scope, source provenance, install path, managed/unmanaged
status, copy/symlink form, and every agent path that consumes it. A shared
canonical copy linked into several agents is one managed installation with
several projections; copied directories can drift independently.
Present a deduplicated target manifest before writes:
machine × scope/profile × agent/channel × physical path × mechanism. “All supported agents” covers only this discovered set, not unknown profiles or guessed locations. - Discover native plugin/package channels from the target's own release contract. A plugin-native skill and a standalone skill with the same bare name are separate identities; do not replace or remove one to update the other.
- Inventory manual planes separately: uploaded archives, downloaded files, browser-only agents, remote agents, containers, other machines, and clients the Skills CLI reports as unsupported. Never claim they were synchronized from a successful update on this machine.
Apply by ownership and scope
CLI-managed global copy: update the named skills without scope inference:
npx skills update <skill...> --global --yesCLI-managed project copy: run from the exact project and specify project scope explicitly:
npx skills update <skill...> --project --yesMissing global copy across all supported agents: add from the authoritative published source, preserving the repository's install form:
npx skills add <published-source> --skill <skill...> --global --agent '*' --yesUse
--copyonly when the user or existing installation selected copied delivery. Do not silently convert copy to symlink or symlink to copy.- Missing project copy: run in the exact project, omit
--global, and name the intended agents. Project installation may create or update lock metadata; include and verify it according to repository policy. - Unmanaged or provenance-less copy: do not overwrite it as if managed. Show the exact path and proposed source, obtain approval for destructive replacement, then remove only that identity/scope and reinstall from the authoritative source. Preserve unrelated and namespaced skills.
- Upstream deletion: report a removal candidate; require separate explicit destructive approval before deleting any local skill.
- Native plugin/package channel: use that channel's marketplace/registry refresh and update commands, then read back its declared version and skill namespace. Do not use the generic Skills CLI as proof that a native plugin updated.
- Manual/upload channel: produce or fetch the released artifact, verify it,
and give the user the replacement/upload action. If the agent cannot perform
that UI action, report
manual action required; never mark it updated. - Unsupported agent: report the literal unsupported result and leave it
unsupported. Usedeferredonly for an explicitly requested target that is temporarily unreachable. Do not fabricate a path or copy files into an undocumented folder.
Verify every requested plane
- Re-run scope inventories and confirm source provenance and all expected agent
projections.
--agent '*'means every agent supported by the installed CLI, not every agent that exists. - Compare installed bytes or a cryptographic hash with the authoritative
published artifact when the channel exposes no trustworthy version. A command
exiting zero is not freshness proof.
Where no authoritative version/ref/digest is comparable, report freshness as
unknown; do not infer it from a rewritten local timestamp or command success. - For native plugins, read back the exact installed version and namespace. For project scope, verify the consuming project sees the project copy rather than a higher-precedence global/plugin copy.
- Restart or reload each affected agent/runtime when its loader caches skills; current-session discovery may remain stale until then.
- Report a matrix with
scope × agent/channel × identity:updated,already current,manual action required,unsupported,deferred,failed, orout of scope. Never collapse partial multi-agent success into “local libraries updated.”
Usage Examples
Publish this Agent Skill to the current repository. Discover its conventions,
write contract tests first, validate and review the current head, then merge,
release, verify installer discovery and provenance, and report any indexing lag.
Do not touch any other repository, private plugin, marketplace, website, mirror,
sidecar, canonical/generated copy, or local-global installation unless I
explicitly name it.Publish this skill to the current public pack and also update the private plugin
repository I named. Treat those as separate targets, preview both scopes, verify
each release independently, and do not infer any additional mirror or sidecar.Pitfalls
- Owner assumed from environment: working credentials do not select a target.
- Merge called release: prove the tag/deploy/catalog and install path.
- Branch copy called publication: installer discovery must read the merged source, not an indexed feature branch or cache.
- Silent external propagation: mirrors, websites, private plugins, sidecars, and local-global installations require explicit user mention.
- Root
SKILL.md: some installers stop discovery there; follow the target's actual multi-skill layout. - Description drift: package README/catalog copy must match frontmatter where the target enforces it.
- Id renamed in a minor release: where a skill declares
## Bindings, its binding-slot, hard-line and step ids are what projects adapt it by, so renaming or removing one is a major change for that skill, in whichever version the repository releases it under, and the release notes name every id that moved. - README/changelog treated as cleanup: catalogue README, human release notes, and actionable update guidance are release artifacts, not optional follow-up.
- Review of stale head: only current-head evidence satisfies the gate.
- Local copy used as proof: verify published source and isolated install.
- One plane called all planes: global, project, native-plugin, copied, symlinked, manual/upload, remote, and unsupported clients have independent freshness and completion states.
- Index cache ambiguity: report the authoritative source separately from delayed third-party indexes.
Verification
- Primary repository, owner, branch, layout, and release target were discovered.
- Tests failed before authoring and pass after implementation.
- Frontmatter, links, carried files, catalog, generators, and full checks pass.
- Repository/catalogue README lists the skill and exact install/update path.
- Human release notes explain outcomes, compatibility, and who should update.
- Published update guidance encourages adoption without mutating unrequested local targets.
- Required review is clean for the exact current head.
- Merge, release, and deployment/indexing states are reported separately.
- Main-branch source and release were read back.
- CLI discovery and isolated install report exact skill identity and provenance.
- Every explicitly requested local plane was inventoried before mutation.
- A deduplicated target manifest was presented before every local write.
- Managed updates preserved scope, source, agent set, and copy/symlink form.
- Upstream-missing skills are removal candidates requiring separate destructive confirmation, not ordinary update deletions.
- Without a comparable authoritative version/ref/digest, freshness is
unknown, never inferred from command success or timestamps. - Native, manual, remote, and unsupported channels have independent outcomes.
- Installed bytes/version/namespace were read back and affected runtimes were restarted or reloaded where required.
- Every user-mentioned external target has an independent verified state.
- No unmentioned private, external, mirror, website, sidecar, or local-global target was modified.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

