---
name: gmd:switch-milestone
description: Switch active milestone in parallel mode (pure pointer flip on root STATE.md)
argument-hint: "<milestone-slug>"
allowed-tools:
  - Read
  - Write
  - Bash
---
<objective>
Switch the active milestone in parallel mode. Pure pointer flip on root `.planning/STATE.md` `current_milestone:` field. No file moves; no scaffolding.

Requires parallel organizational mode (`.planning/config.json::organizational_mode === "parallel"`). Refuses cleanly in sequential mode with pointer to `/gmd:migrate-to-parallel` (Phase 68 work).

**Updates:**
- `.planning/STATE.md` — `current_milestone:` field in TOP frontmatter block only (STATE-01 authority boundary)

**After:** the next phase-scoped command (`/gmd:plan-phase`, `/gmd:execute-phase`, etc.) operates on the new milestone via 4-tier active-milestone resolution (tier 2 reads the pointer).
</objective>

<execution_context>
@C:/Users/Christopher/.claude/workflows/switch-milestone.md
</execution_context>

<context>
Milestone slug: $ARGUMENTS (required — kebab-case; must exist under `.planning/milestones/<slug>/`)

Mode + slug existence + atomic pointer flip + next-action report are handled inside the workflow via `bin/lib/state.cjs::setCurrentMilestone` (atomic helper; single-payload `fs.writeFileSync`).
</context>

<process>
Execute the switch-milestone workflow from @C:/Users/Christopher/.claude/workflows/switch-milestone.md end-to-end.
Preserve all workflow gates (mode validation, slug existence check, kebab-case validation, atomic flip, next-action report).
</process>
