LINUXOR.SK ... open source notes ...

SDD (Spec Driven Development) - from a vague request to verified behavior

category: learnz/sdd · date: 2026-10-04 · author: LALA · theme: github

This Learning teaches the engineering loop behind spec-driven development: turn intent into observable requirements, plan one change, implement it, and compare the result with the accepted contract. You will add JSON output to a tiny existing command-line tool while preserving its current behavior, working with a coding agent and one of five frameworks.

Six levels: understand, specify, plan, implement, verify, review. Below them, one shared lab and five framework tracks.
Six levels: understand, specify, plan, implement, verify, review. Below them, one shared lab and five framework tracks.
noteThe framework articles follow upstream documentation checked on 2026-10-04. The exercise, the levels, the checks and the diagrams are an editorial training design. Commands can change between framework releases, so check the versions you have installed.

The levels

Each level ends with a small check. There is no time limit: when you can do what the check asks, go on to the next level. Take a break between levels, repeat one, or do the whole Learning in one sitting.

LevelYou practiceYou have passed the level when
1 · UnderstandTelling request, contract, plan and evidence apartYou can say what each of the four proves
2 · SpecifyWriting behavior, exclusions and scenariosA partner can predict the output from your contract alone
3 · PlanMapping the contract to tasks and checksEvery criterion you care about points to a task and a check
4 · ImplementBuilding one bounded change with test feedbackJSON output works and the old tests still pass
5 · VerifyRunning the checks on the final codeYour evidence comes from the final revision and gaps are visible
6 · ReviewComparing the diff with the contract and handing offSomeone else could continue from your handoff

Level 1 is the Foundations. Levels 2 to 6 are the Lab, which you walk on a lab route: the steps for one framework.

The six levels as a route: understand, specify, plan, implement, verify, review.
The six levels as a route: understand, specify, plan, implement, verify, review.

The articles

Read them in this order. Articles 1 to 4 are the Learning itself, with Matt Pocock Skills as the baseline route. Articles 5 to 12 are the other four framework tracks; take the ones you are curious about. Articles 13 and 14 put the five side by side.

#ArticleWhat it is
1FoundationsLevel 1: request, contract, plan, evidence, and how to read the diagrams
2LabLevels 2 to 6: the contract, what each level asks, its check, and the choice of route
3Matt Pocock Skills: Quick & Dirty Starter GuideBaseline track: the tool
4Matt Pocock Skills: Lab RouteBaseline track: levels 2 to 6, the run every other route is compared with
5Spec Kit: Quick & Dirty Starter GuideTrack: the tool
6Spec Kit: Lab RouteTrack: levels 2 to 6
7OpenSpec: Quick & Dirty Starter GuideTrack: the tool
8OpenSpec: Lab RouteTrack: levels 2 to 6
9BMAD Method: Quick & Dirty Starter GuideTrack: the tool
10BMAD Method: Lab RouteTrack: levels 2 to 6
11Superpowers: Quick & Dirty Starter GuideTrack: the tool
12Superpowers: Lab RouteTrack: levels 2 to 6
13Visual Knowledge MapThe five frameworks above the loop they share
14Framework ComparisonChoosing a track by the problem you have, and comparing runs fairly
15Trainer GuideFor people guiding others through the levels

The baseline and the other routes

Every framework track is two articles: a starter guide that explains the tool, and a lab route that walks levels 2 to 6 with it. The five lab routes share the levels, the contract and the checks; the steps differ.

Start with Matt Pocock Skills. That first run is your baseline: when you later replay the same change on another route, you have a run of your own to compare it with. You do not need to install every framework to complete the Learning.

What you will be able to do

Read the colors

Color key: cyan intent, blue contract, purple plan, pink change, green evidence, amber review, red problem, gray context, white method.
Color key: cyan intent, blue contract, purple plan, pink change, green evidence, amber review, red problem, gray context, white method.

One color means one thing in every diagram of this Learning, so a picture you meet in a later article reads like the ones you already know.

ColorMeaningLevel
CyanIntent: the request, the question, the why1 · Understand
BlueContract: the specification and maintained knowledge2 · Specify
PurplePlan: design, tasks and tickets3 · Plan
PinkChange: the implementation, code and its tests4 · Implement
GreenEvidence: executed checks and observed results5 · Verify
AmberReview: human judgment and decisions6 · Review
RedProblem: a failure, a finding or a correction to makeAny level
GrayContext: agent, model, tools, conversation, historyAround the levels
WhiteMethod: a framework or a workflow skillThe tracks

Frameworks are white, so that no color ranks one method above another.

Set up once

Use Linux, macOS or WSL with Python 3.11 or newer. Install and configure your coding agent, its model access and the chosen framework before you start level 2. Framework setup can require network access; the Python exercise itself does not. Use synthetic documents only.

Download and unpack the starter lab. Open its doc-index-starter directory and run:

bash
$ python3 -m unittest discover -v
$ python3 doc_index.py sample-docs

The four baseline tests should pass. The CLI currently prints two tab-separated filename/title rows. It does not support JSON yet; adding it is the exercise. Keep a clean copy of this starting directory for every route you walk. Two people can share one working agent session.

The idea to remember

A vague request becomes a requirement, a concrete acceptance scenario and an executable check.
A vague request becomes a requirement, a concrete acceptance scenario and an executable check.

“Add JSON” is an opening request. “Produce a sorted array of file/title objects and leave default text output unchanged” is a testable contract. An observed test result tells you whether the implementation satisfies the part of that contract the test covers.

Downloads

ResourceUse
Starter lab ZIPWorking baseline, synthetic samples, tests and a learner worksheet
Trainer kit ZIPFacilitation notes, acceptance checker and a clearly separated reference solution
Diagram pack ZIPTwenty-six diagrams as PNG and SVG for slides, handouts and teaching, with their source
Knowledge map SVGScalable overview for projection and zooming

Every diagram has a transparent canvas. The labeled nodes retain their fills so the same images stay readable on light and dark pages.

Final check

Point to one requirement, the task that implemented it, the test that checks it and the result from the final revision. Then say what that test does not prove. That is the skill this Learning teaches, whichever framework you use.

Sources