@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 +22 -18
- package/commands/{workflow:start-discussion.md → workflow/start-discussion.md} +99 -107
- package/commands/{workflow:start-implementation.md → workflow/start-implementation.md} +2 -2
- package/commands/{workflow:start-planning.md → workflow/start-planning.md} +2 -2
- package/commands/{workflow:start-research.md → workflow/start-research.md} +1 -1
- package/commands/{workflow:start-review.md → workflow/start-review.md} +1 -1
- package/commands/workflow/start-specification.md +613 -0
- package/package.json +1 -1
- package/skills/technical-specification/SKILL.md +12 -0
- package/commands/start-discussion.md +0 -15
- package/commands/start-implementation.md +0 -15
- package/commands/start-planning.md +0 -15
- package/commands/start-research.md +0 -15
- package/commands/start-specification.md +0 -15
- package/commands/workflow:start-specification.md +0 -304
- /package/commands/{workflow:status.md → workflow/status.md} +0 -0
- /package/commands/{workflow:view-plan.md → workflow/view-plan.md} +0 -0
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
|
|
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
|
-
|
|
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
|
|
267
|
-
| [**/workflow:start-discussion**](commands/workflow
|
|
268
|
-
| [**/workflow:start-specification**](commands/workflow
|
|
269
|
-
| [**/workflow:start-planning**](commands/workflow
|
|
270
|
-
| [**/workflow:start-implementation**](commands/workflow
|
|
271
|
-
| [**/workflow:start-review**](commands/workflow
|
|
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
|
|
280
|
-
| [**/workflow:view-plan**](commands/workflow
|
|
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:
|
|
61
|
+
## Step 2: Analyze Research (if exists)
|
|
62
62
|
|
|
63
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
83
|
+
Proceed to Step 2.2 (Full Analysis).
|
|
135
84
|
|
|
136
|
-
### Step
|
|
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
|
|
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
|
-
|
|
136
|
+
## Step 3: Present Workflow State and Options
|
|
190
137
|
|
|
191
|
-
|
|
192
|
-
```
|
|
193
|
-
📋 Cached analysis (research unchanged since {date})
|
|
138
|
+
Present everything discovered to help the user make an informed choice.
|
|
194
139
|
|
|
195
|
-
|
|
140
|
+
**If NOTHING exists (no research, no discussions):**
|
|
141
|
+
```
|
|
142
|
+
Starting fresh - no prior research or discussions found.
|
|
196
143
|
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
✅ {
|
|
162
|
+
2. ✅ {Theme name} → discussed in {topic}.md
|
|
219
163
|
Source: {filename}.md (lines {start}-{end})
|
|
220
164
|
"{Brief summary}"
|
|
221
165
|
|
|
222
|
-
|
|
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
|
-
|
|
173
|
+
**If discussions exist, show them:**
|
|
174
|
+
```
|
|
175
|
+
💬 Existing discussions:
|
|
230
176
|
|
|
231
|
-
|
|
232
|
-
|
|
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
|
-
|
|
180
|
+
• {topic}.md — Concluded
|
|
181
|
+
"{Brief description}"
|
|
182
|
+
```
|
|
237
183
|
|
|
238
|
-
|
|
184
|
+
**Key:**
|
|
185
|
+
- Exploring/Deciding = In progress
|
|
186
|
+
- Concluded = Complete (can still be reopened)
|
|
239
187
|
|
|
240
|
-
|
|
188
|
+
**Then present the options based on what exists:**
|
|
241
189
|
|
|
242
|
-
|
|
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
|
-
|
|
248
|
-
|
|
200
|
+
**If ONLY research exists:**
|
|
201
|
+
```
|
|
202
|
+
How would you like to proceed?
|
|
249
203
|
|
|
250
|
-
|
|
251
|
-
|
|
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
|
-
|
|
254
|
-
|
|
209
|
+
**If ONLY discussions exist:**
|
|
210
|
+
```
|
|
211
|
+
How would you like to proceed?
|
|
255
212
|
|
|
256
|
-
|
|
213
|
+
• **Continue discussion** - Name one above (e.g., "continue {topic}")
|
|
214
|
+
• **Fresh topic** - Describe what you want to discuss
|
|
257
215
|
```
|
|
258
216
|
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
217
|
+
Wait for the user to respond before proceeding.
|
|
218
|
+
|
|
219
|
+
## Step 4A: "From research" Path
|
|
262
220
|
|
|
263
|
-
|
|
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
|
|
257
|
+
## Step 4C: "Fresh topic" Path
|
|
266
258
|
|
|
267
|
-
Proceed directly to Step
|
|
259
|
+
User wants to start a fresh discussion. Proceed directly to Step 5.
|
|
268
260
|
|
|
269
|
-
## Step
|
|
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
|
|
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](
|
|
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
|
|
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](
|
|
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](
|
|
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](
|
|
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](
|
|
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](
|
|
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](
|
|
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
|
```
|