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 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": "0.9.1",
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",
@@ -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.
@@ -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: Quality Gate
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`.