@leeovery/claude-technical-workflows 2.0.27 → 2.0.29

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/README.md CHANGED
@@ -183,7 +183,7 @@ When using the full workflow, it progresses through six distinct phases:
183
183
 
184
184
  **Phase 2 - Discussion:** Captures the back-and-forth exploration of a problem. Documents competing solutions, why certain approaches won or lost, edge cases discovered, and the journey to decisions, not just the decisions themselves.
185
185
 
186
- **Phase 3 - Specification:** Transforms discussion documentation into a validated, standalone specification. Filters hallucinations and inaccuracies, enriches gaps through discussion, and builds a document that planning can execute against without referencing other sources.
186
+ **Phase 3 - Specification:** Transforms discussion(s) into validated, standalone specifications. Automatically analyses multiple discussions for natural groupings, filters hallucinations and inaccuracies, enriches gaps, and builds documents that planning can execute against without referencing other sources.
187
187
 
188
188
  **Phase 4 - Planning:** Converts specifications into actionable implementation plans with phases, tasks, and acceptance criteria. Supports multiple output formats (local markdown, Linear, Backlog.md).
189
189
 
@@ -225,19 +225,23 @@ skills/ # Input-agnostic processors
225
225
  └── technical-review/ # Validate against artefacts
226
226
 
227
227
  commands/ # Input layer (gather context → invoke skills)
228
- ├── workflow:start-research.md # Sequential: begin research
229
- ├── workflow:start-discussion.md # Sequential: begin discussions
230
- ├── workflow:start-specification.md # Sequential: begin specification
231
- ├── workflow:start-planning.md # Sequential: begin planning
232
- ├── workflow:start-implementation.md # Sequential: begin implementation
233
- ├── workflow:start-review.md # Sequential: begin review
234
- ├── workflow:status.md # Utility: show workflow status and next steps
235
- ├── workflow:view-plan.md # Utility: view plan tasks and progress
236
228
  ├── start-feature.md # Standalone: spec from inline context
237
- └── link-dependencies.md # Standalone: wire cross-topic deps
229
+ ├── link-dependencies.md # Standalone: wire cross-topic deps
230
+ └── workflow/ # Sequential workflow commands
231
+ ├── start-research.md # Begin research
232
+ ├── start-discussion.md # Begin discussions
233
+ ├── start-specification.md # Begin specification
234
+ ├── start-planning.md # Begin planning
235
+ ├── start-implementation.md # Begin implementation
236
+ ├── start-review.md # Begin review
237
+ ├── status.md # Show workflow status
238
+ └── view-plan.md # View plan tasks
238
239
 
239
240
  agents/
240
241
  └── chain-verifier.md # Parallel task verification for review
242
+
243
+ scripts/ # Helper scripts for commands
244
+ └── specification-discovery.sh # Discovery for specification command
241
245
  ```
242
246
 
243
247
  ## Skills
@@ -263,12 +267,12 @@ Sequential commands prefixed with `workflow:`. They expect files from previous p
263
267
 
264
268
  | Command | Description |
265
269
  |--------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
266
- | [**/workflow:start-research**](commands/workflow:start-research.md) | Begin research exploration. For early-stage ideas, feasibility checks, and broad exploration before formal discussion. |
267
- | [**/workflow:start-discussion**](commands/workflow:start-discussion.md) | Begin a new technical discussion. Gathers topic, context, background information, and relevant codebase areas before starting documentation. |
268
- | [**/workflow:start-specification**](commands/workflow:start-specification.md) | Start a specification session from an existing discussion. Validates and refines discussion content into a standalone specification. |
269
- | [**/workflow:start-planning**](commands/workflow:start-planning.md) | Start a planning session from an existing specification. Creates implementation plans with phases, tasks, and acceptance criteria. Supports multiple output formats (markdown, Linear, Backlog.md, Beads). |
270
- | [**/workflow:start-implementation**](commands/workflow:start-implementation.md) | Start implementing a plan. Executes tasks via strict TDD, committing after each passing test. |
271
- | [**/workflow:start-review**](commands/workflow:start-review.md) | Start reviewing completed work. Validates implementation against plan tasks and acceptance criteria. |
270
+ | [**/workflow:start-research**](commands/workflow/start-research.md) | Begin research exploration. For early-stage ideas, feasibility checks, and broad exploration before formal discussion. |
271
+ | [**/workflow:start-discussion**](commands/workflow/start-discussion.md) | Begin a new technical discussion. Gathers topic, context, background information, and relevant codebase areas before starting documentation. |
272
+ | [**/workflow:start-specification**](commands/workflow/start-specification.md) | Start a specification session from existing discussion(s). Automatically analyses multiple discussions for natural groupings and consolidates them into unified specifications. |
273
+ | [**/workflow:start-planning**](commands/workflow/start-planning.md) | Start a planning session from an existing specification. Creates implementation plans with phases, tasks, and acceptance criteria. Supports multiple output formats (markdown, Linear, Backlog.md, Beads). |
274
+ | [**/workflow:start-implementation**](commands/workflow/start-implementation.md) | Start implementing a plan. Executes tasks via strict TDD, committing after each passing test. |
275
+ | [**/workflow:start-review**](commands/workflow/start-review.md) | Start reviewing completed work. Validates implementation against plan tasks and acceptance criteria. |
272
276
 
273
277
  ### Utility Commands
274
278
 
@@ -276,8 +280,8 @@ Helpers for navigating and understanding the workflow.
276
280
 
277
281
  | Command | Description |
278
282
  |--------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------|
279
- | [**/workflow:status**](commands/workflow:status.md) | Show workflow status - what topics exist at each phase, and suggested next steps. |
280
- | [**/workflow:view-plan**](commands/workflow:view-plan.md) | View a plan's tasks and progress, regardless of output format. |
283
+ | [**/workflow:status**](commands/workflow/status.md) | Show workflow status - what topics exist at each phase, and suggested next steps. |
284
+ | [**/workflow:view-plan**](commands/workflow/view-plan.md) | View a plan's tasks and progress, regardless of output format. |
281
285
 
282
286
  ### Standalone Commands
283
287
 
@@ -58,82 +58,31 @@ Scan the codebase for research and discussions:
58
58
  - Do NOT modify or "simplify" this command - checksum must be deterministic
59
59
  - Store this value to compare with the cached checksum
60
60
 
61
- ## Step 2: Present Workflow State and Options
61
+ ## Step 2: Analyze Research (if exists)
62
62
 
63
- Present the workflow state and available options based on what was discovered.
64
-
65
- **Format:**
66
- ```
67
- 📂 Workflow state:
68
- 📚 Research: {count} files found / None found
69
- 💬 Discussions: {count} existing / None yet
70
- ```
71
-
72
- Then present the appropriate options:
73
-
74
- **If research AND discussions exist:**
75
- ```
76
- How would you like to proceed?
77
-
78
- 1. **From research** - Analyze research and suggest undiscussed topics
79
- 2. **Continue discussion** - Resume an existing discussion
80
- 3. **Fresh topic** - Start a new discussion
81
- ```
82
-
83
- **If ONLY research exists:**
84
- ```
85
- How would you like to proceed?
86
-
87
- 1. **From research** - Analyze research and suggest topics to discuss
88
- 2. **Fresh topic** - Start a new discussion
89
- ```
90
-
91
- **If ONLY discussions exist:**
92
- ```
93
- How would you like to proceed?
94
-
95
- 1. **Continue discussion** - Resume an existing discussion
96
- 2. **Fresh topic** - Start a new discussion
97
- ```
98
-
99
- **If NOTHING exists:**
100
- ```
101
- Starting fresh - no prior research or discussions found.
102
-
103
- What topic would you like to discuss?
104
- ```
105
- Then skip to Step 5 (Fresh topic path).
106
-
107
- Wait for the user to choose before proceeding.
108
-
109
- ## Step 3A: "From research" Path
63
+ Skip this step if no research files were found in Step 1.
110
64
 
111
65
  This step uses caching to avoid re-analyzing unchanged research documents.
112
66
 
113
- ### Step 3A.1: Check Cache Validity
67
+ ### Step 2.1: Check Cache Validity
114
68
 
115
69
  Compare the current research checksum (computed in Step 1.5) with the cached checksum:
116
70
 
117
71
  **If cache exists AND checksums match:**
118
72
  ```
119
- 📋 Using cached analysis
120
-
121
- Research documents unchanged since last analysis ({date from cache}).
122
- Loading {count} previously identified topics...
123
-
124
- 💡 To force a fresh analysis, enter: refresh
73
+ 📋 Using cached research analysis (unchanged since {date from cache})
125
74
  ```
126
75
 
127
- Then load the topics from the cache file and skip to Step 3A.3 (Cross-reference).
76
+ Load the topics from the cache file and proceed to Step 2.3.
128
77
 
129
78
  **If cache missing OR checksums differ:**
130
79
  ```
131
80
  🔍 Analyzing research documents...
132
81
  ```
133
82
 
134
- Proceed to Step 3A.2 (Full Analysis).
83
+ Proceed to Step 2.2 (Full Analysis).
135
84
 
136
- ### Step 3A.2: Full Analysis (when cache invalid)
85
+ ### Step 2.2: Full Analysis (when cache invalid)
137
86
 
138
87
  Read each research file and analyze the content to extract key themes and potential discussion topics. For each theme:
139
88
  - Note the source file and relevant line numbers
@@ -180,93 +129,136 @@ research_files:
180
129
 
181
130
  Ensure the `.cache` directory exists: `mkdir -p docs/workflow/.cache`
182
131
 
183
- ### Step 3A.3: Cross-reference with Discussions
184
-
185
- **Always performed** (whether using cache or fresh analysis):
132
+ ### Step 2.3: Cross-reference with Discussions
186
133
 
187
134
  For each identified topic, check if a corresponding discussion already exists in `docs/workflow/discussion/`.
188
135
 
189
- ### Step 3A.4: Present Findings
136
+ ## Step 3: Present Workflow State and Options
190
137
 
191
- **If using cached analysis:**
192
- ```
193
- 📋 Cached analysis (research unchanged since {date})
138
+ Present everything discovered to help the user make an informed choice.
194
139
 
195
- 💡 Topics identified:
140
+ **If NOTHING exists (no research, no discussions):**
141
+ ```
142
+ Starting fresh - no prior research or discussions found.
196
143
 
197
- {Theme name}
198
- Source: {filename}.md (lines {start}-{end})
199
- "{Brief summary}"
144
+ What topic would you like to discuss?
145
+ ```
146
+ Then skip to Step 5 (Gather Context) with the fresh topic path.
200
147
 
201
- {Already discussed theme} → discussed in {topic}.md
202
- Source: {filename}.md (lines {start}-{end})
203
- "{Brief summary}"
148
+ **Otherwise, present the full state:**
204
149
 
205
- Which topic would you like to discuss? (Or enter 'refresh' for fresh analysis)
206
150
  ```
207
-
208
- **If fresh analysis:**
151
+ 📂 Workflow state:
209
152
  ```
210
- 🔍 Analysis complete (cached for future sessions)
211
153
 
212
- 💡 Topics identified:
154
+ **If research exists, show the topics:**
155
+ ```
156
+ 📚 Research topics:
213
157
 
214
- ✨ {Theme name}
158
+ 1. ✨ {Theme name}
215
159
  Source: {filename}.md (lines {start}-{end})
216
160
  "{Brief summary}"
217
161
 
218
- ✅ {Already discussed theme} → discussed in {topic}.md
162
+ 2. ✅ {Theme name} → discussed in {topic}.md
219
163
  Source: {filename}.md (lines {start}-{end})
220
164
  "{Brief summary}"
221
165
 
222
- Which topic would you like to discuss? (Or describe something else)
166
+ [... more topics ...]
223
167
  ```
224
168
 
225
169
  **Key:**
226
170
  - ✨ = Undiscussed topic (potential new discussion)
227
171
  - ✅ = Already has a corresponding discussion
228
172
 
229
- ### Step 3A.5: Handle "refresh" Request
173
+ **If discussions exist, show them:**
174
+ ```
175
+ 💬 Existing discussions:
230
176
 
231
- If user enters `refresh`:
232
- - Delete the cache file: `rm docs/workflow/.cache/research-analysis.md`
233
- - Return to Step 3A.2 (Full Analysis)
234
- - Inform user: "Refreshing analysis..."
177
+ {topic}.md {Status}
178
+ "{Brief description from context section}"
235
179
 
236
- **Important:** Keep track of the source file and line numbers for the chosen topic - this will be passed to the skill.
180
+ {topic}.md Concluded
181
+ "{Brief description}"
182
+ ```
237
183
 
238
- Wait for the user to choose before proceeding to Step 4.
184
+ **Key:**
185
+ - Exploring/Deciding = In progress
186
+ - Concluded = Complete (can still be reopened)
239
187
 
240
- ## Step 3B: "Continue discussion" Path
188
+ **Then present the options based on what exists:**
241
189
 
242
- List existing discussions with their status:
190
+ **If research AND discussions exist:**
191
+ ```
192
+ How would you like to proceed?
243
193
 
194
+ • **From research** - Pick a topic number above (e.g., "research 1" or "1")
195
+ • **Continue discussion** - Name one above (e.g., "continue {topic}")
196
+ • **Fresh topic** - Describe what you want to discuss
197
+ • **refresh** - Force fresh research analysis
244
198
  ```
245
- 💬 Existing discussions:
246
199
 
247
- {topic}.md {Status}
248
- "{Brief description from context section}"
200
+ **If ONLY research exists:**
201
+ ```
202
+ How would you like to proceed?
249
203
 
250
- {topic}.md {Status}
251
- "{Brief description}"
204
+ **From research** - Pick a topic number above (e.g., "research 1" or "1")
205
+ **Fresh topic** - Describe what you want to discuss
206
+ • **refresh** - Force fresh research analysis
207
+ ```
252
208
 
253
- {topic}.md Concluded
254
- "{Brief description}"
209
+ **If ONLY discussions exist:**
210
+ ```
211
+ How would you like to proceed?
255
212
 
256
- Which discussion would you like to continue?
213
+ **Continue discussion** - Name one above (e.g., "continue {topic}")
214
+ • **Fresh topic** - Describe what you want to discuss
257
215
  ```
258
216
 
259
- **Key:**
260
- - ⚡ = In progress (Exploring or Deciding)
261
- - = Concluded (can still be continued/reopened)
217
+ Wait for the user to respond before proceeding.
218
+
219
+ ## Step 4A: "From research" Path
262
220
 
263
- Wait for the user to choose, then proceed to Step 4.
221
+ User chose to start from research (e.g., "research 1", "1", "from research", or a topic name).
222
+
223
+ **If user specified a topic inline** (e.g., "research 2", "2", or topic name):
224
+ - Identify the selected topic from Step 3's numbered list
225
+ - Proceed to Step 5 (Gather Context)
226
+
227
+ **If user just said "from research" without specifying:**
228
+ ```
229
+ Which research topic would you like to discuss? (Enter a number or topic name)
230
+ ```
231
+ Wait for response, then proceed to Step 5.
232
+
233
+ ### Handle "refresh" Request
234
+
235
+ If user enters `refresh`:
236
+ - Delete the cache file: `rm docs/workflow/.cache/research-analysis.md`
237
+ - Return to Step 2.2 (Full Analysis)
238
+ - Inform user: "Refreshing analysis..."
239
+ - After analysis, return to Step 3 to present updated findings
240
+
241
+ **Important:** Keep track of the source file and line numbers for the chosen topic - this will be passed to the skill.
242
+
243
+ ## Step 4B: "Continue discussion" Path
244
+
245
+ User chose to continue a discussion (e.g., "continue auth-flow" or "continue discussion").
246
+
247
+ **If user specified a discussion inline** (e.g., "continue auth-flow"):
248
+ - Identify the selected discussion from Step 3's list
249
+ - Proceed to Step 5 (Gather Context)
250
+
251
+ **If user just said "continue discussion" without specifying:**
252
+ ```
253
+ Which discussion would you like to continue?
254
+ ```
255
+ Wait for response, then proceed to Step 5.
264
256
 
265
- ## Step 3C: "Fresh topic" Path
257
+ ## Step 4C: "Fresh topic" Path
266
258
 
267
- Proceed directly to Step 4.
259
+ User wants to start a fresh discussion. Proceed directly to Step 5.
268
260
 
269
- ## Step 4: Gather Context
261
+ ## Step 5: Gather Context
270
262
 
271
263
  Gather context based on the chosen path.
272
264
 
@@ -300,11 +292,11 @@ What would you like to focus on in this session?
300
292
 
301
293
  Wait for response before proceeding.
302
294
 
303
- ## Step 5: Invoke the Skill
295
+ ## Step 6: Invoke the Skill
304
296
 
305
297
  After completing the steps above, this command's purpose is fulfilled.
306
298
 
307
- Invoke the [technical-discussion](../skills/technical-discussion/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.
299
+ Invoke the [technical-discussion](../../skills/technical-discussion/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.
308
300
 
309
301
  **Example handoff (from research):**
310
302
  ```
@@ -313,7 +305,7 @@ Output: docs/workflow/discussion/{topic}.md
313
305
 
314
306
  Research reference:
315
307
  Source: docs/workflow/research/{filename}.md (lines {start}-{end})
316
- Summary: {the 1-2 sentence summary from Step 3A}
308
+ Summary: {the 1-2 sentence summary from the research analysis}
317
309
 
318
310
  Invoke the technical-discussion skill.
319
311
  ```
@@ -70,7 +70,7 @@ Which plan would you like to implement?
70
70
 
71
71
  **This step is a gate.** Implementation cannot proceed if dependencies are not satisfied.
72
72
 
73
- See **[dependencies.md](../skills/technical-planning/references/dependencies.md)** for dependency format and states.
73
+ See **[dependencies.md](../../skills/technical-planning/references/dependencies.md)** for dependency format and states.
74
74
 
75
75
  After the user selects a plan:
76
76
 
@@ -161,7 +161,7 @@ If they choose a specific phase or task, ask them to specify which one.
161
161
 
162
162
  After completing the steps above, this command's purpose is fulfilled.
163
163
 
164
- Invoke the [technical-implementation](../skills/technical-implementation/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.
164
+ Invoke the [technical-implementation](../../skills/technical-implementation/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.
165
165
 
166
166
  **Example handoff:**
167
167
  ```
@@ -94,7 +94,7 @@ Ask: **Which feature specification would you like to plan?**
94
94
 
95
95
  Ask: **Where should this plan live?**
96
96
 
97
- Load **[output-formats.md](../skills/technical-planning/references/output-formats.md)** and present the available formats to help the user choose. Then load the corresponding output adapter for that format's setup requirements.
97
+ Load **[output-formats.md](../../skills/technical-planning/references/output-formats.md)** and present the available formats to help the user choose. Then load the corresponding output adapter for that format's setup requirements.
98
98
 
99
99
  ## Step 5: Gather Additional Context
100
100
 
@@ -125,7 +125,7 @@ These specifications contain validated architectural decisions that should infor
125
125
 
126
126
  After completing the steps above, this command's purpose is fulfilled.
127
127
 
128
- Invoke the [technical-planning](../skills/technical-planning/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.
128
+ Invoke the [technical-planning](../../skills/technical-planning/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.
129
129
 
130
130
  **Example handoff:**
131
131
  ```
@@ -43,4 +43,4 @@ Ask these questions clearly and wait for responses before proceeding.
43
43
 
44
44
  After completing the steps above, this command's purpose is fulfilled.
45
45
 
46
- Invoke the [technical-research](../skills/technical-research/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.
46
+ Invoke the [technical-research](../../skills/technical-research/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,7 +90,7 @@ Check if a specification exists:
90
90
 
91
91
  After completing the steps above, this command's purpose is fulfilled.
92
92
 
93
- Invoke the [technical-review](../skills/technical-review/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.
93
+ Invoke the [technical-review](../../skills/technical-review/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.
94
94
 
95
95
  **Example handoff:**
96
96
  ```