@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
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# Handle Selection
|
|
2
|
+
|
|
3
|
+
*Reference for **[start-discussion](../SKILL.md)***
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Route based on the user's choice from the options display.
|
|
8
|
+
|
|
9
|
+
#### If user chose "From research"
|
|
10
|
+
|
|
11
|
+
User chose to start from research (e.g., "research 1", "1", "from research", or a topic name).
|
|
12
|
+
|
|
13
|
+
**If user specified a topic inline** (e.g., "research 2", "2", or topic name):
|
|
14
|
+
- Identify the selected topic from the numbered list
|
|
15
|
+
- Control returns to the backbone
|
|
16
|
+
|
|
17
|
+
**If user just said "from research" without specifying:**
|
|
18
|
+
```
|
|
19
|
+
Which research topic would you like to discuss? (Enter a number or topic name)
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
**STOP.** Wait for response.
|
|
23
|
+
|
|
24
|
+
#### If user chose "Continue discussion"
|
|
25
|
+
|
|
26
|
+
User chose to continue a discussion (e.g., "continue auth-flow" or "continue discussion").
|
|
27
|
+
|
|
28
|
+
**If user specified a discussion inline** (e.g., "continue auth-flow"):
|
|
29
|
+
- Identify the selected discussion from the list
|
|
30
|
+
- Control returns to the backbone
|
|
31
|
+
|
|
32
|
+
**If user just said "continue discussion" without specifying:**
|
|
33
|
+
```
|
|
34
|
+
Which discussion would you like to continue?
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
**STOP.** Wait for response.
|
|
38
|
+
|
|
39
|
+
#### If user chose "Fresh topic"
|
|
40
|
+
|
|
41
|
+
User wants to start a fresh discussion. Control returns to the backbone.
|
|
42
|
+
|
|
43
|
+
#### If user chose "refresh"
|
|
44
|
+
|
|
45
|
+
```
|
|
46
|
+
Refreshing analysis...
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Delete the cache file:
|
|
50
|
+
```bash
|
|
51
|
+
rm docs/workflow/.cache/research-analysis.md
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
→ Return to **Step 3** to re-analyze.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Invoke the Skill
|
|
2
|
+
|
|
3
|
+
*Reference for **[start-discussion](../SKILL.md)***
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
This skill's purpose is now fulfilled.
|
|
8
|
+
|
|
9
|
+
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.
|
|
10
|
+
|
|
11
|
+
**Example handoff (from research):**
|
|
12
|
+
```
|
|
13
|
+
Discussion session for: {topic}
|
|
14
|
+
Output: docs/workflow/discussion/{topic}.md
|
|
15
|
+
|
|
16
|
+
Research reference:
|
|
17
|
+
Source: docs/workflow/research/{filename}.md (lines {start}-{end})
|
|
18
|
+
Summary: {the 1-2 sentence summary from the research analysis}
|
|
19
|
+
|
|
20
|
+
Invoke the technical-discussion skill.
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
**Example handoff (continuing or fresh):**
|
|
24
|
+
```
|
|
25
|
+
Discussion session for: {topic}
|
|
26
|
+
Source: {existing discussion | fresh}
|
|
27
|
+
Output: docs/workflow/discussion/{topic}.md
|
|
28
|
+
|
|
29
|
+
Invoke the technical-discussion skill.
|
|
30
|
+
```
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# Research Analysis
|
|
2
|
+
|
|
3
|
+
*Reference for **[start-discussion](../SKILL.md)***
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
This step only runs when research files exist.
|
|
8
|
+
|
|
9
|
+
Use `cache.status` from discovery to determine the approach:
|
|
10
|
+
|
|
11
|
+
#### If cache.status is "valid"
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
Using cached research analysis (unchanged since {cache.generated})
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Load the topics from `docs/workflow/.cache/research-analysis.md` and proceed.
|
|
18
|
+
|
|
19
|
+
#### If cache.status is "stale" or "none"
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
Analyzing research documents...
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Read each research file and extract key themes and potential discussion topics. For each theme:
|
|
26
|
+
- Note the source file and relevant line numbers
|
|
27
|
+
- Summarize what the theme is about in 1-2 sentences
|
|
28
|
+
- Identify key questions or decisions that need discussion
|
|
29
|
+
|
|
30
|
+
**Be thorough**: This analysis will be cached, so identify ALL potential topics:
|
|
31
|
+
- Major architectural decisions
|
|
32
|
+
- Technical trade-offs mentioned
|
|
33
|
+
- Open questions or concerns raised
|
|
34
|
+
- Implementation approaches discussed
|
|
35
|
+
- Integration points with external systems
|
|
36
|
+
- Security or performance considerations
|
|
37
|
+
- Edge cases or error handling mentioned
|
|
38
|
+
|
|
39
|
+
**Save to cache:**
|
|
40
|
+
|
|
41
|
+
Ensure the cache directory exists:
|
|
42
|
+
```bash
|
|
43
|
+
mkdir -p docs/workflow/.cache
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Create/update `docs/workflow/.cache/research-analysis.md`:
|
|
47
|
+
|
|
48
|
+
```markdown
|
|
49
|
+
---
|
|
50
|
+
checksum: {research.checksum from discovery}
|
|
51
|
+
generated: YYYY-MM-DDTHH:MM:SS # Use current ISO timestamp
|
|
52
|
+
research_files:
|
|
53
|
+
- {filename1}.md
|
|
54
|
+
- {filename2}.md
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
# Research Analysis Cache
|
|
58
|
+
|
|
59
|
+
## Topics
|
|
60
|
+
|
|
61
|
+
### {Theme name}
|
|
62
|
+
- **Source**: {filename}.md (lines {start}-{end})
|
|
63
|
+
- **Summary**: {1-2 sentence summary}
|
|
64
|
+
- **Key questions**: {what needs deciding}
|
|
65
|
+
|
|
66
|
+
### {Another theme}
|
|
67
|
+
- **Source**: {filename}.md (lines {start}-{end})
|
|
68
|
+
- **Summary**: {1-2 sentence summary}
|
|
69
|
+
- **Key questions**: {what needs deciding}
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
**Cross-reference**: For each topic, note if a discussion already exists (from `discussions.files` in discovery).
|
|
@@ -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
|
|
@@ -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
|
|
@@ -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
|
|
@@ -71,6 +72,8 @@ Parse the discovery output to understand:
|
|
|
71
72
|
|
|
72
73
|
**From `state` section:**
|
|
73
74
|
- `scenario` - one of: `"no_plans"`, `"single_plan"`, `"multiple_plans"`
|
|
75
|
+
- `implemented_count` - plans with implementation_status != "none"
|
|
76
|
+
- `completed_count` - plans with implementation_status == "completed"
|
|
74
77
|
|
|
75
78
|
**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.
|
|
76
79
|
|
|
@@ -102,29 +105,67 @@ Plans exist.
|
|
|
102
105
|
|
|
103
106
|
---
|
|
104
107
|
|
|
105
|
-
## Step 3: Present Plans and Select
|
|
108
|
+
## Step 3: Present Plans and Select Scope
|
|
106
109
|
|
|
107
|
-
Present all discovered plans to help the user
|
|
110
|
+
Present all discovered plans with implementation status to help the user understand what's reviewable.
|
|
108
111
|
|
|
109
112
|
**Present the full state:**
|
|
110
113
|
|
|
111
114
|
```
|
|
112
|
-
|
|
115
|
+
Review Phase
|
|
113
116
|
|
|
114
|
-
|
|
115
|
-
|
|
117
|
+
Reviewable:
|
|
118
|
+
1. ✓ {topic-1} (completed) - format: {format}, spec: {exists|missing}
|
|
119
|
+
2. ▶ {topic-2} (in-progress) - format: {format}, spec: {exists|missing}
|
|
116
120
|
|
|
117
|
-
|
|
118
|
-
|
|
121
|
+
Not reviewable:
|
|
122
|
+
· {topic-3} [no implementation]
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
**Formatting rules:**
|
|
126
|
+
|
|
127
|
+
Reviewable (numbered, selectable):
|
|
128
|
+
- **`✓`** — implementation_status: completed
|
|
129
|
+
- **`▶`** — implementation_status: in-progress
|
|
130
|
+
|
|
131
|
+
Not reviewable (not numbered, not selectable):
|
|
132
|
+
- **`·`** — implementation_status: none
|
|
133
|
+
|
|
134
|
+
Omit either section entirely if it has no entries.
|
|
135
|
+
|
|
136
|
+
**Then route based on what's reviewable:**
|
|
137
|
+
|
|
138
|
+
#### If no reviewable plans
|
|
139
|
+
|
|
140
|
+
```
|
|
141
|
+
No implemented plans found.
|
|
142
|
+
|
|
143
|
+
The review phase requires at least one plan with an implementation.
|
|
144
|
+
Please run /start-implementation first.
|
|
119
145
|
```
|
|
120
146
|
|
|
121
|
-
**
|
|
147
|
+
**STOP.** Wait for user to acknowledge before ending.
|
|
148
|
+
|
|
149
|
+
#### If single reviewable plan
|
|
150
|
+
|
|
151
|
+
```
|
|
152
|
+
Auto-selecting: {topic} (only reviewable plan)
|
|
153
|
+
Scope: single
|
|
122
154
|
```
|
|
123
|
-
|
|
155
|
+
|
|
156
|
+
→ Proceed directly to **Step 5**.
|
|
157
|
+
|
|
158
|
+
#### If multiple reviewable plans
|
|
159
|
+
|
|
124
160
|
```
|
|
125
|
-
|
|
161
|
+
· · · · · · · · · · · ·
|
|
162
|
+
What scope would you like to review?
|
|
126
163
|
|
|
127
|
-
|
|
164
|
+
- **`s`/`single`** — Review one plan's implementation
|
|
165
|
+
- **`m`/`multi`** — Review selected plans together (cross-cutting)
|
|
166
|
+
- **`a`/`all`** — Review all implemented plans (full product)
|
|
167
|
+
· · · · · · · · · · · ·
|
|
168
|
+
```
|
|
128
169
|
|
|
129
170
|
**STOP.** Wait for user response.
|
|
130
171
|
|
|
@@ -132,23 +173,37 @@ Auto-selecting: {topic} (only available plan)
|
|
|
132
173
|
|
|
133
174
|
---
|
|
134
175
|
|
|
135
|
-
## Step 4:
|
|
176
|
+
## Step 4: Plan Selection
|
|
177
|
+
|
|
178
|
+
This step only applies for `single` or `multi` scope chosen in Step 3.
|
|
179
|
+
|
|
180
|
+
#### If scope is "all"
|
|
181
|
+
|
|
182
|
+
All reviewable plans are included. No selection needed.
|
|
183
|
+
|
|
184
|
+
→ Proceed directly to **Step 5**.
|
|
136
185
|
|
|
137
|
-
|
|
186
|
+
#### If scope is "single"
|
|
138
187
|
|
|
139
188
|
```
|
|
140
189
|
· · · · · · · · · · · ·
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
- **`a`/`all`** — All changes since the plan was created
|
|
144
|
-
- **`g`/`git`** — Identify from git status
|
|
145
|
-
- Specific directories or files — tell me which
|
|
190
|
+
Which plan would you like to review? (Enter a number from Step 3)
|
|
146
191
|
· · · · · · · · · · · ·
|
|
147
192
|
```
|
|
148
193
|
|
|
149
194
|
**STOP.** Wait for user response.
|
|
150
195
|
|
|
151
|
-
|
|
196
|
+
→ Proceed to **Step 5**.
|
|
197
|
+
|
|
198
|
+
#### If scope is "multi"
|
|
199
|
+
|
|
200
|
+
```
|
|
201
|
+
· · · · · · · · · · · ·
|
|
202
|
+
Which plans to include? (Enter numbers separated by commas, e.g. 1,3)
|
|
203
|
+
· · · · · · · · · · · ·
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
**STOP.** Wait for user response.
|
|
152
207
|
|
|
153
208
|
→ Proceed to **Step 5**.
|
|
154
209
|
|
|
@@ -160,14 +215,25 @@ After completing the steps above, this skill's purpose is fulfilled.
|
|
|
160
215
|
|
|
161
216
|
Invoke the [technical-review](../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.
|
|
162
217
|
|
|
163
|
-
**Example handoff:**
|
|
218
|
+
**Example handoff (single):**
|
|
164
219
|
```
|
|
165
220
|
Review session for: {topic}
|
|
221
|
+
Review scope: single
|
|
166
222
|
Plan: docs/workflow/planning/{topic}.md
|
|
167
223
|
Format: {format}
|
|
168
224
|
Plan ID: {plan_id} (if applicable)
|
|
169
225
|
Specification: {specification} (exists: {true|false})
|
|
170
|
-
|
|
226
|
+
|
|
227
|
+
Invoke the technical-review skill.
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
**Example handoff (multi/all):**
|
|
231
|
+
```
|
|
232
|
+
Review session for: {scope description}
|
|
233
|
+
Review scope: {multi | all}
|
|
234
|
+
Plans:
|
|
235
|
+
- docs/workflow/planning/{topic-1}.md (format: {format}, spec: {spec})
|
|
236
|
+
- docs/workflow/planning/{topic-2}.md (format: {format}, spec: {spec})
|
|
171
237
|
|
|
172
238
|
Invoke the technical-review skill.
|
|
173
239
|
```
|
|
@@ -45,6 +45,8 @@ echo ""
|
|
|
45
45
|
echo "plans:"
|
|
46
46
|
|
|
47
47
|
plan_count=0
|
|
48
|
+
implemented_count=0
|
|
49
|
+
completed_count=0
|
|
48
50
|
|
|
49
51
|
if [ -d "$PLAN_DIR" ] && [ -n "$(ls -A "$PLAN_DIR" 2>/dev/null)" ]; then
|
|
50
52
|
echo " exists: true"
|
|
@@ -73,6 +75,14 @@ if [ -d "$PLAN_DIR" ] && [ -n "$(ls -A "$PLAN_DIR" 2>/dev/null)" ]; then
|
|
|
73
75
|
spec_exists="true"
|
|
74
76
|
fi
|
|
75
77
|
|
|
78
|
+
# Check implementation status
|
|
79
|
+
impl_tracking="docs/workflow/implementation/${name}/tracking.md"
|
|
80
|
+
impl_status="none"
|
|
81
|
+
if [ -f "$impl_tracking" ]; then
|
|
82
|
+
impl_status_val=$(extract_field "$impl_tracking" "status")
|
|
83
|
+
impl_status=${impl_status_val:-"in-progress"}
|
|
84
|
+
fi
|
|
85
|
+
|
|
76
86
|
echo " - name: \"$name\""
|
|
77
87
|
echo " topic: \"$topic\""
|
|
78
88
|
echo " status: \"$status\""
|
|
@@ -83,8 +93,15 @@ if [ -d "$PLAN_DIR" ] && [ -n "$(ls -A "$PLAN_DIR" 2>/dev/null)" ]; then
|
|
|
83
93
|
if [ -n "$plan_id" ]; then
|
|
84
94
|
echo " plan_id: \"$plan_id\""
|
|
85
95
|
fi
|
|
96
|
+
echo " implementation_status: \"$impl_status\""
|
|
86
97
|
|
|
87
98
|
plan_count=$((plan_count + 1))
|
|
99
|
+
if [ "$impl_status" != "none" ]; then
|
|
100
|
+
implemented_count=$((implemented_count + 1))
|
|
101
|
+
fi
|
|
102
|
+
if [ "$impl_status" = "completed" ]; then
|
|
103
|
+
completed_count=$((completed_count + 1))
|
|
104
|
+
fi
|
|
88
105
|
done
|
|
89
106
|
|
|
90
107
|
echo " count: $plan_count"
|
|
@@ -103,6 +120,8 @@ echo "state:"
|
|
|
103
120
|
|
|
104
121
|
echo " has_plans: $([ "$plan_count" -gt 0 ] && echo "true" || echo "false")"
|
|
105
122
|
echo " plan_count: $plan_count"
|
|
123
|
+
echo " implemented_count: $implemented_count"
|
|
124
|
+
echo " completed_count: $completed_count"
|
|
106
125
|
|
|
107
126
|
# Determine workflow state for routing
|
|
108
127
|
if [ "$plan_count" -eq 0 ]; then
|
|
@@ -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
|
|
@@ -24,7 +24,6 @@ List all concluded discussions from discovery output.
|
|
|
24
24
|
### If in-progress discussions exist
|
|
25
25
|
|
|
26
26
|
```
|
|
27
|
-
---
|
|
28
27
|
Discussions not ready for specification:
|
|
29
28
|
These discussions are still in progress and must be concluded
|
|
30
29
|
before they can be included in a specification.
|
|
@@ -33,10 +32,11 @@ before they can be included in a specification.
|
|
|
33
32
|
|
|
34
33
|
### Cache-Aware Message
|
|
35
34
|
|
|
35
|
+
No `---` separator before these messages.
|
|
36
|
+
|
|
36
37
|
#### If cache status is "none"
|
|
37
38
|
|
|
38
39
|
```
|
|
39
|
-
---
|
|
40
40
|
These discussions will be analyzed for natural groupings to determine
|
|
41
41
|
how they should be organized into specifications. Results are cached
|
|
42
42
|
and reused until discussions change.
|
|
@@ -51,7 +51,6 @@ Proceed with analysis?
|
|
|
51
51
|
#### If cache status is "stale"
|
|
52
52
|
|
|
53
53
|
```
|
|
54
|
-
---
|
|
55
54
|
A previous grouping analysis exists but is outdated — discussions
|
|
56
55
|
have changed since it was created.
|
|
57
56
|
|
|
@@ -67,12 +67,11 @@ Recommended breakdown for specifications with their source discussions.
|
|
|
67
67
|
└─ {discussion-name} (ready)
|
|
68
68
|
```
|
|
69
69
|
|
|
70
|
-
|
|
70
|
+
**Formatting is exact**: Output the tree structure exactly as shown above — preserve all indentation spaces, blank lines between groupings, and `├─`/`└─` characters. Do not flatten or compress the spacing.
|
|
71
71
|
|
|
72
72
|
### If in-progress discussions exist
|
|
73
73
|
|
|
74
74
|
```
|
|
75
|
-
---
|
|
76
75
|
Discussions not ready for specification:
|
|
77
76
|
These discussions are still in progress and must be concluded
|
|
78
77
|
before they can be included in a specification.
|
|
@@ -81,10 +80,9 @@ before they can be included in a specification.
|
|
|
81
80
|
|
|
82
81
|
### Key/Legend
|
|
83
82
|
|
|
84
|
-
Show only the statuses that appear in the current display.
|
|
83
|
+
Show only the statuses that appear in the current display. No `---` separator before this section.
|
|
85
84
|
|
|
86
85
|
```
|
|
87
|
-
---
|
|
88
86
|
Key:
|
|
89
87
|
|
|
90
88
|
Discussion status:
|
|
@@ -101,8 +99,9 @@ Key:
|
|
|
101
99
|
|
|
102
100
|
### Tip (show when 2+ groupings)
|
|
103
101
|
|
|
102
|
+
No `---` separator before this section.
|
|
103
|
+
|
|
104
104
|
```
|
|
105
|
-
---
|
|
106
105
|
Tip: To restructure groupings or pull a discussion into its own
|
|
107
106
|
specification, choose "Re-analyze" and provide guidance.
|
|
108
107
|
```
|
|
@@ -133,17 +132,19 @@ After all grouping entries, append meta options:
|
|
|
133
132
|
1. Start "Auth Flow" — 2 ready discussions
|
|
134
133
|
2. Continue "Data Model" — 1 source(s) pending extraction
|
|
135
134
|
3. Unify all into single specification
|
|
136
|
-
All discussions are combined into one specification. Existing
|
|
137
|
-
specifications are incorporated and superseded
|
|
135
|
+
`All discussions are combined into one specification. Existing`
|
|
136
|
+
`specifications are incorporated and superseded.`
|
|
138
137
|
4. Re-analyze groupings
|
|
139
|
-
Current groupings are discarded and rebuilt. Existing
|
|
140
|
-
specification names are preserved. You can provide guidance
|
|
141
|
-
in the next step
|
|
138
|
+
`Current groupings are discarded and rebuilt. Existing`
|
|
139
|
+
`specification names are preserved. You can provide guidance`
|
|
140
|
+
`in the next step.`
|
|
142
141
|
|
|
143
142
|
Select an option (enter number):
|
|
144
143
|
· · · · · · · · · · · ·
|
|
145
144
|
```
|
|
146
145
|
|
|
146
|
+
**Formatting is exact**: Reproduce the menu exactly as shown above — descriptions are indented 3 spaces and wrapped in backticks.
|
|
147
|
+
|
|
147
148
|
**STOP.** Wait for user response.
|
|
148
149
|
|
|
149
150
|
#### If user picks a grouping
|
|
@@ -27,10 +27,11 @@ Single concluded discussion found with existing multi-source specification.
|
|
|
27
27
|
└─ {source-name} (extracted, reopened)
|
|
28
28
|
```
|
|
29
29
|
|
|
30
|
+
**Formatting is exact**: Output the tree structure exactly as shown above — preserve all indentation spaces and `├─`/`└─` characters. Do not flatten or compress the spacing.
|
|
31
|
+
|
|
30
32
|
### If in-progress discussions exist
|
|
31
33
|
|
|
32
34
|
```
|
|
33
|
-
---
|
|
34
35
|
Discussions not ready for specification:
|
|
35
36
|
These discussions are still in progress and must be concluded
|
|
36
37
|
before they can be included in a specification.
|
|
@@ -39,10 +40,9 @@ before they can be included in a specification.
|
|
|
39
40
|
|
|
40
41
|
### Key/Legend
|
|
41
42
|
|
|
42
|
-
Show only the statuses that appear in the current display.
|
|
43
|
+
Show only the statuses that appear in the current display. No `---` separator before this section.
|
|
43
44
|
|
|
44
45
|
```
|
|
45
|
-
---
|
|
46
46
|
Key:
|
|
47
47
|
|
|
48
48
|
Discussion status:
|
|
@@ -58,7 +58,6 @@ Key:
|
|
|
58
58
|
## After Display
|
|
59
59
|
|
|
60
60
|
```
|
|
61
|
-
---
|
|
62
61
|
Automatically proceeding with "{Spec Title Case Name}".
|
|
63
62
|
```
|
|
64
63
|
|
|
@@ -21,10 +21,11 @@ Single concluded discussion found with existing specification.
|
|
|
21
21
|
└─ {discussion-name} (extracted)
|
|
22
22
|
```
|
|
23
23
|
|
|
24
|
+
**Formatting is exact**: Output the tree structure exactly as shown above — preserve all indentation spaces and `├─`/`└─` characters. Do not flatten or compress the spacing.
|
|
25
|
+
|
|
24
26
|
### If in-progress discussions exist
|
|
25
27
|
|
|
26
28
|
```
|
|
27
|
-
---
|
|
28
29
|
Discussions not ready for specification:
|
|
29
30
|
These discussions are still in progress and must be concluded
|
|
30
31
|
before they can be included in a specification.
|
|
@@ -33,8 +34,9 @@ before they can be included in a specification.
|
|
|
33
34
|
|
|
34
35
|
### Key/Legend
|
|
35
36
|
|
|
37
|
+
No `---` separator before this section.
|
|
38
|
+
|
|
36
39
|
```
|
|
37
|
-
---
|
|
38
40
|
Key:
|
|
39
41
|
|
|
40
42
|
Discussion status:
|
|
@@ -47,7 +49,6 @@ Key:
|
|
|
47
49
|
## After Display
|
|
48
50
|
|
|
49
51
|
```
|
|
50
|
-
---
|
|
51
52
|
Automatically proceeding with "{Title Case Name}".
|
|
52
53
|
```
|
|
53
54
|
|
|
@@ -19,10 +19,11 @@ Single concluded discussion found.
|
|
|
19
19
|
└─ {discussion-name} (ready)
|
|
20
20
|
```
|
|
21
21
|
|
|
22
|
+
**Formatting is exact**: Output the tree structure exactly as shown above — preserve all indentation spaces and `├─`/`└─` characters. Do not flatten or compress the spacing.
|
|
23
|
+
|
|
22
24
|
### If in-progress discussions exist
|
|
23
25
|
|
|
24
26
|
```
|
|
25
|
-
---
|
|
26
27
|
Discussions not ready for specification:
|
|
27
28
|
These discussions are still in progress and must be concluded
|
|
28
29
|
before they can be included in a specification.
|
|
@@ -31,8 +32,9 @@ before they can be included in a specification.
|
|
|
31
32
|
|
|
32
33
|
### Key/Legend
|
|
33
34
|
|
|
35
|
+
No `---` separator before this section.
|
|
36
|
+
|
|
34
37
|
```
|
|
35
|
-
---
|
|
36
38
|
Key:
|
|
37
39
|
|
|
38
40
|
Discussion status:
|
|
@@ -45,7 +47,6 @@ Key:
|
|
|
45
47
|
## After Display
|
|
46
48
|
|
|
47
49
|
```
|
|
48
|
-
---
|
|
49
50
|
Automatically proceeding with "{Title Case Name}".
|
|
50
51
|
```
|
|
51
52
|
|
|
@@ -26,6 +26,8 @@ For each non-superseded specification from discovery output, display as nested t
|
|
|
26
26
|
└─ {source-name} (extracted)
|
|
27
27
|
```
|
|
28
28
|
|
|
29
|
+
**Formatting is exact**: Output the tree structure exactly as shown above — preserve all indentation spaces and `├─`/`└─` characters. Do not flatten or compress the spacing.
|
|
30
|
+
|
|
29
31
|
Determine discussion status from the spec's `sources` array:
|
|
30
32
|
- `incorporated` + `discussion_status: concluded` or `not-found` → `extracted`
|
|
31
33
|
- `incorporated` + `discussion_status: other` (e.g. `in-progress`) → `extracted, reopened`
|
|
@@ -46,7 +48,6 @@ Concluded discussions not in a specification:
|
|
|
46
48
|
### If in-progress discussions exist
|
|
47
49
|
|
|
48
50
|
```
|
|
49
|
-
---
|
|
50
51
|
Discussions not ready for specification:
|
|
51
52
|
These discussions are still in progress and must be concluded
|
|
52
53
|
before they can be included in a specification.
|
|
@@ -55,10 +56,9 @@ before they can be included in a specification.
|
|
|
55
56
|
|
|
56
57
|
### Key/Legend
|
|
57
58
|
|
|
58
|
-
Show only the statuses that appear in the current display.
|
|
59
|
+
Show only the statuses that appear in the current display. No `---` separator before this section.
|
|
59
60
|
|
|
60
61
|
```
|
|
61
|
-
---
|
|
62
62
|
Key:
|
|
63
63
|
|
|
64
64
|
Discussion status:
|
|
@@ -72,17 +72,17 @@ Key:
|
|
|
72
72
|
|
|
73
73
|
### Cache-Aware Message
|
|
74
74
|
|
|
75
|
+
No `---` separator before these messages.
|
|
76
|
+
|
|
75
77
|
#### If cache status is "none"
|
|
76
78
|
|
|
77
79
|
```
|
|
78
|
-
---
|
|
79
80
|
No grouping analysis exists.
|
|
80
81
|
```
|
|
81
82
|
|
|
82
83
|
#### If cache status is "stale"
|
|
83
84
|
|
|
84
85
|
```
|
|
85
|
-
---
|
|
86
86
|
A previous grouping analysis exists but is outdated — discussions
|
|
87
87
|
have changed since it was created. Re-analysis is required.
|
|
88
88
|
```
|
|
@@ -104,9 +104,9 @@ List "Analyze for groupings (recommended)" first, then one entry per existing no
|
|
|
104
104
|
```
|
|
105
105
|
· · · · · · · · · · · ·
|
|
106
106
|
1. Analyze for groupings (recommended)
|
|
107
|
-
All discussions are analyzed for natural groupings. Existing
|
|
108
|
-
specification names are preserved. You can provide guidance
|
|
109
|
-
in the next step
|
|
107
|
+
`All discussions are analyzed for natural groupings. Existing`
|
|
108
|
+
`specification names are preserved. You can provide guidance`
|
|
109
|
+
`in the next step.`
|
|
110
110
|
2. Continue "Auth Flow" — in-progress
|
|
111
111
|
3. Refine "Data Model" — concluded
|
|
112
112
|
|
|
@@ -114,6 +114,8 @@ Select an option (enter number):
|
|
|
114
114
|
· · · · · · · · · · · ·
|
|
115
115
|
```
|
|
116
116
|
|
|
117
|
+
Menu descriptions are wrapped in backticks to visually distinguish them from the choice labels.
|
|
118
|
+
|
|
117
119
|
**STOP.** Wait for user response.
|
|
118
120
|
|
|
119
121
|
#### If user picks "Analyze for groupings"
|