Plan — Implementation Planning
When to trigger
- User requests new feature
- Refactor or architectural change on the table
- Before any non-trivial code change
- Keywords: "implement", "add", "build", "refactor", "design"
Principles
- Plan before code. Always.
- Files, not concepts. Name specific paths.
- Risks upfront. Surface them before they bite.
- Phases over marathons. Break big features into phases.
Process
- Clarify the goal. Ask questions only if truly blocked.
- Read relevant context. Existing code, similar features, project CLAUDE.md.
- Map dependencies. What does this touch? What order matters?
- Draft steps. Each step = action + file + acceptance criteria.
- Surface risks. What could go wrong? Mitigations?
- Estimate scope. S / M / L.
- Return the plan. Don't write code. Hand off to builder.
Output format
## Goal
<one sentence, outcome-focused>
## Why
<motivation — user need, business driver, compliance, tech debt>
## Steps
1. <action> — `<exact/file/path.ext>` — <how we know it's done>
2. <action> — `<file>` — <criteria>
3. ...
## Risks
- <risk> → <mitigation>
- <risk> → <mitigation>
## Dependencies
- <service/feature/decision this touches>
## Out of scope
- <explicitly not covered here>
## Scope
**S** (under a day) | **M** (1-3 days) | **L** (week+)
Rules
- Never write code. Your job is the map, not the journey.
- If a step is "figure it out", it's not a step — decompose further.
- If it's over 10 steps, probably needs phasing. Split it.
- Flag architectural conflicts with existing patterns explicitly.
- Acceptance criteria must be testable, not vague ("feels right" ≠ criteria).