Spec-Driven Development
Part of the Vibe Coding: Advanced Engineering course
The fastest way to get correct code out of a model is to stop describing what you want and start defining it. A prompt is a wish. A spec is a contract, and a contract can be checked. This lesson converts the thing you would normally hold in your head into an artifact the model must satisfy and you can verify in one command.
Watch what happens when a request is underspecified. "Write me a robust duration parser" produces something. It will handle "5m". It will probably handle "1h30m". What it does with "30m1h", "1h1h", "-5m", "", or the integer 90 is unknown to you and, more importantly, unknown to the model, so it picks. It might return None. It might return 0. It might raise a TypeError from deep inside a regex. ...
Want to learn Vibe Coding: Advanced Engineering Spec-Driven Development in a real environment?
Click below, get a fresh Linux box with Vibe Coding: Advanced Engineering ready to go, and work through Spec-Driven Development hands-on with an AI tutor that knows your code.
Start this lessonSpec-Driven DevelopmentWhat you'll learn
- Writing the acceptance criteria before the prompt
- Executable specs as the contract with the model
- Specifying error behavior and boundaries, not just the happy path
- Plan before code, and reviewing the plan instead of the diff
Read this lesson in your language
All lessons in this course
12 lessons- 1Context Is The Whole Game35 min
- 2Pick The Right Brain, Pay The Right Price25 min
- 3Spec-Driven Development35 min
- 4Build Your Harness35 min
- 5Verification Loops: Make It Prove Itself40 min
- 6Reading Generated Code Like A Senior40 min
- 7Legacy Archaeology40 min
- 8Migrations At Scale40 min
- 9Debugging Code You Did Not Write40 min
- 10The Security Model Of An Agent40 min
- 11AI On A Team30 min
- 12Judgment: Knowing When Not To35 min
