wmRun WM spec, implementation, research, or review workflows when the user requests WM or invokes a WM operation.
archDesign the work before any code exists — the spec corpus and the component taxonomy. Owns the spec pipeline (new, todo, revise, prototype), the spec contract and its artifacts (spec.md, the ledger, adr/, the todos/ TODO-N.md + TODO-N.agent.md pair, GLOSSARY.md), and the brick roster: the closed set
capture-gotchaAppend a repeatable trap of this project to `<notes-dir>/GOTCHAS.md` — a convention missed, a wrong assumption, a command that fails in a non-obvious way. Load it when `impl:sub-squash.md` distills a fixup, when `impl:sub-auto.md` closes a round, or when a wm subcommand learns a trap the next TODO w
codeManage spec writing, implementation, and bug fixing.
commit-messageWrite the message of one commit — the subject line, and above all the body: the cause that forced the change, the goal the change reaches, and the decision it took when a real choice existed. Load it before every `git commit`, amend, or message rewrite in the wm flow (`impl`, `auto`, `fix`, `squash`
distributed-patternsdistributed-patterns: how many writers share one store with no compare and swap and no shared lock — unique names, write-once objects, the child before its link, a fixed winner rule, and a housekeeper with a grace period. Use when you design or review a write path that several processes or instances
dive-docsThe `docs` route of `/dive` — write markdown research artifacts, one per entry point, graded against the 6-step chain, and converge until nothing new surfaces. Loaded by the `dive` router; it fans out `explorer` agents to write and `explore-critic` agents to grade.
diveResearch phase before implementation — subcommand router. Given entry points (files, symbols, urls), spawn one subagent per entry point in parallel and write refactor-oriented research artifacts into `<notes-dir>/research/`. Use when the user says "dive", "explore", "research these entry points", or
impl-backgroundRun `/code impl` for one TODO whose `approve` key resolves to `none`, in a background fork, so the calling session stays free and gets a notification when the TODO is done. Load it when the `code` skill routes to impl and `approve` resolves to `none`.
implThe coding half of the wm flow — every operation that writes source or git history: execute one TODO increment by increment (impl), run the whole ledger unattended (auto), close a gap in the ADR and then the code (fix), distill a fixup trail and squash-merge (squash), and the commit rules all three
mutationFind the unit and table tests a change can delete — apply one small behavior-changing edit at a time (a **mutant**) to the code the tests cover, record which tests and table rows each mutant fails, and mark a test that kills nothing, or only what E2E or a kept test already kills. E2E tests are the r
pedantAttack every name in the code — variables, types, functions, methods, parameters, fields, constants — and reject any that reads unclearly without surrounding context or leans on technical/implementation terms instead of domain (DDD ubiquitous) language. Use during code review, before approving a dif
red-green-refactorRed-Green-Refactor cycle for bug fixes. Before fixing a bug, first write a failing test that reproduces it (Red), then make the minimal change to pass (Green), then clean up the code (Refactor). Use on any bug fix, error correction, failing test repair, or when user says "fix this bug".
reviewThe judging half of the wm flow — subcommand router. Every operation that reads code and rules on it without writing any: the gate chain over one implemented TODO (todo), and the same gates over a loose diff, branch, PR, or working tree with no TODO pair (diff). Owns which gate judges what, which ag
searchable-namesUse when choosing a name that a person or a grep must land on later — a type, function, method, field, constant, file, module, package, test, metric, event, feature flag, error code, or the name of an app or directory being renamed — and when writing the doc line under a new public symbol or buildin
teachBuild and measure the human's understanding of a codebase and a branch change, step by step across sessions. Owns the stateful workspace `<notes-dir>/teach/` — the mission, the numbered HTML lessons, the reference sheets, the learning records that set the level of the next session — and the graded q
test-suiteOne entry point for all testing work. Use when the user wants to design a test strategy (pairwise tiering across unit/integration/manual), enumerate scenarios before implementation, audit/score an existing test set for missed cases and readability, apply black-box techniques (equivalence partitionin
traceAnswer "why is it this way?" about anything a spec corpus produced — an Outcome, a Components split, a Surface shape, a constraint row, an Autotest level set to none, a line of shipped code. Spawns one subagent that searches the ADRs in `<notes-dir>/adr/` and returns a short decision trace. Load it