Spec Writing
A spec an agent can implement without guessing.
Required sections
- Problem — who hurts, and how we will know it stopped.
- Scope — in, and explicitly out.
- Invariants — things that must remain true. Authz, data ownership, compatibility.
- Behavior — numbered acceptance cases. Each has input, result, and a failure.
- Surfaces — screens, endpoints, jobs. Not mockups unless the layout is the contract.
- Done when — commands, tests, or manual checks. If it is not checkable, it is not done.
- Risks — what we will fake in v1 and what we will not.
Voice
Imperative. "The server refuses X." Not "we should consider perhaps."
If the ask is still a vibe, ask the one question that would change the design — then write the spec with a stated assumption rather than blocking forever.