From skill-authoring
Reference for creating and editing skills well — the vocabulary and principles that make a skill predictable. Covers invocation, information hierarchy, granularity, steering, pruning, and failure modes.
How this skill is triggered — by the user, by Claude, or both
Slash command
/skill-authoring:skill-authoringThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
A skill exists to wrangle determinism out of a stochastic system. **Predictability** — the agent taking the same _process_ every run, not producing the same output — is the root virtue; every lever below serves it.
A skill exists to wrangle determinism out of a stochastic system. Predictability — the agent taking the same process every run, not producing the same output — is the root virtue; every lever below serves it.
Bold terms are defined in GLOSSARY.md; look them up there for the full meaning.
Credits: Based on writing-great-skills by Matt Pocock (https://github.com/mattpocock/skills). Adapted for the Lemon AI Hub plugin ecosystem.
Two choices, trading different costs:
disable-model-invocation, and write a model-facing description with rich trigger phrasing ("Use when the user wants…, mentions…").disable-model-invocation: true; the description becomes human-facing — a one-line summary, trigger lists stripped.Pick model-invocation only when the agent must reach the skill on its own, or another skill must. If it only ever fires by hand, make it user-invoked and pay no context load.
When user-invoked skills multiply past what you can remember, that piled-up cognitive load is cured by a router skill: one user-invoked skill that names the others and when to reach for each.
A model-invoked description does two jobs — state what the skill is, and list the branches that should trigger it. Every word increases context load, so a description earns even harder pruning than the body:
A skill is built from two content types — steps and reference — that mix freely: a skill can be all steps, all reference, or both. The core decision is which to use and where each sits on the information hierarchy, a ladder ranked by how immediately the agent needs the material:
SKILL.md, the primary tier: what the agent does, in order. Each step ends on a completion criterion, the condition that tells the agent the work is done. Make it checkable (can the agent tell done from not-done?) and, where it matters, exhaustive ("every modified model accounted for").SKILL.md behind a context pointer (a link or named callout). The agent only loads it when a step or branch needs it, keeping the top tier lean.Move material down the ladder (from in-skill step, to in-skill reference, to disclosed) until each tier carries only what its rank demands. The test for "is this a step or reference?" is sequence: if order matters, it's a step; if the agent consults it on demand, it's reference.
A demanding completion criterion drives thorough legwork — the digging the agent does within the work — whether the skill has steps or not, since "every rule applied" binds flat reference just as "every step done" binds a sequence.
A leading word is the compact term that anchors a skill's invocation and its execution — the single word you would actually type. It does triple duty: it names the skill (so you can reach it), seeds the description's trigger phrasing, and concentrates what the skill is in the fewest tokens.
Granularity is how finely you divide skills, and each cut spends one of the two loads, so split only when the cut earns it. Two cuts:
Steering is how a skill shapes the agent's runtime behaviour beyond the sequence of steps. Two disciplines:
Pruning is the discipline that keeps a skill lean. Every line costs tokens and maintenance, so each must earn its place. The four pressures to cut against are the failure modes below.
Keep the single source of truth: one authoritative place per meaning. When two locations say the same thing, one is duplication.
Use these to diagnose issues the user may be having with the skill.
When you finish editing or creating a skill, verify:
npx claudepluginhub andersonlimahw/lemon-ai-hub --plugin skill-authoringAuthor, refactor, and debug agent skills. Use when creating a new skill from scratch, pruning or restructuring a bloated SKILL.md, tightening a skill description's triggers, or diagnosing bundled references the agent ignores. Do not use for agent instruction files like CLAUDE.md or AGENTS.md (rc-agents-md), for measuring what the whole config surface costs in tokens (rc-context-budget), or for general documentation and READMEs (rc-readme).
Reference for writing agent skills with predictability. Covers vocabulary, principles, invocation trade-offs (model- vs user-invoked), and description writing. Use when authoring, reviewing, or pruning SKILL.md.
Guides writing and editing Claude Code skills with focus on predictability, invocation types, description writing, and information hierarchy.