name:
^ lowercase-kebab-case, matches the folder name. This is part of layer-1
metadata and helps Claude decide when to trigger the skill.
version: 0.1.0
description: |
<The description is the ONLY thing preloaded for every installed skill, and
it is what Claude reads to decide whether to trigger this skill. Lead with
the trigger condition. Be concrete. Avoid "helps with" / "assists" filler.>
allowed-tools:
Minimal set ONLY — list the exact tools this skill needs, nothing more.
A read-only skill should never list Write/Edit/Bash. Delete this comment
and the unused entries below.
- Write
- Edit
- Bash
- AskUserQuestion
- Task
:
<You are about to .... Your job is to .... Do X, then STOP — do not Y.>
When to use this skill
When NOT to use this skill
- <Anti-trigger 1 — "use instead">
- <Anti-trigger 2>
Steps
<Detail. What to read first, what to look for.>
<Detail.>
<...>
N. Stop. <State exactly what "done" is and that the skill does not continue past it.>
Output format
<Show the literal output structure here. Put the most important line first.>
Rules
What to do
- <Rule.> <Why, briefly.>
- <Hard cap, if any.> <e.g. "Max 2 X. Hard cap — pick the two most important.">
What NOT to do
- <Anti-rule.> <The tempting-but-wrong behavior, and what to do instead.>
- NEVER .
Format discipline
- <No preamble / no recap / verdict-first / stop when done — whatever keeps the output tight.>
1---2name: template3description: <!--4---5<!--6============================================================================7SKILL TEMPLATE — delete this comment block once you've filled things in.89Copy this whole folder to start a new skill:10 cp -r template skills/<your-skill-name>1112This template encodes the repo's quality bar so a new skill starts13correct-by-construction. Three things make a skill good here:1415 1. ONE JOB. A single, clear purpose. If you need "and", split it.16 2. DECISION RULES. Hard caps and explicit "do X / never do Y" — not vibes.17 3. CONVERGENCE. The skill should reduce churn, not manufacture make-work.1819Structure follows PROGRESSIVE DISCLOSURE — load context only as needed:20 - Layer 1: the frontmatter below (name + description). ALWAYS preloaded.21 - Layer 2: this SKILL.md body. Loaded when the skill triggers. Keep it lean.22 - Layer 3: references/*.md. Loaded only when the body tells Claude to read them.2324Anything <IN_ANGLE_BRACKETS> is a placeholder for you to fill in. Search the25file for "<" before you ship — no angle brackets should survive.26============================================================================27-->28---29name: <skill-name>30# ^ lowercase-kebab-case, matches the folder name. This is part of layer-131# metadata and helps Claude decide when to trigger the skill.3233version: 0.1.03435description: |36 <One or two sentences: WHAT this skill does AND WHEN Claude should use it.>37 <The description is the ONLY thing preloaded for every installed skill, and38 it is what Claude reads to decide whether to trigger this skill. Lead with39 the trigger condition. Be concrete. Avoid "helps with" / "assists" filler.>4041allowed-tools:42 # Minimal set ONLY — list the exact tools this skill needs, nothing more.43 # A read-only skill should never list Write/Edit/Bash. Delete this comment44 # and the unused entries below.45 - Read46 - Grep47 - Glob48 # - Write49 # - Edit50 # - Bash51 # - AskUserQuestion52 # - Task53---5455# <Skill Name>: <one-line statement of the single job>5657<!--58Opening frame: orient Claude in 2-4 sentences. State the situation it's in59when this skill fires, the single job, and — if there's a classic failure mode60for this kind of task — name it up front (the plan-review skill opens by naming61the context-gap that causes bad reviews). Delete this comment.62-->63<You are about to .... Your job is to .... Do X, then STOP — do not Y.>6465## When to use this skill6667<!-- Crisp triggers. Mirror the description but in list form. -->68- <Trigger 1>69- <Trigger 2>7071## When NOT to use this skill7273<!-- Just as important. Prevents misfires and scope creep. -->74- <Anti-trigger 1 — "use <other-skill> instead">75- <Anti-trigger 2>7677## Steps7879<!--80Numbered, imperative, in order. Each step is one action. Include EXPLICIT81stop conditions ("if X, ask the user and stop"). Never let the model guess82when it's blocked — route to AskUserQuestion. End with an explicit "Stop."83-->84851. **<First action.>** <Detail. What to read first, what to look for.>86872. **<Next action.>** <Detail.>88893. **<...>**9091N. **Stop.** <State exactly what "done" is and that the skill does not continue past it.>9293## Output format9495<!--96If the skill produces structured output, show the EXACT shape in a fenced97block — verdict/result first. If it edits files instead, replace this section98with the file-format spec. If it produces no fixed output, delete this section.99-->100101```102<Show the literal output structure here. Put the most important line first.>103```104105## Rules106107<!--108This is where "decision rules over vibes" lives. Use bold lead-ins. Prefer109hard caps and "NEVER / Do NOT" over soft advice. If the skill makes judgment110calls, give it a "what to flag / what NOT to flag" pair so the boundary is111explicit. Keep universal opinions framed as configurable, not law.112-->113114### What to do115116- **<Rule.>** <Why, briefly.>117- **<Hard cap, if any.>** <e.g. "Max 2 X. Hard cap — pick the two most important.">118119### What NOT to do120121- **<Anti-rule.>** <The tempting-but-wrong behavior, and what to do instead.>122- **NEVER <the cardinal sin for this skill>.**123124### Format discipline125126- <No preamble / no recap / verdict-first / stop when done — whatever keeps the output tight.>127128<!--129LAYER 3 — PROGRESSIVE DISCLOSURE130If this skill needs a big catalog, signature reference, or worked examples,131DO NOT inline them here. Put them in references/ and point to them so they132load only when needed, e.g.:133134 For the full <thing> catalog, read `references/<thing>-catalog.md`.135136Delete references/ entirely if the skill doesn't need it. Likewise keep evals/137and fill it in — every skill in this repo ships a way to prove it works.138-->