@leeovery/claude-technical-workflows 2.1.14 → 2.1.16

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.
@@ -18,6 +18,7 @@ You receive via the orchestrator's prompt:
18
18
  3. **Project skill paths** — relevant `.claude/skills/` paths for framework conventions
19
19
  4. **code-quality.md path** — quality standards
20
20
  5. **Topic name** — the implementation topic
21
+ 6. **Cycle number** — which analysis cycle this is (used in output file naming)
21
22
 
22
23
  ## Your Focus
23
24
 
@@ -34,7 +35,7 @@ You receive via the orchestrator's prompt:
34
35
  3. **Read specification** — understand design intent and boundaries
35
36
  4. **Read all implementation files** — understand the full picture
36
37
  5. **Analyze architecture** — evaluate how the pieces compose as a whole
37
- 6. **Write findings** to `docs/workflow/implementation/{topic}/analysis-architecture.md`
38
+ 6. **Write findings** to `docs/workflow/implementation/{topic}/analysis-architecture-c{cycle-number}.md`
38
39
 
39
40
  ## Hard Rules
40
41
 
@@ -48,7 +49,7 @@ You receive via the orchestrator's prompt:
48
49
 
49
50
  ## Output File Format
50
51
 
51
- Write to `docs/workflow/implementation/{topic}/analysis-architecture.md`:
52
+ Write to `docs/workflow/implementation/{topic}/analysis-architecture-c{cycle-number}.md`:
52
53
 
53
54
  ```
54
55
  AGENT: architecture
@@ -18,6 +18,7 @@ You receive via the orchestrator's prompt:
18
18
  3. **Project skill paths** — relevant `.claude/skills/` paths for framework conventions
19
19
  4. **code-quality.md path** — quality standards
20
20
  5. **Topic name** — the implementation topic
21
+ 6. **Cycle number** — which analysis cycle this is (used in output file naming)
21
22
 
22
23
  ## Your Focus
23
24
 
@@ -33,7 +34,7 @@ You receive via the orchestrator's prompt:
33
34
  3. **Read specification** — understand design intent
34
35
  4. **Read all implementation files** — build a mental map of the full codebase
35
36
  5. **Analyze for duplication** — compare patterns across files, identify extraction candidates
36
- 6. **Write findings** to `docs/workflow/implementation/{topic}/analysis-duplication.md`
37
+ 6. **Write findings** to `docs/workflow/implementation/{topic}/analysis-duplication-c{cycle-number}.md`
37
38
 
38
39
  ## Hard Rules
39
40
 
@@ -47,7 +48,7 @@ You receive via the orchestrator's prompt:
47
48
 
48
49
  ## Output File Format
49
50
 
50
- Write to `docs/workflow/implementation/{topic}/analysis-duplication.md`:
51
+ Write to `docs/workflow/implementation/{topic}/analysis-duplication-c{cycle-number}.md`:
51
52
 
52
53
  ```
53
54
  AGENT: duplication
@@ -18,6 +18,7 @@ You receive via the orchestrator's prompt:
18
18
  3. **Project skill paths** — relevant `.claude/skills/` paths for framework conventions
19
19
  4. **code-quality.md path** — quality standards
20
20
  5. **Topic name** — the implementation topic
21
+ 6. **Cycle number** — which analysis cycle this is (used in output file naming)
21
22
 
22
23
  ## Your Focus
23
24
 
@@ -33,7 +34,7 @@ You receive via the orchestrator's prompt:
33
34
  3. **Read code-quality.md** — understand quality standards
34
35
  4. **Read all implementation files** — map each file back to its spec requirements
35
36
  5. **Compare implementation against spec** — check every decision point
36
- 6. **Write findings** to `docs/workflow/implementation/{topic}/analysis-standards.md`
37
+ 6. **Write findings** to `docs/workflow/implementation/{topic}/analysis-standards-c{cycle-number}.md`
37
38
 
38
39
  ## Hard Rules
39
40
 
@@ -47,7 +48,7 @@ You receive via the orchestrator's prompt:
47
48
 
48
49
  ## Output File Format
49
50
 
50
- Write to `docs/workflow/implementation/{topic}/analysis-standards.md`:
51
+ Write to `docs/workflow/implementation/{topic}/analysis-standards-c{cycle-number}.md`:
51
52
 
52
53
  ```
53
54
  AGENT: standards
@@ -20,13 +20,13 @@ You receive via the orchestrator's prompt:
20
20
 
21
21
  ## Your Process
22
22
 
23
- 1. **Read all findings files** from `docs/workflow/implementation/{topic}/` — look for `analysis-duplication.md`, `analysis-standards.md`, and `analysis-architecture.md`
23
+ 1. **Read all findings files** from `docs/workflow/implementation/{topic}/` — look for `analysis-duplication-c{cycle-number}.md`, `analysis-standards-c{cycle-number}.md`, and `analysis-architecture-c{cycle-number}.md`
24
24
  2. **Deduplicate** — same issue found by multiple agents → one finding, note all sources
25
25
  3. **Group related findings** — multiple findings about the same pattern become one task (e.g., 3 duplication findings about the same helper pattern = 1 "extract helper" task)
26
26
  4. **Filter** — discard low-severity findings unless they cluster into a pattern. Never discard high-severity.
27
27
  5. **Normalize** — convert each group into a task using the canonical task template (Problem / Solution / Outcome / Do / Acceptance Criteria / Tests)
28
- 6. **Write report** — output to `docs/workflow/implementation/{topic}/analysis-report.md`
29
- 7. **Write staging file** — if actionable tasks exist, write to `docs/workflow/implementation/{topic}/analysis-tasks.md` with `status: pending` for each task
28
+ 6. **Write report** — output to `docs/workflow/implementation/{topic}/analysis-report-c{cycle-number}.md`
29
+ 7. **Write staging file** — if actionable tasks exist, write to `docs/workflow/implementation/{topic}/analysis-tasks-c{cycle-number}.md` with `status: pending` for each task
30
30
 
31
31
  ## Report Format
32
32
 
@@ -26,6 +26,31 @@ You receive via the orchestrator's prompt:
26
26
  3. **Calculate next phase number** — max existing phase + 1
27
27
  4. **Read the authoring adapter** — understand how to create tasks in this format
28
28
  5. **Create tasks in the plan** — follow the authoring adapter's instructions for each approved task, using the topic name to scope tasks to this plan (e.g., directory paths, task ID prefixes, project association)
29
+ 6. **Update the Plan Index File** — append the new phase and task table to the Plan Index File body (see below)
30
+
31
+ ## Update the Plan Index File
32
+
33
+ The Plan Index File (`docs/workflow/planning/{topic}.md`) is the single source of truth for planning progress. After creating task files, you **must** append the new phase and task table to its body.
34
+
35
+ Append at the end of the Plan Index File body:
36
+
37
+ ```markdown
38
+ ### Phase {N}: Analysis ({cycle description})
39
+ status: approved
40
+
41
+ **Goal**: Address findings from implementation analysis cycle {N}.
42
+
43
+ #### Tasks
44
+ | ID | Name | Edge Cases | Status |
45
+ |----|------|------------|--------|
46
+ | {topic}-{phase}-1 | {Task Title} | — | authored |
47
+ | {topic}-{phase}-2 | {Task Title} | — | authored |
48
+ ```
49
+
50
+ - Use `status: approved` for the phase (it's pre-approved by the user in the approval gate)
51
+ - Use `authored` for each task status (the task files are fully written)
52
+ - Use `—` for edge cases (analysis tasks don't have separate edge case annotations)
53
+ - Task IDs must match the IDs used in the created task files
29
54
 
30
55
  ## Hard Rules
31
56
 
@@ -33,7 +58,7 @@ You receive via the orchestrator's prompt:
33
58
 
34
59
  1. **Approved only** — only create tasks with `status: approved`. Never create tasks that are `pending` or `skipped`.
35
60
  2. **No content modifications** — create tasks exactly as they appear in the staging file. Do not rewrite, reorder, or embellish.
36
- 3. **No git writes** — do not commit or stage. Writing plan task files/entries are your only writes.
61
+ 3. **No git writes** — do not commit or stage. Writing plan task files/entries and updating the Plan Index File are your only writes.
37
62
  4. **Authoring adapter is authoritative** — follow its instructions for task file structure, naming, and format.
38
63
 
39
64
  ## Your Output
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leeovery/claude-technical-workflows",
3
- "version": "2.1.14",
3
+ "version": "2.1.16",
4
4
  "description": "Technical workflow skills & commands for Claude Code",
5
5
  "license": "MIT",
6
6
  "author": "Lee Overy <me@leeovery.com>",
@@ -232,10 +232,10 @@ Discussions:
232
232
 
233
233
  How would you like to proceed?
234
234
 
235
+ - **`r`/`refresh`** — Force fresh research analysis
235
236
  - From research — pick a topic number above (e.g., "1" or "research 1")
236
237
  - Continue discussion — name one above (e.g., "continue {topic}")
237
238
  - Fresh topic — describe what you want to discuss
238
- - **`r`/`refresh`** — Force fresh research analysis
239
239
  ```
240
240
 
241
241
  **If ONLY research exists:**
@@ -244,9 +244,9 @@ How would you like to proceed?
244
244
 
245
245
  How would you like to proceed?
246
246
 
247
+ - **`r`/`refresh`** — Force fresh research analysis
247
248
  - From research — pick a topic number above (e.g., "1" or "research 1")
248
249
  - Fresh topic — describe what you want to discuss
249
- - **`r`/`refresh`** — Force fresh research analysis
250
250
  ```
251
251
 
252
252
  **If ONLY discussions exist:**
@@ -262,10 +262,9 @@ INCOMPLETE (planned but not implemented):
262
262
 
263
263
  · · ·
264
264
 
265
- OPTIONS:
266
- 1. Implement the blocking dependencies first
267
- 2. Mark a dependency as "satisfied externally" if it was implemented outside this workflow
268
- 3. Run /link-dependencies to wire up any recently completed plans
265
+ - **`i`/`implement`** — Implement the blocking dependencies first
266
+ - **`l`/`link`** Run /link-dependencies to wire up recently completed plans
267
+ - Mark as "satisfied externally" tell me which dependency was implemented outside this workflow
269
268
  ```
270
269
 
271
270
  **STOP.** Wait for user response.
@@ -230,9 +230,12 @@ If any are relevant:
230
230
  Note: The following cross-cutting specifications are still in-progress:
231
231
  · {rate-limiting} - in-progress
232
232
 
233
- These may contain architectural decisions relevant to this plan. You can:
234
- - Continue planning without them
235
- - Stop and complete them first (/start-specification)
233
+ These may contain architectural decisions relevant to this plan.
234
+
235
+ · · ·
236
+
237
+ - **`c`/`continue`** — Plan without them
238
+ - **`s`/`stop`** — Complete them first (/start-specification)
236
239
  ```
237
240
 
238
241
  **STOP.** Wait for user response.
@@ -142,11 +142,9 @@ Ask the user what code to review:
142
142
 
143
143
  What code should I review?
144
144
 
145
- 1. All changes since the plan was created
146
- 2. Specific directories or files
147
- 3. Let me identify from git status
148
-
149
- Which approach?
145
+ - **`a`/`all`** — All changes since the plan was created
146
+ - **`g`/`git`** Identify from git status
147
+ - Specific directories or files tell me which
150
148
  ```
151
149
 
152
150
  **STOP.** Wait for user response.
@@ -214,9 +214,9 @@ Check `cache.status` from discovery to determine which options to present.
214
214
 
215
215
  What would you like to do?
216
216
 
217
- - Continue an existing specification resume work on a spec in progress
218
- - Select from groupings choose from previously analyzed groupings ({cache.generated})
219
- - Re-analyze groupings fresh analysis of discussion relationships
217
+ - **`c`/`continue`**Resume work on a spec in progress
218
+ - **`s`/`select`**Choose from previously analyzed groupings ({cache.generated})
219
+ - **`r`/`refresh`**Fresh analysis of discussion relationships
220
220
  ```
221
221
 
222
222
  **STOP.** Wait for user response.
@@ -230,8 +230,8 @@ What would you like to do?
230
230
 
231
231
  Note: A previous grouping analysis exists but is now outdated - discussion documents have changed since it was created. Re-analysis is required, but existing specification names will be preserved where groupings overlap.
232
232
 
233
- - Continue an existing specification resume work on a spec in progress
234
- - Assess for groupings re-analyze discussions for combinations
233
+ - **`c`/`continue`**Resume work on a spec in progress
234
+ - **`a`/`assess`**Re-analyze discussions for combinations
235
235
  ```
236
236
 
237
237
  **STOP.** Wait for user response.
@@ -243,13 +243,13 @@ Note: A previous grouping analysis exists but is now outdated - discussion docum
243
243
 
244
244
  What would you like to do?
245
245
 
246
- - Continue an existing specification resume work on a spec in progress
247
- - Assess for groupings analyze discussions for combinations
246
+ - **`c`/`continue`**Resume work on a spec in progress
247
+ - **`a`/`assess`**Analyze discussions for combinations
248
248
  ```
249
249
 
250
250
  **STOP.** Wait for user response.
251
251
 
252
- #### If "Continue an existing specification"
252
+ #### If "continue"
253
253
 
254
254
  ```
255
255
  Which specification would you like to continue?
@@ -260,13 +260,13 @@ Which specification would you like to continue?
260
260
 
261
261
  **STOP.** Wait for user to pick, then skip to **Step 9**.
262
262
 
263
- #### If "Select from groupings" (valid cache path)
263
+ #### If "select" (valid cache path)
264
264
 
265
265
  Load groupings from cache and → Skip directly to **Step 7: Present Grouping Options**.
266
266
 
267
267
  (Context was already gathered when the analysis was created - no need to ask again.)
268
268
 
269
- #### If "Re-analyze groupings"
269
+ #### If "refresh"
270
270
 
271
271
  Delete the existing cache to force regeneration:
272
272
  ```bash
@@ -275,7 +275,7 @@ rm docs/workflow/.cache/discussion-consolidation-analysis.md
275
275
 
276
276
  → Proceed to **Step 4: Gather Analysis Context**.
277
277
 
278
- #### If "Assess for groupings" (no valid cache path)
278
+ #### If "assess" (no valid cache path)
279
279
 
280
280
  → Proceed to **Step 4: Gather Analysis Context**.
281
281
 
@@ -478,11 +478,11 @@ Coupling: {explanation}
478
478
 
479
479
  How would you like to proceed?
480
480
 
481
- - Proceed as recommended I'll ask which to start with
482
- - Combine differently tell me your preferred groupings
483
- - Single specification consolidate ALL into one unified spec
484
- - Individual specifications — create 1:1 specs (I'll ask which to start)
481
+ - **`p`/`proceed`** As recommended (I'll ask which to start with)
482
+ - **`s`/`single`**Consolidate ALL into one unified spec
483
+ - **`i`/`individual`**Create 1:1 specs (I'll ask which to start)
485
484
  - **`r`/`refresh`** — Re-analyze discussions
485
+ - Combine differently — tell me your preferred groupings
486
486
  ```
487
487
 
488
488
  **Status Legend:**
@@ -502,7 +502,7 @@ How would you like to proceed?
502
502
 
503
503
  Based on user's choice from Step 7:
504
504
 
505
- #### If "Proceed as recommended"
505
+ #### If "proceed"
506
506
 
507
507
  ```
508
508
  Which would you like to start with?
@@ -521,7 +521,7 @@ List ALL items from the analysis: grouped specifications first, then independent
521
521
 
522
522
  **STOP.** Wait for user to pick a number, then proceed to **Step 9**.
523
523
 
524
- #### If "Combine differently"
524
+ #### If "combine differently"
525
525
 
526
526
  ```
527
527
  Please describe your preferred groupings. Which discussions should be combined together?
@@ -566,9 +566,8 @@ Moving discussions between established specifications requires deleting the affe
566
566
 
567
567
  · · ·
568
568
 
569
- Options:
570
- - Delete affected specs and proceed remove {spec-1}, {spec-2} and create fresh specs for your new groupings
571
- - Reconsider — adjust your groupings to affect fewer specs
569
+ - **`d`/`delete`** — Remove affected specs and create fresh ones for your new groupings
570
+ - **`r`/`reconsider`**Adjust your groupings to affect fewer specs
572
571
  ```
573
572
 
574
573
  **STOP.** Wait for user choice.
@@ -599,7 +598,7 @@ Which grouping would you like to start with?
599
598
 
600
599
  **STOP.** Wait for user to pick, then proceed to **Step 9**.
601
600
 
602
- #### If "Single specification"
601
+ #### If "single"
603
602
 
604
603
  Use "unified" as the specification name.
605
604
  Check if `docs/workflow/specification/unified.md` already exists.
@@ -618,7 +617,7 @@ Proceed with unified specification?
618
617
 
619
618
  **STOP.** Wait for user to confirm, then proceed to **Step 9** with all discussions as sources.
620
619
 
621
- #### If "Individual specifications"
620
+ #### If "individual"
622
621
 
623
622
  ```
624
623
  Which discussion would you like to specify?
@@ -49,7 +49,7 @@ Context refresh (compaction) summarizes the conversation, losing procedural deta
49
49
 
50
50
  1. **Re-read this skill file completely.** Do not rely on your summary of it. The full process, steps, and rules must be reloaded.
51
51
  2. **Check task progress in the plan** — use the plan adapter's instructions to read the plan's current state. Also read the implementation tracking file and any other working documents for additional context.
52
- 3. **Check `task_gate_mode`, `fix_gate_mode`, `fix_attempts`, and `analysis_cycle`** in the tracking file — if gates are `auto`, the user previously opted out. If `fix_attempts` > 0, you're mid-fix-loop for the current task. If `analysis_cycle` > 0, you've completed analysis cycles — check for findings files on disk (`analysis-*.md` in `{topic}/`) to determine mid-analysis state.
52
+ 3. **Check `task_gate_mode`, `fix_gate_mode`, `fix_attempts`, and `analysis_cycle`** in the tracking file — if gates are `auto`, the user previously opted out. If `fix_attempts` > 0, you're mid-fix-loop for the current task. If `analysis_cycle` > 0, you've completed analysis cycles — check for findings files on disk (`analysis-*-c{cycle-number}.md` in `{topic}/`) to determine mid-analysis state.
53
53
  4. **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.
54
54
  5. **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.
55
55
 
@@ -79,6 +79,12 @@ Load **[invoke-analysis.md](invoke-analysis.md)** and follow its instructions.
79
79
 
80
80
  **STOP.** Do not proceed until all agents have returned.
81
81
 
82
+ Commit the analysis findings:
83
+
84
+ ```
85
+ impl({topic}): analysis cycle {N} — findings
86
+ ```
87
+
82
88
  → Proceed to **D. Dispatch Synthesis Agent**.
83
89
 
84
90
  ---
@@ -89,6 +95,12 @@ Load **[invoke-synthesizer.md](invoke-synthesizer.md)** and follow its instructi
89
95
 
90
96
  **STOP.** Do not proceed until the synthesizer has returned.
91
97
 
98
+ Commit the synthesis output:
99
+
100
+ ```
101
+ impl({topic}): analysis cycle {N} — synthesis
102
+ ```
103
+
92
104
  → If `STATUS: clean`, return to the skill for **Step 8**.
93
105
 
94
106
  → If `STATUS: tasks_proposed`, proceed to **E. Approval Gate**.
@@ -97,7 +109,7 @@ Load **[invoke-synthesizer.md](invoke-synthesizer.md)** and follow its instructi
97
109
 
98
110
  ## E. Approval Gate
99
111
 
100
- Read the staging file from `docs/workflow/implementation/{topic}/analysis-tasks.md`.
112
+ Read the staging file from `docs/workflow/implementation/{topic}/analysis-tasks-c{cycle-number}.md`.
101
113
 
102
114
  Present an overview:
103
115
 
@@ -155,7 +167,15 @@ After all tasks processed:
155
167
 
156
168
  → If any tasks have `status: approved`, proceed to **F. Create Tasks in Plan**.
157
169
 
158
- → If all tasks were skipped, return to the skill for **Step 8**.
170
+ → If all tasks were skipped:
171
+
172
+ Commit the staging file updates:
173
+
174
+ ```
175
+ impl({topic}): analysis cycle {N} — tasks skipped
176
+ ```
177
+
178
+ Return to the skill for **Step 8**.
159
179
 
160
180
  ---
161
181
 
@@ -165,7 +185,7 @@ Load **[invoke-task-writer.md](invoke-task-writer.md)** and follow its instructi
165
185
 
166
186
  **STOP.** Do not proceed until the task writer has returned.
167
187
 
168
- Commit:
188
+ Commit all analysis and plan changes (staging file, plan tasks, Plan Index File):
169
189
 
170
190
  ```
171
191
  impl({topic}): add analysis phase {N} ({K} tasks)
@@ -29,6 +29,7 @@ Dispatch **all three in parallel** via the Task tool. Each agent receives the sa
29
29
  3. **Project skill paths** — from `project_skills` in the implementation tracking file
30
30
  4. **code-quality.md path** — `../code-quality.md`
31
31
  5. **Topic name** — the implementation topic
32
+ 6. **Cycle number** — the current analysis cycle number (from `analysis_cycle` in the tracking file)
32
33
 
33
34
  Each agent knows its own output path convention and writes findings independently.
34
35
 
@@ -15,7 +15,7 @@ This step invokes the task writer agent to create plan tasks from approved analy
15
15
  Pass via the orchestrator's prompt:
16
16
 
17
17
  1. **Topic name** — the implementation topic
18
- 2. **Staging file path** — `docs/workflow/implementation/{topic}/analysis-tasks.md`
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
20
  4. **Plan format reading adapter path** — `../../../technical-planning/references/output-formats/{format}/reading.md`
21
21
  5. **Plan format authoring adapter path** — `../../../technical-planning/references/output-formats/{format}/authoring.md`
@@ -91,7 +91,7 @@ When you notice convergence, **flag it and give the user options**:
91
91
  >
92
92
  > - **`p`/`park`** — Mark as discussion-ready and move to another topic
93
93
  > - **`k`/`keep`** — Keep digging, there's more to understand
94
- > - **Comment**Your call
94
+ > - Comment — your call
95
95
 
96
96
  **Never decide for the user.** Even if the answer seems obvious, flag it and ask.
97
97