| name | 04-spec |
| description | Generate or refine a spec, a feature's immutable contract, from a request, a PRD, or review findings. Use when the user wants to draft or refine a spec. Not for writing code, a full PRD, or changing a locked spec. |
| argument-hint | request | prd | spec |
Spec
flowchart LR
request([request or PRD path]) --> build --> done([spec.md])
target([spec path + findings]) --> refine --> done
Actions
Run the flow above. Read only the next action file.
| Action | Does |
|---|
| build | draft a fresh spec from a request or PRD |
| refine | rewrite an existing spec to address findings |
Transversal rules
- Never invent; mark every gap instead of guessing.
- Never explore the codebase.
- Hold intent, never implementation: solution-agnostic, no how, few acceptance criteria.
- Keep it readable: clear headers, bulleted criteria, explicit non-goals.
- Immutable once validated: never rewrite a locked spec.