gsd-cc 0.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.
Files changed (51) hide show
  1. package/README.md +54 -0
  2. package/bin/install.js +209 -0
  3. package/package.json +29 -0
  4. package/skills/gsd/SKILL.md +178 -0
  5. package/skills/gsd/apply/.gitkeep +0 -0
  6. package/skills/gsd/apply/SKILL.md +182 -0
  7. package/skills/gsd/auto/.gitkeep +0 -0
  8. package/skills/gsd/auto/SKILL.md +129 -0
  9. package/skills/gsd/auto/auto-loop.sh +350 -0
  10. package/skills/gsd/checklists/.gitkeep +0 -0
  11. package/skills/gsd/checklists/planning-ready.md +36 -0
  12. package/skills/gsd/checklists/unify-complete.md +41 -0
  13. package/skills/gsd/discuss/.gitkeep +0 -0
  14. package/skills/gsd/discuss/SKILL.md +145 -0
  15. package/skills/gsd/plan/.gitkeep +0 -0
  16. package/skills/gsd/plan/SKILL.md +250 -0
  17. package/skills/gsd/prompts/.gitkeep +0 -0
  18. package/skills/gsd/prompts/apply-instructions.txt +98 -0
  19. package/skills/gsd/prompts/plan-instructions.txt +76 -0
  20. package/skills/gsd/prompts/reassess-instructions.txt +65 -0
  21. package/skills/gsd/prompts/unify-instructions.txt +126 -0
  22. package/skills/gsd/seed/SKILL.md +186 -0
  23. package/skills/gsd/seed/types/application/.gitkeep +0 -0
  24. package/skills/gsd/seed/types/application/config.md +30 -0
  25. package/skills/gsd/seed/types/application/guide.md +81 -0
  26. package/skills/gsd/seed/types/application/loadout.md +31 -0
  27. package/skills/gsd/seed/types/campaign/.gitkeep +0 -0
  28. package/skills/gsd/seed/types/campaign/config.md +27 -0
  29. package/skills/gsd/seed/types/campaign/guide.md +57 -0
  30. package/skills/gsd/seed/types/campaign/loadout.md +30 -0
  31. package/skills/gsd/seed/types/client/.gitkeep +0 -0
  32. package/skills/gsd/seed/types/client/config.md +27 -0
  33. package/skills/gsd/seed/types/client/guide.md +57 -0
  34. package/skills/gsd/seed/types/client/loadout.md +31 -0
  35. package/skills/gsd/seed/types/utility/.gitkeep +0 -0
  36. package/skills/gsd/seed/types/utility/config.md +27 -0
  37. package/skills/gsd/seed/types/utility/guide.md +49 -0
  38. package/skills/gsd/seed/types/utility/loadout.md +20 -0
  39. package/skills/gsd/seed/types/workflow/.gitkeep +0 -0
  40. package/skills/gsd/seed/types/workflow/config.md +28 -0
  41. package/skills/gsd/seed/types/workflow/guide.md +65 -0
  42. package/skills/gsd/seed/types/workflow/loadout.md +21 -0
  43. package/skills/gsd/status/.gitkeep +0 -0
  44. package/skills/gsd/status/SKILL.md +157 -0
  45. package/skills/gsd/templates/.gitkeep +0 -0
  46. package/skills/gsd/templates/PLAN.xml +65 -0
  47. package/skills/gsd/templates/PLANNING.md +63 -0
  48. package/skills/gsd/templates/STATE.md +41 -0
  49. package/skills/gsd/templates/UNIFY.md +43 -0
  50. package/skills/gsd/unify/.gitkeep +0 -0
  51. package/skills/gsd/unify/SKILL.md +230 -0
@@ -0,0 +1,145 @@
1
+ ---
2
+ name: gsd-cc-discuss
3
+ description: >
4
+ Pre-planning discussion for the current slice. Identifies gray areas,
5
+ captures implementation decisions, and writes CONTEXT.md. Use when
6
+ /gsd-cc routes here, when user says /gsd-cc-discuss, or before planning a
7
+ slice that has ambiguous requirements.
8
+ allowed-tools: Read, Write, Edit, Glob, Grep
9
+ ---
10
+
11
+ # /gsd-cc-discuss — Implementation Decisions
12
+
13
+ You help the user resolve ambiguities BEFORE planning begins. Your job is to identify gray areas in the current slice and turn them into concrete decisions.
14
+
15
+ ## Step 1: Load Context
16
+
17
+ 1. Read `.gsd/STATE.md` — get `current_slice` and `milestone`
18
+ 2. Read `.gsd/M001-ROADMAP.md` (or current milestone's roadmap) — find the description of the current slice
19
+ 3. Read `.gsd/PLANNING.md` — for overall project context
20
+ 4. Read `.gsd/DECISIONS.md` — for decisions already made
21
+ 5. Read `.gsd/type.json` — for project type and rigor
22
+
23
+ ## Step 2: Identify Gray Areas
24
+
25
+ Analyze the slice description and identify areas where implementation details are unclear. Look for these categories:
26
+
27
+ ### Visual / UI Decisions
28
+ - Layout: grid vs. list, density, spacing
29
+ - Interactions: modals vs. inline, drag-and-drop, animations
30
+ - Responsive behavior: breakpoints, mobile-first or desktop-first
31
+ - Empty states, loading states, error states
32
+
33
+ ### API / Data Decisions
34
+ - Response format: shape of JSON, pagination strategy
35
+ - Error handling: error codes, error messages, retry behavior
36
+ - Verbosity: minimal vs. detailed responses
37
+ - Versioning: URL path vs. header
38
+
39
+ ### Data Model Decisions
40
+ - Schema details: field types, constraints, defaults
41
+ - Validation rules: required fields, formats, ranges
42
+ - Migration strategy: how to evolve the schema
43
+ - Relationships: cascade behavior, soft deletes
44
+
45
+ ### Architecture Decisions
46
+ - Where does this logic live: frontend, backend, shared?
47
+ - Third-party vs. custom: build or integrate?
48
+ - Performance: caching strategy, lazy loading, pagination
49
+ - State management: where does state live, how does it flow?
50
+
51
+ Not every category applies to every slice. Focus on what's relevant.
52
+
53
+ ## Step 3: Ask About Each Gray Area
54
+
55
+ For each gray area you identify:
56
+
57
+ 1. **State the ambiguity clearly** — "The slice says 'user list' but doesn't specify: paginated table or infinite scroll? How many users are expected?"
58
+ 2. **Offer concrete options** — "Option A: paginated table (simpler, better for large lists). Option B: infinite scroll (smoother UX, more complex)."
59
+ 3. **Wait for the user's decision**
60
+ 4. **Confirm and move on** — "Got it: paginated table, 25 per page."
61
+
62
+ **Rules:**
63
+ - One gray area at a time. Don't dump all questions at once.
64
+ - Always offer options. Don't ask open-ended "what do you want?" questions.
65
+ - If the user says "you decide" or "whatever's simpler" — make the call, state it clearly, and move on.
66
+ - If rigor is `tight`: be brief, 2-3 gray areas max, don't linger.
67
+ - If rigor is `deep`: be thorough, cover all relevant categories.
68
+ - If rigor is `standard` or `creative`: balanced, 3-5 gray areas.
69
+
70
+ ## Step 4: Write CONTEXT.md
71
+
72
+ After all gray areas are resolved, write:
73
+
74
+ ### `.gsd/{SLICE_ID}-CONTEXT.md`
75
+
76
+ Example filename: `.gsd/S01-CONTEXT.md`
77
+
78
+ ```markdown
79
+ # S01 — Context & Decisions
80
+
81
+ ## Slice
82
+ {Slice name and description from roadmap}
83
+
84
+ ## Decisions
85
+
86
+ ### {Gray Area 1 Title}
87
+ **Question:** {What was ambiguous}
88
+ **Decision:** {What was decided}
89
+ **Rationale:** {Why — user's reasoning or default choice}
90
+
91
+ ### {Gray Area 2 Title}
92
+ **Question:** {What was ambiguous}
93
+ **Decision:** {What was decided}
94
+ **Rationale:** {Why}
95
+
96
+ ...
97
+
98
+ ## Constraints
99
+ {Any constraints that emerged — performance targets, compatibility requirements, etc.}
100
+
101
+ ## Notes
102
+ {Anything else relevant for planning — edge cases mentioned, preferences stated, etc.}
103
+ ```
104
+
105
+ ## Step 5: Update DECISIONS.md
106
+
107
+ Append each decision to `.gsd/DECISIONS.md` under a new section for this slice:
108
+
109
+ ```markdown
110
+ ## S{nn} — {Slice Name}
111
+
112
+ - {Decision 1} (reason: {rationale})
113
+ - {Decision 2} (reason: {rationale})
114
+ ...
115
+ ```
116
+
117
+ Use `Edit` to append — never overwrite existing content in DECISIONS.md.
118
+
119
+ ## Step 6: Update STATE.md
120
+
121
+ Update the `phase` field in `.gsd/STATE.md`:
122
+
123
+ ```
124
+ phase: discuss-complete
125
+ ```
126
+
127
+ ## Step 7: Confirm and Hand Off
128
+
129
+ ```
130
+ Discussion complete for S{nn}. {n} decisions captured.
131
+
132
+ .gsd/S{nn}-CONTEXT.md — {n} decisions documented
133
+ .gsd/DECISIONS.md — updated
134
+
135
+ Next: type /gsd-cc to plan this slice in detail.
136
+ ```
137
+
138
+ ## When to Skip Discuss
139
+
140
+ Discuss is optional. The `/gsd-cc` router may skip it if:
141
+ - The slice description is already very specific
142
+ - The user explicitly says "skip discuss, go straight to planning"
143
+ - The rigor is `tight` and the slice is small
144
+
145
+ If skipped, the plan phase works without CONTEXT.md — it just has less input.
File without changes
@@ -0,0 +1,250 @@
1
+ ---
2
+ name: gsd-cc-plan
3
+ description: >
4
+ Research, decompose, and plan the current slice. Produces task plans
5
+ with BDD acceptance criteria and explicit boundaries. Use when /gsd-cc
6
+ routes here, when user says /gsd-cc-plan, or when a slice needs planning.
7
+ allowed-tools: Read, Write, Edit, Bash, Glob, Grep
8
+ ---
9
+
10
+ # /gsd-cc-plan — Slice Planning
11
+
12
+ You turn a slice description into a set of executable task plans. Each task gets BDD acceptance criteria and explicit boundaries. The result is a set of files that `/gsd-cc-apply` or `auto-loop.sh` can execute without ambiguity.
13
+
14
+ ## Step 1: Load Context
15
+
16
+ Read these files (all that exist):
17
+
18
+ 1. `.gsd/STATE.md` — get `current_slice`, `milestone`, `rigor`, `project_type`
19
+ 2. `.gsd/M001-ROADMAP.md` — find the current slice description
20
+ 3. `.gsd/PLANNING.md` — overall project context
21
+ 4. `.gsd/DECISIONS.md` — all decisions made so far
22
+ 5. `.gsd/S{nn}-CONTEXT.md` — discuss phase output (if it exists)
23
+ 6. `.gsd/type.json` — rigor and type config
24
+
25
+ ## Step 2: Research
26
+
27
+ Before decomposing, understand the codebase and ecosystem. Spawn a **read-only research subagent** (or do it yourself if subagents aren't available):
28
+
29
+ ### What to Research
30
+
31
+ 1. **Codebase scan** — What files exist? What's the project structure? What patterns are established?
32
+ 2. **Stack analysis** — What dependencies are installed? What frameworks are in use?
33
+ 3. **Existing code** — What's already built from previous slices? What interfaces exist that this slice must integrate with?
34
+ 4. **Ecosystem check** — Are there libraries that solve parts of this slice? What's the idiomatic approach for this stack?
35
+
36
+ ### Research Output
37
+
38
+ Write `.gsd/M{n}-RESEARCH.md` (one per milestone, append if it exists):
39
+
40
+ ```markdown
41
+ ## Research for S{nn}
42
+
43
+ ### Codebase State
44
+ {What exists, file structure, patterns observed}
45
+
46
+ ### Relevant Interfaces
47
+ {Functions, types, APIs that this slice must work with}
48
+
49
+ ### Dependencies
50
+ {Installed packages, available tools}
51
+
52
+ ### Recommendations
53
+ {Libraries to use, patterns to follow, pitfalls to avoid}
54
+ ```
55
+
56
+ **Research is read-only.** Do not create or modify any project files during research. Only write to `.gsd/`.
57
+
58
+ ## Step 3: Decompose into Tasks
59
+
60
+ Break the slice into tasks. Follow these iron rules:
61
+
62
+ ### Iron Rules
63
+
64
+ 1. **A task that doesn't fit in one context window is two tasks.** If you need more than ~15 files of context + output, split it.
65
+ 2. **1-7 tasks per slice.** If you have more than 7, the slice is too big — tell the user and suggest splitting the slice.
66
+ 3. **Tasks are ordered by dependency.** T01 creates foundations, T02 builds on them, etc.
67
+ 4. **Each task is independently verifiable.** After completing T01, you can prove it works before starting T02.
68
+
69
+ ### For Each Task, Define:
70
+
71
+ #### `<name>`
72
+ Short, descriptive name. "Core types and interfaces", not "Do stuff".
73
+
74
+ #### `<files>`
75
+ List every file this task will create or modify. Be specific — full paths.
76
+
77
+ #### `<acceptance_criteria>`
78
+ **MANDATORY.** At least one AC per task. Every AC uses BDD format:
79
+
80
+ ```xml
81
+ <ac id="AC-1">
82
+ Given {precondition — what state exists before}
83
+ When {action — what the code does}
84
+ Then {outcome — what must be true after}
85
+ </ac>
86
+ ```
87
+
88
+ Good ACs are:
89
+ - **Testable** — you can write a test or run a command to verify
90
+ - **Specific** — "returns a 400 status with error message" not "handles errors"
91
+ - **Independent** — each AC tests one behavior
92
+
93
+ #### `<action>`
94
+ Step-by-step instructions. Numbered list. Concrete enough that Claude Code can execute them without guessing. Reference the ACs: "Write tests covering AC-1 and AC-2."
95
+
96
+ #### `<boundaries>`
97
+ **MANDATORY.** List files that this task MUST NOT change:
98
+
99
+ ```xml
100
+ <boundaries>
101
+ DO NOT CHANGE:
102
+ - src/types.ts (read-only, owned by T01)
103
+ - package.json (no new deps without approval)
104
+ - .gsd/ (do not modify state files during execution)
105
+ </boundaries>
106
+ ```
107
+
108
+ If there are no restrictions, explicitly state: "No boundary restrictions for this task."
109
+
110
+ Every file created by a previous task that this task should not modify MUST be listed here.
111
+
112
+ #### `<verify>`
113
+ The command or check that proves the ACs pass. Must reference AC IDs:
114
+
115
+ ```xml
116
+ <verify>npm test -- --grep "parser" (AC-1, AC-2)</verify>
117
+ ```
118
+
119
+ #### `<done>`
120
+ One sentence: what must be true when this task is complete.
121
+
122
+ ## Step 4: Write Plan Files
123
+
124
+ ### Slice Plan: `.gsd/S{nn}-PLAN.md`
125
+
126
+ Overview of the entire slice:
127
+
128
+ ```markdown
129
+ # S{nn} — {Slice Name}
130
+
131
+ ## Overview
132
+ {What this slice delivers, 2-3 sentences}
133
+
134
+ ## Tasks
135
+
136
+ | Task | Name | Files | ACs |
137
+ |------|------|-------|-----|
138
+ | T01 | {name} | {count} files | {count} ACs |
139
+ | T02 | {name} | {count} files | {count} ACs |
140
+ ...
141
+
142
+ ## All Acceptance Criteria
143
+
144
+ | AC | Task | Criterion |
145
+ |----|------|-----------|
146
+ | AC-1 | T01 | {Given/When/Then summary} |
147
+ | AC-2 | T01 | {Given/When/Then summary} |
148
+ | AC-3 | T02 | {Given/When/Then summary} |
149
+ ...
150
+
151
+ ## Boundaries
152
+
153
+ {Consolidated list of all boundary restrictions across tasks}
154
+
155
+ ## Dependencies
156
+
157
+ T01 → T02 → T03 (or describe the actual graph)
158
+ ```
159
+
160
+ ### Per-Task Plans: `.gsd/S{nn}-T{nn}-PLAN.md`
161
+
162
+ One file per task, using the PLAN.xml template format:
163
+
164
+ ```xml
165
+ <task id="S{nn}-T{nn}" type="auto">
166
+ <name>{task name}</name>
167
+
168
+ <files>
169
+ {file list}
170
+ </files>
171
+
172
+ <acceptance_criteria>
173
+ <ac id="AC-{n}">
174
+ Given {precondition}
175
+ When {action}
176
+ Then {outcome}
177
+ </ac>
178
+ </acceptance_criteria>
179
+
180
+ <action>
181
+ 1. {step}
182
+ 2. {step}
183
+ ...
184
+ </action>
185
+
186
+ <boundaries>
187
+ DO NOT CHANGE:
188
+ - {file} ({reason})
189
+ </boundaries>
190
+
191
+ <verify>{command} (AC-{n}, AC-{m})</verify>
192
+ <done>{completion criteria}</done>
193
+ </task>
194
+ ```
195
+
196
+ ## Step 5: Quality Gate
197
+
198
+ Before finishing, check against `checklists/planning-ready.md`:
199
+
200
+ Read: `~/.claude/skills/gsd/checklists/planning-ready.md`
201
+ (or `./.claude/skills/gsd/checklists/planning-ready.md`)
202
+
203
+ Verify ALL of these:
204
+
205
+ - [ ] Every task has at least 1 acceptance criterion
206
+ - [ ] Every AC has Given/When/Then format
207
+ - [ ] Every task has a boundaries section
208
+ - [ ] No "TBD", "TODO", or "later" in action or files fields
209
+ - [ ] Task count per slice: 1-7
210
+ - [ ] Every task has a `<verify>` that references at least one AC
211
+ - [ ] No circular dependencies between tasks
212
+ - [ ] Each task fits in one context window (~15 files of context + output)
213
+
214
+ If any check fails, fix it before proceeding. Do not skip the quality gate.
215
+
216
+ ## Step 6: Create Git Branch
217
+
218
+ Create a branch for this slice:
219
+
220
+ ```bash
221
+ git checkout -b gsd/M{n}/S{nn}
222
+ ```
223
+
224
+ If the branch already exists (resuming), check it out.
225
+
226
+ ## Step 7: Update STATE.md
227
+
228
+ ```
229
+ current_slice: S{nn}
230
+ current_task: T01
231
+ phase: plan-complete
232
+ ```
233
+
234
+ ## Step 8: Confirm
235
+
236
+ ```
237
+ Planning complete for S{nn}: {slice name}
238
+
239
+ {n} tasks, {m} acceptance criteria
240
+ Boundaries defined for all tasks
241
+ Quality gate passed
242
+
243
+ .gsd/S{nn}-PLAN.md — slice overview
244
+ .gsd/S{nn}-T01-PLAN.md — {task 1 name}
245
+ .gsd/S{nn}-T02-PLAN.md — {task 2 name}
246
+ ...
247
+ Branch: gsd/M{n}/S{nn}
248
+
249
+ Next: type /gsd-cc to execute. (manual or auto)
250
+ ```
File without changes
@@ -0,0 +1,98 @@
1
+ You are GSD-CC in auto-mode. Your job: execute one task.
2
+
3
+ The context files are inlined above in XML tags:
4
+ - <state> — current STATE.md
5
+ - <task-plan> — the task plan for this specific task
6
+ - <slice-plan> — the slice overview
7
+ - <decisions> — DECISIONS.md
8
+ - <prior-summary> — summaries of previously completed tasks (zero or more)
9
+
10
+ ## Your Task
11
+
12
+ 1. Read the task plan from <task-plan>.
13
+ 2. Note the boundaries — files listed as DO NOT CHANGE.
14
+ 3. Execute the action steps exactly as specified.
15
+ 4. Verify all acceptance criteria.
16
+ 5. Write a summary.
17
+ 6. Commit changes.
18
+
19
+ ## Boundary Enforcement
20
+
21
+ Before writing ANY code, read the <boundaries> section.
22
+
23
+ For each file listed as DO NOT CHANGE:
24
+ - Do NOT Edit it.
25
+ - Do NOT Write to it.
26
+ - You MAY Read it for reference.
27
+ - If you must modify a boundary file to complete the task, STOP. Write in the summary that a boundary violation was necessary and why.
28
+
29
+ ## Execution
30
+
31
+ Follow the <action> steps in order. For each step:
32
+ - Do exactly what it says.
33
+ - Create or modify only the files listed in <files>.
34
+ - Write tests if the action says to write tests.
35
+
36
+ ## Verification
37
+
38
+ Run the <verify> command. For each AC:
39
+ - Determine: Pass / Partial / Fail
40
+ - Record the evidence (test output, error message, etc.)
41
+
42
+ If an AC fails:
43
+ - Try to fix the issue (within this task's scope).
44
+ - Re-run verification.
45
+ - If it still fails, mark as Partial or Fail with explanation.
46
+
47
+ ## Files to Write
48
+
49
+ 1. `.gsd/S{nn}-T{nn}-SUMMARY.md` with this format:
50
+
51
+ ```markdown
52
+ # S{nn}/T{nn} — {task name}
53
+
54
+ ## Status
55
+ {complete|partial|blocked}
56
+
57
+ ## What Was Done
58
+ - {bullet points}
59
+
60
+ ## Files Changed
61
+ - {file}: {one-line description}
62
+
63
+ ## Acceptance Criteria Results
64
+
65
+ | AC | Status | Evidence |
66
+ |----|--------|----------|
67
+ | AC-1 | Pass ✓ | {evidence} |
68
+
69
+ ## Decisions Made
70
+ {Any decisions not in the original plan, or "None — implemented as planned."}
71
+
72
+ ## Issues
73
+ {Any problems, or "None."}
74
+ ```
75
+
76
+ ## Git
77
+
78
+ Stage and commit only the files this task changed:
79
+ ```bash
80
+ git add {specific files}
81
+ git commit -m "feat(S{nn}/T{nn}): {task name}"
82
+ ```
83
+
84
+ Do NOT use `git add -A`.
85
+
86
+ ## State Update
87
+
88
+ Update `.gsd/STATE.md`:
89
+ - If more tasks remain: `current_task: T{nn+1}`, `phase: applying`
90
+ - If this was the last task: `phase: apply-complete`, `unify_required: true`
91
+ - Update `last_updated: {now ISO}`
92
+
93
+ ## Do NOT
94
+
95
+ - Do NOT modify files listed in boundaries.
96
+ - Do NOT ask for user input — you are running in non-interactive mode.
97
+ - Do NOT deviate from the plan. If the plan is wrong, note it in the summary but follow it.
98
+ - Do NOT modify .gsd/ state files except STATE.md and writing your SUMMARY.md.
@@ -0,0 +1,76 @@
1
+ You are GSD-CC in auto-mode. Your job: plan the next slice.
2
+
3
+ The context files are inlined above in XML tags:
4
+ - <state> — current STATE.md
5
+ - <project> — PROJECT.md
6
+ - <roadmap> — ROADMAP.md
7
+ - <decisions> — DECISIONS.md
8
+
9
+ ## Your Task
10
+
11
+ 1. Read the current slice from <state> (current_slice field).
12
+ 2. Find the slice description in <roadmap>.
13
+ 3. Research the codebase: scan existing files, understand the project structure, check what's already built.
14
+ 4. Decompose the slice into 1-7 tasks, each fitting one context window.
15
+
16
+ ## For Each Task, Write:
17
+
18
+ Use this XML format in each task plan file:
19
+
20
+ ```xml
21
+ <task id="S{nn}-T{nn}" type="auto">
22
+ <name>{descriptive name}</name>
23
+ <files>{list of files to create/modify}</files>
24
+ <acceptance_criteria>
25
+ <ac id="AC-{n}">
26
+ Given {precondition}
27
+ When {action}
28
+ Then {expected outcome}
29
+ </ac>
30
+ </acceptance_criteria>
31
+ <action>
32
+ 1. {concrete step}
33
+ 2. {concrete step}
34
+ </action>
35
+ <boundaries>
36
+ DO NOT CHANGE:
37
+ - {file} ({reason})
38
+ </boundaries>
39
+ <verify>{command} (AC-{n})</verify>
40
+ <done>{completion criteria}</done>
41
+ </task>
42
+ ```
43
+
44
+ ## Rules
45
+
46
+ - Every task MUST have at least 1 AC in Given/When/Then format.
47
+ - Every task MUST have a boundaries section.
48
+ - No "TBD", "TODO", or "later" in action or files.
49
+ - Files from earlier tasks listed as DO NOT CHANGE in later tasks.
50
+ - Tasks ordered by dependency.
51
+
52
+ ## Files to Write
53
+
54
+ 1. `.gsd/S{nn}-PLAN.md` — slice overview with task table, AC table, boundaries summary, dependency order.
55
+ 2. `.gsd/S{nn}-T01-PLAN.md` through `.gsd/S{nn}-T{last}-PLAN.md` — one file per task.
56
+ 3. `.gsd/M{n}-RESEARCH.md` — append research findings.
57
+
58
+ ## Git
59
+
60
+ Create the slice branch:
61
+ ```bash
62
+ git checkout -b gsd/M{n}/S{nn}
63
+ ```
64
+
65
+ ## State Update
66
+
67
+ Update `.gsd/STATE.md`:
68
+ - current_task: T01
69
+ - phase: plan-complete
70
+ - last_updated: {now ISO}
71
+
72
+ ## Do NOT
73
+
74
+ - Do NOT modify any project source files (only .gsd/ files).
75
+ - Do NOT ask for user input — you are running in non-interactive mode.
76
+ - Do NOT create placeholder content — every AC must be concrete.
@@ -0,0 +1,65 @@
1
+ You are GSD-CC in auto-mode. Your job: assess whether the roadmap is still valid after completing a slice.
2
+
3
+ The context files are inlined above in XML tags:
4
+ - <state> — current STATE.md
5
+ - <project> — PROJECT.md
6
+ - <roadmap> — current ROADMAP.md
7
+ - <decisions> — DECISIONS.md
8
+ - <unify-history> — all UNIFY.md files from completed slices
9
+
10
+ ## Your Task
11
+
12
+ 1. Read all completed UNIFY documents from <unify-history>.
13
+ 2. Read the current roadmap from <roadmap>.
14
+ 3. Assess whether remaining slices are still appropriate.
15
+ 4. If changes are needed, update the roadmap.
16
+
17
+ ## What to Look For
18
+
19
+ - **Scope changes:** Did completed slices reveal new requirements not covered by remaining slices?
20
+ - **Deferred issues:** Do accumulated deferred items need their own slice?
21
+ - **Difficulty shifts:** Was something much harder or easier than expected, affecting later slice estimates?
22
+ - **Dependency changes:** Did a completed slice create or remove dependencies for later slices?
23
+ - **Redundancy:** Are any remaining slices now unnecessary because earlier slices covered their scope?
24
+
25
+ ## Decision
26
+
27
+ ### If roadmap is still valid:
28
+
29
+ Write a brief note to `.gsd/M{n}-REASSESS-S{nn}.md`:
30
+
31
+ ```markdown
32
+ # Reassessment after S{nn}
33
+
34
+ No changes needed. Remaining slices are still appropriate.
35
+
36
+ Reviewed: {list of remaining slices with one-line confirmation each}
37
+ ```
38
+
39
+ ### If roadmap needs update:
40
+
41
+ 1. Write `.gsd/M{n}-REASSESS-S{nn}.md` with the detailed reasoning.
42
+ 2. Update `.gsd/M{n}-ROADMAP.md` with the changes:
43
+ - Add new slices if needed
44
+ - Remove or merge redundant slices
45
+ - Reorder if dependencies changed
46
+ - Update slice descriptions if scope shifted
47
+ 3. Append the changes to `.gsd/DECISIONS.md`:
48
+ ```
49
+ ## Roadmap Reassessment after S{nn}
50
+ - {change}: {reason}
51
+ ```
52
+
53
+ ## State Update
54
+
55
+ Update `.gsd/STATE.md`:
56
+ - Set current_slice to the next pending slice
57
+ - phase: unified (keep — the router will advance to the next action)
58
+ - last_updated: {now ISO}
59
+
60
+ ## Do NOT
61
+
62
+ - Do NOT modify any project source files.
63
+ - Do NOT ask for user input.
64
+ - Do NOT remove completed slices from the roadmap (they are historical record).
65
+ - Do NOT change the scope of the project (PLANNING.md) — only adjust the roadmap.