@leeovery/claude-technical-workflows 2.0.42 → 2.0.43
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/commands/workflow/start-discussion.md +162 -120
- package/commands/workflow/start-implementation.md +146 -66
- package/commands/workflow/start-planning.md +122 -43
- package/commands/workflow/start-research.md +90 -13
- package/commands/workflow/start-review.md +85 -41
- package/commands/workflow/start-specification.md +18 -11
- package/package.json +4 -2
- package/scripts/discovery-for-discussion.sh +198 -0
- package/scripts/discovery-for-implementation-and-review.sh +127 -0
- package/scripts/discovery-for-planning.sh +182 -0
- package/scripts/{specification-discovery.sh → discovery-for-specification.sh} +7 -2
- package/scripts/migrations/002-specification-frontmatter.sh +170 -0
- package/scripts/migrations/003-planning-frontmatter.sh +172 -0
- package/skills/technical-planning/references/output-local-markdown.md +17 -5
- package/skills/technical-research/SKILL.md +10 -1
- package/skills/technical-research/references/template.md +39 -0
- package/skills/technical-specification/references/specification-guide.md +20 -11
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Start a technical discussion. Discovers research and existing discussions, offers multiple entry paths, and invokes the technical-discussion skill.
|
|
3
|
+
allowed-tools: Bash(.claude/scripts/discovery-for-discussion.sh), Bash(mkdir -p docs/workflow/.cache), Bash(rm docs/workflow/.cache/research-analysis.md)
|
|
3
4
|
---
|
|
4
5
|
|
|
5
6
|
Invoke the **technical-discussion** skill for this conversation.
|
|
@@ -8,14 +9,14 @@ Invoke the **technical-discussion** skill for this conversation.
|
|
|
8
9
|
|
|
9
10
|
This is **Phase 2** of the six-phase workflow:
|
|
10
11
|
|
|
11
|
-
| Phase
|
|
12
|
-
|
|
13
|
-
| 1. Research
|
|
14
|
-
| **2. Discussion**
|
|
15
|
-
| 3. Specification
|
|
16
|
-
| 4. Planning
|
|
17
|
-
| 5. Implementation
|
|
18
|
-
| 6. Review
|
|
12
|
+
| Phase | Focus | You |
|
|
13
|
+
|--------------------|----------------------------------------------------|--------|
|
|
14
|
+
| 1. Research | EXPLORE - ideas, feasibility, market, business | |
|
|
15
|
+
| **2. Discussion** | WHAT and WHY - decisions, architecture, edge cases | ◀ HERE |
|
|
16
|
+
| 3. Specification | REFINE - validate into standalone spec | |
|
|
17
|
+
| 4. Planning | HOW - phases, tasks, acceptance criteria | |
|
|
18
|
+
| 5. Implementation | DOING - tests first, then code | |
|
|
19
|
+
| 6. Review | VALIDATING - check work against artifacts | |
|
|
19
20
|
|
|
20
21
|
**Stay in your lane**: Capture the WHAT and WHY - decisions, rationale, competing approaches, edge cases. Don't jump to specifications, plans, or code. This is the time for debate and documentation.
|
|
21
22
|
|
|
@@ -25,11 +26,15 @@ This is **Phase 2** of the six-phase workflow:
|
|
|
25
26
|
|
|
26
27
|
Follow these steps EXACTLY as written. Do not skip steps or combine them. Present output using the EXACT format shown in examples - do not simplify or alter the formatting.
|
|
27
28
|
|
|
28
|
-
|
|
29
|
+
**CRITICAL**: This guidance is mandatory.
|
|
29
30
|
|
|
30
|
-
|
|
31
|
+
- After each user interaction, STOP and wait for their response before proceeding
|
|
32
|
+
- Never assume or anticipate user choices
|
|
33
|
+
- Even if the user's initial prompt seems to answer a question, still confirm with them at the appropriate step
|
|
34
|
+
- Complete each step fully before moving to the next
|
|
35
|
+
- Do not act on gathered information until the skill is loaded - it contains the instructions for how to proceed
|
|
31
36
|
|
|
32
|
-
|
|
37
|
+
---
|
|
33
38
|
|
|
34
39
|
## Step 0: Run Migrations
|
|
35
40
|
|
|
@@ -39,65 +44,102 @@ Invoke the `/migrate` command and assess its output before proceeding to Step 1.
|
|
|
39
44
|
|
|
40
45
|
---
|
|
41
46
|
|
|
42
|
-
## Step 1:
|
|
47
|
+
## Step 1: Run Discovery Script
|
|
48
|
+
|
|
49
|
+
Run the discovery script to gather current state:
|
|
43
50
|
|
|
44
|
-
|
|
51
|
+
```bash
|
|
52
|
+
.claude/scripts/discovery-for-discussion.sh
|
|
53
|
+
```
|
|
45
54
|
|
|
46
|
-
|
|
47
|
-
- Run `ls docs/workflow/research/` to list research files
|
|
48
|
-
- Note which files exist (may include `exploration.md` and semantic files like `market-landscape.md`)
|
|
55
|
+
This outputs structured YAML. Parse it to understand:
|
|
49
56
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
57
|
+
**From `research` section:**
|
|
58
|
+
- `exists` - whether research files exist
|
|
59
|
+
- `files` - each research file's name and topic
|
|
60
|
+
- `checksum` - current checksum of all research files
|
|
53
61
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
62
|
+
**From `discussions` section:**
|
|
63
|
+
- `exists` - whether discussion files exist
|
|
64
|
+
- `files` - each discussion's name, status, and date
|
|
65
|
+
- `counts.in_progress` and `counts.concluded` - totals for routing
|
|
58
66
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
67
|
+
**From `cache` section:**
|
|
68
|
+
- `status` - one of three values:
|
|
69
|
+
- `"valid"` - cache exists and checksums match (safe to load)
|
|
70
|
+
- `"stale"` - cache exists but research has changed (needs re-analysis)
|
|
71
|
+
- `"none"` - no cache file exists
|
|
72
|
+
- `reason` - explanation of the status
|
|
73
|
+
- `generated` - when the cache was created (null if none)
|
|
74
|
+
- `research_files` - list of files that were analyzed
|
|
62
75
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
- IMPORTANT: Use this exact command - glob expansion is alphabetically sorted by default
|
|
66
|
-
- Do NOT modify or "simplify" this command - checksum must be deterministic
|
|
67
|
-
- Store this value to compare with the cached checksum
|
|
76
|
+
**From `state` section:**
|
|
77
|
+
- `scenario` - one of: `"fresh"`, `"research_only"`, `"discussions_only"`, `"research_and_discussions"`
|
|
68
78
|
|
|
69
|
-
|
|
79
|
+
**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.
|
|
70
80
|
|
|
71
|
-
|
|
81
|
+
→ Proceed to **Step 2**.
|
|
82
|
+
|
|
83
|
+
---
|
|
72
84
|
|
|
73
|
-
|
|
85
|
+
## Step 2: Route Based on Scenario
|
|
74
86
|
|
|
75
|
-
|
|
87
|
+
Use `state.scenario` from the discovery output to determine the path:
|
|
76
88
|
|
|
77
|
-
|
|
89
|
+
#### If scenario is "fresh"
|
|
90
|
+
|
|
91
|
+
No research or discussions exist yet.
|
|
78
92
|
|
|
79
|
-
**If cache exists AND checksums match:**
|
|
80
93
|
```
|
|
81
|
-
|
|
94
|
+
Starting fresh - no prior research or discussions found.
|
|
95
|
+
|
|
96
|
+
What topic would you like to discuss?
|
|
82
97
|
```
|
|
83
98
|
|
|
84
|
-
|
|
99
|
+
**STOP.** Wait for user response, then skip to **Step 6** (Gather Context) with their topic.
|
|
100
|
+
|
|
101
|
+
#### If scenario is "discussions_only"
|
|
102
|
+
|
|
103
|
+
No research exists, but discussions do. Skip research analysis.
|
|
104
|
+
|
|
105
|
+
→ Proceed to **Step 4**.
|
|
106
|
+
|
|
107
|
+
#### If scenario is "research_only" or "research_and_discussions"
|
|
108
|
+
|
|
109
|
+
Research exists and may need analysis.
|
|
110
|
+
|
|
111
|
+
→ Proceed to **Step 3**.
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## Step 3: Handle Research Analysis
|
|
116
|
+
|
|
117
|
+
This step only runs when research files exist.
|
|
118
|
+
|
|
119
|
+
Use `cache.status` from discovery to determine the approach:
|
|
120
|
+
|
|
121
|
+
#### If cache.status is "valid"
|
|
85
122
|
|
|
86
|
-
**If cache missing OR checksums differ:**
|
|
87
123
|
```
|
|
88
|
-
|
|
124
|
+
Using cached research analysis (unchanged since {cache.generated})
|
|
89
125
|
```
|
|
90
126
|
|
|
91
|
-
|
|
127
|
+
Load the topics from `docs/workflow/.cache/research-analysis.md` and proceed.
|
|
92
128
|
|
|
93
|
-
|
|
129
|
+
→ Proceed to **Step 4**.
|
|
130
|
+
|
|
131
|
+
#### If cache.status is "stale" or "none"
|
|
132
|
+
|
|
133
|
+
```
|
|
134
|
+
Analyzing research documents...
|
|
135
|
+
```
|
|
94
136
|
|
|
95
|
-
Read each research file and
|
|
137
|
+
Read each research file and extract key themes and potential discussion topics. For each theme:
|
|
96
138
|
- Note the source file and relevant line numbers
|
|
97
139
|
- Summarize what the theme is about in 1-2 sentences
|
|
98
140
|
- Identify key questions or decisions that need discussion
|
|
99
141
|
|
|
100
|
-
**Be thorough**: This analysis will be cached, so
|
|
142
|
+
**Be thorough**: This analysis will be cached, so identify ALL potential topics:
|
|
101
143
|
- Major architectural decisions
|
|
102
144
|
- Technical trade-offs mentioned
|
|
103
145
|
- Open questions or concerns raised
|
|
@@ -107,12 +149,18 @@ Read each research file and analyze the content to extract key themes and potent
|
|
|
107
149
|
- Edge cases or error handling mentioned
|
|
108
150
|
|
|
109
151
|
**Save to cache:**
|
|
110
|
-
|
|
152
|
+
|
|
153
|
+
Ensure the cache directory exists:
|
|
154
|
+
```bash
|
|
155
|
+
mkdir -p docs/workflow/.cache
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
Create/update `docs/workflow/.cache/research-analysis.md`:
|
|
111
159
|
|
|
112
160
|
```markdown
|
|
113
161
|
---
|
|
114
|
-
checksum: {
|
|
115
|
-
generated:
|
|
162
|
+
checksum: {research.checksum from discovery}
|
|
163
|
+
generated: YYYY-MM-DDTHH:MM:SS # Use current ISO timestamp
|
|
116
164
|
research_files:
|
|
117
165
|
- {filename1}.md
|
|
118
166
|
- {filename2}.md
|
|
@@ -131,67 +179,40 @@ research_files:
|
|
|
131
179
|
- **Source**: {filename}.md (lines {start}-{end})
|
|
132
180
|
- **Summary**: {1-2 sentence summary}
|
|
133
181
|
- **Key questions**: {what needs deciding}
|
|
134
|
-
|
|
135
|
-
[... more topics ...]
|
|
136
182
|
```
|
|
137
183
|
|
|
138
|
-
|
|
184
|
+
**Cross-reference**: For each topic, note if a discussion already exists (from `discussions.files` in discovery).
|
|
139
185
|
|
|
140
|
-
|
|
186
|
+
→ Proceed to **Step 4**.
|
|
141
187
|
|
|
142
|
-
|
|
188
|
+
---
|
|
143
189
|
|
|
144
|
-
## Step
|
|
190
|
+
## Step 4: Present Workflow State and Options
|
|
145
191
|
|
|
146
192
|
Present everything discovered to help the user make an informed choice.
|
|
147
193
|
|
|
148
|
-
**
|
|
149
|
-
```
|
|
150
|
-
Starting fresh - no prior research or discussions found.
|
|
151
|
-
|
|
152
|
-
What topic would you like to discuss?
|
|
153
|
-
```
|
|
154
|
-
Then skip to Step 5 (Gather Context) with the fresh topic path.
|
|
155
|
-
|
|
156
|
-
**Otherwise, present the full state:**
|
|
194
|
+
**Present the full state:**
|
|
157
195
|
|
|
158
196
|
```
|
|
159
|
-
|
|
160
|
-
```
|
|
197
|
+
Workflow Status: Discussion Phase
|
|
161
198
|
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
1. ✨ {Theme name}
|
|
167
|
-
Source: {filename}.md (lines {start}-{end})
|
|
168
|
-
"{Brief summary}"
|
|
169
|
-
|
|
170
|
-
2. ✅ {Theme name} → discussed in {topic}.md
|
|
171
|
-
Source: {filename}.md (lines {start}-{end})
|
|
172
|
-
"{Brief summary}"
|
|
173
|
-
|
|
174
|
-
[... more topics ...]
|
|
175
|
-
```
|
|
199
|
+
Research topics:
|
|
200
|
+
1. · {Theme name} - undiscussed
|
|
201
|
+
Source: {filename}.md (lines {start}-{end})
|
|
202
|
+
"{Brief summary}"
|
|
176
203
|
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
204
|
+
2. ✓ {Theme name} → {topic}.md
|
|
205
|
+
Source: {filename}.md (lines {start}-{end})
|
|
206
|
+
"{Brief summary}"
|
|
180
207
|
|
|
181
|
-
|
|
208
|
+
Discussions:
|
|
209
|
+
- {topic}.md (in-progress)
|
|
210
|
+
- {topic}.md (concluded)
|
|
182
211
|
```
|
|
183
|
-
💬 Existing discussions:
|
|
184
212
|
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
• {topic}.md — concluded
|
|
189
|
-
"{Brief description}"
|
|
190
|
-
```
|
|
191
|
-
|
|
192
|
-
**Key:**
|
|
193
|
-
- in-progress = Active discussion
|
|
194
|
-
- concluded = Complete (can still be reopened)
|
|
213
|
+
**Legend:**
|
|
214
|
+
- `·` = undiscussed topic (potential new discussion)
|
|
215
|
+
- `✓` = already has a corresponding discussion
|
|
195
216
|
|
|
196
217
|
**Then present the options based on what exists:**
|
|
197
218
|
|
|
@@ -222,55 +243,72 @@ How would you like to proceed?
|
|
|
222
243
|
• **Fresh topic** - Describe what you want to discuss
|
|
223
244
|
```
|
|
224
245
|
|
|
225
|
-
Wait for
|
|
246
|
+
**STOP.** Wait for user response before proceeding.
|
|
247
|
+
|
|
248
|
+
→ Based on user choice, proceed to **Step 5**.
|
|
249
|
+
|
|
250
|
+
---
|
|
251
|
+
|
|
252
|
+
## Step 5: Handle User Selection
|
|
253
|
+
|
|
254
|
+
Route based on the user's choice from Step 4.
|
|
226
255
|
|
|
227
|
-
|
|
256
|
+
#### If user chose "From research"
|
|
228
257
|
|
|
229
258
|
User chose to start from research (e.g., "research 1", "1", "from research", or a topic name).
|
|
230
259
|
|
|
231
260
|
**If user specified a topic inline** (e.g., "research 2", "2", or topic name):
|
|
232
|
-
- Identify the selected topic from Step
|
|
233
|
-
- Proceed to Step
|
|
261
|
+
- Identify the selected topic from Step 4's numbered list
|
|
262
|
+
- → Proceed to **Step 6**
|
|
234
263
|
|
|
235
264
|
**If user just said "from research" without specifying:**
|
|
236
265
|
```
|
|
237
266
|
Which research topic would you like to discuss? (Enter a number or topic name)
|
|
238
267
|
```
|
|
239
|
-
Wait for response, then proceed to Step 5.
|
|
240
268
|
|
|
241
|
-
|
|
269
|
+
**STOP.** Wait for response, then proceed to **Step 6**.
|
|
242
270
|
|
|
243
|
-
If user
|
|
244
|
-
- Delete the cache file: `rm docs/workflow/.cache/research-analysis.md`
|
|
245
|
-
- Return to Step 2.2 (Full Analysis)
|
|
246
|
-
- Inform user: "Refreshing analysis..."
|
|
247
|
-
- After analysis, return to Step 3 to present updated findings
|
|
248
|
-
|
|
249
|
-
**Important:** Keep track of the source file and line numbers for the chosen topic - this will be passed to the skill.
|
|
250
|
-
|
|
251
|
-
## Step 4B: "Continue discussion" Path
|
|
271
|
+
#### If user chose "Continue discussion"
|
|
252
272
|
|
|
253
273
|
User chose to continue a discussion (e.g., "continue auth-flow" or "continue discussion").
|
|
254
274
|
|
|
255
275
|
**If user specified a discussion inline** (e.g., "continue auth-flow"):
|
|
256
|
-
- Identify the selected discussion from Step
|
|
257
|
-
- Proceed to Step
|
|
276
|
+
- Identify the selected discussion from Step 4's list
|
|
277
|
+
- → Proceed to **Step 6**
|
|
258
278
|
|
|
259
279
|
**If user just said "continue discussion" without specifying:**
|
|
260
280
|
```
|
|
261
281
|
Which discussion would you like to continue?
|
|
262
282
|
```
|
|
263
|
-
Wait for response, then proceed to Step 5.
|
|
264
283
|
|
|
265
|
-
|
|
284
|
+
**STOP.** Wait for response, then proceed to **Step 6**.
|
|
285
|
+
|
|
286
|
+
#### If user chose "Fresh topic"
|
|
287
|
+
|
|
288
|
+
User wants to start a fresh discussion.
|
|
289
|
+
|
|
290
|
+
→ Proceed to **Step 6**.
|
|
291
|
+
|
|
292
|
+
#### If user chose "refresh"
|
|
293
|
+
|
|
294
|
+
```
|
|
295
|
+
Refreshing analysis...
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
Delete the cache file:
|
|
299
|
+
```bash
|
|
300
|
+
rm docs/workflow/.cache/research-analysis.md
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
→ Return to **Step 3** to re-analyze, then back to **Step 4**.
|
|
266
304
|
|
|
267
|
-
|
|
305
|
+
---
|
|
268
306
|
|
|
269
|
-
## Step
|
|
307
|
+
## Step 6: Gather Context
|
|
270
308
|
|
|
271
309
|
Gather context based on the chosen path.
|
|
272
310
|
|
|
273
|
-
|
|
311
|
+
#### If starting new discussion (from research or fresh)
|
|
274
312
|
|
|
275
313
|
```
|
|
276
314
|
## New discussion: {topic}
|
|
@@ -284,9 +322,9 @@ Before we begin:
|
|
|
284
322
|
3. Are there specific files in the codebase I should review first?
|
|
285
323
|
```
|
|
286
324
|
|
|
287
|
-
Wait for responses before proceeding.
|
|
325
|
+
**STOP.** Wait for responses before proceeding.
|
|
288
326
|
|
|
289
|
-
|
|
327
|
+
#### If continuing existing discussion
|
|
290
328
|
|
|
291
329
|
Read the existing discussion document first, then ask:
|
|
292
330
|
|
|
@@ -298,9 +336,13 @@ I've read the existing discussion.
|
|
|
298
336
|
What would you like to focus on in this session?
|
|
299
337
|
```
|
|
300
338
|
|
|
301
|
-
Wait for response before proceeding.
|
|
339
|
+
**STOP.** Wait for response before proceeding.
|
|
340
|
+
|
|
341
|
+
→ Proceed to **Step 7**.
|
|
342
|
+
|
|
343
|
+
---
|
|
302
344
|
|
|
303
|
-
## Step
|
|
345
|
+
## Step 7: Invoke the Skill
|
|
304
346
|
|
|
305
347
|
After completing the steps above, this command's purpose is fulfilled.
|
|
306
348
|
|