From skills
Creates or revises agent skills: adding, renaming, simplifying, improving trigger descriptions, or deciding what belongs in a skill vs. references, scripts, assets, or docs.
How this skill is triggered — by the user, by Claude, or both
Slash command
/skills:write-skillsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
A skill is not documentation. It is compressed operational memory for an
A skill is not documentation. It is compressed operational memory for an agent that already knows how to code and reason. Its job is predictability — the agent taking the same process every run, not producing the same output. Put only the context that changes what the agent will do.
Trigger from the description. The frontmatter description is the
only part read before the skill loads. Say what the skill does and the
concrete situations that should trigger it. Do not hide trigger rules in
the body.
Spend tokens like they are scarce. Assume the agent is already good at general reasoning. Keep only non-obvious workflow, domain constraints, tool choices, failure modes, and validation rules. Delete background, motivation, and generic advice.
Write procedures, not essays. Prefer imperative rules, decision points, and small examples. A good skill changes behavior in the next turn; it does not merely explain the topic. And match the procedure to the deliverable's shape: a catalog of techniques with "pick what fits" produces tool-picking, not a flow — if the job is a shaped interaction (an interview, a staged walk), the workflow must be that shape, with the techniques demoted to steps inside it.
Use progressive disclosure. Keep the main skill file short. Push long
schemas, examples, provider docs, or variant-specific guidance out into
linked references/ files, reached by a pointer that fires only when
needed. Put repeatable fragile operations in scripts/. Put reusable
output material in assets/.
Validate by use. A skill is good when a fresh agent applies it correctly on a realistic task — run it blind, and on the weakest model that will run it; a skill that only drives correct behavior on the frontier model that authored it is too fragile to ship. After editing, read it as if you had no conversation history and remove anything that would not affect action.
Examples document the PROBLEM, not the solution. An example earns its tokens by teaching the agent to recognise a recurring problem — the smell, the symptom, how you knew it was wrong. That is durable. The fix you happened to apply is not: code changes, and a baked-in solution goes stale, or worse prescribes a move that won't fit next time. Write the failure mode and its tell; let the agent derive the fix fresh against the current code. "A directional question gated on a centroid distance read wrong from every bearing" teaches; "so we keyed it on FRONT_ARC" rots. When in doubt, state what was broken and how you spotted it, and stop there.
A leading word is a compact concept already in the model's pretraining that the agent thinks with while running the skill (e.g. fog of war, tracer bullets, red, tight). One word recruits priors the model already holds and anchors a whole region of behavior in the fewest tokens.
be thorough when the agent already is).
The fix is a stronger word (relentless), not more sentences.Choose how the skill is reached; each choice spends a different cost.
description so the agent can fire it
on its own and other skills can reach it. Costs context load — the
description sits in the window every turn. Write rich trigger phrasing.disable-model-invocation: true. Only the user
typing its name can invoke it; zero context load, but the user must
remember it exists. The description becomes a human-facing one-liner.Pick model-invocation only when the agent or another skill must reach it unprompted. When user-invoked skills pile up past memory, add a router skill that names the others and when to reach for each.
The description does two jobs: state what the skill is, and list the distinct situations (branches) that trigger it.
A skill is steps and reference, mixed freely. Rank each piece by how immediately the agent needs it:
SKILL.md. Each ends on a
completion criterion: make it checkable (can the agent tell done
from not-done?) and, where it matters, exhaustive ("every modified
model accounted for", not "produce a change list"). A vague criterion
invites premature completion.SKILL.md into a linked file,
loaded only when its pointer fires.Keep a concept's definition, rules, and caveats under one heading (co-location) so reading one part brings its neighbors. Push too little down and the top bloats; push too much down and you hide what the agent needs.
Each cut spends a cost, so split only when it earns it:
Diagnose a misbehaving skill against these:
Use this structure unless there is a strong reason not to:
---
name: short-verb-phrase
description: What this does. Use when ...
---
# Skill Title
One short paragraph defining the job.
## Workflow
1. Do the first load-bearing thing.
2. Make the key decision.
3. Produce or verify the artifact.
## Rules
- Keep the constraints that prevent common mistakes.
- Link only the references that should be loaded conditionally.
When creating or revising a skill:
The skill is done when its metadata triggers correctly, its body is short enough to read in one pass, and a fresh agent can follow it without asking why the skill exists.
npx claudepluginhub dzhng/skillsCreates new agent skills with proper structure, progressive disclosure, and bundled resources.
Creates and improves agent skills per the Agent Skills specification. Use when asked to create, write, or update skills.
Creates, synthesizes, and improves agent skills following the Agent Skills specification. Handles source capture, authoring, registration, and validation.