| name | plan-run |
| description | Execute a YAML plan file, running each task in a fresh session with checks and auto-commit. |
| argument-hint | <plan-file> [--dry-run] [--task <id>] [--model <name>] [--no-commit] |
| user-invocable | true |
Plan Run
Execute a YAML plan file generated by /blueprint. Each task runs in a separate session with automated checks, retries on failure, and git commits on success.
This spawns child sessions — the plan executor runs independently and reports results back here.
Process
-
Identify the plan file: Use $ARGUMENTS to find the plan file path. If no path is given, look for .yaml files in .claude/plans/ and list them for the user to pick.
-
Validate first: Run a dry-run to verify the plan is well-formed before executing:
claude-hooks-plan --dry-run <plan-file>
-
Show the plan summary to the user: goal, number of steps/tasks, which checks will run. Ask for confirmation before proceeding.
-
Execute the plan:
claude-hooks-plan <plan-file> 2>&1
Common options to pass through from $ARGUMENTS:
--dry-run — validate only, don't execute
--task <id> — resume from a specific task (skip earlier ones)
--model <name> — model for child sessions (default: sonnet)
--no-commit — skip auto-commits after each task
--max-retries <n> — max check retries per task (default: 7)
-
Report results: Show which tasks succeeded or failed, and if any failed, which check blocked them.
Rules
- Always dry-run first to catch plan errors before spawning sessions
- Ask the user for confirmation before executing (this will spawn multiple sessions)
- Pass through any flags from
$ARGUMENTS to the underlying command
- If a task fails, report which check failed and suggest using
--task <id> to resume
- Do not modify the plan file — if changes are needed, tell the user to edit it or re-run
/blueprint