harness/plugins/work-manager/common/skills/spec/SKILL.md
One entry point for all spec work. Use when the user wants to write or update a spec/plan (`<notes-dir>/spec.md` — target picture, terms, goal, decisions, TODO index), interrogate a spec until every Open Question is resolved, author per-TODO body files, audit a spec for readiness before implementation, revise a spec to match what a commit actually shipped, prototype an open design decision, or draw a package/component code map for the spec. Also the skill for the work-manager "spec" and "spec-verify" phases. Invoke as `/spec <write|new|todo|verify|revise|prototype|code-map>` (default `write`).
npx skillsauth add popoffvg/dotfiles specInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
/spec <subcommand>. Pick the operation, read its reference, follow it. Default subcommand is
write. The artifact is <notes-dir>/spec.md plus <notes-dir>/todos/TODO-N.md.
| /spec … | You need to… | Reference |
|---|---|---|
| write (default) | Write/update spec.md — target picture (Description, Terms, Guidelines, Goal, What we're NOT doing, Design Decisions, Open Questions) + the TODO List index of outcomes. No code, no TODO bodies. | references/write.md |
| new | Interrogate the spec relentlessly — grill-me loop, one question at a time, recommend an answer each, walk the decision tree depth-first, write resolutions back, drive Open Questions to empty. Pre-impl half of verification. | references/new.md |
| todo | Author per-TODO body files todos/TODO-N.md for a dummy implementer (Type → Outcome → Terms → Changes → Autotest → scaffolding). | references/todo.md |
| verify | Audit a spec before implementation — completeness, per-TODO files, execution readiness, scope discipline, test honesty. Returns READY / NEEDS REVISION. work-manager "spec-verify" phase. | references/verify.md |
| revise | Rewrite spec.md + todos/TODO-N.md so they match what the last commit for TODO-N actually shipped. No source edits. | references/revise.md |
| prototype | Settle an OPEN design decision by spawning the implementer to make small, visible code changes that demonstrate one shape of the answer. | references/prototype.md |
| code-map | Produce a D2 + SVG architecture map (package map or component/type map) as a visual aid for the spec. | references/code-map.md |
Internal reference (not a direct subcommand): references/flow.md — TS pseudocode patterns for the
## Changes section. Both write and todo point at it.
research → write → new → verify → (todo) → implement → revise (iterate)
Changes read.write / new / revise edit <notes-dir>/spec.md (and todos/TODO-N.md). todo writes
<notes-dir>/todos/TODO-N.md — skeleton in references/todo-template.md, worked example in
examples/TODO-example.md. verify writes <notes-dir>/spec-verify.md.
All write only under <notes-dir>/ — never touch source code.
tools
Improve a whole CLAUDE.local.md — the private, per-project rules captured from user corrections. Wraps each conditional rule in a <task-relevant> block so it only surfaces for matching work, merges duplicates, generalizes one-off facts, drops stale entries, and routes raw project facts to engram. Use when the user says "improve claude.local", "clean up the local rules", "claude.local is bloated", or after the Stop hook has appended many rules.
testing
WM pipeline and conventions shared across all phases. Agents must read this before spec, impl, or verify work.
development
One entry point for spec writing, implementation, and bug fixing. Default is new (write spec → grill loop → produce notes → author TODO bodies). Other subcommands: verify (audit), revise (sync to shipped), prototype (settle a decision), code-map (diagram), impl (execute one TODO), fix (analyze cause, correct thoughts, fix behavior), help (this page). Invoke as /code <subcommand>.
development
Red-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".