@leeovery/claude-technical-workflows 2.1.22 → 2.1.24
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/package.json +1 -1
- package/skills/start-implementation/scripts/discovery.sh +4 -4
- package/skills/technical-implementation/SKILL.md +33 -33
- package/skills/technical-implementation/references/steps/analysis-loop.md +43 -43
- package/skills/technical-implementation/references/steps/task-loop.md +37 -37
- package/skills/technical-planning/SKILL.md +19 -19
- package/skills/technical-planning/references/steps/analyze-task-graph.md +29 -29
- package/skills/technical-planning/references/steps/author-tasks.md +9 -9
- package/skills/technical-planning/references/steps/define-phases.md +10 -10
- package/skills/technical-planning/references/steps/define-tasks.md +7 -7
- package/skills/technical-planning/references/steps/plan-construction.md +12 -12
- package/skills/technical-planning/references/steps/plan-review.md +5 -5
- package/skills/technical-planning/references/steps/resolve-dependencies.md +6 -6
- package/skills/technical-planning/references/steps/review-integrity.md +53 -53
- package/skills/technical-planning/references/steps/review-traceability.md +53 -53
- package/skills/technical-research/SKILL.md +9 -9
- package/skills/technical-specification/references/specification-guide.md +63 -63
package/package.json
CHANGED
|
@@ -262,10 +262,10 @@ if [ -d "$IMPL_DIR" ] && [ -n "$(ls -A "$IMPL_DIR" 2>/dev/null)" ]; then
|
|
|
262
262
|
echo " exists: true"
|
|
263
263
|
echo " files:"
|
|
264
264
|
|
|
265
|
-
for file in "$IMPL_DIR"
|
|
265
|
+
for file in "$IMPL_DIR"/*/tracking.md; do
|
|
266
266
|
[ -f "$file" ] || continue
|
|
267
267
|
|
|
268
|
-
impl_name=$(basename "$file"
|
|
268
|
+
impl_name=$(basename "$(dirname "$file")")
|
|
269
269
|
impl_status=$(extract_field "$file" "status")
|
|
270
270
|
impl_status=${impl_status:-"unknown"}
|
|
271
271
|
current_phase=$(extract_field "$file" "current_phase")
|
|
@@ -343,7 +343,7 @@ if [ "$plan_count" -gt 0 ] && [ -d "$PLAN_DIR" ]; then
|
|
|
343
343
|
if [ "$dep_state" = "resolved" ] && [ -n "$dep_task_id" ]; then
|
|
344
344
|
has_resolved_deps=true
|
|
345
345
|
# Check if the dependency topic has a tracking file
|
|
346
|
-
tracking_file="$IMPL_DIR/${dep_topic}.md"
|
|
346
|
+
tracking_file="$IMPL_DIR/${dep_topic}/tracking.md"
|
|
347
347
|
task_completed=false
|
|
348
348
|
|
|
349
349
|
if [ -f "$tracking_file" ]; then
|
|
@@ -441,7 +441,7 @@ if [ "$plan_count" -gt 0 ] && [ -d "$PLAN_DIR" ]; then
|
|
|
441
441
|
is_ready=false
|
|
442
442
|
break
|
|
443
443
|
elif [ "$dep_state" = "resolved" ] && [ -n "$dep_task_id" ]; then
|
|
444
|
-
tracking_file="$IMPL_DIR/${dep_topic}.md"
|
|
444
|
+
tracking_file="$IMPL_DIR/${dep_topic}/tracking.md"
|
|
445
445
|
if [ -f "$tracking_file" ]; then
|
|
446
446
|
completed=$(extract_completed_tasks "$tracking_file")
|
|
447
447
|
if ! echo "$completed" | grep -qx "$dep_task_id" 2>/dev/null; then
|
|
@@ -31,13 +31,13 @@ Either way: dispatch agents per task — executor implements via TDD, reviewer v
|
|
|
31
31
|
**Before proceeding**, verify all required inputs are available and unambiguous. If anything is missing or unclear, **STOP** — do not proceed until resolved.
|
|
32
32
|
|
|
33
33
|
- **No plan provided?**
|
|
34
|
-
|
|
34
|
+
"I need an implementation plan to execute. Could you point me to the plan file (e.g., `docs/workflow/planning/{topic}.md`)?"
|
|
35
35
|
|
|
36
36
|
- **Plan has no `format` field in frontmatter?**
|
|
37
|
-
|
|
37
|
+
"The plan at {path} doesn't specify an output format in its frontmatter. Which format does this plan use?"
|
|
38
38
|
|
|
39
39
|
- **Plan status is not `concluded`?**
|
|
40
|
-
|
|
40
|
+
"The plan at {path} has status '{status}' — it hasn't completed the review process. Should I proceed anyway, or should the plan be reviewed first?"
|
|
41
41
|
|
|
42
42
|
If no specification is available, the plan becomes the sole authority for design decisions.
|
|
43
43
|
|
|
@@ -91,7 +91,7 @@ Follow them. Complete ALL steps before proceeding.
|
|
|
91
91
|
|
|
92
92
|
Ask:
|
|
93
93
|
|
|
94
|
-
|
|
94
|
+
"No environment setup document found. Are there any setup instructions I should follow before implementing?"
|
|
95
95
|
|
|
96
96
|
**STOP.** Wait for user response.
|
|
97
97
|
|
|
@@ -166,14 +166,14 @@ Commit: `impl({topic}): start implementation`
|
|
|
166
166
|
|
|
167
167
|
Present the existing configuration for confirmation:
|
|
168
168
|
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
169
|
+
Previous session used these project skills:
|
|
170
|
+
- `{skill-name}` — {path}
|
|
171
|
+
- ...
|
|
172
|
+
|
|
173
|
+
· · · · · · · · · · · ·
|
|
174
|
+
- **`y`/`yes`** — Keep these, proceed
|
|
175
|
+
- **`c`/`change`** — Re-discover and choose skills
|
|
176
|
+
· · · · · · · · · · · ·
|
|
177
177
|
|
|
178
178
|
**Do not wrap the above in a code block** — output as raw markdown so bold styling renders.
|
|
179
179
|
|
|
@@ -194,16 +194,16 @@ No project skills found. Proceeding without project-specific conventions.
|
|
|
194
194
|
|
|
195
195
|
Scan `.claude/skills/` for project-specific skill directories. Present findings:
|
|
196
196
|
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
197
|
+
Found these project skills that may be relevant to implementation:
|
|
198
|
+
- `{skill-name}` — {brief description}
|
|
199
|
+
- `{skill-name}` — {brief description}
|
|
200
|
+
- ...
|
|
201
|
+
|
|
202
|
+
· · · · · · · · · · · ·
|
|
203
|
+
- **`a`/`all`** — Use all listed skills
|
|
204
|
+
- **`n`/`none`** — Skip project skills
|
|
205
|
+
- **Or list the ones you want** — e.g. "golang-pro, react-patterns"
|
|
206
|
+
· · · · · · · · · · · ·
|
|
207
207
|
|
|
208
208
|
**Do not wrap the above in a code block** — output as raw markdown so bold styling renders.
|
|
209
209
|
|
|
@@ -223,17 +223,17 @@ If `linters` is already populated in the tracking file, present the existing con
|
|
|
223
223
|
|
|
224
224
|
Otherwise, present discovery findings to the user:
|
|
225
225
|
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
226
|
+
**Linter discovery:**
|
|
227
|
+
- {tool} — `{command}` (installed / not installed)
|
|
228
|
+
- ...
|
|
229
|
+
|
|
230
|
+
Recommendations: {any suggested tools with install commands}
|
|
231
|
+
|
|
232
|
+
· · · · · · · · · · · ·
|
|
233
|
+
- **`y`/`yes`** — Approve these linter commands
|
|
234
|
+
- **`c`/`change`** — Modify the linter list
|
|
235
|
+
- **`s`/`skip`** — Skip linter setup (no linting during TDD)
|
|
236
|
+
· · · · · · · · · · · ·
|
|
237
237
|
|
|
238
238
|
**Do not wrap the above in a code block** — output as raw markdown so bold styling renders.
|
|
239
239
|
|
|
@@ -28,14 +28,14 @@ If `analysis_cycle > 3`:
|
|
|
28
28
|
|
|
29
29
|
**Do NOT skip analysis autonomously.** This gate is an escape hatch for the user — not a signal to stop. The expected default is to continue running analysis until no issues are found. Present the choice and let the user decide.
|
|
30
30
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
31
|
+
**Analysis cycle {N}**
|
|
32
|
+
|
|
33
|
+
Analysis has run {N-1} times so far. You can continue (recommended if issues were still found last cycle) or skip to completion.
|
|
34
|
+
|
|
35
|
+
· · · · · · · · · · · ·
|
|
36
|
+
- **`p`/`proceed`** — Continue analysis *(default)*
|
|
37
|
+
- **`s`/`skip`** — Skip analysis, proceed to completion
|
|
38
|
+
· · · · · · · · · · · ·
|
|
39
39
|
|
|
40
40
|
**Do not wrap the above in a code block** — output as raw markdown so bold styling renders.
|
|
41
41
|
|
|
@@ -57,15 +57,15 @@ If there are unstaged changes or untracked files, categorize them:
|
|
|
57
57
|
- **Implementation files** (files touched by `impl({topic}):` commits) — stage these automatically.
|
|
58
58
|
- **Unexpected files** (files not touched during implementation) — present to the user:
|
|
59
59
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
60
|
+
**Pre-analysis checkpoint — unexpected files detected:**
|
|
61
|
+
- `{file}` ({status: modified/untracked})
|
|
62
|
+
- ...
|
|
63
|
+
|
|
64
|
+
· · · · · · · · · · · ·
|
|
65
|
+
- **`y`/`yes`** — Include all in the checkpoint commit
|
|
66
|
+
- **`s`/`skip`** — Exclude unexpected files, commit only implementation files
|
|
67
|
+
- **Comment** — Specify which to include
|
|
68
|
+
· · · · · · · · · · · ·
|
|
69
69
|
|
|
70
70
|
**Do not wrap the above in a code block** — output as raw markdown so bold styling renders.
|
|
71
71
|
|
|
@@ -121,35 +121,35 @@ Read the staging file from `docs/workflow/implementation/{topic}/analysis-tasks-
|
|
|
121
121
|
|
|
122
122
|
Present an overview:
|
|
123
123
|
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
124
|
+
**Analysis cycle {N}: {K} proposed tasks**
|
|
125
|
+
|
|
126
|
+
1. {title} ({severity})
|
|
127
|
+
2. {title} ({severity})
|
|
128
|
+
...
|
|
129
129
|
|
|
130
130
|
Then present each task with `status: pending` individually:
|
|
131
131
|
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
132
|
+
**Task {current}/{total}: {title}** ({severity})
|
|
133
|
+
Sources: {sources}
|
|
134
|
+
|
|
135
|
+
**Problem**: {problem}
|
|
136
|
+
**Solution**: {solution}
|
|
137
|
+
**Outcome**: {outcome}
|
|
138
|
+
|
|
139
|
+
**Do**:
|
|
140
|
+
{steps}
|
|
141
|
+
|
|
142
|
+
**Acceptance Criteria**:
|
|
143
|
+
{criteria}
|
|
144
|
+
|
|
145
|
+
**Tests**:
|
|
146
|
+
{tests}
|
|
147
|
+
|
|
148
|
+
· · · · · · · · · · · ·
|
|
149
|
+
- **`a`/`approve`** — Approve this task
|
|
150
|
+
- **`s`/`skip`** — Skip this task
|
|
151
|
+
- **Comment** — Revise based on feedback
|
|
152
|
+
· · · · · · · · · · · ·
|
|
153
153
|
|
|
154
154
|
**Do not wrap the above in a code block** — output as raw markdown so bold styling renders.
|
|
155
155
|
|
|
@@ -40,15 +40,15 @@ E. Update progress + commit
|
|
|
40
40
|
|
|
41
41
|
Present the executor's ISSUES to the user:
|
|
42
42
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
43
|
+
**Task {id}: {Task Name} — {blocked/failed}**
|
|
44
|
+
|
|
45
|
+
{executor's ISSUES content}
|
|
46
|
+
|
|
47
|
+
· · · · · · · · · · · ·
|
|
48
|
+
- **`r`/`retry`** — Re-invoke the executor with your comments (provide below)
|
|
49
|
+
- **`s`/`skip`** — Skip this task and move to the next
|
|
50
|
+
- **`t`/`stop`** — Stop implementation entirely
|
|
51
|
+
· · · · · · · · · · · ·
|
|
52
52
|
|
|
53
53
|
**Do not wrap the above in a code block** — output as raw markdown so bold styling renders.
|
|
54
54
|
|
|
@@ -84,7 +84,7 @@ Increment `fix_attempts` in the implementation tracking file.
|
|
|
84
84
|
|
|
85
85
|
Announce the fix round (one line, no stop):
|
|
86
86
|
|
|
87
|
-
|
|
87
|
+
**Review for Task {id}: {Task Name} — needs changes** (attempt {N}/{max 3}, fix analysis included). Re-invoking executor.
|
|
88
88
|
|
|
89
89
|
→ Return to the top of **B. Execute Task** and re-invoke the executor with the full task content and the reviewer's notes (including fix analysis).
|
|
90
90
|
|
|
@@ -92,23 +92,23 @@ Announce the fix round (one line, no stop):
|
|
|
92
92
|
|
|
93
93
|
If `fix_attempts >= 3`, the executor and reviewer have failed to converge. Prepend:
|
|
94
94
|
|
|
95
|
-
|
|
95
|
+
The executor and reviewer have not converged after {N} attempts. Escalating for human review.
|
|
96
96
|
|
|
97
97
|
Present the reviewer's findings and fix analysis to the user:
|
|
98
98
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
99
|
+
**Review for Task {id}: {Task Name} — needs changes** (attempt {N})
|
|
100
|
+
|
|
101
|
+
{ISSUES from reviewer, including FIX, ALTERNATIVE, and CONFIDENCE for each}
|
|
102
|
+
|
|
103
|
+
Notes (non-blocking):
|
|
104
|
+
{NOTES from reviewer}
|
|
105
|
+
|
|
106
|
+
· · · · · · · · · · · ·
|
|
107
|
+
- **`y`/`yes`** — Accept the review and fix analysis, pass to executor
|
|
108
|
+
- **`a`/`auto`** — Accept and auto-approve future fix analyses
|
|
109
|
+
- **`s`/`skip`** — Override the reviewer and proceed as-is
|
|
110
|
+
- **Comment** — Any commentary, adjustments, alternative approaches, or questions before passing to executor
|
|
111
|
+
· · · · · · · · · · · ·
|
|
112
112
|
|
|
113
113
|
**Do not wrap the above in a code block** — output as raw markdown so bold styling renders.
|
|
114
114
|
|
|
@@ -129,17 +129,17 @@ After the reviewer approves a task, check the `task_gate_mode` field in the impl
|
|
|
129
129
|
|
|
130
130
|
Present a summary and wait for user input:
|
|
131
131
|
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
132
|
+
**Task {id}: {Task Name} — approved**
|
|
133
|
+
|
|
134
|
+
Phase: {phase number} — {phase name}
|
|
135
|
+
{executor's SUMMARY — brief commentary, decisions, implementation notes}
|
|
136
|
+
|
|
137
|
+
· · · · · · · · · · · ·
|
|
138
|
+
**Options:**
|
|
139
|
+
- **`y`/`yes`** — Approve, commit, continue to next task
|
|
140
|
+
- **`a`/`auto`** — Approve this and all future reviewer-approved tasks automatically
|
|
141
|
+
- **Comment** — Feedback the reviewer missed (triggers a fix round)
|
|
142
|
+
· · · · · · · · · · · ·
|
|
143
143
|
|
|
144
144
|
**Do not wrap the above in a code block** — output as raw markdown so bold styling renders.
|
|
145
145
|
|
|
@@ -153,7 +153,7 @@ Present a summary and wait for user input:
|
|
|
153
153
|
|
|
154
154
|
Announce the result (one line, no stop):
|
|
155
155
|
|
|
156
|
-
|
|
156
|
+
**Task {id}: {Task Name} — approved** (phase {N}: {phase name}, {brief summary}). Committing.
|
|
157
157
|
|
|
158
158
|
→ Proceed to **E. Update Progress and Commit**.
|
|
159
159
|
|
|
@@ -189,6 +189,6 @@ This is the end of this iteration.
|
|
|
189
189
|
|
|
190
190
|
## When All Tasks Are Complete
|
|
191
191
|
|
|
192
|
-
|
|
192
|
+
"All tasks complete. {M} tasks implemented."
|
|
193
193
|
|
|
194
194
|
→ Return to the skill for **Step 7**.
|
|
@@ -80,14 +80,14 @@ Note the current phase and task position from the `planning:` block.
|
|
|
80
80
|
|
|
81
81
|
Load **[spec-change-detection.md](references/spec-change-detection.md)** to check whether the specification has changed since planning started. Then present the user with an informed choice:
|
|
82
82
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
83
|
+
Found existing plan for **{topic}** (previously reached phase {N}, task {M}).
|
|
84
|
+
|
|
85
|
+
{spec change summary from spec-change-detection.md}
|
|
86
|
+
|
|
87
|
+
· · · · · · · · · · · ·
|
|
88
|
+
- **`c`/`continue`** — Walk through the plan from the start. You can review, amend, or navigate at any point — including straight to the leading edge.
|
|
89
|
+
- **`r`/`restart`** — Erase all planning work for this topic and start fresh. This deletes the Plan Index File and any Authored Tasks. Other topics are unaffected.
|
|
90
|
+
· · · · · · · · · · · ·
|
|
91
91
|
|
|
92
92
|
**Do not wrap the above in a code block** — output as raw markdown so bold styling renders.
|
|
93
93
|
|
|
@@ -126,12 +126,12 @@ First, choose the Output Format.
|
|
|
126
126
|
|
|
127
127
|
Present the recommendation:
|
|
128
128
|
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
129
|
+
Existing plans use **{format}**. Use the same format for consistency?
|
|
130
|
+
|
|
131
|
+
· · · · · · · · · · · ·
|
|
132
|
+
- **`y`/`yes`** — Use {format}
|
|
133
|
+
- **`n`/`no`** — See all available formats
|
|
134
|
+
· · · · · · · · · · · ·
|
|
135
135
|
|
|
136
136
|
**Do not wrap the above in a code block** — output as raw markdown so bold styling renders.
|
|
137
137
|
|
|
@@ -231,10 +231,10 @@ After the review is complete:
|
|
|
231
231
|
3. **Final commit** — Commit the concluded plan
|
|
232
232
|
4. **Present completion summary**:
|
|
233
233
|
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
234
|
+
"Planning is complete for **{topic}**.
|
|
235
|
+
|
|
236
|
+
The plan contains **{N} phases** with **{M} tasks** total, reviewed for traceability against the specification and structural integrity.
|
|
237
|
+
|
|
238
|
+
Status has been marked as `concluded`. The plan is ready for implementation."
|
|
239
239
|
|
|
240
240
|
> **CHECKPOINT**: Do not conclude if any tasks in the Plan Index File show `status: pending`. All tasks must be `authored` before concluding.
|
|
@@ -12,7 +12,7 @@ This step uses the `planning-dependency-grapher` agent (`../../../../agents/plan
|
|
|
12
12
|
|
|
13
13
|
Orient the user:
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
"All tasks are authored. Now I'll analyze internal dependencies and priorities across the full plan."
|
|
16
16
|
|
|
17
17
|
Read **[output-formats.md](../output-formats.md)**, find the entry matching the `format:` field in the Plan Index File, and load the format's **[reading.md](../output-formats/{format}/reading.md)** and **[graph.md](../output-formats/{format}/graph.md)**.
|
|
18
18
|
|
|
@@ -34,15 +34,15 @@ The agent clears any existing dependencies/priorities, analyzes all tasks, and
|
|
|
34
34
|
|
|
35
35
|
The natural task order is already correct. Present as rendered markdown (not in a code block):
|
|
36
36
|
|
|
37
|
-
|
|
38
|
-
>
|
|
39
|
-
> {notes from agent output}"
|
|
37
|
+
"I've analyzed all {M} tasks and the natural execution order is already correct — no explicit dependencies or priorities are needed.
|
|
40
38
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
39
|
+
{notes from agent output}"
|
|
40
|
+
|
|
41
|
+
· · · · · · · · · · · ·
|
|
42
|
+
**To proceed:**
|
|
43
|
+
- **`y`/`yes`** — Confirmed.
|
|
44
|
+
- **Or tell me what to change.**
|
|
45
|
+
· · · · · · · · · · · ·
|
|
46
46
|
|
|
47
47
|
**Do not wrap the above in a code block** — output as raw markdown so bold styling renders.
|
|
48
48
|
|
|
@@ -52,11 +52,11 @@ The natural task order is already correct. Present as rendered markdown (not in
|
|
|
52
52
|
|
|
53
53
|
No changes were applied. Present the cycle to the user:
|
|
54
54
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
55
|
+
"The dependency analysis found a circular dependency:
|
|
56
|
+
|
|
57
|
+
{cycle chain from agent output}
|
|
58
|
+
|
|
59
|
+
This must be resolved before continuing. The cycle usually means two tasks each assume the other is done first — one needs to be restructured or the dependency removed."
|
|
60
60
|
|
|
61
61
|
**STOP.** Wait for the user to decide how to resolve. Options include adjusting task scope, merging tasks, or removing a dependency. Re-invoke the agent after changes.
|
|
62
62
|
|
|
@@ -64,21 +64,21 @@ No changes were applied. Present the cycle to the user:
|
|
|
64
64
|
|
|
65
65
|
Dependencies and priorities have already been written to the task files. Present as rendered markdown (not in a code block):
|
|
66
66
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
67
|
+
"I've analyzed and applied dependencies and priorities across all {M} tasks:
|
|
68
|
+
|
|
69
|
+
**Dependencies** ({count} relationships):
|
|
70
|
+
{dependency list from agent output}
|
|
71
|
+
|
|
72
|
+
**Priorities**:
|
|
73
|
+
{priority list from agent output}
|
|
74
|
+
|
|
75
|
+
{any notes from agent output}"
|
|
76
|
+
|
|
77
|
+
· · · · · · · · · · · ·
|
|
78
|
+
**To proceed:**
|
|
79
|
+
- **`y`/`yes`** — Approved.
|
|
80
|
+
- **Or tell me what to change.**
|
|
81
|
+
· · · · · · · · · · · ·
|
|
82
82
|
|
|
83
83
|
**Do not wrap the above in a code block** — output as raw markdown so bold styling renders.
|
|
84
84
|
|
|
@@ -29,14 +29,14 @@ The agent returns complete task detail following the task template from task-des
|
|
|
29
29
|
|
|
30
30
|
After presenting, ask:
|
|
31
31
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
32
|
+
**Task {M} of {total}: {Task Name}**
|
|
33
|
+
|
|
34
|
+
· · · · · · · · · · · ·
|
|
35
|
+
**To proceed:**
|
|
36
|
+
- **`y`/`yes`** — Approved. I'll log it to the plan.
|
|
37
|
+
- **Or tell me what to change.**
|
|
38
|
+
- **Or navigate** — a different phase or task, or the leading edge.
|
|
39
|
+
· · · · · · · · · · · ·
|
|
40
40
|
|
|
41
41
|
**Do not wrap the above in a code block** — output as raw markdown so bold styling renders.
|
|
42
42
|
|
|
@@ -65,6 +65,6 @@ Present the revised task in full. Ask the same choice again. Repeat until approv
|
|
|
65
65
|
|
|
66
66
|
Confirm:
|
|
67
67
|
|
|
68
|
-
|
|
68
|
+
"Task {M} of {total}: {Task Name} — authored."
|
|
69
69
|
|
|
70
70
|
→ Return to **Plan Construction**.
|
|
@@ -16,7 +16,7 @@ Read the Plan Index File. Check if phases already exist in the body.
|
|
|
16
16
|
|
|
17
17
|
Orient the user:
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
"Phase structure already exists. I'll present it for your review."
|
|
20
20
|
|
|
21
21
|
Continue to **Review and Approve** below.
|
|
22
22
|
|
|
@@ -24,7 +24,7 @@ Continue to **Review and Approve** below.
|
|
|
24
24
|
|
|
25
25
|
Orient the user:
|
|
26
26
|
|
|
27
|
-
|
|
27
|
+
"I'll delegate phase design to a specialist agent. It will read the full specification and propose a phase structure — how we break this into independently testable stages."
|
|
28
28
|
|
|
29
29
|
### Invoke the Agent
|
|
30
30
|
|
|
@@ -57,14 +57,14 @@ Present the phase structure to the user as rendered markdown (not in a code bloc
|
|
|
57
57
|
|
|
58
58
|
**STOP.** Ask:
|
|
59
59
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
60
|
+
**Phase Structure**
|
|
61
|
+
|
|
62
|
+
· · · · · · · · · · · ·
|
|
63
|
+
**To proceed:**
|
|
64
|
+
- **`y`/`yes`** — Approved. I'll proceed to task breakdown.
|
|
65
|
+
- **Or tell me what to change** — reorder, split, merge, add, edit, or remove phases.
|
|
66
|
+
- **Or navigate** — a different phase or task, or the leading edge.
|
|
67
|
+
· · · · · · · · · · · ·
|
|
68
68
|
|
|
69
69
|
**Do not wrap the above in a code block** — output as raw markdown so bold styling renders.
|
|
70
70
|
|
|
@@ -12,7 +12,7 @@ This step uses the `planning-task-designer` agent (`../../../../agents/planning-
|
|
|
12
12
|
|
|
13
13
|
Orient the user:
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
"Taking Phase {N}: {Phase Name} and breaking it into tasks. I'll delegate this to a specialist agent that will read the full specification and propose a task list."
|
|
16
16
|
|
|
17
17
|
### Invoke the Agent
|
|
18
18
|
|
|
@@ -42,12 +42,12 @@ Present the task overview to the user as rendered markdown (not in a code block)
|
|
|
42
42
|
|
|
43
43
|
**STOP.** Ask:
|
|
44
44
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
45
|
+
· · · · · · · · · · · ·
|
|
46
|
+
**To proceed:**
|
|
47
|
+
- **`y`/`yes`** — Approved.
|
|
48
|
+
- **Or tell me what to change** — reorder, split, merge, add, edit, or remove tasks.
|
|
49
|
+
- **Or navigate** — a different phase or task, or the leading edge.
|
|
50
|
+
· · · · · · · · · · · ·
|
|
51
51
|
|
|
52
52
|
**Do not wrap the above in a code block** — output as raw markdown so bold styling renders.
|
|
53
53
|
|
|
@@ -53,7 +53,7 @@ Work through each phase in order.
|
|
|
53
53
|
|
|
54
54
|
Orient the user:
|
|
55
55
|
|
|
56
|
-
|
|
56
|
+
"I'll now work through each phase — presenting existing work for review and designing or authoring anything still pending. You'll approve at every stage."
|
|
57
57
|
|
|
58
58
|
### For each phase, check its state:
|
|
59
59
|
|
|
@@ -69,14 +69,14 @@ After Step A returns with an approved task table, continue to **Author Tasks for
|
|
|
69
69
|
|
|
70
70
|
Present the task list to the user as rendered markdown (not in a code block).
|
|
71
71
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
72
|
+
**Phase {N}: {Phase Name}** — {M} tasks.
|
|
73
|
+
|
|
74
|
+
· · · · · · · · · · · ·
|
|
75
|
+
**To proceed:**
|
|
76
|
+
- **`y`/`yes`** — Confirmed.
|
|
77
|
+
- **Or tell me what to change.**
|
|
78
|
+
- **Or navigate** — a different phase or task, or the leading edge.
|
|
79
|
+
· · · · · · · · · · · ·
|
|
80
80
|
|
|
81
81
|
**Do not wrap the above in a code block** — output as raw markdown so bold styling renders.
|
|
82
82
|
|
|
@@ -107,7 +107,7 @@ Never parallelize the first `pending` task in a phase. Never parallelize across
|
|
|
107
107
|
|
|
108
108
|
Already written. Present a brief summary:
|
|
109
109
|
|
|
110
|
-
|
|
110
|
+
"Task {M} of {total}: {Task Name} — already authored."
|
|
111
111
|
|
|
112
112
|
Continue to the next task.
|
|
113
113
|
|
|
@@ -121,7 +121,7 @@ After Step B returns, the task is authored. Continue to the next task.
|
|
|
121
121
|
|
|
122
122
|
Advance the `planning:` block in frontmatter to the next phase. Commit: `planning({topic}): complete Phase {N} tasks`
|
|
123
123
|
|
|
124
|
-
|
|
124
|
+
Phase {N}: {Phase Name} — complete ({M} tasks authored).
|
|
125
125
|
|
|
126
126
|
Continue to the next phase.
|
|
127
127
|
|
|
@@ -131,7 +131,7 @@ Continue to the next phase.
|
|
|
131
131
|
|
|
132
132
|
When all phases have all tasks authored:
|
|
133
133
|
|
|
134
|
-
|
|
134
|
+
"All phases are complete. The plan has **{N} phases** with **{M} tasks** total."
|
|
135
135
|
|
|
136
136
|
---
|
|
137
137
|
|
|
@@ -85,10 +85,10 @@ After both reviews:
|
|
|
85
85
|
|
|
86
86
|
3. **Confirm with the user**:
|
|
87
87
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
88
|
+
"The plan has passed both reviews:
|
|
89
|
+
- **Traceability**: All specification content is covered; no hallucinated content
|
|
90
|
+
- **Integrity**: Plan structure, tasks, and dependencies are implementation-ready
|
|
91
|
+
|
|
92
|
+
Review is complete."
|
|
93
93
|
|
|
94
94
|
> **CHECKPOINT**: Do not confirm completion if tracking files still exist. They indicate incomplete review work.
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
Orient the user:
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
"All phases and tasks are written. Now I'll check for external dependencies — things this plan needs from other topics or systems."
|
|
10
10
|
|
|
11
11
|
After all phases are detailed and written, handle external dependencies — things this plan needs from other topics or systems.
|
|
12
12
|
|
|
@@ -43,11 +43,11 @@ Skip the resolution and reverse check — there is nothing to resolve against. D
|
|
|
43
43
|
|
|
44
44
|
**STOP.** Present a summary of the dependency state: what was documented, what was resolved, what remains unresolved, and any reverse resolutions made.
|
|
45
45
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
46
|
+
· · · · · · · · · · · ·
|
|
47
|
+
**To proceed:**
|
|
48
|
+
- **`y`/`yes`** — Approved. I'll proceed to plan review.
|
|
49
|
+
- **Or tell me what to change.**
|
|
50
|
+
· · · · · · · · · · · ·
|
|
51
51
|
|
|
52
52
|
**Do not wrap the above in a code block** — output as raw markdown so bold styling renders.
|
|
53
53
|
|
|
@@ -87,15 +87,15 @@ Then:
|
|
|
87
87
|
|
|
88
88
|
**Stage 1: Summary**
|
|
89
89
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
90
|
+
"I've completed the plan integrity review. I found [N] items:
|
|
91
|
+
|
|
92
|
+
1. **[Brief title]** (Critical/Important/Minor)
|
|
93
|
+
[2-4 line explanation: what the issue is, why it matters for implementation]
|
|
94
|
+
|
|
95
|
+
2. **[Brief title]** (Critical/Important/Minor)
|
|
96
|
+
[2-4 line explanation]
|
|
97
|
+
|
|
98
|
+
Let's work through these one at a time, starting with #1."
|
|
99
99
|
|
|
100
100
|
**Stage 2: Process One Item at a Time**
|
|
101
101
|
|
|
@@ -105,15 +105,15 @@ Work through each finding **one at a time**. For each finding: present it, propo
|
|
|
105
105
|
|
|
106
106
|
Show the finding with full detail:
|
|
107
107
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
108
|
+
**Finding {N} of {total}: {Brief Title}**
|
|
109
|
+
|
|
110
|
+
**Severity**: Critical | Important | Minor
|
|
111
|
+
|
|
112
|
+
**Plan Reference**: [Phase/task in the plan]
|
|
113
|
+
|
|
114
|
+
**Category**: [Which review criterion — e.g., "Task Template Compliance", "Vertical Slicing"]
|
|
115
|
+
|
|
116
|
+
**Details**: [What the issue is and why it matters for implementation]
|
|
117
117
|
|
|
118
118
|
### Propose the Fix
|
|
119
119
|
|
|
@@ -123,60 +123,60 @@ State the action type explicitly so the user knows what's changing structurally:
|
|
|
123
123
|
|
|
124
124
|
**Update a task** — change content within an existing task:
|
|
125
125
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
126
|
+
**Proposed fix — update Phase {N}, Task {M}:**
|
|
127
|
+
|
|
128
|
+
**Current:**
|
|
129
|
+
[The existing content as it appears in the plan]
|
|
130
|
+
|
|
131
|
+
**Proposed:**
|
|
132
|
+
[The replacement content]
|
|
133
133
|
|
|
134
134
|
**Add content to a task** — insert into an existing task (e.g., missing acceptance criteria, edge case):
|
|
135
135
|
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
136
|
+
**Proposed fix — add to Phase {N}, Task {M}, {section}:**
|
|
137
|
+
|
|
138
|
+
[The exact content to be added, in plan format]
|
|
139
139
|
|
|
140
140
|
**Remove content from a task** — strip content that shouldn't be there:
|
|
141
141
|
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
142
|
+
**Proposed fix — remove from Phase {N}, Task {M}, {section}:**
|
|
143
|
+
|
|
144
|
+
[The exact content to be removed]
|
|
145
145
|
|
|
146
146
|
**Add a new task** — a spec section has no plan coverage and needs its own task:
|
|
147
147
|
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
148
|
+
**Proposed fix — add new task to Phase {N}:**
|
|
149
|
+
|
|
150
|
+
[The complete task in plan format, using the task template]
|
|
151
151
|
|
|
152
152
|
**Remove a task** — an entire task is hallucinated with no spec backing:
|
|
153
153
|
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
154
|
+
**Proposed fix — remove Phase {N}, Task {M}: {Task Name}**
|
|
155
|
+
|
|
156
|
+
**Reason**: [Why this task has no specification basis]
|
|
157
157
|
|
|
158
158
|
**Add a new phase** — a significant area of the specification has no plan coverage:
|
|
159
159
|
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
160
|
+
**Proposed fix — add new Phase {N}: {Phase Name}**
|
|
161
|
+
|
|
162
|
+
[Phase goal, acceptance criteria, and task overview]
|
|
163
163
|
|
|
164
164
|
**Remove a phase** — an entire phase is not backed by the specification:
|
|
165
165
|
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
166
|
+
**Proposed fix — remove Phase {N}: {Phase Name}**
|
|
167
|
+
|
|
168
|
+
**Reason**: [Why this phase has no specification basis]
|
|
169
169
|
|
|
170
170
|
After presenting the finding and proposed fix, ask:
|
|
171
171
|
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
172
|
+
**Finding {N} of {total}: {Brief Title}**
|
|
173
|
+
|
|
174
|
+
· · · · · · · · · · · ·
|
|
175
|
+
**To proceed:**
|
|
176
|
+
- **`y`/`yes`** — Approved. I'll apply it to the plan verbatim.
|
|
177
|
+
- **`s`/`skip`** — Leave this as-is and move to the next finding.
|
|
178
|
+
- **Or tell me what to change.**
|
|
179
|
+
· · · · · · · · · · · ·
|
|
180
180
|
|
|
181
181
|
**Do not wrap the above in a code block** — output as raw markdown so bold styling renders.
|
|
182
182
|
|
|
@@ -197,13 +197,13 @@ Apply the fix to the plan — as presented, using the output format adapter to d
|
|
|
197
197
|
|
|
198
198
|
Confirm:
|
|
199
199
|
|
|
200
|
-
|
|
200
|
+
"Finding {N} of {total}: {Brief Title} — fixed."
|
|
201
201
|
|
|
202
202
|
### If Skipped
|
|
203
203
|
|
|
204
204
|
Update the tracking file: mark resolution as "Skipped", note the reason.
|
|
205
205
|
|
|
206
|
-
|
|
206
|
+
"Finding {N} of {total}: {Brief Title} — skipped."
|
|
207
207
|
|
|
208
208
|
### Next Finding
|
|
209
209
|
|
|
@@ -65,15 +65,15 @@ After completing your review:
|
|
|
65
65
|
|
|
66
66
|
**Stage 1: Summary**
|
|
67
67
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
68
|
+
"I've completed the traceability review comparing the plan against the specification. I found [N] items:
|
|
69
|
+
|
|
70
|
+
1. **[Brief title]** (Missing from plan | Hallucinated | Incomplete)
|
|
71
|
+
[2-4 line explanation: what's wrong, where in the spec/plan, why it matters]
|
|
72
|
+
|
|
73
|
+
2. **[Brief title]** (Missing from plan | Hallucinated | Incomplete)
|
|
74
|
+
[2-4 line explanation]
|
|
75
|
+
|
|
76
|
+
Let's work through these one at a time, starting with #1."
|
|
77
77
|
|
|
78
78
|
**Stage 2: Process One Item at a Time**
|
|
79
79
|
|
|
@@ -83,15 +83,15 @@ Work through each finding **one at a time**. For each finding: present it, propo
|
|
|
83
83
|
|
|
84
84
|
Show the finding with full detail:
|
|
85
85
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
86
|
+
**Finding {N} of {total}: {Brief Title}**
|
|
87
|
+
|
|
88
|
+
**Type**: Missing from plan | Hallucinated content | Incomplete coverage
|
|
89
|
+
|
|
90
|
+
**Spec Reference**: [Section/decision in the specification]
|
|
91
|
+
|
|
92
|
+
**Plan Reference**: [Phase/task in the plan, or "N/A" for missing content]
|
|
93
|
+
|
|
94
|
+
**Details**: [What's wrong and why it matters]
|
|
95
95
|
|
|
96
96
|
### Propose the Fix
|
|
97
97
|
|
|
@@ -101,60 +101,60 @@ State the action type explicitly so the user knows what's changing structurally:
|
|
|
101
101
|
|
|
102
102
|
**Update a task** — change content within an existing task:
|
|
103
103
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
104
|
+
**Proposed fix — update Phase {N}, Task {M}:**
|
|
105
|
+
|
|
106
|
+
**Current:**
|
|
107
|
+
[The existing content as it appears in the plan]
|
|
108
|
+
|
|
109
|
+
**Proposed:**
|
|
110
|
+
[The replacement content]
|
|
111
111
|
|
|
112
112
|
**Add content to a task** — insert into an existing task (e.g., missing acceptance criteria, edge case):
|
|
113
113
|
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
114
|
+
**Proposed fix — add to Phase {N}, Task {M}, {section}:**
|
|
115
|
+
|
|
116
|
+
[The exact content to be added, in plan format]
|
|
117
117
|
|
|
118
118
|
**Remove content from a task** — strip content that shouldn't be there:
|
|
119
119
|
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
120
|
+
**Proposed fix — remove from Phase {N}, Task {M}, {section}:**
|
|
121
|
+
|
|
122
|
+
[The exact content to be removed]
|
|
123
123
|
|
|
124
124
|
**Add a new task** — a spec section has no plan coverage and needs its own task:
|
|
125
125
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
126
|
+
**Proposed fix — add new task to Phase {N}:**
|
|
127
|
+
|
|
128
|
+
[The complete task in plan format, using the task template]
|
|
129
129
|
|
|
130
130
|
**Remove a task** — an entire task is hallucinated with no spec backing:
|
|
131
131
|
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
132
|
+
**Proposed fix — remove Phase {N}, Task {M}: {Task Name}**
|
|
133
|
+
|
|
134
|
+
**Reason**: [Why this task has no specification basis]
|
|
135
135
|
|
|
136
136
|
**Add a new phase** — a significant area of the specification has no plan coverage:
|
|
137
137
|
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
138
|
+
**Proposed fix — add new Phase {N}: {Phase Name}**
|
|
139
|
+
|
|
140
|
+
[Phase goal, acceptance criteria, and task overview]
|
|
141
141
|
|
|
142
142
|
**Remove a phase** — an entire phase is not backed by the specification:
|
|
143
143
|
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
144
|
+
**Proposed fix — remove Phase {N}: {Phase Name}**
|
|
145
|
+
|
|
146
|
+
**Reason**: [Why this phase has no specification basis]
|
|
147
147
|
|
|
148
148
|
After presenting the finding and proposed fix, ask:
|
|
149
149
|
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
150
|
+
**Finding {N} of {total}: {Brief Title}**
|
|
151
|
+
|
|
152
|
+
· · · · · · · · · · · ·
|
|
153
|
+
**To proceed:**
|
|
154
|
+
- **`y`/`yes`** — Approved. I'll apply it to the plan verbatim.
|
|
155
|
+
- **`s`/`skip`** — Leave this as-is and move to the next finding.
|
|
156
|
+
- **Or tell me what to change.**
|
|
157
|
+
· · · · · · · · · · · ·
|
|
158
158
|
|
|
159
159
|
**Do not wrap the above in a code block** — output as raw markdown so bold styling renders.
|
|
160
160
|
|
|
@@ -175,13 +175,13 @@ Apply the fix to the plan — as presented, using the output format adapter to d
|
|
|
175
175
|
|
|
176
176
|
Confirm:
|
|
177
177
|
|
|
178
|
-
|
|
178
|
+
"Finding {N} of {total}: {Brief Title} — fixed."
|
|
179
179
|
|
|
180
180
|
### If Skipped
|
|
181
181
|
|
|
182
182
|
Update the tracking file: mark resolution as "Skipped", note the reason.
|
|
183
183
|
|
|
184
|
-
|
|
184
|
+
"Finding {N} of {total}: {Brief Title} — skipped."
|
|
185
185
|
|
|
186
186
|
### Next Finding
|
|
187
187
|
|
|
@@ -24,10 +24,10 @@ Either way: Explore feasibility (technical, business, market), validate assumpti
|
|
|
24
24
|
**Before proceeding**, confirm the required input is clear. If anything is missing or unclear, **STOP** and resolve with the user.
|
|
25
25
|
|
|
26
26
|
- **No topic provided?**
|
|
27
|
-
|
|
27
|
+
"What would you like to research or explore? This could be a new idea, a technical concept, a market opportunity — anything you want to investigate."
|
|
28
28
|
|
|
29
29
|
- **Topic is vague or could go many directions?**
|
|
30
|
-
|
|
30
|
+
"You mentioned {topic}. That could cover a lot of ground — is there a specific angle you'd like to start with, or should I explore broadly?"
|
|
31
31
|
|
|
32
32
|
---
|
|
33
33
|
|
|
@@ -85,13 +85,13 @@ Watch for these signs that a thread is moving from exploration toward decision-m
|
|
|
85
85
|
|
|
86
86
|
When you notice convergence, **flag it and give the user options**:
|
|
87
87
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
88
|
+
This thread seems to be converging — we've explored {topic} enough that the tradeoffs are clear and it's approaching decision territory.
|
|
89
|
+
|
|
90
|
+
· · · · · · · · · · · ·
|
|
91
|
+
- **`p`/`park`** — Mark as discussion-ready and move to another topic
|
|
92
|
+
- **`k`/`keep`** — Keep digging, there's more to understand
|
|
93
|
+
- Comment — your call
|
|
94
|
+
· · · · · · · · · · · ·
|
|
95
95
|
|
|
96
96
|
**Do not wrap the above in a code block** — output as raw markdown so bold styling renders.
|
|
97
97
|
|
|
@@ -72,17 +72,17 @@ For each topic or subtopic, perform exhaustive extraction:
|
|
|
72
72
|
### 2. Synthesize and Present
|
|
73
73
|
Present your understanding to the user **in the format it would appear in the specification**. Output the content as rendered markdown (not in a code block) — the user needs to read it naturally, not inspect raw formatting:
|
|
74
74
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
75
|
+
"Here's what I understand about [topic] based on the reference material. This is exactly what I'll write into the specification:
|
|
76
|
+
|
|
77
|
+
[content as rendered markdown]
|
|
78
78
|
|
|
79
79
|
Then, **separately from the content above** (clear visual break), present the choices as raw markdown:
|
|
80
80
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
81
|
+
· · · · · · · · · · · ·
|
|
82
|
+
**To proceed:**
|
|
83
|
+
- **`y`/`yes`** — Approved. I'll add the above to the specification **verbatim** (exactly as shown, no modifications).
|
|
84
|
+
- **Or tell me what to change.**
|
|
85
|
+
· · · · · · · · · · · ·
|
|
86
86
|
|
|
87
87
|
**Do not wrap content or choices in a code block** — both must render as styled markdown. The content and choices must be visually distinct (not run together).
|
|
88
88
|
|
|
@@ -491,18 +491,18 @@ After completing your review (steps 1-7):
|
|
|
491
491
|
|
|
492
492
|
Present a numbered summary of everything you found (from your tracking file):
|
|
493
493
|
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
494
|
+
"I've completed my final review against all source material. I found [N] items:
|
|
495
|
+
|
|
496
|
+
1. **[Brief title]**
|
|
497
|
+
[2-4 line explanation: what was missed, where it came from, what it affects]
|
|
498
|
+
|
|
499
|
+
2. **[Brief title]**
|
|
500
|
+
[2-4 line explanation]
|
|
501
|
+
|
|
502
|
+
3. **[Brief title]**
|
|
503
|
+
[2-4 line explanation]
|
|
504
|
+
|
|
505
|
+
Let's work through these one at a time, starting with #1."
|
|
506
506
|
|
|
507
507
|
Each item should have enough context that the user understands what they're about to discuss - not just a label, but clarity on what was missed and why it matters.
|
|
508
508
|
|
|
@@ -514,15 +514,15 @@ For each item, follow the **same workflow as the main specification process**:
|
|
|
514
514
|
2. **Discuss** if needed - clarify ambiguities, answer questions, refine the content
|
|
515
515
|
3. **Present for approval** - show as rendered markdown (not a code block) exactly what will be written to the specification. Then, separately, show the choices:
|
|
516
516
|
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
517
|
+
"Here's what I'll add to the specification:
|
|
518
|
+
|
|
519
|
+
[content as rendered markdown]
|
|
520
|
+
|
|
521
|
+
· · · · · · · · · · · ·
|
|
522
|
+
**To proceed:**
|
|
523
|
+
- **`y`/`yes`** — Approved. I'll add the above to the specification **verbatim**.
|
|
524
|
+
- **Or tell me what to change.**
|
|
525
|
+
· · · · · · · · · · · ·
|
|
526
526
|
|
|
527
527
|
**Do not wrap content or choices in a code block.** Content and choices must be visually distinct.
|
|
528
528
|
|
|
@@ -630,15 +630,15 @@ Follow the same two-stage presentation as Phase 1:
|
|
|
630
630
|
|
|
631
631
|
**Stage 1: Summary**
|
|
632
632
|
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
633
|
+
"I've completed the gap analysis of the specification. I found [N] items:
|
|
634
|
+
|
|
635
|
+
1. **[Brief title]** (Critical/Important/Minor)
|
|
636
|
+
[2-4 line explanation: what the gap is, why it matters for implementation]
|
|
637
|
+
|
|
638
|
+
2. **[Brief title]** (Critical/Important/Minor)
|
|
639
|
+
[2-4 line explanation]
|
|
640
|
+
|
|
641
|
+
Let's work through these one at a time, starting with #1."
|
|
642
642
|
|
|
643
643
|
**Stage 2: Process One Item at a Time**
|
|
644
644
|
|
|
@@ -648,15 +648,15 @@ For each item:
|
|
|
648
648
|
2. **Discuss** - work with the user to determine the correct specification content
|
|
649
649
|
3. **Present for approval** - show as rendered markdown (not a code block) exactly what will be written. Then, separately, show the choices:
|
|
650
650
|
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
651
|
+
"Here's what I'll add to the specification:
|
|
652
|
+
|
|
653
|
+
[content as rendered markdown]
|
|
654
|
+
|
|
655
|
+
· · · · · · · · · · · ·
|
|
656
|
+
**To proceed:**
|
|
657
|
+
- **`y`/`yes`** — Approved. I'll add the above to the specification **verbatim**.
|
|
658
|
+
- **Or tell me what to change.**
|
|
659
|
+
· · · · · · · · · · · ·
|
|
660
660
|
|
|
661
661
|
**Do not wrap content or choices in a code block.** Content and choices must be visually distinct.
|
|
662
662
|
|
|
@@ -703,14 +703,14 @@ Before asking for sign-off, assess whether this is a **feature** or **cross-cutt
|
|
|
703
703
|
|
|
704
704
|
Present your assessment to the user:
|
|
705
705
|
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
706
|
+
"This specification appears to be a **[feature/cross-cutting]** specification.
|
|
707
|
+
|
|
708
|
+
[Brief rationale - e.g., "It defines a caching strategy that will inform how multiple features handle data retrieval, rather than being a standalone piece of functionality to build."]
|
|
709
|
+
|
|
710
|
+
- **Feature specs** proceed to planning and implementation
|
|
711
|
+
- **Cross-cutting specs** are referenced by feature plans but don't have their own implementation plan
|
|
712
|
+
|
|
713
|
+
Does this assessment seem correct?"
|
|
714
714
|
|
|
715
715
|
Wait for user confirmation before proceeding.
|
|
716
716
|
|
|
@@ -729,14 +729,14 @@ If either file still exists, delete it now. These are temporary working files th
|
|
|
729
729
|
|
|
730
730
|
Once the type is confirmed and tracking files are removed, ask for final sign-off:
|
|
731
731
|
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
732
|
+
"The specification is ready for sign-off:
|
|
733
|
+
- **Type**: [feature/cross-cutting]
|
|
734
|
+
- **Status**: Complete
|
|
735
|
+
|
|
736
|
+
[If feature]: This specification can proceed to planning
|
|
737
|
+
[If cross-cutting]: This specification will be surfaced as reference context when planning features
|
|
738
|
+
|
|
739
|
+
Ready to mark as complete?"
|
|
740
740
|
|
|
741
741
|
### Step 4: Update Frontmatter
|
|
742
742
|
|