Execute Single Plan
You will now execute the single plan workflow. Do NOT just report what you'll do - actually execute each step using the tools available.
EXECUTE NOW: Step 1 - Find Plan File
Use the Glob tool NOW to find the plan file. Parse user's arguments to identify the plan name.
- If partial name (e.g., "01"):
Glob("plans/*01*.plan.md") - If full name:
Glob("plans/[name]") - If multiple matches: Use AskUserQuestion to clarify
EXECUTE NOW: Step 2 - Read Plan
Use the Read tool NOW to read the plan file found in Step 1.
Extract:
- The full plan content
- The
depends_onfield from# Configurationsection (if present)
EXECUTE NOW: Step 3 - Check Dependencies
If depends_on exists in the plan:
- Use Read tool to read
plans/PROGRESS.md - Check if each dependency has status
COMPLETED - If any dependency is NOT completed:
- Report: "⛔ BLOCKED: Dependency [name] is not COMPLETED"
- STOP execution immediately
EXECUTE NOW: Step 4 - Read Config
Use Read tool NOW to read plans/planner.config.json.
Extract these values (use defaults if not found):
auto_commit(default: false)auto_commit_standard(default: "no_standard")auto_update_claude_md(default: false)replan_on_exec(default: false)
EXECUTE NOW: Step 5 - Spawn Agent
You MUST immediately call the Task tool with these exact parameters:
description: "Execute plan: [plan_name]"
subagent_type: "planner:plan-executor"
prompt: |
plan_name: "[actual plan filename]"
plan_content: |
[FULL PLAN FILE CONTENT from Step 2]
skip_dependency_check: true
config:
auto_commit: [value from Step 4]
auto_commit_standard: [value from Step 4]
auto_update_claude_md: [value from Step 4]
replan_on_exec: [value from Step 4]
additional_instructions: [user's extra instructions or "None"]
BEGIN EXECUTION.
Call the Task tool NOW. Do not delay. Do not just describe what you would do.
Step 6: Report Results
After the agent completes, report to the user:
════════════════════════════════════════
## Execution Result
**Plan**: [plan_name]
**Status**: SUCCESS | FAILURE | BLOCKED
**Summary**: [Brief description of what was done]
**Files Modified**: [List of changed files]
**Config Actions**: [Actions taken: committed, updated CLAUDE.md, etc.]
**Issues**: [Any problems encountered, or "None"]
**Next**: [Suggested next plan from PROGRESS.md, or "All plans complete"]
════════════════════════════════════════
Reference Information
What This Skill Does
When executing a single plan, this skill:
- Verifies Dependencies: Checks that all required plans are COMPLETED
- Reads Configuration: Gets settings from
plans/planner.config.json - Checks for Conflicts: Warns if other plans are IN PROGRESS
- Executes the Plan: Follows plan steps with fresh context
- Updates Tracking: Marks plan as IN PROGRESS → COMPLETED/FAILED
- Applies Configuration: Handles post-execution tasks based on config
Safety Features
- Dependency Blocking: Refuses to execute if dependencies aren't met
- Conflict Detection: Warns about other plans currently running
- Resume Awareness: Detects if a plan was already completed
- Structured Results: Consistent SUCCESS/FAILURE/BLOCKED reporting
Configuration Options
Configuration is read from plans/planner.config.json (set during planner-setup):
| Option | Description |
|---|---|
| Auto-commit | Create a git commit after successful execution |
| Auto-commit standard | Commit message format: "conventional_commits" or "no_standard" |
| Auto-update CLAUDE.md | Analyze and update project CLAUDE.md if changes made it inaccurate |
| Re-plan on Executing | Re-analyze and draft fresh implementation before executing (slower) |
These options are only applied if execution succeeds. Failed plans skip configuration actions.
Configuration Actions (Applied After Success Only)
Actions are applied in this order:
-
Auto-update CLAUDE.md (if enabled):
- Read current CLAUDE.md
- Analyze if changes made content inaccurate
- Update if needed
-
Auto-commit (if enabled):
- Uses the planner-commit skill (@skills/planner-commit/SKILL.md)
- If
auto_commit_standardis"conventional_commits": Uses Conventional Commits format - If
auto_commit_standardis"no_standard": Uses simple formatfeat(planner): Complete [plan_name] - [summary] - DO NOT push (user does that)
PROGRESS.md Updates
The plan-executor agent manages PROGRESS.md automatically:
Before execution:
| auth-02-api.md | NOT STARTED | |
During execution:
| auth-02-api.md | IN PROGRESS | |
After success:
| auth-02-api.md | COMPLETED | 2026-01-09 |
After failure:
| auth-02-api.md | FAILED | |
Status Values
NOT STARTED: Plan hasn't been executed yetIN PROGRESS: Plan is currently executing (shows in progress, warns of conflicts)COMPLETED: Plan finished successfully (dependencies satisfied for dependent plans)FAILED: Plan encountered an error (blocks dependent plans)
