@leeovery/claude-technical-workflows 2.0.25 → 2.0.26
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.
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Start a specification session from
|
|
2
|
+
description: Start a specification session from existing discussions. Discovers available discussions, offers consolidation assessment for multiple discussions, and invokes the technical-specification skill.
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
Invoke the **technical-specification** skill for this conversation.
|
|
@@ -17,7 +17,7 @@ This is **Phase 3** of the six-phase workflow:
|
|
|
17
17
|
| 5. Implementation | DOING - tests first, then code | |
|
|
18
18
|
| 6. Review | VALIDATING - check work against artifacts | |
|
|
19
19
|
|
|
20
|
-
**Stay in your lane**: Validate and refine discussion content into
|
|
20
|
+
**Stay in your lane**: Validate and refine discussion content into standalone specifications. Don't jump to planning, phases, tasks, or code. The specification is the "line in the sand" - everything after this has hard dependencies on it.
|
|
21
21
|
|
|
22
22
|
---
|
|
23
23
|
|
|
@@ -46,40 +46,221 @@ Scan the codebase for discussions and specifications:
|
|
|
46
46
|
3. **Check for existing specifications**: Look in `docs/workflow/specification/`
|
|
47
47
|
- Identify discussions that don't have corresponding specifications
|
|
48
48
|
|
|
49
|
+
4. **Check for cached consolidation analysis** (if multiple discussions):
|
|
50
|
+
- Check if `docs/workflow/.cache/discussion-consolidation-analysis.md` exists
|
|
51
|
+
- If it exists, read it to get the stored checksum from the frontmatter
|
|
52
|
+
|
|
53
|
+
5. **Compute current discussions checksum** (if multiple concluded discussions):
|
|
54
|
+
- Run exactly: `cat docs/workflow/discussion/*.md 2>/dev/null | md5sum | cut -d' ' -f1`
|
|
55
|
+
- IMPORTANT: Use this exact command - glob expansion is alphabetically sorted by default
|
|
56
|
+
- Do NOT modify or "simplify" this command - checksum must be deterministic
|
|
57
|
+
- Store this value to compare with the cached checksum
|
|
58
|
+
|
|
49
59
|
## Step 2: Check Prerequisites
|
|
50
60
|
|
|
51
61
|
**If no discussions exist:**
|
|
52
62
|
|
|
53
63
|
```
|
|
54
|
-
|
|
64
|
+
No discussions found in docs/workflow/discussion/
|
|
55
65
|
|
|
56
66
|
The specification phase requires a completed discussion. Please run /workflow:start-discussion first to document the technical decisions, edge cases, and rationale before creating a specification.
|
|
57
67
|
```
|
|
58
68
|
|
|
59
69
|
Stop here and wait for the user to acknowledge.
|
|
60
70
|
|
|
61
|
-
## Step 3: Present Options
|
|
71
|
+
## Step 3: Present Options
|
|
62
72
|
|
|
63
|
-
Show what you found
|
|
73
|
+
Show what you found:
|
|
64
74
|
|
|
65
75
|
```
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
Which discussion would you like to create a specification for?
|
|
76
|
+
Discussions found:
|
|
77
|
+
{topic-1} - Concluded - ready for specification
|
|
78
|
+
{topic-2} - Exploring - not ready for specification
|
|
79
|
+
{topic-3} - Concluded - specification exists
|
|
72
80
|
```
|
|
73
81
|
|
|
74
82
|
**Important:** Only concluded discussions should proceed to specification. If a discussion is still exploring, advise the user to complete the discussion phase first.
|
|
75
83
|
|
|
76
|
-
|
|
84
|
+
**If only ONE concluded discussion is ready:** Skip to Step 4 (single-source path).
|
|
85
|
+
|
|
86
|
+
**If MORE THAN ONE concluded discussion is ready:** Proceed to Step 3A (consolidation assessment).
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## Step 3A: Consolidation Assessment (Multiple Discussions)
|
|
91
|
+
|
|
92
|
+
When multiple concluded discussions exist, offer to assess how they should be organized into specifications.
|
|
93
|
+
|
|
94
|
+
```
|
|
95
|
+
You have {N} concluded discussions ready for specification.
|
|
96
|
+
|
|
97
|
+
Would you like me to assess how these might be combined into specifications?
|
|
98
|
+
|
|
99
|
+
1. **Yes, assess them** - I'll analyze all discussions for natural groupings
|
|
100
|
+
2. **No, proceed individually** - Create specifications 1:1 with discussions
|
|
101
|
+
|
|
102
|
+
Which approach?
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
**If user chooses individual:** Skip to Step 4 and ask which discussion to specify.
|
|
106
|
+
|
|
107
|
+
**If user chooses assessment:** Proceed to Step 3A.1.
|
|
108
|
+
|
|
109
|
+
### Step 3A.1: Gather Context for Analysis
|
|
110
|
+
|
|
111
|
+
Before analyzing, ask:
|
|
112
|
+
|
|
113
|
+
```
|
|
114
|
+
Before I analyze the discussions, is there anything about your project structure or how these topics relate that would help me group them appropriately?
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
Wait for response.
|
|
118
|
+
|
|
119
|
+
### Step 3A.2: Check Cache Validity
|
|
120
|
+
|
|
121
|
+
Compare the current discussions checksum (computed in Step 1.5) with the cached checksum:
|
|
122
|
+
|
|
123
|
+
**If cache exists AND checksums match:**
|
|
124
|
+
```
|
|
125
|
+
Using cached analysis
|
|
126
|
+
|
|
127
|
+
Discussion documents unchanged since last analysis ({date from cache}).
|
|
128
|
+
Loading previously identified groupings...
|
|
129
|
+
|
|
130
|
+
To force a fresh analysis, enter: refresh
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
Then load the groupings from the cache file and skip to Step 3A.4 (Present Options).
|
|
134
|
+
|
|
135
|
+
**If cache missing OR checksums differ:**
|
|
136
|
+
```
|
|
137
|
+
Analyzing discussions...
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
Proceed to Step 3A.3 (Full Analysis).
|
|
141
|
+
|
|
142
|
+
### Step 3A.3: Full Analysis (when cache invalid)
|
|
143
|
+
|
|
144
|
+
**This step is critical. You MUST read every concluded discussion document thoroughly.**
|
|
145
|
+
|
|
146
|
+
For each concluded discussion:
|
|
147
|
+
1. Read the ENTIRE document (not just frontmatter)
|
|
148
|
+
2. Understand the decisions, systems, and concepts it defines
|
|
149
|
+
3. Note dependencies on or references to other discussions
|
|
150
|
+
4. Identify shared data structures, entities, or behaviors
|
|
151
|
+
|
|
152
|
+
Then analyze coupling between discussions:
|
|
153
|
+
- **Data coupling**: Discussions that define or depend on the same data structures
|
|
154
|
+
- **Behavioral coupling**: Discussions where one's implementation requires another
|
|
155
|
+
- **Conceptual coupling**: Discussions that address different facets of the same problem
|
|
156
|
+
|
|
157
|
+
Group discussions that are tightly coupled - they should become a single specification because their decisions are inseparable.
|
|
158
|
+
|
|
159
|
+
**Save to cache:**
|
|
160
|
+
After analysis, ensure `.cache` directory exists: `mkdir -p docs/workflow/.cache`
|
|
161
|
+
|
|
162
|
+
Create/update `docs/workflow/.cache/discussion-consolidation-analysis.md`:
|
|
163
|
+
|
|
164
|
+
```markdown
|
|
165
|
+
---
|
|
166
|
+
checksum: {computed_checksum}
|
|
167
|
+
generated: {ISO date}
|
|
168
|
+
discussion_files:
|
|
169
|
+
- {topic1}.md
|
|
170
|
+
- {topic2}.md
|
|
171
|
+
---
|
|
172
|
+
|
|
173
|
+
# Discussion Consolidation Analysis
|
|
174
|
+
|
|
175
|
+
## Recommended Groupings
|
|
176
|
+
|
|
177
|
+
### {Suggested Specification Name}
|
|
178
|
+
- **{topic-a}**: {why it belongs in this group}
|
|
179
|
+
- **{topic-b}**: {why it belongs in this group}
|
|
180
|
+
- **{topic-c}**: {why it belongs in this group}
|
|
181
|
+
|
|
182
|
+
**Coupling**: {Brief explanation of what binds these together - shared data, dependencies, etc.}
|
|
183
|
+
|
|
184
|
+
### {Another Specification Name}
|
|
185
|
+
- **{topic-d}**: {why it belongs}
|
|
186
|
+
- **{topic-e}**: {why it belongs}
|
|
187
|
+
|
|
188
|
+
**Coupling**: {Brief explanation}
|
|
189
|
+
|
|
190
|
+
## Independent Discussions
|
|
191
|
+
- **{topic-f}**: {Why this stands alone - no strong coupling to others}
|
|
192
|
+
|
|
193
|
+
## Analysis Notes
|
|
194
|
+
{Any additional context about the relationships discovered}
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
### Step 3A.4: Present Options
|
|
198
|
+
|
|
199
|
+
Present the analysis and options:
|
|
200
|
+
|
|
201
|
+
**If using cached analysis:**
|
|
202
|
+
```
|
|
203
|
+
Cached analysis (discussions unchanged since {date})
|
|
204
|
+
|
|
205
|
+
{Display the Recommended Groupings section from cache}
|
|
206
|
+
|
|
207
|
+
How would you like to proceed?
|
|
208
|
+
|
|
209
|
+
1. **Combine as recommended** - Create specifications per the groupings above
|
|
210
|
+
2. **Combine differently** - Tell me your preferred groupings
|
|
211
|
+
3. **Single specification** - Consolidate all discussions into one spec
|
|
212
|
+
4. **Individual specifications** - Create 1:1 (I'll ask which to start with)
|
|
213
|
+
|
|
214
|
+
(Or enter 'refresh' to re-analyze)
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
**If fresh analysis:**
|
|
218
|
+
```
|
|
219
|
+
Analysis complete (cached for future sessions)
|
|
220
|
+
|
|
221
|
+
{Display the Recommended Groupings section}
|
|
222
|
+
|
|
223
|
+
How would you like to proceed?
|
|
224
|
+
|
|
225
|
+
1. **Combine as recommended** - Create specifications per the groupings above
|
|
226
|
+
2. **Combine differently** - Tell me your preferred groupings
|
|
227
|
+
3. **Single specification** - Consolidate all discussions into one spec
|
|
228
|
+
4. **Individual specifications** - Create 1:1 (I'll ask which to start with)
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
Wait for user to choose.
|
|
232
|
+
|
|
233
|
+
### Step 3A.5: Handle Choices
|
|
234
|
+
|
|
235
|
+
**If "Combine as recommended":**
|
|
236
|
+
- Confirm the first specification to create
|
|
237
|
+
- Proceed to Step 4 with the grouped sources
|
|
238
|
+
|
|
239
|
+
**If "Combine differently":**
|
|
240
|
+
- Ask user to describe their preferred groupings
|
|
241
|
+
- Confirm understanding
|
|
242
|
+
- Proceed to Step 4 with user-specified sources
|
|
243
|
+
|
|
244
|
+
**If "Single specification":**
|
|
245
|
+
- Use "unified" as the specification name (output: `docs/workflow/specification/unified.md`)
|
|
246
|
+
- Proceed to Step 4 with all discussions as sources
|
|
247
|
+
|
|
248
|
+
**If "Individual specifications":**
|
|
249
|
+
- Ask which discussion to specify first
|
|
250
|
+
- Proceed to Step 4 with single source
|
|
251
|
+
|
|
252
|
+
**If "refresh":**
|
|
253
|
+
- Delete the cache file: `rm docs/workflow/.cache/discussion-consolidation-analysis.md`
|
|
254
|
+
- Return to Step 3A.3 (Full Analysis)
|
|
255
|
+
- Inform user: "Refreshing analysis..."
|
|
256
|
+
|
|
257
|
+
---
|
|
77
258
|
|
|
78
259
|
## Step 4: Gather Additional Context
|
|
79
260
|
|
|
80
261
|
Ask:
|
|
81
262
|
- Any additional context or priorities to consider?
|
|
82
|
-
- Any constraints or changes since the discussion concluded?
|
|
263
|
+
- Any constraints or changes since the discussion(s) concluded?
|
|
83
264
|
- Are there any existing partial plans or related documentation I should review?
|
|
84
265
|
|
|
85
266
|
## Step 5: Invoke the Skill
|
|
@@ -88,7 +269,7 @@ After completing the steps above, this command's purpose is fulfilled.
|
|
|
88
269
|
|
|
89
270
|
Invoke the [technical-specification](../skills/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.
|
|
90
271
|
|
|
91
|
-
**Example handoff:**
|
|
272
|
+
**Example handoff (single source):**
|
|
92
273
|
```
|
|
93
274
|
Specification session for: {topic}
|
|
94
275
|
Source: docs/workflow/discussion/{topic}.md
|
|
@@ -98,7 +279,26 @@ Additional context: {summary of user's answers from Step 4}
|
|
|
98
279
|
Invoke the technical-specification skill.
|
|
99
280
|
```
|
|
100
281
|
|
|
282
|
+
**Example handoff (multiple sources):**
|
|
283
|
+
```
|
|
284
|
+
Specification session for: {specification-name}
|
|
285
|
+
|
|
286
|
+
Sources:
|
|
287
|
+
- docs/workflow/discussion/{topic-1}.md
|
|
288
|
+
- docs/workflow/discussion/{topic-2}.md
|
|
289
|
+
- docs/workflow/discussion/{topic-3}.md
|
|
290
|
+
|
|
291
|
+
Output: docs/workflow/specification/{specification-name}.md
|
|
292
|
+
Additional context: {summary of user's answers from Step 4}
|
|
293
|
+
|
|
294
|
+
Invoke the technical-specification skill.
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
---
|
|
298
|
+
|
|
101
299
|
## Notes
|
|
102
300
|
|
|
103
301
|
- Ask questions clearly and wait for responses before proceeding
|
|
104
|
-
- The specification phase validates and refines discussion content into
|
|
302
|
+
- The specification phase validates and refines discussion content into standalone documents
|
|
303
|
+
- When multiple sources are provided, the skill will extract exhaustively from ALL of them
|
|
304
|
+
- Attribution in the specification should trace content back to its source discussion(s)
|
package/package.json
CHANGED
|
@@ -19,8 +19,8 @@ Either way: Transform unvalidated reference material into a specification that's
|
|
|
19
19
|
|
|
20
20
|
### What This Skill Needs
|
|
21
21
|
|
|
22
|
-
- **Source material** (required) -
|
|
23
|
-
- Discussion documents or research notes
|
|
22
|
+
- **Source material** (required) - One or more sources to synthesize into a specification. Can be:
|
|
23
|
+
- Discussion documents or research notes (single or multiple)
|
|
24
24
|
- Inline feature descriptions
|
|
25
25
|
- Requirements docs, design documents, or transcripts
|
|
26
26
|
- Any other reference material
|
|
@@ -28,6 +28,8 @@ Either way: Transform unvalidated reference material into a specification that's
|
|
|
28
28
|
|
|
29
29
|
**If missing:** Will ask user to provide context or point to source files.
|
|
30
30
|
|
|
31
|
+
**Multiple sources:** When multiple sources are provided, extract exhaustively from ALL of them. Content may be scattered across sources - a decision in one may have constraints or details in another. The specification consolidates everything into a single standalone document.
|
|
32
|
+
|
|
31
33
|
## The Process
|
|
32
34
|
|
|
33
35
|
**Load**: [specification-guide.md](references/specification-guide.md)
|
|
@@ -62,7 +64,7 @@ If you are uncertain whether the user approved, **ASK**: "Would you like me to l
|
|
|
62
64
|
|
|
63
65
|
## What You Do
|
|
64
66
|
|
|
65
|
-
1. **Extract exhaustively**: For each topic, re-scan ALL source
|
|
67
|
+
1. **Extract exhaustively**: For each topic, re-scan ALL source materials. When working with multiple sources, search each one - information about a single topic may be scattered across documents. Search for keywords and related terms. Collect everything before synthesizing. Include only what we're building (not discarded alternatives).
|
|
66
68
|
|
|
67
69
|
2. **Filter**: Reference material may contain hallucinations, inaccuracies, or outdated concepts. Validate before including.
|
|
68
70
|
|
|
@@ -88,6 +90,8 @@ The specification is the **golden document** - planning uses only this. If infor
|
|
|
88
90
|
|
|
89
91
|
**Trust nothing without validation**: Synthesize and present, but never assume source material is correct.
|
|
90
92
|
|
|
93
|
+
**Surface conflicts**: When sources contain conflicting decisions, flag the conflict to the user during the discussion. Don't silently pick one - let the user decide what makes it into the specification.
|
|
94
|
+
|
|
91
95
|
---
|
|
92
96
|
|
|
93
97
|
## Self-Check: Are You Following the Rules?
|