Files
msd-core/get-shit-done/workflows/add-phase.md
Claude 36f5bb3d5f feat: delegate deterministic workflow operations to gsd-tools CLI
Add 10 new CLI commands that replace manual AI orchestration of
mechanical, deterministic operations — saving tokens and reducing
errors on the most complex GSD workflows.

New commands:
- phase add <desc> — append phase to roadmap + create directory
- phase insert <after> <desc> — insert decimal phase
- phase remove <N> [--force] — remove phase with full renumbering
- phase complete <N> — mark done, update state + roadmap, detect milestone end
- roadmap analyze — unified roadmap parser with disk status
- milestone complete <ver> [--name] — archive roadmap/requirements/audit
- validate consistency — check phase numbering and disk/roadmap sync
- progress [json|table|bar] — render progress in various formats
- todo complete <file> — move todo from pending to completed
- scaffold [context|uat|verification|phase-dir] — template generation

Updated workflows to use new CLI commands:
- remove-phase.md: 13 manual steps → 1 CLI call + confirm + commit
- add-phase.md: 6 manual steps → 1 CLI call + state update
- insert-phase.md: 7 manual steps → 1 CLI call + state update
- transition.md: roadmap/state updates delegated to phase complete
- progress.md: roadmap parsing delegated to roadmap analyze
- complete-milestone.md: archival delegated to milestone complete

75 tests passing (33 new).

https://claude.ai/code/session_01UhMGMrNGGn2bfeAi7MBphs
2026-02-08 13:53:09 +00:00

2.6 KiB

Add a new integer phase to the end of the current milestone in the roadmap. Automatically calculates next phase number, creates phase directory, and updates roadmap structure.

<required_reading> Read all files referenced by the invoking prompt's execution_context before starting. </required_reading>

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.

Load phase operation context:
INIT=$(node ~/.claude/get-shit-done/bin/gsd-tools.js init phase-op "0")

Check roadmap_exists from init JSON. If false:

ERROR: No roadmap found (.planning/ROADMAP.md)
Run /gsd:new-project to initialize.

Exit.

**Delegate the phase addition to gsd-tools:**
RESULT=$(node ~/.claude/get-shit-done/bin/gsd-tools.js phase add "${description}")

The CLI handles:

  • Finding the highest existing integer phase number
  • Calculating next phase number (max + 1)
  • Generating slug from description
  • Creating the phase directory (.planning/phases/{NN}-{slug}/)
  • Inserting the phase entry into ROADMAP.md with Goal, Depends on, and Plans sections

Extract from result: phase_number, padded, name, slug, directory.

Update STATE.md to reflect the new phase:
  1. Read .planning/STATE.md
  2. Under "## Accumulated Context" → "### Roadmap Evolution" add entry:
    - Phase {N} added: {description}
    

If "Roadmap Evolution" section doesn't exist, create it.

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

**Phase {N}: {description}**

`/gsd:plan-phase {N}`

<sub>`/clear` first → fresh context window</sub>

---

**Also available:**
- `/gsd:add-phase <description>` — add another phase
- Review roadmap

---

<success_criteria>

  • gsd-tools phase add executed successfully
  • Phase directory created
  • Roadmap updated with new phase entry
  • STATE.md updated with roadmap evolution note
  • User informed of next steps </success_criteria>