gsd-cc 0.9.1 → 1.1.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/bin/install.js +1 -1
- package/package.json +1 -1
- package/skills/gsd/SKILL.md +2 -0
- package/skills/gsd/apply/SKILL.md +3 -0
- package/skills/gsd/discuss/SKILL.md +1 -0
- package/skills/gsd/ingest/SKILL.md +209 -0
- package/skills/gsd/plan/SKILL.md +1 -0
- package/skills/gsd/unify/SKILL.md +28 -1
- package/skills/gsd/vision/SKILL.md +181 -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', 'ideate', 'plan', 'profile', 'seed', 'status', 'tutorial', 'unify', 'update'];
|
|
30
|
+
const SUB_SKILLS = ['apply', 'auto', 'config', 'discuss', 'help', 'ideate', 'ingest', 'plan', 'profile', 'seed', 'status', 'tutorial', 'unify', 'update', 'vision'];
|
|
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": "
|
|
3
|
+
"version": "1.1.0",
|
|
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
|
@@ -184,6 +184,8 @@ Execute S01? (manual or auto)
|
|
|
184
184
|
## Delegating to Sub-Skills
|
|
185
185
|
|
|
186
186
|
When routing to a sub-skill, tell the user what you're doing and then invoke the skill:
|
|
187
|
+
- Import concept → `/gsd-cc-ingest`
|
|
188
|
+
- Vision document → `/gsd-cc-vision`
|
|
187
189
|
- Decision profile → `/gsd-cc-profile`
|
|
188
190
|
- Brainstorming → `/gsd-cc-ideate`
|
|
189
191
|
- Ideation → `/gsd-cc-seed`
|
|
@@ -34,9 +34,12 @@ Load ONLY these files — nothing else:
|
|
|
34
34
|
| `.gsd/S{nn}-PLAN.md` | Slice overview for context |
|
|
35
35
|
| `.gsd/DECISIONS.md` | Decisions that affect implementation |
|
|
36
36
|
| `.gsd/S{nn}-T{prev}-SUMMARY.md` | Previous task summaries (all that exist for this slice) |
|
|
37
|
+
| `.gsd/VISION.md` | User's detailed intentions (if it exists) — check alignment during implementation |
|
|
37
38
|
|
|
38
39
|
**Do NOT load:** PLANNING.md, ROADMAP.md, PROJECT.md, RESEARCH.md, CONTEXT.md, or files from other slices. These are not needed during execution and waste context window space.
|
|
39
40
|
|
|
41
|
+
**Vision alignment:** If the task implements something described in VISION.md, ensure the implementation matches the user's intention. If you must deviate, note it in the task summary: "Vision says X, implemented Y because Z."
|
|
42
|
+
|
|
40
43
|
## Step 3: Read and Announce the Plan
|
|
41
44
|
|
|
42
45
|
Parse the task plan XML. Display to the user:
|
|
@@ -23,6 +23,7 @@ Check for "GSD-CC language: {lang}" in CLAUDE.md (loaded automatically). All out
|
|
|
23
23
|
3. Read `.gsd/PLANNING.md` — for overall project context
|
|
24
24
|
4. Read `.gsd/DECISIONS.md` — for decisions already made
|
|
25
25
|
5. Read `.gsd/type.json` — for project type and rigor
|
|
26
|
+
6. Read `.gsd/VISION.md` — if it exists, this is the user's detailed intention for every aspect of the project. Use it to inform your questions and to check if a gray area is already answered by the vision. If the vision says "big red send button", don't ask "how should the send button look?" — it's already decided.
|
|
26
27
|
|
|
27
28
|
## Step 2: Identify Gray Areas
|
|
28
29
|
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gsd-cc-ingest
|
|
3
|
+
description: >
|
|
4
|
+
Import an existing concept document, spec, or brief into GSD-CC.
|
|
5
|
+
Analyzes the document, identifies gaps, asks targeted follow-ups,
|
|
6
|
+
and generates standardized project artifacts. Use when user says
|
|
7
|
+
/gsd-cc-ingest, pastes a concept, or uploads a document.
|
|
8
|
+
allowed-tools: Read, Write, Edit, Glob, Bash
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# /gsd-cc-ingest — Import External Concept
|
|
12
|
+
|
|
13
|
+
You take an existing document — any format, any quality — and turn it into clean GSD-CC project artifacts. The user may have a polished spec, a rambling Google Doc, a Notion page dump, a PDF, a chat history, or just a wall of text pasted into the chat.
|
|
14
|
+
|
|
15
|
+
Your job: understand it, verify your understanding, fill the gaps, and produce standardized output.
|
|
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
|
+
## Step 1: Receive the Input
|
|
22
|
+
|
|
23
|
+
The input can come in many forms:
|
|
24
|
+
|
|
25
|
+
- **Pasted text** — the user copies their concept into the chat
|
|
26
|
+
- **File path** — "here's my concept: /path/to/concept.md"
|
|
27
|
+
- **Multiple files** — "look at these files: /docs/spec.md, /docs/wireframes.md"
|
|
28
|
+
- **URL content** — the user might paste content from a web page
|
|
29
|
+
|
|
30
|
+
Read whatever they provide. If it's a file path, use `Read`. If it's multiple files, read all of them.
|
|
31
|
+
|
|
32
|
+
Say:
|
|
33
|
+
```
|
|
34
|
+
Got it. Let me read through this carefully.
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Step 2: Analyze and Summarize
|
|
38
|
+
|
|
39
|
+
Read the entire document. Then present a structured summary back to the user:
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
Here's what I understood from your document:
|
|
43
|
+
|
|
44
|
+
PROJECT: {one sentence — what is this?}
|
|
45
|
+
|
|
46
|
+
WHAT'S CLEAR:
|
|
47
|
+
✓ {Area 1} — {brief summary of what's defined}
|
|
48
|
+
✓ {Area 2} — {brief summary}
|
|
49
|
+
✓ {Area 3} — {brief summary}
|
|
50
|
+
...
|
|
51
|
+
|
|
52
|
+
WHAT'S VAGUE OR MISSING:
|
|
53
|
+
? {Area 1} — {what's unclear or not mentioned}
|
|
54
|
+
? {Area 2} — {what's unclear}
|
|
55
|
+
...
|
|
56
|
+
|
|
57
|
+
CONTRADICTIONS (if any):
|
|
58
|
+
⚠ {Description of contradiction}
|
|
59
|
+
...
|
|
60
|
+
|
|
61
|
+
Did I get this right? Anything I misunderstood?
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
**This confirmation step is critical.** The user must verify that you understood their concept correctly before you generate any artifacts. Misunderstanding a concept and generating wrong artifacts is worse than asking.
|
|
65
|
+
|
|
66
|
+
Wait for confirmation before proceeding.
|
|
67
|
+
|
|
68
|
+
## Step 3: Fill the Gaps
|
|
69
|
+
|
|
70
|
+
For each vague or missing area, ask targeted questions. Don't ask about things the document already covers — that's annoying.
|
|
71
|
+
|
|
72
|
+
Adapt your questions to the user's level (same as /gsd-cc-profile — read the room from how the document is written).
|
|
73
|
+
|
|
74
|
+
**For a technical spec with missing areas:**
|
|
75
|
+
- "Your spec covers the API endpoints but doesn't mention authentication. What's the plan — JWT, sessions, OAuth?"
|
|
76
|
+
|
|
77
|
+
**For a non-technical brief with gaps:**
|
|
78
|
+
- "You described what the dashboard shows, but not what happens when someone clicks a number. Should it open a detail view, filter something, or just be informational?"
|
|
79
|
+
|
|
80
|
+
**For a vague concept:**
|
|
81
|
+
- "You mention 'user management' — what does that mean to you? Just login/signup, or also roles, permissions, teams?"
|
|
82
|
+
|
|
83
|
+
Group related questions. Don't fire 15 questions at once. 3-4 at a time, then wait.
|
|
84
|
+
|
|
85
|
+
## Step 4: Assess Coverage
|
|
86
|
+
|
|
87
|
+
After filling gaps, check which GSD-CC artifacts you have enough information for:
|
|
88
|
+
|
|
89
|
+
| Artifact | Can generate? | Why / why not |
|
|
90
|
+
|----------|--------------|---------------|
|
|
91
|
+
| PLANNING.md | Yes/Partial/No | {explanation} |
|
|
92
|
+
| VISION.md | Yes/Partial/No | {explanation} |
|
|
93
|
+
| PROJECT.md | Yes/No | {explanation} |
|
|
94
|
+
| type.json | Yes/No | {explanation} |
|
|
95
|
+
|
|
96
|
+
Tell the user:
|
|
97
|
+
```
|
|
98
|
+
Based on your document and our conversation, I can generate:
|
|
99
|
+
✓ PLANNING.md — full project brief
|
|
100
|
+
✓ PROJECT.md — elevator pitch
|
|
101
|
+
✓ type.json — {type} / {rigor}
|
|
102
|
+
◐ VISION.md — partial (you described the core experience in detail
|
|
103
|
+
but not the look & feel — want to add that now or later?)
|
|
104
|
+
|
|
105
|
+
Generate these now?
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
## Step 5: Generate Artifacts
|
|
109
|
+
|
|
110
|
+
On confirmation, create the `.gsd/` directory and write:
|
|
111
|
+
|
|
112
|
+
### `.gsd/PLANNING.md`
|
|
113
|
+
Same format as Seed output. Map the document's content to the standard sections:
|
|
114
|
+
- Vision (from the document's intro/summary)
|
|
115
|
+
- Users (from any user descriptions, personas, or target audience sections)
|
|
116
|
+
- Requirements v1, v2, Out of Scope (from feature lists, must-haves, nice-to-haves)
|
|
117
|
+
- Tech Stack (from any technical decisions in the document, or leave for Seed to fill)
|
|
118
|
+
- Architecture Decisions (from any technical choices mentioned)
|
|
119
|
+
- Open Questions (from remaining gaps)
|
|
120
|
+
|
|
121
|
+
**Source everything.** For each section, note where in the original document the information came from. This lets the user verify the mapping.
|
|
122
|
+
|
|
123
|
+
### `.gsd/VISION.md` (if enough detail)
|
|
124
|
+
Only generate this if the document contains detailed descriptions of how things should look, feel, or work from the user's perspective. If it's a dry technical spec, skip VISION.md — the user can create it later with `/gsd-cc-vision`.
|
|
125
|
+
|
|
126
|
+
### `.gsd/PROJECT.md`
|
|
127
|
+
3-5 sentence elevator pitch, distilled from the document.
|
|
128
|
+
|
|
129
|
+
### `.gsd/type.json`
|
|
130
|
+
Detect project type and rigor from the document content, same logic as Seed.
|
|
131
|
+
|
|
132
|
+
### `.gsd/STATE.md`
|
|
133
|
+
Initialize with phase: seed-complete (since we're replacing the Seed step).
|
|
134
|
+
|
|
135
|
+
### `.gsd/DECISIONS.md`
|
|
136
|
+
Log any decisions that were already made in the original document:
|
|
137
|
+
```markdown
|
|
138
|
+
# Decisions
|
|
139
|
+
|
|
140
|
+
## From Original Concept
|
|
141
|
+
- {Decision from document} (source: original concept, section X)
|
|
142
|
+
- {Decision from document} (source: original concept, section Y)
|
|
143
|
+
|
|
144
|
+
## From Ingest Conversation
|
|
145
|
+
- {Decision from gap-filling conversation} (reason: {rationale})
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
### `.gsd/INGEST-SOURCE.md`
|
|
149
|
+
Keep a reference to what was ingested:
|
|
150
|
+
```markdown
|
|
151
|
+
# Ingest Source
|
|
152
|
+
|
|
153
|
+
Ingested on: {date}
|
|
154
|
+
Source: {file path(s) or "pasted text"}
|
|
155
|
+
Original length: ~{word count} words
|
|
156
|
+
Gaps identified: {count}
|
|
157
|
+
Gaps resolved: {count}
|
|
158
|
+
Gaps remaining: {count — these are in PLANNING.md Open Questions}
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
## Step 6: What's Still Missing?
|
|
162
|
+
|
|
163
|
+
After generating artifacts, honestly assess what wasn't in the document and wasn't covered in the conversation:
|
|
164
|
+
|
|
165
|
+
```
|
|
166
|
+
✓ Artifacts generated.
|
|
167
|
+
|
|
168
|
+
Still open — you might want to address these later:
|
|
169
|
+
• {Open question 1} — consider /gsd-cc-discuss during planning
|
|
170
|
+
• {Open question 2} — could be covered in /gsd-cc-vision
|
|
171
|
+
...
|
|
172
|
+
|
|
173
|
+
These are also listed in PLANNING.md under "Open Questions".
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
## Step 7: Hand Off
|
|
177
|
+
|
|
178
|
+
```
|
|
179
|
+
✓ Ingest complete.
|
|
180
|
+
|
|
181
|
+
.gsd/PLANNING.md — project brief (from your document)
|
|
182
|
+
.gsd/PROJECT.md — elevator pitch
|
|
183
|
+
.gsd/type.json — {type} / {rigor}
|
|
184
|
+
.gsd/STATE.md — initialized
|
|
185
|
+
.gsd/DECISIONS.md — {n} decisions from your document
|
|
186
|
+
.gsd/INGEST-SOURCE.md — reference to source
|
|
187
|
+
{.gsd/VISION.md — if generated}
|
|
188
|
+
|
|
189
|
+
┌─────────────────────────────────────────────┐
|
|
190
|
+
│ Start a fresh session to continue: │
|
|
191
|
+
│ │
|
|
192
|
+
│ 1. Exit this session │
|
|
193
|
+
│ 2. Run: claude │
|
|
194
|
+
│ 3. Type: /gsd-cc │
|
|
195
|
+
│ │
|
|
196
|
+
│ Next: roadmap creation. │
|
|
197
|
+
│ Optional: /gsd-cc-vision for more detail │
|
|
198
|
+
└─────────────────────────────────────────────┘
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
**Do NOT continue in this session.** The ingested document may have consumed significant context.
|
|
202
|
+
|
|
203
|
+
## Rules
|
|
204
|
+
|
|
205
|
+
- **Don't assume.** If the document says "user management" without detail, ask. Don't invent features.
|
|
206
|
+
- **Respect the document.** The user spent time writing it. Don't dismiss parts of it. If something seems wrong, ask — don't silently fix it.
|
|
207
|
+
- **Preserve specificity.** If the document says "response time under 200ms", put exactly that in the requirements. Don't generalize to "should be fast."
|
|
208
|
+
- **Flag contradictions, don't resolve them.** "Your document says X in section 2 but Y in section 5. Which one is correct?" Don't pick one silently.
|
|
209
|
+
- **Don't over-generate.** If the document is a rough idea on half a page, don't generate a 10-page PLANNING.md full of assumptions. Generate what you have, mark the rest as Open Questions.
|
package/skills/gsd/plan/SKILL.md
CHANGED
|
@@ -25,6 +25,7 @@ Read these files (all that exist):
|
|
|
25
25
|
4. `.gsd/DECISIONS.md` — all decisions made so far
|
|
26
26
|
5. `.gsd/S{nn}-CONTEXT.md` — discuss phase output (if it exists)
|
|
27
27
|
6. `.gsd/type.json` — rigor and type config
|
|
28
|
+
7. `.gsd/VISION.md` — if it exists, the user's detailed intentions. Acceptance criteria should align with vision details. If a task implements something the user described in the vision, reference it.
|
|
28
29
|
|
|
29
30
|
## Step 2: Research
|
|
30
31
|
|
|
@@ -40,6 +40,7 @@ Read ALL of these:
|
|
|
40
40
|
| `.gsd/S{nn}-T{nn}-PLAN.md` | Per-task plans (all tasks in slice) |
|
|
41
41
|
| `.gsd/S{nn}-T{nn}-SUMMARY.md` | What actually happened (all tasks in slice) |
|
|
42
42
|
| `.gsd/DECISIONS.md` | Existing decisions |
|
|
43
|
+
| `.gsd/VISION.md` | User's original intentions (if it exists) |
|
|
43
44
|
|
|
44
45
|
Use `Glob` to find all matching files for the current slice.
|
|
45
46
|
|
|
@@ -163,7 +164,33 @@ Roadmap needs update:
|
|
|
163
164
|
|
|
164
165
|
If the roadmap needs an update, describe what should change but do NOT modify the roadmap file. That happens in the next planning phase.
|
|
165
166
|
|
|
166
|
-
## Step 8:
|
|
167
|
+
## Step 8: Vision Alignment Check
|
|
168
|
+
|
|
169
|
+
If `.gsd/VISION.md` exists, compare what was built in this slice against the user's original intentions:
|
|
170
|
+
|
|
171
|
+
For each vision detail that relates to this slice:
|
|
172
|
+
|
|
173
|
+
```
|
|
174
|
+
Vision Alignment:
|
|
175
|
+
|
|
176
|
+
| Vision Detail | What User Wanted | What Was Built | Alignment |
|
|
177
|
+
|--------------|-----------------|----------------|-----------|
|
|
178
|
+
| {detail} | {user's words} | {what we did} | ✓ Aligned / ⚠ Adjusted / ✗ Deviated |
|
|
179
|
+
|
|
180
|
+
Adjustments:
|
|
181
|
+
- {detail}: Vision said "{user's words}". Implemented as {what we did}
|
|
182
|
+
because {technical reason}. Result is {how close to the original intent}.
|
|
183
|
+
|
|
184
|
+
Deviations:
|
|
185
|
+
- {detail}: Vision said "{user's words}". Could not implement because
|
|
186
|
+
{reason}. Alternative: {what we did instead}. Recommendation: {keep as-is / revisit later}.
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
This section is critical for auto-mode transparency. The user should be able to read this and immediately see where their vision was honored and where it wasn't — and why.
|
|
190
|
+
|
|
191
|
+
If no VISION.md exists, skip this step.
|
|
192
|
+
|
|
193
|
+
## Step 9: Quality Gate
|
|
167
194
|
|
|
168
195
|
Check against `checklists/unify-complete.md`:
|
|
169
196
|
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gsd-cc-vision
|
|
3
|
+
description: >
|
|
4
|
+
Deep vision document that captures the user's detailed intentions for
|
|
5
|
+
every aspect of the project. Optional but powerful — serves as the
|
|
6
|
+
north star that all planning and execution aligns to. Use when user
|
|
7
|
+
says /gsd-cc-vision, wants to describe their project in detail before
|
|
8
|
+
building, or wants to ensure auto-mode stays true to their intentions.
|
|
9
|
+
allowed-tools: Read, Write, Edit, Glob
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# /gsd-cc-vision — Detailed Vision Document
|
|
13
|
+
|
|
14
|
+
You help the user describe their project in as much detail as they want. This is NOT planning — no tasks, no slices, no technical decomposition. This is the user painting a picture of what they imagine the finished product looks like.
|
|
15
|
+
|
|
16
|
+
The result is a VISION.md that serves as a permanent reference throughout the entire project. It is never modified by the system — only by the user. Every planning decision, every implementation choice, every auto-mode discussion checks against this document.
|
|
17
|
+
|
|
18
|
+
## Language
|
|
19
|
+
|
|
20
|
+
Check for "GSD-CC language: {lang}" in CLAUDE.md (loaded automatically). All output must use that language. If not found, default to English.
|
|
21
|
+
|
|
22
|
+
## When to Run
|
|
23
|
+
|
|
24
|
+
- After Ideation or Seed, before the first slice is planned
|
|
25
|
+
- Anytime the user wants to describe their vision in more detail
|
|
26
|
+
- The router should suggest this after Seed if rigor is `deep`
|
|
27
|
+
|
|
28
|
+
## Mindset
|
|
29
|
+
|
|
30
|
+
You are a listener and clarifier. Your job is to help the user get what's in their head onto paper. You don't judge, you don't say "that's not possible", you don't optimize. You capture their INTENTION.
|
|
31
|
+
|
|
32
|
+
If they say "I want a big red button that sends the email" — you write that down. If it turns out later that a big red button is bad UX, that's for the planning phase to figure out. The vision documents what the user WANTS, not what's technically optimal.
|
|
33
|
+
|
|
34
|
+
## The Conversation
|
|
35
|
+
|
|
36
|
+
### Start
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
Let's capture your vision — how you imagine the finished product.
|
|
40
|
+
|
|
41
|
+
Don't worry about what's realistic or technical. Tell me what you
|
|
42
|
+
see when you close your eyes and imagine it working perfectly.
|
|
43
|
+
|
|
44
|
+
We can go as deep as you want. Some people describe the big picture,
|
|
45
|
+
others want to specify every button and animation. Both are fine.
|
|
46
|
+
|
|
47
|
+
Where do you want to start?
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### How to Guide
|
|
51
|
+
|
|
52
|
+
Let the user lead. They might want to describe:
|
|
53
|
+
|
|
54
|
+
- **The big picture:** "When someone opens the app, they see..."
|
|
55
|
+
- **Specific features:** "There's a dashboard that shows..."
|
|
56
|
+
- **User journeys:** "A new user signs up, then..."
|
|
57
|
+
- **Look and feel:** "It should feel like Notion meets Spotify..."
|
|
58
|
+
- **Specific interactions:** "When you click the send button, there's a satisfying animation and..."
|
|
59
|
+
- **Edge cases they care about:** "If the internet drops, it should..."
|
|
60
|
+
- **Things they explicitly DON'T want:** "No popups, ever."
|
|
61
|
+
|
|
62
|
+
For each thing they describe, ask ONE follow-up to sharpen it:
|
|
63
|
+
- "When you say 'fast' — what does that feel like? Instant? Under a second?"
|
|
64
|
+
- "You said 'simple dashboard' — are we talking 3 numbers on a screen, or more like 10 cards with charts?"
|
|
65
|
+
- "The notification — is that an email, a push notification, a sound, or just something on the screen?"
|
|
66
|
+
|
|
67
|
+
**Don't ask about:**
|
|
68
|
+
- Technical implementation ("should this be a REST endpoint?")
|
|
69
|
+
- Architecture ("monolith or microservices?")
|
|
70
|
+
- Tools ("React or Vue?")
|
|
71
|
+
|
|
72
|
+
Those questions belong in Seed and Discuss. Vision is pure user intention.
|
|
73
|
+
|
|
74
|
+
### Depth Control
|
|
75
|
+
|
|
76
|
+
Let the user decide how deep to go. After covering a topic, ask:
|
|
77
|
+
|
|
78
|
+
```
|
|
79
|
+
Got it. Want to go deeper on this, or move on to the next area?
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
Some users will spend 5 minutes. Some will spend an hour. Both are valid. The more detail in the vision, the better auto-mode can align to their intentions.
|
|
83
|
+
|
|
84
|
+
### Areas to Cover (if the user doesn't naturally go there)
|
|
85
|
+
|
|
86
|
+
Gently guide toward these if they haven't been mentioned, but don't force:
|
|
87
|
+
|
|
88
|
+
1. **First impression** — What does someone see when they first open it?
|
|
89
|
+
2. **Core workflow** — The main thing people do, step by step
|
|
90
|
+
3. **Key moments** — The 2-3 moments that make or break the experience
|
|
91
|
+
4. **What it feels like** — Speed, personality, vibe
|
|
92
|
+
5. **What it's NOT** — Things they want to avoid
|
|
93
|
+
6. **Success scenario** — "I'll know it's working when..."
|
|
94
|
+
|
|
95
|
+
## Generate VISION.md
|
|
96
|
+
|
|
97
|
+
Write `.gsd/VISION.md`:
|
|
98
|
+
|
|
99
|
+
```markdown
|
|
100
|
+
# Project Vision
|
|
101
|
+
|
|
102
|
+
> This document captures the user's detailed intentions.
|
|
103
|
+
> It is NEVER modified by the system — only by the user.
|
|
104
|
+
> All planning and execution aligns to this vision.
|
|
105
|
+
> Deviations are documented and justified, never hidden.
|
|
106
|
+
|
|
107
|
+
## Overview
|
|
108
|
+
{The big picture in the user's own words — 1-2 paragraphs}
|
|
109
|
+
|
|
110
|
+
## First Impression
|
|
111
|
+
{What someone sees/feels when they first encounter the product}
|
|
112
|
+
|
|
113
|
+
## Core Experience
|
|
114
|
+
{The main workflow or journey, described from the user's perspective.
|
|
115
|
+
Not technical — just what they imagine happening.}
|
|
116
|
+
|
|
117
|
+
## Key Details
|
|
118
|
+
{Specific things the user described in detail. Use their exact words.
|
|
119
|
+
Each detail is a reference point for later planning.}
|
|
120
|
+
|
|
121
|
+
### {Detail 1 — e.g. "The Dashboard"}
|
|
122
|
+
{User's description}
|
|
123
|
+
|
|
124
|
+
### {Detail 2 — e.g. "The Send Button"}
|
|
125
|
+
{User's description}
|
|
126
|
+
|
|
127
|
+
### {Detail 3}
|
|
128
|
+
...
|
|
129
|
+
|
|
130
|
+
## Look & Feel
|
|
131
|
+
{How it should feel — speed, personality, vibe, references to other products}
|
|
132
|
+
|
|
133
|
+
## Explicitly NOT Wanted
|
|
134
|
+
{Things the user specifically said they don't want}
|
|
135
|
+
|
|
136
|
+
## Success Criteria
|
|
137
|
+
{How the user will know the project succeeded — in their own words}
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### Rules for VISION.md
|
|
141
|
+
|
|
142
|
+
- **Use the user's words.** Don't rephrase "I want a big red button" into "a prominent call-to-action element." Write "big red button."
|
|
143
|
+
- **Don't add things.** Only write what the user said or confirmed. No "best practice" additions.
|
|
144
|
+
- **Don't remove things.** Even if something seems contradictory or impractical, write it down. The planning phase handles contradictions.
|
|
145
|
+
- **Mark specificity levels.** If the user was very specific about something ("exactly 3 columns"), note it differently than vague preferences ("should be fast-ish").
|
|
146
|
+
|
|
147
|
+
## After Vision
|
|
148
|
+
|
|
149
|
+
```
|
|
150
|
+
✓ Vision captured.
|
|
151
|
+
|
|
152
|
+
.gsd/VISION.md — {n} sections, {n} specific details
|
|
153
|
+
|
|
154
|
+
This is your north star. Every planning decision will align to it.
|
|
155
|
+
When something can't be built exactly as you described, you'll see
|
|
156
|
+
exactly what changed and why.
|
|
157
|
+
|
|
158
|
+
┌─────────────────────────────────────────────┐
|
|
159
|
+
│ Start a fresh session to continue: │
|
|
160
|
+
│ │
|
|
161
|
+
│ 1. Exit this session │
|
|
162
|
+
│ 2. Run: claude │
|
|
163
|
+
│ 3. Type: /gsd-cc │
|
|
164
|
+
│ │
|
|
165
|
+
│ Next up: roadmap and detailed planning. │
|
|
166
|
+
└─────────────────────────────────────────────┘
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
**Do NOT continue in this session.** Each phase gets a fresh context window.
|
|
170
|
+
|
|
171
|
+
## How Other Skills Use VISION.md
|
|
172
|
+
|
|
173
|
+
This skill only CREATES the vision. Other skills READ it:
|
|
174
|
+
|
|
175
|
+
- **Discuss (manual):** "The vision says X about this area. How do you want to handle it technically?"
|
|
176
|
+
- **Discuss (auto/synthetic):** "VISION.md says the user wants a big red send button. Implementing as a prominent CTA button in the primary action position."
|
|
177
|
+
- **Plan:** Task acceptance criteria should align with vision details where applicable
|
|
178
|
+
- **Apply:** If implementation deviates from vision, note it in the task summary
|
|
179
|
+
- **UNIFY:** Vision alignment check — "Vision said X, we built Y, because Z"
|
|
180
|
+
|
|
181
|
+
The vision is never modified by these skills. Only the user can update it via `/gsd-cc-vision`.
|