@leeovery/claude-technical-workflows 2.1.23 → 2.1.25
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/review-task-verifier.md +22 -10
- package/package.json +1 -1
- package/skills/link-dependencies/SKILL.md +60 -33
- package/skills/start-discussion/references/display-options.md +44 -15
- package/skills/start-discussion/references/gather-context-continue.md +2 -0
- package/skills/start-discussion/references/gather-context-fresh.md +6 -0
- package/skills/start-discussion/references/gather-context-research.md +2 -2
- package/skills/start-implementation/SKILL.md +114 -47
- package/skills/start-planning/SKILL.md +94 -36
- package/skills/start-research/references/gather-context.md +4 -4
- package/skills/start-review/SKILL.md +14 -123
- package/skills/start-review/references/display-plans.md +103 -0
- package/skills/start-review/references/invoke-skill.md +32 -0
- package/skills/start-review/references/select-plans.md +41 -0
- package/skills/start-specification/references/analysis-flow.md +2 -0
- package/skills/start-specification/references/confirm-continue.md +21 -1
- package/skills/start-specification/references/confirm-create.md +15 -1
- package/skills/start-specification/references/confirm-refine.md +9 -1
- package/skills/start-specification/references/confirm-unify.md +12 -0
- package/skills/start-specification/references/display-analyze.md +21 -2
- package/skills/start-specification/references/display-blocks.md +11 -6
- package/skills/start-specification/references/display-groupings.md +20 -13
- package/skills/start-specification/references/display-single-grouped.md +13 -6
- package/skills/start-specification/references/display-single-has-spec.md +15 -7
- package/skills/start-specification/references/display-single-no-spec.md +13 -9
- package/skills/start-specification/references/display-single.md +0 -2
- package/skills/start-specification/references/display-specs-menu.md +21 -6
- package/skills/status/SKILL.md +18 -11
- package/skills/technical-implementation/SKILL.md +45 -37
- package/skills/technical-implementation/references/steps/analysis-loop.md +53 -47
- package/skills/technical-implementation/references/steps/task-loop.md +48 -42
- package/skills/technical-planning/SKILL.md +25 -21
- package/skills/technical-planning/references/steps/analyze-task-graph.md +36 -32
- package/skills/technical-planning/references/steps/author-tasks.md +12 -10
- package/skills/technical-planning/references/steps/define-phases.md +13 -11
- package/skills/technical-planning/references/steps/define-tasks.md +10 -8
- package/skills/technical-planning/references/steps/plan-construction.md +15 -13
- package/skills/technical-planning/references/steps/plan-review.md +5 -5
- package/skills/technical-planning/references/steps/resolve-dependencies.md +9 -7
- package/skills/technical-planning/references/steps/review-integrity.md +56 -54
- package/skills/technical-planning/references/steps/review-traceability.md +56 -54
- package/skills/technical-research/SKILL.md +12 -10
- package/skills/technical-review/references/invoke-task-verifiers.md +37 -47
- package/skills/technical-specification/references/specification-guide.md +74 -66
- package/skills/view-plan/SKILL.md +3 -1
package/skills/status/SKILL.md
CHANGED
|
@@ -27,32 +27,37 @@ docs/workflow/research/
|
|
|
27
27
|
docs/workflow/discussion/
|
|
28
28
|
docs/workflow/specification/
|
|
29
29
|
docs/workflow/planning/
|
|
30
|
+
docs/workflow/implementation/
|
|
30
31
|
```
|
|
31
32
|
|
|
33
|
+
For implementation, check `docs/workflow/implementation/{topic}/tracking.md` files and extract frontmatter fields: `status`, `current_phase`, `current_task`, `completed_tasks`, `completed_phases`.
|
|
34
|
+
|
|
32
35
|
## Step 2: Present Status
|
|
33
36
|
|
|
34
37
|
Research is project-wide exploration. From discussion onwards, work is organised by **topic** - different topics may be at different stages.
|
|
35
38
|
|
|
36
|
-
|
|
39
|
+
> *Output the next fenced block as markdown (not a code block):*
|
|
37
40
|
|
|
38
41
|
```
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
**Research:** 2 files (exploration.md, market-analysis.md)
|
|
42
|
+
**Workflow Overview**
|
|
42
43
|
|
|
43
|
-
**
|
|
44
|
+
**Research:** {count} files ({filenames})
|
|
44
45
|
|
|
45
|
-
| Topic
|
|
46
|
-
|
|
47
|
-
|
|
|
48
|
-
|
|
|
49
|
-
| notifications| ✓ | - | - | - |
|
|
46
|
+
| Topic | Discussion | Spec | Plan | Implemented |
|
|
47
|
+
|-------|------------|------|------|-------------|
|
|
48
|
+
| {topic} | {discussion_status} | {spec_status} | {plan_status} | {impl_status} |
|
|
49
|
+
| ... | | | | |
|
|
50
50
|
```
|
|
51
51
|
|
|
52
52
|
Adapt based on what exists:
|
|
53
|
-
- If a directory is empty or missing, show
|
|
53
|
+
- If a directory is empty or missing, show `-`
|
|
54
54
|
- For planning, note the output format if specified in frontmatter
|
|
55
55
|
- Match topics across phases by filename
|
|
56
|
+
- For implementation, derive the Implemented column from tracking file data:
|
|
57
|
+
- No tracking file → `-`
|
|
58
|
+
- `status: not-started` → `not started`
|
|
59
|
+
- `status: in-progress` → `phase {current_phase} ({n}/{total} tasks done)` — count `completed_tasks` for n; use total task count from `completed_tasks` + remaining if available, otherwise just show completed count
|
|
60
|
+
- `status: completed` → `completed`
|
|
56
61
|
|
|
57
62
|
## Step 3: Suggest Next Steps
|
|
58
63
|
|
|
@@ -75,6 +80,8 @@ Keep suggestions brief - the user knows their project's dependencies better than
|
|
|
75
80
|
|
|
76
81
|
If planning files exist, let the user know they can view plan details:
|
|
77
82
|
|
|
83
|
+
> *Output the next fenced block as a code block:*
|
|
84
|
+
|
|
78
85
|
```
|
|
79
86
|
To view a plan's tasks and progress, use /view-plan
|
|
80
87
|
```
|
|
@@ -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,16 +166,18 @@ Commit: `impl({topic}): start implementation`
|
|
|
166
166
|
|
|
167
167
|
Present the existing configuration for confirmation:
|
|
168
168
|
|
|
169
|
-
>
|
|
170
|
-
> - `{skill-name}` — {path}
|
|
171
|
-
> - ...
|
|
172
|
-
>
|
|
173
|
-
> · · · · · · · · · · · ·
|
|
174
|
-
> - **`y`/`yes`** — Keep these, proceed
|
|
175
|
-
> - **`c`/`change`** — Re-discover and choose skills
|
|
176
|
-
> · · · · · · · · · · · ·
|
|
169
|
+
> *Output the next fenced block as markdown (not a code block):*
|
|
177
170
|
|
|
178
|
-
|
|
171
|
+
```
|
|
172
|
+
Previous session used these project skills:
|
|
173
|
+
- `{skill-name}` — {path}
|
|
174
|
+
- ...
|
|
175
|
+
|
|
176
|
+
· · · · · · · · · · · ·
|
|
177
|
+
- **`y`/`yes`** — Keep these, proceed
|
|
178
|
+
- **`c`/`change`** — Re-discover and choose skills
|
|
179
|
+
· · · · · · · · · · · ·
|
|
180
|
+
```
|
|
179
181
|
|
|
180
182
|
**STOP.** Wait for user choice.
|
|
181
183
|
|
|
@@ -184,6 +186,8 @@ Present the existing configuration for confirmation:
|
|
|
184
186
|
|
|
185
187
|
#### If `.claude/skills/` does not exist or is empty
|
|
186
188
|
|
|
189
|
+
> *Output the next fenced block as a code block:*
|
|
190
|
+
|
|
187
191
|
```
|
|
188
192
|
No project skills found. Proceeding without project-specific conventions.
|
|
189
193
|
```
|
|
@@ -194,18 +198,20 @@ No project skills found. Proceeding without project-specific conventions.
|
|
|
194
198
|
|
|
195
199
|
Scan `.claude/skills/` for project-specific skill directories. Present findings:
|
|
196
200
|
|
|
197
|
-
>
|
|
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
|
-
> · · · · · · · · · · · ·
|
|
201
|
+
> *Output the next fenced block as markdown (not a code block):*
|
|
207
202
|
|
|
208
|
-
|
|
203
|
+
```
|
|
204
|
+
Found these project skills that may be relevant to implementation:
|
|
205
|
+
- `{skill-name}` — {brief description}
|
|
206
|
+
- `{skill-name}` — {brief description}
|
|
207
|
+
- ...
|
|
208
|
+
|
|
209
|
+
· · · · · · · · · · · ·
|
|
210
|
+
- **`a`/`all`** — Use all listed skills
|
|
211
|
+
- **`n`/`none`** — Skip project skills
|
|
212
|
+
- **Or list the ones you want** — e.g. "golang-pro, react-patterns"
|
|
213
|
+
· · · · · · · · · · · ·
|
|
214
|
+
```
|
|
209
215
|
|
|
210
216
|
**STOP.** Wait for user to confirm which skills are relevant.
|
|
211
217
|
|
|
@@ -223,19 +229,21 @@ If `linters` is already populated in the tracking file, present the existing con
|
|
|
223
229
|
|
|
224
230
|
Otherwise, present discovery findings to the user:
|
|
225
231
|
|
|
226
|
-
>
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
232
|
+
> *Output the next fenced block as markdown (not a code block):*
|
|
233
|
+
|
|
234
|
+
```
|
|
235
|
+
**Linter discovery:**
|
|
236
|
+
- {tool} — `{command}` (installed / not installed)
|
|
237
|
+
- ...
|
|
238
|
+
|
|
239
|
+
Recommendations: {any suggested tools with install commands}
|
|
240
|
+
|
|
241
|
+
· · · · · · · · · · · ·
|
|
242
|
+
- **`y`/`yes`** — Approve these linter commands
|
|
243
|
+
- **`c`/`change`** — Modify the linter list
|
|
244
|
+
- **`s`/`skip`** — Skip linter setup (no linting during TDD)
|
|
245
|
+
· · · · · · · · · · · ·
|
|
246
|
+
```
|
|
239
247
|
|
|
240
248
|
**STOP.** Wait for user choice.
|
|
241
249
|
|
|
@@ -28,16 +28,18 @@ 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
|
-
> 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
|
-
> · · · · · · · · · · · ·
|
|
31
|
+
**Analysis cycle {N}**
|
|
39
32
|
|
|
40
|
-
|
|
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
|
+
> *Output the next fenced block as markdown (not a code block):*
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
· · · · · · · · · · · ·
|
|
39
|
+
- **`p`/`proceed`** — Continue analysis *(default)*
|
|
40
|
+
- **`s`/`skip`** — Skip analysis, proceed to completion
|
|
41
|
+
· · · · · · · · · · · ·
|
|
42
|
+
```
|
|
41
43
|
|
|
42
44
|
**STOP.** Wait for user choice. You MUST NOT choose on the user's behalf.
|
|
43
45
|
|
|
@@ -57,17 +59,19 @@ If there are unstaged changes or untracked files, categorize them:
|
|
|
57
59
|
- **Implementation files** (files touched by `impl({topic}):` commits) — stage these automatically.
|
|
58
60
|
- **Unexpected files** (files not touched during implementation) — present to the user:
|
|
59
61
|
|
|
60
|
-
|
|
61
|
-
|
|
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
|
-
> · · · · · · · · · · · ·
|
|
62
|
+
**Pre-analysis checkpoint — unexpected files detected:**
|
|
63
|
+
- `{file}` ({status: modified/untracked})
|
|
64
|
+
- ...
|
|
69
65
|
|
|
70
|
-
|
|
66
|
+
> *Output the next fenced block as markdown (not a code block):*
|
|
67
|
+
|
|
68
|
+
```
|
|
69
|
+
· · · · · · · · · · · ·
|
|
70
|
+
- **`y`/`yes`** — Include all in the checkpoint commit
|
|
71
|
+
- **`s`/`skip`** — Exclude unexpected files, commit only implementation files
|
|
72
|
+
- **Comment** — Specify which to include
|
|
73
|
+
· · · · · · · · · · · ·
|
|
74
|
+
```
|
|
71
75
|
|
|
72
76
|
**STOP.** Wait for user choice.
|
|
73
77
|
|
|
@@ -121,37 +125,39 @@ Read the staging file from `docs/workflow/implementation/{topic}/analysis-tasks-
|
|
|
121
125
|
|
|
122
126
|
Present an overview:
|
|
123
127
|
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
128
|
+
**Analysis cycle {N}: {K} proposed tasks**
|
|
129
|
+
|
|
130
|
+
1. {title} ({severity})
|
|
131
|
+
2. {title} ({severity})
|
|
132
|
+
...
|
|
129
133
|
|
|
130
134
|
Then present each task with `status: pending` individually:
|
|
131
135
|
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
>
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
136
|
+
**Task {current}/{total}: {title}** ({severity})
|
|
137
|
+
Sources: {sources}
|
|
138
|
+
|
|
139
|
+
**Problem**: {problem}
|
|
140
|
+
**Solution**: {solution}
|
|
141
|
+
**Outcome**: {outcome}
|
|
142
|
+
|
|
143
|
+
**Do**:
|
|
144
|
+
{steps}
|
|
145
|
+
|
|
146
|
+
**Acceptance Criteria**:
|
|
147
|
+
{criteria}
|
|
148
|
+
|
|
149
|
+
**Tests**:
|
|
150
|
+
{tests}
|
|
151
|
+
|
|
152
|
+
> *Output the next fenced block as markdown (not a code block):*
|
|
153
|
+
|
|
154
|
+
```
|
|
155
|
+
· · · · · · · · · · · ·
|
|
156
|
+
- **`a`/`approve`** — Approve this task
|
|
157
|
+
- **`s`/`skip`** — Skip this task
|
|
158
|
+
- **Comment** — Revise based on feedback
|
|
159
|
+
· · · · · · · · · · · ·
|
|
160
|
+
```
|
|
155
161
|
|
|
156
162
|
**STOP.** Wait for user input.
|
|
157
163
|
|
|
@@ -40,17 +40,19 @@ 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
|
-
|
|
52
|
-
|
|
53
|
-
|
|
43
|
+
**Task {id}: {Task Name} — {blocked/failed}**
|
|
44
|
+
|
|
45
|
+
{executor's ISSUES content}
|
|
46
|
+
|
|
47
|
+
> *Output the next fenced block as markdown (not a code block):*
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
· · · · · · · · · · · ·
|
|
51
|
+
- **`r`/`retry`** — Re-invoke the executor with your comments (provide below)
|
|
52
|
+
- **`s`/`skip`** — Skip this task and move to the next
|
|
53
|
+
- **`t`/`stop`** — Stop implementation entirely
|
|
54
|
+
· · · · · · · · · · · ·
|
|
55
|
+
```
|
|
54
56
|
|
|
55
57
|
**STOP.** Wait for user choice.
|
|
56
58
|
|
|
@@ -84,7 +86,7 @@ Increment `fix_attempts` in the implementation tracking file.
|
|
|
84
86
|
|
|
85
87
|
Announce the fix round (one line, no stop):
|
|
86
88
|
|
|
87
|
-
|
|
89
|
+
**Review for Task {id}: {Task Name} — needs changes** (attempt {N}/{max 3}, fix analysis included). Re-invoking executor.
|
|
88
90
|
|
|
89
91
|
→ 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
92
|
|
|
@@ -92,25 +94,27 @@ Announce the fix round (one line, no stop):
|
|
|
92
94
|
|
|
93
95
|
If `fix_attempts >= 3`, the executor and reviewer have failed to converge. Prepend:
|
|
94
96
|
|
|
95
|
-
|
|
97
|
+
The executor and reviewer have not converged after {N} attempts. Escalating for human review.
|
|
96
98
|
|
|
97
99
|
Present the reviewer's findings and fix analysis to the user:
|
|
98
100
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
>
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
**
|
|
101
|
+
**Review for Task {id}: {Task Name} — needs changes** (attempt {N})
|
|
102
|
+
|
|
103
|
+
{ISSUES from reviewer, including FIX, ALTERNATIVE, and CONFIDENCE for each}
|
|
104
|
+
|
|
105
|
+
Notes (non-blocking):
|
|
106
|
+
{NOTES from reviewer}
|
|
107
|
+
|
|
108
|
+
> *Output the next fenced block as markdown (not a code block):*
|
|
109
|
+
|
|
110
|
+
```
|
|
111
|
+
· · · · · · · · · · · ·
|
|
112
|
+
- **`y`/`yes`** — Accept the review and fix analysis, pass to executor
|
|
113
|
+
- **`a`/`auto`** — Accept and auto-approve future fix analyses
|
|
114
|
+
- **`s`/`skip`** — Override the reviewer and proceed as-is
|
|
115
|
+
- **Comment** — Any commentary, adjustments, alternative approaches, or questions before passing to executor
|
|
116
|
+
· · · · · · · · · · · ·
|
|
117
|
+
```
|
|
114
118
|
|
|
115
119
|
**STOP.** Wait for user choice.
|
|
116
120
|
|
|
@@ -129,19 +133,21 @@ After the reviewer approves a task, check the `task_gate_mode` field in the impl
|
|
|
129
133
|
|
|
130
134
|
Present a summary and wait for user input:
|
|
131
135
|
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
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
|
-
> · · · · · · · · · · · ·
|
|
136
|
+
**Task {id}: {Task Name} — approved**
|
|
137
|
+
|
|
138
|
+
Phase: {phase number} — {phase name}
|
|
139
|
+
{executor's SUMMARY — brief commentary, decisions, implementation notes}
|
|
143
140
|
|
|
144
|
-
|
|
141
|
+
> *Output the next fenced block as markdown (not a code block):*
|
|
142
|
+
|
|
143
|
+
```
|
|
144
|
+
· · · · · · · · · · · ·
|
|
145
|
+
**Options:**
|
|
146
|
+
- **`y`/`yes`** — Approve, commit, continue to next task
|
|
147
|
+
- **`a`/`auto`** — Approve this and all future reviewer-approved tasks automatically
|
|
148
|
+
- **Comment** — Feedback the reviewer missed (triggers a fix round)
|
|
149
|
+
· · · · · · · · · · · ·
|
|
150
|
+
```
|
|
145
151
|
|
|
146
152
|
**STOP.** Wait for user input.
|
|
147
153
|
|
|
@@ -153,7 +159,7 @@ Present a summary and wait for user input:
|
|
|
153
159
|
|
|
154
160
|
Announce the result (one line, no stop):
|
|
155
161
|
|
|
156
|
-
|
|
162
|
+
**Task {id}: {Task Name} — approved** (phase {N}: {phase name}, {brief summary}). Committing.
|
|
157
163
|
|
|
158
164
|
→ Proceed to **E. Update Progress and Commit**.
|
|
159
165
|
|
|
@@ -189,6 +195,6 @@ This is the end of this iteration.
|
|
|
189
195
|
|
|
190
196
|
## When All Tasks Are Complete
|
|
191
197
|
|
|
192
|
-
|
|
198
|
+
"All tasks complete. {M} tasks implemented."
|
|
193
199
|
|
|
194
200
|
→ Return to the skill for **Step 7**.
|
|
@@ -80,16 +80,18 @@ 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
|
-
> {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
|
-
> · · · · · · · · · · · ·
|
|
83
|
+
Found existing plan for **{topic}** (previously reached phase {N}, task {M}).
|
|
91
84
|
|
|
92
|
-
|
|
85
|
+
{spec change summary from spec-change-detection.md}
|
|
86
|
+
|
|
87
|
+
> *Output the next fenced block as markdown (not a code block):*
|
|
88
|
+
|
|
89
|
+
```
|
|
90
|
+
· · · · · · · · · · · ·
|
|
91
|
+
- **`c`/`continue`** — Walk through the plan from the start. You can review, amend, or navigate at any point — including straight to the leading edge.
|
|
92
|
+
- **`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.
|
|
93
|
+
· · · · · · · · · · · ·
|
|
94
|
+
```
|
|
93
95
|
|
|
94
96
|
**STOP.** Wait for user response.
|
|
95
97
|
|
|
@@ -126,14 +128,16 @@ First, choose the Output Format.
|
|
|
126
128
|
|
|
127
129
|
Present the recommendation:
|
|
128
130
|
|
|
129
|
-
|
|
130
|
-
>
|
|
131
|
-
> · · · · · · · · · · · ·
|
|
132
|
-
> - **`y`/`yes`** — Use {format}
|
|
133
|
-
> - **`n`/`no`** — See all available formats
|
|
134
|
-
> · · · · · · · · · · · ·
|
|
131
|
+
Existing plans use **{format}**. Use the same format for consistency?
|
|
135
132
|
|
|
136
|
-
|
|
133
|
+
> *Output the next fenced block as markdown (not a code block):*
|
|
134
|
+
|
|
135
|
+
```
|
|
136
|
+
· · · · · · · · · · · ·
|
|
137
|
+
- **`y`/`yes`** — Use {format}
|
|
138
|
+
- **`n`/`no`** — See all available formats
|
|
139
|
+
· · · · · · · · · · · ·
|
|
140
|
+
```
|
|
137
141
|
|
|
138
142
|
**STOP.** Wait for user choice. If declined, fall through to the full list below.
|
|
139
143
|
|
|
@@ -231,10 +235,10 @@ After the review is complete:
|
|
|
231
235
|
3. **Final commit** — Commit the concluded plan
|
|
232
236
|
4. **Present completion summary**:
|
|
233
237
|
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
238
|
+
"Planning is complete for **{topic}**.
|
|
239
|
+
|
|
240
|
+
The plan contains **{N} phases** with **{M} tasks** total, reviewed for traceability against the specification and structural integrity.
|
|
241
|
+
|
|
242
|
+
Status has been marked as `concluded`. The plan is ready for implementation."
|
|
239
243
|
|
|
240
244
|
> **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,17 +34,19 @@ 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
|
-
> **To proceed:**
|
|
43
|
-
> - **`y`/`yes`** — Confirmed.
|
|
44
|
-
> - **Or tell me what to change.**
|
|
45
|
-
> · · · · · · · · · · · ·
|
|
39
|
+
{notes from agent output}"
|
|
46
40
|
|
|
47
|
-
|
|
41
|
+
> *Output the next fenced block as markdown (not a code block):*
|
|
42
|
+
|
|
43
|
+
```
|
|
44
|
+
· · · · · · · · · · · ·
|
|
45
|
+
**To proceed:**
|
|
46
|
+
- **`y`/`yes`** — Confirmed.
|
|
47
|
+
- **Or tell me what to change.**
|
|
48
|
+
· · · · · · · · · · · ·
|
|
49
|
+
```
|
|
48
50
|
|
|
49
51
|
**STOP.** Wait for the user's response.
|
|
50
52
|
|
|
@@ -52,11 +54,11 @@ The natural task order is already correct. Present as rendered markdown (not in
|
|
|
52
54
|
|
|
53
55
|
No changes were applied. Present the cycle to the user:
|
|
54
56
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
57
|
+
"The dependency analysis found a circular dependency:
|
|
58
|
+
|
|
59
|
+
{cycle chain from agent output}
|
|
60
|
+
|
|
61
|
+
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
62
|
|
|
61
63
|
**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
64
|
|
|
@@ -64,23 +66,25 @@ No changes were applied. Present the cycle to the user:
|
|
|
64
66
|
|
|
65
67
|
Dependencies and priorities have already been written to the task files. Present as rendered markdown (not in a code block):
|
|
66
68
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
>
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
69
|
+
"I've analyzed and applied dependencies and priorities across all {M} tasks:
|
|
70
|
+
|
|
71
|
+
**Dependencies** ({count} relationships):
|
|
72
|
+
{dependency list from agent output}
|
|
73
|
+
|
|
74
|
+
**Priorities**:
|
|
75
|
+
{priority list from agent output}
|
|
76
|
+
|
|
77
|
+
{any notes from agent output}"
|
|
78
|
+
|
|
79
|
+
> *Output the next fenced block as markdown (not a code block):*
|
|
80
|
+
|
|
81
|
+
```
|
|
82
|
+
· · · · · · · · · · · ·
|
|
83
|
+
**To proceed:**
|
|
84
|
+
- **`y`/`yes`** — Approved.
|
|
85
|
+
- **Or tell me what to change.**
|
|
86
|
+
· · · · · · · · · · · ·
|
|
87
|
+
```
|
|
84
88
|
|
|
85
89
|
**STOP.** Wait for the user's response.
|
|
86
90
|
|
|
@@ -29,16 +29,18 @@ 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
|
-
> **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
|
-
> · · · · · · · · · · · ·
|
|
32
|
+
**Task {M} of {total}: {Task Name}**
|
|
40
33
|
|
|
41
|
-
|
|
34
|
+
> *Output the next fenced block as markdown (not a code block):*
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
· · · · · · · · · · · ·
|
|
38
|
+
**To proceed:**
|
|
39
|
+
- **`y`/`yes`** — Approved. I'll log it to the plan.
|
|
40
|
+
- **Or tell me what to change.**
|
|
41
|
+
- **Or navigate** — a different phase or task, or the leading edge.
|
|
42
|
+
· · · · · · · · · · · ·
|
|
43
|
+
```
|
|
42
44
|
|
|
43
45
|
**STOP.** Wait for the user's response.
|
|
44
46
|
|
|
@@ -65,6 +67,6 @@ Present the revised task in full. Ask the same choice again. Repeat until approv
|
|
|
65
67
|
|
|
66
68
|
Confirm:
|
|
67
69
|
|
|
68
|
-
|
|
70
|
+
"Task {M} of {total}: {Task Name} — authored."
|
|
69
71
|
|
|
70
72
|
→ Return to **Plan Construction**.
|