You’ve been vibe coding. Time to give Claude the context it’s been missing — and watch the difference.
Overview
Apply Module 03’s spec-driven workflow to a real project you’re already working on. Write a CLAUDE.md, create a feature spec, define subagents, and compare results to your old workflow.
Draws from: Modules 02, 03 Time estimate: 2-3 hours Difficulty: Low-medium Prerequisites: An existing project you’re actively developing with Claude Code
Step-by-Step
Hour 1: Build Your CLAUDE.md (45-60 min)
- Open a project you’re currently working on
- Create
CLAUDE.mdin the project root - Write each section from the Module 03 template:
- Overview (2-3 sentences about what this project is)
- Tech stack (be specific about versions and choices)
- Project structure (describe directory layout)
- Architecture decisions (list 3-5 key decisions)
- Coding conventions (how you name things, organize imports, handle errors)
- Commands (build, test, deploy)
- Do Not Touch (files Claude should never modify without permission)
- Current Focus (what you’re working on right now)
- Run Claude Code’s
/initcommand and compare its output to what you wrote. Merge anything it caught that you missed. - Test it: Start a new Claude Code session. Does it correctly understand your project from the CLAUDE.md alone? Ask it “Describe this project’s architecture” and see if it gets it right.
Hour 2: Write a Feature Spec (30-45 min)
- Pick a feature you’ve been meaning to build — something non-trivial but scoped (not “rewrite the whole app”)
- Write a spec using the Module 03 template:
- Summary (what and why)
- Requirements (must-have, nice-to-have — all testable)
- API contract or UI spec (what the interface looks like)
- Data model (what’s stored and how)
- Edge cases (at least 5)
- Testing requirements
- Out of scope (what this is NOT)
- Save it as
specs/[feature-name].md
Hour 3: Implement and Compare (45-60 min)
- Tell Claude: “Implement the spec in
specs/[feature-name].md” - Observe: Does it follow the spec? Does it make decisions you didn’t authorize? Does it use your CLAUDE.md conventions?
- The comparison test: Think about how this feature would have gone with your old vibe-coding workflow. Count the decisions the AI made correctly because the spec existed vs. ones it would have guessed wrong.
What Success Looks Like
- A CLAUDE.md that a new Claude Code session can use to correctly orient itself
- A spec that produces a first-pass implementation requiring minimal correction
- A felt sense of the difference between “implement this spec” and “build me a thing”
Stretch Goals
- Define 2-3 subagents (test writer, code reviewer) per Module 04
- Run a full implementation cycle with parallel subagent dispatch
- Add CLAUDE.md files at the directory level for distinct subsystems
Back to Project Lab | Next: Project B: Build a Personal Data Dashboard