@leeovery/claude-technical-workflows 2.0.47 → 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/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,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
|
|
|
@@ -35,7 +35,7 @@ Before starting any topic, identify ALL available reference material:
|
|
|
35
35
|
|
|
36
36
|
This is a collaborative dialogue, not an autonomous task. The user validates every piece before it's logged.
|
|
37
37
|
|
|
38
|
-
> **CHECKPOINT**: If you are about to write to the specification file and haven't received explicit approval (e.g.,
|
|
38
|
+
> **CHECKPOINT**: If you are about to write to the specification file and haven't received explicit approval (e.g., `y`/`yes`) for this specific content, **STOP**. You are violating the workflow. Go back and present the choices first.
|
|
39
39
|
|
|
40
40
|
---
|
|
41
41
|
|
|
@@ -78,9 +78,9 @@ Present your understanding to the user **in the format it would appear in the sp
|
|
|
78
78
|
|
|
79
79
|
Then present two explicit choices:
|
|
80
80
|
|
|
81
|
-
> **To proceed
|
|
82
|
-
> -
|
|
83
|
-
> - **
|
|
81
|
+
> **To proceed:**
|
|
82
|
+
> - **`y`/`yes`** — Approved. I'll add the above to the specification **verbatim** (exactly as shown, no modifications).
|
|
83
|
+
> - **Or tell me what to change.**
|
|
84
84
|
|
|
85
85
|
**Do not paraphrase these choices.** Present them exactly as written so users always know what to expect.
|
|
86
86
|
|
|
@@ -101,8 +101,8 @@ This is a **human-level conversation**, not form-filling. The user brings contex
|
|
|
101
101
|
**DO NOT PROCEED TO LOGGING WITHOUT EXPLICIT USER APPROVAL.**
|
|
102
102
|
|
|
103
103
|
**What counts as approval:**
|
|
104
|
-
-
|
|
105
|
-
- Or equivalent explicit confirmation: "
|
|
104
|
+
- **`y`/`yes`** - the standard confirmation you present as a choice
|
|
105
|
+
- Or equivalent explicit confirmation: "Approved", "Add it", "That's good"
|
|
106
106
|
|
|
107
107
|
**What does NOT count as approval:**
|
|
108
108
|
- Silence
|
|
@@ -112,7 +112,7 @@ This is a **human-level conversation**, not form-filling. The user brings contex
|
|
|
112
112
|
- The user making a minor comment without explicit approval
|
|
113
113
|
- ANY response that isn't explicit confirmation
|
|
114
114
|
|
|
115
|
-
**If you are uncertain, ASK:** "
|
|
115
|
+
**If you are uncertain, ASK:** "Ready to log it, or do you want to change something?"
|
|
116
116
|
|
|
117
117
|
> **CHECKPOINT**: If you are about to write to the specification and the user's last message was not explicit approval, **STOP**. You are violating the workflow. Present the choices again.
|
|
118
118
|
|
|
@@ -522,11 +522,11 @@ For each item, follow the **same workflow as the main specification process**:
|
|
|
522
522
|
>
|
|
523
523
|
> [content exactly as it would appear]
|
|
524
524
|
>
|
|
525
|
-
> **To proceed
|
|
526
|
-
> -
|
|
527
|
-
> - **
|
|
525
|
+
> **To proceed:**
|
|
526
|
+
> - **`y`/`yes`** — Approved. I'll add the above to the specification **verbatim**.
|
|
527
|
+
> - **Or tell me what to change.**
|
|
528
528
|
|
|
529
|
-
4. **Wait for explicit approval** - same rules as always:
|
|
529
|
+
4. **Wait for explicit approval** - same rules as always: `y`/`yes` or equivalent before writing
|
|
530
530
|
5. **Log verbatim** when approved
|
|
531
531
|
6. **Update tracking file** - Mark the item's resolution (Approved/Adjusted/Skipped) and add any notes
|
|
532
532
|
7. **Move to the next item**: "Moving to #2: [Brief title]..."
|
|
@@ -652,9 +652,9 @@ For each item:
|
|
|
652
652
|
>
|
|
653
653
|
> [content exactly as it would appear]
|
|
654
654
|
>
|
|
655
|
-
> **To proceed
|
|
656
|
-
> -
|
|
657
|
-
> - **
|
|
655
|
+
> **To proceed:**
|
|
656
|
+
> - **`y`/`yes`** — Approved. I'll add the above to the specification **verbatim**.
|
|
657
|
+
> - **Or tell me what to change.**
|
|
658
658
|
|
|
659
659
|
4. **Wait for explicit approval**
|
|
660
660
|
5. **Log verbatim** when approved
|
|
@@ -764,7 +764,7 @@ Before ANY write operation to the specification file, verify:
|
|
|
764
764
|
| Question | If No... |
|
|
765
765
|
|----------|----------|
|
|
766
766
|
| Did I present this specific content to the user? | **STOP**. Present it first. |
|
|
767
|
-
| Did the user explicitly approve? (e.g.,
|
|
767
|
+
| Did the user explicitly approve? (e.g., `y`/`yes`) | **STOP**. Wait for approval or ask. |
|
|
768
768
|
| Am I writing exactly what was approved, with no additions? | **STOP**. Present any changes first. |
|
|
769
769
|
|
|
770
770
|
> **FINAL CHECK**: If you have written to the specification file and cannot answer "yes" to all three questions above for that content, you have violated the workflow. Every piece of content requires explicit user approval before logging.
|