get-shit-done-cc 1.2.5 → 1.2.7
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/commands/gsd/discuss-milestone.md +7 -5
- package/commands/gsd/discuss-phase.md +9 -7
- package/commands/gsd/new-project.md +38 -9
- package/get-shit-done/references/questioning.md +74 -29
- package/get-shit-done/workflows/discuss-milestone.md +21 -6
- package/get-shit-done/workflows/discuss-phase.md +32 -32
- package/package.json +1 -1
|
@@ -27,12 +27,14 @@ Output: Context gathered, then routes to /gsd:new-milestone
|
|
|
27
27
|
<process>
|
|
28
28
|
1. Verify previous milestone complete (or acknowledge active milestone)
|
|
29
29
|
2. Present context from previous milestone (accomplishments, phase count)
|
|
30
|
-
3. Follow discuss-milestone.md workflow
|
|
31
|
-
-
|
|
32
|
-
-
|
|
33
|
-
-
|
|
34
|
-
-
|
|
30
|
+
3. Follow discuss-milestone.md workflow with **ALL questions using AskUserQuestion**:
|
|
31
|
+
- Use AskUserQuestion: "What do you want to add, improve, or fix?" with feature categories
|
|
32
|
+
- Use AskUserQuestion to dig into features they mention
|
|
33
|
+
- Use AskUserQuestion to help them articulate what matters most
|
|
34
|
+
- Use AskUserQuestion for decision gate (ready / ask more / let me add context)
|
|
35
35
|
4. Hand off to /gsd:new-milestone with gathered context
|
|
36
|
+
|
|
37
|
+
**CRITICAL: ALL questions use AskUserQuestion. Never ask inline text questions.**
|
|
36
38
|
</process>
|
|
37
39
|
|
|
38
40
|
<success_criteria>
|
|
@@ -30,17 +30,19 @@ Phase number: $ARGUMENTS (required)
|
|
|
30
30
|
1. Validate phase number argument (error if missing or invalid)
|
|
31
31
|
2. Check if phase exists in roadmap
|
|
32
32
|
3. Check if CONTEXT.md already exists (offer to update if yes)
|
|
33
|
-
4. Follow discuss-phase.md workflow
|
|
33
|
+
4. Follow discuss-phase.md workflow with **ALL questions using AskUserQuestion**:
|
|
34
34
|
- Present phase from roadmap
|
|
35
|
-
-
|
|
36
|
-
-
|
|
37
|
-
-
|
|
38
|
-
-
|
|
39
|
-
-
|
|
35
|
+
- Use AskUserQuestion: "How do you imagine this working?" with interpretation options
|
|
36
|
+
- Use AskUserQuestion to follow their thread — probe what excites them
|
|
37
|
+
- Use AskUserQuestion to sharpen the core — what's essential for THIS phase
|
|
38
|
+
- Use AskUserQuestion to find boundaries — what's explicitly out of scope
|
|
39
|
+
- Use AskUserQuestion for decision gate (ready / ask more / let me add context)
|
|
40
40
|
- Create CONTEXT.md capturing their vision
|
|
41
41
|
5. Offer next steps (research or plan the phase)
|
|
42
42
|
|
|
43
|
-
CRITICAL
|
|
43
|
+
**CRITICAL: ALL questions use AskUserQuestion. Never ask inline text questions.**
|
|
44
|
+
|
|
45
|
+
User is the visionary, you are the builder:
|
|
44
46
|
- Ask about vision, feel, essential outcomes
|
|
45
47
|
- DON'T ask about technical risks (you figure those out)
|
|
46
48
|
- DON'T ask about codebase patterns (you read the code)
|
|
@@ -43,18 +43,46 @@ Silent setup - execute before any user output:
|
|
|
43
43
|
</step>
|
|
44
44
|
|
|
45
45
|
<step name="question">
|
|
46
|
-
|
|
46
|
+
**CRITICAL: ALL questions use AskUserQuestion. Never ask inline text questions.**
|
|
47
47
|
|
|
48
|
-
|
|
49
|
-
1. **Follow the thread** — dig into what they said, what excites them
|
|
50
|
-
2. **Sharpen the core** — essential vs nice-to-have
|
|
51
|
-
3. **Find boundaries** — what is it NOT
|
|
52
|
-
4. **Ground in reality** — only constraints that actually exist
|
|
48
|
+
**1. Open:**
|
|
53
49
|
|
|
54
|
-
|
|
50
|
+
Use AskUserQuestion:
|
|
51
|
+
- header: "Vision"
|
|
52
|
+
- question: "What do you want to build?"
|
|
53
|
+
- options: Contextual options if you have any hints, otherwise ["New app/tool", "Feature for existing project", "Let me describe it"]
|
|
54
|
+
|
|
55
|
+
**2. Follow the thread:**
|
|
55
56
|
|
|
56
|
-
|
|
57
|
+
Based on their response, use AskUserQuestion with options that probe what they mentioned:
|
|
58
|
+
- header: "[Topic they mentioned]"
|
|
59
|
+
- question: "You mentioned [X] — what would that look like?"
|
|
60
|
+
- options: 2-3 interpretations + "Something else"
|
|
57
61
|
|
|
62
|
+
**3. Sharpen the core:**
|
|
63
|
+
|
|
64
|
+
Use AskUserQuestion:
|
|
65
|
+
- header: "Core"
|
|
66
|
+
- question: "If you could only nail one thing, what would it be?"
|
|
67
|
+
- options: Key aspects they've mentioned + "All equally important" + "Something else"
|
|
68
|
+
|
|
69
|
+
**4. Find boundaries:**
|
|
70
|
+
|
|
71
|
+
Use AskUserQuestion:
|
|
72
|
+
- header: "Scope"
|
|
73
|
+
- question: "What's explicitly NOT in v1?"
|
|
74
|
+
- options: Things that might be tempting + "Nothing specific" + "Let me list them"
|
|
75
|
+
|
|
76
|
+
**5. Ground in reality:**
|
|
77
|
+
|
|
78
|
+
Use AskUserQuestion:
|
|
79
|
+
- header: "Constraints"
|
|
80
|
+
- question: "Any hard constraints?"
|
|
81
|
+
- options: Relevant constraint types + "None" + "Yes, let me explain"
|
|
82
|
+
|
|
83
|
+
**6. Decision gate:**
|
|
84
|
+
|
|
85
|
+
Use AskUserQuestion:
|
|
58
86
|
- header: "Ready?"
|
|
59
87
|
- question: "Ready to create PROJECT.md, or explore more?"
|
|
60
88
|
- options (ALL THREE REQUIRED):
|
|
@@ -62,7 +90,8 @@ When you feel you understand it, use AskUserQuestion:
|
|
|
62
90
|
- "Ask more questions" - I'll dig deeper
|
|
63
91
|
- "Let me add context" - You have more to share
|
|
64
92
|
|
|
65
|
-
If "Ask more questions" → check coverage gaps from `questioning.md` →
|
|
93
|
+
If "Ask more questions" → check coverage gaps from `questioning.md` → return to step 2.
|
|
94
|
+
If "Let me add context" → receive input via their response → return to step 2.
|
|
66
95
|
Loop until "Create PROJECT.md" selected.
|
|
67
96
|
</step>
|
|
68
97
|
|
|
@@ -9,68 +9,113 @@ The user often has a fuzzy idea. Your job is to help them sharpen it. Ask questi
|
|
|
9
9
|
Don't interrogate. Collaborate.
|
|
10
10
|
</philosophy>
|
|
11
11
|
|
|
12
|
+
<critical_rule>
|
|
13
|
+
**ALL questions MUST use AskUserQuestion.**
|
|
14
|
+
|
|
15
|
+
Never ask questions inline as plain text. Every exploration question uses the AskUserQuestion tool with thoughtful options that help the user articulate their vision.
|
|
16
|
+
|
|
17
|
+
This applies to:
|
|
18
|
+
- Opening questions ("What do you want to build?")
|
|
19
|
+
- Follow-up questions ("You mentioned X — what would that look like?")
|
|
20
|
+
- Sharpening questions ("What's essential vs nice-to-have?")
|
|
21
|
+
- Boundary questions ("What's out of scope?")
|
|
22
|
+
- Decision gates ("Ready to proceed?")
|
|
23
|
+
|
|
24
|
+
The AskUserQuestion format helps users think by presenting concrete options to react to, rather than facing a blank text field.
|
|
25
|
+
</critical_rule>
|
|
26
|
+
|
|
12
27
|
<conversation_arc>
|
|
13
|
-
**1. Open
|
|
28
|
+
**1. Open**
|
|
14
29
|
|
|
15
|
-
|
|
30
|
+
Use AskUserQuestion:
|
|
31
|
+
- header: "Vision"
|
|
32
|
+
- question: "What do you want to build?"
|
|
33
|
+
- options: Contextual starting points if available, otherwise broad categories + "Let me describe it"
|
|
34
|
+
|
|
35
|
+
Let them respond. Then follow up based on what they said.
|
|
16
36
|
|
|
17
37
|
**2. Follow the thread**
|
|
18
38
|
|
|
19
|
-
Whatever they said — dig into it. What excited them? What problem sparked this?
|
|
39
|
+
Whatever they said — dig into it. What excited them? What problem sparked this?
|
|
20
40
|
|
|
21
|
-
|
|
22
|
-
|
|
41
|
+
Use AskUserQuestion with options that probe what they mentioned:
|
|
42
|
+
- header: "[Topic they mentioned]"
|
|
43
|
+
- question: "You mentioned [X] — what would that actually look like?"
|
|
44
|
+
- options: 2-3 interpretations of what they might mean + "Something else"
|
|
23
45
|
|
|
24
46
|
**3. Sharpen the core**
|
|
25
47
|
|
|
26
48
|
Help them distinguish the essential from the nice-to-have.
|
|
27
49
|
|
|
28
|
-
|
|
29
|
-
|
|
50
|
+
Use AskUserQuestion:
|
|
51
|
+
- header: "Core"
|
|
52
|
+
- question: "If you could only nail one thing, what would it be?"
|
|
53
|
+
- options: Key features/aspects they've mentioned + "All equally important" + "Something else"
|
|
30
54
|
|
|
31
55
|
**4. Find the boundaries**
|
|
32
56
|
|
|
33
57
|
What is this NOT? Explicit exclusions prevent scope creep later.
|
|
34
58
|
|
|
35
|
-
|
|
36
|
-
|
|
59
|
+
Use AskUserQuestion:
|
|
60
|
+
- header: "Scope"
|
|
61
|
+
- question: "What's explicitly NOT in v1?"
|
|
62
|
+
- options: Things that might be tempting to include + "Nothing specific" + "Let me list them"
|
|
37
63
|
|
|
38
64
|
**5. Ground in reality**
|
|
39
65
|
|
|
40
66
|
Only ask about constraints that actually exist. Don't invent concerns.
|
|
41
67
|
|
|
42
|
-
|
|
43
|
-
|
|
68
|
+
Use AskUserQuestion:
|
|
69
|
+
- header: "Constraints"
|
|
70
|
+
- question: "Any hard constraints?"
|
|
71
|
+
- options: Common constraint types relevant to context + "None" + "Yes, let me explain"
|
|
44
72
|
</conversation_arc>
|
|
45
73
|
|
|
46
74
|
<good_vs_bad>
|
|
47
|
-
**BAD —
|
|
48
|
-
- "What is your target audience?"
|
|
49
|
-
- "
|
|
75
|
+
**BAD — Inline text questions:**
|
|
76
|
+
- Asking "What is your target audience?" as plain text
|
|
77
|
+
- Free-form "Tell me more about X" without options
|
|
78
|
+
- Any question that leaves the user staring at a blank input
|
|
79
|
+
|
|
80
|
+
**GOOD — AskUserQuestion with options:**
|
|
81
|
+
- header: "Audience"
|
|
82
|
+
- question: "Who is this for?"
|
|
83
|
+
- options: ["Just me", "My team", "Public users", "Let me describe"]
|
|
84
|
+
|
|
85
|
+
**BAD — Corporate speak:**
|
|
86
|
+
- "What are your success criteria?"
|
|
87
|
+
- "What's your budget?"
|
|
50
88
|
- "Have you done X before?" (irrelevant — Claude builds)
|
|
51
|
-
- "What's your budget?" (asked before understanding the idea)
|
|
52
89
|
|
|
53
|
-
**GOOD —
|
|
54
|
-
-
|
|
55
|
-
- "
|
|
56
|
-
- "
|
|
57
|
-
- "Is [Y] essential or just how you're imagining it currently?"
|
|
90
|
+
**GOOD — Concrete options that help them think:**
|
|
91
|
+
- header: "Done"
|
|
92
|
+
- question: "How will you know this is working?"
|
|
93
|
+
- options: ["I'm using it daily", "Specific metric improves", "Replaces current workflow", "Let me describe"]
|
|
58
94
|
|
|
59
95
|
**BAD — Checklist walking:**
|
|
60
96
|
- Ask about audience → ask about constraints → ask about tech stack (regardless of what user said)
|
|
61
97
|
|
|
62
|
-
**GOOD — Following threads:**
|
|
63
|
-
- User mentions frustration
|
|
98
|
+
**GOOD — Following threads with targeted options:**
|
|
99
|
+
- User mentions frustration → AskUserQuestion with specific frustration interpretations as options → their selection reveals the core value prop
|
|
64
100
|
</good_vs_bad>
|
|
65
101
|
|
|
66
102
|
<probing_techniques>
|
|
67
|
-
When answers are vague, don't accept them. Probe:
|
|
68
|
-
|
|
69
|
-
**"Make it good" →
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
103
|
+
When answers are vague, don't accept them. Probe with AskUserQuestion:
|
|
104
|
+
|
|
105
|
+
**"Make it good"** →
|
|
106
|
+
- header: "Good"
|
|
107
|
+
- question: "What does 'good' mean here?"
|
|
108
|
+
- options: ["Fast", "Beautiful", "Simple", "Reliable", "Let me describe"]
|
|
109
|
+
|
|
110
|
+
**"Users"** →
|
|
111
|
+
- header: "Users"
|
|
112
|
+
- question: "Which users?"
|
|
113
|
+
- options: ["Just me", "My team", "Specific type of person", "Let me describe"]
|
|
114
|
+
|
|
115
|
+
**"It should be easy to use"** →
|
|
116
|
+
- header: "Easy"
|
|
117
|
+
- question: "Easy how?"
|
|
118
|
+
- options: ["Fewer clicks", "No learning curve", "Works on mobile", "Let me describe"]
|
|
74
119
|
|
|
75
120
|
Specifics are everything. Vague in = vague out.
|
|
76
121
|
</probing_techniques>
|
|
@@ -49,6 +49,8 @@ Continue to intake_gate.
|
|
|
49
49
|
</step>
|
|
50
50
|
|
|
51
51
|
<step name="intake_gate">
|
|
52
|
+
**CRITICAL: ALL questions use AskUserQuestion. Never ask inline text questions.**
|
|
53
|
+
|
|
52
54
|
The primary question is: **What do you want to build/add/fix?**
|
|
53
55
|
|
|
54
56
|
Everything else (scope, priority, constraints) is secondary and derived from features.
|
|
@@ -58,11 +60,16 @@ Check for inputs:
|
|
|
58
60
|
- Known gaps or pain points from usage
|
|
59
61
|
- User's ideas for what's next
|
|
60
62
|
|
|
61
|
-
|
|
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: [Deferred issues from STATE.md if any] + ["New features", "Improvements to existing", "Bug fixes", "Let me describe"]
|
|
62
69
|
|
|
63
|
-
|
|
70
|
+
**2. Explore features:**
|
|
64
71
|
|
|
65
|
-
|
|
72
|
+
Based on their response, use AskUserQuestion:
|
|
66
73
|
|
|
67
74
|
If they named specific features:
|
|
68
75
|
- header: "Feature Details"
|
|
@@ -79,6 +86,13 @@ If they're not sure:
|
|
|
79
86
|
- question: "What's been frustrating or missing?"
|
|
80
87
|
- options: [Deferred issues from STATE.md + pain point categories + "Let me think about it"]
|
|
81
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
|
+
|
|
82
96
|
After gathering features, synthesize:
|
|
83
97
|
|
|
84
98
|
```
|
|
@@ -93,8 +107,9 @@ Based on what you described:
|
|
|
93
107
|
**Theme suggestion:** v[X.Y] [Name]
|
|
94
108
|
```
|
|
95
109
|
|
|
96
|
-
|
|
110
|
+
**4. Decision gate:**
|
|
97
111
|
|
|
112
|
+
Use AskUserQuestion:
|
|
98
113
|
- header: "Ready?"
|
|
99
114
|
- question: "Ready to create the milestone, or explore more?"
|
|
100
115
|
- options (ALL THREE REQUIRED):
|
|
@@ -102,8 +117,8 @@ Use AskUserQuestion for decision gate:
|
|
|
102
117
|
- "Ask more questions" - Help me think through this more
|
|
103
118
|
- "Let me add context" - I have more to share
|
|
104
119
|
|
|
105
|
-
If "Ask more questions" →
|
|
106
|
-
If "Let me add context" → receive input
|
|
120
|
+
If "Ask more questions" → return to step 2 with new probes.
|
|
121
|
+
If "Let me add context" → receive input → return to step 2.
|
|
107
122
|
Loop until "Create milestone" selected.
|
|
108
123
|
</step>
|
|
109
124
|
|
|
@@ -88,60 +88,60 @@ Continue to questioning.
|
|
|
88
88
|
</step>
|
|
89
89
|
|
|
90
90
|
<step name="questioning">
|
|
91
|
-
|
|
91
|
+
**CRITICAL: ALL questions use AskUserQuestion. Never ask inline text questions.**
|
|
92
|
+
|
|
93
|
+
Present initial context from roadmap, then immediately use AskUserQuestion:
|
|
92
94
|
|
|
93
95
|
```
|
|
94
96
|
Phase ${PHASE}: ${PHASE_NAME}
|
|
95
97
|
|
|
96
98
|
From the roadmap: ${PHASE_DESCRIPTION}
|
|
97
|
-
|
|
98
|
-
How do you imagine this working?
|
|
99
99
|
```
|
|
100
100
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
Then follow the conversation arc:
|
|
104
|
-
|
|
105
|
-
**1. Follow the thread**
|
|
106
|
-
|
|
107
|
-
Whatever they said — dig into it. What excites them? What matters most?
|
|
108
|
-
|
|
109
|
-
- "You mentioned [X] — what would that actually look like?"
|
|
110
|
-
- "When you imagine using this, what happens?"
|
|
111
|
-
- "Tell me more about [specific thing they mentioned]"
|
|
101
|
+
**1. Open:**
|
|
112
102
|
|
|
113
|
-
|
|
103
|
+
Use AskUserQuestion:
|
|
104
|
+
- header: "Vision"
|
|
105
|
+
- question: "How do you imagine this working?"
|
|
106
|
+
- options: 2-3 interpretations based on the phase description + "Let me describe it"
|
|
114
107
|
|
|
115
|
-
|
|
108
|
+
**2. Follow the thread:**
|
|
116
109
|
|
|
117
|
-
|
|
118
|
-
- "
|
|
119
|
-
- "
|
|
110
|
+
Based on their response, use AskUserQuestion:
|
|
111
|
+
- header: "[Topic they mentioned]"
|
|
112
|
+
- question: "You mentioned [X] — what would that look like?"
|
|
113
|
+
- options: 2-3 interpretations + "Something else"
|
|
120
114
|
|
|
121
|
-
**3.
|
|
115
|
+
**3. Sharpen the core:**
|
|
122
116
|
|
|
123
|
-
|
|
117
|
+
Use AskUserQuestion:
|
|
118
|
+
- header: "Essential"
|
|
119
|
+
- question: "What's the most important part of this phase?"
|
|
120
|
+
- options: Key aspects they've mentioned + "All equally important" + "Something else"
|
|
124
121
|
|
|
125
|
-
|
|
126
|
-
- "Where does this phase end and the next begin?"
|
|
122
|
+
**4. Find boundaries:**
|
|
127
123
|
|
|
128
|
-
|
|
124
|
+
Use AskUserQuestion:
|
|
125
|
+
- header: "Scope"
|
|
126
|
+
- question: "What's explicitly out of scope for this phase?"
|
|
127
|
+
- options: Things that might be tempting + "Nothing specific" + "Let me list them"
|
|
129
128
|
|
|
130
|
-
|
|
129
|
+
**5. Capture specifics (optional):**
|
|
131
130
|
|
|
132
|
-
|
|
133
|
-
-
|
|
131
|
+
If they seem to have specific ideas, use AskUserQuestion:
|
|
132
|
+
- header: "Specifics"
|
|
133
|
+
- question: "Any particular look/feel/behavior in mind?"
|
|
134
|
+
- options: Contextual options based on what they've said + "No specifics" + "Let me describe"
|
|
134
135
|
|
|
135
136
|
CRITICAL — What NOT to ask:
|
|
136
137
|
- Technical risks (you figure those out)
|
|
137
138
|
- Codebase patterns (you read the code)
|
|
138
139
|
- Success metrics (too corporate)
|
|
139
140
|
- Constraints they didn't mention (don't interrogate)
|
|
140
|
-
- "What could go wrong?" (your job to identify)
|
|
141
|
-
- "What existing code should I follow?" (you read the code)
|
|
142
141
|
|
|
143
|
-
|
|
142
|
+
**6. Decision gate:**
|
|
144
143
|
|
|
144
|
+
Use AskUserQuestion:
|
|
145
145
|
- header: "Ready?"
|
|
146
146
|
- question: "Ready to capture this context, or explore more?"
|
|
147
147
|
- options (ALL THREE REQUIRED):
|
|
@@ -149,8 +149,8 @@ When you feel you understand their vision, use AskUserQuestion:
|
|
|
149
149
|
- "Ask more questions" - Help me think through this more
|
|
150
150
|
- "Let me add context" - I have more to share
|
|
151
151
|
|
|
152
|
-
If "Ask more questions" →
|
|
153
|
-
If "Let me add context" → receive input → return to
|
|
152
|
+
If "Ask more questions" → return to step 2 with new probes.
|
|
153
|
+
If "Let me add context" → receive input → return to step 2.
|
|
154
154
|
Loop until "Create CONTEXT.md" selected.
|
|
155
155
|
</step>
|
|
156
156
|
|
package/package.json
CHANGED