get-shit-done-cc 1.5.30 → 1.6.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.
@@ -1,330 +0,0 @@
1
- <purpose>
2
- Define concrete, checkable requirements for v1.
3
-
4
- Two modes:
5
- 1. **With research** — Transform FEATURES.md into scoped requirements
6
- 2. **Without research** — Gather requirements through questioning
7
-
8
- This is the bridge between "what's possible/wanted" and "what we're committing to."
9
- </purpose>
10
-
11
- <required_reading>
12
- **Read these files NOW:**
13
-
14
- 1. ~/.claude/get-shit-done/templates/requirements.md
15
- 2. .planning/PROJECT.md
16
- 3. .planning/research/FEATURES.md (if exists)
17
- 4. .planning/research/SUMMARY.md (if exists)
18
- </required_reading>
19
-
20
- <process>
21
-
22
- <step name="detect_mode">
23
- Check for research:
24
- ```bash
25
- [ -f .planning/research/FEATURES.md ] && echo "HAS_RESEARCH" || echo "NO_RESEARCH"
26
- ```
27
-
28
- **If HAS_RESEARCH:** Follow steps load_context → present_features → scope_categories
29
- **If NO_RESEARCH:** Follow steps load_project → gather_requirements → scope_categories
30
- </step>
31
-
32
- <step name="load_context" mode="with_research">
33
- Read PROJECT.md and extract:
34
- - Core value (the ONE thing that must work)
35
- - Stated constraints (budget, timeline, tech limitations)
36
- - Any explicit scope boundaries from project definition
37
-
38
- Read research/FEATURES.md and extract:
39
- - Table stakes (users expect these)
40
- - Differentiators (competitive advantage)
41
- - Anti-features (commonly requested, often problematic)
42
- - Feature dependencies
43
- - MVP vs full product recommendations
44
-
45
- Read research/SUMMARY.md for:
46
- - Overall confidence level
47
- - Key architectural constraints
48
- - Suggested phase structure (informational only)
49
- </step>
50
-
51
- <step name="load_project" mode="without_research">
52
- Read PROJECT.md and extract:
53
- - Core value (the ONE thing that must work)
54
- - Stated constraints (budget, timeline, tech limitations)
55
- - Any explicit scope boundaries from project definition
56
- - Any requirements already mentioned in PROJECT.md
57
- </step>
58
-
59
- <step name="gather_requirements" mode="without_research">
60
- Since no research exists, gather requirements through conversation.
61
-
62
- **Start with core value:**
63
- ```
64
- Based on PROJECT.md, the core value is: "[core value]"
65
-
66
- What are the main things users need to be able to do?
67
- ```
68
-
69
- Wait for response. For each capability mentioned:
70
- - Ask clarifying questions to make it specific
71
- - Probe for related capabilities they might need
72
- - Group naturally emerging categories
73
-
74
- **Example flow:**
75
- ```
76
- User: "Users need to create and share posts"
77
-
78
- You: "For posts, what should users be able to include?
79
- - Text only?
80
- - Images?
81
- - Links with previews?
82
-
83
- And for sharing — to a feed, or also direct to other users?"
84
- ```
85
-
86
- Build up a mental feature list organized by category.
87
-
88
- **When you have enough:**
89
- Present gathered features in same format as present_features step, then proceed to scope_categories.
90
- </step>
91
-
92
- <step name="present_features">
93
- Present features grouped by category (from research or gathered through questioning):
94
-
95
- ```
96
- Here are the features for [domain]:
97
-
98
- ## Authentication
99
- **Table stakes:**
100
- - Sign up with email/password
101
- - Email verification
102
- - Password reset
103
- - Session management
104
-
105
- **Differentiators:**
106
- - Magic link login
107
- - OAuth (Google, GitHub)
108
- - 2FA
109
-
110
- **Research notes:** [any relevant notes from FEATURES.md]
111
-
112
- ---
113
-
114
- ## [Next Category]
115
- ...
116
- ```
117
-
118
- For each category, include:
119
- - Table stakes from FEATURES.md
120
- - Differentiators from FEATURES.md
121
- - Any anti-features flagged (with warnings)
122
- - Complexity notes where relevant
123
- </step>
124
-
125
- <step name="scope_categories">
126
- For each category, use AskUserQuestion:
127
-
128
- - header: "[Category name]"
129
- - question: "Which [category] features are in v1?"
130
- - multiSelect: true
131
- - options:
132
- - "[Feature 1]" — [brief description or complexity note]
133
- - "[Feature 2]" — [brief description]
134
- - "[Feature 3]" — [brief description]
135
- - "None for v1" — Defer entire category
136
-
137
- Repeat for each category from research.
138
-
139
- **Track responses:**
140
- - Selected features → v1 requirements
141
- - Unselected table stakes → flag as v2 (users expect these)
142
- - Unselected differentiators → out of scope (unless user specifies v2)
143
- </step>
144
-
145
- <step name="identify_gaps">
146
- After scoping all researched categories, ask for additions:
147
-
148
- Use AskUserQuestion:
149
- - header: "Additions"
150
- - question: "Any requirements research missed? (Features specific to your vision)"
151
- - options:
152
- - "No, research covered it" — Proceed to generate
153
- - "Yes, let me add some" — Capture additional requirements
154
-
155
- **If "Yes":**
156
-
157
- Ask inline (freeform): "What additional requirements do you need?"
158
-
159
- Parse response into requirement format and add to v1 list.
160
- </step>
161
-
162
- <step name="validate_core_value">
163
- Cross-check requirements against Core Value from PROJECT.md:
164
-
165
- ```
166
- Core value: "[from PROJECT.md]"
167
-
168
- Requirements that directly support core value:
169
- - [requirement 1]
170
- - [requirement 2]
171
-
172
- ⚠️ Warning: Core value may not be fully covered by selected requirements.
173
- Missing coverage: [gap description]
174
- ```
175
-
176
- **If gap detected:**
177
-
178
- Use AskUserQuestion:
179
- - header: "Core value"
180
- - question: "Core value '[X]' may need additional requirements. Add coverage?"
181
- - options:
182
- - "Yes, suggest requirements" — Claude suggests, user confirms
183
- - "No, it's covered" — Proceed
184
- - "Adjust core value" — User provides updated core value
185
- </step>
186
-
187
- <step name="generate_requirements">
188
- Create `.planning/REQUIREMENTS.md` using template.
189
-
190
- **Structure:**
191
- - Header with project name and date
192
- - v1 Requirements grouped by category (checkboxes)
193
- - v2 Requirements (deferred, no checkboxes yet)
194
- - Out of Scope (explicit exclusions with reasoning)
195
- - Traceability section (empty, filled by create-roadmap)
196
-
197
- **Requirement format:**
198
- ```markdown
199
- ### [Category]
200
-
201
- - [ ] **[REQ-ID]**: [Requirement description]
202
- - [ ] **[REQ-ID]**: [Requirement description]
203
- ```
204
-
205
- **REQ-ID format:** `[CATEGORY]-[NUMBER]`
206
- - AUTH-01, AUTH-02
207
- - CONTENT-01, CONTENT-02
208
- - SOCIAL-01, SOCIAL-02
209
-
210
- IDs enable traceability from roadmap phases.
211
- </step>
212
-
213
- <step name="summarize">
214
- Present the FULL requirements list before committing — not counts, the actual requirements:
215
-
216
- ```
217
- ## v1 Requirements
218
-
219
- ### [Category 1]
220
- - [ ] **[REQ-ID]**: [Full requirement description]
221
- - [ ] **[REQ-ID]**: [Full requirement description]
222
- - [ ] **[REQ-ID]**: [Full requirement description]
223
-
224
- ### [Category 2]
225
- - [ ] **[REQ-ID]**: [Full requirement description]
226
- - [ ] **[REQ-ID]**: [Full requirement description]
227
-
228
- [... list ALL v1 requirements ...]
229
-
230
- ---
231
-
232
- ## v2 (Deferred)
233
-
234
- ### [Category]
235
- - [REQ-ID]: [Requirement description]
236
- - [REQ-ID]: [Requirement description]
237
-
238
- [... list ALL v2 requirements ...]
239
-
240
- ---
241
-
242
- ## Out of Scope
243
-
244
- - [Feature]: [reason]
245
- - [Feature]: [reason]
246
-
247
- [... list ALL exclusions ...]
248
-
249
- ---
250
-
251
- **Core Value:** [from PROJECT.md]
252
- **Alignment:** ✓ Covered / ⚠️ Gaps noted
253
-
254
- ---
255
-
256
- Does this capture what you're building? (yes / adjust)
257
- ```
258
-
259
- **Critical:** Show every single requirement. The user must see exactly what they're committing to. Counts are useless — list the actual items.
260
-
261
- If "adjust": Return to scope_categories or identify_gaps as appropriate.
262
- </step>
263
-
264
- <step name="git_commit">
265
- Commit requirements:
266
-
267
- ```bash
268
- git add .planning/REQUIREMENTS.md
269
- git commit -m "$(cat <<'EOF'
270
- docs: define v1 requirements
271
-
272
- [X] requirements across [N] categories.
273
- [Y] requirements deferred to v2.
274
-
275
- Core value: [from PROJECT.md]
276
- EOF
277
- )"
278
- ```
279
- </step>
280
-
281
- <step name="offer_next">
282
- ```
283
- Requirements defined:
284
-
285
- - Requirements: .planning/REQUIREMENTS.md
286
- - v1 scope: [X] requirements across [N] categories
287
- - v2 deferred: [Y] requirements
288
- - Out of scope: [Z] exclusions
289
-
290
- ---
291
-
292
- ## ▶ Next Up
293
-
294
- **Create roadmap** — phases mapped to requirements
295
-
296
- `/gsd:create-roadmap`
297
-
298
- <sub>`/clear` first → fresh context window</sub>
299
-
300
- ---
301
- ```
302
- </step>
303
-
304
- </process>
305
-
306
- <quality_criteria>
307
- **Good requirements:**
308
- - Specific and testable ("User can reset password via email link")
309
- - User-centric ("User can X" not "System does Y")
310
- - Atomic (one capability per requirement)
311
- - Independent where possible (minimal dependencies)
312
-
313
- **Bad requirements:**
314
- - Vague ("Handle authentication")
315
- - Technical implementation ("Use bcrypt for passwords")
316
- - Compound ("User can login and manage profile and change settings")
317
- - Dependent on unstated assumptions
318
- </quality_criteria>
319
-
320
- <success_criteria>
321
- - [ ] PROJECT.md core value extracted
322
- - [ ] Features gathered (from research OR conversation)
323
- - [ ] All categories presented to user
324
- - [ ] User scoped each category (v1/v2/out of scope)
325
- - [ ] User had opportunity to add requirements
326
- - [ ] Core value alignment validated
327
- - [ ] REQUIREMENTS.md created with REQ-IDs
328
- - [ ] v1, v2, and out of scope clearly separated
329
- - [ ] Requirements committed to git
330
- </success_criteria>
@@ -1,227 +0,0 @@
1
- <purpose>
2
- Help the user figure out what they want to build in the next milestone through collaborative thinking.
3
-
4
- You're a thinking partner helping them crystallize their vision for what's next. Features first — everything else (scope, phases) derives from what they want to build.
5
- </purpose>
6
-
7
- <process>
8
-
9
- <step name="check_state" priority="first">
10
- Load project state:
11
-
12
- ```bash
13
- cat .planning/STATE.md
14
- cat .planning/ROADMAP.md
15
- ```
16
-
17
- **If no active milestone (expected state after completing previous):**
18
- Continue to milestone_context.
19
-
20
- **If active milestone exists:**
21
-
22
- ```
23
- Current milestone in progress: v[X.Y] [Name]
24
- Phases [N]-[M], [P]% complete
25
-
26
- Did you want to:
27
- 1. Complete current milestone first (/gsd:complete-milestone)
28
- 2. Add phases to current milestone (/gsd:add-phase)
29
- 3. Continue anyway - discuss next milestone scope
30
-
31
- ```
32
-
33
- Wait for user response. If "Continue anyway", proceed to milestone_context.
34
- </step>
35
-
36
- <step name="milestone_context">
37
- Present context from previous milestone:
38
-
39
- ```
40
- Last completed: v[X.Y] [Name] (shipped [DATE])
41
- Key accomplishments:
42
- - [From MILESTONES.md or STATE.md]
43
-
44
- Total phases delivered: [N]
45
- Next phase number: [N+1]
46
- ```
47
-
48
- Continue to intake_gate.
49
- </step>
50
-
51
- <step name="intake_gate">
52
- **CRITICAL: ALL questions use AskUserQuestion. Never ask inline text questions.**
53
-
54
- The primary question is: **What do you want to build/add/fix?**
55
-
56
- Everything else (scope, priority, constraints) is secondary and derived from features.
57
-
58
- Check for inputs:
59
- - Pending todos from STATE.md (potential features)
60
- - Known gaps or pain points from usage
61
- - User's ideas for what's next
62
-
63
- **1. Open:**
64
-
65
- Use AskUserQuestion:
66
- - header: "Next"
67
- - question: "What do you want to add, improve, or fix in this milestone?"
68
- - options: [Pending todos from STATE.md if any] + ["New features", "Improvements to existing", "Bug fixes", "Let me describe"]
69
-
70
- **2. Explore features:**
71
-
72
- Based on their response, use AskUserQuestion:
73
-
74
- If they named specific features:
75
- - header: "Feature Details"
76
- - question: "Tell me more about [feature] - what should it do?"
77
- - options: [Contextual options based on feature type + "Let me describe it"]
78
-
79
- If they described a general direction:
80
- - header: "Breaking It Down"
81
- - question: "That could involve [A], [B], [C] - which matter most?"
82
- - options: [Specific sub-features + "All of them" + "Something else"]
83
-
84
- If they're not sure:
85
- - header: "Starting Points"
86
- - question: "What's been frustrating or missing?"
87
- - options: [Pending todos from STATE.md + pain point categories + "Let me think about it"]
88
-
89
- **3. Prioritize:**
90
-
91
- Use AskUserQuestion:
92
- - header: "Priority"
93
- - question: "Which of these matters most?"
94
- - options: [Features they mentioned + "All equally important" + "Let me prioritize"]
95
-
96
- After gathering features, synthesize:
97
-
98
- ```
99
- Based on what you described:
100
-
101
- **Features:**
102
- - [Feature 1]: [brief description]
103
- - [Feature 2]: [brief description]
104
- - [Feature 3]: [brief description]
105
-
106
- **Estimated scope:** [N] phases
107
- **Theme suggestion:** v[X.Y] [Name]
108
- ```
109
-
110
- **4. Decision gate:**
111
-
112
- Use AskUserQuestion:
113
- - header: "Ready?"
114
- - question: "Ready to create the milestone, or explore more?"
115
- - options (ALL THREE REQUIRED):
116
- - "Create milestone" - Proceed to /gsd:new-milestone
117
- - "Ask more questions" - Help me think through this more
118
- - "Let me add context" - I have more to share
119
-
120
- If "Ask more questions" → return to step 2 with new probes.
121
- If "Let me add context" → receive input → return to step 2.
122
- Loop until "Create milestone" selected.
123
- </step>
124
-
125
- <step name="write_context">
126
- Write milestone context to file for handoff.
127
-
128
- **File:** `.planning/MILESTONE-CONTEXT.md`
129
-
130
- Use template from ~/.claude/get-shit-done/templates/milestone-context.md
131
-
132
- Populate with:
133
- - Features identified during discussion
134
- - Suggested milestone name and theme
135
- - Estimated phase count
136
- - How features map to phases
137
- - Any constraints or scope boundaries mentioned
138
-
139
- ```bash
140
- # Write the context file
141
- cat > .planning/MILESTONE-CONTEXT.md << 'EOF'
142
- # Milestone Context
143
-
144
- **Generated:** [today's date]
145
- **Status:** Ready for /gsd:new-milestone
146
-
147
- <features>
148
- ## Features to Build
149
-
150
- - **[Feature 1]**: [description]
151
- - **[Feature 2]**: [description]
152
- - **[Feature 3]**: [description]
153
-
154
- </features>
155
-
156
- <scope>
157
- ## Scope
158
-
159
- **Suggested name:** v[X.Y] [Theme Name]
160
- **Estimated phases:** [N]
161
- **Focus:** [One sentence theme/focus]
162
-
163
- </scope>
164
-
165
-
166
- <constraints>
167
- ## Constraints
168
-
169
- - [Any constraints mentioned]
170
-
171
- </constraints>
172
-
173
- <notes>
174
- ## Additional Context
175
-
176
- [Anything else from discussion]
177
-
178
- </notes>
179
-
180
- ---
181
-
182
- *This file is temporary. It will be deleted after /gsd:new-milestone creates the milestone.*
183
- EOF
184
- ```
185
- </step>
186
-
187
- <step name="handoff">
188
- Present summary and hand off to create-milestone:
189
-
190
- ```
191
- Milestone scope defined:
192
-
193
- **Features:**
194
- - [Feature 1]: [description]
195
- - [Feature 2]: [description]
196
- - [Feature 3]: [description]
197
-
198
- **Suggested milestone:** v[X.Y] [Theme Name]
199
-
200
- Context saved to `.planning/MILESTONE-CONTEXT.md`
201
-
202
- ---
203
-
204
- ## ▶ Next Up
205
-
206
- **Create Milestone v[X.Y]** — [Theme Name]
207
-
208
- `/gsd:new-milestone`
209
-
210
- <sub>`/clear` first → fresh context window</sub>
211
-
212
- ---
213
- ```
214
- </step>
215
-
216
- </process>
217
-
218
- <success_criteria>
219
-
220
- - Project state loaded (STATE.md, MILESTONES.md)
221
- - Previous milestone context presented
222
- - **Features identified** - What to build/add/fix (the substance)
223
- - Features explored with clarifying questions
224
- - Scope synthesized from features (not asked abstractly)
225
- - **MILESTONE-CONTEXT.md created** with features and scope
226
- - Context handed off to /gsd:new-milestone
227
- </success_criteria>