@leeovery/claude-technical-workflows 2.0.45 → 2.0.46
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/commands/link-dependencies.md +2 -2
- package/commands/workflow/start-discussion.md +5 -1
- package/commands/workflow/start-implementation.md +5 -1
- package/commands/workflow/start-planning.md +5 -1
- package/commands/workflow/start-research.md +5 -1
- package/commands/workflow/start-review.md +5 -1
- package/commands/workflow/start-specification.md +11 -2
- package/commands/workflow/status.md +5 -1
- package/commands/workflow/view-plan.md +1 -9
- package/package.json +1 -1
- package/skills/technical-discussion/SKILL.md +7 -1
- package/skills/technical-implementation/SKILL.md +13 -2
- package/skills/technical-implementation/references/environment-setup.md +1 -1
- package/skills/technical-planning/SKILL.md +83 -20
- package/skills/technical-planning/references/{output-backlog-md.md → output-formats/output-backlog-md.md} +4 -4
- package/skills/technical-planning/references/{output-beads.md → output-formats/output-beads.md} +4 -4
- package/skills/technical-planning/references/{output-linear.md → output-formats/output-linear.md} +4 -4
- package/skills/technical-planning/references/{output-local-markdown.md → output-formats/output-local-markdown.md} +3 -3
- package/skills/technical-planning/references/output-formats.md +33 -6
- package/skills/technical-planning/references/phase-design.md +146 -0
- package/skills/technical-planning/references/planning-principles.md +44 -0
- package/skills/technical-planning/references/steps/author-tasks.md +63 -0
- package/skills/technical-planning/references/steps/define-phases.md +40 -0
- package/skills/technical-planning/references/steps/define-tasks.md +43 -0
- package/skills/technical-planning/references/steps/plan-review.md +96 -0
- package/skills/technical-planning/references/steps/resolve-dependencies.md +56 -0
- package/skills/technical-planning/references/steps/review-integrity.md +217 -0
- package/skills/technical-planning/references/steps/review-traceability.md +194 -0
- package/skills/technical-planning/references/task-design.md +158 -0
- package/skills/technical-research/SKILL.md +9 -1
- package/skills/technical-research/references/template.md +1 -0
- package/skills/technical-review/SKILL.md +9 -1
- package/skills/technical-specification/SKILL.md +10 -1
- package/skills/technical-planning/references/formal-planning.md +0 -235
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Planning Principles
|
|
2
|
+
|
|
3
|
+
*Reference for **[technical-planning](../SKILL.md)***
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
This reference defines the principles, rules, and quality standards for creating implementation plans. It is loaded at the start of the planning process and stays in context throughout.
|
|
8
|
+
|
|
9
|
+
## Planning is a Gated Process
|
|
10
|
+
|
|
11
|
+
Planning translates the specification into actionable structure. This translation requires judgment, and the process is designed to ensure that judgment is exercised carefully and collaboratively — not rushed.
|
|
12
|
+
|
|
13
|
+
### Process Expectations
|
|
14
|
+
|
|
15
|
+
**This is a step-by-step process with mandatory stop points.** You must work through each step sequentially. Steps end with **STOP** — you must present your work, wait for explicit user confirmation, and only then proceed to the next step.
|
|
16
|
+
|
|
17
|
+
**Never one-shot the plan.** Do not write the entire plan document in a single operation. The plan is built incrementally — one phase at a time, with the user confirming the structure at each stage. A one-shot plan that misses requirements, hallucinates content, or structures tasks poorly wastes more time than a careful, step-by-step process. Go slow to go fast.
|
|
18
|
+
|
|
19
|
+
**Stop and ask when judgment is needed.** Planning is collaborative — not in the sense that every line needs approval, but in the sense that the user guides structural decisions and resolves ambiguity. You must stop and ask when:
|
|
20
|
+
|
|
21
|
+
- The specification is ambiguous about implementation approach
|
|
22
|
+
- Multiple valid ways to structure phases or tasks exist
|
|
23
|
+
- You're uncertain whether a task is appropriately scoped
|
|
24
|
+
- Edge cases aren't fully addressed in the specification
|
|
25
|
+
- You need to make any decision the specification doesn't cover
|
|
26
|
+
- Something doesn't add up or feels like a gap
|
|
27
|
+
|
|
28
|
+
**Never invent to fill gaps.** If the specification doesn't address something, flag it with `[needs-info]` and ask the user. The specification is the golden document — everything in the plan must trace back to it. Assuming or guessing — even when it seems reasonable — is not acceptable. Surface the problem immediately rather than continuing and hoping to address it later.
|
|
29
|
+
|
|
30
|
+
## Rules
|
|
31
|
+
|
|
32
|
+
**Capture immediately**: After each user response, update the planning document BEFORE your next question. Never let more than 2-3 exchanges pass without writing.
|
|
33
|
+
|
|
34
|
+
**Commit frequently**: Commit at natural breaks, after significant exchanges, and before any context refresh. Context refresh = lost work.
|
|
35
|
+
|
|
36
|
+
**Create plans, not code**: Your job is phases, tasks, and acceptance criteria — not implementation.
|
|
37
|
+
|
|
38
|
+
## Plan as Source of Truth
|
|
39
|
+
|
|
40
|
+
The plan IS the source of truth. Every phase, every task must contain all information needed to execute it.
|
|
41
|
+
|
|
42
|
+
- **Self-contained**: Each task executable without external context
|
|
43
|
+
- **No assumptions**: Spell out the context, don't assume implementer knows it
|
|
44
|
+
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# Author Tasks
|
|
2
|
+
|
|
3
|
+
*Reference for **[technical-planning](../../SKILL.md)***
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Load **[task-design.md](../task-design.md)** — the task design principles, template structure, and quality standards for writing task detail.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
Orient the user:
|
|
12
|
+
|
|
13
|
+
> "Task list for Phase {N} is agreed. I'll work through each task one at a time — presenting the full detail, discussing if needed, and logging it to the plan once approved."
|
|
14
|
+
|
|
15
|
+
Work through the agreed task list **one task at a time**.
|
|
16
|
+
|
|
17
|
+
#### Present
|
|
18
|
+
|
|
19
|
+
Write the complete task using the task template — Problem, Solution, Outcome, Do, Acceptance Criteria, Tests, Context.
|
|
20
|
+
|
|
21
|
+
Present it to the user **in the format it will be written to the plan**. The output format adapter determines the exact format. What the user sees is what gets logged — no changes between approval and writing.
|
|
22
|
+
|
|
23
|
+
After presenting, ask:
|
|
24
|
+
|
|
25
|
+
> **Task {M} of {total}: {Task Name}**
|
|
26
|
+
>
|
|
27
|
+
> **To proceed, choose one:**
|
|
28
|
+
> - **"Approve"** — Task is confirmed. I'll log it to the plan verbatim.
|
|
29
|
+
> - **"Adjust"** — Tell me what to change.
|
|
30
|
+
|
|
31
|
+
**STOP.** Wait for the user's response.
|
|
32
|
+
|
|
33
|
+
#### If adjust
|
|
34
|
+
|
|
35
|
+
The user may:
|
|
36
|
+
- Request changes to the task content
|
|
37
|
+
- Ask questions about scope, granularity, or approach
|
|
38
|
+
- Flag that something doesn't match the specification
|
|
39
|
+
- Identify missing edge cases or acceptance criteria
|
|
40
|
+
|
|
41
|
+
Incorporate feedback and re-present the updated task **in full**. Then ask the same choice again. Repeat until approved.
|
|
42
|
+
|
|
43
|
+
#### If approved
|
|
44
|
+
|
|
45
|
+
Log the task to the plan — verbatim, as presented. Do not modify content between approval and writing. The output format adapter determines how tasks are written (appending markdown, creating issues, etc.).
|
|
46
|
+
|
|
47
|
+
After logging, confirm:
|
|
48
|
+
|
|
49
|
+
> "Task {M} of {total}: {Task Name} — logged."
|
|
50
|
+
|
|
51
|
+
#### Next task or phase complete
|
|
52
|
+
|
|
53
|
+
**If tasks remain in this phase:** → Return to the top of **Step 6** with the next task. Present it, ask, wait.
|
|
54
|
+
|
|
55
|
+
**If all tasks in this phase are logged:**
|
|
56
|
+
|
|
57
|
+
```
|
|
58
|
+
Phase {N}: {Phase Name} — complete ({M} tasks logged).
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
→ Return to **Step 5** for the next phase.
|
|
62
|
+
|
|
63
|
+
**If all phases are complete:** → Proceed to **Step 7**.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Define Phases
|
|
2
|
+
|
|
3
|
+
*Reference for **[technical-planning](../../SKILL.md)***
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Load **[phase-design.md](../phase-design.md)** — the principles for structuring phases as independently valuable, testable increments built on a walking skeleton.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
Orient the user:
|
|
12
|
+
|
|
13
|
+
> "I've read the full specification. I'm going to propose a phase structure — how we break this into independently testable stages. Once we agree on the phases, we'll take each one and break it into tasks."
|
|
14
|
+
|
|
15
|
+
With the full specification understood, break it into logical phases. Understanding what tasks belong in each phase is necessary to determine the right ordering.
|
|
16
|
+
|
|
17
|
+
Present the proposed phase structure using this format:
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
Phase {N}: {Phase Name}
|
|
21
|
+
Goal: {What this phase accomplishes}
|
|
22
|
+
Why this order: {Why this phase comes at this position in the sequence}
|
|
23
|
+
Acceptance criteria:
|
|
24
|
+
- [ ] {First verifiable criterion}
|
|
25
|
+
- [ ] {Second verifiable criterion}
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
**STOP.** Present your proposed phase structure and ask:
|
|
29
|
+
|
|
30
|
+
> **To proceed, choose one:**
|
|
31
|
+
> - **"Approve"** — Phase structure is confirmed. I'll proceed to task breakdown.
|
|
32
|
+
> - **"Adjust"** — Tell me what to change: reorder, split, merge, add, or remove phases.
|
|
33
|
+
|
|
34
|
+
#### If Adjust
|
|
35
|
+
|
|
36
|
+
Incorporate feedback, re-present the updated phase structure, and ask again. Repeat until approved.
|
|
37
|
+
|
|
38
|
+
#### If Approved
|
|
39
|
+
|
|
40
|
+
→ Proceed to **Step 5**.
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Define Tasks
|
|
2
|
+
|
|
3
|
+
*Reference for **[technical-planning](../../SKILL.md)***
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Load **[task-design.md](../task-design.md)** — the principles for breaking phases into well-scoped, vertically-sliced tasks.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
Orient the user:
|
|
12
|
+
|
|
13
|
+
> "Taking Phase {N}: {Phase Name} and breaking it into tasks. Here's the overview — once we agree on the list, I'll write each task out in full detail."
|
|
14
|
+
|
|
15
|
+
Take the first (or next) phase and break it into tasks. Present a high-level overview so the user can see the shape of the phase before committing to the detail of each task.
|
|
16
|
+
|
|
17
|
+
Present the task overview using this format:
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
Phase {N}: {Phase Name}
|
|
21
|
+
|
|
22
|
+
1. {Task Name} — {One-line summary}
|
|
23
|
+
Edge cases: {comma-separated list, or "none"}
|
|
24
|
+
|
|
25
|
+
2. {Task Name} — {One-line summary}
|
|
26
|
+
Edge cases: {comma-separated list, or "none"}
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
This overview establishes the scope and ordering. The user should be able to see whether the phase is well-structured, whether tasks are in the right order, and whether anything is missing or unnecessary — before investing time in writing out full task detail.
|
|
30
|
+
|
|
31
|
+
**STOP.** Present the phase task overview and ask:
|
|
32
|
+
|
|
33
|
+
> **To proceed, choose one:**
|
|
34
|
+
> - **"Approve"** — Task list is confirmed. I'll begin writing full task detail.
|
|
35
|
+
> - **"Adjust"** — Tell me what to change: reorder, split, merge, add, or remove tasks.
|
|
36
|
+
|
|
37
|
+
#### If Adjust
|
|
38
|
+
|
|
39
|
+
Incorporate feedback, re-present the updated task overview, and ask again. Repeat until approved.
|
|
40
|
+
|
|
41
|
+
#### If Approved
|
|
42
|
+
|
|
43
|
+
→ Proceed to **Step 6**.
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
# Plan Review
|
|
2
|
+
|
|
3
|
+
*Reference for **[technical-planning](../../SKILL.md)***
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
After completing the plan, perform a comprehensive two-part review before handing off to implementation.
|
|
8
|
+
|
|
9
|
+
**Why this matters**: The plan is what gets built. If content was hallucinated into the plan, it will be implemented — building something that was never discussed or validated. If specification content was missed, it won't be built. The entire purpose of this workflow is that artifacts carry validated decisions through to implementation. The plan is the final gate before code is written.
|
|
10
|
+
|
|
11
|
+
## Review Tracking Files
|
|
12
|
+
|
|
13
|
+
To ensure analysis isn't lost during context refresh, create tracking files that capture findings. These files persist analysis so work can continue across sessions.
|
|
14
|
+
|
|
15
|
+
**Location**: Store tracking files alongside the plan file:
|
|
16
|
+
- `{topic}-review-traceability-tracking.md` — Traceability findings
|
|
17
|
+
- `{topic}-review-integrity-tracking.md` — Integrity findings
|
|
18
|
+
|
|
19
|
+
**Format**:
|
|
20
|
+
```markdown
|
|
21
|
+
---
|
|
22
|
+
status: in-progress | complete
|
|
23
|
+
created: YYYY-MM-DD
|
|
24
|
+
phase: Traceability Review | Plan Integrity Review
|
|
25
|
+
topic: [Topic Name]
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
# Review Tracking: [Topic Name] - [Phase]
|
|
29
|
+
|
|
30
|
+
## Findings
|
|
31
|
+
|
|
32
|
+
### 1. [Brief Title]
|
|
33
|
+
|
|
34
|
+
**Type**: Missing from plan | Hallucinated content | Incomplete coverage | Structural issue | Weak criteria | ...
|
|
35
|
+
**Spec Reference**: [Section/decision in specification, or "N/A" for integrity findings]
|
|
36
|
+
**Plan Reference**: [Phase/task in plan, or "N/A" for missing content]
|
|
37
|
+
|
|
38
|
+
**Details**:
|
|
39
|
+
[What was found and why it matters]
|
|
40
|
+
|
|
41
|
+
**Proposed Fix**:
|
|
42
|
+
[What should change in the plan — leave blank until discussed]
|
|
43
|
+
|
|
44
|
+
**Resolution**: Pending | Fixed | Adjusted | Skipped
|
|
45
|
+
**Notes**: [Discussion notes or adjustments]
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
### 2. [Next Finding]
|
|
50
|
+
...
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
**Why tracking files**: If context refreshes mid-review, you can read the tracking file and continue where you left off. The tracking file shows which items are resolved and which remain.
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## Traceability Review
|
|
58
|
+
|
|
59
|
+
Compare the plan against the specification in both directions — checking that everything from the spec is in the plan, and everything in the plan traces back to the spec.
|
|
60
|
+
|
|
61
|
+
Load **[review-traceability.md](review-traceability.md)** and follow its instructions as written.
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## Plan Integrity Review
|
|
66
|
+
|
|
67
|
+
Review the plan as a standalone document for structural quality, implementation readiness, and adherence to planning standards.
|
|
68
|
+
|
|
69
|
+
Load **[review-integrity.md](review-integrity.md)** and follow its instructions as written.
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## Completion
|
|
74
|
+
|
|
75
|
+
After both reviews:
|
|
76
|
+
|
|
77
|
+
1. **Verify tracking files are deleted** — Both traceability and integrity tracking files must be gone
|
|
78
|
+
|
|
79
|
+
2. **Final quality confirmation**:
|
|
80
|
+
- All specification content has plan coverage (Traceability)
|
|
81
|
+
- No hallucinated content remains (Traceability)
|
|
82
|
+
- All tasks follow the required template (Integrity)
|
|
83
|
+
- Dependencies are documented and ordered (Integrity)
|
|
84
|
+
- External dependencies match specification (Integrity)
|
|
85
|
+
|
|
86
|
+
3. **Confirm with the user**:
|
|
87
|
+
|
|
88
|
+
> "The plan has passed both reviews:
|
|
89
|
+
> - **Traceability**: All specification content is covered; no hallucinated content
|
|
90
|
+
> - **Integrity**: Plan structure, tasks, and dependencies are implementation-ready
|
|
91
|
+
>
|
|
92
|
+
> Review is complete."
|
|
93
|
+
|
|
94
|
+
> **CHECKPOINT**: Do not confirm completion if tracking files still exist. They indicate incomplete review work.
|
|
95
|
+
|
|
96
|
+
→ Proceed to **Step 9**.
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# Resolve External Dependencies
|
|
2
|
+
|
|
3
|
+
*Reference for **[technical-planning](../../SKILL.md)***
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Orient the user:
|
|
8
|
+
|
|
9
|
+
> "All phases and tasks are written. Now I'll check for external dependencies — things this plan needs from other topics or systems."
|
|
10
|
+
|
|
11
|
+
After all phases are detailed and written, handle external dependencies — things this plan needs from other topics or systems.
|
|
12
|
+
|
|
13
|
+
#### If the specification has a Dependencies section
|
|
14
|
+
|
|
15
|
+
The specification's Dependencies section lists what this feature needs from outside its own scope. These must be documented in the plan so implementation knows what is blocked and what is available.
|
|
16
|
+
|
|
17
|
+
1. **Document each dependency** in the plan's External Dependencies section using the format described in [dependencies.md](../dependencies.md). Initially, record each as unresolved.
|
|
18
|
+
|
|
19
|
+
2. **Resolve where possible** — For each dependency, check whether a plan already exists for that topic:
|
|
20
|
+
- If a plan exists, identify the specific task(s) that satisfy the dependency. Query the output format to find relevant tasks. If ambiguous, ask the user which tasks apply. Update the dependency entry from unresolved → resolved with the task reference.
|
|
21
|
+
- If no plan exists, leave the dependency as unresolved. It will be linked later via `/link-dependencies` or when that topic is planned.
|
|
22
|
+
|
|
23
|
+
3. **Reverse check** — Check whether any existing plans have unresolved dependencies that reference *this* topic. Now that this plan exists with specific tasks:
|
|
24
|
+
- Scan other plan files for External Dependencies entries that mention this topic
|
|
25
|
+
- For each match, identify which task(s) in the current plan satisfy that dependency
|
|
26
|
+
- Update the other plan's dependency entry with the task reference (unresolved → resolved)
|
|
27
|
+
|
|
28
|
+
#### If the specification has no Dependencies section
|
|
29
|
+
|
|
30
|
+
Document this explicitly in the plan:
|
|
31
|
+
|
|
32
|
+
```markdown
|
|
33
|
+
## External Dependencies
|
|
34
|
+
|
|
35
|
+
No external dependencies.
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
This makes it clear that dependencies were considered and none exist — not that they were overlooked.
|
|
39
|
+
|
|
40
|
+
#### If no other plans exist
|
|
41
|
+
|
|
42
|
+
Skip the resolution and reverse check — there is nothing to resolve against. Document the dependencies as unresolved. They will be linked when other topics are planned, or via `/link-dependencies`.
|
|
43
|
+
|
|
44
|
+
**STOP.** Present a summary of the dependency state: what was documented, what was resolved, what remains unresolved, and any reverse resolutions made.
|
|
45
|
+
|
|
46
|
+
> **To proceed, choose one:**
|
|
47
|
+
> - **"Approve"** — Dependency state is confirmed. Proceed to plan review.
|
|
48
|
+
> - **"Adjust"** — Tell me what to change.
|
|
49
|
+
|
|
50
|
+
#### If Adjust
|
|
51
|
+
|
|
52
|
+
Incorporate feedback, re-present the updated dependency state, and ask again. Repeat until approved.
|
|
53
|
+
|
|
54
|
+
#### If Approved
|
|
55
|
+
|
|
56
|
+
→ Proceed to **Step 8**.
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
# Plan Integrity Review
|
|
2
|
+
|
|
3
|
+
*Reference for **[plan-review](plan-review.md)***
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Review the plan **as a standalone document** for structural quality, implementation readiness, and adherence to planning standards.
|
|
8
|
+
|
|
9
|
+
**Purpose**: Ensure that the plan itself is well-structured, complete, and ready for implementation. An implementer (human or AI) should be able to pick up this plan and execute it without ambiguity, without needing to make design decisions, and without referring back to the specification.
|
|
10
|
+
|
|
11
|
+
**Key distinction**: The traceability review checked *what's in the plan* against the spec. This review checks *how it's structured* — looking inward at the plan's own quality.
|
|
12
|
+
|
|
13
|
+
Read the plan end-to-end — carefully, as if you were about to implement it. For each phase, each task, and the plan overall, check against the following criteria:
|
|
14
|
+
|
|
15
|
+
## What You're NOT Doing
|
|
16
|
+
|
|
17
|
+
- **Not redesigning the plan** — You're checking quality, not re-architecting
|
|
18
|
+
- **Not adding content from outside the spec** — If a task needs more detail, the detail must come from the specification
|
|
19
|
+
- **Not gold-plating** — Focus on issues that would actually impact implementation
|
|
20
|
+
- **Not second-guessing phase structure** — Unless it's fundamentally broken, the structure stands
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## What to Look For
|
|
25
|
+
|
|
26
|
+
1. **Task Template Compliance**
|
|
27
|
+
- Every task has all required fields: Problem, Solution, Outcome, Do, Acceptance Criteria, Tests
|
|
28
|
+
- Problem statements clearly explain WHY the task exists
|
|
29
|
+
- Solution statements describe WHAT we're building
|
|
30
|
+
- Outcome statements define what success looks like
|
|
31
|
+
- Acceptance criteria are concrete and verifiable (not vague)
|
|
32
|
+
- Tests include edge cases, not just happy paths
|
|
33
|
+
|
|
34
|
+
2. **Vertical Slicing**
|
|
35
|
+
- Tasks deliver complete, testable functionality
|
|
36
|
+
- No horizontal slicing (all models, then all services, then all wiring)
|
|
37
|
+
- Each task can be verified independently
|
|
38
|
+
- Each task is a single TDD cycle
|
|
39
|
+
|
|
40
|
+
3. **Phase Structure**
|
|
41
|
+
- Phases follow logical progression (Foundation → Core → Edge cases → Refinement)
|
|
42
|
+
- Each phase has clear acceptance criteria
|
|
43
|
+
- Each phase is independently testable
|
|
44
|
+
- Phase boundaries make sense (not arbitrary groupings)
|
|
45
|
+
|
|
46
|
+
4. **Dependencies and Ordering**
|
|
47
|
+
- Phase ordering reflects actual dependencies
|
|
48
|
+
- Tasks within phases are ordered logically
|
|
49
|
+
- Cross-phase dependencies are explicit where they exist
|
|
50
|
+
- No circular dependencies
|
|
51
|
+
- An implementer can infer execution order from the plan structure
|
|
52
|
+
|
|
53
|
+
5. **Task Self-Containment**
|
|
54
|
+
- Each task contains all context needed for execution
|
|
55
|
+
- No task requires reading other tasks to understand what to do
|
|
56
|
+
- Relevant specification decisions are pulled into task context
|
|
57
|
+
- An implementer could pick up any single task and execute it
|
|
58
|
+
|
|
59
|
+
6. **Scope and Granularity**
|
|
60
|
+
- Each task is one TDD cycle (not too large, not too small)
|
|
61
|
+
- No task requires multiple unrelated implementation steps
|
|
62
|
+
- No task is so granular it's just mechanical boilerplate
|
|
63
|
+
|
|
64
|
+
7. **Acceptance Criteria Quality**
|
|
65
|
+
- Criteria are pass/fail, not subjective
|
|
66
|
+
- Criteria cover the actual requirement, not just "code exists"
|
|
67
|
+
- Edge case criteria are specific about boundary values and behaviors
|
|
68
|
+
- No criteria that an implementer would have to interpret
|
|
69
|
+
|
|
70
|
+
8. **External Dependencies**
|
|
71
|
+
- All external dependencies from the specification are documented in the plan
|
|
72
|
+
- Dependencies are in the correct state (resolved/unresolved)
|
|
73
|
+
- No external dependencies were missed or invented
|
|
74
|
+
|
|
75
|
+
## Presenting Integrity Findings
|
|
76
|
+
|
|
77
|
+
After completing your review, categorize each finding by severity:
|
|
78
|
+
|
|
79
|
+
- **Critical**: Would block implementation or cause incorrect behavior
|
|
80
|
+
- **Important**: Would force implementer to guess or make design decisions
|
|
81
|
+
- **Minor**: Polish or improvement that strengthens the plan
|
|
82
|
+
|
|
83
|
+
Then:
|
|
84
|
+
|
|
85
|
+
1. **Create the tracking file** — Write all findings to `{topic}-review-integrity-tracking.md`
|
|
86
|
+
2. **Commit the tracking file** — Ensures it survives context refresh
|
|
87
|
+
3. **Present findings** in two stages:
|
|
88
|
+
|
|
89
|
+
**Stage 1: Summary**
|
|
90
|
+
|
|
91
|
+
> "I've completed the plan integrity review. I found [N] items:
|
|
92
|
+
>
|
|
93
|
+
> 1. **[Brief title]** (Critical/Important/Minor)
|
|
94
|
+
> [2-4 line explanation: what the issue is, why it matters for implementation]
|
|
95
|
+
>
|
|
96
|
+
> 2. **[Brief title]** (Critical/Important/Minor)
|
|
97
|
+
> [2-4 line explanation]
|
|
98
|
+
>
|
|
99
|
+
> Let's work through these one at a time, starting with #1."
|
|
100
|
+
|
|
101
|
+
**Stage 2: Process One Item at a Time**
|
|
102
|
+
|
|
103
|
+
Work through each finding **one at a time**. For each finding: present it, propose the fix, wait for approval, then apply it verbatim.
|
|
104
|
+
|
|
105
|
+
### Present the Finding
|
|
106
|
+
|
|
107
|
+
Show the finding with full detail:
|
|
108
|
+
|
|
109
|
+
> **Finding {N} of {total}: {Brief Title}**
|
|
110
|
+
>
|
|
111
|
+
> **Severity**: Critical | Important | Minor
|
|
112
|
+
>
|
|
113
|
+
> **Plan Reference**: [Phase/task in the plan]
|
|
114
|
+
>
|
|
115
|
+
> **Category**: [Which review criterion — e.g., "Task Template Compliance", "Vertical Slicing"]
|
|
116
|
+
>
|
|
117
|
+
> **Details**: [What the issue is and why it matters for implementation]
|
|
118
|
+
|
|
119
|
+
### Propose the Fix
|
|
120
|
+
|
|
121
|
+
Present the proposed fix **in the format it will be written to the plan**. What the user sees is what gets applied — no changes between approval and writing.
|
|
122
|
+
|
|
123
|
+
State the action type explicitly so the user knows what's changing structurally:
|
|
124
|
+
|
|
125
|
+
**Update a task** — change content within an existing task:
|
|
126
|
+
|
|
127
|
+
> **Proposed fix — update Phase {N}, Task {M}:**
|
|
128
|
+
>
|
|
129
|
+
> **Current:**
|
|
130
|
+
> [The existing content as it appears in the plan]
|
|
131
|
+
>
|
|
132
|
+
> **Proposed:**
|
|
133
|
+
> [The replacement content]
|
|
134
|
+
|
|
135
|
+
**Add content to a task** — insert into an existing task (e.g., missing acceptance criteria, edge case):
|
|
136
|
+
|
|
137
|
+
> **Proposed fix — add to Phase {N}, Task {M}, {section}:**
|
|
138
|
+
>
|
|
139
|
+
> [The exact content to be added, in plan format]
|
|
140
|
+
|
|
141
|
+
**Remove content from a task** — strip content that shouldn't be there:
|
|
142
|
+
|
|
143
|
+
> **Proposed fix — remove from Phase {N}, Task {M}, {section}:**
|
|
144
|
+
>
|
|
145
|
+
> [The exact content to be removed]
|
|
146
|
+
|
|
147
|
+
**Add a new task** — a spec section has no plan coverage and needs its own task:
|
|
148
|
+
|
|
149
|
+
> **Proposed fix — add new task to Phase {N}:**
|
|
150
|
+
>
|
|
151
|
+
> [The complete task in plan format, using the task template]
|
|
152
|
+
|
|
153
|
+
**Remove a task** — an entire task is hallucinated with no spec backing:
|
|
154
|
+
|
|
155
|
+
> **Proposed fix — remove Phase {N}, Task {M}: {Task Name}**
|
|
156
|
+
>
|
|
157
|
+
> **Reason**: [Why this task has no specification basis]
|
|
158
|
+
|
|
159
|
+
**Add a new phase** — a significant area of the specification has no plan coverage:
|
|
160
|
+
|
|
161
|
+
> **Proposed fix — add new Phase {N}: {Phase Name}**
|
|
162
|
+
>
|
|
163
|
+
> [Phase goal, acceptance criteria, and task overview]
|
|
164
|
+
|
|
165
|
+
**Remove a phase** — an entire phase is not backed by the specification:
|
|
166
|
+
|
|
167
|
+
> **Proposed fix — remove Phase {N}: {Phase Name}**
|
|
168
|
+
>
|
|
169
|
+
> **Reason**: [Why this phase has no specification basis]
|
|
170
|
+
|
|
171
|
+
After presenting the finding and proposed fix, ask:
|
|
172
|
+
|
|
173
|
+
> **Finding {N} of {total}: {Brief Title}**
|
|
174
|
+
>
|
|
175
|
+
> **To proceed, choose one:**
|
|
176
|
+
> - **"Approve"** — Fix is confirmed. I'll apply it to the plan verbatim.
|
|
177
|
+
> - **"Adjust"** — Tell me what to change about the proposed fix.
|
|
178
|
+
> - **"Skip"** — Leave this as-is and move to the next finding.
|
|
179
|
+
|
|
180
|
+
**STOP.** Wait for the user's response.
|
|
181
|
+
|
|
182
|
+
### If Adjust
|
|
183
|
+
|
|
184
|
+
The user may:
|
|
185
|
+
- Request changes to the proposed fix
|
|
186
|
+
- Ask questions about why this was flagged
|
|
187
|
+
- Suggest a different approach to resolving the finding
|
|
188
|
+
|
|
189
|
+
Incorporate feedback and re-present the proposed fix **in full** using the same format above. Then ask the same choice again. Repeat until approved or skipped.
|
|
190
|
+
|
|
191
|
+
### If Approved
|
|
192
|
+
|
|
193
|
+
Apply the fix to the plan — as presented, using the output format adapter to determine how it's written. Do not modify content between approval and writing. Then update the tracking file: mark resolution as "Fixed", add any discussion notes.
|
|
194
|
+
|
|
195
|
+
Confirm:
|
|
196
|
+
|
|
197
|
+
> "Finding {N} of {total}: {Brief Title} — fixed."
|
|
198
|
+
|
|
199
|
+
### If Skipped
|
|
200
|
+
|
|
201
|
+
Update the tracking file: mark resolution as "Skipped", note the reason.
|
|
202
|
+
|
|
203
|
+
> "Finding {N} of {total}: {Brief Title} — skipped."
|
|
204
|
+
|
|
205
|
+
### Next Finding
|
|
206
|
+
|
|
207
|
+
Commit the tracking file (and any plan changes) before moving on. This ensures progress survives context refresh or session interruption.
|
|
208
|
+
|
|
209
|
+
**If findings remain:** → Present the next finding. Follow the same present → propose → ask → apply sequence.
|
|
210
|
+
|
|
211
|
+
**If all findings are processed:**
|
|
212
|
+
|
|
213
|
+
**Delete the integrity tracking file** (`{topic}-review-integrity-tracking.md`) — it has served its purpose.
|
|
214
|
+
|
|
215
|
+
Inform the user the integrity review is complete.
|
|
216
|
+
|
|
217
|
+
→ Return to **[plan-review.md](plan-review.md)** for completion.
|