Spec
Also called Specification · PRD · Design doc
A written description of what to build and how you'll know it's right, agreed before the agent starts writing code.
A spec is the written statement of what the work should produce: the behaviour, the constraints, the edge cases, and how success will be checked. For an agent it is the most important input to a task, because a coding agent will happily build the wrong thing with great confidence. The spec converts your intent, which lives in your head, into context the agent can actually use.
Without one, the agent fills every gap with its own guess. Ambiguity you would have caught in a five-minute conversation becomes a merged implementation of the wrong idea, and in an AFK run there is nobody to ask. A missing spec also makes review harder: you cannot tell whether the result is right when nobody wrote down what right means.
Write specs at the level of behaviour, not code. Say what happens when the input is empty, what the API returns, what must not change. Include the checks that will prove it: tests to add, commands that must pass. Many people build the spec through grilling, letting the agent interrogate the idea before anything is written. Then commit the spec so it survives clearing and doubles as a handoff artifact.
- Claude CodeDraft the spec in plan mode, save it to a file, and reference it from CLAUDE.md or the task prompt.
- AntigravityThe implementation plan the manager produces is a spec you approve before execution starts.
- Most toolsA spec in the repo outlives any single chat; a spec that only lives in the prompt dies with the session.
“It built a whole notifications system and it's not what I meant at all.”
“What did the spec say?”
“There wasn't one. I described it in the prompt.”
“Write the spec first next time. Three paragraphs and a list of tests would have caught this.”
Course 01 puts every one of these terms to work: you install Claude Code, run the loop, and ship a real project — permission modes, compaction, hooks and all.
Start Course 01 →