@leeovery/claude-technical-workflows 2.0.47 → 2.0.49
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/agents/planning-phase-designer.md +88 -0
- package/agents/planning-task-author.md +67 -0
- package/agents/planning-task-designer.md +75 -0
- package/package.json +1 -1
- package/skills/technical-planning/SKILL.md +97 -32
- package/skills/technical-planning/references/dependencies.md +3 -3
- package/skills/technical-planning/references/output-formats/output-backlog-md.md +71 -11
- package/skills/technical-planning/references/output-formats/output-beads.md +63 -11
- package/skills/technical-planning/references/output-formats/output-linear.md +59 -6
- package/skills/technical-planning/references/output-formats/output-local-markdown.md +138 -96
- package/skills/technical-planning/references/output-formats.md +21 -5
- package/skills/technical-planning/references/planning-principles.md +35 -3
- package/skills/technical-planning/references/read-specification.md +47 -0
- package/skills/technical-planning/references/spec-change-detection.md +35 -0
- package/skills/technical-planning/references/steps/author-tasks.md +34 -31
- package/skills/technical-planning/references/steps/define-phases.md +61 -19
- package/skills/technical-planning/references/steps/define-tasks.md +43 -19
- package/skills/technical-planning/references/steps/plan-construction.md +131 -0
- package/skills/technical-planning/references/steps/plan-review.md +2 -4
- package/skills/technical-planning/references/steps/resolve-dependencies.md +5 -7
- package/skills/technical-planning/references/steps/review-integrity.md +5 -5
- package/skills/technical-planning/references/steps/review-traceability.md +5 -5
- package/skills/technical-planning/references/steps/verify-source-material.md +20 -0
- package/skills/technical-specification/SKILL.md +3 -3
- package/skills/technical-specification/references/specification-guide.md +15 -15
|
@@ -4,7 +4,13 @@
|
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
These are the principles, rules, and quality standards that govern the planning process.
|
|
8
|
+
|
|
9
|
+
## Your Role
|
|
10
|
+
|
|
11
|
+
You are the **planner** — you coordinate the planning process and control a set of agents that do the analytical work alongside you. You invoke agents (for phase design, task design, and task authoring), present their output to the user, handle approval gates, and manage the Plan Index File.
|
|
12
|
+
|
|
13
|
+
Analysis principles (`phase-design.md`, `task-design.md`) are loaded by the agents, not by you. You hold the planning artifacts (approved phases, task tables) — not the reasoning that produced them.
|
|
8
14
|
|
|
9
15
|
## Planning is a Gated Process
|
|
10
16
|
|
|
@@ -12,9 +18,35 @@ Planning translates the specification into actionable structure. This translatio
|
|
|
12
18
|
|
|
13
19
|
### Process Expectations
|
|
14
20
|
|
|
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
|
|
21
|
+
**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 approval, and only then proceed to the next step.
|
|
22
|
+
|
|
23
|
+
**Never one-shot the plan.** Do not write the entire Plan Index File 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.
|
|
24
|
+
|
|
25
|
+
### Explicit Approval Required
|
|
26
|
+
|
|
27
|
+
At every stop point — phases, task lists, individual tasks, dependencies — the user must explicitly approve before you proceed or log content.
|
|
28
|
+
|
|
29
|
+
**What counts as approval:** `y`/`yes` or equivalent explicit confirmation: "Approved", "That's good", "Looks right".
|
|
30
|
+
|
|
31
|
+
**What does NOT count as approval:**
|
|
32
|
+
- Silence
|
|
33
|
+
- You presenting choices (that's you asking, not them approving)
|
|
34
|
+
- The user asking a follow-up question
|
|
35
|
+
- The user saying "What's next?" or "Continue"
|
|
36
|
+
- The user making a comment or observation without explicit approval
|
|
37
|
+
- ANY response that isn't explicit confirmation
|
|
38
|
+
|
|
39
|
+
**If you are uncertain whether the user approved, ASK:** "Ready to proceed, or do you want to change something?"
|
|
40
|
+
|
|
41
|
+
#### Self-Check Before Logging
|
|
42
|
+
|
|
43
|
+
Before logging any task to the plan, ask yourself:
|
|
44
|
+
|
|
45
|
+
1. **Did I present this specific content to the user?** If no → STOP. Present it first.
|
|
46
|
+
2. **Did the user explicitly approve it?** If no → STOP. Wait for approval.
|
|
47
|
+
3. **Am I writing exactly what was approved?** If adding or changing anything → STOP. Present the changes first.
|
|
16
48
|
|
|
17
|
-
|
|
49
|
+
### Collaboration and Judgment
|
|
18
50
|
|
|
19
51
|
**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
52
|
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# Read Specification
|
|
2
|
+
|
|
3
|
+
*Reference for **[technical-planning](../SKILL.md)***
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
This reference defines how planning agents must read the specification. It is passed to every agent alongside the specification path.
|
|
8
|
+
|
|
9
|
+
**This is a full-ingestion protocol, not a summarisation guide.**
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Read the Entire Specification
|
|
14
|
+
|
|
15
|
+
Read the specification file from top to bottom. Every section, every decision, every edge case, every constraint. If the file is large, read it in sequential chunks until you have consumed the entire document. Do not stop early. Do not skim.
|
|
16
|
+
|
|
17
|
+
The specification is a verbatim, user-approved artifact. Every detail was explicitly agreed — treat nothing as filler or boilerplate.
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## What to Absorb
|
|
22
|
+
|
|
23
|
+
As you read, internalise:
|
|
24
|
+
|
|
25
|
+
- **Decisions and rationale** — what was decided and why
|
|
26
|
+
- **Architectural choices** — patterns, technologies, structures chosen
|
|
27
|
+
- **Edge cases** — boundary conditions, unusual inputs, failure modes
|
|
28
|
+
- **Acceptance boundaries** — what constitutes "done" for each requirement
|
|
29
|
+
- **Constraints** — performance, compatibility, regulatory, or scope limits
|
|
30
|
+
- **Dependencies** — what this feature needs from other systems or topics
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## Cross-Cutting Specifications
|
|
35
|
+
|
|
36
|
+
If cross-cutting specification paths are provided, read each one in full using the same protocol. Cross-cutting specs contain architectural decisions (caching, rate limiting, error handling) that influence how features are built — they inform implementation approach without adding scope.
|
|
37
|
+
|
|
38
|
+
Note where cross-cutting decisions apply to the work you are designing.
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## What NOT to Do
|
|
43
|
+
|
|
44
|
+
- **Do not summarise** — your job is to use the spec directly, not to create a derivative
|
|
45
|
+
- **Do not skip sections** — even sections that seem irrelevant may contain constraints or edge cases that affect your work
|
|
46
|
+
- **Do not reinterpret decisions** — the spec contains validated decisions; translate them into plan structure, don't second-guess them
|
|
47
|
+
- **Do not reference other source material** — the specification is the sole input; it already incorporates prior research and discussion
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Spec Change Detection
|
|
2
|
+
|
|
3
|
+
*Reference for **[technical-planning](../SKILL.md)***
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
When resuming planning, check whether the specification or cross-cutting specifications have changed since planning started.
|
|
8
|
+
|
|
9
|
+
The Plan Index File stores `spec_commit` — the git commit hash captured when planning began. This allows diffing any input file against that point in time.
|
|
10
|
+
|
|
11
|
+
## Detection
|
|
12
|
+
|
|
13
|
+
Run a git diff against the stored commit for all input files:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
git diff {spec_commit} -- {specification-path} {cross-cutting-spec-paths...}
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Also check for new cross-cutting specification files that didn't exist at that commit.
|
|
20
|
+
|
|
21
|
+
## Reporting
|
|
22
|
+
|
|
23
|
+
**If no changes detected:**
|
|
24
|
+
|
|
25
|
+
> "Specification unchanged since planning started."
|
|
26
|
+
|
|
27
|
+
**If changes detected:**
|
|
28
|
+
|
|
29
|
+
Summarise the extent of changes:
|
|
30
|
+
|
|
31
|
+
- **What files changed** (specification, cross-cutting specs, or both)
|
|
32
|
+
- **Whether any cross-cutting specs are new** (didn't exist at the stored commit)
|
|
33
|
+
- **Nature of changes** — formatting/cosmetic, minor additions/removals, or substantial restructuring
|
|
34
|
+
|
|
35
|
+
Return the summary for use in the resume prompt.
|
|
@@ -4,60 +4,63 @@
|
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
This step uses the `planning-task-author` agent (`.claude/agents/planning-task-author.md`) to write full detail for a single task. You invoke the agent, present its output, and handle the approval gate.
|
|
8
8
|
|
|
9
9
|
---
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
## Author the Task
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
### Invoke the Agent
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
Invoke `planning-task-author` with these file paths:
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
1. **read-specification.md**: `.claude/skills/technical-planning/references/read-specification.md`
|
|
18
|
+
2. **Specification**: path from the Plan Index File's `specification:` field
|
|
19
|
+
3. **Cross-cutting specs**: paths from the Plan Index File's `cross_cutting_specs:` field (if any)
|
|
20
|
+
4. **task-design.md**: `.claude/skills/technical-planning/references/task-design.md`
|
|
21
|
+
5. **All approved phases**: the complete phase structure from the Plan Index File body
|
|
22
|
+
6. **Task list for current phase**: the approved task table
|
|
23
|
+
7. **Target task**: the task name, edge cases, and ID from the table
|
|
24
|
+
8. **Output format adapter**: path to the loaded output format adapter
|
|
18
25
|
|
|
19
|
-
|
|
26
|
+
### Present the Output
|
|
20
27
|
|
|
21
|
-
|
|
28
|
+
The agent returns complete task detail in the output format's structure. Present it to the user **exactly as it will be written** — what the user sees is what gets logged.
|
|
22
29
|
|
|
23
30
|
After presenting, ask:
|
|
24
31
|
|
|
25
32
|
> **Task {M} of {total}: {Task Name}**
|
|
26
33
|
>
|
|
27
|
-
> **To proceed
|
|
28
|
-
> -
|
|
29
|
-
> - **
|
|
34
|
+
> **To proceed:**
|
|
35
|
+
> - **`y`/`yes`** — Approved. I'll log it to the plan.
|
|
36
|
+
> - **Or tell me what to change.**
|
|
37
|
+
> - **Or navigate** — a different phase or task, or the leading edge.
|
|
30
38
|
|
|
31
39
|
**STOP.** Wait for the user's response.
|
|
32
40
|
|
|
33
|
-
#### If
|
|
41
|
+
#### If the user provides feedback
|
|
34
42
|
|
|
35
|
-
|
|
36
|
-
-
|
|
37
|
-
-
|
|
38
|
-
- Flag that something doesn't match the specification
|
|
39
|
-
- Identify missing edge cases or acceptance criteria
|
|
43
|
+
Re-invoke `planning-task-author` with all original inputs PLUS:
|
|
44
|
+
- **Previous output**: the current task detail
|
|
45
|
+
- **User feedback**: what the user wants changed
|
|
40
46
|
|
|
41
|
-
|
|
47
|
+
Present the revised task in full. Ask the same choice again. Repeat until approved.
|
|
42
48
|
|
|
43
|
-
#### If
|
|
49
|
+
#### If the user navigates
|
|
44
50
|
|
|
45
|
-
|
|
51
|
+
→ Return to **Plan Construction**.
|
|
46
52
|
|
|
47
|
-
|
|
53
|
+
#### If approved (`y`/`yes`)
|
|
48
54
|
|
|
49
|
-
>
|
|
55
|
+
> **CHECKPOINT**: Before logging, verify: (1) You presented this exact content, (2) The user explicitly approved with `y`/`yes` or equivalent — not a question, comment, or "okay" in passing, (3) You are writing exactly what was approved with no modifications.
|
|
50
56
|
|
|
51
|
-
|
|
57
|
+
1. Write the task to the output format (format-specific — see output adapter)
|
|
58
|
+
2. Update the task table in the Plan Index File: set `status: authored`
|
|
59
|
+
3. Advance the `planning:` block in frontmatter to the next pending task (or next phase if this was the last task)
|
|
60
|
+
4. Commit: `planning({topic}): author task {task-id} ({task name})`
|
|
52
61
|
|
|
53
|
-
|
|
62
|
+
Confirm:
|
|
54
63
|
|
|
55
|
-
|
|
64
|
+
> "Task {M} of {total}: {Task Name} — authored."
|
|
56
65
|
|
|
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**.
|
|
66
|
+
→ Return to **Plan Construction**.
|
|
@@ -4,37 +4,79 @@
|
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
This step uses the `planning-phase-designer` agent (`.claude/agents/planning-phase-designer.md`) to define or review the phase structure. Whether phases are being designed for the first time or reviewed from a previous session, the process converges on the same approval gate.
|
|
8
8
|
|
|
9
9
|
---
|
|
10
10
|
|
|
11
|
+
## Determine Phase State
|
|
12
|
+
|
|
13
|
+
Read the Plan Index File. Check if phases already exist in the body.
|
|
14
|
+
|
|
15
|
+
#### If phases exist
|
|
16
|
+
|
|
11
17
|
Orient the user:
|
|
12
18
|
|
|
13
|
-
> "
|
|
19
|
+
> "Phase structure already exists. I'll present it for your review."
|
|
14
20
|
|
|
15
|
-
|
|
21
|
+
Continue to **Review and Approve** below.
|
|
16
22
|
|
|
17
|
-
|
|
23
|
+
#### If no phases exist
|
|
18
24
|
|
|
25
|
+
Orient the user:
|
|
26
|
+
|
|
27
|
+
> "I'll delegate phase design to a specialist agent. It will read the full specification and propose a phase structure — how we break this into independently testable stages."
|
|
28
|
+
|
|
29
|
+
### Invoke the Agent
|
|
30
|
+
|
|
31
|
+
Invoke `planning-phase-designer` with these file paths:
|
|
32
|
+
|
|
33
|
+
1. **read-specification.md**: `.claude/skills/technical-planning/references/read-specification.md`
|
|
34
|
+
2. **Specification**: path from the Plan Index File's `specification:` field
|
|
35
|
+
3. **Cross-cutting specs**: paths from the Plan Index File's `cross_cutting_specs:` field (if any)
|
|
36
|
+
4. **phase-design.md**: `.claude/skills/technical-planning/references/phase-design.md`
|
|
37
|
+
5. **task-design.md**: `.claude/skills/technical-planning/references/task-design.md`
|
|
38
|
+
|
|
39
|
+
The agent returns a complete phase structure. Write it directly to the Plan Index File body.
|
|
40
|
+
|
|
41
|
+
Update the frontmatter `planning:` block:
|
|
42
|
+
```yaml
|
|
43
|
+
planning:
|
|
44
|
+
phase: 1
|
|
45
|
+
task: ~
|
|
19
46
|
```
|
|
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
47
|
|
|
28
|
-
|
|
48
|
+
Commit: `planning({topic}): draft phase structure`
|
|
49
|
+
|
|
50
|
+
Continue to **Review and Approve** below.
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## Review and Approve
|
|
55
|
+
|
|
56
|
+
Present the phase structure to the user.
|
|
57
|
+
|
|
58
|
+
**STOP.** Ask:
|
|
59
|
+
|
|
60
|
+
> **Phase Structure**
|
|
61
|
+
>
|
|
62
|
+
> **To proceed:**
|
|
63
|
+
> - **`y`/`yes`** — Approved. I'll proceed to task breakdown.
|
|
64
|
+
> - **Or tell me what to change** — reorder, split, merge, add, edit, or remove phases.
|
|
65
|
+
> - **Or navigate** — a different phase or task, or the leading edge.
|
|
66
|
+
|
|
67
|
+
#### If the user provides feedback
|
|
68
|
+
|
|
69
|
+
Re-invoke `planning-phase-designer` with all original inputs PLUS:
|
|
70
|
+
- **Previous output**: the current phase structure
|
|
71
|
+
- **User feedback**: what the user wants changed
|
|
29
72
|
|
|
30
|
-
|
|
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.
|
|
73
|
+
Update the Plan Index File with the revised output, re-present, and ask again. Repeat until approved.
|
|
33
74
|
|
|
34
|
-
#### If
|
|
75
|
+
#### If approved
|
|
35
76
|
|
|
36
|
-
|
|
77
|
+
**If the phase structure is new or was amended:**
|
|
37
78
|
|
|
38
|
-
|
|
79
|
+
1. Update each phase in the Plan Index File: set `status: approved` and `approved_at: YYYY-MM-DD` (use today's actual date)
|
|
80
|
+
2. Commit: `planning({topic}): approve phase structure`
|
|
39
81
|
|
|
40
|
-
|
|
82
|
+
**If the phase structure was already approved and unchanged:** No updates needed.
|
|
@@ -4,40 +4,64 @@
|
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
This step uses the `planning-task-designer` agent (`.claude/agents/planning-task-designer.md`) to design a task list for a single phase. You invoke the agent, present its output, and handle the approval gate.
|
|
8
8
|
|
|
9
9
|
---
|
|
10
10
|
|
|
11
|
+
## Design the Task List
|
|
12
|
+
|
|
11
13
|
Orient the user:
|
|
12
14
|
|
|
13
|
-
> "Taking Phase {N}: {Phase Name} and breaking it into tasks.
|
|
15
|
+
> "Taking Phase {N}: {Phase Name} and breaking it into tasks. I'll delegate this to a specialist agent that will read the full specification and propose a task list."
|
|
14
16
|
|
|
15
|
-
|
|
17
|
+
### Invoke the Agent
|
|
16
18
|
|
|
17
|
-
|
|
19
|
+
Invoke `planning-task-designer` with these file paths:
|
|
18
20
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
+
1. **read-specification.md**: `.claude/skills/technical-planning/references/read-specification.md`
|
|
22
|
+
2. **Specification**: path from the Plan Index File's `specification:` field
|
|
23
|
+
3. **Cross-cutting specs**: paths from the Plan Index File's `cross_cutting_specs:` field (if any)
|
|
24
|
+
4. **task-design.md**: `.claude/skills/technical-planning/references/task-design.md`
|
|
25
|
+
5. **All approved phases**: the complete phase structure from the Plan Index File body
|
|
26
|
+
6. **Target phase number**: the phase being broken into tasks
|
|
21
27
|
|
|
22
|
-
|
|
23
|
-
Edge cases: {comma-separated list, or "none"}
|
|
28
|
+
### Present the Output
|
|
24
29
|
|
|
25
|
-
|
|
26
|
-
|
|
30
|
+
The agent returns a task overview and task table. Write the task table directly to the Plan Index File under the phase.
|
|
31
|
+
|
|
32
|
+
Update the frontmatter `planning:` block:
|
|
33
|
+
```yaml
|
|
34
|
+
planning:
|
|
35
|
+
phase: {N}
|
|
36
|
+
task: ~
|
|
27
37
|
```
|
|
28
38
|
|
|
29
|
-
|
|
39
|
+
Commit: `planning({topic}): draft Phase {N} task list`
|
|
40
|
+
|
|
41
|
+
Present the task overview to the user.
|
|
42
|
+
|
|
43
|
+
**STOP.** Ask:
|
|
44
|
+
|
|
45
|
+
> **To proceed:**
|
|
46
|
+
> - **`y`/`yes`** — Approved.
|
|
47
|
+
> - **Or tell me what to change** — reorder, split, merge, add, edit, or remove tasks.
|
|
48
|
+
> - **Or navigate** — a different phase or task, or the leading edge.
|
|
49
|
+
|
|
50
|
+
#### If the user provides feedback
|
|
51
|
+
|
|
52
|
+
Re-invoke `planning-task-designer` with all original inputs PLUS:
|
|
53
|
+
- **Previous output**: the current task list
|
|
54
|
+
- **User feedback**: what the user wants changed
|
|
30
55
|
|
|
31
|
-
|
|
56
|
+
Update the Plan Index File with the revised task table, re-present, and ask again. Repeat until approved.
|
|
32
57
|
|
|
33
|
-
|
|
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.
|
|
58
|
+
#### If approved
|
|
36
59
|
|
|
37
|
-
|
|
60
|
+
**If the task list is new or was amended:**
|
|
38
61
|
|
|
39
|
-
|
|
62
|
+
1. Advance the `planning:` block to the first task in this phase
|
|
63
|
+
2. Commit: `planning({topic}): approve Phase {N} task list`
|
|
40
64
|
|
|
41
|
-
|
|
65
|
+
**If the task list was already approved and unchanged:** No updates needed.
|
|
42
66
|
|
|
43
|
-
→
|
|
67
|
+
→ Return to **Plan Construction**.
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
# Plan Construction
|
|
2
|
+
|
|
3
|
+
*Reference for **[technical-planning](../../SKILL.md)***
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
This step constructs the complete plan — defining phases, designing task lists, and authoring every task. It operates as a nested structure:
|
|
8
|
+
|
|
9
|
+
┌─────────────────────────────────────────────────────┐
|
|
10
|
+
│ │
|
|
11
|
+
│ Phase Structure — define or review all phases │
|
|
12
|
+
│ │
|
|
13
|
+
│ ┌─────────────────────────────────────────────┐ │
|
|
14
|
+
│ │ For each phase: │ │
|
|
15
|
+
│ │ │ │
|
|
16
|
+
│ │ Step A → Define tasks for the phase │ │
|
|
17
|
+
│ │ │ │
|
|
18
|
+
│ │ ┌─────────────────────────────────┐ │ │
|
|
19
|
+
│ │ │ For each task in the phase: │ │ │
|
|
20
|
+
│ │ │ │ │ │
|
|
21
|
+
│ │ │ Step B → Author the task │ │ │
|
|
22
|
+
│ │ └─────────────────────────────────┘ │ │
|
|
23
|
+
│ │ │ │
|
|
24
|
+
│ └─────────────────────────────────────────────┘ │
|
|
25
|
+
│ │
|
|
26
|
+
└─────────────────────────────────────────────────────┘
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Navigation
|
|
31
|
+
|
|
32
|
+
At any approval gate during plan construction, the user can navigate. They may describe where they want to go in their own words — a specific phase, a specific task, "the beginning", "the leading edge", or any point in the plan.
|
|
33
|
+
|
|
34
|
+
The **leading edge** is where new work begins — the first phase, task list, or task that hasn't been completed yet. It is tracked by the `planning:` block in the Plan Index File frontmatter (`phase` and `task`). To find the leading edge, read those values. If all phases and tasks are complete, the leading edge is the end of plan construction.
|
|
35
|
+
|
|
36
|
+
The `planning:` block always tracks the leading edge. It is only advanced when work is completed — never when the user navigates. Navigation moves the user's position, not the leading edge.
|
|
37
|
+
|
|
38
|
+
Navigation stays within plan construction. It cannot skip past the end of this step.
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## Phase Structure
|
|
43
|
+
|
|
44
|
+
Load **[define-phases.md](define-phases.md)** and follow its instructions as written.
|
|
45
|
+
|
|
46
|
+
After the phase structure is approved, continue to **Process Phases** below.
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## Process Phases
|
|
51
|
+
|
|
52
|
+
Work through each phase in order.
|
|
53
|
+
|
|
54
|
+
Orient the user:
|
|
55
|
+
|
|
56
|
+
> "I'll now work through each phase — presenting existing work for review and designing or authoring anything still pending. You'll approve at every stage."
|
|
57
|
+
|
|
58
|
+
### For each phase, check its state:
|
|
59
|
+
|
|
60
|
+
#### If the phase has no task table
|
|
61
|
+
|
|
62
|
+
This phase needs task design.
|
|
63
|
+
|
|
64
|
+
→ Go to **Step A** with this phase.
|
|
65
|
+
|
|
66
|
+
After Step A returns with an approved task table, continue to **Author Tasks for the Phase** below.
|
|
67
|
+
|
|
68
|
+
#### If the phase has a task table
|
|
69
|
+
|
|
70
|
+
Present the task list to the user for review.
|
|
71
|
+
|
|
72
|
+
> **Phase {N}: {Phase Name}** — {M} tasks.
|
|
73
|
+
>
|
|
74
|
+
> **To proceed:**
|
|
75
|
+
> - **`y`/`yes`** — Confirmed.
|
|
76
|
+
> - **Or tell me what to change.**
|
|
77
|
+
> - **Or navigate** — a different phase or task, or the leading edge.
|
|
78
|
+
|
|
79
|
+
**STOP.** Wait for the user's response.
|
|
80
|
+
|
|
81
|
+
**If the user wants changes:** → Go to **Step A** with this phase for revision.
|
|
82
|
+
|
|
83
|
+
**If confirmed:** Continue to **Author Tasks for the Phase** below.
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## Author Tasks for the Phase
|
|
88
|
+
|
|
89
|
+
Work through each task in the phase's task table, in order.
|
|
90
|
+
|
|
91
|
+
#### If the task status is `authored`
|
|
92
|
+
|
|
93
|
+
Already written. Present a brief summary:
|
|
94
|
+
|
|
95
|
+
> "Task {M} of {total}: {Task Name} — already authored."
|
|
96
|
+
|
|
97
|
+
Continue to the next task.
|
|
98
|
+
|
|
99
|
+
#### If the task status is `pending`
|
|
100
|
+
|
|
101
|
+
→ Go to **Step B** with this task.
|
|
102
|
+
|
|
103
|
+
After Step B returns, the task is authored. Continue to the next task.
|
|
104
|
+
|
|
105
|
+
#### When all tasks in the phase are authored
|
|
106
|
+
|
|
107
|
+
Advance the `planning:` block in frontmatter to the next phase. Commit: `planning({topic}): complete Phase {N} tasks`
|
|
108
|
+
|
|
109
|
+
> Phase {N}: {Phase Name} — complete ({M} tasks authored).
|
|
110
|
+
|
|
111
|
+
Continue to the next phase.
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## Loop Complete
|
|
116
|
+
|
|
117
|
+
When all phases have all tasks authored:
|
|
118
|
+
|
|
119
|
+
> "All phases are complete. The plan has **{N} phases** with **{M} tasks** total."
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
## Step A: Define Tasks
|
|
124
|
+
|
|
125
|
+
Load **[define-tasks.md](define-tasks.md)** and follow its instructions as written. This step designs and approves a task list for **one phase**.
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
## Step B: Author Tasks
|
|
130
|
+
|
|
131
|
+
Load **[author-tasks.md](author-tasks.md)** and follow its instructions as written. This step authors **one task** and returns.
|
|
@@ -12,7 +12,7 @@ After completing the plan, perform a comprehensive two-part review before handin
|
|
|
12
12
|
|
|
13
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
14
|
|
|
15
|
-
**Location**: Store tracking files alongside the
|
|
15
|
+
**Location**: Store tracking files alongside the Plan Index File:
|
|
16
16
|
- `{topic}-review-traceability-tracking.md` — Traceability findings
|
|
17
17
|
- `{topic}-review-integrity-tracking.md` — Integrity findings
|
|
18
18
|
|
|
@@ -20,7 +20,7 @@ To ensure analysis isn't lost during context refresh, create tracking files that
|
|
|
20
20
|
```markdown
|
|
21
21
|
---
|
|
22
22
|
status: in-progress | complete
|
|
23
|
-
created: YYYY-MM-DD
|
|
23
|
+
created: YYYY-MM-DD # Use today's actual date
|
|
24
24
|
phase: Traceability Review | Plan Integrity Review
|
|
25
25
|
topic: [Topic Name]
|
|
26
26
|
---
|
|
@@ -92,5 +92,3 @@ After both reviews:
|
|
|
92
92
|
> Review is complete."
|
|
93
93
|
|
|
94
94
|
> **CHECKPOINT**: Do not confirm completion if tracking files still exist. They indicate incomplete review work.
|
|
95
|
-
|
|
96
|
-
→ Proceed to **Step 9**.
|
|
@@ -43,14 +43,12 @@ Skip the resolution and reverse check — there is nothing to resolve against. D
|
|
|
43
43
|
|
|
44
44
|
**STOP.** Present a summary of the dependency state: what was documented, what was resolved, what remains unresolved, and any reverse resolutions made.
|
|
45
45
|
|
|
46
|
-
> **To proceed
|
|
47
|
-
> -
|
|
48
|
-
> - **
|
|
46
|
+
> **To proceed:**
|
|
47
|
+
> - **`y`/`yes`** — Approved. I'll proceed to plan review.
|
|
48
|
+
> - **Or tell me what to change.**
|
|
49
49
|
|
|
50
|
-
#### If
|
|
50
|
+
#### If the user provides feedback
|
|
51
51
|
|
|
52
52
|
Incorporate feedback, re-present the updated dependency state, and ask again. Repeat until approved.
|
|
53
53
|
|
|
54
|
-
#### If
|
|
55
|
-
|
|
56
|
-
→ Proceed to **Step 8**.
|
|
54
|
+
#### If approved
|
|
@@ -172,14 +172,14 @@ After presenting the finding and proposed fix, ask:
|
|
|
172
172
|
|
|
173
173
|
> **Finding {N} of {total}: {Brief Title}**
|
|
174
174
|
>
|
|
175
|
-
> **To proceed
|
|
176
|
-
> -
|
|
177
|
-
> -
|
|
178
|
-
> - **
|
|
175
|
+
> **To proceed:**
|
|
176
|
+
> - **`y`/`yes`** — Approved. I'll apply it to the plan verbatim.
|
|
177
|
+
> - **`skip`** — Leave this as-is and move to the next finding.
|
|
178
|
+
> - **Or tell me what to change.**
|
|
179
179
|
|
|
180
180
|
**STOP.** Wait for the user's response.
|
|
181
181
|
|
|
182
|
-
### If
|
|
182
|
+
### If the user provides feedback
|
|
183
183
|
|
|
184
184
|
The user may:
|
|
185
185
|
- Request changes to the proposed fix
|
|
@@ -149,14 +149,14 @@ After presenting the finding and proposed fix, ask:
|
|
|
149
149
|
|
|
150
150
|
> **Finding {N} of {total}: {Brief Title}**
|
|
151
151
|
>
|
|
152
|
-
> **To proceed
|
|
153
|
-
> -
|
|
154
|
-
> -
|
|
155
|
-
> - **
|
|
152
|
+
> **To proceed:**
|
|
153
|
+
> - **`y`/`yes`** — Approved. I'll apply it to the plan verbatim.
|
|
154
|
+
> - **`skip`** — Leave this as-is and move to the next finding.
|
|
155
|
+
> - **Or tell me what to change.**
|
|
156
156
|
|
|
157
157
|
**STOP.** Wait for the user's response.
|
|
158
158
|
|
|
159
|
-
### If
|
|
159
|
+
### If the user provides feedback
|
|
160
160
|
|
|
161
161
|
The user may:
|
|
162
162
|
- Request changes to the proposed fix
|