to-spec
To Spec
Produce spec (aka PRD) from current conversation + codebase understanding. Do NOT interview user — synthesize what you already know.
Reproducibility invariant
Spec — and tickets later derived from it — must be self-contained: replayed by any implementer, human or agent, builds roughly same application. Every outcome-shaping decision lives in spec itself, or durable docs it references — ADRs (writing-adrs), glossary terms (docs/glossary/). Never conversation context, tribal knowledge, implementer discretion.
Litmus test: two independent implementers could build meaningfully different things → spec underspecified. Add decision to spec, or record as ADR/glossary term + reference.
Grilling gate
Spec is load-bearing. No grilling session (docs/glossary/grilling-session.md) in context → stop, ask user: "No grilling session found — really skip?" Proceed only on explicit confirmation; note skip in Further Notes.
Process
-
Explore repo if not already done. Use glossary vocabulary (
uvx disambiguate <term>) throughout; respect ADRs in touched area. -
Sketch seams for testing the feature. Prefer existing seams; new seams at highest point possible. Fewer seams better — ideal is one.