Plan Mode for Complex Work
Use plan mode to define requirements and architecture before writing a single line of code.
When to Use Plan Mode
Plan mode is for any task that has 3+ steps, involves architectural decisions, or spans multiple files/systems. Jumping straight to implementation on complex work produces messy results.
Trigger plan mode by prepending your request with:
"Plan: Build a real-time notification system..."
Or use the /plan command.
The Planning Cycle
Plan mode produces:
- Spec — what are we building and why
- Architecture — how it fits into the existing system
- Task list — ordered, dependency-aware steps
- Risks — what could go wrong
Review the plan before approving execution. Push back on ambitious plans — ship small wins.
Evals Before Specs
Before writing a spec, define success criteria:
- What does "done" look like?
- What does "broken" look like?
- What edge cases must work?
This prevents building the wrong thing correctly. Use the evals-before-specs skill to structure this process.
Spec-Based Development for Multi-Day Work
For features taking more than one day:
- Spend a session writing the spec (with the spec-interviewer skill)
- Save the spec to
tasks/spec-YYYYMMDD.md - Start a fresh session and execute from the spec
Fresh context + clear spec = cleaner implementation than continuing a stale session.
The Dialectic Review
For expensive-to-reverse decisions (architecture, vendor choice, data model), spawn a FOR agent and an AGAINST agent, then have a Referee synthesize. This surfaces blind spots before you're committed.
Use the dialectic-review skill for any choice where you catch yourself saying "I'm not sure."