@leeovery/claude-technical-workflows 2.1.2 → 2.1.4
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-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 +7 -2
- 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-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
|
|
|
@@ -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
|
---
|
|
@@ -225,3 +229,4 @@ Commit: `impl({topic}): complete implementation`
|
|
|
225
229
|
- **[task-normalisation.md](references/task-normalisation.md)** — Normalised task shape for agent invocation
|
|
226
230
|
- **[tdd-workflow.md](references/tdd-workflow.md)** — TDD cycle (passed to executor agent)
|
|
227
231
|
- **[code-quality.md](references/code-quality.md)** — Quality standards (passed to executor agent)
|
|
232
|
+
- **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
|
|
@@ -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.
|