skill-authoring
Installation
SKILL.md
Skill Authoring
A skill is a contract with a router and a reader. The router sees only name and description; the reader loads SKILL.md and then only the references it needs. Write for both.
Operating contract
- Define the skill's job in one sentence, the requests that must trigger it, and the nearby requests that must not. If the second list is empty, the skill is too broad.
- Write the description last, from the trigger lists, following description-writing.md.
- Keep
SKILL.mdunder 10 KB and 500 lines: operating contract, workflow selection, and routing to references. Move procedures, catalogs, templates, and rarely needed rules intoreferences/with a one-line trigger for each. - Make the package self-contained: no links outside the skill directory, no dependence on sibling packages at runtime, every script standard-library or clearly documented.
- Declare version, license, side effects, permissions, and failure behavior in the package. Follow package-standards.md for layout, manifests, and marketplaces.
- Enforce behavior in code when it matters: a rule that must hold under pressure belongs in a hook or a deterministic script, not only in prose. See hooks-and-evals.md.
- Install the linter dependency with
python -m pip install -r requirements.txtfrom this skill directory, then runpython scripts/skill_lint.py <skill-dir>before presenting the skill. Fix errors; treat warnings as review items.
Audit an existing skill
Read the description first and predict the requests it will capture. Then read the body and answer: