gsd-cc 1.0.0 → 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 +1 -0
- package/skills/gsd/ingest/SKILL.md +209 -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', 'vision'];
|
|
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": "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",
|
package/skills/gsd/SKILL.md
CHANGED
|
@@ -184,6 +184,7 @@ 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`
|
|
187
188
|
- Vision document → `/gsd-cc-vision`
|
|
188
189
|
- Decision profile → `/gsd-cc-profile`
|
|
189
190
|
- Brainstorming → `/gsd-cc-ideate`
|
|
@@ -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.
|