diff --git a/commands/gsd/auto.md b/commands/gsd/auto.md
deleted file mode 100644
index 0aa835aa2..000000000
--- a/commands/gsd/auto.md
+++ /dev/null
@@ -1,150 +0,0 @@
----
-description: Autonomous mode - reads state, executes next step, spawns next Claude.
-allowed-tools:
- - Read
- - Bash
- - Grep
- - Glob
- - SlashCommand
----
-
-
-Autonomous execution with self-spawning. Run once:
-```bash
-claude --dangerously-skip-permissions '/gsd:auto'
-```
-
-Reads STATE.md, determines next action, executes it, then spawns a fresh Claude to continue.
-Chains until milestone complete. All gates auto-approved.
-
-
-
-
-
-**Check yolo mode is enabled:**
-
-```bash
-cat .planning/config.json 2>/dev/null
-```
-
-Parse the JSON. If `mode` is not `"yolo"`, refuse:
-
-```
-⚠ Auto mode requires yolo mode.
-
-Set in .planning/config.json:
-{"mode": "yolo"}
-
-Then run:
-while true; do claude -p --dangerously-skip-permissions '/gsd:auto'; done
-```
-
-Exit without executing anything.
-
-If no `.planning/` directory exists:
-
-```
-No planning structure found.
-Run /gsd:new-project first.
-```
-
-Exit.
-
-
-
-**Load minimal state:**
-
-- Read `.planning/STATE.md` - current position
-- Read `.planning/ROADMAP.md` - phase structure
-
-Extract:
-- Current phase number
-- Current plan number (or "none")
-- Phase status (planning/executing/complete)
-- Total phases in milestone
-
-
-
-**Determine next action based on state:**
-
-Check what exists in `.planning/phases/`:
-
-1. **No PLAN.md for current phase** → need to plan
-2. **PLAN.md exists, no SUMMARY.md** → need to execute
-3. **SUMMARY.md exists for all plans in phase** → phase complete, check next
-4. **All phases complete** → milestone complete
-
-Logic:
-```
-if current_phase has no PLAN.md:
- action = plan-phase
-elif current_phase has unexecuted PLAN.md:
- action = execute-plan
-elif current_phase complete AND more phases exist:
- action = plan-phase (next phase)
-elif all phases complete:
- action = complete-milestone
-```
-
-
-
-**Execute the determined action immediately:**
-
-No status report. No "Next Up" display. Just execute.
-
-**If action = plan-phase:**
-```
-▶ AUTO: /gsd:plan-phase [N]
-```
-Invoke: `SlashCommand("/gsd:plan-phase [N]")`
-
-**If action = execute-plan:**
-```
-▶ AUTO: /gsd:execute-plan [path]
-```
-Invoke: `SlashCommand("/gsd:execute-plan [full-path-to-PLAN.md]")`
-
-**If action = complete-milestone:**
-```
-▶ AUTO: /gsd:complete-milestone
-```
-Invoke: `SlashCommand("/gsd:complete-milestone")`
-
-**If milestone already complete:**
-```
-✅ Milestone complete. Nothing to do.
-```
-Exit cleanly (loop will restart, hit this again, user can Ctrl+C).
-
-
-
-
-
-**CRITICAL: ALL HUMAN CHECKPOINTS ARE AUTO-APPROVED IN /gsd:auto**
-
-When executing via /gsd:auto, treat ALL checkpoint types as auto-approved:
-
-- `checkpoint:human-verify` → AUTO-APPROVED, log "Auto-verified in yolo mode"
-- `checkpoint:decision` → AUTO-APPROVED, pick the most sensible default
-- `checkpoint:human-action` → SKIP if possible, or simulate completion
-- Any "Type approved to continue" → AUTO-APPROVED
-- Any "Does this look right?" → YES
-- Any confirmation prompt → CONFIRMED
-
-**DO NOT STOP AND WAIT FOR INPUT. EVER.**
-
-If a checkpoint would normally block, instead:
-1. Log: "⚡ Auto-approved: [checkpoint description]"
-2. Continue execution immediately
-
-The invoked commands should detect yolo mode from config.json and apply this behavior.
-
-
-
-- [ ] Refuses to run if mode != yolo
-- [ ] Reads state, determines action
-- [ ] Executes exactly one action via SlashCommand
-- [ ] No prompts, no waiting, no "Next Up" display
-- [ ] Exits cleanly after action completes
-- [ ] Works with: while true; do claude -p --dangerously-skip-permissions '/gsd:auto'; done
-