@leeovery/claude-technical-workflows 2.1.26 → 2.1.28
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/README.md +91 -93
- package/agents/implementation-analysis-task-writer.md +1 -1
- package/agents/planning-review-integrity.md +71 -0
- package/agents/planning-review-traceability.md +74 -0
- package/package.json +1 -1
- package/skills/link-dependencies/SKILL.md +3 -3
- package/skills/migrate/scripts/migrations/002-specification-frontmatter.sh +5 -0
- package/skills/migrate/scripts/migrations/003-planning-frontmatter.sh +5 -0
- package/skills/migrate/scripts/migrations/004-sources-object-format.sh +5 -0
- package/skills/migrate/scripts/migrations/005-plan-external-deps-frontmatter.sh +5 -0
- package/skills/migrate/scripts/migrations/006-directory-restructure.sh +167 -0
- package/skills/migrate/scripts/migrations/007-tasks-subdirectory.sh +86 -0
- package/skills/start-discussion/references/handle-selection.md +8 -0
- package/skills/start-feature/SKILL.md +2 -2
- package/skills/start-implementation/SKILL.md +1 -3
- package/skills/start-implementation/scripts/discovery.sh +7 -7
- package/skills/start-planning/references/invoke-skill.md +3 -3
- package/skills/start-planning/scripts/discovery.sh +8 -8
- package/skills/start-review/references/invoke-skill.md +3 -3
- package/skills/start-review/scripts/discovery.sh +3 -3
- package/skills/start-specification/references/confirm-continue.md +3 -3
- package/skills/start-specification/references/confirm-create.md +3 -3
- package/skills/start-specification/references/confirm-refine.md +1 -1
- package/skills/start-specification/references/confirm-unify.md +4 -4
- package/skills/start-specification/references/handoffs/continue-concluded.md +3 -1
- package/skills/start-specification/references/handoffs/continue.md +3 -1
- package/skills/start-specification/references/handoffs/create-with-incorporation.md +2 -2
- package/skills/start-specification/references/handoffs/create.md +1 -1
- package/skills/start-specification/references/handoffs/unify-with-incorporation.md +3 -3
- package/skills/start-specification/references/handoffs/unify.md +1 -1
- package/skills/start-specification/scripts/discovery.sh +6 -6
- package/skills/status/SKILL.md +8 -4
- package/skills/status/scripts/discovery.sh +7 -7
- package/skills/technical-discussion/SKILL.md +46 -8
- package/skills/technical-implementation/SKILL.md +66 -20
- package/skills/technical-implementation/references/{steps/analysis-loop.md → analysis-loop.md} +1 -1
- package/skills/technical-implementation/references/{steps/invoke-analysis.md → invoke-analysis.md} +5 -5
- package/skills/technical-implementation/references/{steps/invoke-executor.md → invoke-executor.md} +5 -5
- package/skills/technical-implementation/references/{steps/invoke-reviewer.md → invoke-reviewer.md} +2 -2
- package/skills/technical-implementation/references/{steps/invoke-synthesizer.md → invoke-synthesizer.md} +3 -3
- package/skills/technical-implementation/references/{steps/invoke-task-writer.md → invoke-task-writer.md} +4 -4
- package/skills/technical-implementation/references/{steps/task-loop.md → task-loop.md} +45 -38
- package/skills/technical-planning/SKILL.md +64 -22
- package/skills/technical-planning/references/{steps/analyze-task-graph.md → analyze-task-graph.md} +33 -16
- package/skills/technical-planning/references/author-tasks.md +100 -0
- package/skills/technical-planning/references/{steps/define-phases.md → define-phases.md} +15 -9
- package/skills/technical-planning/references/{steps/define-tasks.md → define-tasks.md} +10 -6
- package/skills/technical-planning/references/invoke-review-integrity.md +36 -0
- package/skills/technical-planning/references/invoke-review-traceability.md +37 -0
- package/skills/technical-planning/references/output-formats/local-markdown/about.md +6 -4
- package/skills/technical-planning/references/output-formats/local-markdown/authoring.md +3 -3
- package/skills/technical-planning/references/output-formats/local-markdown/reading.md +3 -3
- package/skills/technical-planning/references/output-formats/local-markdown/updating.md +1 -1
- package/skills/technical-planning/references/output-formats/tick/about.md +68 -0
- package/skills/technical-planning/references/output-formats/tick/authoring.md +106 -0
- package/skills/technical-planning/references/output-formats/tick/graph.md +62 -0
- package/skills/technical-planning/references/output-formats/tick/reading.md +61 -0
- package/skills/technical-planning/references/output-formats/tick/updating.md +25 -0
- package/skills/technical-planning/references/output-formats.md +11 -0
- package/skills/technical-planning/references/{steps/plan-construction.md → plan-construction.md} +33 -9
- package/skills/technical-planning/references/plan-review.md +122 -0
- package/skills/technical-planning/references/process-review-findings.md +171 -0
- package/skills/technical-planning/references/{steps/resolve-dependencies.md → resolve-dependencies.md} +18 -12
- package/skills/technical-planning/references/review-integrity.md +127 -0
- package/skills/technical-planning/references/review-traceability.md +105 -0
- package/skills/technical-planning/references/task-design.md +1 -1
- package/skills/technical-planning/references/{steps/verify-source-material.md → verify-source-material.md} +3 -3
- package/skills/technical-research/SKILL.md +20 -4
- package/skills/technical-review/SKILL.md +21 -4
- package/skills/technical-specification/SKILL.md +34 -8
- package/skills/technical-specification/references/specification-guide.md +228 -56
- package/skills/view-plan/SKILL.md +1 -1
- package/skills/technical-planning/references/steps/author-tasks.md +0 -72
- package/skills/technical-planning/references/steps/plan-review.md +0 -94
- package/skills/technical-planning/references/steps/review-integrity.md +0 -222
- package/skills/technical-planning/references/steps/review-traceability.md +0 -200
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: technical-planning
|
|
3
|
-
description: "Transform specifications into actionable implementation plans with phases, tasks, and acceptance criteria. Use when: (1) User asks to create/write an implementation plan, (2) User asks to plan implementation from a specification, (3) Converting specifications from docs/workflow/specification/{topic}.md into implementation plans, (4) User says 'plan this' or 'create a plan', (5) Need to structure how to build something with phases and concrete steps. Creates plans in docs/workflow/planning/{topic}.md that can be executed via strict TDD."
|
|
3
|
+
description: "Transform specifications into actionable implementation plans with phases, tasks, and acceptance criteria. Use when: (1) User asks to create/write an implementation plan, (2) User asks to plan implementation from a specification, (3) Converting specifications from docs/workflow/specification/{topic}/specification.md into implementation plans, (4) User says 'plan this' or 'create a plan', (5) Need to structure how to build something with phases and concrete steps. Creates plans in docs/workflow/planning/{topic}/plan.md that can be executed via strict TDD."
|
|
4
4
|
user-invocable: false
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -28,11 +28,29 @@ Either way: Transform specifications into actionable phases, tasks, and acceptan
|
|
|
28
28
|
|
|
29
29
|
**Before proceeding**, verify the required input is available and unambiguous. If anything is missing or unclear, **STOP** — do not proceed until resolved.
|
|
30
30
|
|
|
31
|
-
|
|
32
|
-
> "I need the specification content to plan from. Could you point me to the specification file (e.g., `docs/workflow/specification/{topic}.md`), or provide the content directly?"
|
|
31
|
+
#### If no specification content provided
|
|
33
32
|
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
> *Output the next fenced block as a code block:*
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
I need the specification content to plan from. Could you point me to the
|
|
37
|
+
specification file (e.g., docs/workflow/specification/{topic}/specification.md),
|
|
38
|
+
or provide the content directly?
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
**STOP.** Wait for user response.
|
|
42
|
+
|
|
43
|
+
#### If specification seems incomplete or not concluded
|
|
44
|
+
|
|
45
|
+
> *Output the next fenced block as a code block:*
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
The specification at {path} appears to be {concern — e.g., 'still in-progress'
|
|
49
|
+
or 'missing sections that are referenced elsewhere'}. Should I proceed with
|
|
50
|
+
this, or is there a more complete version?
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
**STOP.** Wait for user response.
|
|
36
54
|
|
|
37
55
|
---
|
|
38
56
|
|
|
@@ -44,6 +62,7 @@ Context refresh (compaction) summarizes the conversation, losing procedural deta
|
|
|
44
62
|
2. **Read all tracking and state files** for the current topic — plan index files, review tracking files, implementation tracking files, or any working documents this skill creates. These are your source of truth for progress.
|
|
45
63
|
3. **Check git state.** Run `git status` and `git log --oneline -10` to see recent commits. Commit messages follow a conventional pattern that reveals what was completed.
|
|
46
64
|
4. **Announce your position** to the user before continuing: what step you believe you're at, what's been completed, and what comes next. Wait for confirmation.
|
|
65
|
+
5. **Check `author_gate_mode` and `finding_gate_mode`** in the Plan Index File frontmatter — if `auto`, the user previously opted in during this session. Preserve these values.
|
|
47
66
|
|
|
48
67
|
Do not guess at progress or continue from memory. The files on disk and git history are authoritative — your recollection is not.
|
|
49
68
|
|
|
@@ -53,7 +72,7 @@ Do not guess at progress or continue from memory. The files on disk and git hist
|
|
|
53
72
|
|
|
54
73
|
This process constructs a plan from a specification. A plan consists of:
|
|
55
74
|
|
|
56
|
-
- **Plan Index File** — `docs/workflow/planning/{topic}.md`. Contains frontmatter (topic, format, status, progress), phases with acceptance criteria, and task tables tracking status. This is the single source of truth for planning progress.
|
|
75
|
+
- **Plan Index File** — `docs/workflow/planning/{topic}/plan.md`. Contains frontmatter (topic, format, status, progress), phases with acceptance criteria, and task tables tracking status. This is the single source of truth for planning progress.
|
|
57
76
|
- **Authored Tasks** — Detailed task files written to the chosen **Output Format** (selected during planning). The output format determines where and how task detail is stored.
|
|
58
77
|
|
|
59
78
|
Follow every step in sequence. No steps are optional.
|
|
@@ -66,7 +85,7 @@ When announcing a new step, output `── ── ── ── ──` on its o
|
|
|
66
85
|
|
|
67
86
|
## Step 0: Resume Detection
|
|
68
87
|
|
|
69
|
-
Check if a Plan Index File already exists at `docs/workflow/planning/{topic}.md`.
|
|
88
|
+
Check if a Plan Index File already exists at `docs/workflow/planning/{topic}/plan.md`.
|
|
70
89
|
|
|
71
90
|
#### If no Plan Index File exists
|
|
72
91
|
|
|
@@ -99,6 +118,8 @@ Found existing plan for **{topic}** (previously reached phase {N}, task {M}).
|
|
|
99
118
|
|
|
100
119
|
If the specification changed, update `spec_commit` in the Plan Index File frontmatter to the current commit hash.
|
|
101
120
|
|
|
121
|
+
Reset `author_gate_mode` and `finding_gate_mode` to `gated` in the Plan Index File frontmatter (fresh invocation = fresh gates).
|
|
122
|
+
|
|
102
123
|
→ Proceed to **Step 1**.
|
|
103
124
|
|
|
104
125
|
#### If `restart`
|
|
@@ -151,20 +172,22 @@ Once selected:
|
|
|
151
172
|
|
|
152
173
|
1. Read **[output-formats.md](references/output-formats.md)**, find the chosen format entry, and load the format's **[about.md](references/output-formats/{format}/about.md)** and **[authoring.md](references/output-formats/{format}/authoring.md)**
|
|
153
174
|
2. Capture the current git commit hash: `git rev-parse HEAD`
|
|
154
|
-
3. Create the Plan Index File at `docs/workflow/planning/{topic}.md` with the following frontmatter and title:
|
|
175
|
+
3. Create the Plan Index File at `docs/workflow/planning/{topic}/plan.md` with the following frontmatter and title:
|
|
155
176
|
|
|
156
177
|
```yaml
|
|
157
178
|
---
|
|
158
179
|
topic: {topic-name}
|
|
159
180
|
status: planning
|
|
160
181
|
format: {chosen-format}
|
|
161
|
-
specification: ../specification/{topic}.md
|
|
182
|
+
specification: ../specification/{topic}/specification.md
|
|
162
183
|
cross_cutting_specs: # Omit if none
|
|
163
|
-
- ../specification/{spec}.md
|
|
184
|
+
- ../specification/{spec}/specification.md
|
|
164
185
|
spec_commit: {output of git rev-parse HEAD}
|
|
165
186
|
created: YYYY-MM-DD # Use today's actual date
|
|
166
187
|
updated: YYYY-MM-DD # Use today's actual date
|
|
167
188
|
external_dependencies: []
|
|
189
|
+
author_gate_mode: gated
|
|
190
|
+
finding_gate_mode: gated
|
|
168
191
|
planning:
|
|
169
192
|
phase: 1
|
|
170
193
|
task: ~
|
|
@@ -189,7 +212,7 @@ Load **[planning-principles.md](references/planning-principles.md)** and follow
|
|
|
189
212
|
|
|
190
213
|
## Step 3: Verify Source Material
|
|
191
214
|
|
|
192
|
-
Load **[
|
|
215
|
+
Load **[verify-source-material.md](references/verify-source-material.md)** and follow its instructions as written.
|
|
193
216
|
|
|
194
217
|
→ Proceed to **Step 4**.
|
|
195
218
|
|
|
@@ -197,7 +220,7 @@ Load **[steps/verify-source-material.md](references/steps/verify-source-material
|
|
|
197
220
|
|
|
198
221
|
## Step 4: Plan Construction
|
|
199
222
|
|
|
200
|
-
Load **[
|
|
223
|
+
Load **[plan-construction.md](references/plan-construction.md)** and follow its instructions as written.
|
|
201
224
|
|
|
202
225
|
→ Proceed to **Step 5**.
|
|
203
226
|
|
|
@@ -205,7 +228,7 @@ Load **[steps/plan-construction.md](references/steps/plan-construction.md)** and
|
|
|
205
228
|
|
|
206
229
|
## Step 5: Analyze Task Graph
|
|
207
230
|
|
|
208
|
-
Load **[
|
|
231
|
+
Load **[analyze-task-graph.md](references/analyze-task-graph.md)** and follow its instructions as written.
|
|
209
232
|
|
|
210
233
|
→ Proceed to **Step 6**.
|
|
211
234
|
|
|
@@ -213,7 +236,7 @@ Load **[steps/analyze-task-graph.md](references/steps/analyze-task-graph.md)** a
|
|
|
213
236
|
|
|
214
237
|
## Step 6: Resolve External Dependencies
|
|
215
238
|
|
|
216
|
-
Load **[
|
|
239
|
+
Load **[resolve-dependencies.md](references/resolve-dependencies.md)** and follow its instructions as written.
|
|
217
240
|
|
|
218
241
|
→ Proceed to **Step 7**.
|
|
219
242
|
|
|
@@ -221,7 +244,7 @@ Load **[steps/resolve-dependencies.md](references/steps/resolve-dependencies.md)
|
|
|
221
244
|
|
|
222
245
|
## Step 7: Plan Review
|
|
223
246
|
|
|
224
|
-
Load **[
|
|
247
|
+
Load **[plan-review.md](references/plan-review.md)** and follow its instructions as written.
|
|
225
248
|
|
|
226
249
|
→ Proceed to **Step 8**.
|
|
227
250
|
|
|
@@ -229,16 +252,35 @@ Load **[steps/plan-review.md](references/steps/plan-review.md)** and follow its
|
|
|
229
252
|
|
|
230
253
|
## Step 8: Conclude the Plan
|
|
231
254
|
|
|
232
|
-
|
|
255
|
+
> **CHECKPOINT**: Do not conclude if any tasks in the Plan Index File show `status: pending`. All tasks must be `authored` before concluding.
|
|
256
|
+
|
|
257
|
+
> *Output the next fenced block as markdown (not a code block):*
|
|
258
|
+
|
|
259
|
+
```
|
|
260
|
+
· · · · · · · · · · · ·
|
|
261
|
+
- **`y`/`yes`** — Conclude plan and mark as concluded
|
|
262
|
+
- **Comment** — Add context before concluding
|
|
263
|
+
· · · · · · · · · · · ·
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
**STOP.** Wait for user response.
|
|
267
|
+
|
|
268
|
+
#### If comment
|
|
269
|
+
|
|
270
|
+
Discuss the user's context. If additional work is needed, route back to **Step 6** or **Step 7** as appropriate. Otherwise, re-present the sign-off prompt above.
|
|
271
|
+
|
|
272
|
+
#### If yes
|
|
233
273
|
|
|
234
274
|
1. **Update plan status** — Set `status: concluded` in the Plan Index File frontmatter
|
|
235
|
-
|
|
236
|
-
|
|
275
|
+
2. **Final commit** — Commit the concluded plan: `planning({topic}): conclude plan`
|
|
276
|
+
3. **Present completion summary**:
|
|
237
277
|
|
|
238
|
-
|
|
278
|
+
> *Output the next fenced block as markdown (not a code block):*
|
|
239
279
|
|
|
240
|
-
|
|
280
|
+
```
|
|
281
|
+
Planning is complete for **{topic}**.
|
|
241
282
|
|
|
242
|
-
|
|
283
|
+
The plan contains **{N} phases** with **{M} tasks** total, reviewed for traceability against the specification and structural integrity.
|
|
243
284
|
|
|
244
|
-
|
|
285
|
+
Status has been marked as `concluded`. The plan is ready for implementation.
|
|
286
|
+
```
|
package/skills/technical-planning/references/{steps/analyze-task-graph.md → analyze-task-graph.md}
RENAMED
|
@@ -1,26 +1,29 @@
|
|
|
1
1
|
# Analyze Task Graph
|
|
2
2
|
|
|
3
|
-
*Reference for **[technical-planning](
|
|
3
|
+
*Reference for **[technical-planning](../SKILL.md)***
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
This step uses the `planning-dependency-grapher` agent (
|
|
7
|
+
This step uses the `planning-dependency-grapher` agent (`../../../agents/planning-dependency-grapher.md`) to analyze all authored tasks, establish internal dependencies, assign priorities, and detect cycles. You invoke the agent, present its output, and handle the approval gate.
|
|
8
8
|
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
## Analyze Dependencies and Priorities
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
> *Output the next fenced block as a code block:*
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
```
|
|
16
|
+
All tasks are authored. Now I'll analyze internal dependencies and
|
|
17
|
+
priorities across the full plan.
|
|
18
|
+
```
|
|
16
19
|
|
|
17
|
-
Read **[output-formats.md](
|
|
20
|
+
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
21
|
|
|
19
22
|
### Invoke the Agent
|
|
20
23
|
|
|
21
24
|
Invoke `planning-dependency-grapher` with these file paths:
|
|
22
25
|
|
|
23
|
-
1. **Plan Index File path**: `docs/workflow/planning/{topic}.md`
|
|
26
|
+
1. **Plan Index File path**: `docs/workflow/planning/{topic}/plan.md`
|
|
24
27
|
2. **reading.md**: the format's reading reference loaded above
|
|
25
28
|
3. **graph.md**: the format's graph reference loaded above
|
|
26
29
|
|
|
@@ -32,11 +35,15 @@ The agent clears any existing dependencies/priorities, analyzes all tasks, and
|
|
|
32
35
|
|
|
33
36
|
#### If the agent reports no changes needed (`STATUS: no-changes`)
|
|
34
37
|
|
|
35
|
-
The natural task order is already correct.
|
|
38
|
+
The natural task order is already correct.
|
|
39
|
+
|
|
40
|
+
> *Output the next fenced block as markdown (not a code block):*
|
|
36
41
|
|
|
37
|
-
|
|
42
|
+
```
|
|
43
|
+
I've analyzed all {M} tasks and the natural execution order is already correct — no explicit dependencies or priorities are needed.
|
|
38
44
|
|
|
39
|
-
{notes from agent output}
|
|
45
|
+
{notes from agent output}
|
|
46
|
+
```
|
|
40
47
|
|
|
41
48
|
> *Output the next fenced block as markdown (not a code block):*
|
|
42
49
|
|
|
@@ -52,21 +59,30 @@ The natural task order is already correct. Present as rendered markdown (not in
|
|
|
52
59
|
|
|
53
60
|
#### If the agent reports a cycle (`STATUS: blocked`)
|
|
54
61
|
|
|
55
|
-
No changes were applied.
|
|
62
|
+
No changes were applied.
|
|
56
63
|
|
|
57
|
-
|
|
64
|
+
> *Output the next fenced block as markdown (not a code block):*
|
|
65
|
+
|
|
66
|
+
```
|
|
67
|
+
The dependency analysis found a circular dependency:
|
|
58
68
|
|
|
59
69
|
{cycle chain from agent output}
|
|
60
70
|
|
|
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.
|
|
71
|
+
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.
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
**STOP.** Wait for the user to decide how to resolve.
|
|
62
75
|
|
|
63
|
-
|
|
76
|
+
Options include adjusting task scope, merging tasks, or removing a dependency. Re-invoke the agent after changes.
|
|
64
77
|
|
|
65
78
|
#### If the agent applied changes successfully (`STATUS: complete`)
|
|
66
79
|
|
|
67
|
-
Dependencies and priorities have already been written to the task files.
|
|
80
|
+
Dependencies and priorities have already been written to the task files.
|
|
68
81
|
|
|
69
|
-
|
|
82
|
+
> *Output the next fenced block as markdown (not a code block):*
|
|
83
|
+
|
|
84
|
+
```
|
|
85
|
+
I've analyzed and applied dependencies and priorities across all {M} tasks:
|
|
70
86
|
|
|
71
87
|
**Dependencies** ({count} relationships):
|
|
72
88
|
{dependency list from agent output}
|
|
@@ -74,7 +90,8 @@ Dependencies and priorities have already been written to the task files. Present
|
|
|
74
90
|
**Priorities**:
|
|
75
91
|
{priority list from agent output}
|
|
76
92
|
|
|
77
|
-
{any notes from agent output}
|
|
93
|
+
{any notes from agent output}
|
|
94
|
+
```
|
|
78
95
|
|
|
79
96
|
> *Output the next fenced block as markdown (not a code block):*
|
|
80
97
|
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
# Author Tasks
|
|
2
|
+
|
|
3
|
+
*Reference for **[technical-planning](../SKILL.md)***
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
This step uses the `planning-task-author` agent (`../../../agents/planning-task-author.md`) to write full detail for a single task. You invoke the agent, present its output, and handle the approval gate.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Author the Task
|
|
12
|
+
|
|
13
|
+
### Invoke the Agent
|
|
14
|
+
|
|
15
|
+
Invoke `planning-task-author` with these file paths:
|
|
16
|
+
|
|
17
|
+
1. **read-specification.md**: `read-specification.md`
|
|
18
|
+
2. **Specification**: path from the Plan Index File's `specification:` field
|
|
19
|
+
3. **Cross-cutting specs**: paths from the Plan Index File's `cross_cutting_specs:` field (if any)
|
|
20
|
+
4. **task-design.md**: `task-design.md`
|
|
21
|
+
5. **All approved phases**: the complete phase structure from the Plan Index File body
|
|
22
|
+
6. **Task list for current phase**: the approved task table
|
|
23
|
+
7. **Target task**: the task name, edge cases, and ID from the table
|
|
24
|
+
8. **Output format authoring reference**: path to the format's `authoring.md` (e.g., `output-formats/{format}/authoring.md`)
|
|
25
|
+
|
|
26
|
+
### Check Gate Mode
|
|
27
|
+
|
|
28
|
+
The agent returns complete task detail following the task template from task-design.md. What the user sees is what gets logged.
|
|
29
|
+
|
|
30
|
+
> *Output the next fenced block as markdown (not a code block):*
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
{task detail from planning-task-author agent}
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Check `author_gate_mode` in the Plan Index File frontmatter.
|
|
37
|
+
|
|
38
|
+
#### If `author_gate_mode: auto`
|
|
39
|
+
|
|
40
|
+
> *Output the next fenced block as a code block:*
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
Task {M} of {total}: {Task Name} — authored. Logging to plan.
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
→ Skip to **If approved** below.
|
|
47
|
+
|
|
48
|
+
#### If `author_gate_mode: gated`
|
|
49
|
+
|
|
50
|
+
**Task {M} of {total}: {Task Name}**
|
|
51
|
+
|
|
52
|
+
> *Output the next fenced block as markdown (not a code block):*
|
|
53
|
+
|
|
54
|
+
```
|
|
55
|
+
· · · · · · · · · · · ·
|
|
56
|
+
**To proceed:**
|
|
57
|
+
- **`y`/`yes`** — Approved. I'll log it to the plan.
|
|
58
|
+
- **`a`/`auto`** — Approve this and all remaining tasks automatically
|
|
59
|
+
- **Or tell me what to change.**
|
|
60
|
+
- **Or navigate** — a different phase or task, or the leading edge.
|
|
61
|
+
· · · · · · · · · · · ·
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
**STOP.** Wait for the user's response.
|
|
65
|
+
|
|
66
|
+
#### If the user provides feedback
|
|
67
|
+
|
|
68
|
+
Re-invoke `planning-task-author` with all original inputs PLUS:
|
|
69
|
+
- **Previous output**: the current task detail
|
|
70
|
+
- **User feedback**: what the user wants changed
|
|
71
|
+
|
|
72
|
+
Present the revised task in full. Ask the same choice again. Repeat until approved.
|
|
73
|
+
|
|
74
|
+
#### If the user navigates
|
|
75
|
+
|
|
76
|
+
→ Return to **Plan Construction**.
|
|
77
|
+
|
|
78
|
+
#### If `auto`
|
|
79
|
+
|
|
80
|
+
Note that `author_gate_mode` should be updated to `auto` during the commit step below.
|
|
81
|
+
|
|
82
|
+
→ Proceed to **If approved** below.
|
|
83
|
+
|
|
84
|
+
#### If approved (`y`/`yes` or `auto`)
|
|
85
|
+
|
|
86
|
+
> **CHECKPOINT**: If `author_gate_mode: gated`, verify before logging: (1) You presented this exact content, (2) The user explicitly approved with `y`/`yes` or equivalent — not a question, comment, or "okay" in passing, (3) You are writing exactly what was approved with no modifications.
|
|
87
|
+
|
|
88
|
+
1. Write the task to the output format (format-specific — see authoring.md)
|
|
89
|
+
2. Update the task table in the Plan Index File: set `status: authored`
|
|
90
|
+
3. Advance the `planning:` block in frontmatter to the next pending task (or next phase if this was the last task)
|
|
91
|
+
4. If user chose `auto` at this gate: update `author_gate_mode: auto` in the Plan Index File frontmatter
|
|
92
|
+
5. Commit: `planning({topic}): author task {task-id} ({task name})`
|
|
93
|
+
|
|
94
|
+
> *Output the next fenced block as a code block:*
|
|
95
|
+
|
|
96
|
+
```
|
|
97
|
+
Task {M} of {total}: {Task Name} — authored.
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
→ Return to **Plan Construction**.
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# Define Phases
|
|
2
2
|
|
|
3
|
-
*Reference for **[technical-planning](
|
|
3
|
+
*Reference for **[technical-planning](../SKILL.md)***
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
This step uses the `planning-phase-designer` agent (
|
|
7
|
+
This step uses the `planning-phase-designer` agent (`../../../agents/planning-phase-designer.md`) to define or review the phase structure. Whether phases are being designed for the first time or reviewed from a previous session, the process converges on the same approval gate.
|
|
8
8
|
|
|
9
9
|
---
|
|
10
10
|
|
|
@@ -14,27 +14,33 @@ Read the Plan Index File. Check if phases already exist in the body.
|
|
|
14
14
|
|
|
15
15
|
#### If phases exist
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
> *Output the next fenced block as a code block:*
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
```
|
|
20
|
+
Phase structure already exists. I'll present it for your review.
|
|
21
|
+
```
|
|
20
22
|
|
|
21
23
|
Continue to **Review and Approve** below.
|
|
22
24
|
|
|
23
25
|
#### If no phases exist
|
|
24
26
|
|
|
25
|
-
|
|
27
|
+
> *Output the next fenced block as a code block:*
|
|
26
28
|
|
|
27
|
-
|
|
29
|
+
```
|
|
30
|
+
I'll delegate phase design to a specialist agent. It will read the full
|
|
31
|
+
specification and propose a phase structure — how we break this into
|
|
32
|
+
independently testable stages.
|
|
33
|
+
```
|
|
28
34
|
|
|
29
35
|
### Invoke the Agent
|
|
30
36
|
|
|
31
37
|
Invoke `planning-phase-designer` with these file paths:
|
|
32
38
|
|
|
33
|
-
1. **read-specification.md**:
|
|
39
|
+
1. **read-specification.md**: `read-specification.md`
|
|
34
40
|
2. **Specification**: path from the Plan Index File's `specification:` field
|
|
35
41
|
3. **Cross-cutting specs**: paths from the Plan Index File's `cross_cutting_specs:` field (if any)
|
|
36
|
-
4. **phase-design.md**:
|
|
37
|
-
5. **task-design.md**:
|
|
42
|
+
4. **phase-design.md**: `phase-design.md`
|
|
43
|
+
5. **task-design.md**: `task-design.md`
|
|
38
44
|
|
|
39
45
|
The agent returns a complete phase structure. Write it directly to the Plan Index File body.
|
|
40
46
|
|
|
@@ -1,27 +1,31 @@
|
|
|
1
1
|
# Define Tasks
|
|
2
2
|
|
|
3
|
-
*Reference for **[technical-planning](
|
|
3
|
+
*Reference for **[technical-planning](../SKILL.md)***
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
This step uses the `planning-task-designer` agent (
|
|
7
|
+
This step uses the `planning-task-designer` agent (`../../../agents/planning-task-designer.md`) to design a task list for a single phase. You invoke the agent, present its output, and handle the approval gate.
|
|
8
8
|
|
|
9
9
|
---
|
|
10
10
|
|
|
11
11
|
## Design the Task List
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
> *Output the next fenced block as a code block:*
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
```
|
|
16
|
+
Taking Phase {N}: {Phase Name} and breaking it into tasks. I'll delegate
|
|
17
|
+
this to a specialist agent that will read the full specification and
|
|
18
|
+
propose a task list.
|
|
19
|
+
```
|
|
16
20
|
|
|
17
21
|
### Invoke the Agent
|
|
18
22
|
|
|
19
23
|
Invoke `planning-task-designer` with these file paths:
|
|
20
24
|
|
|
21
|
-
1. **read-specification.md**:
|
|
25
|
+
1. **read-specification.md**: `read-specification.md`
|
|
22
26
|
2. **Specification**: path from the Plan Index File's `specification:` field
|
|
23
27
|
3. **Cross-cutting specs**: paths from the Plan Index File's `cross_cutting_specs:` field (if any)
|
|
24
|
-
4. **task-design.md**:
|
|
28
|
+
4. **task-design.md**: `task-design.md`
|
|
25
29
|
5. **All approved phases**: the complete phase structure from the Plan Index File body
|
|
26
30
|
6. **Target phase number**: the phase being broken into tasks
|
|
27
31
|
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Invoke Integrity Review
|
|
2
|
+
|
|
3
|
+
*Reference for **[plan-review](plan-review.md)***
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
This step invokes the `planning-review-integrity` agent (`../../../agents/planning-review-integrity.md`) to review plan structural quality and implementation readiness.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Invoke the Agent
|
|
12
|
+
|
|
13
|
+
Invoke `planning-review-integrity` with:
|
|
14
|
+
|
|
15
|
+
1. **Review criteria path**: `review-integrity.md` (in this directory)
|
|
16
|
+
2. **Plan path**: `docs/workflow/planning/{topic}/plan.md`
|
|
17
|
+
3. **Format reading.md path**: load **[output-formats.md](output-formats.md)**, find the entry matching the plan's `format:` field, and pass the format's `reading.md` path
|
|
18
|
+
4. **Cycle number**: current `review_cycle` from the Plan Index File frontmatter
|
|
19
|
+
5. **Topic name**: from the plan's `topic` frontmatter field
|
|
20
|
+
6. **Task design path**: `task-design.md`
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Expected Result
|
|
25
|
+
|
|
26
|
+
The agent returns a brief status:
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
STATUS: findings | clean
|
|
30
|
+
CYCLE: {N}
|
|
31
|
+
TRACKING_FILE: {path to tracking file}
|
|
32
|
+
FINDING_COUNT: {N}
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
- `clean`: plan meets structural quality standards. No findings to process.
|
|
36
|
+
- `findings`: tracking file contains findings with full fix content for the orchestrator to present to the user.
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Invoke Traceability Review
|
|
2
|
+
|
|
3
|
+
*Reference for **[plan-review](plan-review.md)***
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
This step invokes the `planning-review-traceability` agent (`../../../agents/planning-review-traceability.md`) to analyze plan traceability against the specification.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Invoke the Agent
|
|
12
|
+
|
|
13
|
+
Invoke `planning-review-traceability` with:
|
|
14
|
+
|
|
15
|
+
1. **Review criteria path**: `review-traceability.md` (in this directory)
|
|
16
|
+
2. **Specification path**: from the plan's `specification` frontmatter field (resolved relative to the plan directory)
|
|
17
|
+
3. **Plan path**: `docs/workflow/planning/{topic}/plan.md`
|
|
18
|
+
4. **Format reading.md path**: load **[output-formats.md](output-formats.md)**, find the entry matching the plan's `format:` field, and pass the format's `reading.md` path
|
|
19
|
+
5. **Cycle number**: current `review_cycle` from the Plan Index File frontmatter
|
|
20
|
+
6. **Topic name**: from the plan's `topic` frontmatter field
|
|
21
|
+
7. **Task design path**: `task-design.md`
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Expected Result
|
|
26
|
+
|
|
27
|
+
The agent returns a brief status:
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
STATUS: findings | clean
|
|
31
|
+
CYCLE: {N}
|
|
32
|
+
TRACKING_FILE: {path to tracking file}
|
|
33
|
+
FINDING_COUNT: {N}
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
- `clean`: plan is a faithful, complete translation of the specification. No findings to process.
|
|
37
|
+
- `findings`: tracking file contains findings with full fix content for the orchestrator to present to the user.
|
|
@@ -28,13 +28,15 @@ No external tools required. This format uses plain markdown files stored in the
|
|
|
28
28
|
|
|
29
29
|
## Output Location
|
|
30
30
|
|
|
31
|
-
Tasks are stored as individual markdown files in a `
|
|
31
|
+
Tasks are stored as individual markdown files in a `tasks/` subdirectory under the topic directory:
|
|
32
32
|
|
|
33
33
|
```
|
|
34
34
|
docs/workflow/planning/{topic}/
|
|
35
|
-
├──
|
|
36
|
-
|
|
37
|
-
|
|
35
|
+
├── plan.md # Plan Index File (not a task)
|
|
36
|
+
└── tasks/ # Task files
|
|
37
|
+
├── {topic}-1-1.md # Phase 1, task 1
|
|
38
|
+
├── {topic}-1-2.md # Phase 1, task 2
|
|
39
|
+
└── {topic}-2-1.md # Phase 2, task 1
|
|
38
40
|
```
|
|
39
41
|
|
|
40
42
|
Task filename = task ID for easy lookup.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
## Task Storage
|
|
4
4
|
|
|
5
|
-
Each task is written to `docs/workflow/planning/{topic}/{task-id}.md` — a markdown file with frontmatter and a description body.
|
|
5
|
+
Each task is written to `docs/workflow/planning/{topic}/tasks/{task-id}.md` — a markdown file with frontmatter and a description body.
|
|
6
6
|
|
|
7
7
|
```markdown
|
|
8
8
|
---
|
|
@@ -57,8 +57,8 @@ In the task file, add a **Needs Clarification** section:
|
|
|
57
57
|
|
|
58
58
|
## Cleanup (Restart)
|
|
59
59
|
|
|
60
|
-
Delete the
|
|
60
|
+
Delete the tasks directory — preserves `plan.md` (the Plan Index) and any review tracking files:
|
|
61
61
|
|
|
62
62
|
```bash
|
|
63
|
-
rm -rf docs/workflow/planning/{topic}/
|
|
63
|
+
rm -rf docs/workflow/planning/{topic}/tasks/
|
|
64
64
|
```
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
To retrieve all tasks for a plan:
|
|
6
6
|
|
|
7
|
-
1. List all `.md` files in `docs/workflow/planning/{topic}/`
|
|
7
|
+
1. List all `.md` files in `docs/workflow/planning/{topic}/tasks/` — every file in this directory is a task file, no filtering needed
|
|
8
8
|
2. Read each file's frontmatter to extract: `id`, `phase`, `status`, `priority`, `depends_on`
|
|
9
9
|
3. Read the first heading for the task title
|
|
10
10
|
|
|
@@ -12,7 +12,7 @@ This provides the summary-level data needed for graphing, progress overview, or
|
|
|
12
12
|
|
|
13
13
|
## Extracting a Task
|
|
14
14
|
|
|
15
|
-
To read a specific task, read the file at `docs/workflow/planning/{topic}/{task-id}.md`.
|
|
15
|
+
To read a specific task, read the file at `docs/workflow/planning/{topic}/tasks/{task-id}.md`.
|
|
16
16
|
|
|
17
17
|
The task file is self-contained — frontmatter holds id, phase, and status. The body contains the title and full description.
|
|
18
18
|
|
|
@@ -20,7 +20,7 @@ The task file is self-contained — frontmatter holds id, phase, and status. The
|
|
|
20
20
|
|
|
21
21
|
To find the next task to implement:
|
|
22
22
|
|
|
23
|
-
1. List
|
|
23
|
+
1. List all `.md` files in `docs/workflow/planning/{topic}/tasks/`
|
|
24
24
|
2. Filter to tasks where `status` is `pending` or `in-progress` (or missing — treat as `pending`)
|
|
25
25
|
3. If any tasks have `depends_on`, check each referenced task's `status` — exclude the task unless all dependencies have `status: completed`
|
|
26
26
|
4. Order by phase number (from task ID: `{topic}-{phase}-{seq}`) — complete all earlier phases first
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
## Status Transitions
|
|
4
4
|
|
|
5
|
-
Update the `status` field in the task file frontmatter at `docs/workflow/planning/{topic}/{task-id}.md`:
|
|
5
|
+
Update the `status` field in the task file frontmatter at `docs/workflow/planning/{topic}/tasks/{task-id}.md`:
|
|
6
6
|
|
|
7
7
|
| Transition | Value |
|
|
8
8
|
|------------|-------|
|