get-shit-done-cc 1.4.28 → 1.5.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.
@@ -12,7 +12,9 @@ allowed-tools:
12
12
  <objective>
13
13
  Create project roadmap with phase breakdown.
14
14
 
15
- Roadmaps define what work happens in what order. Run after /gsd:new-project.
15
+ Roadmaps define what work happens in what order. Phases map to requirements.
16
+
17
+ Run after `/gsd:define-requirements`.
16
18
  </objective>
17
19
 
18
20
  <execution_context>
@@ -24,6 +26,8 @@ Roadmaps define what work happens in what order. Run after /gsd:new-project.
24
26
  <context>
25
27
  @.planning/PROJECT.md
26
28
  @.planning/config.json
29
+ @.planning/REQUIREMENTS.md
30
+ @.planning/research/SUMMARY.md (if exists)
27
31
  </context>
28
32
 
29
33
  <process>
@@ -32,6 +36,9 @@ Roadmaps define what work happens in what order. Run after /gsd:new-project.
32
36
  ```bash
33
37
  # Verify project exists
34
38
  [ -f .planning/PROJECT.md ] || { echo "ERROR: No PROJECT.md found. Run /gsd:new-project first."; exit 1; }
39
+
40
+ # Verify requirements exist
41
+ [ -f .planning/REQUIREMENTS.md ] || { echo "ERROR: No REQUIREMENTS.md found. Run /gsd:define-requirements first."; exit 1; }
35
42
  ```
36
43
  </step>
37
44
 
@@ -60,12 +67,15 @@ If "Replace": Continue with workflow
60
67
  Follow the create-roadmap.md workflow starting from detect_domain step.
61
68
 
62
69
  The workflow handles:
70
+ - Loading requirements
63
71
  - Domain expertise detection
64
- - Phase identification
72
+ - Phase identification mapped to requirements
73
+ - Requirement coverage validation (no orphaned requirements)
65
74
  - Research flags for each phase
66
75
  - Confirmation gates (respecting config mode)
67
- - ROADMAP.md creation
76
+ - ROADMAP.md creation with requirement mappings
68
77
  - STATE.md initialization
78
+ - REQUIREMENTS.md traceability update
69
79
  - Phase directory creation
70
80
  - Git commit
71
81
  </step>
@@ -108,8 +118,11 @@ Roadmap created:
108
118
 
109
119
  <success_criteria>
110
120
  - [ ] PROJECT.md validated
111
- - [ ] ROADMAP.md created with phases
121
+ - [ ] REQUIREMENTS.md validated
122
+ - [ ] All v1 requirements mapped to phases (no orphans)
123
+ - [ ] ROADMAP.md created with phases and requirement mappings
112
124
  - [ ] STATE.md initialized
125
+ - [ ] REQUIREMENTS.md traceability section updated
113
126
  - [ ] Phase directories created
114
127
  - [ ] Changes committed
115
128
  </success_criteria>
@@ -0,0 +1,110 @@
1
+ ---
2
+ name: gsd:define-requirements
3
+ description: Define what "done" looks like with checkable requirements
4
+ allowed-tools:
5
+ - Read
6
+ - Write
7
+ - Bash
8
+ - Glob
9
+ - AskUserQuestion
10
+ ---
11
+
12
+ <objective>
13
+ Define concrete, checkable requirements from research findings.
14
+
15
+ Research answers "what do products like this have?"
16
+ Requirements answers "what are WE building?"
17
+
18
+ Transforms research features into scoped v1/v2 requirements that roadmap phases map to.
19
+
20
+ Run after `/gsd:research-project`, before `/gsd:create-roadmap`.
21
+
22
+ Output: `.planning/REQUIREMENTS.md`
23
+ </objective>
24
+
25
+ <execution_context>
26
+ @~/.claude/get-shit-done/workflows/define-requirements.md
27
+ @~/.claude/get-shit-done/templates/requirements.md
28
+ </execution_context>
29
+
30
+ <context>
31
+ @.planning/PROJECT.md
32
+ @.planning/research/FEATURES.md (required)
33
+ @.planning/research/SUMMARY.md
34
+ </context>
35
+
36
+ <process>
37
+
38
+ <step name="validate">
39
+ ```bash
40
+ # Verify project exists
41
+ [ -f .planning/PROJECT.md ] || { echo "ERROR: No PROJECT.md found. Run /gsd:new-project first."; exit 1; }
42
+
43
+ # Verify research exists
44
+ [ -f .planning/research/FEATURES.md ] || { echo "ERROR: No research found. Run /gsd:research-project first."; exit 1; }
45
+
46
+ # Check if requirements already exist
47
+ [ -f .planning/REQUIREMENTS.md ] && echo "REQUIREMENTS_EXISTS" || echo "NO_REQUIREMENTS"
48
+ ```
49
+ </step>
50
+
51
+ <step name="check_existing">
52
+ **If REQUIREMENTS_EXISTS:**
53
+
54
+ Use AskUserQuestion:
55
+ - header: "Requirements exist"
56
+ - question: "Requirements already defined. What would you like to do?"
57
+ - options:
58
+ - "View existing" — Show current requirements
59
+ - "Replace" — Define requirements fresh (will overwrite)
60
+ - "Cancel" — Keep existing requirements
61
+
62
+ If "View existing": Read and display `.planning/REQUIREMENTS.md`, then exit
63
+ If "Cancel": Exit
64
+ If "Replace": Continue with workflow
65
+ </step>
66
+
67
+ <step name="execute">
68
+ Follow the define-requirements.md workflow:
69
+ - Load research features
70
+ - Present features by category
71
+ - Ask user to scope each category (v1 / v2 / out of scope)
72
+ - Capture any additions research missed
73
+ - Generate REQUIREMENTS.md with checkable list
74
+ </step>
75
+
76
+ <step name="done">
77
+ ```
78
+ Requirements defined:
79
+
80
+ - Requirements: .planning/REQUIREMENTS.md
81
+ - v1 scope: [N] requirements across [M] categories
82
+ - v2 scope: [X] requirements deferred
83
+ - Out of scope: [Y] requirements excluded
84
+
85
+ ---
86
+
87
+ ## ▶ Next Up
88
+
89
+ **Create roadmap** — phases mapped to requirements
90
+
91
+ `/gsd:create-roadmap`
92
+
93
+ <sub>`/clear` first → fresh context window</sub>
94
+
95
+ ---
96
+ ```
97
+ </step>
98
+
99
+ </process>
100
+
101
+ <success_criteria>
102
+ - [ ] PROJECT.md validated
103
+ - [ ] Research FEATURES.md loaded
104
+ - [ ] Features presented by category
105
+ - [ ] User scoped each category (v1/v2/out of scope)
106
+ - [ ] User had opportunity to add missing requirements
107
+ - [ ] REQUIREMENTS.md created with checkable list
108
+ - [ ] Requirements committed to git
109
+ - [ ] User knows next step (create-roadmap)
110
+ </success_criteria>
@@ -12,7 +12,7 @@ allowed-tools:
12
12
 
13
13
  Initialize a new project through comprehensive context gathering.
14
14
 
15
- This is the most leveraged moment in any project. Deep questioning here means better plans, better execution, better outcomes.
15
+ This is the most leveraged moment in any project. Deep questioning here means better plans, better execution, better outcomes. The quality of PROJECT.md determines the quality of everything downstream.
16
16
 
17
17
  Creates `.planning/` with PROJECT.md and config.json.
18
18
 
@@ -90,52 +90,48 @@ Exit command.
90
90
 
91
91
  <step name="question">
92
92
 
93
- **1. Open (FREEFORM — do NOT use AskUserQuestion):**
93
+ **Open the conversation:**
94
94
 
95
- Ask inline: "What do you want to build?"
95
+ Ask inline (freeform, NOT AskUserQuestion):
96
96
 
97
- Wait for their freeform response. This gives you the context needed to ask intelligent follow-up questions.
97
+ "What do you want to build?"
98
98
 
99
- **2. Follow the thread (NOW use AskUserQuestion):**
99
+ Wait for their response. This gives you the context needed to ask intelligent follow-up questions.
100
100
 
101
- Based on their response, use AskUserQuestion with options that probe what they mentioned:
102
- - header: "[Topic they mentioned]"
103
- - question: "You mentioned [X] — what would that look like?"
104
- - options: 2-3 interpretations + "Something else"
101
+ **Follow the thread:**
105
102
 
106
- **3. Sharpen the core:**
103
+ Based on what they said, ask follow-up questions that dig into their response. Use AskUserQuestion with options that probe what they mentioned — interpretations, clarifications, concrete examples.
107
104
 
108
- Use AskUserQuestion:
109
- - header: "Core"
110
- - question: "If you could only nail one thing, what would it be?"
111
- - options: Key aspects they've mentioned + "All equally important" + "Something else"
105
+ Keep following threads. Each answer opens new threads to explore. Ask about:
106
+ - What excited them
107
+ - What problem sparked this
108
+ - What they mean by vague terms
109
+ - What it would actually look like
110
+ - What's already decided
112
111
 
113
- **4. Find boundaries:**
112
+ Consult `questioning.md` for techniques:
113
+ - Challenge vagueness
114
+ - Make abstract concrete
115
+ - Surface assumptions
116
+ - Find edges
117
+ - Reveal motivation
114
118
 
115
- Use AskUserQuestion:
116
- - header: "Scope"
117
- - question: "What's explicitly NOT in v1?"
118
- - options: Things that might be tempting + "Nothing specific" + "Let me list them"
119
+ **Check context (background, not out loud):**
119
120
 
120
- **5. Ground in reality:**
121
+ As you go, mentally check the context checklist from `questioning.md`. If gaps remain, weave questions naturally. Don't suddenly switch to checklist mode.
121
122
 
122
- Use AskUserQuestion:
123
- - header: "Constraints"
124
- - question: "Any hard constraints?"
125
- - options: Relevant constraint types + "None" + "Yes, let me explain"
123
+ **Decision gate:**
126
124
 
127
- **6. Decision gate:**
125
+ When you could write a clear PROJECT.md, use AskUserQuestion:
128
126
 
129
- Use AskUserQuestion:
130
127
  - header: "Ready?"
131
- - question: "Ready to create PROJECT.md, or explore more?"
132
- - options (ALL THREE REQUIRED):
133
- - "Create PROJECT.md" — Finalize and continue
134
- - "Ask more questions" — I'll dig deeper
135
- - "Let me add context" — You have more to share
136
-
137
- If "Ask more questions" → check coverage gaps from `questioning.md` → return to step 2.
138
- If "Let me add context" → receive input via their response → return to step 2.
128
+ - question: "I think I understand what you're after. Ready to create PROJECT.md?"
129
+ - options:
130
+ - "Create PROJECT.md" — Let's move forward
131
+ - "Keep exploring" — I want to share more / ask me more
132
+
133
+ If "Keep exploring" — ask what they want to add, or identify gaps and probe naturally.
134
+
139
135
  Loop until "Create PROJECT.md" selected.
140
136
 
141
137
  </step>
@@ -303,7 +299,15 @@ Project initialized:
303
299
 
304
300
  ## ▶ Next Up
305
301
 
306
- **[Project Name]** — create roadmap
302
+ Choose your path:
303
+
304
+ **Option A: Research first** (recommended for new domains)
305
+ Research the ecosystem before creating roadmap. Discovers standard stacks, expected features, architecture patterns, and common pitfalls.
306
+
307
+ `/gsd:research-project`
308
+
309
+ **Option B: Create roadmap directly** (for familiar domains)
310
+ Skip research if you know this domain well or have a clear spec.
307
311
 
308
312
  `/gsd:create-roadmap`
309
313
 
@@ -325,7 +329,7 @@ Project initialized:
325
329
 
326
330
  <success_criteria>
327
331
 
328
- - [ ] Deep questioning completed (not rushed)
332
+ - [ ] Deep questioning completed (not rushed, threads followed)
329
333
  - [ ] PROJECT.md captures full context with evolutionary structure
330
334
  - [ ] Requirements initialized as hypotheses (greenfield) or with inferred Validated (brownfield)
331
335
  - [ ] Key Decisions table initialized
@@ -0,0 +1,136 @@
1
+ ---
2
+ name: gsd:research-project
3
+ description: Research domain ecosystem before creating roadmap
4
+ allowed-tools:
5
+ - Read
6
+ - Write
7
+ - Bash
8
+ - Glob
9
+ - Grep
10
+ - Task
11
+ - WebFetch
12
+ - WebSearch
13
+ - mcp__context7__*
14
+ ---
15
+
16
+ <objective>
17
+ Comprehensive domain research before roadmap creation.
18
+
19
+ Answers the questions that inform quality roadmaps:
20
+ - What's the standard stack for this type of product?
21
+ - What features do users expect?
22
+ - How are these systems typically structured?
23
+ - What do projects in this domain commonly get wrong?
24
+
25
+ Run after `/gsd:new-project`, before `/gsd:define-requirements`.
26
+
27
+ Output: `.planning/research/` folder with ecosystem knowledge.
28
+ </objective>
29
+
30
+ <execution_context>
31
+ @~/.claude/get-shit-done/workflows/research-project.md
32
+ @~/.claude/get-shit-done/templates/research-project/SUMMARY.md
33
+ @~/.claude/get-shit-done/templates/research-project/STACK.md
34
+ @~/.claude/get-shit-done/templates/research-project/FEATURES.md
35
+ @~/.claude/get-shit-done/templates/research-project/ARCHITECTURE.md
36
+ @~/.claude/get-shit-done/templates/research-project/PITFALLS.md
37
+ </execution_context>
38
+
39
+ <context>
40
+ @.planning/PROJECT.md
41
+ @.planning/config.json (if exists)
42
+ </context>
43
+
44
+ <process>
45
+
46
+ <step name="validate">
47
+ ```bash
48
+ # Verify project exists
49
+ [ -f .planning/PROJECT.md ] || { echo "ERROR: No PROJECT.md found. Run /gsd:new-project first."; exit 1; }
50
+
51
+ # Check if roadmap already exists
52
+ [ -f .planning/ROADMAP.md ] && echo "WARNING: ROADMAP.md already exists. Research is typically done before roadmap creation."
53
+
54
+ # Check if research already exists
55
+ [ -d .planning/research ] && echo "RESEARCH_EXISTS" || echo "NO_RESEARCH"
56
+ ```
57
+ </step>
58
+
59
+ <step name="check_existing">
60
+ **If RESEARCH_EXISTS:**
61
+
62
+ Use AskUserQuestion:
63
+ - header: "Research exists"
64
+ - question: "Research folder already exists. What would you like to do?"
65
+ - options:
66
+ - "View existing" — Show current research summary
67
+ - "Replace" — Run fresh research (will overwrite)
68
+ - "Cancel" — Keep existing research
69
+
70
+ If "View existing": Read and display `.planning/research/SUMMARY.md`, then exit
71
+ If "Cancel": Exit
72
+ If "Replace": Continue with workflow
73
+ </step>
74
+
75
+ <step name="execute_research">
76
+ Follow the research-project.md workflow:
77
+ - Analyze PROJECT.md to determine domain
78
+ - Identify research questions based on domain
79
+ - Spawn parallel research agents
80
+ - Aggregate results into `.planning/research/`
81
+ - Create SUMMARY.md with roadmap implications
82
+ </step>
83
+
84
+ <step name="done">
85
+ ```
86
+ Research complete:
87
+
88
+ - Summary: .planning/research/SUMMARY.md
89
+ - Stack: .planning/research/STACK.md
90
+ - Features: .planning/research/FEATURES.md
91
+ - Architecture: .planning/research/ARCHITECTURE.md
92
+ - Pitfalls: .planning/research/PITFALLS.md
93
+
94
+ ---
95
+
96
+ ## ▶ Next Up
97
+
98
+ **Define requirements** — scope your v1 from research findings
99
+
100
+ `/gsd:define-requirements`
101
+
102
+ <sub>`/clear` first → fresh context window</sub>
103
+
104
+ **Flow:** research-project → **define-requirements** → create-roadmap
105
+
106
+ ---
107
+ ```
108
+ </step>
109
+
110
+ </process>
111
+
112
+ <when_to_use>
113
+ **Use research-project for:**
114
+ - Greenfield projects in established domains (community, e-commerce, SaaS)
115
+ - When "what features should exist" is partially unknown
116
+ - Complex integrations requiring ecosystem knowledge
117
+ - Domains where best practices matter (auth, payments, real-time)
118
+ - Any project where you'd Google "how to build a [X]" before starting
119
+
120
+ **Skip research-project for:**
121
+ - Well-defined specs ("build exactly this API")
122
+ - Simple tools/utilities with clear scope
123
+ - Adding features to existing codebases (use research-phase instead)
124
+ - Domains you've built in many times before
125
+ </when_to_use>
126
+
127
+ <success_criteria>
128
+ - [ ] PROJECT.md validated
129
+ - [ ] Domain identified from project description
130
+ - [ ] Research questions determined and approved
131
+ - [ ] Parallel research agents spawned
132
+ - [ ] All research documents created in .planning/research/
133
+ - [ ] SUMMARY.md includes roadmap implications
134
+ - [ ] Research committed to git
135
+ - [ ] User knows next step (define-requirements)
136
+ </success_criteria>