@leeovery/claude-technical-workflows 2.0.46 → 2.0.48
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/commands/workflow/start-planning.md +7 -20
- package/package.json +1 -1
- package/skills/technical-planning/SKILL.md +91 -22
- 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 +56 -23
- package/skills/technical-planning/references/steps/define-phases.md +59 -18
- package/skills/technical-planning/references/steps/define-tasks.md +54 -18
- package/skills/technical-planning/references/steps/plan-review.md +2 -2
- package/skills/technical-planning/references/steps/resolve-dependencies.md +5 -5
- 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 +22 -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,58 +4,91 @@
|
|
|
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 task detail. You invoke the agent per task, present its output, and handle the approval gate.
|
|
8
8
|
|
|
9
9
|
---
|
|
10
10
|
|
|
11
|
+
## Check for Existing Authored Tasks
|
|
12
|
+
|
|
13
|
+
Read the Plan Index File. Check the task table under the current phase.
|
|
14
|
+
|
|
15
|
+
**For each task:**
|
|
16
|
+
- If `status: authored` → skip (already written to output format)
|
|
17
|
+
- If `status: pending` → needs authoring
|
|
18
|
+
|
|
19
|
+
Walk through tasks in order. Already-authored tasks are presented for quick review (user can approve or amend). Pending tasks need full authoring.
|
|
20
|
+
|
|
21
|
+
**If all tasks in current phase are authored:** → Return to Step 5 for next phase, or Step 7 if all phases complete.
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Author Tasks
|
|
26
|
+
|
|
11
27
|
Orient the user:
|
|
12
28
|
|
|
13
|
-
> "Task list for Phase {N} is agreed. I'll work through each task one at a time —
|
|
29
|
+
> "Task list for Phase {N} is agreed. I'll work through each task one at a time — delegating to a specialist agent that will read the full specification and write the complete task detail. You'll review each one before it's logged."
|
|
30
|
+
|
|
31
|
+
Work through the task list **one task at a time**.
|
|
14
32
|
|
|
15
|
-
|
|
33
|
+
### Invoke the Agent
|
|
16
34
|
|
|
17
|
-
|
|
35
|
+
For each pending task, invoke `planning-task-author` with these file paths:
|
|
18
36
|
|
|
19
|
-
|
|
37
|
+
1. **read-specification.md**: `.claude/skills/technical-planning/references/read-specification.md`
|
|
38
|
+
2. **Specification**: path from the Plan Index File's `specification:` field
|
|
39
|
+
3. **Cross-cutting specs**: paths from the Plan Index File's `cross_cutting_specs:` field (if any)
|
|
40
|
+
4. **task-design.md**: `.claude/skills/technical-planning/references/task-design.md`
|
|
41
|
+
5. **All approved phases**: the complete phase structure from the Plan Index File body
|
|
42
|
+
6. **Task list for current phase**: the approved task table
|
|
43
|
+
7. **Target task**: the task name, edge cases, and ID from the table
|
|
44
|
+
8. **Output format adapter**: path to the loaded output format adapter
|
|
20
45
|
|
|
21
|
-
Present
|
|
46
|
+
### Present the Output
|
|
47
|
+
|
|
48
|
+
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
49
|
|
|
23
50
|
After presenting, ask:
|
|
24
51
|
|
|
25
52
|
> **Task {M} of {total}: {Task Name}**
|
|
26
53
|
>
|
|
27
|
-
> **To proceed
|
|
28
|
-
> -
|
|
29
|
-
> - **
|
|
54
|
+
> **To proceed:**
|
|
55
|
+
> - **`y`/`yes`** — Approved. I'll log it to the plan verbatim.
|
|
56
|
+
> - **Or tell me what to change.**
|
|
57
|
+
> - **`skip to {X}`** — Navigate to different task/phase
|
|
30
58
|
|
|
31
59
|
**STOP.** Wait for the user's response.
|
|
32
60
|
|
|
33
|
-
#### If
|
|
61
|
+
#### If the user provides feedback
|
|
62
|
+
|
|
63
|
+
Re-invoke `planning-task-author` with all original inputs PLUS:
|
|
64
|
+
- **Previous output**: the current task detail
|
|
65
|
+
- **User feedback**: what the user wants changed
|
|
34
66
|
|
|
35
|
-
|
|
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
|
|
67
|
+
Present the revised task in full. Ask the same choice again. Repeat until approved.
|
|
40
68
|
|
|
41
|
-
|
|
69
|
+
#### If approved (`y`/`yes`)
|
|
42
70
|
|
|
43
|
-
|
|
71
|
+
> **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.
|
|
44
72
|
|
|
45
|
-
|
|
73
|
+
1. Write the task to the output format (format-specific — see output adapter)
|
|
74
|
+
2. Update the task table in the Plan Index File: set `status: authored`
|
|
75
|
+
3. Update the `planning:` block in frontmatter: note current phase and task
|
|
76
|
+
4. Commit: `planning({topic}): author task {task-id} ({task name})`
|
|
46
77
|
|
|
47
|
-
|
|
78
|
+
Confirm:
|
|
48
79
|
|
|
49
|
-
> "Task {M} of {total}: {Task Name} —
|
|
80
|
+
> "Task {M} of {total}: {Task Name} — authored."
|
|
50
81
|
|
|
51
82
|
#### Next task or phase complete
|
|
52
83
|
|
|
53
|
-
**If tasks remain in this phase:** → Return to the top
|
|
84
|
+
**If tasks remain in this phase:** → Return to the top with the next task. Present it, ask, wait.
|
|
85
|
+
|
|
86
|
+
**If all tasks in this phase are authored:**
|
|
54
87
|
|
|
55
|
-
|
|
88
|
+
Update `planning:` block and commit: `planning({topic}): complete Phase {N} tasks`
|
|
56
89
|
|
|
57
90
|
```
|
|
58
|
-
Phase {N}: {Phase Name} — complete ({M} tasks
|
|
91
|
+
Phase {N}: {Phase Name} — complete ({M} tasks authored).
|
|
59
92
|
```
|
|
60
93
|
|
|
61
94
|
→ Return to **Step 5** for the next phase.
|
|
@@ -4,37 +4,78 @@
|
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
This step uses the `planning-phase-designer` agent (`.claude/agents/planning-phase-designer.md`) to design phases. You invoke the agent, present its output, and handle the approval gate.
|
|
8
8
|
|
|
9
9
|
---
|
|
10
10
|
|
|
11
|
+
## Check for Existing Phases
|
|
12
|
+
|
|
13
|
+
Read the Plan Index File. Check if phases already exist in the body.
|
|
14
|
+
|
|
15
|
+
**If phases exist with `status: approved`:**
|
|
16
|
+
- Present them to the user for review (deterministic replay)
|
|
17
|
+
- User can approve (`y`), amend, or navigate (`skip to {X}`)
|
|
18
|
+
- If amended, re-invoke the agent with the existing phases + user feedback
|
|
19
|
+
- Once approved (or skipped), proceed to Step 5
|
|
20
|
+
|
|
21
|
+
**If phases exist with `status: draft`:**
|
|
22
|
+
- Present the draft for review/approval
|
|
23
|
+
- Continue the approval flow below
|
|
24
|
+
|
|
25
|
+
**If no phases exist:**
|
|
26
|
+
- Continue with fresh phase design below
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Fresh Phase Design
|
|
31
|
+
|
|
11
32
|
Orient the user:
|
|
12
33
|
|
|
13
|
-
> "I'
|
|
34
|
+
> "I'm going to 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. Once we agree on the phases, we'll take each one and break it into tasks."
|
|
14
35
|
|
|
15
|
-
|
|
36
|
+
### Invoke the Agent
|
|
16
37
|
|
|
17
|
-
|
|
38
|
+
Invoke `planning-phase-designer` with these file paths:
|
|
18
39
|
|
|
40
|
+
1. **read-specification.md**: `.claude/skills/technical-planning/references/read-specification.md`
|
|
41
|
+
2. **Specification**: path from the Plan Index File's `specification:` field
|
|
42
|
+
3. **Cross-cutting specs**: paths from the Plan Index File's `cross_cutting_specs:` field (if any)
|
|
43
|
+
4. **phase-design.md**: `.claude/skills/technical-planning/references/phase-design.md`
|
|
44
|
+
5. **task-design.md**: `.claude/skills/technical-planning/references/task-design.md`
|
|
45
|
+
|
|
46
|
+
### Present the Output
|
|
47
|
+
|
|
48
|
+
The agent returns a complete phase structure. Write it directly to the Plan Index File body.
|
|
49
|
+
|
|
50
|
+
Update the frontmatter `planning:` block:
|
|
51
|
+
```yaml
|
|
52
|
+
planning:
|
|
53
|
+
phase: 1
|
|
54
|
+
task: ~
|
|
19
55
|
```
|
|
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
56
|
|
|
28
|
-
|
|
57
|
+
Commit: `planning({topic}): draft phase structure`
|
|
58
|
+
|
|
59
|
+
Present the phase structure to the user.
|
|
60
|
+
|
|
61
|
+
**STOP.** Ask:
|
|
62
|
+
|
|
63
|
+
> **To proceed:**
|
|
64
|
+
> - **`y`/`yes`** — Approved. I'll proceed to task breakdown.
|
|
65
|
+
> - **Or tell me what to change** — reorder, split, merge, add, edit, or remove phases.
|
|
66
|
+
|
|
67
|
+
#### If the user provides feedback
|
|
29
68
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
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
|
|
33
72
|
|
|
34
|
-
|
|
73
|
+
Update the Plan Index File with the revised output, re-present, and ask again. Repeat until approved.
|
|
35
74
|
|
|
36
|
-
|
|
75
|
+
#### If approved
|
|
37
76
|
|
|
38
|
-
|
|
77
|
+
1. Update each phase in the Plan Index File: set `status: approved` and `approved_at: YYYY-MM-DD` (use today's actual date)
|
|
78
|
+
2. Update `planning:` block in frontmatter to note current position
|
|
79
|
+
3. Commit: `planning({topic}): approve phase structure`
|
|
39
80
|
|
|
40
81
|
→ Proceed to **Step 5**.
|
|
@@ -4,40 +4,76 @@
|
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
This step uses the `planning-task-designer` agent (`.claude/agents/planning-task-designer.md`) to break phases into task lists. You invoke the agent per phase, present its output, and handle the approval gate.
|
|
8
8
|
|
|
9
9
|
---
|
|
10
10
|
|
|
11
|
+
## Check for Existing Task Tables
|
|
12
|
+
|
|
13
|
+
Read the Plan Index File. Check the task table under each phase.
|
|
14
|
+
|
|
15
|
+
**For each phase with an existing task table:**
|
|
16
|
+
- If all tasks show `status: authored` → skip to next phase
|
|
17
|
+
- If task table exists but not all approved → present for review (deterministic replay)
|
|
18
|
+
- User can approve (`y`), amend, or navigate (`skip to {X}`)
|
|
19
|
+
|
|
20
|
+
Walk through each phase in order, presenting existing task tables for review before moving to phases that need fresh work.
|
|
21
|
+
|
|
22
|
+
**If all phases have approved task tables:** → Proceed to Step 6.
|
|
23
|
+
|
|
24
|
+
**If no task table for current phase:** Continue with fresh task design below.
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Fresh Task Design
|
|
29
|
+
|
|
11
30
|
Orient the user:
|
|
12
31
|
|
|
13
|
-
> "Taking Phase {N}: {Phase Name} and breaking it into tasks.
|
|
32
|
+
> "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. Once we agree on the list, I'll write each task out in full detail."
|
|
14
33
|
|
|
15
|
-
|
|
34
|
+
### Invoke the Agent
|
|
16
35
|
|
|
17
|
-
|
|
36
|
+
Invoke `planning-task-designer` with these file paths:
|
|
18
37
|
|
|
19
|
-
|
|
20
|
-
|
|
38
|
+
1. **read-specification.md**: `.claude/skills/technical-planning/references/read-specification.md`
|
|
39
|
+
2. **Specification**: path from the Plan Index File's `specification:` field
|
|
40
|
+
3. **Cross-cutting specs**: paths from the Plan Index File's `cross_cutting_specs:` field (if any)
|
|
41
|
+
4. **task-design.md**: `.claude/skills/technical-planning/references/task-design.md`
|
|
42
|
+
5. **All approved phases**: the complete phase structure from the Plan Index File body
|
|
43
|
+
6. **Target phase number**: the phase being broken into tasks
|
|
44
|
+
|
|
45
|
+
### Present the Output
|
|
21
46
|
|
|
22
|
-
|
|
23
|
-
Edge cases: {comma-separated list, or "none"}
|
|
47
|
+
The agent returns a task overview and task table. Write the task table directly to the Plan Index File under the phase.
|
|
24
48
|
|
|
25
|
-
|
|
26
|
-
|
|
49
|
+
Update the frontmatter `planning:` block:
|
|
50
|
+
```yaml
|
|
51
|
+
planning:
|
|
52
|
+
phase: {N}
|
|
53
|
+
task: ~
|
|
27
54
|
```
|
|
28
55
|
|
|
29
|
-
|
|
56
|
+
Commit: `planning({topic}): draft Phase {N} task list`
|
|
57
|
+
|
|
58
|
+
Present the task overview to the user.
|
|
59
|
+
|
|
60
|
+
**STOP.** Ask:
|
|
61
|
+
|
|
62
|
+
> **To proceed:**
|
|
63
|
+
> - **`y`/`yes`** — Approved. I'll begin writing full task detail.
|
|
64
|
+
> - **Or tell me what to change** — reorder, split, merge, add, edit, or remove tasks.
|
|
30
65
|
|
|
31
|
-
|
|
66
|
+
#### If the user provides feedback
|
|
32
67
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
68
|
+
Re-invoke `planning-task-designer` with all original inputs PLUS:
|
|
69
|
+
- **Previous output**: the current task list
|
|
70
|
+
- **User feedback**: what the user wants changed
|
|
36
71
|
|
|
37
|
-
|
|
72
|
+
Update the Plan Index File with the revised task table, re-present, and ask again. Repeat until approved.
|
|
38
73
|
|
|
39
|
-
|
|
74
|
+
#### If approved
|
|
40
75
|
|
|
41
|
-
|
|
76
|
+
1. Update the `planning:` block to note task authoring is starting
|
|
77
|
+
2. Commit: `planning({topic}): approve Phase {N} task list`
|
|
42
78
|
|
|
43
79
|
→ Proceed to **Step 6**.
|
|
@@ -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
|
---
|
|
@@ -43,14 +43,14 @@ 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
|
|
54
|
+
#### If approved
|
|
55
55
|
|
|
56
56
|
→ Proceed to **Step 8**.
|
|
@@ -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
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Verify Source Material
|
|
2
|
+
|
|
3
|
+
*Reference for **[technical-planning](../../SKILL.md)***
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Verify that all source material exists and is accessible before entering agent-driven work. Agents will read these files — this step just confirms they are present.
|
|
8
|
+
|
|
9
|
+
## Verification
|
|
10
|
+
|
|
11
|
+
1. Read the Plan Index File's frontmatter to get the `specification:` path and any `cross_cutting_specs:` paths
|
|
12
|
+
2. For each path, run `ls` to confirm the file exists — do not read the file contents
|
|
13
|
+
3. If any file is missing, **STOP** — inform the user which file is missing and do not proceed
|
|
14
|
+
|
|
15
|
+
### Example
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
ls docs/workflow/specification/{topic}.md
|
|
19
|
+
ls docs/workflow/specification/{cross-cutting-spec}.md
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
→ Proceed to **Step 4**.
|
|
@@ -75,11 +75,11 @@ After user signs off:
|
|
|
75
75
|
- **STOP and WAIT** for the user to explicitly approve before writing
|
|
76
76
|
- Treat each write operation as requiring its own explicit approval
|
|
77
77
|
|
|
78
|
-
**What counts as approval:**
|
|
78
|
+
**What counts as approval:** `y`/`yes` (the standard choice you present) or equivalent: "Approved", "Add it", "That's good".
|
|
79
79
|
|
|
80
80
|
**What does NOT count as approval:** Silence, you presenting choices, the user asking a follow-up question, the user saying "What's next?", or any response that isn't explicit confirmation.
|
|
81
81
|
|
|
82
|
-
If you are uncertain whether the user approved, **ASK**: "
|
|
82
|
+
If you are uncertain whether the user approved, **ASK**: "Ready to log it, or do you want to change something?"
|
|
83
83
|
|
|
84
84
|
---
|
|
85
85
|
|
|
@@ -103,7 +103,7 @@ The specification is the **golden document** - planning uses only this. If infor
|
|
|
103
103
|
|
|
104
104
|
## Critical Rules
|
|
105
105
|
|
|
106
|
-
**STOP AND WAIT FOR APPROVAL**: You MUST NOT write to the specification until the user has explicitly approved. Presenting content is NOT approval. Presenting choices is NOT approval. You must receive explicit confirmation (e.g.,
|
|
106
|
+
**STOP AND WAIT FOR APPROVAL**: You MUST NOT write to the specification until the user has explicitly approved. Presenting content is NOT approval. Presenting choices is NOT approval. You must receive explicit confirmation (e.g., `y`/`yes`) before ANY write operation. If uncertain, ASK.
|
|
107
107
|
|
|
108
108
|
**Log verbatim**: When approved, write exactly what was presented - no silent modifications.
|
|
109
109
|
|