@leeovery/claude-technical-workflows 2.0.41 → 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.
@@ -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 | Focus | You |
12
- |-------|-------|-----|
13
- | 1. Research | EXPLORE - ideas, feasibility, market, business | |
14
- | **2. Discussion** | WHAT and WHY - decisions, architecture, edge cases | ◀ HERE |
15
- | 3. Specification | REFINE - validate into standalone spec | |
16
- | 4. Planning | HOW - phases, tasks, acceptance criteria | |
17
- | 5. Implementation | DOING - tests first, then code | |
18
- | 6. Review | VALIDATING - check work against artifacts | |
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
- Before beginning, discover existing work and determine the best entry path.
29
+ **CRITICAL**: This guidance is mandatory.
29
30
 
30
- ## Important
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
- Use simple, individual commands. Never combine multiple operations into bash loops or one-liners. Execute commands one at a time.
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: Discover Existing Work
47
+ ## Step 1: Run Discovery Script
48
+
49
+ Run the discovery script to gather current state:
43
50
 
44
- Scan the codebase for research and discussions:
51
+ ```bash
52
+ .claude/scripts/discovery-for-discussion.sh
53
+ ```
45
54
 
46
- 1. **Find research**: Look in `docs/workflow/research/`
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
- 2. **Find discussions**: Look in `docs/workflow/discussion/`
51
- - Run `ls docs/workflow/discussion/` to list discussion files
52
- - Each file is named `{topic}.md`
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
- 3. **Check discussion status**: For each discussion file
55
- - Run `head -10 docs/workflow/discussion/{topic}.md` to read the frontmatter
56
- - Extract the `status:` field from YAML frontmatter: `in-progress` or `concluded`
57
- - Do NOT use bash loops - run separate commands for each file
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
- 4. **Check for cached analysis** (if research files exist):
60
- - Check if `docs/workflow/.cache/research-analysis.md` exists
61
- - If it exists, read it to get the stored checksum from the frontmatter
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
- 5. **Compute current research checksum** (if research files exist):
64
- - Run exactly: `cat docs/workflow/research/*.md 2>/dev/null | md5sum | cut -d' ' -f1`
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
- ## Step 2: Analyze Research (if exists)
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
- Skip this step if no research files were found in Step 1.
81
+ Proceed to **Step 2**.
82
+
83
+ ---
72
84
 
73
- This step uses caching to avoid re-analyzing unchanged research documents.
85
+ ## Step 2: Route Based on Scenario
74
86
 
75
- ### Step 2.1: Check Cache Validity
87
+ Use `state.scenario` from the discovery output to determine the path:
76
88
 
77
- Compare the current research checksum (computed in Step 1.5) with the cached checksum:
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
- 📋 Using cached research analysis (unchanged since {date from cache})
94
+ Starting fresh - no prior research or discussions found.
95
+
96
+ What topic would you like to discuss?
82
97
  ```
83
98
 
84
- Load the topics from the cache file and proceed to Step 2.3.
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
- 🔍 Analyzing research documents...
124
+ Using cached research analysis (unchanged since {cache.generated})
89
125
  ```
90
126
 
91
- Proceed to Step 2.2 (Full Analysis).
127
+ Load the topics from `docs/workflow/.cache/research-analysis.md` and proceed.
92
128
 
93
- ### Step 2.2: Full Analysis (when cache invalid)
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 analyze the content to extract key themes and potential discussion topics. For each theme:
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 take time to identify ALL potential topics including:
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
- After analysis, create/update `docs/workflow/.cache/research-analysis.md`:
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: {computed_checksum}
115
- generated: {ISO date}
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
- Ensure the `.cache` directory exists: `mkdir -p docs/workflow/.cache`
184
+ **Cross-reference**: For each topic, note if a discussion already exists (from `discussions.files` in discovery).
139
185
 
140
- ### Step 2.3: Cross-reference with Discussions
186
+ Proceed to **Step 4**.
141
187
 
142
- For each identified topic, check if a corresponding discussion already exists in `docs/workflow/discussion/`.
188
+ ---
143
189
 
144
- ## Step 3: Present Workflow State and Options
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
- **If NOTHING exists (no research, no discussions):**
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
- 📂 Workflow state:
160
- ```
197
+ Workflow Status: Discussion Phase
161
198
 
162
- **If research exists, show the topics:**
163
- ```
164
- 📚 Research topics:
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
- **Key:**
178
- - = Undiscussed topic (potential new discussion)
179
- - ✅ = Already has a corresponding discussion
204
+ 2. ✓ {Theme name} → {topic}.md
205
+ Source: {filename}.md (lines {start}-{end})
206
+ "{Brief summary}"
180
207
 
181
- **If discussions exist, show them:**
208
+ Discussions:
209
+ - {topic}.md (in-progress)
210
+ - {topic}.md (concluded)
182
211
  ```
183
- 💬 Existing discussions:
184
212
 
185
- • {topic}.md — {Status}
186
- "{Brief description from context section}"
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 the user to respond before proceeding.
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
- ## Step 4A: "From research" Path
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 3's numbered list
233
- - Proceed to Step 5 (Gather Context)
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
- ### Handle "refresh" Request
269
+ **STOP.** Wait for response, then proceed to **Step 6**.
242
270
 
243
- If user enters `refresh`:
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 3's list
257
- - Proceed to Step 5 (Gather Context)
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
- ## Step 4C: "Fresh topic" Path
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
- User wants to start a fresh discussion. Proceed directly to Step 5.
305
+ ---
268
306
 
269
- ## Step 5: Gather Context
307
+ ## Step 6: Gather Context
270
308
 
271
309
  Gather context based on the chosen path.
272
310
 
273
- **If starting new discussion (from research or fresh):**
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
- **If continuing existing discussion:**
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 6: Invoke the Skill
345
+ ## Step 7: Invoke the Skill
304
346
 
305
347
  After completing the steps above, this command's purpose is fulfilled.
306
348