@leeovery/claude-technical-workflows 2.0.51 → 2.0.53
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 +2 -2
- package/agents/implementation-task-executor.md +79 -0
- package/agents/implementation-task-reviewer.md +97 -0
- package/commands/link-dependencies.md +10 -10
- package/commands/workflow/start-implementation.md +119 -65
- package/package.json +1 -1
- package/scripts/discovery-for-implementation-and-review.sh +346 -0
- package/scripts/migrations/005-plan-external-deps-frontmatter.sh +231 -0
- package/skills/technical-discussion/SKILL.md +15 -0
- package/skills/technical-implementation/SKILL.md +135 -105
- package/skills/technical-implementation/references/steps/invoke-executor.md +42 -0
- package/skills/technical-implementation/references/steps/invoke-reviewer.md +40 -0
- package/skills/technical-implementation/references/steps/task-loop.md +164 -0
- package/skills/technical-implementation/references/task-normalisation.md +25 -0
- package/skills/technical-implementation/references/tdd-workflow.md +3 -3
- package/skills/technical-planning/SKILL.md +14 -0
- package/skills/technical-planning/references/dependencies.md +23 -19
- package/skills/technical-planning/references/steps/resolve-dependencies.md +11 -11
- package/skills/technical-research/SKILL.md +15 -0
- package/skills/technical-review/SKILL.md +15 -0
- package/skills/technical-specification/SKILL.md +15 -0
- package/skills/technical-specification/references/specification-guide.md +0 -6
- package/skills/technical-implementation/references/plan-execution.md +0 -49
package/README.md
CHANGED
|
@@ -185,7 +185,7 @@ When using the full workflow, it progresses through six distinct phases:
|
|
|
185
185
|
│ • Plan check │ │ • Tests first │ │ • Phases │
|
|
186
186
|
│ • Specs check │ │ • Then code │ │ • Tasks │
|
|
187
187
|
│ • Test quality│ │ • Commit often│ │ • Criteria │
|
|
188
|
-
│ • Code quality│ │ •
|
|
188
|
+
│ • Code quality│ │ • Task gates │ │ • Outputs │
|
|
189
189
|
└───────────────┘ └───────────────┘ └───────────────┘
|
|
190
190
|
```
|
|
191
191
|
|
|
@@ -197,7 +197,7 @@ When using the full workflow, it progresses through six distinct phases:
|
|
|
197
197
|
|
|
198
198
|
**Phase 4 - Planning:** Converts specifications into actionable implementation plans with phases, tasks, and acceptance criteria. Supports multiple output formats (local markdown, Linear, Backlog.md).
|
|
199
199
|
|
|
200
|
-
**Phase 5 - Implementation:** Executes the plan using strict TDD. Writes tests first, implements to pass, commits frequently,
|
|
200
|
+
**Phase 5 - Implementation:** Executes the plan using strict TDD. Writes tests first, implements to pass, commits frequently, with per-task approval gates (auto mode available).
|
|
201
201
|
|
|
202
202
|
**Phase 6 - Review:** Validates completed work against specification requirements and plan acceptance criteria. The specification is the validated source of truth; earlier phases may contain rejected ideas that were intentionally filtered out. Provides structured feedback without fixing code directly.
|
|
203
203
|
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: implementation-task-executor
|
|
3
|
+
description: Implements a single plan task via strict TDD. Invoked by technical-implementation skill for each task.
|
|
4
|
+
tools: Read, Glob, Grep, Edit, Write, Bash
|
|
5
|
+
model: inherit
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Implementation Task Executor
|
|
9
|
+
|
|
10
|
+
Act as an **expert senior developer** executing ONE task via strict TDD. Deep technical expertise, high standards for code quality and maintainability. Follow project-specific skills for language/framework conventions.
|
|
11
|
+
|
|
12
|
+
## Your Input
|
|
13
|
+
|
|
14
|
+
You receive file paths and context via the orchestrator's prompt:
|
|
15
|
+
|
|
16
|
+
1. **tdd-workflow.md path** — TDD cycle rules
|
|
17
|
+
2. **code-quality.md path** — Quality standards
|
|
18
|
+
3. **Specification path** — For context when rationale is unclear
|
|
19
|
+
4. **Project skill paths** — Relevant `.claude/skills/` paths for framework conventions
|
|
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
|
+
|
|
22
|
+
On **re-invocation after review feedback**, you also receive:
|
|
23
|
+
- **User-approved review notes** — may be the reviewer's original notes, modified by user, or user's own notes
|
|
24
|
+
- **Specific issues to address**
|
|
25
|
+
|
|
26
|
+
## Your Process
|
|
27
|
+
|
|
28
|
+
1. **Read tdd-workflow.md** — absorb the full TDD cycle before writing any code
|
|
29
|
+
2. **Read code-quality.md** — absorb quality standards
|
|
30
|
+
3. **Read project skills** — absorb framework conventions, testing patterns, architecture patterns
|
|
31
|
+
4. **Read specification** (if provided) — understand broader context for this task
|
|
32
|
+
5. **Explore codebase** — understand what exists before writing anything:
|
|
33
|
+
- Read files and tests related to the task's domain
|
|
34
|
+
- Identify patterns, conventions, and structures you'll need to follow or extend
|
|
35
|
+
- Check for existing code that the task builds on or integrates with
|
|
36
|
+
6. **Execute TDD cycle** — follow the process in tdd-workflow.md for each acceptance criterion and test case.
|
|
37
|
+
7. **Verify all acceptance criteria met** — every criterion from the task must be satisfied
|
|
38
|
+
8. **Return structured result**
|
|
39
|
+
|
|
40
|
+
## Code Only
|
|
41
|
+
|
|
42
|
+
You write code and tests, and run tests. That is all.
|
|
43
|
+
|
|
44
|
+
You do **NOT**:
|
|
45
|
+
- Commit or stage changes in git (reading git history is fine)
|
|
46
|
+
- Update tracking files or plan progress
|
|
47
|
+
- Mark tasks complete
|
|
48
|
+
- Make decisions about what to implement next
|
|
49
|
+
|
|
50
|
+
Those are the orchestrator's responsibility.
|
|
51
|
+
|
|
52
|
+
## Hard Rules
|
|
53
|
+
|
|
54
|
+
**MANDATORY. No exceptions. Violating these rules invalidates the work.**
|
|
55
|
+
|
|
56
|
+
1. **No code before tests** — Write the failing test first. Always.
|
|
57
|
+
2. **No test changes to pass** — Fix the code, not the test.
|
|
58
|
+
3. **No scope expansion** — Only what's in the task. If you think "I should also handle X" — STOP. It's not in the task, don't build it.
|
|
59
|
+
4. **No assumptions** — Uncertain about intent or approach? STOP and report back.
|
|
60
|
+
5. **No git writes** — Do not commit or stage. Reading git history is fine. The orchestrator handles all git writes after review approval.
|
|
61
|
+
6. **No autonomous decisions that deviate from specification** — If a spec decision is untenable, a package doesn't work as expected, an approach would produce undesirable code, or any situation where the planned approach won't work: **STOP immediately and report back** with the problem, what was discovered, and why it won't work. Do NOT choose an alternative. Do NOT work around it. Report and stop.
|
|
62
|
+
7. **Read and follow project-specific skills** — Framework conventions, patterns, and testing approaches defined in `.claude/skills/` are authoritative for style and structure.
|
|
63
|
+
|
|
64
|
+
## Your Output
|
|
65
|
+
|
|
66
|
+
Return a structured completion report:
|
|
67
|
+
|
|
68
|
+
```
|
|
69
|
+
STATUS: complete | blocked | failed
|
|
70
|
+
TASK: {task name}
|
|
71
|
+
SUMMARY: {what was done}
|
|
72
|
+
FILES_CHANGED: {list of files created/modified}
|
|
73
|
+
TESTS_WRITTEN: {list of test files/methods}
|
|
74
|
+
TEST_RESULTS: {all passing | failures — details}
|
|
75
|
+
ISSUES: {any concerns, blockers, or deviations discovered}
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
- If STATUS is `blocked` or `failed`, ISSUES **must** explain why and what decision is needed.
|
|
79
|
+
- If STATUS is `complete`, all acceptance criteria must be met and all tests passing.
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: implementation-task-reviewer
|
|
3
|
+
description: Reviews a single implemented task for spec conformance, acceptance criteria, and architectural quality. Invoked by technical-implementation skill after each task.
|
|
4
|
+
tools: Read, Glob, Grep, Bash
|
|
5
|
+
model: opus
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Implementation Task Reviewer
|
|
9
|
+
|
|
10
|
+
Act as a **senior architect** performing independent verification of ONE completed task. You assess whether the implementation genuinely meets its requirements, follows conventions, and makes sound architectural decisions.
|
|
11
|
+
|
|
12
|
+
The executor must not mark its own homework — that's why you exist.
|
|
13
|
+
|
|
14
|
+
## Your Input
|
|
15
|
+
|
|
16
|
+
You receive via the orchestrator's prompt:
|
|
17
|
+
|
|
18
|
+
1. **Specification path** — The validated specification for design decision context
|
|
19
|
+
2. **Task content** — Same task content the executor received: task ID, phase, and all instructional content
|
|
20
|
+
3. **Project skill paths** — Relevant `.claude/skills/` paths for checking framework convention adherence
|
|
21
|
+
|
|
22
|
+
## Your Process
|
|
23
|
+
|
|
24
|
+
1. **Read the specification** for relevant context — understand the broader design intent
|
|
25
|
+
2. **Check unstaged changes** — use `git diff` and `git status` to identify files changed by the executor
|
|
26
|
+
3. **Read all changed files** — implementation code and test code
|
|
27
|
+
4. **Read project skills** — understand framework conventions, testing patterns, architecture patterns
|
|
28
|
+
5. **Evaluate all five review dimensions** (see below)
|
|
29
|
+
|
|
30
|
+
## Review Dimensions
|
|
31
|
+
|
|
32
|
+
### 1. Spec Conformance
|
|
33
|
+
Does the implementation match the specification's decisions?
|
|
34
|
+
- Are the spec's chosen approaches followed (not alternatives)?
|
|
35
|
+
- Do data structures, interfaces, and behaviors align with spec definitions?
|
|
36
|
+
- Any drift from what was specified?
|
|
37
|
+
|
|
38
|
+
### 2. Acceptance Criteria
|
|
39
|
+
Are all criteria genuinely met — not just self-reported?
|
|
40
|
+
- Walk through each criterion from the task
|
|
41
|
+
- Verify the code actually satisfies it (don't trust the executor's claim)
|
|
42
|
+
- Check for criteria that are technically met but miss the intent
|
|
43
|
+
|
|
44
|
+
### 3. Test Adequacy
|
|
45
|
+
Do tests actually verify the criteria? Are edge cases covered?
|
|
46
|
+
- Is there a test for each acceptance criterion?
|
|
47
|
+
- Would the tests fail if the feature broke?
|
|
48
|
+
- Are edge cases from the task's test cases covered?
|
|
49
|
+
- Flag both under-testing AND over-testing
|
|
50
|
+
|
|
51
|
+
### 4. Convention Adherence
|
|
52
|
+
Are project skill conventions followed?
|
|
53
|
+
- Check against framework patterns from `.claude/skills/`
|
|
54
|
+
- Architecture conventions respected?
|
|
55
|
+
- Testing conventions followed (test structure, naming, patterns)?
|
|
56
|
+
- Code style consistent with project?
|
|
57
|
+
|
|
58
|
+
### 5. Architectural Quality
|
|
59
|
+
Is this a sound design decision? Will it compose well with future tasks?
|
|
60
|
+
- Does the structure make sense for this task's scope?
|
|
61
|
+
- Are there coupling or abstraction concerns?
|
|
62
|
+
- Will this cause problems for subsequent tasks in the phase?
|
|
63
|
+
- Are there structural concerns that should be raised now rather than compounding?
|
|
64
|
+
|
|
65
|
+
## Hard Rules
|
|
66
|
+
|
|
67
|
+
**MANDATORY. No exceptions. Violating these rules invalidates the review.**
|
|
68
|
+
|
|
69
|
+
1. **Read-only** — Report findings, do not fix anything. Do not edit, write, or create files.
|
|
70
|
+
2. **No git writes** — Do not commit or stage. Reading git history and diffs is fine. The orchestrator handles all git writes.
|
|
71
|
+
3. **One task only** — You review exactly one plan task per invocation.
|
|
72
|
+
4. **Independent judgement** — Evaluate the code yourself. Do not trust the executor's self-assessment.
|
|
73
|
+
5. **All five dimensions** — Evaluate spec conformance, acceptance criteria, test adequacy, convention adherence, and architectural quality.
|
|
74
|
+
6. **Be specific** — Include file paths and line numbers for every issue. Vague findings are not actionable.
|
|
75
|
+
7. **Proportional** — Prioritize by impact. Don't nitpick style when the architecture is wrong.
|
|
76
|
+
8. **Task scope only** — Only review what's in the task. Don't flag issues outside the task's scope.
|
|
77
|
+
|
|
78
|
+
## Your Output
|
|
79
|
+
|
|
80
|
+
Return a structured finding:
|
|
81
|
+
|
|
82
|
+
```
|
|
83
|
+
TASK: {task name}
|
|
84
|
+
VERDICT: approved | needs-changes
|
|
85
|
+
SPEC_CONFORMANCE: {conformant | drift detected — details}
|
|
86
|
+
ACCEPTANCE_CRITERIA: {all met | gaps — list}
|
|
87
|
+
TEST_COVERAGE: {adequate | gaps — list}
|
|
88
|
+
CONVENTIONS: {followed | violations — list}
|
|
89
|
+
ARCHITECTURE: {sound | concerns — details}
|
|
90
|
+
ISSUES:
|
|
91
|
+
- {specific issue with file:line reference}
|
|
92
|
+
NOTES:
|
|
93
|
+
- {non-blocking observations}
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
- If VERDICT is `needs-changes`, ISSUES must contain specific, actionable items with file:line references
|
|
97
|
+
- NOTES are for non-blocking observations — things worth noting but not requiring changes
|
|
@@ -65,13 +65,13 @@ Stop here.
|
|
|
65
65
|
|
|
66
66
|
## Step 3: Extract External Dependencies
|
|
67
67
|
|
|
68
|
-
For each plan,
|
|
68
|
+
For each plan, read the `external_dependencies` field from the frontmatter:
|
|
69
69
|
|
|
70
|
-
1. **Read
|
|
71
|
-
2. **Categorize each dependency
|
|
72
|
-
- **Unresolved**:
|
|
73
|
-
- **Resolved**:
|
|
74
|
-
- **Satisfied externally**:
|
|
70
|
+
1. **Read `external_dependencies`** from each plan index file's frontmatter
|
|
71
|
+
2. **Categorize each dependency** by its `state` field:
|
|
72
|
+
- **Unresolved**: `state: unresolved` (no task linked)
|
|
73
|
+
- **Resolved**: `state: resolved` (has `task_id`)
|
|
74
|
+
- **Satisfied externally**: `state: satisfied_externally`
|
|
75
75
|
|
|
76
76
|
3. **Build a summary**:
|
|
77
77
|
|
|
@@ -84,7 +84,7 @@ Plan: authentication (format: {format})
|
|
|
84
84
|
|
|
85
85
|
Plan: billing-system (format: {format})
|
|
86
86
|
- authentication: User context (unresolved)
|
|
87
|
-
-
|
|
87
|
+
- payment-gateway: Payment processing (satisfied externally)
|
|
88
88
|
|
|
89
89
|
Plan: notifications (format: {format})
|
|
90
90
|
- authentication: User lookup (unresolved)
|
|
@@ -111,8 +111,8 @@ For each unresolved dependency:
|
|
|
111
111
|
|
|
112
112
|
For each resolved match:
|
|
113
113
|
|
|
114
|
-
1. **Update the plan index file**:
|
|
115
|
-
- Change
|
|
114
|
+
1. **Update the plan index file's frontmatter**:
|
|
115
|
+
- Change the dependency's `state: unresolved` to `state: resolved` and add `task_id: {task-id}`
|
|
116
116
|
|
|
117
117
|
2. **Create dependency in output format**:
|
|
118
118
|
- Load `skills/technical-planning/references/output-formats/output-{format}.md`
|
|
@@ -123,7 +123,7 @@ For each resolved match:
|
|
|
123
123
|
For each plan that was a dependency target (i.e., other plans depend on it):
|
|
124
124
|
|
|
125
125
|
1. **Check reverse dependencies**: Are there other plans that should have this wired up?
|
|
126
|
-
2. **Offer to update**: "Plan X depends on tasks you just linked. Update its
|
|
126
|
+
2. **Offer to update**: "Plan X depends on tasks you just linked. Update its `external_dependencies` frontmatter?"
|
|
127
127
|
|
|
128
128
|
## Step 7: Report Results
|
|
129
129
|
|
|
@@ -61,14 +61,30 @@ This outputs structured YAML. Parse it to understand:
|
|
|
61
61
|
**From `plans` section:**
|
|
62
62
|
- `exists` - whether any plans exist
|
|
63
63
|
- `files` - list of plans with: name, topic, status, date, format, specification, specification_exists, plan_id (if present)
|
|
64
|
+
- Per plan `external_deps` - array of dependencies with topic, state, task_id
|
|
65
|
+
- Per plan `has_unresolved_deps` - whether plan has unresolved dependencies
|
|
66
|
+
- Per plan `unresolved_dep_count` - count of unresolved dependencies
|
|
64
67
|
- `count` - total number of plans
|
|
65
68
|
|
|
69
|
+
**From `implementation` section:**
|
|
70
|
+
- `exists` - whether any implementation tracking files exist
|
|
71
|
+
- `files` - list of tracking files with: topic, status, current_phase, completed_phases, completed_tasks
|
|
72
|
+
|
|
73
|
+
**From `dependency_resolution` section:**
|
|
74
|
+
- Per plan `deps_satisfied` - whether all resolved deps have their tasks completed
|
|
75
|
+
- Per plan `deps_blocking` - list of deps not yet satisfied with reason
|
|
76
|
+
|
|
66
77
|
**From `environment` section:**
|
|
67
78
|
- `setup_file_exists` - whether environment-setup.md exists
|
|
68
79
|
- `requires_setup` - true, false, or unknown
|
|
69
80
|
|
|
70
81
|
**From `state` section:**
|
|
71
82
|
- `scenario` - one of: `"no_plans"`, `"single_plan"`, `"multiple_plans"`
|
|
83
|
+
- `plans_concluded_count` - plans with status concluded
|
|
84
|
+
- `plans_with_unresolved_deps` - plans with unresolved external deps
|
|
85
|
+
- `plans_ready_count` - concluded plans with all deps satisfied
|
|
86
|
+
- `plans_in_progress_count` - implementations in progress
|
|
87
|
+
- `plans_completed_count` - implementations completed
|
|
72
88
|
|
|
73
89
|
**IMPORTANT**: Use ONLY this script for discovery. Do NOT run additional bash commands (ls, head, cat, etc.) to gather state - the script provides everything needed.
|
|
74
90
|
|
|
@@ -102,66 +118,137 @@ Plans exist.
|
|
|
102
118
|
|
|
103
119
|
## Step 3: Present Plans and Select
|
|
104
120
|
|
|
105
|
-
Present all discovered plans
|
|
121
|
+
Present all discovered plans using the icon system below. Classify each plan into one of three sections based on its state.
|
|
122
|
+
|
|
123
|
+
**Classification logic:**
|
|
124
|
+
|
|
125
|
+
A plan is **Implementable** if:
|
|
126
|
+
- It has `status: concluded` AND all deps are satisfied (`deps_satisfied: true` or no deps) AND no tracking file or tracking `status: not-started`, OR
|
|
127
|
+
- It has an implementation tracking file with `status: in-progress`
|
|
128
|
+
|
|
129
|
+
A plan is **Implemented** if:
|
|
130
|
+
- It has an implementation tracking file with `status: completed`
|
|
131
|
+
|
|
132
|
+
A plan is **Not implementable** if:
|
|
133
|
+
- It has `status: concluded` but deps are NOT satisfied (blocking deps exist)
|
|
134
|
+
- It has `status: planning` or other non-concluded status
|
|
135
|
+
- It has unresolved deps (`has_unresolved_deps: true`)
|
|
106
136
|
|
|
107
137
|
**Present the full state:**
|
|
108
138
|
|
|
109
139
|
```
|
|
110
|
-
|
|
140
|
+
Implementation Phase
|
|
141
|
+
|
|
142
|
+
Implementable:
|
|
143
|
+
1. ▶ billing - continue [Phase 2, Task 3]
|
|
144
|
+
2. + core-features - start
|
|
111
145
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
3. {topic-3} (in-progress) - format: {format}
|
|
146
|
+
Implemented:
|
|
147
|
+
3. > user-auth
|
|
115
148
|
|
|
116
|
-
|
|
149
|
+
Not implementable:
|
|
150
|
+
· advanced-features [blocked: core-features task core-2-3 not completed]
|
|
151
|
+
· reporting [planning]
|
|
117
152
|
```
|
|
118
153
|
|
|
119
|
-
**
|
|
120
|
-
|
|
121
|
-
|
|
154
|
+
**Formatting rules:**
|
|
155
|
+
|
|
156
|
+
Implementable (numbered, selectable):
|
|
157
|
+
- **`▶`** — implementation `status: in-progress`, show current position `[Phase N, Task M]`
|
|
158
|
+
- **`+`** — concluded plan, deps met, no tracking file or tracking `status: not-started`
|
|
159
|
+
|
|
160
|
+
Implemented (numbered, selectable):
|
|
161
|
+
- **`>`** — implementation `status: completed`
|
|
162
|
+
|
|
163
|
+
Not implementable (not numbered, not selectable):
|
|
164
|
+
- **`·`** — blocked or plan not concluded
|
|
165
|
+
- `[blocked: {topic} task {id} not completed]` — resolved dep, task not done
|
|
166
|
+
- `[blocked: unresolved dep on {topic}]` — no task linked
|
|
167
|
+
- `[planning]` — plan status is not `concluded`
|
|
168
|
+
|
|
169
|
+
**Ordering:**
|
|
170
|
+
1. Implementable first: `▶` in-progress, then `+` new (foundational before dependent)
|
|
171
|
+
2. Implemented next: `>` completed
|
|
172
|
+
3. Not implementable last
|
|
173
|
+
|
|
174
|
+
Numbering is sequential across Implementable and Implemented. Omit any section entirely if it has no entries.
|
|
175
|
+
|
|
176
|
+
**If Not implementable section is shown**, append after the presentation:
|
|
122
177
|
|
|
123
|
-
**If single plan exists (auto-select):**
|
|
124
178
|
```
|
|
125
|
-
|
|
179
|
+
If a blocked dependency has been resolved outside this workflow, name the plan and the dependency to unblock it.
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
**Then prompt based on what's actionable:**
|
|
183
|
+
|
|
184
|
+
**If single implementable plan and no implemented plans (auto-select):**
|
|
185
|
+
```
|
|
186
|
+
Auto-selecting: {topic} (only implementable plan)
|
|
126
187
|
```
|
|
127
188
|
→ Proceed directly to **Step 4**.
|
|
128
189
|
|
|
129
|
-
**If
|
|
190
|
+
**If nothing selectable (no implementable or implemented):**
|
|
191
|
+
Show Not implementable section only (with unblock hint above).
|
|
192
|
+
|
|
193
|
+
```
|
|
194
|
+
No implementable plans.
|
|
195
|
+
|
|
196
|
+
To proceed:
|
|
197
|
+
- Complete blocking dependencies first
|
|
198
|
+
- Or finish plans still in progress with /start-planning
|
|
199
|
+
```
|
|
130
200
|
|
|
131
201
|
**STOP.** Wait for user response.
|
|
132
202
|
|
|
203
|
+
**Otherwise (multiple selectable plans, or implemented plans exist):**
|
|
204
|
+
```
|
|
205
|
+
Select a plan (enter number):
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
**STOP.** Wait for user response.
|
|
209
|
+
|
|
210
|
+
#### If the user requests an unblock
|
|
211
|
+
|
|
212
|
+
1. Identify the plan and the specific dependency
|
|
213
|
+
2. Confirm with the user which dependency to mark as satisfied
|
|
214
|
+
3. Update the plan's `external_dependencies` frontmatter: set `state` to `satisfied_externally`
|
|
215
|
+
4. Commit the change
|
|
216
|
+
5. Re-run classification and re-present Step 3
|
|
217
|
+
|
|
133
218
|
→ Based on user choice, proceed to **Step 4**.
|
|
134
219
|
|
|
135
220
|
---
|
|
136
221
|
|
|
137
222
|
## Step 4: Check External Dependencies
|
|
138
223
|
|
|
139
|
-
**This step is a gate.**
|
|
140
|
-
|
|
141
|
-
See **[dependencies.md](../../skills/technical-planning/references/dependencies.md)** for dependency format and states.
|
|
224
|
+
**This step is a confirmation gate.** Dependencies have been pre-analyzed by the discovery script.
|
|
142
225
|
|
|
143
226
|
After the plan is selected:
|
|
144
227
|
|
|
145
|
-
1. **
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
228
|
+
1. **Check the plan's `external_deps` and `dependency_resolution`** from the discovery output
|
|
229
|
+
|
|
230
|
+
#### If all deps satisfied (or no deps)
|
|
231
|
+
|
|
232
|
+
```
|
|
233
|
+
External dependencies satisfied.
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
→ Proceed to **Step 5**.
|
|
150
237
|
|
|
151
|
-
|
|
238
|
+
#### If any deps are blocking
|
|
152
239
|
|
|
153
|
-
|
|
240
|
+
This should not normally happen for plans classified as "Implementable" in Step 3. However, as an escape hatch:
|
|
154
241
|
|
|
155
242
|
```
|
|
156
|
-
|
|
243
|
+
Missing dependencies:
|
|
157
244
|
|
|
158
245
|
UNRESOLVED (not yet planned):
|
|
159
|
-
-
|
|
160
|
-
|
|
246
|
+
- {topic}: {description}
|
|
247
|
+
-> No plan exists for this topic. Create with /start-planning or mark as satisfied externally.
|
|
161
248
|
|
|
162
249
|
INCOMPLETE (planned but not implemented):
|
|
163
|
-
-
|
|
164
|
-
|
|
250
|
+
- {topic}: task {task_id} not yet completed
|
|
251
|
+
-> This task must be completed first.
|
|
165
252
|
|
|
166
253
|
OPTIONS:
|
|
167
254
|
1. Implement the blocking dependencies first
|
|
@@ -171,23 +258,15 @@ OPTIONS:
|
|
|
171
258
|
|
|
172
259
|
**STOP.** Wait for user response.
|
|
173
260
|
|
|
174
|
-
|
|
261
|
+
#### Escape Hatch
|
|
175
262
|
|
|
176
263
|
If the user says a dependency has been implemented outside the workflow:
|
|
177
264
|
|
|
178
265
|
1. Ask which dependency to mark as satisfied
|
|
179
|
-
2. Update the plan
|
|
266
|
+
2. Update the plan frontmatter: Change the dependency's `state` to `satisfied_externally`
|
|
180
267
|
3. Commit the change
|
|
181
268
|
4. Re-check dependencies
|
|
182
269
|
|
|
183
|
-
### All Dependencies Satisfied
|
|
184
|
-
|
|
185
|
-
If all dependencies are resolved and complete (or satisfied externally), proceed to Step 5.
|
|
186
|
-
|
|
187
|
-
```
|
|
188
|
-
✅ External dependencies satisfied.
|
|
189
|
-
```
|
|
190
|
-
|
|
191
270
|
→ Proceed to **Step 5**.
|
|
192
271
|
|
|
193
272
|
---
|
|
@@ -227,32 +306,7 @@ Are there any environment setup instructions I should follow before implementati
|
|
|
227
306
|
|
|
228
307
|
---
|
|
229
308
|
|
|
230
|
-
## Step 6:
|
|
231
|
-
|
|
232
|
-
Ask the user about implementation scope:
|
|
233
|
-
|
|
234
|
-
```
|
|
235
|
-
How would you like to proceed?
|
|
236
|
-
|
|
237
|
-
1. Implement all phases - Work through the entire plan sequentially
|
|
238
|
-
2. Implement specific phase - Focus on one phase (e.g., "Phase 1")
|
|
239
|
-
3. Implement specific task - Focus on a single task
|
|
240
|
-
4. Next available task - Auto-discover the next incomplete task
|
|
241
|
-
|
|
242
|
-
Which approach?
|
|
243
|
-
```
|
|
244
|
-
|
|
245
|
-
**STOP.** Wait for user response.
|
|
246
|
-
|
|
247
|
-
If they choose a specific phase or task, ask them to specify which one.
|
|
248
|
-
|
|
249
|
-
> **Note:** Do NOT verify that the phase or task exists at this stage. Record the user's answer in the handoff context. Validation happens when the skill is invoked.
|
|
250
|
-
|
|
251
|
-
→ Proceed to **Step 7**.
|
|
252
|
-
|
|
253
|
-
---
|
|
254
|
-
|
|
255
|
-
## Step 7: Invoke the Skill
|
|
309
|
+
## Step 6: Invoke the Skill
|
|
256
310
|
|
|
257
311
|
After completing the steps above, this command's purpose is fulfilled.
|
|
258
312
|
|
|
@@ -265,9 +319,9 @@ Plan: docs/workflow/planning/{topic}.md
|
|
|
265
319
|
Format: {format}
|
|
266
320
|
Plan ID: {plan_id} (if applicable)
|
|
267
321
|
Specification: {specification} (exists: {true|false})
|
|
268
|
-
|
|
322
|
+
Implementation tracking: {exists | new} (status: {in-progress | not-started | completed})
|
|
269
323
|
|
|
270
|
-
Dependencies: {All satisfied
|
|
324
|
+
Dependencies: {All satisfied | List any notes}
|
|
271
325
|
Environment: {Setup required | No special setup required}
|
|
272
326
|
|
|
273
327
|
Invoke the technical-implementation skill.
|