From ironclaude
Execute implementation plans wave-by-wave via MCP state management
npx claudepluginhub robertphyatt/ironclaude --plugin ironclaudeThis skill uses the workspace's default tool permissions.
Execute implementation plans wave-by-wave using MCP tools for state management. The MCP server validates the plan, computes dependency-based waves, tracks task progress, and enforces review gates. Claude calls MCP tools to advance through the plan.
Executes implementation plans from plan.md files via Superpower Loop phases: task creation, batch execution with verification, git commits. Use after plan ready or on 'execute the plan'.
Orchestrates execution of implementation plans with independent tasks by dispatching implementers and reviewers, tracking granular progress per task and phase.
Executes written implementation plans: loads and critically reviews them, runs tasks in dependency order with parallel dispatch, separate worker-validator subagents, and verifies completion.
Share bugs, ideas, or general feedback.
Execute implementation plans wave-by-wave using MCP tools for state management. The MCP server validates the plan, computes dependency-based waves, tracks task progress, and enforces review gates. Claude calls MCP tools to advance through the plan.
/executing-plans docs/plans/<plan-file>.plan.jsonRequired argument: Path to plan file (e.g., docs/plans/2026-02-15-feature.plan.json or docs/plans/2026-02-15-feature.md)
NEVER bypass the MCP state machine. If any MCP tool (mcp__plugin_ironclaude_state-manager__claim_task, mcp__plugin_ironclaude_state-manager__submit_task, mcp__plugin_ironclaude_state-manager__get_next_tasks, etc.) returns an error:
If context feels incomplete after compaction: you will see a [ironclaude] Session state: system message at the top of the resumed session. If you do not see one, call mcp__plugin_ironclaude_state-manager__get_resume_state before taking any action.
Whenever soliciting user input — choices, confirmations, or selections — ALWAYS use the AskUserQuestion tool. NEVER ask via prose. Follow the format in .claude/rules/ask-user-question-format.md: Re-ground context, Predict, Options.
| Rationalization | Why it's wrong |
|---|---|
| "This file isn't in allowed_files but I need to touch it" | Update the plan first. Undocumented changes create drift. |
| "The review will obviously pass" | Reviews catch bugs you don't see. Never skip them. |
| "I'll fix this other thing while I'm here" | Scope creep. Stick to the current task. |
| "The next task is simple, let me just do both" | Each task has its own review. Batching skips reviews. |
Announce execution mode:
Using executing-plans skill. Professional mode is ACTIVE.
Enabling execution mode for this session (code changes permitted during execution).
Step 0: Check for required plan path argument
If no plan path is provided, display:
BLOCKED: Plan path required.
Usage: /executing-plans docs/plans/YYYY-MM-DD-feature.plan.json
The plan file must:
- Exist at the specified path
- Be a .plan.json file (or a .md file with a corresponding .plan.json)
- Contain valid plan JSON with tasks, dependencies, and allowed_files
Then STOP. Do not proceed without a valid plan path.
If plan path is provided:
.plan.json file, use it directly.md file, look for a corresponding .plan.json file (same basename)Check for --mode argument in the args:
--mode=subagent-sequential (default): Dispatch one subagent per task, wait for each--mode=subagent-parallel: Dispatch subagents for independent tasks in the wave together--mode=inline: Execute all tasks directly in main session, no subagentsParse the mode:
MODE="subagent-sequential" # default
if [[ "$ARGS" == *"--mode=subagent-parallel"* ]]; then
MODE="subagent-parallel"
elif [[ "$ARGS" == *"--mode=inline"* ]]; then
MODE="inline"
fi
Display:
Execution mode: $MODE
Step 1: Load plan JSON into MCP
Read the plan JSON file:
.plan.json file, read it directly.md file, look for a corresponding .plan.json fileCall the MCP mcp__plugin_ironclaude_state-manager__create_plan tool with the plan JSON:
Use MCP tool: mcp__plugin_ironclaude_state-manager__create_plan with the parsed JSON object
The MCP will:
If validation fails, the MCP returns an error with specific issues. Fix the plan JSON and retry.
Step 2: Start execution
Call the MCP mcp__plugin_ironclaude_state-manager__start_execution tool to transition the workflow from plan_ready to executing.
Display:
Execution Plan: <plan-name>
Total Tasks: <N>
Professional mode: ACTIVE
Execution mode: ENABLED (managed by MCP)
Wave 1 tasks ready for execution.
Step 3: Get next wave of tasks
Call the MCP mcp__plugin_ironclaude_state-manager__get_next_tasks tool. It returns one of:
{status: "next_wave", wave: N, tasks: [...]} -- New wave of tasks ready{status: "wave_in_progress", pending: [...]} -- Current wave has incomplete tasks{status: "complete"} -- All tasks done, proceed to Phase 3Step 4: Execute tasks in the wave
For subagent-parallel mode:
Dispatch all tasks in the current wave as parallel subagents (Task tool with run_in_background=true). As each completes, call mcp__plugin_ironclaude_state-manager__submit_task with task_id.
For subagent-sequential mode:
Dispatch one subagent per task (Task tool with subagent_type="general-purpose"), wait for completion, call mcp__plugin_ironclaude_state-manager__submit_task with task_id, then proceed to next task in the wave.
For inline mode:
Execute tasks directly in the main session, calling mcp__plugin_ironclaude_state-manager__submit_task with task_id after completing each.
When dispatching tasks via the Task tool, follow these rules to prevent context death spirals:
Prompt template:
description: 3-5 word summary of what the subagent will doprompt: Include ONLY: the task description from the plan, the list of allowed_files, and the specific steps to execute. Do NOT include full plan context, history, or rationale — the subagent doesn't need it and it wastes context budget.max_turns: Set based on task complexity:
Anti-patterns (never do these):
When to use inline instead:
Common execution steps (all modes):
Claim the task:
Call MCP mcp__plugin_ironclaude_state-manager__claim_task with task_id to transition the task from pending → in_progress.
This MUST succeed before beginning any work. If it fails (task not found, wrong status), stop and report the error.
Announce task:
Task N: <Task Name>
Execute each step exactly as written in the plan:
Verify completion before submitting:
Before calling mcp__plugin_ironclaude_state-manager__submit_task, verify the task is actually complete:
Do NOT call mcp__plugin_ironclaude_state-manager__submit_task until verification evidence is visible in the current response. Claiming work is complete without fresh verification is dishonesty, not efficiency.
If verification fails, fix the issue before submitting. If it cannot be fixed, report the failure per Step 6 (Handle failures).
After completing the task, call the MCP mcp__plugin_ironclaude_state-manager__submit_task tool with task_id:
Invoke code review explicitly:
[Use Skill tool: skill="ironclaude:code-review", args="--task-boundary"]
mcp__plugin_ironclaude_state-manager__record_review_verdict to record the grade, and GBTW advances tasks on passing grades.mcp__plugin_ironclaude_state-manager__mark_executing to transition back from reviewing to executingAfter task completes (MUST be the last output for each task):
Task N/M complete. Changes staged.
Update progress:
Progress: N/M tasks complete
Step 5: Advance to next wave
After all tasks in the current wave pass review, call mcp__plugin_ironclaude_state-manager__get_next_tasks again.
Step 6: Handle failures
If any step fails:
STOP execution immediately
Report failure:
Task N, Step X failed
Command: <command>
Expected: <expected output>
Actual: <actual output>
Execution paused.
Use AskUserQuestion tool:
Follow user direction
Handling retreat:
If a task fails repeatedly or the approach is fundamentally wrong:
mcp__plugin_ironclaude_state-manager__retreat tool with to: "brainstorming" and reason: "explanation"Interruption handling:
If user appears to be changing topic or requesting different work during execution:
plan-interruption skillStep 7: Plan complete
When mcp__plugin_ironclaude_state-manager__get_next_tasks returns {status: "complete"}:
Review the plan's Goal statement and the staged diff (git diff --staged --stat).
Draft a concise commit message (1-2 sentences) that:
git log --oneline -5)Present the suggestion to the user:
Suggested commit message:
<your crafted message>
This covers: <brief list of key changes>
The user may use this message as-is, modify it, or write their own. This is a suggestion, not a requirement. Do not block on user response - proceed to the final summary immediately after presenting the suggestion.
Step 8: Final summary
Display:
Execution Complete
Tasks completed: N/N
Professional mode: ACTIVE
Execution mode: DISABLED
All changes have been staged with 'git add'.
Review changes and commit when ready:
git diff --staged
git commit -m "<suggested_commit_message>"
Professional mode remains ACTIVE for next task.
mcp__plugin_ironclaude_state-manager__create_plan, mcp__plugin_ironclaude_state-manager__get_next_tasks, mcp__plugin_ironclaude_state-manager__submit_task, and mcp__plugin_ironclaude_state-manager__retreat to drive execution.mcp__plugin_ironclaude_state-manager__submit_task, Claude explicitly invokes the code-review skill with --task-boundary. The review report is displayed to the user with full findings. The task-completion-validator hook validates and advances.