@leeovery/claude-technical-workflows 2.1.27 → 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.
Files changed (75) hide show
  1. package/README.md +90 -92
  2. package/agents/implementation-analysis-task-writer.md +1 -1
  3. package/agents/planning-review-integrity.md +71 -0
  4. package/agents/planning-review-traceability.md +74 -0
  5. package/package.json +1 -1
  6. package/skills/link-dependencies/SKILL.md +3 -3
  7. package/skills/migrate/scripts/migrations/002-specification-frontmatter.sh +5 -0
  8. package/skills/migrate/scripts/migrations/003-planning-frontmatter.sh +5 -0
  9. package/skills/migrate/scripts/migrations/004-sources-object-format.sh +5 -0
  10. package/skills/migrate/scripts/migrations/005-plan-external-deps-frontmatter.sh +5 -0
  11. package/skills/migrate/scripts/migrations/006-directory-restructure.sh +167 -0
  12. package/skills/migrate/scripts/migrations/007-tasks-subdirectory.sh +86 -0
  13. package/skills/start-discussion/references/handle-selection.md +8 -0
  14. package/skills/start-feature/SKILL.md +2 -2
  15. package/skills/start-implementation/SKILL.md +1 -3
  16. package/skills/start-implementation/scripts/discovery.sh +7 -7
  17. package/skills/start-planning/references/invoke-skill.md +3 -3
  18. package/skills/start-planning/scripts/discovery.sh +8 -8
  19. package/skills/start-review/references/invoke-skill.md +3 -3
  20. package/skills/start-review/scripts/discovery.sh +3 -3
  21. package/skills/start-specification/references/confirm-continue.md +3 -3
  22. package/skills/start-specification/references/confirm-create.md +3 -3
  23. package/skills/start-specification/references/confirm-refine.md +1 -1
  24. package/skills/start-specification/references/confirm-unify.md +4 -4
  25. package/skills/start-specification/references/handoffs/continue-concluded.md +3 -1
  26. package/skills/start-specification/references/handoffs/continue.md +3 -1
  27. package/skills/start-specification/references/handoffs/create-with-incorporation.md +2 -2
  28. package/skills/start-specification/references/handoffs/create.md +1 -1
  29. package/skills/start-specification/references/handoffs/unify-with-incorporation.md +3 -3
  30. package/skills/start-specification/references/handoffs/unify.md +1 -1
  31. package/skills/start-specification/scripts/discovery.sh +6 -6
  32. package/skills/status/scripts/discovery.sh +7 -7
  33. package/skills/technical-discussion/SKILL.md +46 -8
  34. package/skills/technical-implementation/SKILL.md +66 -20
  35. package/skills/technical-implementation/references/{steps/analysis-loop.md → analysis-loop.md} +1 -1
  36. package/skills/technical-implementation/references/{steps/invoke-analysis.md → invoke-analysis.md} +5 -5
  37. package/skills/technical-implementation/references/{steps/invoke-executor.md → invoke-executor.md} +5 -5
  38. package/skills/technical-implementation/references/{steps/invoke-reviewer.md → invoke-reviewer.md} +2 -2
  39. package/skills/technical-implementation/references/{steps/invoke-synthesizer.md → invoke-synthesizer.md} +3 -3
  40. package/skills/technical-implementation/references/{steps/invoke-task-writer.md → invoke-task-writer.md} +4 -4
  41. package/skills/technical-implementation/references/{steps/task-loop.md → task-loop.md} +45 -38
  42. package/skills/technical-planning/SKILL.md +64 -22
  43. package/skills/technical-planning/references/{steps/analyze-task-graph.md → analyze-task-graph.md} +33 -16
  44. package/skills/technical-planning/references/author-tasks.md +100 -0
  45. package/skills/technical-planning/references/{steps/define-phases.md → define-phases.md} +15 -9
  46. package/skills/technical-planning/references/{steps/define-tasks.md → define-tasks.md} +10 -6
  47. package/skills/technical-planning/references/invoke-review-integrity.md +36 -0
  48. package/skills/technical-planning/references/invoke-review-traceability.md +37 -0
  49. package/skills/technical-planning/references/output-formats/local-markdown/about.md +6 -4
  50. package/skills/technical-planning/references/output-formats/local-markdown/authoring.md +3 -3
  51. package/skills/technical-planning/references/output-formats/local-markdown/reading.md +3 -3
  52. package/skills/technical-planning/references/output-formats/local-markdown/updating.md +1 -1
  53. package/skills/technical-planning/references/output-formats/tick/about.md +68 -0
  54. package/skills/technical-planning/references/output-formats/tick/authoring.md +106 -0
  55. package/skills/technical-planning/references/output-formats/tick/graph.md +62 -0
  56. package/skills/technical-planning/references/output-formats/tick/reading.md +61 -0
  57. package/skills/technical-planning/references/output-formats/tick/updating.md +25 -0
  58. package/skills/technical-planning/references/output-formats.md +11 -0
  59. package/skills/technical-planning/references/{steps/plan-construction.md → plan-construction.md} +33 -9
  60. package/skills/technical-planning/references/plan-review.md +122 -0
  61. package/skills/technical-planning/references/process-review-findings.md +171 -0
  62. package/skills/technical-planning/references/{steps/resolve-dependencies.md → resolve-dependencies.md} +18 -12
  63. package/skills/technical-planning/references/review-integrity.md +127 -0
  64. package/skills/technical-planning/references/review-traceability.md +105 -0
  65. package/skills/technical-planning/references/task-design.md +1 -1
  66. package/skills/technical-planning/references/{steps/verify-source-material.md → verify-source-material.md} +3 -3
  67. package/skills/technical-research/SKILL.md +20 -4
  68. package/skills/technical-review/SKILL.md +21 -4
  69. package/skills/technical-specification/SKILL.md +34 -8
  70. package/skills/technical-specification/references/specification-guide.md +228 -56
  71. package/skills/view-plan/SKILL.md +1 -1
  72. package/skills/technical-planning/references/steps/author-tasks.md +0 -72
  73. package/skills/technical-planning/references/steps/plan-review.md +0 -94
  74. package/skills/technical-planning/references/steps/review-integrity.md +0 -222
  75. package/skills/technical-planning/references/steps/review-traceability.md +0 -200
@@ -137,10 +137,10 @@ if [ -d "$DISCUSSION_DIR" ] && [ -n "$(ls -A "$DISCUSSION_DIR" 2>/dev/null)" ];
137
137
  # Check if this discussion has a corresponding individual spec
138
138
  has_individual_spec="false"
139
139
  spec_status=""
140
- if [ -f "$SPEC_DIR/${name}.md" ]; then
140
+ if [ -f "$SPEC_DIR/${name}/specification.md" ]; then
141
141
  has_individual_spec="true"
142
142
  # Extract spec status in real-time (not from cache)
143
- spec_status=$(extract_field "$SPEC_DIR/${name}.md" "status")
143
+ spec_status=$(extract_field "$SPEC_DIR/${name}/specification.md" "status")
144
144
  spec_status=${spec_status:-"in-progress"}
145
145
  fi
146
146
 
@@ -163,10 +163,10 @@ echo ""
163
163
  echo "specifications:"
164
164
 
165
165
  if [ -d "$SPEC_DIR" ] && [ -n "$(ls -A "$SPEC_DIR" 2>/dev/null)" ]; then
166
- for file in "$SPEC_DIR"/*.md; do
166
+ for file in "$SPEC_DIR"/*/specification.md; do
167
167
  [ -f "$file" ] || continue
168
168
 
169
- name=$(basename "$file" .md)
169
+ name=$(basename "$(dirname "$file")")
170
170
  status=$(extract_field "$file" "status")
171
171
  status=${status:-"active"}
172
172
 
@@ -235,7 +235,7 @@ if [ -f "$CACHE_FILE" ]; then
235
235
  while IFS= read -r grouping_name; do
236
236
  # Clean the name (remove any trailing annotations, lowercase, spaces to hyphens)
237
237
  clean_name=$(echo "$grouping_name" | sed 's/[[:space:]]*(.*)//' | tr '[:upper:]' '[:lower:]' | tr ' ' '-')
238
- if [ -f "$SPEC_DIR/${clean_name}.md" ]; then
238
+ if [ -f "$SPEC_DIR/${clean_name}/specification.md" ]; then
239
239
  echo " - \"$clean_name\""
240
240
  anchored_found=true
241
241
  fi
@@ -285,7 +285,7 @@ if [ -d "$DISCUSSION_DIR" ] && [ -n "$(ls -A "$DISCUSSION_DIR" 2>/dev/null)" ];
285
285
  # Count non-superseded specifications
286
286
  spec_count=0
287
287
  if [ -d "$SPEC_DIR" ] && [ -n "$(ls -A "$SPEC_DIR" 2>/dev/null)" ]; then
288
- for file in "$SPEC_DIR"/*.md; do
288
+ for file in "$SPEC_DIR"/*/specification.md; do
289
289
  [ -f "$file" ] || continue
290
290
  spec_status=$(extract_field "$file" "status")
291
291
  if [ "$spec_status" != "superseded" ]; then
@@ -251,9 +251,9 @@ spec_crosscutting=0
251
251
  if [ -d "$SPEC_DIR" ] && [ -n "$(ls -A "$SPEC_DIR" 2>/dev/null)" ]; then
252
252
  echo " exists: true"
253
253
  echo " files:"
254
- for file in "$SPEC_DIR"/*.md; do
254
+ for file in "$SPEC_DIR"/*/specification.md; do
255
255
  [ -f "$file" ] || continue
256
- name=$(basename "$file" .md)
256
+ name=$(basename "$(dirname "$file")")
257
257
  status=$(extract_field "$file" "status")
258
258
  status=${status:-"in-progress"}
259
259
  spec_type=$(extract_field "$file" "type")
@@ -316,15 +316,15 @@ plan_in_progress=0
316
316
  if [ -d "$PLAN_DIR" ] && [ -n "$(ls -A "$PLAN_DIR" 2>/dev/null)" ]; then
317
317
  echo " exists: true"
318
318
  echo " files:"
319
- for file in "$PLAN_DIR"/*.md; do
319
+ for file in "$PLAN_DIR"/*/plan.md; do
320
320
  [ -f "$file" ] || continue
321
- name=$(basename "$file" .md)
321
+ name=$(basename "$(dirname "$file")")
322
322
  status=$(extract_field "$file" "status")
323
323
  status=${status:-"unknown"}
324
324
  format=$(extract_field "$file" "format")
325
325
  format=${format:-"unknown"}
326
326
  specification=$(extract_field "$file" "specification")
327
- specification=${specification:-"${name}.md"}
327
+ specification=${specification:-"${name}/specification.md"}
328
328
 
329
329
  echo " - name: \"$name\""
330
330
  echo " status: \"$status\""
@@ -389,11 +389,11 @@ if [ -d "$IMPL_DIR" ] && [ -n "$(ls -A "$IMPL_DIR" 2>/dev/null)" ]; then
389
389
 
390
390
  # Count total tasks from plan directory (local-markdown format)
391
391
  total_tasks=0
392
- plan_file="$PLAN_DIR/${topic}.md"
392
+ plan_file="$PLAN_DIR/${topic}/plan.md"
393
393
  if [ -f "$plan_file" ]; then
394
394
  plan_format=$(extract_field "$plan_file" "format")
395
395
  if [ "$plan_format" = "local-markdown" ] && [ -d "$PLAN_DIR/${topic}" ]; then
396
- total_tasks=$(ls -1 "$PLAN_DIR/${topic}/"*.md 2>/dev/null | wc -l | tr -d ' ')
396
+ total_tasks=$(ls -1 "$PLAN_DIR/${topic}/tasks/"*.md 2>/dev/null | wc -l | tr -d ' ')
397
397
  fi
398
398
  fi
399
399
 
@@ -24,11 +24,28 @@ Either way: Capture decisions, rationale, competing approaches, and edge cases.
24
24
 
25
25
  **Before proceeding**, confirm the required input is clear. If anything is missing or unclear, **STOP** and resolve with the user.
26
26
 
27
- - **No topic provided?**
28
- > "What topic would you like to discuss? This could be an architectural decision, a design problem, or edge cases to work through — anything that needs structured technical discussion."
27
+ #### If no topic provided
29
28
 
30
- - **Topic is broad or ambiguous?**
31
- > "You mentioned {topic}. To keep the discussion focused, is there a specific aspect or decision you want to work through first?"
29
+ > *Output the next fenced block as a code block:*
30
+
31
+ ```
32
+ What topic would you like to discuss? This could be an architectural decision,
33
+ a design problem, or edge cases to work through — anything that needs structured
34
+ technical discussion.
35
+ ```
36
+
37
+ **STOP.** Wait for user response.
38
+
39
+ #### If topic is broad or ambiguous
40
+
41
+ > *Output the next fenced block as a code block:*
42
+
43
+ ```
44
+ You mentioned {topic}. To keep the discussion focused, is there a specific
45
+ aspect or decision you want to work through first?
46
+ ```
47
+
48
+ **STOP.** Wait for user response.
32
49
 
33
50
  ---
34
51
 
@@ -97,7 +114,24 @@ These are natural pauses, not every exchange. Document the reasoning and context
97
114
 
98
115
  ## Concluding a Discussion
99
116
 
100
- When the user is ready to conclude the discussion:
117
+ When the user indicates they want to conclude:
118
+
119
+ > *Output the next fenced block as markdown (not a code block):*
120
+
121
+ ```
122
+ · · · · · · · · · · · ·
123
+ - **`y`/`yes`** — Conclude discussion and mark as concluded
124
+ - **Comment** — Add context before concluding
125
+ · · · · · · · · · · · ·
126
+ ```
127
+
128
+ **STOP.** Wait for user response.
129
+
130
+ #### If comment
131
+
132
+ Incorporate the user's context into the discussion, commit, then re-present the sign-off prompt above.
133
+
134
+ #### If yes
101
135
 
102
136
  1. Update frontmatter `status: concluded`
103
137
  2. Final commit
@@ -105,18 +139,22 @@ When the user is ready to conclude the discussion:
105
139
 
106
140
  **If other in-progress discussions exist:**
107
141
 
142
+ > *Output the next fenced block as a code block:*
143
+
108
144
  ```
109
145
  Discussion concluded: {topic}
110
146
 
111
147
  Remaining in-progress discussions:
112
- - {topic-1}
113
- - {topic-2}
148
+ {topic-1}
149
+ {topic-2}
114
150
 
115
- To continue, clear your context and run `/start-discussion` to pick up the next topic.
151
+ To continue, clear your context and run /start-discussion to pick up the next topic.
116
152
  ```
117
153
 
118
154
  **If no in-progress discussions remain:**
119
155
 
156
+ > *Output the next fenced block as a code block:*
157
+
120
158
  ```
121
159
  Discussion concluded: {topic}
122
160
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: technical-implementation
3
- description: "Orchestrate implementation of plans using agent-based TDD workflow with per-task review and approval gate (auto mode available). Use when: (1) Implementing a plan from docs/workflow/planning/{topic}.md, (2) User says 'implement', 'build', or 'code this' with a plan available, (3) Ad hoc coding that should follow TDD and quality standards, (4) Bug fixes or features benefiting from structured implementation. Dispatches executor and reviewer agents per task, commits after review approval."
3
+ description: "Orchestrate implementation of plans using agent-based TDD workflow with per-task review and approval gate (auto mode available). Use when: (1) Implementing a plan from docs/workflow/planning/{topic}/plan.md, (2) User says 'implement', 'build', or 'code this' with a plan available, (3) Ad hoc coding that should follow TDD and quality standards, (4) Bug fixes or features benefiting from structured implementation. Dispatches executor and reviewer agents per task, commits after review approval."
4
4
  user-invocable: false
5
5
  ---
6
6
 
@@ -30,14 +30,38 @@ Either way: dispatch agents per task — executor implements via TDD, reviewer v
30
30
 
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
- - **No plan provided?**
34
- "I need an implementation plan to execute. Could you point me to the plan file (e.g., `docs/workflow/planning/{topic}.md`)?"
33
+ #### If no plan provided
35
34
 
36
- - **Plan has no `format` field in frontmatter?**
37
- "The plan at {path} doesn't specify an output format in its frontmatter. Which format does this plan use?"
35
+ > *Output the next fenced block as a code block:*
36
+
37
+ ```
38
+ I need an implementation plan to execute. Could you point me to the plan file
39
+ (e.g., docs/workflow/planning/{topic}/plan.md)?
40
+ ```
41
+
42
+ **STOP.** Wait for user response.
43
+
44
+ #### If plan has no `format` field in frontmatter
38
45
 
39
- - **Plan status is not `concluded`?**
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?"
46
+ > *Output the next fenced block as a code block:*
47
+
48
+ ```
49
+ The plan at {path} doesn't specify an output format in its frontmatter.
50
+ Which format does this plan use?
51
+ ```
52
+
53
+ **STOP.** Wait for user response.
54
+
55
+ #### If plan status is not `concluded`
56
+
57
+ > *Output the next fenced block as a code block:*
58
+
59
+ ```
60
+ The plan at {path} has status '{status}' — it hasn't completed the review
61
+ process. Should I proceed anyway, or should the plan be reviewed first?
62
+ ```
63
+
64
+ **STOP.** Wait for user response.
41
65
 
42
66
  If no specification is available, the plan becomes the sole authority for design decisions.
43
67
 
@@ -89,9 +113,12 @@ Follow them. Complete ALL steps before proceeding.
89
113
 
90
114
  #### If no setup file exists
91
115
 
92
- Ask:
116
+ > *Output the next fenced block as a code block:*
93
117
 
94
- "No environment setup document found. Are there any setup instructions I should follow before implementing?"
118
+ ```
119
+ No environment setup document found. Are there any setup instructions
120
+ I should follow before implementing?
121
+ ```
95
122
 
96
123
  **STOP.** Wait for user response.
97
124
 
@@ -103,7 +130,7 @@ Save their instructions to `docs/workflow/environment-setup.md` (or "No special
103
130
 
104
131
  ## Step 2: Read Plan + Load Plan Adapter
105
132
 
106
- 1. Read the plan from the provided location (typically `docs/workflow/planning/{topic}.md`)
133
+ 1. Read the plan from the provided location (typically `docs/workflow/planning/{topic}/plan.md`)
107
134
  2. Plans can be stored in various formats. The `format` field in the plan's frontmatter identifies which format this plan uses.
108
135
  3. Load the format's per-concern adapter files from `../technical-planning/references/output-formats/{format}/`:
109
136
  - **reading.md** — how to read tasks from the plan
@@ -131,7 +158,7 @@ Create `docs/workflow/implementation/{topic}/tracking.md`:
131
158
  ```yaml
132
159
  ---
133
160
  topic: {topic}
134
- plan: ../../planning/{topic}.md
161
+ plan: ../../planning/{topic}/plan.md
135
162
  format: {format from plan}
136
163
  status: in-progress
137
164
  task_gate_mode: gated
@@ -257,7 +284,7 @@ Recommendations: {any suggested tools with install commands}
257
284
 
258
285
  ## Step 6: Task Loop
259
286
 
260
- Load **[steps/task-loop.md](references/steps/task-loop.md)** and follow its instructions as written.
287
+ Load **[task-loop.md](references/task-loop.md)** and follow its instructions as written.
261
288
 
262
289
  After the loop completes:
263
290
 
@@ -269,7 +296,7 @@ After the loop completes:
269
296
 
270
297
  ## Step 7: Analysis Loop
271
298
 
272
- Load **[steps/analysis-loop.md](references/steps/analysis-loop.md)** and follow its instructions as written.
299
+ Load **[analysis-loop.md](references/analysis-loop.md)** and follow its instructions as written.
273
300
 
274
301
  → If new tasks were created in the plan, return to **Step 6**.
275
302
 
@@ -279,6 +306,25 @@ Load **[steps/analysis-loop.md](references/steps/analysis-loop.md)** and follow
279
306
 
280
307
  ## Step 8: Mark Implementation Complete
281
308
 
309
+ Before marking complete, present the sign-off:
310
+
311
+ > *Output the next fenced block as markdown (not a code block):*
312
+
313
+ ```
314
+ · · · · · · · · · · · ·
315
+ - **`y`/`yes`** — Mark implementation as completed
316
+ - **Comment** — Add context before completing
317
+ · · · · · · · · · · · ·
318
+ ```
319
+
320
+ **STOP.** Wait for user response.
321
+
322
+ #### If comment
323
+
324
+ 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.
325
+
326
+ #### If yes
327
+
282
328
  Update the tracking file (`docs/workflow/implementation/{topic}/tracking.md`):
283
329
  - Set `status: completed`
284
330
  - Set `completed: YYYY-MM-DD` (use today's actual date)
@@ -292,13 +338,13 @@ Commit: `impl({topic}): complete implementation`
292
338
 
293
339
  - **[environment-setup.md](references/environment-setup.md)** — Environment setup before implementation
294
340
  - **[linter-setup.md](references/linter-setup.md)** — Linter discovery and configuration
295
- - **[steps/task-loop.md](references/steps/task-loop.md)** — Task execution loop, task gates, tracking, commits
296
- - **[steps/analysis-loop.md](references/steps/analysis-loop.md)** — Analysis and refinement cycle
297
- - **[steps/invoke-executor.md](references/steps/invoke-executor.md)** — How to invoke the executor agent
298
- - **[steps/invoke-reviewer.md](references/steps/invoke-reviewer.md)** — How to invoke the reviewer agent
299
- - **[steps/invoke-analysis.md](references/steps/invoke-analysis.md)** — How to invoke analysis agents
300
- - **[steps/invoke-synthesizer.md](references/steps/invoke-synthesizer.md)** — How to invoke the synthesis agent
301
- - **[steps/invoke-task-writer.md](references/steps/invoke-task-writer.md)** — How to invoke the task writer agent
341
+ - **[task-loop.md](references/task-loop.md)** — Task execution loop, task gates, tracking, commits
342
+ - **[analysis-loop.md](references/analysis-loop.md)** — Analysis and refinement cycle
343
+ - **[invoke-executor.md](references/invoke-executor.md)** — How to invoke the executor agent
344
+ - **[invoke-reviewer.md](references/invoke-reviewer.md)** — How to invoke the reviewer agent
345
+ - **[invoke-analysis.md](references/invoke-analysis.md)** — How to invoke analysis agents
346
+ - **[invoke-synthesizer.md](references/invoke-synthesizer.md)** — How to invoke the synthesis agent
347
+ - **[invoke-task-writer.md](references/invoke-task-writer.md)** — How to invoke the task writer agent
302
348
  - **[task-normalisation.md](references/task-normalisation.md)** — Normalised task shape for agent invocation
303
349
  - **[tdd-workflow.md](references/tdd-workflow.md)** — TDD cycle (passed to executor agent)
304
350
  - **[code-quality.md](references/code-quality.md)** — Quality standards (passed to executor agent)
@@ -1,6 +1,6 @@
1
1
  # Analysis Loop
2
2
 
3
- *Reference for **[technical-implementation](../../SKILL.md)***
3
+ *Reference for **[technical-implementation](../SKILL.md)***
4
4
 
5
5
  ---
6
6
 
@@ -1,6 +1,6 @@
1
1
  # Invoke Analysis Agents
2
2
 
3
- *Reference for **[technical-implementation](../../SKILL.md)***
3
+ *Reference for **[technical-implementation](../SKILL.md)***
4
4
 
5
5
  ---
6
6
 
@@ -27,7 +27,7 @@ Dispatch **all three in parallel** via the Task tool. Each agent receives the sa
27
27
  1. **Implementation files** — the file list from scope identification
28
28
  2. **Specification path** — from the plan's frontmatter (if available)
29
29
  3. **Project skill paths** — from `project_skills` in the implementation tracking file
30
- 4. **code-quality.md path** — `../code-quality.md`
30
+ 4. **code-quality.md path** — `code-quality.md`
31
31
  5. **Topic name** — the implementation topic
32
32
  6. **Cycle number** — the current analysis cycle number (from `analysis_cycle` in the tracking file)
33
33
 
@@ -35,15 +35,15 @@ Each agent knows its own output path convention and writes findings independentl
35
35
 
36
36
  ### Agent 1: Duplication
37
37
 
38
- - **Agent path**: `../../../../agents/implementation-analysis-duplication.md`
38
+ - **Agent path**: `../../../agents/implementation-analysis-duplication.md`
39
39
 
40
40
  ### Agent 2: Standards
41
41
 
42
- - **Agent path**: `../../../../agents/implementation-analysis-standards.md`
42
+ - **Agent path**: `../../../agents/implementation-analysis-standards.md`
43
43
 
44
44
  ### Agent 3: Architecture
45
45
 
46
- - **Agent path**: `../../../../agents/implementation-analysis-architecture.md`
46
+ - **Agent path**: `../../../agents/implementation-analysis-architecture.md`
47
47
 
48
48
  ---
49
49
 
@@ -1,10 +1,10 @@
1
1
  # Invoke Executor
2
2
 
3
- *Reference for **[technical-implementation](../../SKILL.md)***
3
+ *Reference for **[technical-implementation](../SKILL.md)***
4
4
 
5
5
  ---
6
6
 
7
- This step invokes the `implementation-task-executor` agent (`../../../../agents/implementation-task-executor.md`) to implement one task.
7
+ This step invokes the `implementation-task-executor` agent (`../../../agents/implementation-task-executor.md`) to implement one task.
8
8
 
9
9
  ---
10
10
 
@@ -12,11 +12,11 @@ This step invokes the `implementation-task-executor` agent (`../../../../agents/
12
12
 
13
13
  **Every invocation** — initial or re-attempt — includes these file paths:
14
14
 
15
- 1. **tdd-workflow.md**: `../tdd-workflow.md`
16
- 2. **code-quality.md**: `../code-quality.md`
15
+ 1. **tdd-workflow.md**: `tdd-workflow.md`
16
+ 2. **code-quality.md**: `code-quality.md`
17
17
  3. **Specification path**: from the plan's frontmatter (if available)
18
18
  4. **Project skill paths**: from `project_skills` in the implementation tracking file
19
- 5. **Task content**: normalised task content (see [task-normalisation.md](../task-normalisation.md))
19
+ 5. **Task content**: normalised task content (see [task-normalisation.md](task-normalisation.md))
20
20
  6. **Linter commands**: from `linters` in the implementation tracking file (if configured)
21
21
 
22
22
  **Re-attempts after review feedback** additionally include:
@@ -1,10 +1,10 @@
1
1
  # Invoke Reviewer
2
2
 
3
- *Reference for **[technical-implementation](../../SKILL.md)***
3
+ *Reference for **[technical-implementation](../SKILL.md)***
4
4
 
5
5
  ---
6
6
 
7
- This step invokes the `implementation-task-reviewer` agent (`../../../../agents/implementation-task-reviewer.md`) to independently verify a completed task.
7
+ This step invokes the `implementation-task-reviewer` agent (`../../../agents/implementation-task-reviewer.md`) to independently verify a completed task.
8
8
 
9
9
  ---
10
10
 
@@ -1,6 +1,6 @@
1
1
  # Invoke Synthesizer
2
2
 
3
- *Reference for **[technical-implementation](../../SKILL.md)***
3
+ *Reference for **[technical-implementation](../SKILL.md)***
4
4
 
5
5
  ---
6
6
 
@@ -10,11 +10,11 @@ This step invokes the synthesis agent to read analysis findings, deduplicate, an
10
10
 
11
11
  ## Invoke the Agent
12
12
 
13
- **Agent path**: `../../../../agents/implementation-analysis-synthesizer.md`
13
+ **Agent path**: `../../../agents/implementation-analysis-synthesizer.md`
14
14
 
15
15
  Pass via the orchestrator's prompt:
16
16
 
17
- 1. **Task normalization reference path** — `../task-normalisation.md`
17
+ 1. **Task normalization reference path** — `task-normalisation.md`
18
18
  2. **Topic name** — the implementation topic
19
19
  3. **Cycle number** — the current analysis cycle number
20
20
  4. **Specification path** — from the plan's frontmatter (if available)
@@ -1,6 +1,6 @@
1
1
  # Invoke Task Writer
2
2
 
3
- *Reference for **[technical-implementation](../../SKILL.md)***
3
+ *Reference for **[technical-implementation](../SKILL.md)***
4
4
 
5
5
  ---
6
6
 
@@ -10,15 +10,15 @@ This step invokes the task writer agent to create plan tasks from approved analy
10
10
 
11
11
  ## Invoke the Agent
12
12
 
13
- **Agent path**: `../../../../agents/implementation-analysis-task-writer.md`
13
+ **Agent path**: `../../../agents/implementation-analysis-task-writer.md`
14
14
 
15
15
  Pass via the orchestrator's prompt:
16
16
 
17
17
  1. **Topic name** — the implementation topic
18
18
  2. **Staging file path** — `docs/workflow/implementation/{topic}/analysis-tasks-c{cycle-number}.md`
19
19
  3. **Plan path** — the implementation plan path
20
- 4. **Plan format reading adapter path** — `../../../technical-planning/references/output-formats/{format}/reading.md`
21
- 5. **Plan format authoring adapter path** — `../../../technical-planning/references/output-formats/{format}/authoring.md`
20
+ 4. **Plan format reading adapter path** — `../../technical-planning/references/output-formats/{format}/reading.md`
21
+ 5. **Plan format authoring adapter path** — `../../technical-planning/references/output-formats/{format}/authoring.md`
22
22
 
23
23
  ---
24
24
 
@@ -1,6 +1,6 @@
1
1
  # Task Loop
2
2
 
3
- *Reference for **[technical-implementation](../../SKILL.md)***
3
+ *Reference for **[technical-implementation](../SKILL.md)***
4
4
 
5
5
  ---
6
6
 
@@ -23,7 +23,7 @@ E. Update progress + commit
23
23
 
24
24
  1. Follow the format's **reading.md** instructions to determine the next available task.
25
25
  2. If no available tasks remain → skip to **When All Tasks Are Complete**.
26
- 3. Normalise the task content following **[task-normalisation.md](../task-normalisation.md)**.
26
+ 3. Normalise the task content following **[task-normalisation.md](task-normalisation.md)**.
27
27
  4. Reset `fix_attempts` to `0` in the implementation tracking file.
28
28
 
29
29
  ---
@@ -38,11 +38,13 @@ E. Update progress + commit
38
38
 
39
39
  ### Executor Blocked
40
40
 
41
- Present the executor's ISSUES to the user:
41
+ > *Output the next fenced block as a code block:*
42
42
 
43
- **Task {id}: {Task Name} — {blocked/failed}**
43
+ ```
44
+ Task {id}: {Task Name} — {blocked/failed}
44
45
 
45
46
  {executor's ISSUES content}
47
+ ```
46
48
 
47
49
  > *Output the next fenced block as markdown (not a code block):*
48
50
 
@@ -82,28 +84,25 @@ Present the executor's ISSUES to the user:
82
84
 
83
85
  Increment `fix_attempts` in the implementation tracking file.
84
86
 
85
- #### If `fix_gate_mode: auto` and `fix_attempts < 3`
86
-
87
- Announce the fix round (one line, no stop):
88
-
89
- **Review for Task {id}: {Task Name} — needs changes** (attempt {N}/{max 3}, fix analysis included). Re-invoking executor.
90
-
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).
92
-
93
- #### If `fix_gate_mode: gated`, or `fix_attempts >= 3`
94
-
95
- If `fix_attempts >= 3`, the executor and reviewer have failed to converge. Prepend:
96
-
97
- The executor and reviewer have not converged after {N} attempts. Escalating for human review.
98
-
99
- Present the reviewer's findings and fix analysis to the user:
87
+ > *Output the next fenced block as a code block:*
100
88
 
101
- **Review for Task {id}: {Task Name} — needs changes** (attempt {N})
89
+ ```
90
+ @if(fix_attempts >= 3)
91
+ The executor and reviewer have not converged after {N} attempts. Escalating for human review.
92
+ @endif
93
+ Review for Task {id}: {Task Name} — needs changes (attempt {N})
102
94
 
103
95
  {ISSUES from reviewer, including FIX, ALTERNATIVE, and CONFIDENCE for each}
104
96
 
105
97
  Notes (non-blocking):
106
98
  {NOTES from reviewer}
99
+ ```
100
+
101
+ #### If `fix_gate_mode: auto` and `fix_attempts < 3`
102
+
103
+ → 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).
104
+
105
+ #### If `fix_gate_mode: gated`, or `fix_attempts >= 3`
107
106
 
108
107
  > *Output the next fenced block as markdown (not a code block):*
109
108
 
@@ -112,7 +111,8 @@ Notes (non-blocking):
112
111
  - **`y`/`yes`** — Accept the review and fix analysis, pass to executor
113
112
  - **`a`/`auto`** — Accept and auto-approve future fix analyses
114
113
  - **`s`/`skip`** — Override the reviewer and proceed as-is
115
- - **Comment** — Any commentary, adjustments, alternative approaches, or questions before passing to executor
114
+ - **Ask** — Ask questions about the review (doesn't accept or reject)
115
+ - **Comment** — Accept with adjustments — pass your own direction to the executor alongside the review
116
116
  · · · · · · · · · · · ·
117
117
  ```
118
118
 
@@ -121,22 +121,31 @@ Notes (non-blocking):
121
121
  - **`y`/`yes`**: → 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).
122
122
  - **`auto`**: Note that `fix_gate_mode` should be updated to `auto` during the next commit step. → 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).
123
123
  - **`skip`**: → Proceed to **D. Task Gate**.
124
+ - **Ask**: Answer the user's questions about the review. When complete, re-present the Review Changes options above. Repeat until the user selects a terminal option (`yes`, `auto`, `skip`, or Comment).
124
125
  - **Comment**: → Return to the top of **B. Execute Task** and re-invoke the executor with the full task content, the reviewer's notes, and the user's commentary.
125
126
 
126
127
  ---
127
128
 
128
129
  ## D. Task Gate
129
130
 
130
- After the reviewer approves a task, check the `task_gate_mode` field in the implementation tracking file.
131
-
132
- ### If `task_gate_mode: gated`
131
+ After the reviewer approves a task, present the result:
133
132
 
134
- Present a summary and wait for user input:
133
+ > *Output the next fenced block as a code block:*
135
134
 
136
- **Task {id}: {Task Name} — approved**
135
+ ```
136
+ Task {id}: {Task Name} — approved
137
137
 
138
138
  Phase: {phase number} — {phase name}
139
139
  {executor's SUMMARY — brief commentary, decisions, implementation notes}
140
+ ```
141
+
142
+ Check the `task_gate_mode` field in the implementation tracking file.
143
+
144
+ #### If `task_gate_mode: auto`
145
+
146
+ → Proceed to **E. Update Progress and Commit**.
147
+
148
+ #### If `task_gate_mode: gated`
140
149
 
141
150
  > *Output the next fenced block as markdown (not a code block):*
142
151
 
@@ -144,8 +153,9 @@ Phase: {phase number} — {phase name}
144
153
  · · · · · · · · · · · ·
145
154
  **Options:**
146
155
  - **`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)
156
+ - **`a`/`auto`** — Approve this and all future tasks automatically (skips review prompts and questions)
157
+ - **Ask** — Ask questions about the implementation (doesn't approve or reject)
158
+ - **Comment** — Request changes — pass feedback or commentary (triggers a fix round)
149
159
  · · · · · · · · · · · ·
150
160
  ```
151
161
 
@@ -153,15 +163,8 @@ Phase: {phase number} — {phase name}
153
163
 
154
164
  - **`y`/`yes`**: → Proceed to **E. Update Progress and Commit**.
155
165
  - **`auto`**: Note that `task_gate_mode` should be updated to `auto` during the commit step. → Proceed to **E. Update Progress and Commit**.
156
- - **Comment**: Return to the top of **B. Execute Task** and re-invoke the executor with the full task content and the user's notes.
157
-
158
- ### If `task_gate_mode: auto`
159
-
160
- Announce the result (one line, no stop):
161
-
162
- **Task {id}: {Task Name} — approved** (phase {N}: {phase name}, {brief summary}). Committing.
163
-
164
- → Proceed to **E. Update Progress and Commit**.
166
+ - **Ask**: Answer the user's questions about the implementation. When complete, re-present the Task Gate options above. Repeat until the user selects a terminal option (`yes`, `auto`, or Comment).
167
+ - **Comment**: → Return to the top of **B. Execute Task** and re-invoke the executor with the full task content and the user's feedback.
165
168
 
166
169
  ---
167
170
 
@@ -195,6 +198,10 @@ This is the end of this iteration.
195
198
 
196
199
  ## When All Tasks Are Complete
197
200
 
198
- "All tasks complete. {M} tasks implemented."
201
+ > *Output the next fenced block as a code block:*
202
+
203
+ ```
204
+ All tasks complete. {M} tasks implemented.
205
+ ```
199
206
 
200
207
  → Return to the skill for **Step 7**.