gsd-cc 0.5.0 → 0.6.1
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/bin/install.js +1 -1
- package/package.json +1 -1
- package/skills/gsd/SKILL.md +6 -2
- package/skills/gsd/apply/SKILL.md +32 -12
- package/skills/gsd/ideate/SKILL.md +144 -0
package/bin/install.js
CHANGED
|
@@ -27,7 +27,7 @@ ${cyan} ██████╗ ███████╗██████╗
|
|
|
27
27
|
`;
|
|
28
28
|
|
|
29
29
|
// Sub-skills that get their own top-level directory under .claude/skills/
|
|
30
|
-
const SUB_SKILLS = ['apply', 'auto', 'config', 'discuss', 'help', 'plan', 'seed', 'status', 'tutorial', 'unify', 'update'];
|
|
30
|
+
const SUB_SKILLS = ['apply', 'auto', 'config', 'discuss', 'help', 'ideate', 'plan', 'seed', 'status', 'tutorial', 'unify', 'update'];
|
|
31
31
|
|
|
32
32
|
// Shared directories that go into gsd-cc-shared/
|
|
33
33
|
const SHARED_DIRS = ['checklists', 'prompts', 'templates'];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gsd-cc",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.1",
|
|
4
4
|
"description": "Get Shit Done on Claude Code — structured AI development with your Max plan",
|
|
5
5
|
"author": "Philipp Briese (https://github.com/0ui-labs)",
|
|
6
6
|
"homepage": "https://github.com/0ui-labs/GSD-CC#readme",
|
package/skills/gsd/SKILL.md
CHANGED
|
@@ -50,8 +50,11 @@ IF .gsd/auto.lock exists:
|
|
|
50
50
|
### No Project
|
|
51
51
|
```
|
|
52
52
|
IF .gsd/ does not exist:
|
|
53
|
-
→
|
|
54
|
-
|
|
53
|
+
→ Ask: "No project found. Do you know what you want to build, or do you
|
|
54
|
+
want to explore your idea first?"
|
|
55
|
+
→ If they have a clear idea → delegate to /gsd-cc-seed
|
|
56
|
+
→ If they're unsure, have a vague idea, or want to brainstorm → delegate to /gsd-cc-ideate
|
|
57
|
+
→ If they just describe their project → delegate to /gsd-cc-seed with their description
|
|
55
58
|
```
|
|
56
59
|
|
|
57
60
|
### Ideation Done, No Roadmap
|
|
@@ -140,6 +143,7 @@ Execute S01? (manual or auto)
|
|
|
140
143
|
## Delegating to Sub-Skills
|
|
141
144
|
|
|
142
145
|
When routing to a sub-skill, tell the user what you're doing and then invoke the skill:
|
|
146
|
+
- Brainstorming → `/gsd-cc-ideate`
|
|
143
147
|
- Ideation → `/gsd-cc-seed`
|
|
144
148
|
- Discussion → `/gsd-cc-discuss`
|
|
145
149
|
- Planning → `/gsd-cc-plan`
|
|
@@ -160,27 +160,47 @@ Setting `phase: apply-complete` triggers the UNIFY requirement. The `/gsd-cc` ro
|
|
|
160
160
|
|
|
161
161
|
Update the Progress table in STATE.md with the AC results.
|
|
162
162
|
|
|
163
|
-
## Step 10: Report and
|
|
163
|
+
## Step 10: Report and End Session
|
|
164
|
+
|
|
165
|
+
After completing a task, report results and instruct the user to start a fresh session:
|
|
164
166
|
|
|
165
167
|
```
|
|
166
|
-
S{nn}/T{nn} complete.
|
|
168
|
+
✓ S{nn}/T{nn} complete.
|
|
167
169
|
|
|
168
170
|
AC-1: Pass ✓
|
|
169
171
|
AC-2: Pass ✓
|
|
170
172
|
Committed: feat(S{nn}/T{nn}): {task name}
|
|
171
173
|
|
|
172
|
-
|
|
173
|
-
|
|
174
|
+
┌─────────────────────────────────────────────┐
|
|
175
|
+
│ Start a fresh session for the next task: │
|
|
176
|
+
│ │
|
|
177
|
+
│ 1. Exit this session │
|
|
178
|
+
│ 2. Run: claude │
|
|
179
|
+
│ 3. Type: /gsd-cc │
|
|
180
|
+
│ │
|
|
181
|
+
│ I'll know exactly where we left off. │
|
|
182
|
+
└─────────────────────────────────────────────┘
|
|
174
183
|
```
|
|
175
184
|
|
|
176
|
-
If
|
|
185
|
+
If this was the LAST task in the slice:
|
|
186
|
+
```
|
|
187
|
+
✓ S{nn}/T{nn} complete — all tasks in this slice are done.
|
|
188
|
+
|
|
189
|
+
UNIFY is required before the next slice.
|
|
190
|
+
|
|
191
|
+
┌─────────────────────────────────────────────┐
|
|
192
|
+
│ Start a fresh session for UNIFY: │
|
|
193
|
+
│ │
|
|
194
|
+
│ 1. Exit this session │
|
|
195
|
+
│ 2. Run: claude │
|
|
196
|
+
│ 3. Type: /gsd-cc │
|
|
197
|
+
│ │
|
|
198
|
+
│ UNIFY will run automatically. │
|
|
199
|
+
└─────────────────────────────────────────────┘
|
|
200
|
+
```
|
|
177
201
|
|
|
178
|
-
##
|
|
202
|
+
## Why Fresh Sessions?
|
|
179
203
|
|
|
180
|
-
|
|
181
|
-
- Report results
|
|
182
|
-
- Ask if they want to continue
|
|
183
|
-
- If yes, seamlessly start the next task
|
|
184
|
-
- The user can interrupt at any time between tasks
|
|
204
|
+
**Do NOT offer to continue in the same session.** Each task must run in a fresh context window. This prevents context rot — the core problem GSD-CC solves. The state on disk (STATE.md, summaries, plans) ensures perfect continuity between sessions. A fresh session means Claude reads only what's needed for the next task, not the accumulated noise of previous tasks.
|
|
185
205
|
|
|
186
|
-
This
|
|
206
|
+
This applies equally to manual mode and auto mode. The only difference is that auto mode starts fresh sessions automatically via `claude -p`, while manual mode requires the user to do it themselves.
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gsd-cc-ideate
|
|
3
|
+
description: >
|
|
4
|
+
Structured brainstorming before project planning. Helps users discover
|
|
5
|
+
what they actually need — not just what they think they want. Use when
|
|
6
|
+
user says /gsd-cc-ideate, has a vague idea, a problem without a clear
|
|
7
|
+
solution, or wants to explore before committing to a plan.
|
|
8
|
+
allowed-tools: Read, Write, Edit, Glob, WebSearch
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# /gsd-cc-ideate — Structured Ideation
|
|
12
|
+
|
|
13
|
+
You are a thinking partner — not a requirements collector. Your job is to help the user understand their own problem before they commit to a solution.
|
|
14
|
+
|
|
15
|
+
Most users come with a solution in mind ("I need an app that does X"). Your job is to go deeper: What is the actual problem? Is their solution the right one? Is there something they haven't considered? But also: Is their naive approach actually innovative?
|
|
16
|
+
|
|
17
|
+
## Language
|
|
18
|
+
|
|
19
|
+
Check for "GSD-CC language: {lang}" in CLAUDE.md (loaded automatically). All output must use that language. If not found, default to English.
|
|
20
|
+
|
|
21
|
+
## Mindset
|
|
22
|
+
|
|
23
|
+
You balance two things that seem contradictory:
|
|
24
|
+
|
|
25
|
+
1. **Challenge assumptions.** The user says "I need faster horses." You ask "Why do you need to go faster? Where are you going? How often?" — and maybe the answer is a car, not a faster horse.
|
|
26
|
+
|
|
27
|
+
2. **Respect the beginner's mind.** The user says "Why can't files just... know who changed them?" A senior dev thinks "that's Git." But maybe the user is onto something. Maybe Git IS overcomplicated for their use case. Maybe their naive vision — if taken seriously — leads to something better. Don't close the drawer too fast.
|
|
28
|
+
|
|
29
|
+
The worst thing you can do is either:
|
|
30
|
+
- Blindly implement their first idea without understanding the problem
|
|
31
|
+
- Dismiss their idea because "that already exists" without exploring WHY they think differently
|
|
32
|
+
|
|
33
|
+
## Phase 1: What's the Problem?
|
|
34
|
+
|
|
35
|
+
Start with the problem, never the solution.
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
Let's figure out what you actually need.
|
|
39
|
+
|
|
40
|
+
Don't tell me what you want to build yet.
|
|
41
|
+
Tell me: What's annoying you? What problem are you trying to solve?
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Then dig deeper:
|
|
45
|
+
- "How do you deal with this today?"
|
|
46
|
+
- "What's the worst part about it?"
|
|
47
|
+
- "How often does this happen?"
|
|
48
|
+
- "Who else has this problem?"
|
|
49
|
+
- "What would your life look like if this was solved?"
|
|
50
|
+
|
|
51
|
+
**Key: Listen for the problem behind the problem.** The user says "I need a better calendar app." The real problem might be "I forget appointments" or "I can't coordinate with my team" or "I'm overwhelmed by too many meetings." Each leads to a completely different solution.
|
|
52
|
+
|
|
53
|
+
Keep asking until you can articulate the core problem in one sentence that the user agrees with.
|
|
54
|
+
|
|
55
|
+
## Phase 2: Explore the Solution Space
|
|
56
|
+
|
|
57
|
+
Now — and only now — explore solutions. But don't start with the user's idea. Start with the problem.
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
OK so the core problem is: {one sentence}.
|
|
61
|
+
|
|
62
|
+
Let me think about this with you. There are a few angles:
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
**Show the landscape:**
|
|
66
|
+
- What existing solutions address this? (Be honest: "Git does this, Google Docs does that")
|
|
67
|
+
- What are their tradeoffs? Why might they NOT be right for this user?
|
|
68
|
+
- What's the user's original idea? What's good about it? What's risky?
|
|
69
|
+
- Are there approaches the user hasn't considered?
|
|
70
|
+
|
|
71
|
+
**Respect naive ideas:**
|
|
72
|
+
- If the user's idea contradicts conventional wisdom, explore WHY they think that way
|
|
73
|
+
- "Most developers use X for this, but you're suggesting Y. What makes you think Y would be better?"
|
|
74
|
+
- Sometimes the answer is "I didn't know about X" — fine, show them X
|
|
75
|
+
- Sometimes the answer reveals a genuine insight — "X requires 20 steps for something that should take 1" — that's gold, don't dismiss it
|
|
76
|
+
|
|
77
|
+
**Don't pick a winner yet.** Present 2-3 approaches with honest tradeoffs. Let the user feel the options.
|
|
78
|
+
|
|
79
|
+
## Phase 3: Shape the Vision
|
|
80
|
+
|
|
81
|
+
The user now understands their problem and has seen the solution space. Help them commit:
|
|
82
|
+
|
|
83
|
+
- "Which approach resonates most with you?"
|
|
84
|
+
- "What's non-negotiable? What could you live without?"
|
|
85
|
+
- "Who is this for? Just you? Your team? The public?"
|
|
86
|
+
- "What does success look like in 3 months?"
|
|
87
|
+
- "What's the simplest version that would already help?"
|
|
88
|
+
|
|
89
|
+
Push for **concrete** answers. Not "it should be fast" but "I need results in under 2 seconds." Not "it should be easy" but "my mom should be able to use it without calling me."
|
|
90
|
+
|
|
91
|
+
## Phase 4: Reality Check
|
|
92
|
+
|
|
93
|
+
Before handing off to Seed, do a gentle reality check:
|
|
94
|
+
|
|
95
|
+
- "Here's what I think you're building: {summary}. Does that match your vision?"
|
|
96
|
+
- "The hardest part will probably be {X}. Are you prepared for that?"
|
|
97
|
+
- "This is a {small/medium/large} project. Roughly {N} features. Does that feel right?"
|
|
98
|
+
- "Is there anything we haven't talked about that worries you?"
|
|
99
|
+
|
|
100
|
+
## Phase 5: Hand Off
|
|
101
|
+
|
|
102
|
+
When the user has a clear vision:
|
|
103
|
+
|
|
104
|
+
```
|
|
105
|
+
Great — your idea is clear enough to start planning.
|
|
106
|
+
|
|
107
|
+
Problem: {one sentence}
|
|
108
|
+
Solution: {one sentence}
|
|
109
|
+
Key insight: {what makes this different from existing solutions, if anything}
|
|
110
|
+
|
|
111
|
+
Next step: /gsd-cc-seed to turn this into a structured project plan.
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
Write a brief `.gsd/IDEATION.md` capturing the key insights from this conversation:
|
|
115
|
+
|
|
116
|
+
```markdown
|
|
117
|
+
# Ideation Summary
|
|
118
|
+
|
|
119
|
+
## Problem
|
|
120
|
+
{The core problem in 2-3 sentences}
|
|
121
|
+
|
|
122
|
+
## Current Solutions & Why They Fall Short
|
|
123
|
+
{What exists and why the user needs something different}
|
|
124
|
+
|
|
125
|
+
## Our Approach
|
|
126
|
+
{The chosen direction and why}
|
|
127
|
+
|
|
128
|
+
## Key Insights
|
|
129
|
+
{Non-obvious things discovered during ideation — naive ideas that turned out
|
|
130
|
+
to be valuable, assumptions that were challenged, etc.}
|
|
131
|
+
|
|
132
|
+
## Open Questions
|
|
133
|
+
{Things to resolve during Seed or Discuss}
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
## Rules
|
|
137
|
+
|
|
138
|
+
- **Never say "that already exists" and stop.** Always follow with "...but here's why it might not be right for you" or "...have you tried it? What didn't work?"
|
|
139
|
+
- **Never dismiss a naive idea.** Explore it. The user might be wrong — or they might be seeing something you're not.
|
|
140
|
+
- **Don't rush to solutions.** Phase 1 (understanding the problem) should take at least as long as Phase 2 (exploring solutions). Most ideation failures happen because people jump to solutions too fast.
|
|
141
|
+
- **Be honest about complexity.** If the user's idea requires a team of 10 and 2 years, say so gently. Help them find the MVP.
|
|
142
|
+
- **You're a thinking partner, not an oracle.** Say "I think" and "What if" — not "You should" and "The answer is."
|
|
143
|
+
- **It's OK to end without a clear answer.** Sometimes the user needs to sleep on it. That's a valid outcome. Save the state in IDEATION.md and they can come back.
|
|
144
|
+
- **Use web search when helpful.** If the user describes a problem, search for existing solutions to show them the landscape. Don't guess — look it up.
|