@leeovery/claude-technical-workflows 2.1.17 → 2.1.19

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 (45) hide show
  1. package/package.json +1 -1
  2. package/skills/link-dependencies/SKILL.md +2 -2
  3. package/skills/start-discussion/SKILL.md +6 -6
  4. package/skills/start-implementation/SKILL.md +3 -4
  5. package/skills/start-planning/SKILL.md +3 -4
  6. package/skills/start-research/SKILL.md +13 -88
  7. package/skills/start-research/references/gather-context.md +68 -0
  8. package/skills/start-research/references/invoke-skill.md +23 -0
  9. package/skills/start-review/SKILL.md +3 -4
  10. package/skills/start-specification/SKILL.md +19 -758
  11. package/skills/start-specification/references/analysis-flow.md +103 -0
  12. package/skills/start-specification/references/confirm-and-handoff.md +30 -0
  13. package/skills/start-specification/references/confirm-continue.md +90 -0
  14. package/skills/start-specification/references/confirm-create.md +73 -0
  15. package/skills/start-specification/references/confirm-refine.md +41 -0
  16. package/skills/start-specification/references/confirm-unify.md +63 -0
  17. package/skills/start-specification/references/display-analyze.md +86 -0
  18. package/skills/start-specification/references/display-blocks.md +42 -0
  19. package/skills/start-specification/references/display-groupings.md +168 -0
  20. package/skills/start-specification/references/display-single-grouped.md +70 -0
  21. package/skills/start-specification/references/display-single-has-spec.md +59 -0
  22. package/skills/start-specification/references/display-single-no-spec.md +54 -0
  23. package/skills/start-specification/references/display-single.md +25 -0
  24. package/skills/start-specification/references/display-specs-menu.md +132 -0
  25. package/skills/start-specification/references/handoffs/continue-concluded.md +24 -0
  26. package/skills/start-specification/references/handoffs/continue.md +22 -0
  27. package/skills/start-specification/references/handoffs/create-with-incorporation.md +30 -0
  28. package/skills/start-specification/references/handoffs/create.md +20 -0
  29. package/skills/start-specification/references/handoffs/unify-with-incorporation.md +32 -0
  30. package/skills/start-specification/references/handoffs/unify.md +21 -0
  31. package/skills/start-specification/scripts/discovery.sh +66 -12
  32. package/skills/technical-implementation/SKILL.md +15 -7
  33. package/skills/technical-implementation/references/steps/analysis-loop.md +15 -11
  34. package/skills/technical-implementation/references/steps/task-loop.md +6 -6
  35. package/skills/technical-planning/SKILL.md +12 -8
  36. package/skills/technical-planning/references/steps/analyze-task-graph.md +4 -4
  37. package/skills/technical-planning/references/steps/author-tasks.md +2 -2
  38. package/skills/technical-planning/references/steps/define-phases.md +2 -2
  39. package/skills/technical-planning/references/steps/define-tasks.md +2 -2
  40. package/skills/technical-planning/references/steps/plan-construction.md +2 -2
  41. package/skills/technical-planning/references/steps/resolve-dependencies.md +2 -2
  42. package/skills/technical-planning/references/steps/review-integrity.md +2 -2
  43. package/skills/technical-planning/references/steps/review-traceability.md +2 -2
  44. package/skills/technical-research/SKILL.md +2 -2
  45. package/skills/technical-specification/references/specification-guide.md +6 -6
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: start-specification
3
- description: "Start a specification session from existing discussions. Discovers available discussions, offers consolidation assessment for multiple discussions, and invokes the technical-specification skill."
3
+ description: "Start a specification session from concluded discussions. Discovers available discussions, offers consolidation assessment for multiple discussions, and invokes the technical-specification skill."
4
4
  disable-model-invocation: true
5
5
  allowed-tools: Bash(.claude/skills/start-specification/scripts/discovery.sh), Bash(mkdir -p docs/workflow/.cache), Bash(rm docs/workflow/.cache/discussion-consolidation-analysis.md)
6
6
  ---
@@ -44,7 +44,7 @@ Follow these steps EXACTLY as written. Do not skip steps or combine them. Presen
44
44
 
45
45
  Invoke the `/migrate` skill and assess its output.
46
46
 
47
- **If files were updated**: STOP and wait for the user to review the changes (e.g., via `git diff`) and confirm before proceeding to Step 1. Do not continue automatically.
47
+ **If files were updated**: STOP and wait for the user to review the changes (e.g., via `git diff`) and confirm before proceeding to Step 1.
48
48
 
49
49
  **If no updates needed**: Proceed to Step 1.
50
50
 
@@ -64,22 +64,13 @@ If YAML content is already displayed, it has been run on your behalf.
64
64
 
65
65
  Parse the discovery output to understand:
66
66
 
67
- **From `discussions` array:**
68
- - Each discussion's name, status, and whether it has an individual specification
69
- - If `has_individual_spec` is true, `spec_status` contains the spec's status (in-progress/concluded)
67
+ **From `discussions` array:** Each discussion's name, status, and whether it has an individual specification.
70
68
 
71
- **From `specifications` array:**
72
- - Each specification's name, status, sources, and superseded_by (if applicable)
73
- - Specifications with `status: superseded` should be noted but excluded from active counts
69
+ **From `specifications` array:** Each specification's name, status, sources, and superseded_by (if applicable). Specifications with `status: superseded` should be noted but excluded from active counts.
74
70
 
75
- **From `cache` section:**
76
- - `status` - one of three values:
77
- - `"valid"` - cache exists and checksums match (safe to load)
78
- - `"stale"` - cache exists but discussions have changed (needs re-analysis)
79
- - `"none"` - no cache file exists
80
- - `reason` - explanation of the status
81
- - `generated` - when the cache was created (null if none)
82
- - `anchored_names` - grouping names that have existing specifications and MUST be preserved in any regeneration
71
+ **From `cache` section:** `status` (valid/stale/none), `reason`, `generated`, `anchored_names`.
72
+
73
+ **From `current_state`:** `concluded_count`, `spec_count`, `has_discussions`, `has_concluded`, `has_specs`, and other counts/booleans for routing.
83
74
 
84
75
  **IMPORTANT**: Use ONLY this script for discovery. Do NOT run additional bash commands (ls, head, cat, etc.) to gather state - the script provides everything needed.
85
76
 
@@ -89,763 +80,33 @@ Parse the discovery output to understand:
89
80
 
90
81
  ## Step 2: Check Prerequisites
91
82
 
92
- #### If no discussions exist
93
-
94
- ```
95
- No discussions found in docs/workflow/discussion/
96
-
97
- The specification phase requires a completed discussion. Please run /start-discussion first to document the technical decisions, edge cases, and rationale before creating a specification.
98
- ```
99
-
100
- **STOP.** Wait for user acknowledgment. Do not proceed.
101
-
102
- #### If discussions exist but none are concluded
103
-
104
- ```
105
- No concluded discussions found.
106
-
107
- The following discussions are still in progress:
108
- - {topic-1} (in-progress)
109
- - {topic-2} (in-progress)
110
-
111
- Please complete the discussion phase before creating specifications. Run /start-discussion to continue a discussion.
112
- ```
83
+ #### If has_discussions is false or has_concluded is false
113
84
 
114
- **STOP.** Wait for user acknowledgment. Do not proceed.
85
+ → Load **[display-blocks.md](references/display-blocks.md)** and follow its instructions. **STOP.**
115
86
 
116
87
  #### Otherwise
117
88
 
118
- At least one concluded discussion exists.
119
-
120
89
  → Proceed to **Step 3**.
121
90
 
122
91
  ---
123
92
 
124
- ## Step 3: Present Status & Route
125
-
126
- Show the current state clearly. Use this EXACT format:
127
-
128
- ```
129
- Specification Phase
130
-
131
- Available discussions:
132
- + {topic-1} - create new spec
133
- + {topic-2} - create new spec
134
- ▶ {topic-3} - continue in-progress spec
135
- > {topic-4} - review concluded spec
136
-
137
- Not specifiable discussions:
138
- · {topic-5} [in-progress]
139
-
140
- Existing specifications:
141
- • {spec-1} [active] - sources: {topic-1}
142
- • {spec-2} [superseded → {other-spec}] - sources: {topic-x}
143
-
144
- {N} concluded discussions available.
145
- ```
146
-
147
- **Legend:**
148
- - `+` = concluded, no spec yet (create new)
149
- - `▶` = concluded, has in-progress spec (continue)
150
- - `>` = concluded, has concluded spec (review)
151
- - `·` = in-progress (not specifiable)
152
-
153
- Omit either discussions section if it has no entries.
154
-
155
- #### Routing Based on State
156
-
157
- #### If only ONE concluded discussion exists
158
-
159
- This is the simple path - no choices needed.
160
-
161
- ```
162
- Single concluded discussion found: {topic}
163
- {If has spec: "An existing specification ({spec_status}) will be continued/refined."}
164
-
165
- Proceeding with this discussion.
166
- ```
167
-
168
- → Skip to **Step 9: Confirm Selection** with that discussion as the source.
169
-
170
- #### If MULTIPLE concluded discussions exist with NO existing specifications
171
-
172
- Check `cache.status` from discovery.
173
-
174
- ##### If `cache.status: "valid"`
175
-
176
- ```
177
- {N} concluded discussions found.
178
-
179
- Previous analysis available from {cache.generated}. Loading groupings...
180
- ```
181
-
182
- → Skip directly to **Step 7: Present Grouping Options**.
183
-
184
- ##### If `cache.status: "stale"`
185
-
186
- ```
187
- {N} concluded discussions found.
188
-
189
- Note: A previous grouping analysis exists but is now outdated - discussion documents have changed since it was created. Re-analysis is required, but existing specification names will be preserved where groupings overlap.
190
-
191
- Analyzing discussions for natural groupings...
192
- ```
193
-
194
- → Proceed to **Step 4: Gather Analysis Context**.
195
-
196
- ##### If `cache.status: "none"`
197
-
198
- ```
199
- {N} concluded discussions found.
200
-
201
- Analyzing discussions for natural groupings...
202
- ```
203
-
204
- → Proceed to **Step 4: Gather Analysis Context**.
205
-
206
- #### If MULTIPLE concluded discussions exist WITH existing specifications
207
-
208
- Check `cache.status` from discovery to determine which options to present.
209
-
210
- ##### If `cache.status: "valid"`
211
-
212
- ```
213
- · · ·
214
-
215
- What would you like to do?
216
-
217
- - **`c`/`continue`** — Resume work on a spec in progress
218
- - **`s`/`select`** — Choose from previously analyzed groupings ({cache.generated})
219
- - **`r`/`refresh`** — Fresh analysis of discussion relationships
220
- ```
221
-
222
- **STOP.** Wait for user response.
223
-
224
- ##### If `cache.status: "stale"`
225
-
226
- ```
227
- · · ·
228
-
229
- What would you like to do?
230
-
231
- Note: A previous grouping analysis exists but is now outdated - discussion documents have changed since it was created. Re-analysis is required, but existing specification names will be preserved where groupings overlap.
232
-
233
- - **`c`/`continue`** — Resume work on a spec in progress
234
- - **`a`/`assess`** — Re-analyze discussions for combinations
235
- ```
236
-
237
- **STOP.** Wait for user response.
238
-
239
- ##### If `cache.status: "none"`
240
-
241
- ```
242
- · · ·
243
-
244
- What would you like to do?
245
-
246
- - **`c`/`continue`** — Resume work on a spec in progress
247
- - **`a`/`assess`** — Analyze discussions for combinations
248
- ```
249
-
250
- **STOP.** Wait for user response.
251
-
252
- #### If "continue"
253
-
254
- ```
255
- Which specification would you like to continue?
256
-
257
- 1. {spec-1} ({status}) - sources: {topics}
258
- 2. {spec-2} ({status}) - sources: {topics}
259
- ```
260
-
261
- **STOP.** Wait for user to pick, then skip to **Step 9**.
262
-
263
- #### If "select" (valid cache path)
264
-
265
- Load groupings from cache and → Skip directly to **Step 7: Present Grouping Options**.
266
-
267
- (Context was already gathered when the analysis was created - no need to ask again.)
268
-
269
- #### If "refresh"
270
-
271
- Delete the existing cache to force regeneration:
272
- ```bash
273
- rm docs/workflow/.cache/discussion-consolidation-analysis.md
274
- ```
275
-
276
- → Proceed to **Step 4: Gather Analysis Context**.
277
-
278
- #### If "assess" (no valid cache path)
279
-
280
- → Proceed to **Step 4: Gather Analysis Context**.
281
-
282
- ---
283
-
284
- ## Step 4: Gather Analysis Context
285
-
286
- ```
287
- Before I analyze the discussions, is there anything about your project structure or how these topics relate that would help me group them appropriately?
288
-
289
- For example:
290
- - Are certain topics part of the same feature or subsystem?
291
- - Are there dependencies I should know about?
292
- - Any topics that MUST stay separate?
293
- ```
294
-
295
- **STOP.** Wait for user response. Note their input for the analysis.
296
-
297
- → Proceed to **Step 5**.
298
-
299
- ---
300
-
301
- ## Step 5: Check Cache Status
93
+ ## Step 3: Route
302
94
 
303
- Check `cache.status` from discovery.
95
+ Based on discovery state, load exactly ONE reference file:
304
96
 
305
- #### If `cache.status: "valid"`
97
+ #### If concluded_count == 1
306
98
 
307
- ```
308
- Using cached analysis
309
-
310
- Discussion documents unchanged since last analysis ({cache.generated}).
311
- Loading previously identified groupings...
312
- ```
99
+ → Load **[display-single.md](references/display-single.md)** and follow its instructions.
313
100
 
314
- Load groupings from cache and Skip to **Step 7: Present Grouping Options**.
315
-
316
- #### If `cache.status: "stale"` or `"none"`
317
-
318
- ```
319
- {cache.reason}
320
-
321
- Analyzing discussions...
322
- ```
323
-
324
- → Proceed to **Step 6: Analyze Discussions**.
325
-
326
- ---
327
-
328
- ## Step 6: Analyze Discussions
329
-
330
- **This step is critical. You MUST read every concluded discussion document thoroughly.**
331
-
332
- For each concluded discussion:
333
- 1. Read the ENTIRE document using the Read tool (not just frontmatter)
334
- 2. Understand the decisions, systems, and concepts it defines
335
- 3. Note dependencies on or references to other discussions
336
- 4. Identify shared data structures, entities, or behaviors
337
-
338
- Then analyze coupling between discussions:
339
- - **Data coupling**: Discussions that define or depend on the same data structures
340
- - **Behavioral coupling**: Discussions where one's implementation requires another
341
- - **Conceptual coupling**: Discussions that address different facets of the same problem
342
-
343
- Group discussions into specifications where each grouping represents a **coherent feature or capability that can be independently planned and built** — with clear stages delivering incremental, testable value. Coupling tells you what's related; the grouping decision also requires that the result is the right shape:
344
-
345
- - **Tightly coupled discussions belong together** — their decisions are inseparable and would produce interleaved implementation work
346
- - **Don't group too broadly** — if a grouping mixes unrelated concerns, the resulting specification will produce incoherent stages and tasks that jump between disconnected areas
347
- - **Don't group too narrowly** — if a grouping is too thin, it may not warrant its own specification, planning, and implementation cycle
348
- - **Flag cross-cutting discussions** — discussions about patterns or policies (not features) should become cross-cutting specifications rather than being grouped with feature discussions
349
-
350
- #### Preserve Anchored Names
351
-
352
- **CRITICAL**: Check the `cache.anchored_names` from discovery state. These are grouping names that have existing specifications.
353
-
354
- When forming groupings:
355
- - If a grouping contains a majority of the same discussions as an anchored name's spec, you MUST reuse that anchored name
356
- - Only create new names for genuinely new groupings with no overlap
357
- - If an anchored spec's discussions are now scattered across multiple new groupings, note this as a **naming conflict** to present to the user
358
-
359
- #### Save to Cache
360
-
361
- After analysis, create the cache directory if needed:
362
- ```bash
363
- mkdir -p docs/workflow/.cache
364
- ```
101
+ #### If cache status is "valid"
365
102
 
366
- Write to `docs/workflow/.cache/discussion-consolidation-analysis.md`:
367
-
368
- ```markdown
369
- ---
370
- checksum: {checksum from current_state.discussions_checksum}
371
- generated: {ISO date}
372
- discussion_files:
373
- - {topic1}.md
374
- - {topic2}.md
375
- ---
376
-
377
- # Discussion Consolidation Analysis
378
-
379
- ## Recommended Groupings
380
-
381
- ### {Suggested Specification Name}
382
- - **{topic-a}**: {why it belongs in this group}
383
- - **{topic-b}**: {why it belongs in this group}
384
- - **{topic-c}**: {why it belongs in this group}
385
-
386
- **Coupling**: {Brief explanation of what binds these together}
387
-
388
- ### {Another Specification Name}
389
- - **{topic-d}**: {why it belongs}
390
- - **{topic-e}**: {why it belongs}
391
-
392
- **Coupling**: {Brief explanation}
393
-
394
- ## Independent Discussions
395
- - **{topic-f}**: {Why this stands alone - no strong coupling to others}
396
-
397
- ## Analysis Notes
398
- {Any additional context about the relationships discovered}
399
- {Note any naming conflicts with anchored specs here}
400
- ```
401
-
402
- → Proceed to **Step 7**.
403
-
404
- ---
405
-
406
- ## Step 7: Present Grouping Options
407
-
408
- Present the groupings with FULL status information.
409
-
410
- For each grouping, show:
411
- - The grouping name
412
- - Whether a specification already exists for this grouping (and its effective status)
413
- - Each discussion in the grouping and its incorporation status
414
-
415
- ### Determining Discussion Status Within a Grouping
416
-
417
- For each grouping, first check if a grouped specification exists:
418
- 1. Convert the grouping name to kebab-case (lowercase, spaces to hyphens)
419
- 2. Check if `docs/workflow/specification/{kebab-name}.md` exists
420
- 3. If it exists, get its `sources` array from the discovery output
421
-
422
- The sources array uses object format with explicit status tracking:
423
- ```yaml
424
- sources:
425
- - name: topic-a
426
- status: incorporated
427
- - name: topic-b
428
- status: pending
429
- ```
430
-
431
- **If a grouped spec exists for the grouping:**
432
-
433
- For each discussion in the grouping:
434
- 1. Look up the discussion in the spec's `sources` array (by `name` field)
435
- 2. If found → use the source's `status` field (`incorporated` or `pending`)
436
- 3. If NOT found → status is `"pending"` (new source not yet added to spec)
437
-
438
- Calculate the **effective spec status**:
439
- - If ALL discussions in the grouping have `status: incorporated` → use the spec's actual status from file
440
- - If ANY discussion has `status: pending` OR is not in sources → effective status is `"needs update"`
441
-
442
- **If NO grouped spec exists:**
443
-
444
- For each discussion in the grouping:
445
- - If the discussion has an individual spec (`has_individual_spec: true`) → status is `"spec: {spec_status}"`
446
- - If the discussion has no spec → status is `"ready"`
447
-
448
- **Format:**
449
-
450
- ```
451
- {Fresh analysis / Cached analysis} complete
452
-
453
- Recommended Groupings:
454
-
455
- ### 1. {Grouping Name} (spec: {effective_status})
456
- | Discussion | Status |
457
- |------------|--------|
458
- | {topic-a} | incorporated |
459
- | {topic-b} | incorporated |
460
- | {topic-c} | pending |
461
-
462
- Coupling: {explanation}
463
-
464
- ### 2. {Another Grouping}
465
- | Discussion | Status |
466
- |------------|--------|
467
- | {topic-d} | ready |
468
- | {topic-e} | spec: in-progress |
469
-
470
- Coupling: {explanation}
471
-
472
- ### Independent
473
- - {topic-f}: standalone
474
-
475
- ---
476
-
477
- · · ·
478
-
479
- How would you like to proceed?
480
-
481
- - **`p`/`proceed`** — As recommended (I'll ask which to start with)
482
- - **`s`/`single`** — Consolidate ALL into one unified spec
483
- - **`i`/`individual`** — Create 1:1 specs (I'll ask which to start)
484
- - **`r`/`refresh`** — Re-analyze discussions
485
- - Combine differently — tell me your preferred groupings
486
- ```
103
+ Load **[display-groupings.md](references/display-groupings.md)** and follow its instructions.
487
104
 
488
- **Status Legend:**
489
- - `incorporated` - Discussion content has been woven into the grouped specification
490
- - `pending` - Discussion is part of the group but not yet incorporated into the spec
491
- - `ready` - Discussion has no spec yet (ready to be specified)
492
- - `spec: {status}` - Discussion has its own individual specification
493
- - `needs update` - Grouped spec exists but has pending sources to incorporate
105
+ #### If spec_count == 0 and cache is "none" or "stale"
494
106
 
495
- **STOP.** Wait for user to choose.
107
+ → Load **[display-analyze.md](references/display-analyze.md)** and follow its instructions.
496
108
 
497
- Based on choice, proceed to **Step 8**.
498
-
499
- ---
500
-
501
- ## Step 8: Select Grouping
502
-
503
- Based on user's choice from Step 7:
504
-
505
- #### If "proceed"
506
-
507
- ```
508
- Which would you like to start with?
509
-
510
- Grouped:
511
- 1. {Grouping Name A} - {N} discussions
512
- 2. {Grouping Name B} - {N} discussions (spec: {spec_status})
513
- 3. {Grouping Name C} - {N} discussions
514
-
515
- Independent:
516
- 4. {topic-f} - standalone
517
- 5. {topic-g} - standalone
518
- ```
519
-
520
- List ALL items from the analysis: grouped specifications first, then independent discussions. Number them consecutively.
521
-
522
- **STOP.** Wait for user to pick a number, then proceed to **Step 9**.
523
-
524
- #### If "combine differently"
525
-
526
- ```
527
- Please describe your preferred groupings. Which discussions should be combined together?
528
- ```
529
-
530
- **STOP.** Wait for user to describe their groupings.
531
-
532
- ##### Analyze Impact
533
-
534
- Determine which existing specifications are affected by the proposed groupings. A spec is "affected" if:
535
- - Its source discussions are being split across multiple new groupings, OR
536
- - It's being merged with another spec's source discussions
537
-
538
- ##### Simple case (0-1 specs affected)
539
-
540
- Establish a name for each grouping:
541
- - If the grouping contains all sources from an existing spec → suggest that spec's name
542
- - Otherwise → propose a semantic name based on the combined content
543
-
544
- ```
545
- Based on your description:
546
-
547
- 1. {Proposed Name} - {topic-a}, {topic-b}, {topic-c}
548
- {If expanding existing spec: "(continues {spec-name} specification)"}
549
-
550
- {If name derived from existing spec:}
551
- Keep the name "{spec-name}" or use a different name?
552
- ```
553
-
554
- **STOP.** Wait for user to confirm or provide a different name.
555
-
556
- → Proceed to **Update Cache** below.
557
-
558
- ##### Complex case (2+ specs affected)
559
-
560
- ```
561
- This reorganization affects multiple existing specifications:
562
- - {spec-1} (sources: {topics})
563
- - {spec-2} (sources: {topics})
564
-
565
- Moving discussions between established specifications requires deleting the affected specs and re-processing. The source material in your discussions is preserved.
566
-
567
- · · ·
568
-
569
- - **`d`/`delete`** — Remove affected specs and create fresh ones for your new groupings
570
- - **`r`/`reconsider`** — Adjust your groupings to affect fewer specs
571
- ```
572
-
573
- **STOP.** Wait for user choice.
574
-
575
- - If delete: Remove the affected spec files, then proceed to **Update Cache**
576
- - If reconsider: Return to grouping description prompt
577
-
578
- ##### Update Cache
579
-
580
- After confirming groupings, update the cache to reflect the user's custom arrangement.
581
-
582
- Rewrite `docs/workflow/.cache/discussion-consolidation-analysis.md` with:
583
- - Same `checksum` value (discussions unchanged)
584
- - New `generated` timestamp
585
- - User's custom groupings in the "Recommended Groupings" section
586
- - Note in Analysis Notes: `Custom groupings confirmed by user.`
587
-
588
- This ensures subsequent runs present the agreed groupings rather than re-analyzing.
589
-
590
- ```
591
- Groupings confirmed. Cache updated.
592
-
593
- Which grouping would you like to start with?
594
-
595
- 1. {Grouping A} - {N} discussions {if has spec: "(spec: {spec_status})"}
596
- 2. {Grouping B} - {N} discussions
597
- ```
598
-
599
- **STOP.** Wait for user to pick, then proceed to **Step 9**.
600
-
601
- #### If "single"
602
-
603
- Use "unified" as the specification name.
604
- Check if `docs/workflow/specification/unified.md` already exists.
605
-
606
- ```
607
- {If exists: "A unified specification already exists. Proceeding will continue/refine it."}
608
-
609
- This will consolidate ALL {N} concluded discussions into a single specification.
610
-
611
- · · ·
612
-
613
- Proceed with unified specification?
614
- - **`y`/`yes`** — Proceed
615
- - **`n`/`no`** — Cancel
616
- ```
617
-
618
- **STOP.** Wait for user to confirm, then proceed to **Step 9** with all discussions as sources.
619
-
620
- #### If "individual"
621
-
622
- ```
623
- Which discussion would you like to specify?
624
-
625
- 1. {topic-1}
626
- 2. {topic-2} (spec: {spec_status})
627
- 3. {topic-3}
628
- ```
629
-
630
- **STOP.** Wait for user to pick, then proceed to **Step 9**.
631
-
632
- #### If "refresh"
633
-
634
- ```
635
- Refreshing analysis...
636
- ```
637
-
638
- Delete the cache file:
639
- ```bash
640
- rm docs/workflow/.cache/discussion-consolidation-analysis.md
641
- ```
642
-
643
- → Return to **Step 6: Analyze Discussions**.
644
-
645
- ---
646
-
647
- ## Step 9: Confirm Selection
648
-
649
- Present what will happen based on the selection:
650
-
651
- #### If creating a NEW grouped specification (with individual specs to incorporate)
652
-
653
- ```
654
- Creating specification: {grouping-name}
655
-
656
- Sources:
657
- | Type | File | Action |
658
- |------|------|--------|
659
- | Discussion | {topic-a}.md | Extract content |
660
- | Discussion | {topic-b}.md | Extract content |
661
- | Existing Spec | specification/{topic-c}.md | Incorporate and supersede |
662
-
663
- Output: docs/workflow/specification/{grouping-name}.md
664
-
665
- After completion:
666
- - specification/{topic-c}.md will be marked as superseded
667
-
668
- · · ·
669
-
670
- Proceed?
671
- - **`y`/`yes`** — Proceed
672
- - **`n`/`no`** — Go back
673
- ```
674
-
675
- #### If creating a NEW grouped specification (no existing specs)
676
-
677
- ```
678
- Creating specification: {grouping-name}
679
-
680
- Sources:
681
- - docs/workflow/discussion/{topic-a}.md
682
- - docs/workflow/discussion/{topic-b}.md
683
- - docs/workflow/discussion/{topic-c}.md
684
-
685
- Output: docs/workflow/specification/{grouping-name}.md
686
-
687
- · · ·
688
-
689
- Proceed?
690
- - **`y`/`yes`** — Proceed
691
- - **`n`/`no`** — Go back
692
- ```
693
-
694
- #### If CONTINUING an existing grouped specification
695
-
696
- ```
697
- Continuing specification: {grouping-name}
698
-
699
- Existing: docs/workflow/specification/{grouping-name}.md (will be refined)
700
-
701
- Sources:
702
- - docs/workflow/discussion/{topic-a}.md
703
- - docs/workflow/discussion/{topic-b}.md
704
-
705
- · · ·
706
-
707
- Proceed?
708
- - **`y`/`yes`** — Proceed
709
- - **`n`/`no`** — Go back
710
- ```
711
-
712
- #### If creating/continuing an INDIVIDUAL specification
713
-
714
- ```
715
- {Creating / Continuing} specification: {topic}
716
-
717
- Sources:
718
- - docs/workflow/discussion/{topic}.md
719
-
720
- Output: docs/workflow/specification/{topic}.md
721
-
722
- · · ·
723
-
724
- Proceed?
725
- - **`y`/`yes`** — Proceed
726
- - **`n`/`no`** — Go back
727
- ```
728
-
729
- **STOP.** Wait for user confirmation.
730
-
731
- **If user confirms (y):** → Proceed to **Step 10**.
732
- **If user declines (n):** → Return to **Step 8** to select a different grouping or discussion.
733
-
734
- ---
735
-
736
- ## Step 10: Gather Additional Context
737
-
738
- ```
739
- Before invoking the specification skill:
740
-
741
- 1. Any additional context or priorities to consider?
742
- 2. Any constraints or changes since the discussion(s) concluded?
743
- 3. Are there existing partial implementations or related documentation I should review?
744
-
745
- (Say 'none' or 'continue' if nothing to add)
746
- ```
747
-
748
- **STOP.** Wait for user response.
749
-
750
- → Proceed to **Step 11**.
751
-
752
- ---
753
-
754
- ## Step 11: Invoke the Skill
755
-
756
- After completing all steps above, this skill's purpose is fulfilled.
757
-
758
- Invoke the [technical-specification](../technical-specification/SKILL.md) skill for your next instructions. Do not act on the gathered information until the skill is loaded - it contains the instructions for how to proceed.
759
-
760
- #### Handoff Format
761
-
762
- **Single source (individual specification):**
763
-
764
- ```
765
- Specification session for: {topic}
766
-
767
- Sources:
768
- - docs/workflow/discussion/{topic}.md
769
-
770
- Output: docs/workflow/specification/{topic}.md
771
-
772
- Additional context: {summary of user's answers from Step 10}
773
-
774
- ---
775
- Invoke the technical-specification skill.
776
- ```
777
-
778
- **Multiple sources (grouped specification, no existing specs to incorporate):**
779
-
780
- ```
781
- Specification session for: {specification-name}
782
-
783
- Sources:
784
- - docs/workflow/discussion/{topic-1}.md
785
- - docs/workflow/discussion/{topic-2}.md
786
- - docs/workflow/discussion/{topic-3}.md
787
-
788
- Output: docs/workflow/specification/{specification-name}.md
789
-
790
- Additional context: {summary of user's answers from Step 10}
791
-
792
- ---
793
- Invoke the technical-specification skill.
794
- ```
795
-
796
- **Multiple sources WITH existing specs to incorporate:**
797
-
798
- ```
799
- Specification session for: {specification-name}
800
-
801
- Source discussions:
802
- - docs/workflow/discussion/{topic-1}.md
803
- - docs/workflow/discussion/{topic-2}.md
804
-
805
- Existing specifications to incorporate:
806
- - docs/workflow/specification/{topic-3}.md (covers: {topic-3} discussion)
807
-
808
- Output: docs/workflow/specification/{specification-name}.md
809
-
810
- Context: This consolidates multiple sources. The existing {topic-3}.md specification should be incorporated - extract and adapt its content alongside the discussion material. The result should be a unified specification, not a simple merge.
811
-
812
- After the {specification-name} specification is complete, mark the incorporated specs as superseded by updating their frontmatter:
813
-
814
- status: superseded
815
- superseded_by: {specification-name}
816
-
817
- Additional context: {summary of user's answers from Step 10}
818
-
819
- ---
820
- Invoke the technical-specification skill.
821
- ```
822
-
823
- **Continuing an existing specification:**
824
-
825
- ```
826
- Specification session for: {specification-name}
827
-
828
- Continuing existing: docs/workflow/specification/{specification-name}.md
829
-
830
- Sources for reference:
831
- - docs/workflow/discussion/{topic-1}.md
832
- - docs/workflow/discussion/{topic-2}.md
833
-
834
- Context: This specification already exists. Review and refine it based on the source discussions and any new context provided.
835
-
836
- Additional context: {summary of user's answers from Step 10}
837
-
838
- ---
839
- Invoke the technical-specification skill.
840
- ```
841
-
842
- ---
109
+ #### Otherwise
843
110
 
844
- ## Notes
111
+ Load **[display-specs-menu.md](references/display-specs-menu.md)** and follow its instructions.
845
112
 
846
- - Ask questions clearly and STOP after each to wait for responses
847
- - Only concluded discussions should proceed to specification
848
- - When multiple sources are provided, the skill will extract exhaustively from ALL of them
849
- - Attribution in the specification should trace content back to its source discussion(s)
850
- - Superseded specifications are excluded from future planning phases
851
- - The specification is the "line in the sand" - be thorough, not hasty