skill-release
Skill2 starsChanged 30 days agoMITView on GitHub
Release and sync skills in the cankun-skills collection. Use when the user wants to publish or release a skill, add a new skill to the index, sync or fix a drifted skills README or the cankun.me skills page, run publish-hygiene checks, or promote a skill to its own flagship repo (or fold one back).
2 other projects use a version of this.
Adopted by
Most recently taken up by
- Matteoikarieth96/skill-release-skilltheir own version, first seen Nov 8, 2026
- thenavidm/skill-buildertheir own version, first seen Nov 8, 2026
Other versions2 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 2
- Matteoikarieth96/skill-release-skill★ 0same name
- thenavidm/skill-builder★ 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 repository13 other files it gives its agents.
- ambitionSkill
- art-photo-quiet-lightSkill
- art-poster-mondoSkill
- cankun-blog-previewSkill
- common-groundSkill
- conferSkill
- crewSkill
- fleetSkill
- known-unknownsSkill
- meeting-audio-reportSkill
- repo-wayfinderSkill
- tasteSkill
- travel-dossierSkill
The file
We split this skill into the rules it gives an agent
5 rules. About 0 are common, 3 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 51
Complete when: every committed skill and every row carries exactly one classification, shown to the user as a one-line-each table.
- Distinctive: line 78
Remove an orphan row and warn that its install command breaks for existing users.
- Very specific: line 98
every file the SKILL.md points to exists.
- Very specific: line 136
Only when the user asks to move a skill into its own repo (or to fold a flagship back into the collection), follow references/promotion.md …
- Distinctive: line 142
Complete when: every checklist item in the reference is done or explicitly deferred.
≈ “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
Skill Release — converge the publish surfaces
A release is convergence, not a pipeline: every publish surface derives from
the skill's own files, so running this at any time is safe and idempotent.
Surfaces: the collection index (repo README.md), per-skill interface metadata
(agents/openai.yaml), the cankun.me/skills page,
and — rarely — a flagship repo.
Write boundary: this skill edits metadata surfaces only — frontmatter keys
(metadata.summary, compatibility:), agents/*.yaml, the index README, and
cankun-blog/app/data.ts.
The SKILL.md body belongs to the author: a content finding (weak description,
missing triggers) is a flag routed back, never an edit. The route starts at a
committed skill — moving a directory into skills/ is the author's (or skl's)
move, not this skill's.
The human-facing summary of a skill resolves through one chain, highest first:
- frontmatter
metadata.summaryinSKILL.md agents/openai.yaml→interface.short_description- first sentence of the frontmatter
description
Index prose is always derived through this chain, and convergence flows toward
the better text in either direction: when a row reads badly, fix the
skill's metadata.summary and reconverge; when existing row prose beats the
derived value, promote that prose into metadata.summary rather than
degrading the row.
1. Inventory
Enumerate skills/*/SKILL.md frontmatter (committed skills only — an untracked
skill is the author's work in progress, not a release candidate) and every row
of the README Collection table. Classify each skill and each row:
- matched — row text equals the derived summary (plus, when the skill
sets
compatibility:, that value appended verbatim); - stale — row exists but differs from that derived cell text;
- missing — committed skill with no row;
- orphan — row whose skill directory is gone.
Complete when: every committed skill and every row carries exactly one classification, shown to the user as a one-line-each table.
2. Converge the index
Collection rows are grouped by the frontmatter metadata.group key, which
every skill sets. Groups answer "what is the reader trying to do", in this
order:
| key | subsection | holds |
thinking | Thinking | aligning, judging, articulating before or while working |
models | Working with models | consulting or delegating to other models and agents |
making | Making things | producing a finished artifact: images, posters, booklets, reports |
repos | Repos & publishing | repository docs, releases, site upkeep |
These are the same categories as cankun.me; the cankun-blog group field
derives from this same key. Audience is not a group: a skill useful only to
Cankun sets metadata.personal: true, which the site shows as a tag. Within a
group, regenerate rows alphabetically by skill name:
| cell | derivation |
| Skill | [<name>](./skills/<name>) |
| What it does | resolved summary (verbatim; if the skill sets compatibility:, append it verbatim) |
| Install | npx skills@latest add Wang-Cankun/cankun-skills --skill <name> |
Remove an orphan row and warn that its install command breaks for existing users. A Flagship table exists only while a promoted skill does; it is hand-owned, created and retired inside the promotion branch.
Complete when: the Collection table is reproducible from the skills' files alone, and relative links resolve.
3. Hygiene check
Per skill being released:
- frontmatter passes the Agent Skills spec (agentskills.io): top-level keys
limited to
name,description,license,compatibility,metadata,allowed-tools— custom keys (group,summary,personal) live undermetadata:; Claude Code runtime keys (e.g.disable-model-invocation) are a known, accepted deviation; agents/openai.yamlpresent withdisplay_name,short_description,default_prompt— a missing file is created, not merely flagged (it is a publish surface inside the write boundary);- scripts carry the executable bit in git (
git ls-files -sshows100755); - every file the SKILL.md points to exists;
- examples are free of secrets and machine-local paths, and
scripts/check-private.shpasses (it also checks the private tokens listed on this machine, outside the repository); - a model-invoked
descriptioncarries trigger branches (or the skill setsdisable-model-invocation: trueand keeps a one-line human description); metadata.groupis one of the four keys in step 2;- an art-style skill (images in a named visual style) is named
art-<medium>-<style>, the filterable prefix convention; - the skill has been dogfooded:
skl where <name>shows at least one deployment — zero deployments flags "unused", non-blocking like every flag.
Complete when: each item is a pass or a named flag in the report — flags block nothing, but every one is surfaced.
4. Ship
Invoking this skill is the request to publish: show the diff summary, then commit and push the index and metadata changes (edits to a skill's body stay the author's own commits).
Complete when: the push has landed.
5. Sync cankun.me
The /skills page of ~/Documents/GitHub/cankun-blog is data-driven — the
only file to edit is app/data.ts. Derive desc from the resolved summary
(one plain human sentence), write descZh for mainland readers (natural
copy, not word-for-word), pick group and the tier-correct href. Entry
shape, site writing rules, link verification, build, deploy, smoke test, and
commit style: follow references/cankun-blog.md.
href targets the skill's GitHub source (live as soon as step 4's push
lands) — still curl-verify every link before shipping.
Complete when: production serves the entry (smoke test passes) and cankun-blog is committed and pushed — or the step is explicitly deferred.
6. Promote to flagship — or fold back
Only when the user asks to move a skill into its own repo (or to fold a
flagship back into the collection), follow
references/promotion.md — repo layout, the index
row move, install-command breakage, skillshelf re-linking, and the demotion
checklist are all in there.
Complete when: every checklist item in the reference is done or explicitly deferred.
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.

