@leeovery/claude-technical-workflows 2.1.19 → 2.1.21
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/agents/implementation-analysis-architecture.md +1 -0
- package/agents/review-product-assessor.md +112 -0
- package/agents/review-task-verifier.md +2 -1
- package/package.json +1 -1
- package/skills/start-discussion/SKILL.md +20 -246
- package/skills/start-discussion/references/display-options.md +71 -0
- package/skills/start-discussion/references/gather-context-continue.md +17 -0
- package/skills/start-discussion/references/gather-context-fresh.md +41 -0
- package/skills/start-discussion/references/gather-context-research.md +25 -0
- package/skills/start-discussion/references/gather-context.md +31 -0
- package/skills/start-discussion/references/handle-selection.md +54 -0
- package/skills/start-discussion/references/invoke-skill.md +30 -0
- package/skills/start-discussion/references/research-analysis.md +72 -0
- package/skills/start-implementation/SKILL.md +1 -0
- package/skills/start-planning/SKILL.md +1 -0
- package/skills/start-review/SKILL.md +87 -21
- package/skills/start-review/scripts/discovery.sh +19 -0
- package/skills/start-specification/SKILL.md +1 -0
- package/skills/start-specification/references/display-analyze.md +2 -3
- package/skills/start-specification/references/display-groupings.md +11 -10
- package/skills/start-specification/references/display-single-grouped.md +3 -4
- package/skills/start-specification/references/display-single-has-spec.md +4 -3
- package/skills/start-specification/references/display-single-no-spec.md +4 -3
- package/skills/start-specification/references/display-specs-menu.md +10 -8
- package/skills/technical-review/SKILL.md +72 -70
- package/skills/technical-review/references/invoke-product-assessor.md +57 -0
- package/skills/technical-review/references/invoke-task-verifiers.md +104 -0
- package/skills/technical-review/references/review-checklist.md +1 -55
- package/skills/technical-review/references/template.md +34 -12
|
@@ -29,6 +29,7 @@ You receive via the orchestrator's prompt:
|
|
|
29
29
|
- Over/under-engineering — are abstractions justified by usage? Is raw code crying out for structure?
|
|
30
30
|
- Missed composition opportunities — are new abstractions independently implemented when they could be derived from existing ones? If two queries are logical inverses, one should be defined in terms of the other.
|
|
31
31
|
- Type safety at boundaries — are interfaces or function signatures using untyped parameters when the concrete types are known? Runtime type checks inside implementations signal the signature should be more specific.
|
|
32
|
+
- Design decision soundness — are there foundational choices that introduce unnecessary complexity or latent risk? Look for: layers that mirror each other when the domain type could own the transformation; correctness that depends on caller discipline rather than being self-contained; struct tags, type annotations, or interface contracts that would produce wrong results if used outside their current narrow context. Only flag decisions that create latent bugs, unnecessary indirection, or fragile assumptions — not merely different-but-working approaches.
|
|
32
33
|
|
|
33
34
|
## Your Process
|
|
34
35
|
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: review-product-assessor
|
|
3
|
+
description: Evaluates implementation holistically as a product — robustness, gaps, cross-plan consistency, and forward-looking assessment. Invoked by technical-review skill during product assessment stage.
|
|
4
|
+
tools: Read, Glob, Grep, Bash
|
|
5
|
+
model: opus
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Review: Product Assessor
|
|
9
|
+
|
|
10
|
+
You are evaluating an implementation as a product. Not task-by-task correctness (QA handles that) — you're assessing whether the product is robust, complete, and ready. You bring a holistic, forward-looking perspective.
|
|
11
|
+
|
|
12
|
+
## Your Input
|
|
13
|
+
|
|
14
|
+
You receive via the orchestrator's prompt:
|
|
15
|
+
|
|
16
|
+
1. **Implementation files** — all files in scope
|
|
17
|
+
2. **Specification path(s)** — validated specification(s) for design context
|
|
18
|
+
3. **Plan path(s)** — implementation plan(s) for scope context
|
|
19
|
+
4. **Project skill paths** — relevant `.claude/skills/` paths for framework conventions
|
|
20
|
+
5. **Review scope** — one of: `single-plan`, `multi-plan`, `full-product`
|
|
21
|
+
|
|
22
|
+
## Your Focus
|
|
23
|
+
|
|
24
|
+
### For all scopes:
|
|
25
|
+
|
|
26
|
+
- **Robustness** — Where would this break under real-world usage? Missing error handling, untested failure modes, fragile assumptions, edge cases the spec didn't cover
|
|
27
|
+
- **Gaps** — What's obviously missing now the product exists? Things a real user would expect
|
|
28
|
+
- **Strengthening** — Performance, security, scalability concerns visible only at the whole-product level
|
|
29
|
+
- **What's next** — What does this enable? What should be built next?
|
|
30
|
+
|
|
31
|
+
### Additional for multi-plan / full-product scope:
|
|
32
|
+
|
|
33
|
+
- **Cross-plan consistency** — Are patterns consistent across independently-planned features? Same error handling, logging, configuration approaches?
|
|
34
|
+
- **Integration seams** — Do the independently-built features connect cleanly? Shared types, compatible APIs, no conflicting assumptions?
|
|
35
|
+
- **Missing shared concerns** — Are there utilities, middleware, or abstractions that should exist but don't because each plan was developed independently?
|
|
36
|
+
- **Architectural coherence** — Does the product feel like one system or a collection of separate features?
|
|
37
|
+
|
|
38
|
+
## Your Process
|
|
39
|
+
|
|
40
|
+
1. **Read project skills** — understand framework conventions and architecture patterns
|
|
41
|
+
2. **Read specification(s)** — understand design intent and boundaries
|
|
42
|
+
3. **Read plan(s)** — understand what was built and the scope of each plan
|
|
43
|
+
4. **Read all implementation files** — understand the full picture
|
|
44
|
+
5. **Assess as a product** — evaluate holistically against focus areas
|
|
45
|
+
6. **Write findings** to `docs/workflow/review/{topic-or-scope}/product-assessment.md`
|
|
46
|
+
|
|
47
|
+
For multi-plan/full-product scope, use a descriptive scope name (e.g., `full-product` or a hyphenated list of topic names).
|
|
48
|
+
|
|
49
|
+
## Hard Rules
|
|
50
|
+
|
|
51
|
+
**MANDATORY. No exceptions.**
|
|
52
|
+
|
|
53
|
+
1. **No git writes** — do not commit or stage. Writing the output file is your only file write.
|
|
54
|
+
2. **No code edits** — read-only analysis. Do not modify implementation files.
|
|
55
|
+
3. **Holistic perspective** — evaluate as a product, not task-by-task
|
|
56
|
+
4. **Forward-looking** — assess the product as it stands. Do not re-litigate implementation decisions.
|
|
57
|
+
5. **Proportional** — high-impact observations only. Not minor preferences.
|
|
58
|
+
6. **Scope-aware** — cross-plan findings only for multi-plan/full-product scope. Don't fabricate cross-cutting issues for single-plan reviews.
|
|
59
|
+
|
|
60
|
+
## Output File Format
|
|
61
|
+
|
|
62
|
+
Write to `docs/workflow/review/{topic-or-scope}/product-assessment.md`:
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
SCOPE: {single-plan | multi-plan | full-product}
|
|
66
|
+
PLANS_REVIEWED: {list}
|
|
67
|
+
|
|
68
|
+
ROBUSTNESS:
|
|
69
|
+
- {observation with file:line references}
|
|
70
|
+
|
|
71
|
+
GAPS:
|
|
72
|
+
- {what's missing with reasoning}
|
|
73
|
+
|
|
74
|
+
INTEGRATION: (multi-plan/full-product only)
|
|
75
|
+
- {cross-plan observations}
|
|
76
|
+
|
|
77
|
+
CONSISTENCY: (multi-plan/full-product only)
|
|
78
|
+
- {pattern inconsistencies across plans}
|
|
79
|
+
|
|
80
|
+
STRENGTHENING:
|
|
81
|
+
- {priority improvements}
|
|
82
|
+
|
|
83
|
+
NEXT_STEPS:
|
|
84
|
+
- {recommendations with priority}
|
|
85
|
+
|
|
86
|
+
SUMMARY: {1-2 paragraph product readiness assessment}
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
If no significant findings:
|
|
90
|
+
|
|
91
|
+
```
|
|
92
|
+
SCOPE: {scope}
|
|
93
|
+
PLANS_REVIEWED: {list}
|
|
94
|
+
|
|
95
|
+
ROBUSTNESS: No significant concerns
|
|
96
|
+
GAPS: No obvious gaps
|
|
97
|
+
STRENGTHENING: No priority improvements identified
|
|
98
|
+
NEXT_STEPS:
|
|
99
|
+
- {recommendations}
|
|
100
|
+
|
|
101
|
+
SUMMARY: {1-2 paragraph assessment}
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
## Your Output
|
|
105
|
+
|
|
106
|
+
Return a brief status to the orchestrator:
|
|
107
|
+
|
|
108
|
+
```
|
|
109
|
+
STATUS: findings | clean
|
|
110
|
+
FINDINGS_COUNT: {N}
|
|
111
|
+
SUMMARY: {1 sentence}
|
|
112
|
+
```
|
|
@@ -15,7 +15,8 @@ You receive:
|
|
|
15
15
|
1. **Plan task**: A specific task with its acceptance criteria
|
|
16
16
|
2. **Specification path**: For loading context about this task's feature/requirement
|
|
17
17
|
3. **Plan path**: The full plan for additional context
|
|
18
|
-
4. **
|
|
18
|
+
4. **Project skill paths**: Relevant `.claude/skills/` paths for framework conventions
|
|
19
|
+
5. **Review checklist path**: Path to the review checklist (`skills/technical-review/references/review-checklist.md`) — read this for detailed verification criteria
|
|
19
20
|
|
|
20
21
|
## Your Task
|
|
21
22
|
|
package/package.json
CHANGED
|
@@ -30,6 +30,7 @@ Follow these steps EXACTLY as written. Do not skip steps or combine them. Presen
|
|
|
30
30
|
|
|
31
31
|
**CRITICAL**: This guidance is mandatory.
|
|
32
32
|
|
|
33
|
+
- **Silent processing**: Do NOT narrate your internal reasoning. Never output discovery field values, routing decisions, cache status, or prerequisite checks. The first user-visible output must be the display content itself.
|
|
33
34
|
- After each user interaction, STOP and wait for their response before proceeding
|
|
34
35
|
- Never assume or anticipate user choices
|
|
35
36
|
- Even if the user's initial prompt seems to answer a question, still confirm with them at the appropriate step
|
|
@@ -96,263 +97,63 @@ Parse the discovery output to understand:
|
|
|
96
97
|
|
|
97
98
|
Use `state.scenario` from the discovery output to determine the path:
|
|
98
99
|
|
|
99
|
-
#### If scenario is "fresh"
|
|
100
|
-
|
|
101
|
-
No research or discussions exist yet.
|
|
102
|
-
|
|
103
|
-
```
|
|
104
|
-
Starting fresh - no prior research or discussions found.
|
|
105
|
-
|
|
106
|
-
What topic would you like to discuss?
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
**STOP.** Wait for user response, then skip to **Step 6** (Gather Context) with their topic.
|
|
110
|
-
|
|
111
|
-
#### If scenario is "discussions_only"
|
|
112
|
-
|
|
113
|
-
No research exists, but discussions do. Skip research analysis.
|
|
114
|
-
|
|
115
|
-
→ Proceed to **Step 4**.
|
|
116
|
-
|
|
117
100
|
#### If scenario is "research_only" or "research_and_discussions"
|
|
118
101
|
|
|
119
102
|
Research exists and may need analysis.
|
|
120
103
|
|
|
121
104
|
→ Proceed to **Step 3**.
|
|
122
105
|
|
|
123
|
-
|
|
106
|
+
#### If scenario is "discussions_only"
|
|
124
107
|
|
|
125
|
-
|
|
108
|
+
No research exists, but discussions do. Skip research analysis.
|
|
126
109
|
|
|
127
|
-
|
|
110
|
+
→ Proceed to **Step 4**.
|
|
128
111
|
|
|
129
|
-
|
|
112
|
+
#### If scenario is "fresh"
|
|
130
113
|
|
|
131
|
-
|
|
114
|
+
No research or discussions exist yet.
|
|
132
115
|
|
|
133
116
|
```
|
|
134
|
-
|
|
135
|
-
```
|
|
136
|
-
|
|
137
|
-
Load the topics from `docs/workflow/.cache/research-analysis.md` and proceed.
|
|
138
|
-
|
|
139
|
-
→ Proceed to **Step 4**.
|
|
140
|
-
|
|
141
|
-
#### If cache.status is "stale" or "none"
|
|
117
|
+
Starting fresh - no prior research or discussions found.
|
|
142
118
|
|
|
143
|
-
|
|
144
|
-
Analyzing research documents...
|
|
119
|
+
What topic would you like to discuss?
|
|
145
120
|
```
|
|
146
121
|
|
|
147
|
-
|
|
148
|
-
- Note the source file and relevant line numbers
|
|
149
|
-
- Summarize what the theme is about in 1-2 sentences
|
|
150
|
-
- Identify key questions or decisions that need discussion
|
|
122
|
+
**STOP.** Wait for user response.
|
|
151
123
|
|
|
152
|
-
|
|
153
|
-
- Major architectural decisions
|
|
154
|
-
- Technical trade-offs mentioned
|
|
155
|
-
- Open questions or concerns raised
|
|
156
|
-
- Implementation approaches discussed
|
|
157
|
-
- Integration points with external systems
|
|
158
|
-
- Security or performance considerations
|
|
159
|
-
- Edge cases or error handling mentioned
|
|
124
|
+
When user responds, proceed with their topic.
|
|
160
125
|
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
Ensure the cache directory exists:
|
|
164
|
-
```bash
|
|
165
|
-
mkdir -p docs/workflow/.cache
|
|
166
|
-
```
|
|
167
|
-
|
|
168
|
-
Create/update `docs/workflow/.cache/research-analysis.md`:
|
|
126
|
+
→ Proceed to **Step 6**.
|
|
169
127
|
|
|
170
|
-
```markdown
|
|
171
128
|
---
|
|
172
|
-
checksum: {research.checksum from discovery}
|
|
173
|
-
generated: YYYY-MM-DDTHH:MM:SS # Use current ISO timestamp
|
|
174
|
-
research_files:
|
|
175
|
-
- {filename1}.md
|
|
176
|
-
- {filename2}.md
|
|
177
|
-
---
|
|
178
|
-
|
|
179
|
-
# Research Analysis Cache
|
|
180
129
|
|
|
181
|
-
##
|
|
130
|
+
## Step 3: Research Analysis
|
|
182
131
|
|
|
183
|
-
|
|
184
|
-
- **Source**: {filename}.md (lines {start}-{end})
|
|
185
|
-
- **Summary**: {1-2 sentence summary}
|
|
186
|
-
- **Key questions**: {what needs deciding}
|
|
187
|
-
|
|
188
|
-
### {Another theme}
|
|
189
|
-
- **Source**: {filename}.md (lines {start}-{end})
|
|
190
|
-
- **Summary**: {1-2 sentence summary}
|
|
191
|
-
- **Key questions**: {what needs deciding}
|
|
192
|
-
```
|
|
193
|
-
|
|
194
|
-
**Cross-reference**: For each topic, note if a discussion already exists (from `discussions.files` in discovery).
|
|
132
|
+
Load **[research-analysis.md](references/research-analysis.md)** and follow its instructions as written.
|
|
195
133
|
|
|
196
134
|
→ Proceed to **Step 4**.
|
|
197
135
|
|
|
198
136
|
---
|
|
199
137
|
|
|
200
|
-
## Step 4: Present
|
|
201
|
-
|
|
202
|
-
Present everything discovered to help the user make an informed choice.
|
|
203
|
-
|
|
204
|
-
**Present the full state:**
|
|
205
|
-
|
|
206
|
-
```
|
|
207
|
-
Workflow Status: Discussion Phase
|
|
208
|
-
|
|
209
|
-
Research topics:
|
|
210
|
-
1. · {Theme name} - undiscussed
|
|
211
|
-
Source: {filename}.md (lines {start}-{end})
|
|
212
|
-
"{Brief summary}"
|
|
213
|
-
|
|
214
|
-
2. ✓ {Theme name} → {topic}.md
|
|
215
|
-
Source: {filename}.md (lines {start}-{end})
|
|
216
|
-
"{Brief summary}"
|
|
217
|
-
|
|
218
|
-
Discussions:
|
|
219
|
-
- {topic}.md (in-progress)
|
|
220
|
-
- {topic}.md (concluded)
|
|
221
|
-
```
|
|
222
|
-
|
|
223
|
-
**Legend:**
|
|
224
|
-
- `·` = undiscussed topic (potential new discussion)
|
|
225
|
-
- `✓` = already has a corresponding discussion
|
|
226
|
-
|
|
227
|
-
**Then present the options based on what exists:**
|
|
228
|
-
|
|
229
|
-
**If research AND discussions exist:**
|
|
230
|
-
```
|
|
231
|
-
· · · · · · · · · · · ·
|
|
232
|
-
How would you like to proceed?
|
|
233
|
-
|
|
234
|
-
- **`r`/`refresh`** — Force fresh research analysis
|
|
235
|
-
- From research — pick a topic number above (e.g., "1" or "research 1")
|
|
236
|
-
- Continue discussion — name one above (e.g., "continue {topic}")
|
|
237
|
-
- Fresh topic — describe what you want to discuss
|
|
238
|
-
· · · · · · · · · · · ·
|
|
239
|
-
```
|
|
240
|
-
|
|
241
|
-
**If ONLY research exists:**
|
|
242
|
-
```
|
|
243
|
-
· · · · · · · · · · · ·
|
|
244
|
-
How would you like to proceed?
|
|
245
|
-
|
|
246
|
-
- **`r`/`refresh`** — Force fresh research analysis
|
|
247
|
-
- From research — pick a topic number above (e.g., "1" or "research 1")
|
|
248
|
-
- Fresh topic — describe what you want to discuss
|
|
249
|
-
· · · · · · · · · · · ·
|
|
250
|
-
```
|
|
251
|
-
|
|
252
|
-
**If ONLY discussions exist:**
|
|
253
|
-
```
|
|
254
|
-
· · · · · · · · · · · ·
|
|
255
|
-
How would you like to proceed?
|
|
256
|
-
|
|
257
|
-
- Continue discussion — name one above (e.g., "continue {topic}")
|
|
258
|
-
- Fresh topic — describe what you want to discuss
|
|
259
|
-
· · · · · · · · · · · ·
|
|
260
|
-
```
|
|
138
|
+
## Step 4: Present Options
|
|
261
139
|
|
|
262
|
-
**
|
|
140
|
+
Load **[display-options.md](references/display-options.md)** and follow its instructions as written.
|
|
263
141
|
|
|
264
|
-
→
|
|
142
|
+
→ Proceed to **Step 5**.
|
|
265
143
|
|
|
266
144
|
---
|
|
267
145
|
|
|
268
|
-
## Step 5: Handle
|
|
269
|
-
|
|
270
|
-
Route based on the user's choice from Step 4.
|
|
271
|
-
|
|
272
|
-
#### If user chose "From research"
|
|
273
|
-
|
|
274
|
-
User chose to start from research (e.g., "research 1", "1", "from research", or a topic name).
|
|
275
|
-
|
|
276
|
-
**If user specified a topic inline** (e.g., "research 2", "2", or topic name):
|
|
277
|
-
- Identify the selected topic from Step 4's numbered list
|
|
278
|
-
- → Proceed to **Step 6**
|
|
279
|
-
|
|
280
|
-
**If user just said "from research" without specifying:**
|
|
281
|
-
```
|
|
282
|
-
Which research topic would you like to discuss? (Enter a number or topic name)
|
|
283
|
-
```
|
|
284
|
-
|
|
285
|
-
**STOP.** Wait for response, then proceed to **Step 6**.
|
|
286
|
-
|
|
287
|
-
#### If user chose "Continue discussion"
|
|
288
|
-
|
|
289
|
-
User chose to continue a discussion (e.g., "continue auth-flow" or "continue discussion").
|
|
146
|
+
## Step 5: Handle Selection
|
|
290
147
|
|
|
291
|
-
**
|
|
292
|
-
- Identify the selected discussion from Step 4's list
|
|
293
|
-
- → Proceed to **Step 6**
|
|
294
|
-
|
|
295
|
-
**If user just said "continue discussion" without specifying:**
|
|
296
|
-
```
|
|
297
|
-
Which discussion would you like to continue?
|
|
298
|
-
```
|
|
299
|
-
|
|
300
|
-
**STOP.** Wait for response, then proceed to **Step 6**.
|
|
301
|
-
|
|
302
|
-
#### If user chose "Fresh topic"
|
|
303
|
-
|
|
304
|
-
User wants to start a fresh discussion.
|
|
148
|
+
Load **[handle-selection.md](references/handle-selection.md)** and follow its instructions as written.
|
|
305
149
|
|
|
306
150
|
→ Proceed to **Step 6**.
|
|
307
151
|
|
|
308
|
-
#### If user chose "refresh"
|
|
309
|
-
|
|
310
|
-
```
|
|
311
|
-
Refreshing analysis...
|
|
312
|
-
```
|
|
313
|
-
|
|
314
|
-
Delete the cache file:
|
|
315
|
-
```bash
|
|
316
|
-
rm docs/workflow/.cache/research-analysis.md
|
|
317
|
-
```
|
|
318
|
-
|
|
319
|
-
→ Return to **Step 3** to re-analyze, then back to **Step 4**.
|
|
320
|
-
|
|
321
152
|
---
|
|
322
153
|
|
|
323
154
|
## Step 6: Gather Context
|
|
324
155
|
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
#### If starting new discussion (from research or fresh)
|
|
328
|
-
|
|
329
|
-
```
|
|
330
|
-
## New discussion: {topic}
|
|
331
|
-
|
|
332
|
-
Before we begin:
|
|
333
|
-
|
|
334
|
-
1. What's the core problem or decision we need to work through?
|
|
335
|
-
|
|
336
|
-
2. Any constraints or context I should know about?
|
|
337
|
-
|
|
338
|
-
3. Are there specific files in the codebase I should review first?
|
|
339
|
-
```
|
|
340
|
-
|
|
341
|
-
**STOP.** Wait for responses before proceeding.
|
|
342
|
-
|
|
343
|
-
#### If continuing existing discussion
|
|
344
|
-
|
|
345
|
-
Read the existing discussion document first, then ask:
|
|
346
|
-
|
|
347
|
-
```
|
|
348
|
-
## Continuing: {topic}
|
|
349
|
-
|
|
350
|
-
I've read the existing discussion.
|
|
351
|
-
|
|
352
|
-
What would you like to focus on in this session?
|
|
353
|
-
```
|
|
354
|
-
|
|
355
|
-
**STOP.** Wait for response before proceeding.
|
|
156
|
+
Load **[gather-context.md](references/gather-context.md)** and follow its instructions as written.
|
|
356
157
|
|
|
357
158
|
→ Proceed to **Step 7**.
|
|
358
159
|
|
|
@@ -360,32 +161,5 @@ What would you like to focus on in this session?
|
|
|
360
161
|
|
|
361
162
|
## Step 7: Invoke the Skill
|
|
362
163
|
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
Invoke the [technical-discussion](../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.
|
|
366
|
-
|
|
367
|
-
**Example handoff (from research):**
|
|
368
|
-
```
|
|
369
|
-
Discussion session for: {topic}
|
|
370
|
-
Output: docs/workflow/discussion/{topic}.md
|
|
371
|
-
|
|
372
|
-
Research reference:
|
|
373
|
-
Source: docs/workflow/research/{filename}.md (lines {start}-{end})
|
|
374
|
-
Summary: {the 1-2 sentence summary from the research analysis}
|
|
375
|
-
|
|
376
|
-
Invoke the technical-discussion skill.
|
|
377
|
-
```
|
|
378
|
-
|
|
379
|
-
**Example handoff (continuing or fresh):**
|
|
380
|
-
```
|
|
381
|
-
Discussion session for: {topic}
|
|
382
|
-
Source: {existing discussion | fresh}
|
|
383
|
-
Output: docs/workflow/discussion/{topic}.md
|
|
384
|
-
|
|
385
|
-
Invoke the technical-discussion skill.
|
|
386
|
-
```
|
|
387
|
-
|
|
388
|
-
## Notes
|
|
164
|
+
Load **[invoke-skill.md](references/invoke-skill.md)** and follow its instructions as written.
|
|
389
165
|
|
|
390
|
-
- Ask questions clearly and wait for responses before proceeding
|
|
391
|
-
- Discussion captures WHAT and WHY - don't jump to specifications or implementation
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# Present Options
|
|
2
|
+
|
|
3
|
+
*Reference for **[start-discussion](../SKILL.md)***
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Present everything discovered to help the user make an informed choice.
|
|
8
|
+
|
|
9
|
+
**Present the full state:**
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
Workflow Status: Discussion Phase
|
|
13
|
+
|
|
14
|
+
Research topics:
|
|
15
|
+
1. · {Theme name} - undiscussed
|
|
16
|
+
Source: {filename}.md (lines {start}-{end})
|
|
17
|
+
"{Brief summary}"
|
|
18
|
+
|
|
19
|
+
2. ✓ {Theme name} → {topic}.md
|
|
20
|
+
Source: {filename}.md (lines {start}-{end})
|
|
21
|
+
"{Brief summary}"
|
|
22
|
+
|
|
23
|
+
Discussions:
|
|
24
|
+
- {topic}.md (in-progress)
|
|
25
|
+
- {topic}.md (concluded)
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
Key:
|
|
29
|
+
· = undiscussed topic (potential new discussion)
|
|
30
|
+
✓ = already has a corresponding discussion
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
**Then present the options based on what exists:**
|
|
34
|
+
|
|
35
|
+
#### If research and discussions exist
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
· · · · · · · · · · · ·
|
|
39
|
+
How would you like to proceed?
|
|
40
|
+
|
|
41
|
+
- **`r`/`refresh`** — Force fresh research analysis
|
|
42
|
+
- From research — pick a topic number above (e.g., "1" or "research 1")
|
|
43
|
+
- Continue discussion — name one above (e.g., "continue {topic}")
|
|
44
|
+
- Fresh topic — describe what you want to discuss
|
|
45
|
+
· · · · · · · · · · · ·
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
#### If only research exists
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
· · · · · · · · · · · ·
|
|
52
|
+
How would you like to proceed?
|
|
53
|
+
|
|
54
|
+
- **`r`/`refresh`** — Force fresh research analysis
|
|
55
|
+
- From research — pick a topic number above (e.g., "1" or "research 1")
|
|
56
|
+
- Fresh topic — describe what you want to discuss
|
|
57
|
+
· · · · · · · · · · · ·
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
#### If only discussions exist
|
|
61
|
+
|
|
62
|
+
```
|
|
63
|
+
· · · · · · · · · · · ·
|
|
64
|
+
How would you like to proceed?
|
|
65
|
+
|
|
66
|
+
- Continue discussion — name one above (e.g., "continue {topic}")
|
|
67
|
+
- Fresh topic — describe what you want to discuss
|
|
68
|
+
· · · · · · · · · · · ·
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
**STOP.** Wait for user response before proceeding.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Gather Context: Continue Discussion
|
|
2
|
+
|
|
3
|
+
*Reference for **[start-discussion](../SKILL.md)***
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Read the existing discussion document first, then ask:
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
Continuing: {topic}
|
|
11
|
+
|
|
12
|
+
I've read the existing discussion.
|
|
13
|
+
|
|
14
|
+
What would you like to focus on in this session?
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
**STOP.** Wait for response before proceeding.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Gather Context: Fresh Topic
|
|
2
|
+
|
|
3
|
+
*Reference for **[start-discussion](../SKILL.md)***
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Ask each question below **one at a time**. After each, **STOP** and wait for the user's response before proceeding.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Core Problem
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
New discussion: {topic}
|
|
15
|
+
|
|
16
|
+
What's the core problem or decision we need to work through?
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
**STOP.** Wait for user response before proceeding.
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Constraints
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
Any constraints or context I should know about?
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
**STOP.** Wait for user response before proceeding.
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## Codebase
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
Are there specific files in the codebase I should review first?
|
|
37
|
+
|
|
38
|
+
(Or "none" if not applicable)
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
**STOP.** Wait for user response before proceeding.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Gather Context: From Research
|
|
2
|
+
|
|
3
|
+
*Reference for **[start-discussion](../SKILL.md)***
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Summarise the selected research topic in 2-5 lines, drawing from the source, summary, and key questions in the research analysis.
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
New discussion: {topic}
|
|
11
|
+
|
|
12
|
+
Based on research: docs/workflow/research/{filename}.md (lines {start}-{end})
|
|
13
|
+
|
|
14
|
+
{2-5 line summary of the topic and what needs discussing}
|
|
15
|
+
|
|
16
|
+
· · · · · · · · · · · ·
|
|
17
|
+
Do you have anything to add? Extra context, files, or additional
|
|
18
|
+
research you'd like to include — drop them in now.
|
|
19
|
+
|
|
20
|
+
- **`n`/`no`** — Continue as-is
|
|
21
|
+
- Describe what you'd like to add
|
|
22
|
+
· · · · · · · · · · · ·
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
**STOP.** Wait for user response before proceeding.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Gather Context
|
|
2
|
+
|
|
3
|
+
*Reference for **[start-discussion](../SKILL.md)***
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Route based on the chosen path from earlier steps.
|
|
8
|
+
|
|
9
|
+
#### If starting from research
|
|
10
|
+
|
|
11
|
+
→ Load **[gather-context-research.md](gather-context-research.md)** and follow its instructions.
|
|
12
|
+
|
|
13
|
+
**STOP.** Wait for user response.
|
|
14
|
+
|
|
15
|
+
→ Proceed to **Step 7** with the gathered context.
|
|
16
|
+
|
|
17
|
+
#### If starting fresh topic
|
|
18
|
+
|
|
19
|
+
→ Load **[gather-context-fresh.md](gather-context-fresh.md)** and follow its instructions.
|
|
20
|
+
|
|
21
|
+
**STOP.** Wait for user response.
|
|
22
|
+
|
|
23
|
+
→ Proceed to **Step 7** with the gathered context.
|
|
24
|
+
|
|
25
|
+
#### If continuing existing discussion
|
|
26
|
+
|
|
27
|
+
→ Load **[gather-context-continue.md](gather-context-continue.md)** and follow its instructions.
|
|
28
|
+
|
|
29
|
+
**STOP.** Wait for user response.
|
|
30
|
+
|
|
31
|
+
→ Proceed to **Step 7** with the gathered context.
|