| name | implement-plan |
| description | Execute a plan from _plans/, implementing steps, checking off tasks, running tests, and documenting fixes |
| user-invocable | true |
| origin | template |
Implement Plan
Execute an implementation plan from _plans/, working through each step, updating the plan as you go, and running tests to verify.
This skill combines the "implement" and "run" phases into one — you build it, run it, test it, fix it, and the plan documents everything that happened.
Arguments
The user provides the plan file to implement. For example:
/implement-plan _plans/20260409-auth-ui.plan.md
/implement-plan auth-ui (shorthand — resolve to the matching .plan.md file in _plans/)
/implement-plan (no argument — if only one plan has status: draft or status: in-progress, use that)
Steps
1. Load the Plan
- Read the plan file from
_plans/
- If the user gave a shorthand (no path or partial name), find the matching
.plan.md file
- If no argument and multiple draft/in-progress plans exist, ask the user which one
- Parse the frontmatter and step list
- Identify which steps are already checked (
- [x]) and which are pending (- [ ])
2. Read Per-Repo Instructions
For each repo listed in the plan's repos frontmatter:
- Check if
repos/<name>/CLAUDE.md exists — if so, read and follow it
- Check if
repos/<name>/AGENTS.md exists — if so, read and follow it
- These instructions supplement the root CLAUDE.md and govern how code is written in that repo
3. Set Status to In-Progress
Update the plan file's frontmatter:
status: in-progress
4. Implement Each Step
For each unchecked step (- [ ]), in order:
- Read the step — understand the task, files, and pseudocode
- Implement it — write the actual code
- Follow the plan as guidance, not strict requirements
- If the plan's approach won't work, adapt — but document why
- Follow the coding standards and per-repo instructions
- Respect read/write separation: only modify files in one repo at a time
- Mark it done — update the plan file: change
- [ ] to - [x]
- Add notes if needed — if you discovered something unexpected, adapted the approach, or made a decision not in the original plan, add a
**Notes** line under the step:
- [x] Step 3: Add OAuth endpoint
- **Task**: Create POST /api/auth/google
- **Files**: `repos/backend-api/src/routes/auth.ts`
- **Pseudocode**: Validate token, create session
- **Notes**: Used existing session middleware instead of creating new one. Added rate limiting per security best practice.
IMPORTANT: Update the plan file after EACH step, not at the end. If the session is interrupted, the plan shows exactly where things stand.
5. Run and Test
After all implementation steps are complete:
- Run the application — start it up, verify it launches without errors
- Run existing tests — make sure nothing is broken
- Run new tests — if the plan included test steps, verify they pass
- If using Playwright MCP — for frontend work, use browser automation to verify UI changes
6. Fix Issues
If tests fail or the app has issues:
- Diagnose — read errors, check logs, identify root cause
- Fix — make the necessary changes
- Document in the plan — add new checked steps at the end:
- [x] Fix: Corrected token validation logic
- **Notes**: The OAuth token response format changed in v2. Updated parser to handle both formats.
- Re-run tests — verify the fix works
- Repeat until everything passes
7. Complete the Plan
When all steps pass and tests are green:
- Update the plan file's frontmatter:
status: completed
- Report to the user:
- Summary of what was implemented
- Any deviations from the original plan (with reasons)
- Any fixes that were needed
- Test results
- Suggested next step (e.g., "Ready for code review" or "Run
/commit-all-repos to commit")
Error Handling
- Plan file not found: List available plans in
_plans/ and ask the user to pick one
- All steps already checked: Tell the user the plan is already implemented. Ask if they want to re-run validation.
- Blocked on user decision: If a step says user intervention is needed, stop and ask. Add the decision to the plan once resolved.
- Implementation diverges significantly from plan: Pause and inform the user. Let them decide whether to continue or revise the plan first.
Notes
- Treat the plan as guidance, not gospel — adapt when reality doesn't match the plan
- The plan is a living document. Update it as you go, not after the fact.
- Every decision, deviation, and fix should be documented in the plan
- When complete, the plan serves as a record of what happened — useful for code reviews and future reference
- If working across multiple repos, commit each repo separately following read/write separation