@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.
Files changed (25) hide show
  1. package/agents/planning-phase-designer.md +88 -0
  2. package/agents/planning-task-author.md +67 -0
  3. package/agents/planning-task-designer.md +75 -0
  4. package/commands/workflow/start-planning.md +7 -20
  5. package/package.json +1 -1
  6. package/skills/technical-planning/SKILL.md +91 -22
  7. package/skills/technical-planning/references/dependencies.md +3 -3
  8. package/skills/technical-planning/references/output-formats/output-backlog-md.md +71 -11
  9. package/skills/technical-planning/references/output-formats/output-beads.md +63 -11
  10. package/skills/technical-planning/references/output-formats/output-linear.md +59 -6
  11. package/skills/technical-planning/references/output-formats/output-local-markdown.md +138 -96
  12. package/skills/technical-planning/references/output-formats.md +21 -5
  13. package/skills/technical-planning/references/planning-principles.md +35 -3
  14. package/skills/technical-planning/references/read-specification.md +47 -0
  15. package/skills/technical-planning/references/spec-change-detection.md +35 -0
  16. package/skills/technical-planning/references/steps/author-tasks.md +56 -23
  17. package/skills/technical-planning/references/steps/define-phases.md +59 -18
  18. package/skills/technical-planning/references/steps/define-tasks.md +54 -18
  19. package/skills/technical-planning/references/steps/plan-review.md +2 -2
  20. package/skills/technical-planning/references/steps/resolve-dependencies.md +5 -5
  21. package/skills/technical-planning/references/steps/review-integrity.md +5 -5
  22. package/skills/technical-planning/references/steps/review-traceability.md +5 -5
  23. package/skills/technical-planning/references/steps/verify-source-material.md +22 -0
  24. package/skills/technical-specification/SKILL.md +3 -3
  25. package/skills/technical-specification/references/specification-guide.md +15 -15
@@ -4,7 +4,13 @@
4
4
 
5
5
  ---
6
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.
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 confirmation, and only then proceed to the next step.
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
- **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.
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
- Load **[task-design.md](../task-design.md)** the task design principles, template structure, and quality standards for writing task detail.
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 — presenting the full detail, discussing if needed, and logging it to the plan once approved."
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
- Work through the agreed task list **one task at a time**.
33
+ ### Invoke the Agent
16
34
 
17
- #### Present
35
+ For each pending task, invoke `planning-task-author` with these file paths:
18
36
 
19
- Write the complete task using the task template — Problem, Solution, Outcome, Do, Acceptance Criteria, Tests, Context.
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 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.
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, choose one:**
28
- > - **"Approve"**Task is confirmed. I'll log it to the plan verbatim.
29
- > - **"Adjust"** Tell me what to change.
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 adjust
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
- 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
67
+ Present the revised task in full. Ask the same choice again. Repeat until approved.
40
68
 
41
- Incorporate feedback and re-present the updated task **in full**. Then ask the same choice again. Repeat until approved.
69
+ #### If approved (`y`/`yes`)
42
70
 
43
- #### If approved
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
- 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.).
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
- After logging, confirm:
78
+ Confirm:
48
79
 
49
- > "Task {M} of {total}: {Task Name} — logged."
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 of **Step 6** with the next task. Present it, ask, wait.
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
- **If all tasks in this phase are logged:**
88
+ Update `planning:` block and commit: `planning({topic}): complete Phase {N} tasks`
56
89
 
57
90
  ```
58
- Phase {N}: {Phase Name} — complete ({M} tasks logged).
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
- Load **[phase-design.md](../phase-design.md)** the principles for structuring phases as independently valuable, testable increments built on a walking skeleton.
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'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."
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
- With the full specification understood, break it into logical phases. Understanding what tasks belong in each phase is necessary to determine the right ordering.
36
+ ### Invoke the Agent
16
37
 
17
- Present the proposed phase structure using this format:
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
- **STOP.** Present your proposed phase structure and ask:
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
- > **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.
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
- #### If Adjust
73
+ Update the Plan Index File with the revised output, re-present, and ask again. Repeat until approved.
35
74
 
36
- Incorporate feedback, re-present the updated phase structure, and ask again. Repeat until approved.
75
+ #### If approved
37
76
 
38
- #### If Approved
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
- Load **[task-design.md](../task-design.md)** the principles for breaking phases into well-scoped, vertically-sliced tasks.
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. Here's the overview once we agree on the list, I'll write each task out in full detail."
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
- 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.
34
+ ### Invoke the Agent
16
35
 
17
- Present the task overview using this format:
36
+ Invoke `planning-task-designer` with these file paths:
18
37
 
19
- ```
20
- Phase {N}: {Phase Name}
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
- 1. {Task Name} {One-line summary}
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
- 2. {Task Name} {One-line summary}
26
- Edge cases: {comma-separated list, or "none"}
49
+ Update the frontmatter `planning:` block:
50
+ ```yaml
51
+ planning:
52
+ phase: {N}
53
+ task: ~
27
54
  ```
28
55
 
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.
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
- **STOP.** Present the phase task overview and ask:
66
+ #### If the user provides feedback
32
67
 
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.
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
- #### If Adjust
72
+ Update the Plan Index File with the revised task table, re-present, and ask again. Repeat until approved.
38
73
 
39
- Incorporate feedback, re-present the updated task overview, and ask again. Repeat until approved.
74
+ #### If approved
40
75
 
41
- #### If Approved
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 plan file:
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, choose one:**
47
- > - **"Approve"**Dependency state is confirmed. Proceed to plan review.
48
- > - **"Adjust"** Tell me what to change.
46
+ > **To proceed:**
47
+ > - **`y`/`yes`**Approved. I'll proceed to plan review.
48
+ > - **Or tell me what to change.**
49
49
 
50
- #### If Adjust
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 Approved
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, 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.
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 Adjust
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, choose one:**
153
- > - **"Approve"**Fix is confirmed. I'll apply it to the plan verbatim.
154
- > - **"Adjust"**Tell me what to change about the proposed fix.
155
- > - **"Skip"** Leave this as-is and move to the next finding.
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 Adjust
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:** "Log it" (the standard choice you present) or equivalent: "Yes", "Approved", "Add it", "That's good".
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**: "Would you like me to log it, or do you want to adjust something?"
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., "Log it") before ANY write operation. If uncertain, ASK.
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