@@ -92,6 +92,68 @@ Read these before modifying the corresponding areas:
9292- [ internal/validate/vsa/DESIGN.md] ( internal/validate/vsa/DESIGN.md ) — VSA: storage backends, DSSE signing rationale, expiration model
9393- [ acceptance/README.md] ( acceptance/README.md ) — acceptance test framework, Testcontainers, WireMock, snapshot testing
9494
95+ ## Claude Code Skills
96+
97+ Skills live in ` .claude/skills/<name>/SKILL.md ` . They are ** step-by-step executable workflows**
98+ that Claude Code follows to complete a task — not reference documentation, how-to guides, or
99+ API descriptions.
100+
101+ ### Format
102+
103+ Every skill file has three parts:
104+
105+ ** 1. YAML frontmatter** with ` name ` (kebab-case, matches directory name) and ` description `
106+ (multi-line string listing trigger phrases so Claude Code knows when to invoke the skill):
107+
108+ ``` yaml
109+ ---
110+ name : my-skill
111+ description : >
112+ Short description. Use when users ask "trigger phrase 1", "trigger phrase 2",
113+ or need help with <topic>.
114+ ---
115+ ```
116+
117+ ** 2. Title and summary** — an ` # H1 ` heading describing the skill's purpose, followed by a
118+ one-line description of what the skill does:
119+
120+ ```` markdown
121+ # Do the Thing
122+
123+ Determine what to do, execute it, and report results.
124+ ````
125+
126+ ** 3. Numbered step sections** — each ` ## Step N: Action ` contains a brief explanation and,
127+ typically, fenced code blocks (usually ` bash ` ) with the concrete commands to run. The final step is always
128+ ` ## Step N: Report [<topic>] ` , describing what to summarize to the user:
129+
130+ ```` markdown
131+ ## Step 1: Do the first thing
132+
133+ Explanation of what this step accomplishes.
134+
135+ ``` bash
136+ make build
137+ ```
138+
139+ ## Step 2: Report results
140+
141+ Summarize:
142+ - What happened
143+ - Pass/fail status
144+ - What needs attention
145+ ````
146+
147+ ### Anti-patterns
148+
149+ - ** How-to guides or reference docs:** Skills are not documentation — they are runbooks.
150+ "Here's how you could run tests" is wrong; "Run these tests and report the results" is right.
151+ - ** Missing trigger phrases:** Without them, Claude Code won't know when to invoke the skill.
152+ - ** Prose-only steps:** Action steps should generally include concrete commands, not just prose.
153+ Brief prose-only steps are acceptable when they establish context (e.g., classifying inputs).
154+
155+ See [ .claude/skills/run-tests/SKILL.md] ( .claude/skills/run-tests/SKILL.md ) as the canonical example.
156+
95157## Troubleshooting
96158
97159System-level issues that surface in acceptance tests:
0 commit comments