How we split planning and implementation across developers using Claude Code + Superpowers.
| Role | Who | Owns |
|---|---|---|
| Planner | Senior dev / architect | Brainstorm → Spec → Plan |
| Implementer | Dev assigned to build | Execute plan → PR |
PLANNER IMPLEMENTER
─────── ───────────
1. Create feature branch
2. Run /brainstorming skill
3. Write spec → commit
4. Run /writing-plans skill
5. Embed constraints in plan (!)
6. Commit plan → push branch
7. Notify implementer
8. Pull feature branch
9. Read spec (understand WHY)
10. Run /subagent-driven-development
(or /executing-plans)
11. Claude Code executes plan
12. Push commits → open PR
13. Review PR (or phase-gated
review for high-risk work)
14. Address review feedback
(/receiving-code-review)
15. Approve & mergeRun the /brainstorming skill. Commit spec to docs/superpowers/specs/<feature>-design.md.
Every spec must include a "Constraints & Design Decisions" section:
## Constraints & Design Decisions - Use existing OrderService — do NOT create a new service class - No new npm dependencies - Prices in cents, convert only at display layer - Do not refactor the webhook handler — separate ticket
Run /writing-plans. Commit plan to docs/superpowers/plans/<feature>.md.
Add this block at the top of every plan:
## Context - Spec: docs/superpowers/specs/<feature>-design.md - Branch: feature/<name> - Risk level: normal | high-risk - Estimated effort: [S/M/L per task] ## Constraints (from spec — do not violate) - [paste from spec's Constraints section] - [these are read by Claude Code during execution] ## Known Unknowns - [thing planner couldn't fully specify + resolution rule] - e.g., "If API returns 404, use fallback endpoint in config.ts"
Push branch. Notify implementer with: branch name, one-line summary, risk level (normal / high-risk).
Pull the feature branch. Read the spec file first — understand the WHY before executing the HOW.
using-git-worktrees automatically when you start execution — it creates an isolated workspace from the feature branch. Don't override this.
Open Claude Code on the feature branch.
/subagent-driven-development — dispatches subagents per task with automated spec compliance + code quality review. Continuous execution, no need to pause between tasks./executing-plans only if you want manual checkpoints between tasks (e.g., unfamiliar codebase, want to review each step yourself).If Claude Code cannot follow a plan step as written:
docs/superpowers/deviations/<feature>.mdRun /finishing-a-development-branch when all tasks complete. Use /requesting-code-review for automated first-pass review before the planner sees it.
| Level | Review Style | When to Use |
|---|---|---|
| Normal | Full PR review after completion | Most features |
| High-risk | Phase-gated: commit per phase, planner reviews between phases | Core integrations, data migrations, auth changes |
| File | Scope | Changes How Often |
|---|---|---|
CLAUDE.md | Project conventions, stack rules, deviation protocol | Rarely |
docs/superpowers/specs/ | Feature WHY + constraints | Once per feature |
docs/superpowers/plans/ | Feature HOW + embedded constraints | Once per feature |
docs/superpowers/deviations/ | Drift from plan (if any) | During implementation |
Add this once to your project's CLAUDE.md (project-wide):
## Deviation Protocol If you cannot follow a plan step as written, STOP. Do not silently self-correct. Write a deviation note to docs/superpowers/deviations/<feature>.md explaining: what step failed, why, and your proposed alternative. Wait for guidance.
spec → plan (with embedded constraints) → pushes branch
pull branch → read spec → /subagent-driven-development → PR
Copy into every spec:
# [Feature Name] — Design Spec ## Summary [1-2 sentences: what this feature does and why] ## Constraints & Design Decisions - [hard rule 1] - [hard rule 2] - [what NOT to do and why] ## [remaining spec sections as needed]
Copy into every plan:
# [Feature Name] — Implementation Plan ## Context - Spec: docs/superpowers/specs/YYYY-MM-DD-<feature>-design.md - Branch: feature/<name> - Risk level: normal | high-risk - Estimated effort: [S/M/L per task] ## Constraints (from spec — do not violate) - [paste from spec's Constraints section] - [these are read by Claude Code during execution] ## Known Unknowns - [thing planner couldn't fully specify + resolution rule] - e.g., "If API returns 404, use fallback endpoint in config.ts" ## Tasks [task breakdown follows]