get-shit-done/workflows/add-phase.md
<required_reading> Read all files referenced by the invoking prompt's execution_context before starting. </required_reading>
<process> <step name="parse_arguments"> Parse the command arguments: - All arguments become the phase description - Example: `/gsd-add-phase Add authentication` → description = "Add authentication" - Example: `/gsd-add-phase Fix critical performance issues` → description = "Fix critical performance issues"If no arguments provided:
ERROR: Phase description required
Usage: /gsd-add-phase <description>
Example: /gsd-add-phase Add authentication system
Exit. </step>
<step name="init_context"> Load phase operation context:INIT=$(gsd-sdk query init.phase-op "0")
if [[ "$INIT" == @file:* ]]; then INIT=$(cat "${INIT#@file:}"); fi
Check roadmap_exists from init JSON. If false:
ERROR: No roadmap found (.planning/ROADMAP.md)
Run /gsd-new-project to initialize.
Exit. </step>
<step name="add_phase"> **Delegate the phase addition to `gsd-sdk query phase.add`:**RESULT=$(gsd-sdk query phase.add "${description}")
The CLI handles:
.planning/phases/{NN}-{slug}/)Extract from result: phase_number, padded, name, slug, directory.
</step>
.planning/STATE.md- Phase {N} added: {description}
If "Roadmap Evolution" section doesn't exist, create it. </step>
<step name="completion"> Present completion summary:Phase {N} added to current milestone:
- Description: {description}
- Directory: .planning/phases/{phase-num}-{slug}/
- Status: Not planned yet
Roadmap updated: .planning/ROADMAP.md
---
## ▶ Next Up — [${PROJECT_CODE}] ${PROJECT_TITLE}
**Phase {N}: {description}**
`/clear` then:
`/gsd-plan-phase {N}`
---
**Also available:**
- `/gsd-add-phase <description>` — add another phase
- Review roadmap
---
<success_criteria>
gsd-sdk query phase.add executed successfully