CLAUDE.md@.claude/skills · git:20261013.4e5c041 · 2026-10-13 · sha256 efc84ea23cf5e579

CLAUDE.md@.claude/skills git:20261013.4e5c041A

Immutable. This exact content never changes and is served at /api/v1/blob/efc84ea23cf5e579.

# Adding or renaming a skill

**The vet run covers the cross-references**: `scripts/vet.sh` calls `scripts/check-skill-catalog.sh`, so there is no separate step to remember — run the script directly only when you want the answer before the next vet. What it protects: the skills are densely cross-referenced, and a `@.claude/skills/<name>/SKILL.md` pointer to a file that isn't there fails **silently** — the agent follows the surviving prose and skips the step they couldn't load. Where the catalog ships, the script also asserts that every skill has exactly one entry in `.claude/skills/update-muthur/catalog.md` or its parts under `catalog/`, which keeps that inventory from drifting as skills are added.

**Don't name a skill with a word the loop already uses as an instruction token.** Skills trigger on description matching before their body loads, so a name that doubles as a go-ahead ("implement", "proceed", "ship it", "let's …" — `@.claude/skills/plan/SKILL.md` § "The approval gate" holds the list) fires on prose that meant the token, not the skill. Where the skill takes an argument, naming it after the argument — `/task`, `/pr` — puts it out of reach of that reading entirely.

**A skill named inside another skill's argument is written bare** — `/relay go`, `/from-branch #123 finalize` — in descriptions, examples and every command a skill hands the operator to type, because the Claude app refuses to send a command whose argument carries a slash command. A skill that reads such an argument takes a first token naming a directory under `.claude/skills/` as that skill, slash or no slash, since the CLI still sends the slashed form; `@.claude/skills/from-branch/SKILL.md` § "Argument shape" is that reading, and `/relay take` dispatches through it.

**A change to a skill's `description:` is an edit to an always-loaded file**, since the skill listing carries it on every turn: stage the `SKILL.md` first, per `@.claude/rules/staging.md`. A body-only edit goes in place.