get-shit-done-cc 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +192 -0
- package/bin/install.js +53 -0
- package/commands/gsd/add-phase.md +201 -0
- package/commands/gsd/complete-milestone.md +105 -0
- package/commands/gsd/discuss-milestone.md +45 -0
- package/commands/gsd/discuss-phase.md +47 -0
- package/commands/gsd/execute-plan.md +108 -0
- package/commands/gsd/help.md +252 -0
- package/commands/gsd/insert-phase.md +218 -0
- package/commands/gsd/list-phase-assumptions.md +49 -0
- package/commands/gsd/new-milestone.md +58 -0
- package/commands/gsd/new-project.md +177 -0
- package/commands/gsd/pause-work.md +123 -0
- package/commands/gsd/plan-phase.md +60 -0
- package/commands/gsd/progress.md +182 -0
- package/commands/gsd/resume-work.md +50 -0
- package/get-shit-done/references/checkpoints.md +594 -0
- package/get-shit-done/references/cli-automation.md +527 -0
- package/get-shit-done/references/git-integration.md +126 -0
- package/get-shit-done/references/plan-format.md +397 -0
- package/get-shit-done/references/principles.md +97 -0
- package/get-shit-done/references/questioning.md +138 -0
- package/get-shit-done/references/research-pitfalls.md +215 -0
- package/get-shit-done/references/scope-estimation.md +451 -0
- package/get-shit-done/templates/config.json +17 -0
- package/get-shit-done/templates/context.md +385 -0
- package/get-shit-done/templates/continue-here.md +78 -0
- package/get-shit-done/templates/issues.md +32 -0
- package/get-shit-done/templates/milestone-archive.md +123 -0
- package/get-shit-done/templates/milestone.md +115 -0
- package/get-shit-done/templates/phase-prompt.md +290 -0
- package/get-shit-done/templates/project.md +207 -0
- package/get-shit-done/templates/research-prompt.md +133 -0
- package/get-shit-done/templates/roadmap.md +196 -0
- package/get-shit-done/templates/state.md +226 -0
- package/get-shit-done/templates/summary.md +200 -0
- package/get-shit-done/workflows/complete-milestone.md +490 -0
- package/get-shit-done/workflows/create-milestone.md +379 -0
- package/get-shit-done/workflows/create-roadmap.md +443 -0
- package/get-shit-done/workflows/discuss-milestone.md +144 -0
- package/get-shit-done/workflows/discuss-phase.md +254 -0
- package/get-shit-done/workflows/execute-phase.md +1261 -0
- package/get-shit-done/workflows/list-phase-assumptions.md +178 -0
- package/get-shit-done/workflows/plan-phase.md +783 -0
- package/get-shit-done/workflows/research-phase.md +293 -0
- package/get-shit-done/workflows/resume-project.md +248 -0
- package/get-shit-done/workflows/transition.md +488 -0
- package/package.json +30 -0
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Execute a PLAN.md file
|
|
3
|
+
argument-hint: "[path-to-PLAN.md]"
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Write
|
|
7
|
+
- Edit
|
|
8
|
+
- Bash
|
|
9
|
+
- Glob
|
|
10
|
+
- Grep
|
|
11
|
+
- Task
|
|
12
|
+
- AskUserQuestion
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
<objective>
|
|
16
|
+
Execute a PLAN.md file, create SUMMARY.md, update project state, commit.
|
|
17
|
+
|
|
18
|
+
Uses intelligent segmentation:
|
|
19
|
+
|
|
20
|
+
- Plans without checkpoints → spawn subagent for full autonomous execution
|
|
21
|
+
- Plans with verify checkpoints → segment execution, pause at checkpoints
|
|
22
|
+
- Plans with decision checkpoints → execute in main context
|
|
23
|
+
</objective>
|
|
24
|
+
|
|
25
|
+
<execution_context>
|
|
26
|
+
@~/.claude/get-shit-done/workflows/execute-phase.md
|
|
27
|
+
@~/.claude/get-shit-done/templates/summary.md
|
|
28
|
+
@~/.claude/get-shit-done/references/checkpoints.md
|
|
29
|
+
</execution_context>
|
|
30
|
+
|
|
31
|
+
<context>
|
|
32
|
+
Plan path: $ARGUMENTS
|
|
33
|
+
|
|
34
|
+
**Load project state first:**
|
|
35
|
+
@.planning/STATE.md
|
|
36
|
+
|
|
37
|
+
**Load workflow config:**
|
|
38
|
+
@.planning/config.json
|
|
39
|
+
</context>
|
|
40
|
+
|
|
41
|
+
<process>
|
|
42
|
+
1. Check .planning/ directory exists (error if not - user should run /gsd:new-project)
|
|
43
|
+
2. Verify plan at $ARGUMENTS exists
|
|
44
|
+
3. Check if SUMMARY.md already exists (plan already executed?)
|
|
45
|
+
4. Load workflow config for mode (interactive/yolo)
|
|
46
|
+
5. Follow execute-phase.md workflow:
|
|
47
|
+
- Parse plan and determine execution strategy (A/B/C)
|
|
48
|
+
- Execute tasks (via subagent or main context as appropriate)
|
|
49
|
+
- Handle checkpoints and deviations
|
|
50
|
+
- Create SUMMARY.md
|
|
51
|
+
- Update STATE.md
|
|
52
|
+
- Commit changes
|
|
53
|
+
</process>
|
|
54
|
+
|
|
55
|
+
<execution_strategies>
|
|
56
|
+
**Strategy A: Fully Autonomous** (no checkpoints)
|
|
57
|
+
|
|
58
|
+
- Spawn subagent to execute entire plan
|
|
59
|
+
- Subagent creates SUMMARY.md and commits
|
|
60
|
+
- Main context: orchestration only (~5% usage)
|
|
61
|
+
|
|
62
|
+
**Strategy B: Segmented** (has verify-only checkpoints)
|
|
63
|
+
|
|
64
|
+
- Execute in segments between checkpoints
|
|
65
|
+
- Subagent for autonomous segments
|
|
66
|
+
- Main context for checkpoints
|
|
67
|
+
- Aggregate results → SUMMARY → commit
|
|
68
|
+
|
|
69
|
+
**Strategy C: Decision-Dependent** (has decision checkpoints)
|
|
70
|
+
|
|
71
|
+
- Execute in main context
|
|
72
|
+
- Decision outcomes affect subsequent tasks
|
|
73
|
+
- Quality maintained through small scope (2-3 tasks per plan)
|
|
74
|
+
</execution_strategies>
|
|
75
|
+
|
|
76
|
+
<deviation_rules>
|
|
77
|
+
During execution, handle discoveries automatically:
|
|
78
|
+
|
|
79
|
+
1. **Auto-fix bugs** - Fix immediately, document in Summary
|
|
80
|
+
2. **Auto-add critical** - Security/correctness gaps, add and document
|
|
81
|
+
3. **Auto-fix blockers** - Can't proceed without fix, do it and document
|
|
82
|
+
4. **Ask about architectural** - Major structural changes, stop and ask user
|
|
83
|
+
5. **Log enhancements** - Nice-to-haves, log to ISSUES.md, continue
|
|
84
|
+
|
|
85
|
+
Only rule 4 requires user intervention.
|
|
86
|
+
</deviation_rules>
|
|
87
|
+
|
|
88
|
+
<commit_rules>
|
|
89
|
+
**Critical: Stage only files this plan actually modified.**
|
|
90
|
+
|
|
91
|
+
NEVER use:
|
|
92
|
+
|
|
93
|
+
- `git add .`
|
|
94
|
+
- `git add -A`
|
|
95
|
+
- `git add src/` or any broad directory
|
|
96
|
+
|
|
97
|
+
Stage each file individually from the modified-files list.
|
|
98
|
+
</commit_rules>
|
|
99
|
+
|
|
100
|
+
<success_criteria>
|
|
101
|
+
|
|
102
|
+
- [ ] All tasks executed
|
|
103
|
+
- [ ] SUMMARY.md created with substantive content
|
|
104
|
+
- [ ] STATE.md updated (position, decisions, issues, session)
|
|
105
|
+
- [ ] ROADMAP updated (plan count, phase status)
|
|
106
|
+
- [ ] Changes committed with feat({phase}-{plan}): [summary]
|
|
107
|
+
- [ ] User informed of next steps
|
|
108
|
+
</success_criteria>
|
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Show available GSD commands and usage guide
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
<objective>
|
|
6
|
+
Display the complete GSD command reference.
|
|
7
|
+
|
|
8
|
+
Output ONLY the reference content below. Do NOT add:
|
|
9
|
+
|
|
10
|
+
- Project-specific analysis
|
|
11
|
+
- Git status or file context
|
|
12
|
+
- Next-step suggestions
|
|
13
|
+
- Any commentary beyond the reference
|
|
14
|
+
</objective>
|
|
15
|
+
|
|
16
|
+
<reference>
|
|
17
|
+
# GSD Command Reference
|
|
18
|
+
|
|
19
|
+
**GSD** (Get Shit Done) creates hierarchical project plans optimized for solo agentic development with Claude Code.
|
|
20
|
+
|
|
21
|
+
## Quick Start
|
|
22
|
+
|
|
23
|
+
1. `/gsd:new-project` - Initialize project with brief and roadmap
|
|
24
|
+
2. `/gsd:plan-phase <number>` - Create detailed plan for first phase
|
|
25
|
+
3. `/gsd:execute-plan <path>` - Execute the plan
|
|
26
|
+
|
|
27
|
+
## Core Workflow
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
Initialization → Planning → Execution → Milestone Completion
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### Project Initialization
|
|
34
|
+
|
|
35
|
+
**`/gsd:new-project`**
|
|
36
|
+
Initialize new project with brief, roadmap, and state tracking.
|
|
37
|
+
|
|
38
|
+
- Creates `.planning/PROJECT.md` (vision and requirements)
|
|
39
|
+
- Creates `.planning/ROADMAP.md` (phase breakdown)
|
|
40
|
+
- Creates `.planning/STATE.md` (project memory)
|
|
41
|
+
- Creates `.planning/config.json` (workflow mode)
|
|
42
|
+
- Asks for workflow mode (interactive/yolo) upfront
|
|
43
|
+
- Commits all initialization files to git
|
|
44
|
+
|
|
45
|
+
Usage: `/gsd:new-project`
|
|
46
|
+
|
|
47
|
+
### Phase Planning
|
|
48
|
+
|
|
49
|
+
**`/gsd:discuss-phase <number>`**
|
|
50
|
+
Gather phase context through adaptive questioning before planning.
|
|
51
|
+
|
|
52
|
+
- Builds understanding of objectives, constraints, risks
|
|
53
|
+
- Creates CONTEXT.md in phase directory
|
|
54
|
+
- Use before planning unfamiliar or complex phases
|
|
55
|
+
|
|
56
|
+
Usage: `/gsd:discuss-phase 2`
|
|
57
|
+
|
|
58
|
+
**`/gsd:list-phase-assumptions <number>`**
|
|
59
|
+
Surface Claude's assumptions about a phase before planning.
|
|
60
|
+
|
|
61
|
+
- Shows what Claude thinks about technical approach, scope, risks
|
|
62
|
+
- Enables early course correction before planning begins
|
|
63
|
+
- No files created - conversational output only
|
|
64
|
+
|
|
65
|
+
Usage: `/gsd:list-phase-assumptions 3`
|
|
66
|
+
|
|
67
|
+
**`/gsd:plan-phase <number>`**
|
|
68
|
+
Create detailed execution plan for a specific phase.
|
|
69
|
+
|
|
70
|
+
- Generates `.planning/phases/XX-phase-name/XX-YY-PLAN.md`
|
|
71
|
+
- Breaks phase into concrete, actionable tasks
|
|
72
|
+
- Includes verification criteria and success measures
|
|
73
|
+
- Multiple plans per phase supported (XX-01, XX-02, etc.)
|
|
74
|
+
|
|
75
|
+
Usage: `/gsd:plan-phase 1`
|
|
76
|
+
Result: Creates `.planning/phases/01-foundation/01-01-PLAN.md`
|
|
77
|
+
|
|
78
|
+
### Execution
|
|
79
|
+
|
|
80
|
+
**`/gsd:execute-plan <path>`**
|
|
81
|
+
Execute a PLAN.md file directly.
|
|
82
|
+
|
|
83
|
+
- Runs plan tasks sequentially
|
|
84
|
+
- Creates SUMMARY.md after completion
|
|
85
|
+
- Updates STATE.md with accumulated context
|
|
86
|
+
- Fast execution without loading full skill context
|
|
87
|
+
|
|
88
|
+
Usage: `/gsd:execute-plan .planning/phases/01-foundation/01-01-PLAN.md`
|
|
89
|
+
|
|
90
|
+
### Roadmap Management
|
|
91
|
+
|
|
92
|
+
**`/gsd:add-phase <description>`**
|
|
93
|
+
Add new phase to end of current milestone.
|
|
94
|
+
|
|
95
|
+
- Appends to ROADMAP.md
|
|
96
|
+
- Uses next sequential number
|
|
97
|
+
- Updates phase directory structure
|
|
98
|
+
|
|
99
|
+
Usage: `/gsd:add-phase "Add admin dashboard"`
|
|
100
|
+
|
|
101
|
+
**`/gsd:insert-phase <after> <description>`**
|
|
102
|
+
Insert urgent work as decimal phase between existing phases.
|
|
103
|
+
|
|
104
|
+
- Creates intermediate phase (e.g., 7.1 between 7 and 8)
|
|
105
|
+
- Useful for discovered work that must happen mid-milestone
|
|
106
|
+
- Maintains phase ordering
|
|
107
|
+
|
|
108
|
+
Usage: `/gsd:insert-phase 7 "Fix critical auth bug"`
|
|
109
|
+
Result: Creates Phase 7.1
|
|
110
|
+
|
|
111
|
+
### Milestone Management
|
|
112
|
+
|
|
113
|
+
**`/gsd:discuss-milestone`**
|
|
114
|
+
Gather context for next milestone through adaptive questioning.
|
|
115
|
+
|
|
116
|
+
- Reviews previous milestone accomplishments
|
|
117
|
+
- Asks about scope, constraints, priorities for next milestone
|
|
118
|
+
- Routes to /gsd:new-milestone when ready
|
|
119
|
+
|
|
120
|
+
Usage: `/gsd:discuss-milestone`
|
|
121
|
+
|
|
122
|
+
**`/gsd:new-milestone <name>`**
|
|
123
|
+
Create a new milestone with phases for an existing project.
|
|
124
|
+
|
|
125
|
+
- Adds milestone section to ROADMAP.md
|
|
126
|
+
- Creates phase directories
|
|
127
|
+
- Updates STATE.md for new milestone
|
|
128
|
+
|
|
129
|
+
Usage: `/gsd:new-milestone "v2.0 Features"`
|
|
130
|
+
|
|
131
|
+
**`/gsd:complete-milestone <version>`**
|
|
132
|
+
Archive completed milestone and prepare for next version.
|
|
133
|
+
|
|
134
|
+
- Creates MILESTONES.md entry with stats
|
|
135
|
+
- Archives full details to milestones/ directory
|
|
136
|
+
- Creates git tag for the release
|
|
137
|
+
- Prepares workspace for next version
|
|
138
|
+
|
|
139
|
+
Usage: `/gsd:complete-milestone 1.0.0`
|
|
140
|
+
|
|
141
|
+
### Progress Tracking
|
|
142
|
+
|
|
143
|
+
**`/gsd:progress`**
|
|
144
|
+
Check project status and intelligently route to next action.
|
|
145
|
+
|
|
146
|
+
- Shows visual progress bar and completion percentage
|
|
147
|
+
- Summarizes recent work from SUMMARY files
|
|
148
|
+
- Displays current position and what's next
|
|
149
|
+
- Lists key decisions and open issues
|
|
150
|
+
- Offers to execute next plan or create it if missing
|
|
151
|
+
- Detects 100% milestone completion
|
|
152
|
+
|
|
153
|
+
Usage: `/gsd:progress`
|
|
154
|
+
|
|
155
|
+
### Session Management
|
|
156
|
+
|
|
157
|
+
**`/gsd:resume-work`**
|
|
158
|
+
Resume work from previous session with full context restoration.
|
|
159
|
+
|
|
160
|
+
- Reads STATE.md for project context
|
|
161
|
+
- Shows current position and recent progress
|
|
162
|
+
- Offers next actions based on project state
|
|
163
|
+
|
|
164
|
+
Usage: `/gsd:resume-work`
|
|
165
|
+
|
|
166
|
+
**`/gsd:pause-work`**
|
|
167
|
+
Create context handoff when pausing work mid-phase.
|
|
168
|
+
|
|
169
|
+
- Creates .continue-here file with current state
|
|
170
|
+
- Updates STATE.md session continuity section
|
|
171
|
+
- Captures in-progress work context
|
|
172
|
+
|
|
173
|
+
Usage: `/gsd:pause-work`
|
|
174
|
+
|
|
175
|
+
### Utility Commands
|
|
176
|
+
|
|
177
|
+
**`/gsd:help`**
|
|
178
|
+
Show this command reference.
|
|
179
|
+
|
|
180
|
+
## Files & Structure
|
|
181
|
+
|
|
182
|
+
```
|
|
183
|
+
.planning/
|
|
184
|
+
├── PROJECT.md # Project vision
|
|
185
|
+
├── ROADMAP.md # Current phase breakdown
|
|
186
|
+
├── STATE.md # Project memory & context
|
|
187
|
+
├── config.json # Workflow mode & gates
|
|
188
|
+
└── phases/
|
|
189
|
+
├── 01-foundation/
|
|
190
|
+
│ ├── 01-01-PLAN.md
|
|
191
|
+
│ └── 01-01-SUMMARY.md
|
|
192
|
+
└── 02-core-features/
|
|
193
|
+
├── 02-01-PLAN.md
|
|
194
|
+
└── 02-01-SUMMARY.md
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
## Workflow Modes
|
|
198
|
+
|
|
199
|
+
Set during `/gsd:new-project`:
|
|
200
|
+
|
|
201
|
+
**Interactive Mode**
|
|
202
|
+
|
|
203
|
+
- Confirms each major decision
|
|
204
|
+
- Pauses at checkpoints for approval
|
|
205
|
+
- More guidance throughout
|
|
206
|
+
|
|
207
|
+
**YOLO Mode**
|
|
208
|
+
|
|
209
|
+
- Auto-approves most decisions
|
|
210
|
+
- Executes plans without confirmation
|
|
211
|
+
- Only stops for critical checkpoints
|
|
212
|
+
|
|
213
|
+
Change anytime by editing `.planning/config.json`
|
|
214
|
+
|
|
215
|
+
## Common Workflows
|
|
216
|
+
|
|
217
|
+
**Starting a new project:**
|
|
218
|
+
|
|
219
|
+
```
|
|
220
|
+
/gsd:new-project
|
|
221
|
+
/gsd:plan-phase 1
|
|
222
|
+
/gsd:execute-plan .planning/phases/01-foundation/01-01-PLAN.md
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
**Resuming work after a break:**
|
|
226
|
+
|
|
227
|
+
```
|
|
228
|
+
/gsd:progress # See where you left off and continue
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
**Adding urgent mid-milestone work:**
|
|
232
|
+
|
|
233
|
+
```
|
|
234
|
+
/gsd:insert-phase 5 "Critical security fix"
|
|
235
|
+
/gsd:plan-phase 5.1
|
|
236
|
+
/gsd:execute-plan .planning/phases/05.1-critical-security-fix/05.1-01-PLAN.md
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
**Completing a milestone:**
|
|
240
|
+
|
|
241
|
+
```
|
|
242
|
+
/gsd:complete-milestone 1.0.0
|
|
243
|
+
/gsd:new-project # Start next milestone
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
## Getting Help
|
|
247
|
+
|
|
248
|
+
- Read `.planning/PROJECT.md` for project vision
|
|
249
|
+
- Read `.planning/STATE.md` for current context
|
|
250
|
+
- Check `.planning/ROADMAP.md` for phase status
|
|
251
|
+
- Run `/gsd:progress` to check where you're up to
|
|
252
|
+
</reference>
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Insert urgent work as decimal phase (e.g., 72.1) between existing phases
|
|
3
|
+
argument-hint: <after> <description>
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Write
|
|
7
|
+
- Bash
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
<objective>
|
|
11
|
+
Insert a decimal phase for urgent work discovered mid-milestone that must be completed between existing integer phases.
|
|
12
|
+
|
|
13
|
+
Uses decimal numbering (72.1, 72.2, etc.) to preserve the logical sequence of planned phases while accommodating urgent insertions.
|
|
14
|
+
|
|
15
|
+
Purpose: Handle urgent work discovered during execution without renumbering entire roadmap.
|
|
16
|
+
</objective>
|
|
17
|
+
|
|
18
|
+
<execution_context>
|
|
19
|
+
@.planning/ROADMAP.md
|
|
20
|
+
@.planning/STATE.md
|
|
21
|
+
</execution_context>
|
|
22
|
+
|
|
23
|
+
<process>
|
|
24
|
+
|
|
25
|
+
<step name="parse_arguments">
|
|
26
|
+
Parse the command arguments:
|
|
27
|
+
- First argument: integer phase number to insert after
|
|
28
|
+
- Remaining arguments: phase description
|
|
29
|
+
|
|
30
|
+
Example: `/gsd:insert-phase 72 Fix critical auth bug`
|
|
31
|
+
→ after = 72
|
|
32
|
+
→ description = "Fix critical auth bug"
|
|
33
|
+
|
|
34
|
+
Validation:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
if [ $# -lt 2 ]; then
|
|
38
|
+
echo "ERROR: Both phase number and description required"
|
|
39
|
+
echo "Usage: /gsd:insert-phase <after> <description>"
|
|
40
|
+
echo "Example: /gsd:insert-phase 72 Fix critical auth bug"
|
|
41
|
+
exit 1
|
|
42
|
+
fi
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
Parse first argument as integer:
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
after_phase=$1
|
|
49
|
+
shift
|
|
50
|
+
description="$*"
|
|
51
|
+
|
|
52
|
+
# Validate after_phase is an integer
|
|
53
|
+
if ! [[ "$after_phase" =~ ^[0-9]+$ ]]; then
|
|
54
|
+
echo "ERROR: Phase number must be an integer"
|
|
55
|
+
exit 1
|
|
56
|
+
fi
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
</step>
|
|
60
|
+
|
|
61
|
+
<step name="load_roadmap">
|
|
62
|
+
Load the roadmap file:
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
if [ -f .planning/ROADMAP.md ]; then
|
|
66
|
+
ROADMAP=".planning/ROADMAP.md"
|
|
67
|
+
else
|
|
68
|
+
echo "ERROR: No roadmap found (.planning/ROADMAP.md)"
|
|
69
|
+
exit 1
|
|
70
|
+
fi
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
Read roadmap content for parsing.
|
|
74
|
+
</step>
|
|
75
|
+
|
|
76
|
+
<step name="verify_target_phase">
|
|
77
|
+
Verify that the target phase exists in the roadmap:
|
|
78
|
+
|
|
79
|
+
1. Search for "### Phase {after_phase}:" heading
|
|
80
|
+
2. If not found:
|
|
81
|
+
|
|
82
|
+
```
|
|
83
|
+
ERROR: Phase {after_phase} not found in roadmap
|
|
84
|
+
Available phases: [list phase numbers]
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
Exit.
|
|
88
|
+
|
|
89
|
+
3. Verify phase is in current milestone (not completed/archived)
|
|
90
|
+
</step>
|
|
91
|
+
|
|
92
|
+
<step name="find_existing_decimals">
|
|
93
|
+
Find existing decimal phases after the target phase:
|
|
94
|
+
|
|
95
|
+
1. Search for all "### Phase {after_phase}.N:" headings
|
|
96
|
+
2. Extract decimal suffixes (e.g., for Phase 72: find 72.1, 72.2, 72.3)
|
|
97
|
+
3. Find the highest decimal suffix
|
|
98
|
+
4. Calculate next decimal: max + 1
|
|
99
|
+
|
|
100
|
+
Examples:
|
|
101
|
+
|
|
102
|
+
- Phase 72 with no decimals → next is 72.1
|
|
103
|
+
- Phase 72 with 72.1 → next is 72.2
|
|
104
|
+
- Phase 72 with 72.1, 72.2 → next is 72.3
|
|
105
|
+
|
|
106
|
+
Store as: `decimal_phase="${after_phase}.${next_decimal}"`
|
|
107
|
+
</step>
|
|
108
|
+
|
|
109
|
+
<step name="generate_slug">
|
|
110
|
+
Convert the phase description to a kebab-case slug:
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
slug=$(echo "$description" | tr '[:upper:]' '[:lower:]' | sed 's/[^a-z0-9]/-/g' | sed 's/--*/-/g' | sed 's/^-//;s/-$//')
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
Phase directory name: `{decimal-phase}-{slug}`
|
|
117
|
+
Example: `72.1-fix-critical-auth-bug`
|
|
118
|
+
</step>
|
|
119
|
+
|
|
120
|
+
<step name="create_phase_directory">
|
|
121
|
+
Create the phase directory structure:
|
|
122
|
+
|
|
123
|
+
```bash
|
|
124
|
+
phase_dir=".planning/phases/${decimal_phase}-${slug}"
|
|
125
|
+
mkdir -p "$phase_dir"
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
Confirm: "Created directory: $phase_dir"
|
|
129
|
+
</step>
|
|
130
|
+
|
|
131
|
+
<step name="update_roadmap">
|
|
132
|
+
Insert the new phase entry into the roadmap:
|
|
133
|
+
|
|
134
|
+
1. Find insertion point: immediately after Phase {after_phase}'s content (before next phase heading or "---")
|
|
135
|
+
2. Insert new phase heading with (INSERTED) marker:
|
|
136
|
+
|
|
137
|
+
```
|
|
138
|
+
### Phase {decimal_phase}: {Description} (INSERTED)
|
|
139
|
+
|
|
140
|
+
**Goal:** [Urgent work - to be planned]
|
|
141
|
+
**Depends on:** Phase {after_phase}
|
|
142
|
+
**Plans:** 0 plans
|
|
143
|
+
|
|
144
|
+
Plans:
|
|
145
|
+
- [ ] TBD (run /gsd:plan-phase {decimal_phase} to break down)
|
|
146
|
+
|
|
147
|
+
**Details:**
|
|
148
|
+
[To be added during planning]
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
3. Write updated roadmap back to file
|
|
152
|
+
|
|
153
|
+
The "(INSERTED)" marker helps identify decimal phases as urgent insertions.
|
|
154
|
+
|
|
155
|
+
Preserve all other content exactly (formatting, spacing, other phases).
|
|
156
|
+
</step>
|
|
157
|
+
|
|
158
|
+
<step name="update_project_state">
|
|
159
|
+
Update STATE.md to reflect the inserted phase:
|
|
160
|
+
|
|
161
|
+
1. Read `.planning/STATE.md`
|
|
162
|
+
2. Under "## Accumulated Context" → "### Roadmap Evolution" add entry:
|
|
163
|
+
```
|
|
164
|
+
- Phase {decimal_phase} inserted after Phase {after_phase}: {description} (URGENT)
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
If "Roadmap Evolution" section doesn't exist, create it.
|
|
168
|
+
|
|
169
|
+
Add note about insertion reason if appropriate.
|
|
170
|
+
</step>
|
|
171
|
+
|
|
172
|
+
<step name="completion">
|
|
173
|
+
Present completion summary:
|
|
174
|
+
|
|
175
|
+
```
|
|
176
|
+
Phase {decimal_phase} inserted after Phase {after_phase}:
|
|
177
|
+
- Description: {description}
|
|
178
|
+
- Directory: .planning/phases/{decimal-phase}-{slug}/
|
|
179
|
+
- Status: Not planned yet
|
|
180
|
+
- Marker: (INSERTED) - indicates urgent work
|
|
181
|
+
|
|
182
|
+
Roadmap updated: {roadmap-path}
|
|
183
|
+
Project state updated: .planning/STATE.md
|
|
184
|
+
|
|
185
|
+
What's next?
|
|
186
|
+
1. Plan this phase: /gsd:plan-phase {decimal_phase}
|
|
187
|
+
2. Review insertion impact: Check if Phase {next_integer} dependencies still make sense
|
|
188
|
+
3. Review roadmap: cat .planning/ROADMAP.md
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
**If user selects option 1:**
|
|
192
|
+
Invoke SlashCommand("/gsd:plan-phase {decimal_phase}")
|
|
193
|
+
|
|
194
|
+
Note: Command is shown in option 1 above so user can see what will run.
|
|
195
|
+
</step>
|
|
196
|
+
|
|
197
|
+
</process>
|
|
198
|
+
|
|
199
|
+
<anti_patterns>
|
|
200
|
+
|
|
201
|
+
- Don't use this for planned work at end of milestone (use /gsd:add-phase)
|
|
202
|
+
- Don't insert before Phase 1 (decimal 0.1 makes no sense)
|
|
203
|
+
- Don't renumber existing phases
|
|
204
|
+
- Don't modify the target phase content
|
|
205
|
+
- Don't create plans yet (that's /gsd:plan-phase)
|
|
206
|
+
- Don't commit changes (user decides when to commit)
|
|
207
|
+
</anti_patterns>
|
|
208
|
+
|
|
209
|
+
<success_criteria>
|
|
210
|
+
Phase insertion is complete when:
|
|
211
|
+
|
|
212
|
+
- [ ] Phase directory created: `.planning/phases/{N.M}-{slug}/`
|
|
213
|
+
- [ ] Roadmap updated with new phase entry (includes "(INSERTED)" marker)
|
|
214
|
+
- [ ] Phase inserted in correct position (after target phase, before next integer phase)
|
|
215
|
+
- [ ] STATE.md updated with roadmap evolution note
|
|
216
|
+
- [ ] Decimal number calculated correctly (based on existing decimals)
|
|
217
|
+
- [ ] User informed of next steps and dependency implications
|
|
218
|
+
</success_criteria>
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Surface Claude's assumptions about a phase approach before planning
|
|
3
|
+
argument-hint: "[phase]"
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Bash
|
|
7
|
+
- Grep
|
|
8
|
+
- Glob
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
<objective>
|
|
12
|
+
Analyze a phase and present Claude's assumptions about technical approach, implementation order, scope boundaries, risk areas, and dependencies.
|
|
13
|
+
|
|
14
|
+
Purpose: Help users see what Claude thinks BEFORE planning begins - enabling course correction early when assumptions are wrong.
|
|
15
|
+
Output: Conversational output only (no file creation) - ends with "What do you think?" prompt
|
|
16
|
+
</objective>
|
|
17
|
+
|
|
18
|
+
<execution_context>
|
|
19
|
+
@~/.claude/get-shit-done/workflows/list-phase-assumptions.md
|
|
20
|
+
</execution_context>
|
|
21
|
+
|
|
22
|
+
<context>
|
|
23
|
+
Phase number: $ARGUMENTS (required)
|
|
24
|
+
|
|
25
|
+
**Load project state first:**
|
|
26
|
+
@.planning/STATE.md
|
|
27
|
+
|
|
28
|
+
**Load roadmap:**
|
|
29
|
+
@.planning/ROADMAP.md
|
|
30
|
+
</context>
|
|
31
|
+
|
|
32
|
+
<process>
|
|
33
|
+
1. Validate phase number argument (error if missing or invalid)
|
|
34
|
+
2. Check if phase exists in roadmap
|
|
35
|
+
3. Follow list-phase-assumptions.md workflow:
|
|
36
|
+
- Analyze roadmap description
|
|
37
|
+
- Surface assumptions about: technical approach, implementation order, scope, risks, dependencies
|
|
38
|
+
- Present assumptions clearly
|
|
39
|
+
- Prompt "What do you think?"
|
|
40
|
+
4. Gather feedback and offer next steps
|
|
41
|
+
</process>
|
|
42
|
+
|
|
43
|
+
<success_criteria>
|
|
44
|
+
|
|
45
|
+
- Phase validated against roadmap
|
|
46
|
+
- Assumptions surfaced across five areas
|
|
47
|
+
- User prompted for feedback
|
|
48
|
+
- User knows next steps (discuss context, plan phase, or correct assumptions)
|
|
49
|
+
</success_criteria>
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Create a new milestone with phases for an existing project
|
|
3
|
+
argument-hint: "[milestone name, e.g., 'v2.0 Features']"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<objective>
|
|
7
|
+
Create a new milestone for an existing project with defined phases.
|
|
8
|
+
|
|
9
|
+
Purpose: After completing a milestone (or when ready to define next chunk of work), creates the milestone structure in ROADMAP.md with phases, updates STATE.md, and creates phase directories.
|
|
10
|
+
Output: New milestone in ROADMAP.md, updated STATE.md, phase directories created
|
|
11
|
+
</objective>
|
|
12
|
+
|
|
13
|
+
<execution_context>
|
|
14
|
+
@~/.claude/get-shit-done/workflows/create-milestone.md
|
|
15
|
+
@~/.claude/get-shit-done/templates/roadmap.md
|
|
16
|
+
</execution_context>
|
|
17
|
+
|
|
18
|
+
<context>
|
|
19
|
+
Milestone name: $ARGUMENTS (optional - will prompt if not provided)
|
|
20
|
+
|
|
21
|
+
**Load project state first:**
|
|
22
|
+
@.planning/STATE.md
|
|
23
|
+
|
|
24
|
+
**Load roadmap:**
|
|
25
|
+
@.planning/ROADMAP.md
|
|
26
|
+
|
|
27
|
+
**Load milestones (if exists):**
|
|
28
|
+
@.planning/MILESTONES.md
|
|
29
|
+
</context>
|
|
30
|
+
|
|
31
|
+
<process>
|
|
32
|
+
1. Load project context (STATE.md, ROADMAP.md, MILESTONES.md)
|
|
33
|
+
2. Calculate next milestone version and starting phase number
|
|
34
|
+
3. If milestone name provided in arguments, use it; otherwise prompt
|
|
35
|
+
4. Gather phases (3-6 recommended):
|
|
36
|
+
- If called from /gsd:discuss-milestone, use provided context
|
|
37
|
+
- Otherwise, prompt for phase breakdown
|
|
38
|
+
5. Detect research needs for each phase
|
|
39
|
+
6. Confirm phases (respect config.json gate settings)
|
|
40
|
+
7. Follow create-milestone.md workflow:
|
|
41
|
+
- Update ROADMAP.md with new milestone section
|
|
42
|
+
- Create phase directories
|
|
43
|
+
- Update STATE.md for new milestone
|
|
44
|
+
- Git commit milestone creation
|
|
45
|
+
8. Offer next steps (discuss first phase, plan first phase, review)
|
|
46
|
+
</process>
|
|
47
|
+
|
|
48
|
+
<success_criteria>
|
|
49
|
+
|
|
50
|
+
- Next phase number calculated correctly (continues from previous milestone)
|
|
51
|
+
- 3-6 phases defined with clear names
|
|
52
|
+
- Research flags assigned for each phase
|
|
53
|
+
- ROADMAP.md updated with new milestone section
|
|
54
|
+
- Phase directories created
|
|
55
|
+
- STATE.md reset for new milestone
|
|
56
|
+
- Git commit made
|
|
57
|
+
- User knows next steps
|
|
58
|
+
</success_criteria>
|