# Labs — Apply the Playbook
Each module ships with a dedicated lab file containing 4–5 hands-on
exercises that take a concept from the module out of the text and into
your actual project, terminal, and team.
**Every lab is sized to fit in 15–20 minutes** — a single focused
block, not an afternoon. A full module's lab set runs ~70–95 minutes.
The depth scales beyond that via *Stretch* goals; the labs themselves
stay short.
The labs are **cumulative** but **modular**: doing them in order is the
intended path, but each lab can also stand alone if you already have the
prerequisites it lists.
## How a lab is structured
Every lab in this directory follows the same shape so you always know
what's coming:
- **Objective** — one sentence, measurable.
- **Prerequisites** — what you need set up before you start.
- **Estimated time** — wall-clock, assuming a single distraction-free
block.
- **Setup** — the few commands or files that get you to a clean start
state.
- **Steps** — numbered, atomic, written so an agent could also execute
them if you wanted to hand them off.
- **Deliverable** — the artifact you should be able to point at when
you're done.
- **Success criteria** — the checks that prove you got there. If your
artifact can't pass these, the lab isn't finished.
- **Reflection** — 2–3 questions to answer in your own words. This is
where the lab pays off; skipping it is skipping the lesson.
- **Stretch goals** — optional extensions that take the same scaffolding
somewhere harder.
## The lab files
| Module | Lab file | Labs |
|--------------------------------------------------------------------------|---------------------------------------------------------------------|------|
| [1 — Foundations](../modules/01-foundations.md) | [01-foundations-labs.md](01-foundations-labs.md) | 4 |
| [2 — Spec-Driven Development](../modules/02-spec-driven-development.md) | [02-spec-driven-development-labs.md](02-spec-driven-development-labs.md) | 5 |
| [3 — Agentic CLI Tools](../modules/03-agentic-cli-tools.md) | [03-agentic-cli-tools-labs.md](03-agentic-cli-tools-labs.md) | 4 |
| [4 — Extending Intelligence](../modules/04-extending-intelligence.md) | [04-extending-intelligence-labs.md](04-extending-intelligence-labs.md) | 4 |
| [5 — Memory Orchestration](../modules/05-memory-orchestration.md) | [05-memory-orchestration-labs.md](05-memory-orchestration-labs.md) | 4 |
| [6 — Meta-Agent Factory](../modules/06-meta-agent-factory.md) | [06-meta-agent-factory-labs.md](06-meta-agent-factory-labs.md) | 5 |
| [7 — Human-in-the-Loop](../modules/07-human-in-the-loop.md) | [07-human-in-the-loop-labs.md](07-human-in-the-loop-labs.md) | 4 |
## How to work the labs
- **Use a real repository.** Toy examples teach nothing. Use a project
whose pain you actually feel.
- **Save your artifacts.** Each lab produces something — a config file,
a memory entry, a CI workflow, a scorecard. Commit them, even to a
scratch branch, so you can diff them against your "before" state.
- **Capture costs.** Every lab session is also a chance to read `/cost`
and learn what a task type actually costs you. Write the number in
your reflection.
- **Pair the labs with a teammate when you can.** The
reflection questions are sharper when you have to defend your answer
to someone else.
## When to skip ahead
Skip a lab if **all three** are true:
1. You've already shipped something equivalent in production.
2. You can explain the reflection questions without notes.
3. You have a recent (≤30 days) example you can point at.
Otherwise, do the lab. The cost is an evening; the cost of skipping is a
weak link in a workflow you'll rely on for years.