@leeovery/claude-technical-workflows 2.0.10 → 2.0.12
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/start-discussion.md +306 -21
- package/package.json +1 -1
|
@@ -1,36 +1,321 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Start a technical discussion
|
|
2
|
+
description: Start a technical discussion. Discovers research and existing discussions, offers multiple entry paths, and invokes the technical-discussion skill.
|
|
3
3
|
---
|
|
4
4
|
|
|
5
5
|
Invoke the **technical-discussion** skill for this conversation.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
## Instructions
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
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.
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
Before beginning, discover existing work and determine the best entry path.
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
- What sparked this discussion?
|
|
15
|
-
- What problem are we trying to solve?
|
|
16
|
-
- Why are we discussing this now?
|
|
13
|
+
## Important
|
|
17
14
|
|
|
18
|
-
|
|
19
|
-
- Is there any background information I need to understand before we begin?
|
|
20
|
-
- Are there specific concepts, technologies, or architectures I should know about?
|
|
21
|
-
- Any constraints, requirements, or limitations I should be aware of?
|
|
15
|
+
Use simple, individual commands. Never combine multiple operations into bash loops or one-liners. Execute commands one at a time.
|
|
22
16
|
|
|
23
|
-
|
|
24
|
-
- Are there specific files in this repository I should read first?
|
|
25
|
-
- Should I explore any particular directories or components?
|
|
26
|
-
- Is there existing code related to this discussion?
|
|
17
|
+
## Step 1: Discover Existing Work
|
|
27
18
|
|
|
28
|
-
|
|
19
|
+
Scan the codebase for research and discussions:
|
|
29
20
|
|
|
30
|
-
|
|
21
|
+
1. **Find research**: Look in `docs/workflow/research/`
|
|
22
|
+
- Run `ls docs/workflow/research/` to list research files
|
|
23
|
+
- Note which files exist (may include `exploration.md` and semantic files like `market-landscape.md`)
|
|
24
|
+
|
|
25
|
+
2. **Find discussions**: Look in `docs/workflow/discussion/`
|
|
26
|
+
- Run `ls docs/workflow/discussion/` to list discussion files
|
|
27
|
+
- Each file is named `{topic}.md`
|
|
28
|
+
|
|
29
|
+
3. **Check discussion status**: For each discussion file
|
|
30
|
+
- Run `head -10 docs/workflow/discussion/{topic}.md` to extract the `Status:` field
|
|
31
|
+
- Status values: `Exploring`, `Deciding`, or `Concluded`
|
|
32
|
+
- Do NOT use bash loops - run separate commands for each file
|
|
33
|
+
|
|
34
|
+
4. **Check for cached analysis** (if research files exist):
|
|
35
|
+
- Check if `docs/workflow/.cache/research-analysis.md` exists
|
|
36
|
+
- If it exists, read it to get the stored checksum from the frontmatter
|
|
37
|
+
|
|
38
|
+
5. **Compute current research checksum** (if research files exist):
|
|
39
|
+
- Run: `cat $(ls docs/workflow/research/*.md | sort) 2>/dev/null | md5sum | cut -d' ' -f1`
|
|
40
|
+
- This creates a combined checksum of all research files (sorted alphabetically)
|
|
41
|
+
- Store this value to compare with the cached checksum
|
|
42
|
+
|
|
43
|
+
## Step 2: Present Workflow State and Options
|
|
44
|
+
|
|
45
|
+
Present the workflow state and available options based on what was discovered.
|
|
46
|
+
|
|
47
|
+
**Format:**
|
|
48
|
+
```
|
|
49
|
+
📂 Workflow state:
|
|
50
|
+
📚 Research: {count} files found / None found
|
|
51
|
+
💬 Discussions: {count} existing / None yet
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Then present the appropriate options:
|
|
55
|
+
|
|
56
|
+
**If research AND discussions exist:**
|
|
57
|
+
```
|
|
58
|
+
How would you like to proceed?
|
|
59
|
+
|
|
60
|
+
1. **From research** - Analyze research and suggest undiscussed topics
|
|
61
|
+
2. **Continue discussion** - Resume an existing discussion
|
|
62
|
+
3. **Fresh topic** - Start a new discussion
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
**If ONLY research exists:**
|
|
66
|
+
```
|
|
67
|
+
How would you like to proceed?
|
|
68
|
+
|
|
69
|
+
1. **From research** - Analyze research and suggest topics to discuss
|
|
70
|
+
2. **Fresh topic** - Start a new discussion
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
**If ONLY discussions exist:**
|
|
74
|
+
```
|
|
75
|
+
How would you like to proceed?
|
|
76
|
+
|
|
77
|
+
1. **Continue discussion** - Resume an existing discussion
|
|
78
|
+
2. **Fresh topic** - Start a new discussion
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
**If NOTHING exists:**
|
|
82
|
+
```
|
|
83
|
+
Starting fresh - no prior research or discussions found.
|
|
84
|
+
|
|
85
|
+
What topic would you like to discuss?
|
|
86
|
+
```
|
|
87
|
+
Then skip to Step 5 (Fresh topic path).
|
|
88
|
+
|
|
89
|
+
Wait for the user to choose before proceeding.
|
|
90
|
+
|
|
91
|
+
## Step 3A: "From research" Path
|
|
92
|
+
|
|
93
|
+
This step uses caching to avoid re-analyzing unchanged research documents.
|
|
94
|
+
|
|
95
|
+
### Step 3A.1: Check Cache Validity
|
|
96
|
+
|
|
97
|
+
Compare the current research checksum (computed in Step 1.5) with the cached checksum:
|
|
98
|
+
|
|
99
|
+
**If cache exists AND checksums match:**
|
|
100
|
+
```
|
|
101
|
+
📋 Using cached analysis
|
|
102
|
+
|
|
103
|
+
Research documents unchanged since last analysis ({date from cache}).
|
|
104
|
+
Loading {count} previously identified topics...
|
|
105
|
+
|
|
106
|
+
💡 To force a fresh analysis, enter: refresh
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
Then load the topics from the cache file and skip to Step 3A.3 (Cross-reference).
|
|
110
|
+
|
|
111
|
+
**If cache missing OR checksums differ:**
|
|
112
|
+
```
|
|
113
|
+
🔍 Analyzing research documents...
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
Proceed to Step 3A.2 (Full Analysis).
|
|
117
|
+
|
|
118
|
+
### Step 3A.2: Full Analysis (when cache invalid)
|
|
119
|
+
|
|
120
|
+
Read each research file and analyze the content to extract key themes and potential discussion topics. For each theme:
|
|
121
|
+
- Note the source file and relevant line numbers
|
|
122
|
+
- Summarize what the theme is about in 1-2 sentences
|
|
123
|
+
- Identify key questions or decisions that need discussion
|
|
124
|
+
|
|
125
|
+
**Be thorough**: This analysis will be cached, so take time to identify ALL potential topics including:
|
|
126
|
+
- Major architectural decisions
|
|
127
|
+
- Technical trade-offs mentioned
|
|
128
|
+
- Open questions or concerns raised
|
|
129
|
+
- Implementation approaches discussed
|
|
130
|
+
- Integration points with external systems
|
|
131
|
+
- Security or performance considerations
|
|
132
|
+
- Edge cases or error handling mentioned
|
|
133
|
+
|
|
134
|
+
**Save to cache:**
|
|
135
|
+
After analysis, create/update `docs/workflow/.cache/research-analysis.md`:
|
|
136
|
+
|
|
137
|
+
```markdown
|
|
138
|
+
---
|
|
139
|
+
checksum: {computed_checksum}
|
|
140
|
+
generated: {ISO date}
|
|
141
|
+
research_files:
|
|
142
|
+
- {filename1}.md
|
|
143
|
+
- {filename2}.md
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
# Research Analysis Cache
|
|
147
|
+
|
|
148
|
+
## Topics
|
|
149
|
+
|
|
150
|
+
### {Theme name}
|
|
151
|
+
- **Source**: {filename}.md (lines {start}-{end})
|
|
152
|
+
- **Summary**: {1-2 sentence summary}
|
|
153
|
+
- **Key questions**: {what needs deciding}
|
|
154
|
+
|
|
155
|
+
### {Another theme}
|
|
156
|
+
- **Source**: {filename}.md (lines {start}-{end})
|
|
157
|
+
- **Summary**: {1-2 sentence summary}
|
|
158
|
+
- **Key questions**: {what needs deciding}
|
|
159
|
+
|
|
160
|
+
[... more topics ...]
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
Ensure the `.cache` directory exists: `mkdir -p docs/workflow/.cache`
|
|
164
|
+
|
|
165
|
+
### Step 3A.3: Cross-reference with Discussions
|
|
166
|
+
|
|
167
|
+
**Always performed** (whether using cache or fresh analysis):
|
|
168
|
+
|
|
169
|
+
For each identified topic, check if a corresponding discussion already exists in `docs/workflow/discussion/`.
|
|
170
|
+
|
|
171
|
+
### Step 3A.4: Present Findings
|
|
172
|
+
|
|
173
|
+
**If using cached analysis:**
|
|
174
|
+
```
|
|
175
|
+
📋 Cached analysis (research unchanged since {date})
|
|
176
|
+
|
|
177
|
+
💡 Topics identified:
|
|
178
|
+
|
|
179
|
+
✨ {Theme name}
|
|
180
|
+
Source: {filename}.md (lines {start}-{end})
|
|
181
|
+
"{Brief summary}"
|
|
182
|
+
|
|
183
|
+
✅ {Already discussed theme} → discussed in {topic}.md
|
|
184
|
+
Source: {filename}.md (lines {start}-{end})
|
|
185
|
+
"{Brief summary}"
|
|
186
|
+
|
|
187
|
+
Which topic would you like to discuss? (Or enter 'refresh' for fresh analysis)
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
**If fresh analysis:**
|
|
191
|
+
```
|
|
192
|
+
🔍 Analysis complete (cached for future sessions)
|
|
193
|
+
|
|
194
|
+
💡 Topics identified:
|
|
195
|
+
|
|
196
|
+
✨ {Theme name}
|
|
197
|
+
Source: {filename}.md (lines {start}-{end})
|
|
198
|
+
"{Brief summary}"
|
|
199
|
+
|
|
200
|
+
✅ {Already discussed theme} → discussed in {topic}.md
|
|
201
|
+
Source: {filename}.md (lines {start}-{end})
|
|
202
|
+
"{Brief summary}"
|
|
203
|
+
|
|
204
|
+
Which topic would you like to discuss? (Or describe something else)
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
**Key:**
|
|
208
|
+
- ✨ = Undiscussed topic (potential new discussion)
|
|
209
|
+
- ✅ = Already has a corresponding discussion
|
|
210
|
+
|
|
211
|
+
### Step 3A.5: Handle "refresh" Request
|
|
212
|
+
|
|
213
|
+
If user enters `refresh`:
|
|
214
|
+
- Delete the cache file: `rm docs/workflow/.cache/research-analysis.md`
|
|
215
|
+
- Return to Step 3A.2 (Full Analysis)
|
|
216
|
+
- Inform user: "Refreshing analysis..."
|
|
217
|
+
|
|
218
|
+
**Important:** Keep track of the source file and line numbers for the chosen topic - this will be passed to the skill.
|
|
219
|
+
|
|
220
|
+
Wait for the user to choose before proceeding to Step 4.
|
|
221
|
+
|
|
222
|
+
## Step 3B: "Continue discussion" Path
|
|
223
|
+
|
|
224
|
+
List existing discussions with their status:
|
|
225
|
+
|
|
226
|
+
```
|
|
227
|
+
💬 Existing discussions:
|
|
228
|
+
|
|
229
|
+
⚡ {topic}.md — {Status}
|
|
230
|
+
"{Brief description from context section}"
|
|
231
|
+
|
|
232
|
+
⚡ {topic}.md — {Status}
|
|
233
|
+
"{Brief description}"
|
|
234
|
+
|
|
235
|
+
✅ {topic}.md — Concluded
|
|
236
|
+
"{Brief description}"
|
|
237
|
+
|
|
238
|
+
Which discussion would you like to continue?
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
**Key:**
|
|
242
|
+
- ⚡ = In progress (Exploring or Deciding)
|
|
243
|
+
- ✅ = Concluded (can still be continued/reopened)
|
|
244
|
+
|
|
245
|
+
Wait for the user to choose, then proceed to Step 4.
|
|
246
|
+
|
|
247
|
+
## Step 3C: "Fresh topic" Path
|
|
248
|
+
|
|
249
|
+
Proceed directly to Step 4.
|
|
250
|
+
|
|
251
|
+
## Step 4: Gather Context
|
|
252
|
+
|
|
253
|
+
Gather context based on the chosen path.
|
|
254
|
+
|
|
255
|
+
**If starting new discussion (from research or fresh):**
|
|
256
|
+
|
|
257
|
+
```
|
|
258
|
+
## New discussion: {topic}
|
|
259
|
+
|
|
260
|
+
Before we begin:
|
|
261
|
+
|
|
262
|
+
1. What's the core problem or decision we need to work through?
|
|
263
|
+
|
|
264
|
+
2. Any constraints or context I should know about?
|
|
265
|
+
|
|
266
|
+
3. Are there specific files in the codebase I should review first?
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
Wait for responses before proceeding.
|
|
270
|
+
|
|
271
|
+
**If continuing existing discussion:**
|
|
272
|
+
|
|
273
|
+
Read the existing discussion document first, then ask:
|
|
274
|
+
|
|
275
|
+
```
|
|
276
|
+
## Continuing: {topic}
|
|
277
|
+
|
|
278
|
+
I've read the existing discussion.
|
|
279
|
+
|
|
280
|
+
What would you like to focus on in this session?
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
Wait for response before proceeding.
|
|
284
|
+
|
|
285
|
+
## Step 5: Invoke Discussion Skill
|
|
286
|
+
|
|
287
|
+
Begin the discussion session with appropriate context based on the path taken.
|
|
288
|
+
|
|
289
|
+
**If from research:**
|
|
290
|
+
```
|
|
291
|
+
Discussion session for: {topic}
|
|
292
|
+
Output: docs/workflow/discussion/{topic}.md
|
|
293
|
+
|
|
294
|
+
## Research Reference
|
|
295
|
+
Source: docs/workflow/research/{filename}.md (lines {start}-{end})
|
|
296
|
+
Summary: {the 1-2 sentence summary from Step 3A}
|
|
297
|
+
|
|
298
|
+
Begin discussion using the technical-discussion skill.
|
|
299
|
+
```
|
|
300
|
+
|
|
301
|
+
**If continuing or fresh:**
|
|
302
|
+
```
|
|
303
|
+
Discussion session for: {topic}
|
|
304
|
+
Source: {existing discussion | fresh}
|
|
305
|
+
Output: docs/workflow/discussion/{topic}.md
|
|
306
|
+
|
|
307
|
+
Begin discussion using the technical-discussion skill.
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
**Setup:**
|
|
31
311
|
- Ensure discussion directory exists: `docs/workflow/discussion/`
|
|
32
|
-
-
|
|
33
|
-
-
|
|
312
|
+
- If new: Create file using the template structure
|
|
313
|
+
- If continuing: Work with existing file
|
|
34
314
|
- Commit frequently at natural discussion breaks
|
|
35
315
|
|
|
36
|
-
|
|
316
|
+
## Notes
|
|
317
|
+
|
|
318
|
+
- Ask questions clearly and wait for responses before proceeding
|
|
319
|
+
- Discussion captures WHAT and WHY - don't jump to specifications or implementation
|
|
320
|
+
- The goal is to work through edge cases, debates, and decisions before planning
|
|
321
|
+
- Commit the discussion document frequently during the session
|