Skill release
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.From its SKILL.md
npx -y skills add Wang-Cankun/cankun-skills --skill skill-releaseAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
3 things to look at
- 20 days oldThe repository was created 20 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
6.0 KB, ~1.3k tokens by cl100k_base, as published. Nobody here has run it
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 (general
| internal, default general) into two subsections — General use, then
Internal workflow — the same categories as cankun.me; the cankun-blog
group field derives from this same key. 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. The Flagship table is hand-owned — touch it only 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) 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;
- a model-invoked
descriptioncarries trigger branches (or the skill setsdisable-model-invocation: trueand keeps a one-line human description); - 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
Only when the user asks to move a skill into its own repo, follow
references/promotion.md — repo layout modeled on
known-unknowns, the index row move, install-command breakage, and skillshelf
re-linking are all in there.
Complete when: every checklist item in the reference is done or explicitly deferred.
What ships with it: 3 files
5.5 KB alongside SKILL.md
agents/
- openai.yaml309 B
references/
- cankun-blog.md2.9 KB
- promotion.md2.4 KB