Execution Plan
Overview
Load the plan, conduct a critical review, execute all tasks, and report upon completion.
Announce at the start: "I am using the executing-plans skill to implement this plan."
Note: Tell your human partner that Superpowers work much better with subagent support. When running on platforms that support subagents (such as Claude Code or Codex), the quality of work improves significantly. If subagents are available, use superpowers:subagent-driven-development instead of this skill.
Process
Step 1: Load and Review the Plan
- Read the plan file
- Critical review — identify any issues or concerns in the plan
- If there are concerns: Raise them with your human partner before starting
- If no concerns: Create a TodoWrite and proceed
Key review points:
- Are there missing dependencies between steps? (A depends on B, but B is scheduled after A)
- Are validation conditions clear? ("Confirm availability" is not acceptable; "Run with all passing" is)
- Are there implicit environment assumptions? (Node version, database connection, API Key)
Review example:
Plan file: docs/plan.md
Task list: 5 tasks
Review findings:
- Task 3 (Add database migration) should come after Task 2 (Write data model), order is correct ✓
- Validation condition for Task 4 is written as "Confirm function works" → Needs clarification: What specific tests should be run?
- Plan does not mention Python version requirements → Needs confirmation
Raise to partner:
"The plan is generally executable. There are two issues: (1) The validation condition for Task 4 is not specific enough, it is recommended to change it to
'Run pytest tests/test_api.py with all passing'; (2) Python version requirements need to be confirmed."
Step 2: Execute Tasks
For each task:
- Mark as in progress — Update TodoWrite
- Understand the goal — Re-read the task description to clarify completion criteria
- Execute implementation — Strictly follow the plan steps (the plan already includes small steps)
- Run validation — Execute required tests or checks as instructed
- Submit changes — Commit once per completed task, reference the task number in the commit message
- Mark as completed — Update TodoWrite
Rhythm for each task:
--- Task 2/5: Add user validation ---
[Mark as in progress]
Goal: Add input validation for /api/users
Completion criteria: All validation tests pass, invalid inputs return 400
[Implementation]
- Add validateUser() middleware
- Write 3 validation rules (email format, password strength, username length)
[Validation]
$ npm test -- --grep "validation"
✓ Reject invalid email (12ms)
✓ Reject weak password (8ms)
✓ Reject too long username (5ms)
3 passing
[Commit]
$ git add src/middleware/validate.js tests/validation.test.js
$ git commit -m "feat: Add user input validation (Task 2/5)"
[Mark as completed]
--- Task 2/5 Completed ---
Batch review checkpoints:
- After completing every 3 tasks, pause and review: Is the overall direction still correct? Have we deviated from the plan?
- If issues are found in previous implementations, fix them before proceeding; do not continue with unresolved problems
Step 3: Handle Common Exceptions
Test failure:
- Read the error message to locate the cause of failure
- Differentiate: Is it an implementation bug? A problem with the test itself? Or an error in the plan description?
- Implementation bug → Fix and re-run
- Test problem → Fix the test and explain to the partner
- Plan error → Stop execution, report to the partner and suggest corrections
Missing dependencies:
Task 3 requires a Redis connection, but the plan does not mention Redis configuration.
→ Stop execution
→ Report to partner: "Task 3 requires Redis, but the plan does not include configuration steps.
Suggestion: Insert 'Configure Redis connection' step before Task 3."
Unclear instructions:
- Do not guess intent, do not "reasonably infer"
- List your understanding and confusion, ask the partner to clarify
- Wait for a response before proceeding
Step 4: Complete Development
After all tasks are completed and validated:
- Announce: "I am using the finishing-a-development-branch skill to complete this work."
- Required sub-skill: Use superpowers:finishing-a-development-branch
- Follow the guidance of that skill to validate tests, present options, and execute selections
Completion report template:
## Execution Report
**Plan:** docs/plan.md
**Branch:** feature/user-validation
**Tasks:** 5/5 Completed
### Completed Tasks
1. ✅ Initialize project structure
2. ✅ Add user validation
3. ✅ Add database migration
4. ✅ Implement API endpoints
5. ✅ Add integration tests
### Validation Results
- Unit tests: 23/23 Passed
- Integration tests: 8/8 Passed
- Lint check: 0 warnings
### Deviations from Plan
- Task 3: Redis configuration changed from env to config.yaml (with partner's approval)
### Next Steps
Process merge/PR according to the finishing-a-development-branch skill
When to Stop and Ask for Help
Stop execution immediately in the following cases:
- Encountering blocks (missing dependencies, test failures, unclear instructions)
- The plan has serious flaws that prevent starting
- You do not understand a certain instruction
- Validation fails repeatedly (same test fails more than 2 times)
Ask when in doubt, do not guess.
When to Return to Previous Steps
Return to review (Step 1) when:
- The partner updates the plan based on your feedback
- The fundamental solution needs to be reconsidered
Do not force through blocks — Stop and ask.
Notes
- Conduct a critical review of the plan first
- Strictly follow the plan steps
- Do not skip validation
- Commit separately for each task, reference the task number in the commit message
- Reference corresponding skills when required by the plan
- Stop when encountering blocks, do not guess
- Never start implementation on the main/master branch without explicit user approval
Integration
Required workflow skills:
- superpowers:using-git-worktrees - Required: Set up an isolated workspace before starting
- superpowers:writing-plans - Create plans to be executed by this skill
- superpowers:finishing-a-development-branch - Wrap up development after all tasks are completed