@leeovery/claude-technical-workflows 2.1.3 → 2.1.5
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 +77 -75
- package/agents/implementation-polish.md +188 -0
- package/agents/implementation-task-executor.md +17 -6
- package/agents/implementation-task-reviewer.md +38 -3
- package/package.json +1 -1
- package/{commands/link-dependencies.md → skills/link-dependencies/SKILL.md} +3 -1
- package/{commands/migrate.md → skills/migrate/SKILL.md} +4 -3
- package/{commands/workflow/start-discussion.md → skills/start-discussion/SKILL.md} +6 -4
- package/{commands/start-feature.md → skills/start-feature/SKILL.md} +5 -3
- package/{commands/workflow/start-implementation.md → skills/start-implementation/SKILL.md} +6 -4
- package/{commands/workflow/start-planning.md → skills/start-planning/SKILL.md} +6 -4
- package/{commands/workflow/start-research.md → skills/start-research/SKILL.md} +6 -4
- package/{commands/workflow/start-review.md → skills/start-review/SKILL.md} +6 -4
- package/{commands/workflow/start-specification.md → skills/start-specification/SKILL.md} +6 -4
- package/{commands/workflow/status.md → skills/status/SKILL.md} +4 -2
- package/skills/technical-implementation/SKILL.md +83 -3
- package/skills/technical-implementation/references/code-quality.md +10 -0
- package/skills/technical-implementation/references/steps/invoke-executor.md +10 -4
- package/skills/technical-implementation/references/steps/invoke-polish.md +51 -0
- package/skills/technical-implementation/references/steps/invoke-reviewer.md +9 -2
- package/skills/technical-implementation/references/steps/task-loop.md +47 -13
- package/{commands/workflow/view-plan.md → skills/view-plan/SKILL.md} +3 -1
package/README.md
CHANGED
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
<a href="https://leeovery.github.io/claude-technical-workflows/"><strong>Open the Interactive Workflow Explorer</strong></a>
|
|
19
19
|
</p>
|
|
20
20
|
|
|
21
|
-
> **Workflow Explorer** — A visual, interactive guide to every phase
|
|
21
|
+
> **Workflow Explorer** — A visual, interactive guide to every phase and skill in this toolkit. Trace decision logic through flowcharts and understand the full pipeline at a glance. No install required — runs in your browser.
|
|
22
22
|
|
|
23
23
|
---
|
|
24
24
|
|
|
@@ -34,7 +34,7 @@ Research → Discussion → Specification → Planning → Implementation → Re
|
|
|
34
34
|
|
|
35
35
|
**Why this matters:** Complex features benefit from thorough discussion before implementation. This toolkit documents the *what* and *why* before diving into the *how*, preserving architectural decisions, edge cases, and the reasoning behind choices that would otherwise be lost.
|
|
36
36
|
|
|
37
|
-
**Flexible entry points:** Need the full workflow? Start at Research or Discussion and progress through each phase. Already know what you're building? Jump straight to Specification with `/start-feature`.
|
|
37
|
+
**Flexible entry points:** Need the full workflow? Start at Research or Discussion and progress through each phase. Already know what you're building? Jump straight to Specification with `/start-feature`. Entry-point skills gather context and feed it to processing skills.
|
|
38
38
|
|
|
39
39
|
> [!NOTE]
|
|
40
40
|
> **Work in progress.** The workflow is being refined through real-world usage. Expect updates as patterns evolve.
|
|
@@ -69,47 +69,47 @@ Research → Discussion → Specification → Planning → Implementation → Re
|
|
|
69
69
|
|
|
70
70
|
Start with `/start-research` or `/start-discussion` and follow the flow. Each phase outputs files that the next phase consumes.
|
|
71
71
|
|
|
72
|
-
**2. Standalone
|
|
72
|
+
**2. Standalone Skills** - Jump directly to a processing skill with flexible inputs:
|
|
73
73
|
|
|
74
|
-
|
|
|
75
|
-
|
|
74
|
+
| Skill | What it does |
|
|
75
|
+
|-------|-------------|
|
|
76
76
|
| `/start-feature` | Create a spec directly from inline context (skip research/discussion) |
|
|
77
77
|
|
|
78
|
-
*More standalone
|
|
78
|
+
*More standalone skills coming soon.*
|
|
79
79
|
|
|
80
|
-
### The
|
|
80
|
+
### The Two-Tier Skill Architecture
|
|
81
81
|
|
|
82
|
-
**
|
|
82
|
+
**Processing skills** (`technical-*`) are input-agnostic. They don't know or care where their inputs came from: a discussion document, inline context, or external sources. They just process what they receive.
|
|
83
83
|
|
|
84
|
-
**
|
|
84
|
+
**Entry-point skills** (`/start-*`, `/status`, etc.) are the input layer. They gather context (from files, prompts, or inline) and pass it to processing skills. This separation means:
|
|
85
85
|
|
|
86
|
-
- The same skill can be invoked from different entry points
|
|
87
|
-
- You can create custom
|
|
88
|
-
-
|
|
86
|
+
- The same processing skill can be invoked from different entry points
|
|
87
|
+
- You can create custom entry-point skills that feed processing skills in new ways
|
|
88
|
+
- Processing skills remain reusable without coupling to specific workflows
|
|
89
89
|
|
|
90
90
|
```
|
|
91
91
|
┌─────────────────────────────────────────────────────────────┐
|
|
92
|
-
│
|
|
93
|
-
│ (gather inputs from files, prompts, inline context)
|
|
92
|
+
│ ENTRY-POINT SKILLS │
|
|
93
|
+
│ (gather inputs from files, prompts, inline context) │
|
|
94
94
|
├─────────────────────────────────────────────────────────────┤
|
|
95
|
-
│ /start-specification /start-feature (your custom)
|
|
96
|
-
│ │ │ │
|
|
97
|
-
│ └───────────┬───────────┘ │
|
|
98
|
-
│ ▼ ▼
|
|
95
|
+
│ /start-specification /start-feature (your custom) │
|
|
96
|
+
│ │ │ │ │
|
|
97
|
+
│ └───────────┬───────────┘ │ │
|
|
98
|
+
│ ▼ ▼ │
|
|
99
99
|
├─────────────────────────────────────────────────────────────┤
|
|
100
|
-
│
|
|
101
|
-
│ (process inputs without knowing their source)
|
|
100
|
+
│ PROCESSING SKILLS │
|
|
101
|
+
│ (process inputs without knowing their source) │
|
|
102
102
|
├─────────────────────────────────────────────────────────────┤
|
|
103
|
-
│ technical-specification skill
|
|
104
|
-
│ technical-planning skill
|
|
105
|
-
│ technical-implementation skill
|
|
106
|
-
│ etc.
|
|
103
|
+
│ technical-specification skill │
|
|
104
|
+
│ technical-planning skill │
|
|
105
|
+
│ technical-implementation skill │
|
|
106
|
+
│ etc. │
|
|
107
107
|
└─────────────────────────────────────────────────────────────┘
|
|
108
108
|
```
|
|
109
109
|
|
|
110
|
-
### Workflow
|
|
110
|
+
### Workflow Skills
|
|
111
111
|
|
|
112
|
-
| Phase |
|
|
112
|
+
| Phase | Skill |
|
|
113
113
|
|----------------|-------------------------|
|
|
114
114
|
| Research | `/start-research` |
|
|
115
115
|
| Discussion | `/start-discussion` |
|
|
@@ -118,7 +118,7 @@ Start with `/start-research` or `/start-discussion` and follow the flow. Each ph
|
|
|
118
118
|
| Implementation | `/start-implementation` |
|
|
119
119
|
| Review | `/start-review` |
|
|
120
120
|
|
|
121
|
-
Run the
|
|
121
|
+
Run the skill directly or ask Claude to run it. Each gathers context from previous phase outputs and passes it to the processing skill.
|
|
122
122
|
|
|
123
123
|
## Installation
|
|
124
124
|
|
|
@@ -234,27 +234,27 @@ Research starts with `exploration.md` and splits into topic files as themes emer
|
|
|
234
234
|
### Package Structure
|
|
235
235
|
|
|
236
236
|
```
|
|
237
|
-
skills/
|
|
237
|
+
skills/
|
|
238
|
+
├── # Processing skills (model-invocable)
|
|
238
239
|
├── technical-research/ # Explore and validate ideas
|
|
239
240
|
├── technical-discussion/ # Document discussions
|
|
240
241
|
├── technical-specification/ # Build validated specifications
|
|
241
242
|
├── technical-planning/ # Create implementation plans
|
|
242
243
|
├── technical-implementation/ # Execute via TDD
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
├── migrate
|
|
247
|
-
├── start-feature
|
|
248
|
-
├── link-dependencies
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
└── view-plan.md # View plan tasks
|
|
244
|
+
├── technical-review/ # Validate against artefacts
|
|
245
|
+
│
|
|
246
|
+
├── # Entry-point skills (user-invocable)
|
|
247
|
+
├── migrate/ # Keep workflow files in sync with system design
|
|
248
|
+
├── start-feature/ # Standalone: spec from inline context
|
|
249
|
+
├── link-dependencies/ # Standalone: wire cross-topic deps
|
|
250
|
+
├── start-research/ # Begin research
|
|
251
|
+
├── start-discussion/ # Begin discussions
|
|
252
|
+
├── start-specification/ # Begin specification
|
|
253
|
+
├── start-planning/ # Begin planning
|
|
254
|
+
├── start-implementation/ # Begin implementation
|
|
255
|
+
├── start-review/ # Begin review
|
|
256
|
+
├── status/ # Show workflow status
|
|
257
|
+
└── view-plan/ # View plan tasks
|
|
258
258
|
|
|
259
259
|
agents/
|
|
260
260
|
├── review-task-verifier.md # Verifies single task implementation for review
|
|
@@ -265,11 +265,11 @@ agents/
|
|
|
265
265
|
├── planning-task-author.md # Write full task detail
|
|
266
266
|
└── planning-dependency-grapher.md # Analyze task dependencies and priorities
|
|
267
267
|
|
|
268
|
-
scripts/ # Helper scripts for
|
|
268
|
+
scripts/ # Helper scripts for skills
|
|
269
269
|
├── migrate.sh # Migration orchestrator
|
|
270
|
-
├── discovery-for-discussion.sh # Discovery for discussion
|
|
271
|
-
├── discovery-for-specification.sh # Discovery for specification
|
|
272
|
-
├── discovery-for-planning.sh # Discovery for planning
|
|
270
|
+
├── discovery-for-discussion.sh # Discovery for discussion skill
|
|
271
|
+
├── discovery-for-specification.sh # Discovery for specification skill
|
|
272
|
+
├── discovery-for-planning.sh # Discovery for planning skill
|
|
273
273
|
├── discovery-for-implementation-and-review.sh # Discovery for impl/review
|
|
274
274
|
└── migrations/ # Individual migration scripts (numbered)
|
|
275
275
|
|
|
@@ -279,7 +279,9 @@ tests/
|
|
|
279
279
|
|
|
280
280
|
## Skills
|
|
281
281
|
|
|
282
|
-
|
|
282
|
+
### Processing Skills
|
|
283
|
+
|
|
284
|
+
Processing skills are **input-agnostic**: they receive inputs and process them without knowing where the inputs came from. This makes them reusable across different entry points and workflows.
|
|
283
285
|
|
|
284
286
|
| Skill | Description |
|
|
285
287
|
|------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|
@@ -290,48 +292,48 @@ Skills are **input-agnostic processors**: they receive inputs and process them w
|
|
|
290
292
|
| [**technical-implementation**](skills/technical-implementation/) | Execute implementation plans using strict TDD workflow. Writes tests first, implements to pass, commits frequently, and gates phases on user approval. |
|
|
291
293
|
| [**technical-review**](skills/technical-review/) | Review completed implementation against specification requirements and plan acceptance criteria. Uses parallel subagents for efficient chain verification. Produces structured feedback without fixing code. |
|
|
292
294
|
|
|
293
|
-
|
|
295
|
+
### Entry-Point Skills
|
|
294
296
|
|
|
295
|
-
|
|
297
|
+
Entry-point skills are the input layer: they gather context and pass it to processing skills.
|
|
296
298
|
|
|
297
|
-
|
|
299
|
+
#### Workflow Skills
|
|
298
300
|
|
|
299
|
-
Sequential
|
|
301
|
+
Sequential skills that expect files from previous phases and pass content to processing skills.
|
|
300
302
|
|
|
301
|
-
|
|
|
302
|
-
|
|
303
|
-
| [**/start-research**](
|
|
304
|
-
| [**/start-discussion**](
|
|
305
|
-
| [**/start-specification**](
|
|
306
|
-
| [**/start-planning**](
|
|
307
|
-
| [**/start-implementation**](
|
|
308
|
-
| [**/start-review**](
|
|
303
|
+
| Skill | Description |
|
|
304
|
+
|------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|
305
|
+
| [**/start-research**](skills/start-research/) | Begin research exploration. For early-stage ideas, feasibility checks, and broad exploration before formal discussion. |
|
|
306
|
+
| [**/start-discussion**](skills/start-discussion/) | Begin a new technical discussion. Gathers topic, context, background information, and relevant codebase areas before starting documentation. |
|
|
307
|
+
| [**/start-specification**](skills/start-specification/) | Start a specification session from existing discussion(s). Automatically analyses multiple discussions for natural groupings and consolidates them into unified specifications. |
|
|
308
|
+
| [**/start-planning**](skills/start-planning/) | Start a planning session from an existing specification. Creates implementation plans with phases, tasks, and acceptance criteria. Supports multiple output formats (local markdown, Linear). |
|
|
309
|
+
| [**/start-implementation**](skills/start-implementation/) | Start implementing a plan. Executes tasks via strict TDD, committing after each passing test. |
|
|
310
|
+
| [**/start-review**](skills/start-review/) | Start reviewing completed work. Validates implementation against plan tasks and acceptance criteria. |
|
|
309
311
|
|
|
310
|
-
|
|
312
|
+
#### Utility Skills
|
|
311
313
|
|
|
312
314
|
Helpers for navigating and maintaining the workflow.
|
|
313
315
|
|
|
314
|
-
|
|
|
315
|
-
|
|
316
|
-
| [**/migrate**](
|
|
317
|
-
| [**/status**](
|
|
318
|
-
| [**/view-plan**](
|
|
316
|
+
| Skill | Description |
|
|
317
|
+
|------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------|
|
|
318
|
+
| [**/migrate**](skills/migrate/) | Keep workflow files in sync with the current system design. Runs automatically at the start of every workflow skill. |
|
|
319
|
+
| [**/status**](skills/status/) | Show workflow status - what topics exist at each phase, and suggested next steps. |
|
|
320
|
+
| [**/view-plan**](skills/view-plan/) | View a plan's tasks and progress, regardless of output format. |
|
|
319
321
|
|
|
320
|
-
|
|
322
|
+
#### Standalone Skills
|
|
321
323
|
|
|
322
|
-
Independent
|
|
324
|
+
Independent skills that gather inputs flexibly (inline context, files, or prompts) and invoke processing skills directly. Use these when you want capabilities without the full workflow structure.
|
|
323
325
|
|
|
324
|
-
|
|
|
326
|
+
| Skill | Description |
|
|
325
327
|
|---------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------|
|
|
326
|
-
| [**/start-feature**](
|
|
327
|
-
| [**/link-dependencies**](
|
|
328
|
+
| [**/start-feature**](skills/start-feature/) | Create a specification directly from inline context. Invokes the specification skill without requiring a discussion document. |
|
|
329
|
+
| [**/link-dependencies**](skills/link-dependencies/) | Link external dependencies across topics. Scans plans and wires up unresolved cross-topic dependencies. |
|
|
328
330
|
|
|
329
|
-
### Creating Custom
|
|
331
|
+
### Creating Custom Skills
|
|
330
332
|
|
|
331
|
-
Since skills are input-agnostic, you can create your own
|
|
333
|
+
Since processing skills are input-agnostic, you can create your own entry-point skills that feed them in new ways. An entry-point skill just needs to:
|
|
332
334
|
|
|
333
|
-
1. Gather the inputs the skill expects
|
|
334
|
-
2. Invoke the skill with those inputs
|
|
335
|
+
1. Gather the inputs the processing skill expects
|
|
336
|
+
2. Invoke the processing skill with those inputs
|
|
335
337
|
|
|
336
338
|
See `/start-feature` as an example: it provides inline context to the specification skill instead of a discussion document.
|
|
337
339
|
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: implementation-polish
|
|
3
|
+
description: Performs holistic quality analysis over a completed implementation, discovering cross-task issues through multi-pass analysis and orchestrating fixes via the executor and reviewer agents. Invoked by technical-implementation skill after all tasks complete.
|
|
4
|
+
tools: Read, Glob, Grep, Bash, Task
|
|
5
|
+
model: opus
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Implementation Polish
|
|
9
|
+
|
|
10
|
+
Act as a **senior developer** performing a holistic quality pass over a plan's implementation. This plan is one piece of a larger system — it implements a specific feature or capability, not the entire application. Other plans handle other features. Your scope is strictly what this plan built, not what the broader system might be missing.
|
|
11
|
+
|
|
12
|
+
You've inherited a codebase built by a team — each member did solid work on their piece, but nobody has reviewed the whole picture. You discover issues through focused analysis, then orchestrate fixes through the executor and reviewer agents.
|
|
13
|
+
|
|
14
|
+
## Your Input
|
|
15
|
+
|
|
16
|
+
You receive file paths and context via the orchestrator's prompt:
|
|
17
|
+
|
|
18
|
+
1. **code-quality.md path** — Quality standards (also passed to executor)
|
|
19
|
+
2. **tdd-workflow.md path** — TDD cycle rules (passed to executor)
|
|
20
|
+
3. **Specification path** — What was intended — design decisions and rationale
|
|
21
|
+
4. **Plan file path** — What was built — the full task landscape
|
|
22
|
+
5. **Plan format reading.md path** — How to read tasks from the plan (format-specific adapter)
|
|
23
|
+
6. **Integration context file path** — Accumulated decisions and patterns from every task
|
|
24
|
+
7. **Project skill paths** — Framework conventions
|
|
25
|
+
|
|
26
|
+
On **re-invocation after user feedback**, additionally include:
|
|
27
|
+
|
|
28
|
+
8. **User feedback** — the user's comments on what to change or focus on
|
|
29
|
+
|
|
30
|
+
## Hard Rules
|
|
31
|
+
|
|
32
|
+
**MANDATORY. No exceptions. Violating these rules invalidates the work.**
|
|
33
|
+
|
|
34
|
+
1. **No direct code changes** — dispatch the executor for all modifications. You are discovery and orchestration.
|
|
35
|
+
2. **No new features** — only improve what exists. Nothing that isn't in the plan.
|
|
36
|
+
3. **Plan scope only** — work within the plan's boundary. Do not flag missing features that belong to other plans (e.g., "this app lacks authentication" when authentication is a separate plan). Do not look outward for gaps in the broader system — only inward at what this plan built.
|
|
37
|
+
4. **No git writes** — do not commit, stage, or interact with git. Reading git history and diffs is fine. The orchestrator handles all git operations.
|
|
38
|
+
5. **Proportional** — prioritize high-impact changes. Don't spend effort on trivial style differences.
|
|
39
|
+
6. **Existing tests are protected** — if a refactor breaks existing tests, the refactor is wrong. Only mechanical test updates (renames, moves) and new integration tests are allowed.
|
|
40
|
+
7. **Minimum 2 cycles** — always complete at least 2 full discovery-fix cycles. A single pass is never sufficient.
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## Step 1: Absorb Context
|
|
45
|
+
|
|
46
|
+
Read and absorb the following. Do not write any code or dispatch any agents during this step.
|
|
47
|
+
|
|
48
|
+
1. **Read code-quality.md** — absorb quality standards
|
|
49
|
+
2. **Read specification** (if provided) — understand design intent
|
|
50
|
+
3. **Read project skills** — absorb framework conventions
|
|
51
|
+
4. **Read the plan format's reading.md** — understand how to retrieve tasks from the plan
|
|
52
|
+
5. **Read the plan** — follow the reading adapter's instructions to retrieve all completed tasks. Understand the full scope: phases, tasks, acceptance criteria, what was built
|
|
53
|
+
6. **Read the integration context file** — understand patterns, helpers, and conventions from all tasks
|
|
54
|
+
|
|
55
|
+
→ Proceed to **Step 2**.
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## Step 2: Identify Implementation Scope
|
|
60
|
+
|
|
61
|
+
Find all files changed during implementation. Use git history, the plan's task list, and the integration context to build a complete picture of what was touched. Read and understand the full implemented codebase.
|
|
62
|
+
|
|
63
|
+
Build a definitive list of implementation files. This list is passed to analysis sub-agents in subsequent steps.
|
|
64
|
+
|
|
65
|
+
→ Proceed to **Step 3**.
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## Step 3: Discovery-Fix Loop
|
|
70
|
+
|
|
71
|
+
Execute discovery-fix cycles. Minimum **2** cycles, maximum **5** cycles. Each cycle follows stages A through G sequentially. Always start at **A. Cycle Gate**.
|
|
72
|
+
|
|
73
|
+
### A. Cycle Gate
|
|
74
|
+
|
|
75
|
+
Increment the cycle count.
|
|
76
|
+
|
|
77
|
+
If cycle count > 5 → exit loop, proceed to **Step 4**.
|
|
78
|
+
|
|
79
|
+
If cycle count > 2 and the previous cycle's discovery found zero actionable issues → exit loop, proceed to **Step 4**.
|
|
80
|
+
|
|
81
|
+
Otherwise → proceed to **B. Dispatch Fixed Analysis Passes**.
|
|
82
|
+
|
|
83
|
+
### B. Dispatch Fixed Analysis Passes
|
|
84
|
+
|
|
85
|
+
Dispatch all three analysis sub-agents **in parallel** via Task tool. Each sub-agent receives:
|
|
86
|
+
- The list of implementation files (from Step 2)
|
|
87
|
+
- The specific analysis focus (below)
|
|
88
|
+
- Instruction to return findings as a structured list with file:line references
|
|
89
|
+
|
|
90
|
+
**Sub-agent 1 — Code Cleanup:**
|
|
91
|
+
Analyze all implementation files for: unused imports/variables/dead code, naming quality (abbreviation overuse, unclear names, inconsistent naming across files), formatting inconsistencies across the implementation. Compare naming conventions between files written by different tasks — flag drift.
|
|
92
|
+
|
|
93
|
+
**Sub-agent 2 — Structural Cohesion:**
|
|
94
|
+
Analyze all implementation files for: duplicated logic across task boundaries that should be extracted, class/module responsibilities (too much in one class, or unnecessarily fragmented across many), design patterns that are now obvious with the full picture but weren't visible to individual task executors, over-engineering (abstractions nobody uses) or under-engineering (raw code that should be extracted).
|
|
95
|
+
|
|
96
|
+
**Sub-agent 3 — Cross-Task Integration:**
|
|
97
|
+
Analyze all implementation files for: shared code paths where multiple tasks contributed behavior — verify the merged result is correct, workflow seams where one task's output feeds another's input — verify the handoff works, interface mismatches between producer and consumer (type mismatches, missing fields, wrong assumptions), gaps in integration test coverage for cross-task workflows.
|
|
98
|
+
|
|
99
|
+
**STOP.** Do not proceed until all three sub-agents have returned their findings.
|
|
100
|
+
|
|
101
|
+
→ Proceed to **C. Dispatch Dynamic Analysis Passes**.
|
|
102
|
+
|
|
103
|
+
### C. Dispatch Dynamic Analysis Passes
|
|
104
|
+
|
|
105
|
+
Review the findings from the fixed passes and the codebase. Based on what you find — language, framework, project conventions, areas flagged by fixed passes — determine whether additional targeted analysis is needed.
|
|
106
|
+
|
|
107
|
+
If no dynamic passes are needed → proceed to **D. Synthesize Findings**.
|
|
108
|
+
|
|
109
|
+
If dynamic passes are needed, dispatch sub-agents for deeper analysis. Examples: language-specific idiom checks, convention consistency across early and late tasks, deeper investigation into specific areas. Each dynamic sub-agent receives the relevant file subset and a focused analysis prompt, same as fixed passes.
|
|
110
|
+
|
|
111
|
+
**STOP.** Do not proceed until all dynamic sub-agents have returned their findings.
|
|
112
|
+
|
|
113
|
+
→ Proceed to **D. Synthesize Findings**.
|
|
114
|
+
|
|
115
|
+
### D. Synthesize Findings
|
|
116
|
+
|
|
117
|
+
Collect findings from all analysis passes (fixed and dynamic). Deduplicate, discard low-value nitpicks, and prioritize by impact.
|
|
118
|
+
|
|
119
|
+
If no actionable findings remain → proceed to **G. Cycle Complete** (no fix needed this cycle).
|
|
120
|
+
|
|
121
|
+
If actionable findings exist → proceed to **E. Invoke Executor**.
|
|
122
|
+
|
|
123
|
+
### E. Invoke Executor
|
|
124
|
+
|
|
125
|
+
Craft a task description covering the prioritized fixes. Include the following **test rules** in the task description — these constrain what test changes the executor may make during polish:
|
|
126
|
+
- Write NEW integration tests for cross-task workflows — yes
|
|
127
|
+
- Modify existing tests for mechanical changes (renames, moves) — yes
|
|
128
|
+
- Modify existing tests semantically (different behavior) — no. If a refactor breaks existing tests, the refactor is wrong. Revert it.
|
|
129
|
+
|
|
130
|
+
Invoke the `implementation-task-executor` agent (`.claude/agents/implementation-task-executor.md`) with:
|
|
131
|
+
- The crafted task description (including test rules) as task content
|
|
132
|
+
- tdd-workflow.md path
|
|
133
|
+
- code-quality.md path
|
|
134
|
+
- Specification path (if available)
|
|
135
|
+
- Project skill paths
|
|
136
|
+
- Plan file path
|
|
137
|
+
- Integration context file path
|
|
138
|
+
|
|
139
|
+
**STOP.** Do not proceed until the executor has returned its result.
|
|
140
|
+
|
|
141
|
+
On receipt of result, route on STATUS:
|
|
142
|
+
- `blocked` or `failed` → record in SKIPPED with the executor's ISSUES. Proceed to **G. Cycle Complete**.
|
|
143
|
+
- `complete` → proceed to **F. Invoke Reviewer**.
|
|
144
|
+
|
|
145
|
+
### F. Invoke Reviewer
|
|
146
|
+
|
|
147
|
+
Invoke the `implementation-task-reviewer` agent (`.claude/agents/implementation-task-reviewer.md`) to independently verify the executor's work. Include the test rules in the reviewer's prompt so it can flag violations. Pass:
|
|
148
|
+
- Specification path
|
|
149
|
+
- The same task description used for the executor (including test rules)
|
|
150
|
+
- Project skill paths
|
|
151
|
+
- Integration context file path
|
|
152
|
+
|
|
153
|
+
**STOP.** Do not proceed until the reviewer has returned its result.
|
|
154
|
+
|
|
155
|
+
On receipt of result, route on VERDICT:
|
|
156
|
+
- `approved` → proceed to **G. Cycle Complete**
|
|
157
|
+
- `needs-changes` → return to **E. Invoke Executor** with the reviewer's feedback. Maximum 3 fix attempts per cycle — if not converged after 3, record remaining issues in SKIPPED and proceed to **G. Cycle Complete**.
|
|
158
|
+
|
|
159
|
+
### G. Cycle Complete
|
|
160
|
+
|
|
161
|
+
Record what was discovered and fixed this cycle.
|
|
162
|
+
|
|
163
|
+
→ Return to **A. Cycle Gate**.
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
## Step 4: Return Report
|
|
168
|
+
|
|
169
|
+
Return a structured report:
|
|
170
|
+
|
|
171
|
+
```
|
|
172
|
+
STATUS: complete | blocked
|
|
173
|
+
SUMMARY: {overview — what was analyzed, key findings, what was fixed}
|
|
174
|
+
CYCLES: {number of discovery-fix cycles completed}
|
|
175
|
+
DISCOVERY:
|
|
176
|
+
- {findings from analysis passes, organized by category}
|
|
177
|
+
FIXES_APPLIED:
|
|
178
|
+
- {what was changed and why, with file:line references}
|
|
179
|
+
TESTS_ADDED:
|
|
180
|
+
- {integration tests written, what workflows they exercise}
|
|
181
|
+
SKIPPED:
|
|
182
|
+
- {issues found but not addressed — too risky, needs design decision, or low impact}
|
|
183
|
+
TEST_RESULTS: {all passing | failures — details}
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
- If STATUS is `blocked`, SUMMARY **must** explain what decision is needed.
|
|
187
|
+
- If STATUS is `complete`, all applied fixes must have passing tests.
|
|
188
|
+
- SKIPPED captures issues that were found but intentionally not addressed — too risky, needs a design decision, or low impact relative to effort.
|
|
@@ -18,10 +18,14 @@ You receive file paths and context via the orchestrator's prompt:
|
|
|
18
18
|
3. **Specification path** — For context when rationale is unclear
|
|
19
19
|
4. **Project skill paths** — Relevant `.claude/skills/` paths for framework conventions
|
|
20
20
|
5. **Task content** — Task ID, phase, and all instructional content: goal, implementation steps, acceptance criteria, tests, edge cases, context, notes. This is your scope.
|
|
21
|
+
6. **Plan file path** — The implementation plan, for understanding the overall task landscape and where this task fits
|
|
22
|
+
7. **Integration context file path** (if exists) — Accumulated notes from prior tasks about established patterns, conventions, and decisions
|
|
21
23
|
|
|
22
|
-
On **re-invocation after review feedback**, you
|
|
23
|
-
|
|
24
|
-
|
|
24
|
+
On **re-invocation after review feedback**, you receive all of the above, plus:
|
|
25
|
+
8. **User-approved review notes** — may be the reviewer's original notes, modified by user, or user's own notes
|
|
26
|
+
9. **Specific issues to address**
|
|
27
|
+
|
|
28
|
+
You are stateless — each invocation starts fresh. The full task content is always provided so you can see what was asked, what was done, and what needs fixing.
|
|
25
29
|
|
|
26
30
|
## Your Process
|
|
27
31
|
|
|
@@ -29,10 +33,14 @@ On **re-invocation after review feedback**, you also receive:
|
|
|
29
33
|
2. **Read code-quality.md** — absorb quality standards
|
|
30
34
|
3. **Read project skills** — absorb framework conventions, testing patterns, architecture patterns
|
|
31
35
|
4. **Read specification** (if provided) — understand broader context for this task
|
|
32
|
-
5. **Explore codebase** —
|
|
36
|
+
5. **Explore codebase** — you are weaving into an existing canvas, not creating isolated patches:
|
|
37
|
+
- If an integration context file was provided, read it first — identify helpers, patterns, and conventions you must reuse before writing anything new
|
|
38
|
+
- Skim the plan file to understand the task landscape — what's been built, what's coming, where your task fits. Use this for awareness, not to build ahead (YAGNI still applies)
|
|
33
39
|
- Read files and tests related to the task's domain
|
|
34
|
-
-
|
|
35
|
-
-
|
|
40
|
+
- Search for existing helpers, utilities, and abstractions that solve similar problems — reuse, don't duplicate
|
|
41
|
+
- When creating an interface or API boundary, read BOTH sides: the code that will consume it AND the code that will implement it
|
|
42
|
+
- Match conventions established in the codebase: error message style, naming patterns, file organisation, type placement
|
|
43
|
+
- Your code should read as if the same developer wrote the entire codebase
|
|
36
44
|
6. **Execute TDD cycle** — follow the process in tdd-workflow.md for each acceptance criterion and test case.
|
|
37
45
|
7. **Verify all acceptance criteria met** — every criterion from the task must be satisfied
|
|
38
46
|
8. **Return structured result**
|
|
@@ -73,7 +81,10 @@ FILES_CHANGED: {list of files created/modified}
|
|
|
73
81
|
TESTS_WRITTEN: {list of test files/methods}
|
|
74
82
|
TEST_RESULTS: {all passing | failures — details}
|
|
75
83
|
ISSUES: {any concerns, blockers, or deviations discovered}
|
|
84
|
+
INTEGRATION_NOTES:
|
|
85
|
+
- {3-5 concise bullet points: key patterns, helpers, conventions, interface decisions established by this task. Anchor to concrete file paths where applicable (e.g., "Created `ValidationHelper` in `src/helpers/validation.ts` — use for all input validation"), but high-level observations without a specific file reference are also valuable}
|
|
76
86
|
```
|
|
77
87
|
|
|
78
88
|
- If STATUS is `blocked` or `failed`, ISSUES **must** explain why and what decision is needed.
|
|
79
89
|
- If STATUS is `complete`, all acceptance criteria must be met and all tests passing.
|
|
90
|
+
- After completing the task, document what you created or established that future tasks should be aware of in INTEGRATION_NOTES. This is factual — what exists and why — not evaluative.
|
|
@@ -18,6 +18,7 @@ You receive via the orchestrator's prompt:
|
|
|
18
18
|
1. **Specification path** — The validated specification for design decision context
|
|
19
19
|
2. **Task content** — Same task content the executor received: task ID, phase, and all instructional content
|
|
20
20
|
3. **Project skill paths** — Relevant `.claude/skills/` paths for checking framework convention adherence
|
|
21
|
+
4. **Integration context file path** (if exists) — Accumulated notes from prior tasks, for evaluating cohesion with established patterns
|
|
21
22
|
|
|
22
23
|
## Your Process
|
|
23
24
|
|
|
@@ -25,7 +26,7 @@ You receive via the orchestrator's prompt:
|
|
|
25
26
|
2. **Check unstaged changes** — use `git diff` and `git status` to identify files changed by the executor
|
|
26
27
|
3. **Read all changed files** — implementation code and test code
|
|
27
28
|
4. **Read project skills** — understand framework conventions, testing patterns, architecture patterns
|
|
28
|
-
5. **Evaluate all
|
|
29
|
+
5. **Evaluate all six review dimensions** (see below)
|
|
29
30
|
|
|
30
31
|
## Review Dimensions
|
|
31
32
|
|
|
@@ -62,6 +63,31 @@ Is this a sound design decision? Will it compose well with future tasks?
|
|
|
62
63
|
- Will this cause problems for subsequent tasks in the phase?
|
|
63
64
|
- Are there structural concerns that should be raised now rather than compounding?
|
|
64
65
|
|
|
66
|
+
### 6. Codebase Cohesion
|
|
67
|
+
Does the new code integrate well with the existing codebase? If integration context exists from prior tasks, check against established patterns.
|
|
68
|
+
- Is there duplicated logic that should be extracted into a shared helper?
|
|
69
|
+
- Are existing helpers and patterns being reused where applicable?
|
|
70
|
+
- Are naming conventions consistent with existing code?
|
|
71
|
+
- Are error message conventions consistent (casing, wrapping style, prefixes)?
|
|
72
|
+
- Do interfaces use concrete types rather than generic/any types where possible?
|
|
73
|
+
- Are related types co-located with the interfaces or functions they serve?
|
|
74
|
+
|
|
75
|
+
## Fix Recommendations (needs-changes only)
|
|
76
|
+
|
|
77
|
+
When your verdict is `needs-changes`, you must also recommend how to fix each issue. You have full context — the spec, the task, the conventions, and the code — so use it.
|
|
78
|
+
|
|
79
|
+
For each issue, provide:
|
|
80
|
+
- **FIX**: The recommended approach to resolve the issue
|
|
81
|
+
- **ALTERNATIVE** (optional): If multiple valid approaches exist, state them with tradeoffs and indicate which you recommend
|
|
82
|
+
- **CONFIDENCE**: `high` | `medium` | `low`
|
|
83
|
+
- `high` — single obvious approach, no ambiguity
|
|
84
|
+
- `medium` — recommended approach is sound but alternatives exist
|
|
85
|
+
- `low` — genuinely uncertain, multiple approaches with significant tradeoffs
|
|
86
|
+
|
|
87
|
+
Be specific and actionable. "Fix the validation" is not useful. "Add a test case in `tests/UserTest.php` that asserts `ValidationException` is thrown when email is empty, following the existing test pattern at line 45" is useful.
|
|
88
|
+
|
|
89
|
+
When alternatives exist, explain the tradeoff briefly — don't just list options. State which you recommend and why.
|
|
90
|
+
|
|
65
91
|
## Hard Rules
|
|
66
92
|
|
|
67
93
|
**MANDATORY. No exceptions. Violating these rules invalidates the review.**
|
|
@@ -70,7 +96,7 @@ Is this a sound design decision? Will it compose well with future tasks?
|
|
|
70
96
|
2. **No git writes** — Do not commit or stage. Reading git history and diffs is fine. The orchestrator handles all git writes.
|
|
71
97
|
3. **One task only** — You review exactly one plan task per invocation.
|
|
72
98
|
4. **Independent judgement** — Evaluate the code yourself. Do not trust the executor's self-assessment.
|
|
73
|
-
5. **All
|
|
99
|
+
5. **All six dimensions** — Evaluate spec conformance, acceptance criteria, test adequacy, convention adherence, architectural quality, and codebase cohesion.
|
|
74
100
|
6. **Be specific** — Include file paths and line numbers for every issue. Vague findings are not actionable.
|
|
75
101
|
7. **Proportional** — Prioritize by impact. Don't nitpick style when the architecture is wrong.
|
|
76
102
|
8. **Task scope only** — Only review what's in the task. Don't flag issues outside the task's scope.
|
|
@@ -87,11 +113,20 @@ ACCEPTANCE_CRITERIA: {all met | gaps — list}
|
|
|
87
113
|
TEST_COVERAGE: {adequate | gaps — list}
|
|
88
114
|
CONVENTIONS: {followed | violations — list}
|
|
89
115
|
ARCHITECTURE: {sound | concerns — details}
|
|
116
|
+
CODEBASE_COHESION: {cohesive | concerns — details}
|
|
90
117
|
ISSUES:
|
|
91
118
|
- {specific issue with file:line reference}
|
|
119
|
+
FIX: {recommended approach}
|
|
120
|
+
ALTERNATIVE: {other valid approach with tradeoff — optional, only when multiple valid approaches exist}
|
|
121
|
+
CONFIDENCE: {high | medium | low}
|
|
92
122
|
NOTES:
|
|
93
123
|
- {non-blocking observations}
|
|
124
|
+
COHESION_NOTES:
|
|
125
|
+
- {2-4 concise bullet points: patterns to maintain, conventions confirmed, architectural integration observations}
|
|
94
126
|
```
|
|
95
127
|
|
|
96
|
-
- If VERDICT is `
|
|
128
|
+
- If VERDICT is `approved`, omit ISSUES entirely (or leave empty)
|
|
129
|
+
- If VERDICT is `needs-changes`, ISSUES must contain specific, actionable items with file:line references AND fix recommendations
|
|
130
|
+
- Each issue must include FIX and CONFIDENCE. ALTERNATIVE is optional — include only when genuinely multiple valid approaches exist
|
|
97
131
|
- NOTES are for non-blocking observations — things worth noting but not requiring changes
|
|
132
|
+
- COHESION_NOTES are always included — they capture patterns and conventions observed for future task context
|
package/package.json
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
name: link-dependencies
|
|
3
|
+
description: "Scan all plans and wire up cross-topic dependencies. Finds unresolved external dependencies, matches them to tasks in other plans, and updates both the plan index and output format."
|
|
4
|
+
disable-model-invocation: true
|
|
3
5
|
---
|
|
4
6
|
|
|
5
7
|
Link cross-topic dependencies across all existing plans.
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
name: migrate
|
|
3
|
+
description: "Run migrations to keep workflow files in sync with the current system design. This skill is mandatory before running any workflow skill."
|
|
3
4
|
allowed-tools: Bash(.claude/scripts/migrate.sh)
|
|
4
5
|
---
|
|
5
6
|
|
|
@@ -25,7 +26,7 @@ The script will list which files were updated. Present this to the user:
|
|
|
25
26
|
Review changes with `git diff`, then proceed when ready.
|
|
26
27
|
```
|
|
27
28
|
|
|
28
|
-
Wait for user acknowledgment before returning control to the calling
|
|
29
|
+
Wait for user acknowledgment before returning control to the calling skill.
|
|
29
30
|
|
|
30
31
|
### If no updates needed
|
|
31
32
|
|
|
@@ -37,7 +38,7 @@ Return control silently - no user interaction needed.
|
|
|
37
38
|
|
|
38
39
|
## Notes
|
|
39
40
|
|
|
40
|
-
- This
|
|
41
|
+
- This skill is run automatically at the start of every workflow skill
|
|
41
42
|
- Migrations are tracked in `docs/workflow/.cache/migrations.log`
|
|
42
43
|
- To force re-running all migrations, delete the tracking file
|
|
43
44
|
- Each migration is idempotent - safe to run multiple times
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
name: start-discussion
|
|
3
|
+
description: "Start a technical discussion. Discovers research and existing discussions, offers multiple entry paths, and invokes the technical-discussion skill."
|
|
4
|
+
disable-model-invocation: true
|
|
3
5
|
allowed-tools: Bash(.claude/scripts/discovery-for-discussion.sh), Bash(mkdir -p docs/workflow/.cache), Bash(rm docs/workflow/.cache/research-analysis.md)
|
|
4
6
|
---
|
|
5
7
|
|
|
@@ -40,7 +42,7 @@ Follow these steps EXACTLY as written. Do not skip steps or combine them. Presen
|
|
|
40
42
|
|
|
41
43
|
**This step is mandatory. You must complete it before proceeding.**
|
|
42
44
|
|
|
43
|
-
Invoke the `/migrate`
|
|
45
|
+
Invoke the `/migrate` skill and assess its output.
|
|
44
46
|
|
|
45
47
|
**If files were updated**: STOP and wait for the user to review the changes (e.g., via `git diff`) and confirm before proceeding to Step 1. Do not continue automatically.
|
|
46
48
|
|
|
@@ -354,9 +356,9 @@ What would you like to focus on in this session?
|
|
|
354
356
|
|
|
355
357
|
## Step 7: Invoke the Skill
|
|
356
358
|
|
|
357
|
-
After completing the steps above, this
|
|
359
|
+
After completing the steps above, this skill's purpose is fulfilled.
|
|
358
360
|
|
|
359
|
-
Invoke the [technical-discussion](
|
|
361
|
+
Invoke the [technical-discussion](../technical-discussion/SKILL.md) skill for your next instructions. Do not act on the gathered information until the skill is loaded - it contains the instructions for how to proceed.
|
|
360
362
|
|
|
361
363
|
**Example handoff (from research):**
|
|
362
364
|
```
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
name: start-feature
|
|
3
|
+
description: "Start a feature specification directly, skipping formal discussion documentation. For adding features to existing projects where you already know what you're building."
|
|
4
|
+
disable-model-invocation: true
|
|
3
5
|
---
|
|
4
6
|
|
|
5
7
|
Invoke the **technical-specification** skill for this conversation with inline feature context.
|
|
@@ -8,7 +10,7 @@ Invoke the **technical-specification** skill for this conversation with inline f
|
|
|
8
10
|
|
|
9
11
|
Follow these steps EXACTLY as written. Do not skip steps or combine them.
|
|
10
12
|
|
|
11
|
-
This
|
|
13
|
+
This skill is for **feature mode** - a streamlined path to specification when you already know what you're building and don't need formal discussion documentation.
|
|
12
14
|
|
|
13
15
|
## Step 1: Gather Feature Context
|
|
14
16
|
|
|
@@ -55,7 +57,7 @@ If a specification with the same name exists, inform the user and ask how to pro
|
|
|
55
57
|
|
|
56
58
|
## Step 4: Invoke Specification Skill
|
|
57
59
|
|
|
58
|
-
Pass the gathered context to the technical-specification skill:
|
|
60
|
+
Pass the gathered context to the [technical-specification](../technical-specification/SKILL.md) skill:
|
|
59
61
|
|
|
60
62
|
```
|
|
61
63
|
Feature specification for: {topic}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
name: start-implementation
|
|
3
|
+
description: "Start an implementation session from an existing plan. Discovers available plans, checks environment setup, and invokes the technical-implementation skill."
|
|
4
|
+
disable-model-invocation: true
|
|
3
5
|
allowed-tools: Bash(.claude/scripts/discovery-for-implementation-and-review.sh)
|
|
4
6
|
---
|
|
5
7
|
|
|
@@ -40,7 +42,7 @@ Follow these steps EXACTLY as written. Do not skip steps or combine them. Presen
|
|
|
40
42
|
|
|
41
43
|
**This step is mandatory. You must complete it before proceeding.**
|
|
42
44
|
|
|
43
|
-
Invoke the `/migrate`
|
|
45
|
+
Invoke the `/migrate` skill and assess its output.
|
|
44
46
|
|
|
45
47
|
**If files were updated**: STOP and wait for the user to review the changes (e.g., via `git diff`) and confirm before proceeding to Step 1. Do not continue automatically.
|
|
46
48
|
|
|
@@ -314,9 +316,9 @@ Are there any environment setup instructions I should follow before implementati
|
|
|
314
316
|
|
|
315
317
|
## Step 6: Invoke the Skill
|
|
316
318
|
|
|
317
|
-
After completing the steps above, this
|
|
319
|
+
After completing the steps above, this skill's purpose is fulfilled.
|
|
318
320
|
|
|
319
|
-
Invoke the [technical-implementation](
|
|
321
|
+
Invoke the [technical-implementation](../technical-implementation/SKILL.md) skill for your next instructions. Do not act on the gathered information until the skill is loaded - it contains the instructions for how to proceed.
|
|
320
322
|
|
|
321
323
|
**Example handoff:**
|
|
322
324
|
```
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
name: start-planning
|
|
3
|
+
description: "Start a planning session from an existing specification. Discovers available specifications, gathers context, and invokes the technical-planning skill."
|
|
4
|
+
disable-model-invocation: true
|
|
3
5
|
allowed-tools: Bash(.claude/scripts/discovery-for-planning.sh)
|
|
4
6
|
---
|
|
5
7
|
|
|
@@ -40,7 +42,7 @@ Follow these steps EXACTLY as written. Do not skip steps or combine them. Presen
|
|
|
40
42
|
|
|
41
43
|
**This step is mandatory. You must complete it before proceeding.**
|
|
42
44
|
|
|
43
|
-
Invoke the `/migrate`
|
|
45
|
+
Invoke the `/migrate` skill and assess its output.
|
|
44
46
|
|
|
45
47
|
**If files were updated**: STOP and wait for the user to review the changes (e.g., via `git diff`) and confirm before proceeding to Step 1. Do not continue automatically.
|
|
46
48
|
|
|
@@ -250,9 +252,9 @@ These specifications contain validated architectural decisions that should infor
|
|
|
250
252
|
|
|
251
253
|
## Step 7: Invoke the Skill
|
|
252
254
|
|
|
253
|
-
After completing the steps above, this
|
|
255
|
+
After completing the steps above, this skill's purpose is fulfilled.
|
|
254
256
|
|
|
255
|
-
Invoke the [technical-planning](
|
|
257
|
+
Invoke the [technical-planning](../technical-planning/SKILL.md) skill for your next instructions. Do not act on the gathered information until the skill is loaded - it contains the instructions for how to proceed.
|
|
256
258
|
|
|
257
259
|
**Example handoff (fresh plan):**
|
|
258
260
|
```
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
name: start-research
|
|
3
|
+
description: "Start a research exploration using the technical-research skill. For early-stage ideas, feasibility checks, and broad exploration before formal discussion."
|
|
4
|
+
disable-model-invocation: true
|
|
3
5
|
---
|
|
4
6
|
|
|
5
7
|
Invoke the **technical-research** skill for this conversation.
|
|
@@ -39,7 +41,7 @@ Follow these steps EXACTLY as written. Do not skip steps or combine them. Presen
|
|
|
39
41
|
|
|
40
42
|
**This step is mandatory. You must complete it before proceeding.**
|
|
41
43
|
|
|
42
|
-
Invoke the `/migrate`
|
|
44
|
+
Invoke the `/migrate` skill and assess its output.
|
|
43
45
|
|
|
44
46
|
**If files were updated**: STOP and wait for the user to review the changes (e.g., via `git diff`) and confirm before proceeding to Step 1. Do not continue automatically.
|
|
45
47
|
|
|
@@ -116,9 +118,9 @@ Any constraints or context I should know about upfront?
|
|
|
116
118
|
|
|
117
119
|
## Step 5: Invoke the Skill
|
|
118
120
|
|
|
119
|
-
After completing the steps above, this
|
|
121
|
+
After completing the steps above, this skill's purpose is fulfilled.
|
|
120
122
|
|
|
121
|
-
Invoke the [technical-research](
|
|
123
|
+
Invoke the [technical-research](../technical-research/SKILL.md) skill for your next instructions. Do not act on the gathered information until the skill is loaded - it contains the instructions for how to proceed.
|
|
122
124
|
|
|
123
125
|
**Example handoff:**
|
|
124
126
|
```
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
name: start-review
|
|
3
|
+
description: "Start a review session from an existing plan and implementation. Discovers available plans, validates implementation exists, and invokes the technical-review skill."
|
|
4
|
+
disable-model-invocation: true
|
|
3
5
|
allowed-tools: Bash(.claude/scripts/discovery-for-implementation-and-review.sh)
|
|
4
6
|
---
|
|
5
7
|
|
|
@@ -40,7 +42,7 @@ Follow these steps EXACTLY as written. Do not skip steps or combine them. Presen
|
|
|
40
42
|
|
|
41
43
|
**This step is mandatory. You must complete it before proceeding.**
|
|
42
44
|
|
|
43
|
-
Invoke the `/migrate`
|
|
45
|
+
Invoke the `/migrate` skill and assess its output.
|
|
44
46
|
|
|
45
47
|
**If files were updated**: STOP and wait for the user to review the changes (e.g., via `git diff`) and confirm before proceeding to Step 1. Do not continue automatically.
|
|
46
48
|
|
|
@@ -153,9 +155,9 @@ If they choose specific directories/files, ask them to specify.
|
|
|
153
155
|
|
|
154
156
|
## Step 5: Invoke the Skill
|
|
155
157
|
|
|
156
|
-
After completing the steps above, this
|
|
158
|
+
After completing the steps above, this skill's purpose is fulfilled.
|
|
157
159
|
|
|
158
|
-
Invoke the [technical-review](
|
|
160
|
+
Invoke the [technical-review](../technical-review/SKILL.md) skill for your next instructions. Do not act on the gathered information until the skill is loaded - it contains the instructions for how to proceed.
|
|
159
161
|
|
|
160
162
|
**Example handoff:**
|
|
161
163
|
```
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
name: start-specification
|
|
3
|
+
description: "Start a specification session from existing discussions. Discovers available discussions, offers consolidation assessment for multiple discussions, and invokes the technical-specification skill."
|
|
4
|
+
disable-model-invocation: true
|
|
3
5
|
allowed-tools: Bash(.claude/scripts/discovery-for-specification.sh), Bash(mkdir -p docs/workflow/.cache), Bash(rm docs/workflow/.cache/discussion-consolidation-analysis.md)
|
|
4
6
|
---
|
|
5
7
|
|
|
@@ -40,7 +42,7 @@ Follow these steps EXACTLY as written. Do not skip steps or combine them. Presen
|
|
|
40
42
|
|
|
41
43
|
**This step is mandatory. You must complete it before proceeding.**
|
|
42
44
|
|
|
43
|
-
Invoke the `/migrate`
|
|
45
|
+
Invoke the `/migrate` skill and assess its output.
|
|
44
46
|
|
|
45
47
|
**If files were updated**: STOP and wait for the user to review the changes (e.g., via `git diff`) and confirm before proceeding to Step 1. Do not continue automatically.
|
|
46
48
|
|
|
@@ -757,9 +759,9 @@ Before invoking the specification skill:
|
|
|
757
759
|
|
|
758
760
|
## Step 11: Invoke the Skill
|
|
759
761
|
|
|
760
|
-
After completing all steps above, this
|
|
762
|
+
After completing all steps above, this skill's purpose is fulfilled.
|
|
761
763
|
|
|
762
|
-
Invoke the [technical-specification](
|
|
764
|
+
Invoke the [technical-specification](../technical-specification/SKILL.md) skill for your next instructions. Do not act on the gathered information until the skill is loaded - it contains the instructions for how to proceed.
|
|
763
765
|
|
|
764
766
|
#### Handoff Format
|
|
765
767
|
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
name: status
|
|
3
|
+
description: "Show workflow status - what exists, where you are, and what to do next."
|
|
4
|
+
disable-model-invocation: true
|
|
3
5
|
---
|
|
4
6
|
|
|
5
7
|
Show the current state of the workflow for this project.
|
|
@@ -8,7 +10,7 @@ Show the current state of the workflow for this project.
|
|
|
8
10
|
|
|
9
11
|
**This step is mandatory. You must complete it before proceeding.**
|
|
10
12
|
|
|
11
|
-
Invoke the `/migrate`
|
|
13
|
+
Invoke the `/migrate` skill and assess its output.
|
|
12
14
|
|
|
13
15
|
**If files were updated**: STOP and wait for the user to review the changes (e.g., via `git diff`) and confirm before proceeding to Step 1. Do not continue automatically.
|
|
14
16
|
|
|
@@ -48,7 +48,7 @@ Context refresh (compaction) summarizes the conversation, losing procedural deta
|
|
|
48
48
|
|
|
49
49
|
1. **Re-read this skill file completely.** Do not rely on your summary of it. The full process, steps, and rules must be reloaded.
|
|
50
50
|
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.
|
|
51
|
-
3. **Check `task_gate_mode`** in the tracking file — if `auto`, the user previously opted out
|
|
51
|
+
3. **Check `task_gate_mode`, `fix_gate_mode`, and `fix_attempts`** 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.
|
|
52
52
|
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.
|
|
53
53
|
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.
|
|
54
54
|
|
|
@@ -143,7 +143,7 @@ Store the selected skill paths — they will be persisted to the tracking file i
|
|
|
143
143
|
|
|
144
144
|
#### If `docs/workflow/implementation/{topic}.md` already exists
|
|
145
145
|
|
|
146
|
-
Reset `task_gate_mode` to `gated` in the tracking file before proceeding (fresh session = fresh
|
|
146
|
+
Reset `task_gate_mode` and `fix_gate_mode` to `gated`, and `fix_attempts` to `0`, in the tracking file before proceeding (fresh session = fresh gates).
|
|
147
147
|
|
|
148
148
|
If `project_skills` is populated in the tracking file, present for confirmation:
|
|
149
149
|
|
|
@@ -174,6 +174,8 @@ plan: ../planning/{topic}.md
|
|
|
174
174
|
format: {format from plan}
|
|
175
175
|
status: in-progress
|
|
176
176
|
task_gate_mode: gated
|
|
177
|
+
fix_gate_mode: gated
|
|
178
|
+
fix_attempts: 0
|
|
177
179
|
project_skills: []
|
|
178
180
|
current_phase: 1
|
|
179
181
|
current_task: ~
|
|
@@ -193,6 +195,8 @@ After creating the file, populate `project_skills` with the paths confirmed in S
|
|
|
193
195
|
|
|
194
196
|
Commit: `impl({topic}): start implementation`
|
|
195
197
|
|
|
198
|
+
Integration context will accumulate in `docs/workflow/implementation/{topic}-context.md` as tasks complete. This file is created automatically during the task loop — no initialisation needed here.
|
|
199
|
+
|
|
196
200
|
→ Proceed to **Step 5**.
|
|
197
201
|
|
|
198
202
|
---
|
|
@@ -205,7 +209,81 @@ Load **[steps/task-loop.md](references/steps/task-loop.md)** and follow its inst
|
|
|
205
209
|
|
|
206
210
|
---
|
|
207
211
|
|
|
208
|
-
## Step 6:
|
|
212
|
+
## Step 6: Polish
|
|
213
|
+
|
|
214
|
+
If the task loop exited early (user chose `stop`), skip to **Step 7**.
|
|
215
|
+
|
|
216
|
+
**Git checkpoint** — ensure a clean working tree before invoking the polish agent. Run `git status`. If there are unstaged changes or untracked files, commit them:
|
|
217
|
+
|
|
218
|
+
```
|
|
219
|
+
impl({topic}): pre-polish checkpoint
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
This ensures all prior work is safely committed. The polish agent makes no git operations — all its changes will exist as unstaged modifications. If the user discards polish, the working tree resets cleanly to this checkpoint.
|
|
223
|
+
|
|
224
|
+
**Invoke the polish agent:**
|
|
225
|
+
|
|
226
|
+
1. Load **[steps/invoke-polish.md](references/steps/invoke-polish.md)** and follow its instructions.
|
|
227
|
+
2. **STOP.** Do not proceed until the polish agent has returned its result.
|
|
228
|
+
3. Route on STATUS:
|
|
229
|
+
- `blocked` → present SUMMARY to the user, ask how to proceed
|
|
230
|
+
- `complete` → present the report below
|
|
231
|
+
|
|
232
|
+
> **Implementation polish complete** ({N} cycles)
|
|
233
|
+
>
|
|
234
|
+
> {SUMMARY}
|
|
235
|
+
>
|
|
236
|
+
> Findings:
|
|
237
|
+
> {DISCOVERY}
|
|
238
|
+
>
|
|
239
|
+
> Fixes applied:
|
|
240
|
+
> {FIXES_APPLIED}
|
|
241
|
+
>
|
|
242
|
+
> Integration tests added:
|
|
243
|
+
> {TESTS_ADDED}
|
|
244
|
+
>
|
|
245
|
+
> Skipped (not addressed):
|
|
246
|
+
> {SKIPPED}
|
|
247
|
+
>
|
|
248
|
+
> Test results: {TEST_RESULTS}
|
|
249
|
+
>
|
|
250
|
+
> · · ·
|
|
251
|
+
>
|
|
252
|
+
> - **`y`/`yes`** — Approve and commit polish changes
|
|
253
|
+
> - **`s`/`skip`** — Discard polish changes, mark complete as-is
|
|
254
|
+
> - **Comment** — Feedback (re-invokes polish agent with your notes)
|
|
255
|
+
|
|
256
|
+
**STOP.** Wait for user input.
|
|
257
|
+
|
|
258
|
+
#### If `yes`
|
|
259
|
+
|
|
260
|
+
Commit all polish changes:
|
|
261
|
+
|
|
262
|
+
```
|
|
263
|
+
impl({topic}): polish — {brief description}
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
→ Proceed to **Step 7**.
|
|
267
|
+
|
|
268
|
+
#### If `skip`
|
|
269
|
+
|
|
270
|
+
Discard all polish changes. Reset the working tree to the pre-polish checkpoint:
|
|
271
|
+
|
|
272
|
+
```
|
|
273
|
+
git checkout . && git clean -fd
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
This is safe because the checkpoint commit captured all prior work. Only polish-created changes are discarded. Gitignored files are untouched.
|
|
277
|
+
|
|
278
|
+
→ Proceed to **Step 7**.
|
|
279
|
+
|
|
280
|
+
#### If comment
|
|
281
|
+
|
|
282
|
+
→ Re-invoke the polish agent with the user's feedback. Return to the top of **Step 6** (after the git checkpoint — do not re-checkpoint).
|
|
283
|
+
|
|
284
|
+
---
|
|
285
|
+
|
|
286
|
+
## Step 7: Mark Implementation Complete
|
|
209
287
|
|
|
210
288
|
Update the tracking file (`docs/workflow/implementation/{topic}.md`):
|
|
211
289
|
- Set `status: completed`
|
|
@@ -222,6 +300,8 @@ Commit: `impl({topic}): complete implementation`
|
|
|
222
300
|
- **[steps/task-loop.md](references/steps/task-loop.md)** — Task execution loop, task gates, tracking, commits
|
|
223
301
|
- **[steps/invoke-executor.md](references/steps/invoke-executor.md)** — How to invoke the executor agent
|
|
224
302
|
- **[steps/invoke-reviewer.md](references/steps/invoke-reviewer.md)** — How to invoke the reviewer agent
|
|
303
|
+
- **[steps/invoke-polish.md](references/steps/invoke-polish.md)** — How to invoke the polish agent
|
|
225
304
|
- **[task-normalisation.md](references/task-normalisation.md)** — Normalised task shape for agent invocation
|
|
226
305
|
- **[tdd-workflow.md](references/tdd-workflow.md)** — TDD cycle (passed to executor agent)
|
|
227
306
|
- **[code-quality.md](references/code-quality.md)** — Quality standards (passed to executor agent)
|
|
307
|
+
- **Integration context** — `docs/workflow/implementation/{topic}-context.md` — accumulated notes from completed tasks (created during task loop)
|
|
@@ -37,5 +37,15 @@ Only implement what's in the plan. Ask: "Is this in the plan?"
|
|
|
37
37
|
- Long parameter lists (4+)
|
|
38
38
|
- Boolean parameters
|
|
39
39
|
|
|
40
|
+
## Convention Consistency
|
|
41
|
+
|
|
42
|
+
When adding to an existing codebase, match what's already there:
|
|
43
|
+
- **Error messages**: Match the casing, wrapping style, and prefix patterns in existing code
|
|
44
|
+
- **Naming**: Follow the project's conventions for files, functions, types, and variables
|
|
45
|
+
- **File organisation**: Follow the project's pattern for splitting concerns across files
|
|
46
|
+
- **Helpers**: Search for existing helpers before creating new ones. After creating one, check if existing code could use it too
|
|
47
|
+
- **Types**: Prefer concrete types over generic/any types when the set of possibilities is known. Use structured return types over multiple bare return values for extensibility
|
|
48
|
+
- **Co-location**: Keep related types near the interfaces or functions they serve
|
|
49
|
+
|
|
40
50
|
## Project Standards
|
|
41
51
|
Check `.claude/skills/` for project-specific patterns.
|
|
@@ -10,17 +10,21 @@ This step invokes the `implementation-task-executor` agent (`.claude/agents/impl
|
|
|
10
10
|
|
|
11
11
|
## Invoke the Agent
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
**Every invocation** — initial or re-attempt — includes these file paths:
|
|
14
14
|
|
|
15
15
|
1. **tdd-workflow.md**: `.claude/skills/technical-implementation/references/tdd-workflow.md`
|
|
16
16
|
2. **code-quality.md**: `.claude/skills/technical-implementation/references/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
19
|
5. **Task content**: normalised task content (see [task-normalisation.md](../task-normalisation.md))
|
|
20
|
+
6. **Plan file path**: the implementation plan (same path used to read tasks)
|
|
21
|
+
7. **Integration context file** (if exists): `docs/workflow/implementation/{topic}-context.md`
|
|
20
22
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
23
|
+
**Re-attempts after review feedback** additionally include:
|
|
24
|
+
8. **User-approved review notes**: verbatim or as modified by the user
|
|
25
|
+
9. **Specific issues to address**: the ISSUES from the review
|
|
26
|
+
|
|
27
|
+
The executor is stateless — each invocation starts fresh with no memory of previous attempts. Always pass the full task content so the executor can see what was asked, what was done, and what needs fixing.
|
|
24
28
|
|
|
25
29
|
---
|
|
26
30
|
|
|
@@ -34,6 +38,8 @@ TASK: {task name}
|
|
|
34
38
|
SUMMARY: {2-5 lines — commentary, decisions made, anything off-script}
|
|
35
39
|
TEST_RESULTS: {all passing | failures — details only if failures}
|
|
36
40
|
ISSUES: {blockers or deviations — omit if none}
|
|
41
|
+
INTEGRATION_NOTES:
|
|
42
|
+
- {3-5 bullets: patterns, helpers, conventions established — anchor to file paths where applicable}
|
|
37
43
|
```
|
|
38
44
|
|
|
39
45
|
- `complete`: all acceptance criteria met, tests passing
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# Invoke Polish
|
|
2
|
+
|
|
3
|
+
*Reference for **[technical-implementation](../../SKILL.md)***
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
This step invokes the `implementation-polish` agent (`.claude/agents/implementation-polish.md`) to perform holistic quality analysis and orchestrate fixes after all tasks are complete.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Invoke the Agent
|
|
12
|
+
|
|
13
|
+
**Every invocation** includes these file paths:
|
|
14
|
+
|
|
15
|
+
1. **code-quality.md**: `.claude/skills/technical-implementation/references/code-quality.md`
|
|
16
|
+
2. **tdd-workflow.md**: `.claude/skills/technical-implementation/references/tdd-workflow.md`
|
|
17
|
+
3. **Specification path**: from the plan's frontmatter (if available)
|
|
18
|
+
4. **Plan file path**: the implementation plan
|
|
19
|
+
5. **Plan format reading.md**: `.claude/skills/technical-planning/references/output-formats/{format}/reading.md` (format from plan frontmatter)
|
|
20
|
+
6. **Integration context file**: `docs/workflow/implementation/{topic}-context.md`
|
|
21
|
+
7. **Project skill paths**: from `project_skills` in the implementation tracking file
|
|
22
|
+
|
|
23
|
+
**Re-invocation after user feedback** additionally includes:
|
|
24
|
+
|
|
25
|
+
8. **User feedback**: the user's comments on what to change or focus on
|
|
26
|
+
|
|
27
|
+
The polish agent is stateless — each invocation starts fresh. Always pass all inputs.
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## Expected Result
|
|
32
|
+
|
|
33
|
+
The agent returns a structured report:
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
STATUS: complete | blocked
|
|
37
|
+
SUMMARY: {overview — what was analyzed, key findings, what was fixed}
|
|
38
|
+
CYCLES: {number of discovery-fix cycles completed}
|
|
39
|
+
DISCOVERY:
|
|
40
|
+
- {findings from analysis passes, organized by category}
|
|
41
|
+
FIXES_APPLIED:
|
|
42
|
+
- {what was changed and why, with file:line references}
|
|
43
|
+
TESTS_ADDED:
|
|
44
|
+
- {integration tests written, what workflows they exercise}
|
|
45
|
+
SKIPPED:
|
|
46
|
+
- {issues found but not addressed — too risky, needs design decision, or low impact}
|
|
47
|
+
TEST_RESULTS: {all passing | failures — details}
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
- `complete`: all applied fixes have passing tests, discovery-fix loop finished
|
|
51
|
+
- `blocked`: SUMMARY explains what decision is needed
|
|
@@ -15,6 +15,7 @@ Invoke `implementation-task-reviewer` with:
|
|
|
15
15
|
1. **Specification path**: same path given to the executor
|
|
16
16
|
2. **Task content**: same normalised task content the executor received
|
|
17
17
|
3. **Project skill paths**: from `project_skills` in the implementation tracking file
|
|
18
|
+
4. **Integration context file** (if exists): `docs/workflow/implementation/{topic}-context.md` — for checking cohesion with established patterns
|
|
18
19
|
|
|
19
20
|
---
|
|
20
21
|
|
|
@@ -30,11 +31,17 @@ ACCEPTANCE_CRITERIA: {all met | gaps — list}
|
|
|
30
31
|
TEST_COVERAGE: {adequate | gaps — list}
|
|
31
32
|
CONVENTIONS: {followed | violations — list}
|
|
32
33
|
ARCHITECTURE: {sound | concerns — details}
|
|
34
|
+
CODEBASE_COHESION: {cohesive | concerns — details}
|
|
33
35
|
ISSUES:
|
|
34
36
|
- {specific issue with file:line reference}
|
|
37
|
+
FIX: {recommended approach}
|
|
38
|
+
ALTERNATIVE: {other valid approach with tradeoff — optional}
|
|
39
|
+
CONFIDENCE: {high | medium | low}
|
|
35
40
|
NOTES:
|
|
36
41
|
- {non-blocking observations}
|
|
42
|
+
COHESION_NOTES:
|
|
43
|
+
- {2-4 bullets: patterns to maintain, conventions confirmed, integration quality}
|
|
37
44
|
```
|
|
38
45
|
|
|
39
|
-
- `approved`: task passes all
|
|
40
|
-
- `needs-changes`: ISSUES contains specific, actionable items
|
|
46
|
+
- `approved`: task passes all six review dimensions
|
|
47
|
+
- `needs-changes`: ISSUES contains specific, actionable items with fix recommendations and confidence levels
|
|
@@ -13,7 +13,7 @@ A. Retrieve next task
|
|
|
13
13
|
B. Execute task → invoke-executor.md
|
|
14
14
|
→ Executor Blocked (conditional)
|
|
15
15
|
C. Review task → invoke-reviewer.md
|
|
16
|
-
→ Review Changes (conditional)
|
|
16
|
+
→ Review Changes with fix analysis (conditional, fix_gate_mode)
|
|
17
17
|
D. Task gate (gated → prompt user / auto → announce)
|
|
18
18
|
E. Update progress + commit
|
|
19
19
|
→ loop back to A until done
|
|
@@ -26,6 +26,7 @@ E. Update progress + commit
|
|
|
26
26
|
1. Follow the format's **reading.md** instructions to determine the next available task.
|
|
27
27
|
2. If no available tasks remain → skip to **When All Tasks Are Complete**.
|
|
28
28
|
3. Normalise the task content following **[task-normalisation.md](../task-normalisation.md)**.
|
|
29
|
+
4. Reset `fix_attempts` to `0` in the implementation tracking file.
|
|
29
30
|
|
|
30
31
|
---
|
|
31
32
|
|
|
@@ -55,7 +56,7 @@ Present the executor's ISSUES to the user:
|
|
|
55
56
|
|
|
56
57
|
#### If `retry`
|
|
57
58
|
|
|
58
|
-
→ Return to the top of **B. Execute Task** and re-invoke the executor with the
|
|
59
|
+
→ Return to the top of **B. Execute Task** and re-invoke the executor with the full task content and the user's comments.
|
|
59
60
|
|
|
60
61
|
#### If `skip`
|
|
61
62
|
|
|
@@ -77,26 +78,44 @@ Present the executor's ISSUES to the user:
|
|
|
77
78
|
|
|
78
79
|
### Review Changes
|
|
79
80
|
|
|
80
|
-
|
|
81
|
+
Increment `fix_attempts` in the implementation tracking file.
|
|
81
82
|
|
|
82
|
-
|
|
83
|
+
#### If `fix_gate_mode: auto` and `fix_attempts < 3`
|
|
84
|
+
|
|
85
|
+
Announce the fix round (one line, no stop):
|
|
86
|
+
|
|
87
|
+
> **Review for Task {id}: {Task Name} — needs changes** (attempt {N}/{max 3}, fix analysis included). Re-invoking executor.
|
|
88
|
+
|
|
89
|
+
→ Return to the top of **B. Execute Task** and re-invoke the executor with the full task content and the reviewer's notes (including fix analysis).
|
|
90
|
+
|
|
91
|
+
#### If `fix_gate_mode: gated`, or `fix_attempts >= 3`
|
|
92
|
+
|
|
93
|
+
If `fix_attempts >= 3`, the executor and reviewer have failed to converge. Prepend:
|
|
94
|
+
|
|
95
|
+
> The executor and reviewer have not converged after {N} attempts. Escalating for human review.
|
|
96
|
+
|
|
97
|
+
Present the reviewer's findings and fix analysis to the user:
|
|
98
|
+
|
|
99
|
+
> **Review for Task {id}: {Task Name} — needs changes** (attempt {N})
|
|
83
100
|
>
|
|
84
|
-
> {ISSUES from reviewer}
|
|
101
|
+
> {ISSUES from reviewer, including FIX, ALTERNATIVE, and CONFIDENCE for each}
|
|
85
102
|
>
|
|
86
103
|
> Notes (non-blocking):
|
|
87
104
|
> {NOTES from reviewer}
|
|
88
105
|
>
|
|
89
106
|
> · · ·
|
|
90
107
|
>
|
|
91
|
-
> - **`y`/`yes`** — Accept
|
|
108
|
+
> - **`y`/`yes`** — Accept the review and fix analysis, pass to executor
|
|
109
|
+
> - **`a`/`auto`** — Accept and auto-approve future fix analyses
|
|
92
110
|
> - **`s`/`skip`** — Override the reviewer and proceed as-is
|
|
93
|
-
> - **Comment** —
|
|
111
|
+
> - **Comment** — Any commentary, adjustments, alternative approaches, or questions before passing to executor
|
|
94
112
|
|
|
95
113
|
**STOP.** Wait for user choice.
|
|
96
114
|
|
|
97
|
-
- **`y`/`yes`**: → Return to the top of **B. Execute Task** and re-invoke the executor with the reviewer's notes
|
|
115
|
+
- **`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).
|
|
116
|
+
- **`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).
|
|
98
117
|
- **`skip`**: → Proceed to **D. Task Gate**.
|
|
99
|
-
- **Comment**: → Return to the top of **B. Execute Task** and re-invoke the executor with the user's
|
|
118
|
+
- **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.
|
|
100
119
|
|
|
101
120
|
---
|
|
102
121
|
|
|
@@ -124,7 +143,7 @@ Present a summary and wait for user input:
|
|
|
124
143
|
|
|
125
144
|
- **`y`/`yes`**: → Proceed to **E. Update Progress and Commit**.
|
|
126
145
|
- **`auto`**: Note that `task_gate_mode` should be updated to `auto` during the commit step. → Proceed to **E. Update Progress and Commit**.
|
|
127
|
-
- **Comment**: → Return to the top of **B. Execute Task** and re-invoke the executor with the user's notes
|
|
146
|
+
- **Comment**: → Return to the top of **B. Execute Task** and re-invoke the executor with the full task content and the user's notes.
|
|
128
147
|
|
|
129
148
|
### If `task_gate_mode: auto`
|
|
130
149
|
|
|
@@ -145,9 +164,24 @@ Announce the result (one line, no stop):
|
|
|
145
164
|
- Update `current_phase` if phase changed
|
|
146
165
|
- Update `current_task` to the next task (or `~` if done)
|
|
147
166
|
- Update `updated` to today's date
|
|
148
|
-
- If user chose `auto` this turn: update `task_gate_mode: auto`
|
|
167
|
+
- If user chose `auto` at the task gate this turn: update `task_gate_mode: auto`
|
|
168
|
+
- If user chose `auto` at the fix gate this turn: update `fix_gate_mode: auto`
|
|
169
|
+
|
|
170
|
+
The tracking file is a derived view for discovery scripts and cross-topic dependency resolution — not a decision-making input during implementation (except `task_gate_mode` and `fix_gate_mode`).
|
|
171
|
+
|
|
172
|
+
**Append integration context** — extract INTEGRATION_NOTES from the executor's final output and COHESION_NOTES from the reviewer's output. Append both to `docs/workflow/implementation/{topic}-context.md`:
|
|
173
|
+
|
|
174
|
+
```
|
|
175
|
+
## T{task-id}: {task name}
|
|
176
|
+
|
|
177
|
+
### Integration (executor)
|
|
178
|
+
{INTEGRATION_NOTES content}
|
|
179
|
+
|
|
180
|
+
### Cohesion (reviewer)
|
|
181
|
+
{COHESION_NOTES content}
|
|
182
|
+
```
|
|
149
183
|
|
|
150
|
-
|
|
184
|
+
Create the file if it doesn't exist. This is mechanical text extraction and file append — the same as extracting STATUS to route on. Use outputs from the final approved iteration only.
|
|
151
185
|
|
|
152
186
|
**Commit all changes** in a single commit:
|
|
153
187
|
|
|
@@ -155,7 +189,7 @@ The tracking file is a derived view for discovery scripts and cross-topic depend
|
|
|
155
189
|
impl({topic}): T{task-id} — {brief description}
|
|
156
190
|
```
|
|
157
191
|
|
|
158
|
-
Code, tests, plan progress,
|
|
192
|
+
Code, tests, plan progress, tracking file, and integration context — one commit per approved task.
|
|
159
193
|
|
|
160
194
|
This is the end of this iteration.
|
|
161
195
|
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
name: view-plan
|
|
3
|
+
description: "View a plan's tasks and progress, regardless of output format."
|
|
4
|
+
disable-model-invocation: true
|
|
3
5
|
---
|
|
4
6
|
|
|
5
7
|
Display a readable summary of a plan's phases, tasks, and status.
|