skills/step3/SKILL.md
ONLY when user explicitly types /step3. Never auto-trigger on execute, run, or implement.
npx skillsauth add gsa9/3-step-plan-claude-code step3Install this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Execute _step2_plan.md by dispatching phases to subagents via Agent tool. The main thread orchestrates only.
All-or-nothing execution. On failure, the user decides recovery.
The main thread is a lightweight dispatcher: read _step2_plan.md once, store only phase numbers, dependencies, groups, and titles. Dispatch subagents and report one-line progress per phase.
Detect the environment and create a checkpoint:
If git repo: run git status --porcelain — if output is non-empty, abort with: "Working tree has uncommitted changes — commit or stash before running /step3." If clean, run git rev-parse HEAD to store the checkpoint hash. If rev-parse fails (empty repo with no commits), treat as greenfield — skip checkpoint.
If existing files but no git: copy all files listed in the plan's Inputs/Outputs to _step3_backup/, preserving relative paths.
If greenfield with no git: skip. Nothing to recover.
Read _step2_plan.md and verify the <!-- @plan: /step2 --> marker is present. Parse the overview table.
While phases remain:
Dispatch template:
# Context
Goal: [from plan Goal field]
Rationale: [from plan Rationale section]
Working directory: [absolute path]
# Dependencies
[From Phases Overview. Omit section if none.]
# Your Assignment: Phase N
[EXACT phase section from plan]
# Instructions
1. Read Inputs first. Understand context before producing anything.
2. Guardrails are hard constraints, not suggestions. Violating a Guardrail is a failure.
3. Produce only the listed Outputs. Do not create or modify anything outside them.
4. On failure: stop immediately and return error details.
Code-task override: if the plan contains code-task: true, replace instructions 1 and 3 with:
Do not output anything during these operations.
Delete the plan file and backup via Recycle Bin (never permanent delete), then commit and push.
On Windows, delete _step2_plan.md:
powershell -NoProfile -Command 'Add-Type -AssemblyName Microsoft.VisualBasic; [Microsoft.VisualBasic.FileIO.FileSystem]::DeleteFile((Join-Path "WORKING_DIR" "_step2_plan.md"),"OnlyErrorDialogs","SendToRecycleBin")'
If _step3_backup/ exists, delete it:
powershell -NoProfile -Command 'Add-Type -AssemblyName Microsoft.VisualBasic; [Microsoft.VisualBasic.FileIO.FileSystem]::DeleteDirectory((Join-Path "WORKING_DIR" "_step3_backup"),"OnlyErrorDialogs","SendToRecycleBin")'
If git repo: commit with git add -A && git commit -m "run complete: [Goal]". If a remote exists (git remote | head -1), push.
Output (read title: from _step2_plan.md YAML frontmatter before deleting):
[title]
▰▰▰▰▰▰▰ ▰▰▰▰▰▰▰ ▰▰▰▰▰▰▰
A phase has failed when the Agent tool errors or the subagent reports it could not complete.
Display this to the user:
PLAN FAILED — RECOVERY OPTIONS
Checkpoint: [hash or _step3_backup/]
If git: Recovery: git reset --hard [hash]
If backup: Recovery: restore from _step3_backup/
- Failed: Phase N — [error]
- Completed: Phases X, Y, Z
- Not started: Phases A, B, C
Propose recovery only. The user decides.
testing
ONLY when user explicitly types /step2. Never auto-trigger on plan, design, or architect.
testing
ONLY when user explicitly types /step1. Never auto-trigger on think, scan, consider, or examine.
testing
ONLY trigger on explicit /gc. Never auto-trigger on 'commit', 'push', or similar words.
testing
ONLY when user explicitly types /distill. Never auto-trigger on optimize, shorten, reduce, or trim.