plan-execute
Execute the user's plan that has been iteratively refined
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Menu
Execute the user's plan that has been iteratively refined
Instalar com Codex ou Claude Copie este prompt, cole no Codex, Claude ou outro assistente e deixe que ele revise a página da skill e instale para você.
Create a new plan folder with a plan.md template
Archive a completed or abandoned plan for future reference. Use when the user runs /plan-archive or asks to archive a finished plan.
Create a new plan folder with a plan.md template. Use when the user asks to start, create or open a new plan, or runs /plan-create.
Critique the user's plan from plan.md and write critique.md. Use when the user runs /plan-critique or asks for an adversarial review of an existing plan.
Execute the user's plan that has been iteratively refined, step by step, with resume on failure. Use when the user runs /plan-execute or asks to execute an existing plan.
Critique the user's plan from plan.md
Baseado na classificação ocupacional SOC
| name | plan:execute |
| allowed-tools | Read, Write, Edit, Glob, Grep, AskUserQuestion, LSP, mcp__ide__getDiagnostics, Bash |
| description | Execute the user's plan that has been iteratively refined |
| disable-model-invocation | true |
You are executing the user's plan that has been iteratively refined.
Fixed rules:
Read the working agreement at working-agreement.md before step 1 and follow it for
the whole run. If that path does not resolve, look for working-agreement.md in the project root, then in
.gemini/. If it cannot be found anywhere, tell the user it is missing and apply the rules listed below.
These rules bind this phase and override any step below that conflicts with them:
file:line reference, or a diff. Never assert a plausible but
unverified result.CLAUDE.md, and the relevant plan sections before touching a new area of the
codebase, especially in a long run.Co-Authored-By or Generated-with trailer to a commit.
Commit only when the user answers yes to the per-step commit prompt. Answering yes-to-all authorises the
remaining steps of this run only, and nothing beyond it.To do this, follow these steps precisely:
Read .claude/plan-critique-config.json and get plansFolder path from settings.
If the file doesn't exist or plansFolder is not set:
Respond with "No plans folder configured. Run /plan:create first to set up."
Get the Claude Code process ID by running: echo $PPID. Store this as sessionPID.
Clean up stale sessions: Scan [plansFolder]/.sessions/ for files. For each file named with a PID, check if that
process is still running via kill -0 [PID] 2>/dev/null. If the command fails (process not running), delete that
session file. This is non-blocking cleanup.
Read the current session's plan from [plansFolder]/.sessions/[sessionPID] if it exists. Store as sessionPlan.
Scan [plansFolder]/ for subdirectories (each subdirectory is a plan).
Exclude archived/ and .sessions/ folders and any files, only list plan directories.
If no plan folders exist: Respond with "No plans found. Create one with /plan:create".
Select the plan to execute:
sessionPlan exists and matches a plan folder, auto-select it. Inform the user:
"Using current session plan: [sessionPlan]"Available plans:
1. add-user-authentication
2. refactor-database-layer
3. implement-caching
Which plan would you like to execute? [1-3]
Update the session file [plansFolder]/.sessions/[sessionPID] with the selected plan slug (create if needed).
Check prerequisites:
[plansFolder]/[selected-plan]/plan.md does not exist: Respond with "No plan.md found."plan.md is empty: Respond with "Plan file is empty. Run /plan:critique first."Read CLAUDE.md from the project root if it exists. Hold its standards as context and ensure compliance during
each execution step. If it does not exist, note this but do not block execution.
Read [plansFolder]/[selected-plan]/critique.md if it exists. Note the iteration number and summary.
Inform the user: "Plan was critiqued (iteration N). Last critique summary: [brief]."
Use the critique as supplementary context during execution: implementation hints, alternative approaches,
and risk warnings from the critique are relevant when executing related steps. Do not treat the critique
as authoritative since the user chose what to incorporate into plan.md.
If critique.md does not exist, warn: "This plan has not been critiqued. Run /plan:critique first,
or confirm you want to proceed without review." Wait for user confirmation before continuing.
Check git status by running git status.
Detect test infrastructure. Look for a test runner and existing tests: a test script in package.json,
pytest.ini or tox.ini, phpunit.xml, a go.mod alongside _test.go files, Cargo.toml, a tests/,
test/ or __tests__/ directory, or a Makefile target named test.
[command]. Tests-first is binding for every step of this run."Check for existing execution state. If [plansFolder]/[selected-plan]/execution-state.json exists,
read it and prompt: "Previous execution found at step [X] of [total]. Resume or restart?"
Wait for user response before proceeding.
plan-execute: prefix. If they do not match, warn the user
that the codebase may have diverged from the recorded state. Skip already-completed steps.Review supporting files in the [plansFolder]/[selected-plan]/ folder. Classify each file by type
and inferred purpose. Present to the user alongside the step list:
"Supporting files found: schema.sql (SQL migration), mockup.png (UI reference)."
Let the user confirm or clarify how each file should be used during execution.
Parse the plan into discrete, executable steps using this ordering strategy:
Example: If a plan has "Add utility function", "Create database migration", and "Update API endpoint (uses utility)", order as: 1) Add utility function, 2) Create database migration, 3) Update API endpoint
Use Glob and Grep to estimate which existing files each step is likely to affect. Prefer the affected files the plan already lists, and use Glob to confirm each of those paths exists before presenting it. Present the steps to the user for confirmation, including the dependency graph and file estimates:
I've parsed your plan into the following steps:
1. [Step description] - likely affects: src/auth.ts, src/middleware.ts
(no dependencies)
2. [Step description] - creates new file: src/utils/hash.ts
(no dependencies)
3. [Step description] - likely affects: src/routes.ts
(depends on step 1)
...
Do you want me to proceed with execution? You can reorder or adjust steps before starting.
Wait for the user to confirm or request changes to the ordering.
Execute each step sequentially:
stepStartedAt
(see execution-state-format.md).mcp__ide__getDiagnostics on files modified in this step. Report only NEW errors
or warnings (compare before and after to avoid flagging pre-existing issues).file:line reference for
every claim about what the step accomplished. Do not describe a step as working on the strength of the
code looking correct.plan-execute: [plan-slug] step N - [brief description]Co-Authored-By or Generated-with trailer to the commit message.gitCommits.CLAUDE.md,
flag this to the user immediately rather than waiting until completion./plan:execute.On successful completion:
git log --oneline -N."/plan:archive to archive this plan."Notes:
git revert. This is the primary safety net.