From spec
Write the implementation spec — the structured document that drives execution. Use after design is chosen (e.g., via /design-options) and before writing code. Triggers on /spec, "write the spec", "draft the implementation plan", "scope this out". Also invoke proactively when starting non-trivial implementation — a spec makes success checkable and catches scope creep and missed reuse before code is written.
How this skill is triggered — by the user, by Claude, or both
Slash command
/spec:specThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
After the design is chosen, the spec is what the agent reads while implementing. Its job is to make success **checkable before any code exists**: bind the goal, the definition of done, the boundaries, and the verification into one durable artifact a fresh-context implementer (or verifier) could execute without re-deciding.
After the design is chosen, the spec is what the agent reads while implementing. Its job is to make success checkable before any code exists: bind the goal, the definition of done, the boundaries, and the verification into one durable artifact a fresh-context implementer (or verifier) could execute without re-deciding.
The spec specifies what done looks like, not a keystroke-by-keystroke route. State outcomes and constraints; trust the implementer to find the path. Spec quality depends on prior exploration of the relevant code — if you haven't explored, do that first.
What outcome this produces, who it's for, and what prompted it. The intent matters as much as the task: it lets the implementer connect the work to the right context instead of inferring it. One paragraph.
The load-bearing section. A checklist of acceptance criteria, each verifiable by a command to run or an observation to make — written so a fresh-context verifier could mark each one pass or fail without asking a question. "GET /api/users returns 200 with a list matching the schema", not "the endpoint works." This is the contract; everything else serves it.
What this change must NOT do: non-goals, files or systems to leave untouched, scope explicitly deferred. The failure mode here is overreach — unrequested refactors, defensive scaffolding, abstractions for hypothetical futures. Name the edges so they aren't crossed silently.
Pointers from exploration, not a prescribed route — deviate when the code says otherwise.
path/to/file — why it's in scope.path/to/util — what it does and why it fits. (Empty here is a red flag on non-greenfield work — grep before concluding nothing fits.)How the Definition of Done gets proven end-to-end: the commands to run, browser steps to take, expected outputs — happy path and the most likely failure modes. For long-running work, state a self-check cadence: verify against the DoD at intervals, ideally with a fresh-context subagent, rather than only at the end.
Concise enough to scan in one pass, detailed enough to execute without re-deciding. If the spec exceeds two screens, the work is too coarsely scoped — split it.
Guides collaborative design exploration before implementation: explores context, asks clarifying questions, proposes approaches, and writes a design doc for user approval.
Creates structured, bite-sized implementation plans from specs or requirements before writing code. Useful for breaking down multi-step tasks into testable steps with file structure and task boundaries.
Resolves in-progress git merge or rebase conflicts by analyzing history, understanding intent, and preserving both changes where possible. Runs automated checks after resolution.
npx claudepluginhub pandysp/claude-plugins --plugin spec