Files
msd-core/commands/gsd/plan-phase.md
Lex Christopherson b708a8d361 feat: add requirements traceability to roadmap and plan-phase
- Roadmap template now includes Requirements: field for each phase
- plan-phase loads REQUIREMENTS.md and extracts phase-specific requirements
- define-requirements shows full list inline before commit (not just counts)
2026-01-15 00:04:29 -06:00

83 lines
2.9 KiB
Markdown

---
name: gsd:plan-phase
description: Create detailed execution plan for a phase (PLAN.md)
argument-hint: "[phase]"
allowed-tools:
- Read
- Bash
- Write
- Glob
- Grep
- AskUserQuestion
- WebFetch
- mcp__context7__*
---
<objective>
Create executable phase prompt with discovery, context injection, and task breakdown.
Purpose: Break down roadmap phases into concrete, executable PLAN.md files that Claude can execute.
Output: One or more PLAN.md files in the phase directory (.planning/phases/XX-name/{phase}-{plan}-PLAN.md)
</objective>
<execution_context>
@~/.claude/get-shit-done/references/principles.md
@~/.claude/get-shit-done/workflows/plan-phase.md
@~/.claude/get-shit-done/templates/phase-prompt.md
@~/.claude/get-shit-done/references/plan-format.md
@~/.claude/get-shit-done/references/scope-estimation.md
@~/.claude/get-shit-done/references/checkpoints.md
@~/.claude/get-shit-done/references/tdd.md
</execution_context>
<context>
Phase number: $ARGUMENTS (optional - auto-detects next unplanned phase if not provided)
**Load project state first:**
@.planning/STATE.md
**Load roadmap:**
@.planning/ROADMAP.md
**Load requirements:**
@.planning/REQUIREMENTS.md
After loading, extract the requirements for the current phase:
1. Find the phase in ROADMAP.md, get its `Requirements:` list (e.g., "PROF-01, PROF-02, PROF-03")
2. Look up each REQ-ID in REQUIREMENTS.md to get the full description
3. Present the requirements this phase must satisfy:
```
Phase [N] Requirements:
- PROF-01: User can create profile with display name
- PROF-02: User can upload avatar image
- PROF-03: User can write bio (max 500 chars)
```
**Load phase context if exists (created by /gsd:discuss-phase):**
Check for and read `.planning/phases/XX-name/{phase}-CONTEXT.md` - contains research findings, clarifications, and decisions from phase discussion.
**Load codebase context if exists:**
Check for `.planning/codebase/` and load relevant documents based on phase type.
</context>
<process>
1. Check .planning/ directory exists (error if not - user should run /gsd:new-project)
2. If phase number provided via $ARGUMENTS, validate it exists in roadmap
3. If no phase number, detect next unplanned phase from roadmap
4. Follow plan-phase.md workflow:
- Load project state and accumulated decisions
- Perform mandatory discovery (Level 0-3 as appropriate)
- Read project history (prior decisions, issues, concerns)
- Break phase into tasks
- Estimate scope and split into multiple plans if needed
- Create PLAN.md file(s) with executable structure
</process>
<success_criteria>
- One or more PLAN.md files created in .planning/phases/XX-name/
- Each plan has: objective, execution_context, context, tasks, verification, success_criteria, output
- Tasks are specific enough for Claude to execute
- User knows next steps (execute plan or review/adjust)
</success_criteria>