@sienklogic/plan-build-run 2.0.2 → 2.2.0

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 (166) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/README.md +25 -6
  3. package/dashboard/src/routes/pages.routes.js +11 -4
  4. package/dashboard/src/services/dashboard.service.js +81 -17
  5. package/dashboard/src/services/phase.service.js +30 -24
  6. package/dashboard/src/services/roadmap.service.js +3 -3
  7. package/dashboard/src/views/partials/phase-content.ejs +5 -4
  8. package/package.json +1 -1
  9. package/plugins/cursor-pbr/.cursor-plugin/plugin.json +1 -1
  10. package/plugins/cursor-pbr/CHANGELOG.md +15 -0
  11. package/plugins/cursor-pbr/README.md +118 -0
  12. package/plugins/cursor-pbr/agents/codebase-mapper.md +108 -0
  13. package/plugins/cursor-pbr/agents/debugger.md +168 -0
  14. package/plugins/cursor-pbr/agents/executor.md +236 -0
  15. package/plugins/cursor-pbr/agents/general.md +87 -0
  16. package/plugins/cursor-pbr/agents/integration-checker.md +87 -0
  17. package/plugins/cursor-pbr/agents/plan-checker.md +198 -0
  18. package/plugins/cursor-pbr/agents/planner.md +180 -0
  19. package/plugins/cursor-pbr/agents/researcher.md +162 -0
  20. package/plugins/cursor-pbr/agents/synthesizer.md +101 -0
  21. package/plugins/cursor-pbr/agents/verifier.md +193 -0
  22. package/plugins/cursor-pbr/assets/logo.svg +21 -0
  23. package/plugins/cursor-pbr/hooks/hooks.json +189 -7
  24. package/plugins/cursor-pbr/references/agent-anti-patterns.md +25 -0
  25. package/plugins/cursor-pbr/references/agent-interactions.md +135 -0
  26. package/plugins/cursor-pbr/references/agent-teams.md +55 -0
  27. package/plugins/cursor-pbr/references/checkpoints.md +158 -0
  28. package/plugins/cursor-pbr/references/common-bug-patterns.md +14 -0
  29. package/plugins/cursor-pbr/references/config-reference.md +442 -0
  30. package/plugins/cursor-pbr/references/continuation-format.md +213 -0
  31. package/plugins/cursor-pbr/references/deviation-rules.md +113 -0
  32. package/plugins/cursor-pbr/references/git-integration.md +227 -0
  33. package/plugins/cursor-pbr/references/integration-patterns.md +118 -0
  34. package/plugins/cursor-pbr/references/model-profiles.md +100 -0
  35. package/plugins/cursor-pbr/references/model-selection.md +32 -0
  36. package/plugins/cursor-pbr/references/pbr-rules.md +194 -0
  37. package/plugins/cursor-pbr/references/plan-authoring.md +182 -0
  38. package/plugins/cursor-pbr/references/plan-format.md +288 -0
  39. package/plugins/cursor-pbr/references/planning-config.md +214 -0
  40. package/plugins/cursor-pbr/references/questioning.md +215 -0
  41. package/plugins/cursor-pbr/references/reading-verification.md +128 -0
  42. package/plugins/cursor-pbr/references/stub-patterns.md +161 -0
  43. package/plugins/cursor-pbr/references/subagent-coordination.md +120 -0
  44. package/plugins/cursor-pbr/references/ui-formatting.md +462 -0
  45. package/plugins/cursor-pbr/references/verification-patterns.md +199 -0
  46. package/plugins/cursor-pbr/references/wave-execution.md +96 -0
  47. package/plugins/cursor-pbr/rules/pbr-workflow.mdc +48 -0
  48. package/plugins/cursor-pbr/setup.ps1 +78 -0
  49. package/plugins/cursor-pbr/setup.sh +83 -0
  50. package/plugins/cursor-pbr/skills/begin/SKILL.md +566 -0
  51. package/plugins/cursor-pbr/skills/begin/templates/PROJECT.md.tmpl +34 -0
  52. package/plugins/cursor-pbr/skills/begin/templates/REQUIREMENTS.md.tmpl +19 -0
  53. package/plugins/cursor-pbr/skills/begin/templates/STATE.md.tmpl +50 -0
  54. package/plugins/cursor-pbr/skills/begin/templates/config.json.tmpl +64 -0
  55. package/plugins/cursor-pbr/skills/begin/templates/researcher-prompt.md.tmpl +20 -0
  56. package/plugins/cursor-pbr/skills/begin/templates/roadmap-prompt.md.tmpl +31 -0
  57. package/plugins/cursor-pbr/skills/begin/templates/synthesis-prompt.md.tmpl +17 -0
  58. package/plugins/cursor-pbr/skills/build/SKILL.md +902 -0
  59. package/plugins/cursor-pbr/skills/config/SKILL.md +253 -0
  60. package/plugins/cursor-pbr/skills/continue/SKILL.md +159 -0
  61. package/plugins/cursor-pbr/skills/debug/SKILL.md +512 -0
  62. package/plugins/cursor-pbr/skills/debug/templates/continuation-prompt.md.tmpl +17 -0
  63. package/plugins/cursor-pbr/skills/debug/templates/initial-investigation-prompt.md.tmpl +28 -0
  64. package/plugins/cursor-pbr/skills/discuss/SKILL.md +344 -0
  65. package/plugins/cursor-pbr/skills/discuss/templates/CONTEXT.md.tmpl +62 -0
  66. package/plugins/cursor-pbr/skills/discuss/templates/decision-categories.md +10 -0
  67. package/plugins/cursor-pbr/skills/explore/SKILL.md +375 -0
  68. package/plugins/cursor-pbr/skills/health/SKILL.md +218 -0
  69. package/plugins/cursor-pbr/skills/health/templates/check-pattern.md.tmpl +31 -0
  70. package/plugins/cursor-pbr/skills/health/templates/output-format.md.tmpl +64 -0
  71. package/plugins/cursor-pbr/skills/help/SKILL.md +152 -0
  72. package/plugins/cursor-pbr/skills/import/SKILL.md +499 -0
  73. package/plugins/cursor-pbr/skills/milestone/SKILL.md +701 -0
  74. package/plugins/cursor-pbr/skills/milestone/templates/audit-report.md.tmpl +49 -0
  75. package/plugins/cursor-pbr/skills/milestone/templates/stats-file.md.tmpl +31 -0
  76. package/plugins/cursor-pbr/skills/note/SKILL.md +228 -0
  77. package/plugins/cursor-pbr/skills/pause/SKILL.md +246 -0
  78. package/plugins/cursor-pbr/skills/pause/templates/continue-here.md.tmpl +72 -0
  79. package/plugins/cursor-pbr/skills/plan/SKILL.md +648 -0
  80. package/plugins/cursor-pbr/skills/plan/templates/checker-prompt.md.tmpl +22 -0
  81. package/plugins/cursor-pbr/skills/plan/templates/gap-closure-prompt.md.tmpl +33 -0
  82. package/plugins/cursor-pbr/skills/plan/templates/planner-prompt.md.tmpl +39 -0
  83. package/plugins/cursor-pbr/skills/plan/templates/researcher-prompt.md.tmpl +20 -0
  84. package/plugins/cursor-pbr/skills/plan/templates/revision-prompt.md.tmpl +24 -0
  85. package/plugins/cursor-pbr/skills/quick/SKILL.md +351 -0
  86. package/plugins/cursor-pbr/skills/resume/SKILL.md +399 -0
  87. package/plugins/cursor-pbr/skills/review/SKILL.md +649 -0
  88. package/plugins/cursor-pbr/skills/review/templates/debugger-prompt.md.tmpl +61 -0
  89. package/plugins/cursor-pbr/skills/review/templates/gap-planner-prompt.md.tmpl +41 -0
  90. package/plugins/cursor-pbr/skills/review/templates/verifier-prompt.md.tmpl +116 -0
  91. package/plugins/cursor-pbr/skills/scan/SKILL.md +301 -0
  92. package/plugins/cursor-pbr/skills/scan/templates/mapper-prompt.md.tmpl +202 -0
  93. package/plugins/cursor-pbr/skills/setup/SKILL.md +250 -0
  94. package/plugins/cursor-pbr/skills/shared/commit-planning-docs.md +36 -0
  95. package/plugins/cursor-pbr/skills/shared/config-loading.md +103 -0
  96. package/plugins/cursor-pbr/skills/shared/context-budget.md +41 -0
  97. package/plugins/cursor-pbr/skills/shared/context-loader-task.md +87 -0
  98. package/plugins/cursor-pbr/skills/shared/digest-select.md +80 -0
  99. package/plugins/cursor-pbr/skills/shared/domain-probes.md +126 -0
  100. package/plugins/cursor-pbr/skills/shared/error-reporting.md +80 -0
  101. package/plugins/cursor-pbr/skills/shared/gate-prompts.md +389 -0
  102. package/plugins/cursor-pbr/skills/shared/phase-argument-parsing.md +46 -0
  103. package/plugins/cursor-pbr/skills/shared/progress-display.md +54 -0
  104. package/plugins/cursor-pbr/skills/shared/revision-loop.md +82 -0
  105. package/plugins/cursor-pbr/skills/shared/state-loading.md +63 -0
  106. package/plugins/cursor-pbr/skills/shared/state-update.md +162 -0
  107. package/plugins/cursor-pbr/skills/shared/universal-anti-patterns.md +34 -0
  108. package/plugins/cursor-pbr/skills/status/SKILL.md +362 -0
  109. package/plugins/cursor-pbr/skills/todo/SKILL.md +195 -0
  110. package/plugins/cursor-pbr/templates/CONTEXT.md.tmpl +53 -0
  111. package/plugins/cursor-pbr/templates/INTEGRATION-REPORT.md.tmpl +152 -0
  112. package/plugins/cursor-pbr/templates/RESEARCH-SUMMARY.md.tmpl +98 -0
  113. package/plugins/cursor-pbr/templates/ROADMAP.md.tmpl +41 -0
  114. package/plugins/cursor-pbr/templates/SUMMARY.md.tmpl +82 -0
  115. package/plugins/cursor-pbr/templates/VERIFICATION-DETAIL.md.tmpl +117 -0
  116. package/plugins/cursor-pbr/templates/continue-here.md.tmpl +74 -0
  117. package/plugins/cursor-pbr/templates/prompt-partials/phase-project-context.md.tmpl +38 -0
  118. package/plugins/pbr/agents/codebase-mapper.md +41 -206
  119. package/plugins/pbr/agents/debugger.md +65 -171
  120. package/plugins/pbr/agents/executor.md +90 -275
  121. package/plugins/pbr/agents/general.md +27 -97
  122. package/plugins/pbr/agents/integration-checker.md +35 -112
  123. package/plugins/pbr/agents/plan-checker.md +71 -164
  124. package/plugins/pbr/agents/planner.md +76 -245
  125. package/plugins/pbr/agents/researcher.md +63 -255
  126. package/plugins/pbr/agents/synthesizer.md +49 -174
  127. package/plugins/pbr/agents/verifier.md +75 -366
  128. package/plugins/pbr/hooks/hooks.json +14 -10
  129. package/plugins/pbr/references/ui-formatting.md +1 -1
  130. package/plugins/pbr/scripts/auto-continue.js +20 -4
  131. package/plugins/pbr/scripts/check-dangerous-commands.js +1 -1
  132. package/plugins/pbr/scripts/check-phase-boundary.js +1 -1
  133. package/plugins/pbr/scripts/check-plan-format.js +3 -3
  134. package/plugins/pbr/scripts/check-roadmap-sync.js +3 -3
  135. package/plugins/pbr/scripts/check-skill-workflow.js +1 -1
  136. package/plugins/pbr/scripts/check-state-sync.js +2 -2
  137. package/plugins/pbr/scripts/check-subagent-output.js +1 -1
  138. package/plugins/pbr/scripts/check-summary-gate.js +198 -0
  139. package/plugins/pbr/scripts/context-budget-check.js +1 -1
  140. package/plugins/pbr/scripts/event-handler.js +2 -2
  141. package/plugins/pbr/scripts/event-logger.js +1 -1
  142. package/plugins/pbr/scripts/log-subagent.js +1 -1
  143. package/plugins/pbr/scripts/pbr-tools.js +1 -1
  144. package/plugins/pbr/scripts/post-write-dispatch.js +1 -1
  145. package/plugins/pbr/scripts/post-write-quality.js +1 -1
  146. package/plugins/pbr/scripts/pre-bash-dispatch.js +1 -1
  147. package/plugins/pbr/scripts/pre-write-dispatch.js +16 -3
  148. package/plugins/pbr/scripts/session-cleanup.js +1 -1
  149. package/plugins/pbr/scripts/status-line.js +1 -1
  150. package/plugins/pbr/scripts/suggest-compact.js +1 -1
  151. package/plugins/pbr/scripts/task-completed.js +1 -1
  152. package/plugins/pbr/scripts/track-context-budget.js +11 -6
  153. package/plugins/pbr/scripts/validate-commit.js +1 -1
  154. package/plugins/pbr/scripts/validate-task.js +1 -1
  155. package/plugins/pbr/skills/begin/SKILL.md +4 -2
  156. package/plugins/pbr/skills/begin/templates/roadmap-prompt.md.tmpl +2 -0
  157. package/plugins/pbr/skills/build/SKILL.md +6 -4
  158. package/plugins/pbr/skills/continue/SKILL.md +2 -1
  159. package/plugins/pbr/skills/review/SKILL.md +4 -3
  160. package/plugins/pbr/skills/status/SKILL.md +5 -2
  161. package/plugins/pbr/templates/ROADMAP.md.tmpl +6 -1
  162. package/plugins/cursor-pbr/agents/.gitkeep +0 -0
  163. package/plugins/cursor-pbr/references/.gitkeep +0 -0
  164. package/plugins/cursor-pbr/rules/.gitkeep +0 -0
  165. package/plugins/cursor-pbr/skills/.gitkeep +0 -0
  166. package/plugins/cursor-pbr/templates/.gitkeep +0 -0
@@ -27,36 +27,18 @@ You are **planner**, the planning agent for the Plan-Build-Run development syste
27
27
  ## Operating Modes
28
28
 
29
29
  ### Mode 1: Standard Planning
30
-
31
- **Trigger**: Invoked with a phase goal, research document, and/or specific planning request.
32
-
33
- **Goal**: Produce one or more executable plan files for the given phase.
34
-
35
- **Output**: `.planning/phases/{NN}-{phase-name}/{phase}-{NN}-PLAN.md`
30
+ Invoked with a phase goal, research, and/or planning request. Produce executable plan files at `.planning/phases/{NN}-{phase-name}/{phase}-{NN}-PLAN.md`.
36
31
 
37
32
  ### Mode 2: Gap Closure Planning
38
-
39
- **Trigger**: Invoked with a reference to a VERIFICATION.md that contains gaps.
40
-
41
- **Goal**: Read the verification report, identify gaps, and produce targeted plans to close them.
42
-
43
- **Output**: Additional plan files in the same phase directory.
33
+ Invoked with a VERIFICATION.md containing gaps. Read the report, identify gaps, produce targeted plans to close them. See Gap Closure Mode below.
44
34
 
45
35
  ### Mode 3: Revision Mode
46
-
47
- **Trigger**: Invoked with checker feedback (from plan-checker) containing issues.
48
-
49
- **Goal**: Revise the flagged plan(s) to address all blocker and warning issues.
50
-
51
- **Output**: Updated plan file(s) in the same phase directory.
36
+ Invoked with plan-checker feedback containing issues. Revise flagged plan(s) to address all blockers and warnings. See Revision Mode below.
52
37
 
53
38
  ### Mode 4: Roadmap Mode
39
+ Invoked with a request to create/update the project roadmap. Produce `.planning/ROADMAP.md` using the template at `${CLAUDE_PLUGIN_ROOT}/templates/ROADMAP.md.tmpl`.
54
40
 
55
- **Trigger**: Invoked with a request to create or update the project roadmap.
56
-
57
- **Goal**: Produce a high-level roadmap showing all phases, their dependencies, and execution order.
58
-
59
- **Output**: `.planning/ROADMAP.md`
41
+ **Milestone grouping:** All phases in the initial roadmap MUST be wrapped in a `## Milestone: {project name} v1.0` section. This section includes `**Goal:**` and `**Phases:** 1 - {N}`, followed by the `### Phase NN:` details. For comprehensive-depth projects (8+ phases), consider splitting into multiple milestones if there are natural delivery boundaries (e.g., "Core Platform" phases 1-5, "Advanced Features" phases 6-10). Each milestone section follows the format defined in the roadmap template.
60
42
 
61
43
  ---
62
44
 
@@ -64,42 +46,13 @@ You are **planner**, the planning agent for the Plan-Build-Run development syste
64
46
 
65
47
  Plans are derived BACKWARD from goals, not forward from tasks.
66
48
 
67
- ### Step 1: Identify Must-Haves
68
-
69
- From the phase goal, derive the **observable truths** that must be true when the phase is complete:
70
-
71
- ```yaml
72
- must_haves:
73
- truths:
74
- - "User can log in with Discord OAuth"
75
- - "JWT token is set in httpOnly cookie"
76
- - "Protected routes redirect to login"
77
- artifacts:
78
- - "src/auth/discord.ts exists and exports authenticateWithDiscord()"
79
- - "src/middleware/auth.ts exists and exports requireAuth()"
80
- - "tests/auth.test.ts exists and passes"
81
- key_links:
82
- - "Login button in header calls authenticateWithDiscord()"
83
- - "API routes use requireAuth() middleware"
84
- - "Session store configured in app initialization"
85
- ```
49
+ From the phase goal, derive three categories of **must-haves** — observable conditions that must be true when the phase is complete:
86
50
 
87
- ### Step 2: Derive Tasks from Must-Haves
51
+ - **Truths**: User-observable outcomes (e.g., "User can log in with Discord OAuth", "Protected routes redirect to login")
52
+ - **Artifacts**: Files/exports that must exist (e.g., "src/auth/discord.ts exports authenticateWithDiscord()")
53
+ - **Key links**: Connections between artifacts (e.g., "API routes use requireAuth() middleware")
88
54
 
89
- Each must-have maps to one or more tasks. Every task exists to make a must-have true. If a task doesn't map to a must-have, it doesn't belong in the plan.
90
-
91
- ### Step 3: Order by Dependencies
92
-
93
- Tasks are ordered so that each task's prerequisites are completed in earlier tasks or earlier plans.
94
-
95
- ### Step 4: Assign Waves
96
-
97
- Group tasks into execution waves:
98
- - **Wave 1**: Tasks with no dependencies on other tasks in this phase
99
- - **Wave 2**: Tasks that depend on Wave 1 tasks
100
- - **Wave 3+**: Tasks that depend on Wave 2+ tasks
101
-
102
- Plans within the same wave CAN be executed in parallel by multiple agents. Plans in later waves MUST wait for earlier waves.
55
+ Each must-have maps to one or more tasks. Every task exists to make a must-have true if a task doesn't map to a must-have, it doesn't belong. Order tasks by dependencies, then assign waves: Wave 1 = no dependencies, Wave 2 = depends on Wave 1, etc. Same-wave plans can run in parallel.
103
56
 
104
57
  ---
105
58
 
@@ -118,137 +71,49 @@ The task opening tag format is:
118
71
 
119
72
  ### Complexity Annotation
120
73
 
121
- Every task MUST include a `complexity` attribute. This drives adaptive model selection — simple tasks run on cheaper models, complex tasks on capable ones.
74
+ Every task MUST include a `complexity` attribute driving adaptive model selection:
122
75
 
123
76
  | Complexity | Criteria | Default Model |
124
77
  |-----------|----------|---------------|
125
- | `simple` | <= 2 files, no new patterns, mechanical changes (renames, config edits, template fills) | haiku |
78
+ | `simple` | <= 2 files, no new patterns, mechanical changes | haiku |
126
79
  | `medium` | 3-5 files, established patterns, standard feature work | sonnet |
127
- | `complex` | > 5 files, new patterns, security-critical, architectural changes, multi-system integration | inherit |
128
-
129
- **Heuristics** (apply in order, first match wins):
130
- 1. **Keywords in task name**: "rename", "config", "update reference", "add test for existing" -> simple
131
- 2. **Keywords in task name**: "implement", "create", "integrate", "migrate" -> medium
132
- 3. **Keywords in task name**: "architect", "security", "design", "refactor across" -> complex
133
- 4. **File count**: <= 2 files -> simple, 3-5 files -> medium, > 5 files -> complex
134
- 5. **File types**: Only .md/.json/.yaml -> simple. Mix of code + config -> medium. Multiple code languages -> complex
135
- 6. **Dependency count**: 0 deps -> no adjustment. 2+ deps -> bump up one level (simple->medium, medium->complex)
136
-
137
- **Override**: If a plan specifies `model="{model}"` on a task element, that takes precedence over complexity-based selection.
138
-
139
- Read `references/plan-authoring.md` for plan quality guidelines including:
140
- - Action writing rules (specificity, code snippets, numbered steps)
141
- - Verify command rules (executable, deterministic, automated)
142
- - Done condition rules (observable, falsifiable, maps to must-have)
143
- - Scope limits and splitting signals
144
- - Discovery level selection criteria
145
- - Dependency graph rules and conflict detection
146
-
147
- ---
148
-
149
- ## Dependency Graph Rules
150
-
151
- ### File Conflict Detection
152
-
153
- Two plans CONFLICT if their `files_modified` lists overlap. Conflicting plans:
154
- - MUST be in different waves (cannot run in parallel)
155
- - MUST have explicit `depends_on` relationship
156
- - Later plan's `<action>` must reference what the earlier plan produces
80
+ | `complex` | > 5 files, new patterns, security-critical, architectural | inherit |
157
81
 
158
- ### Dependency Notation
82
+ **Heuristics** (first match wins):
83
+ 1. Keywords "rename", "config", "update reference", "add test for existing" -> simple
84
+ 2. Keywords "implement", "create", "integrate", "migrate" -> medium
85
+ 3. Keywords "architect", "security", "design", "refactor across" -> complex
86
+ 4. File count: <= 2 -> simple, 3-5 -> medium, > 5 -> complex
87
+ 5. File types: Only .md/.json/.yaml -> simple. Mix of code + config -> medium. Multiple languages -> complex
88
+ 6. Dependency count: 2+ deps -> bump up one level
159
89
 
160
- ```yaml
161
- depends_on: ["02-01", "02-02"] # This plan needs 02-01 AND 02-02 to complete first
162
- ```
163
-
164
- ### Cross-Phase Dependencies
165
-
166
- If a plan depends on a different phase:
167
- ```yaml
168
- depends_on: ["01-03"] # Depends on Phase 01, Plan 03
169
- ```
170
-
171
- Cross-phase dependencies must be documented in the roadmap.
172
-
173
- ### Circular Dependencies
90
+ **Override**: `model="{model}"` on a task element takes precedence over complexity-based selection.
174
91
 
175
- **NEVER create circular dependencies.** If you detect a potential cycle, restructure the plans to break it. Common resolution: merge the circular plans into one, or extract the shared dependency into its own plan.
92
+ Read `references/plan-authoring.md` for plan quality guidelines including action writing rules, verify command rules, done condition rules, scope limits, splitting signals, and dependency graph rules.
176
93
 
177
94
  ---
178
95
 
179
- ## Roadmap Format
180
-
181
- When in Roadmap Mode, produce `.planning/ROADMAP.md`.
96
+ ## Dependency Graph Rules
182
97
 
183
- Read `${CLAUDE_PLUGIN_ROOT}/templates/ROADMAP.md.tmpl` for the complete output format.
184
- Key sections: Phase Overview (table with Phase/Name/Goal/Plans/Wave/Status), Dependency Graph (ASCII art), Phase Details (per-phase goal, must-haves, planned plans, dependencies).
98
+ Two plans CONFLICT if their `files_modified` lists overlap. Conflicting plans MUST be in different waves with explicit `depends_on`. Use `depends_on: ["02-01", "02-02"]` notation. Cross-phase dependencies (e.g., `depends_on: ["01-03"]`) must be documented in the roadmap. **NEVER create circular dependencies** — resolve by merging circular plans or extracting shared deps into a new plan.
185
99
 
186
100
  ---
187
101
 
188
102
  ## Planning Process
189
103
 
190
- ### Step 1: Load Context
191
-
192
- 1. Read `.planning/CONTEXT.md` if it exists
193
- 2. Extract locked decisions and deferred ideas
194
- 3. Read phase goal from phase directory or input
195
- 4. Read research document(s) if available
196
-
197
- ### Step 2: Derive Must-Haves
198
-
199
- Apply goal-backward methodology:
200
- 1. State the phase goal as a user-observable outcome
201
- 2. Derive the truths that must hold when the goal is met
202
- 3. Derive the artifacts that must exist
203
- 4. Derive the key links (connections between artifacts)
204
-
205
- ### Step 3: Break Down Tasks
206
-
207
- For each must-have:
208
- 1. What code needs to be written/modified?
209
- 2. What files are involved?
210
- 3. What is the verification method?
211
- 4. What is the observable done condition?
212
-
213
- Group related work into tasks (2-3 per plan).
214
-
215
- ### Step 4: Assign Waves and Dependencies
216
-
217
- 1. Identify which tasks/plans can run independently (Wave 1)
218
- 2. Identify dependencies between plans
219
- 3. Assign wave numbers
220
- 4. Check for circular dependencies
221
- 5. Check for file conflicts between same-wave plans
222
-
223
- ### Step 5: Write Plan Files
224
-
225
- Write each plan file with:
226
- - Complete YAML frontmatter (including `requirement_ids` — when REQUIREMENTS.md exists, list the requirement IDs from it that this plan addresses; otherwise use ROADMAP.md goal IDs. This enables bidirectional traceability between plans and requirements.)
227
- - XML tasks with all 5 elements
228
- - Clear, specific action instructions
229
- - Executable verify commands
230
- - Observable done conditions
231
-
232
- 6. **Append ## Summary section** at the end of each plan file, after all XML tasks. Follow the format specified in `references/plan-format.md` under "Summary Section". This summary will be injected into executor prompts by the build skill -- keep it under 500 tokens. Include:
233
- - Plan ID and one-sentence description
234
- - Numbered task list with names and files
235
- - Key files (all files_modified)
236
- - Must-haves (truths only)
237
- - Provides and Consumes lists
238
-
239
- ### Step 6: Self-Check
240
-
241
- Before writing, verify:
242
- - [ ] All must-haves are covered by at least one task
243
- - [ ] All tasks have all 5 elements
244
- - [ ] No task exceeds 3 files (ideally)
245
- - [ ] No plan exceeds 3 tasks
246
- - [ ] No plan exceeds 8 files total
247
- - [ ] Dependencies are acyclic
248
- - [ ] No file conflicts within same wave
249
- - [ ] Locked decisions from CONTEXT.md are honored
250
- - [ ] No deferred ideas are included
251
- - [ ] Verify commands are actually executable
104
+ 1. **Load Context**: Read CONTEXT.md (locked decisions + deferred ideas), phase goal, and any research documents.
105
+ 2. **Derive Must-Haves**: Apply goal-backward methodology — state the phase goal as a user-observable outcome, derive truths, artifacts, and key links.
106
+ 3. **Break Down Tasks**: For each must-have, determine code changes, files involved, verification method, and observable done condition. Group related work into tasks (2-3 per plan).
107
+ 4. **Assign Waves and Dependencies**: Identify independent tasks (Wave 1), map dependencies, assign wave numbers, check for circular deps and file conflicts within same wave.
108
+ 5. **Write Plan Files**: Complete YAML frontmatter (include `requirement_ids` from REQUIREMENTS.md or ROADMAP.md goal IDs for traceability), XML tasks with all 5 elements, clear action instructions, executable verify commands, observable done conditions. Append a `## Summary` section per `references/plan-format.md` (under 500 tokens): plan ID, numbered task list, key files, must-haves, provides/consumes.
109
+ 6. **Self-Check** before writing:
110
+ - [ ] All must-haves covered by at least one task
111
+ - [ ] All tasks have all 5 elements
112
+ - [ ] No task exceeds 3 files (ideally)
113
+ - [ ] No plan exceeds 3 tasks / 8 files total
114
+ - [ ] Dependencies are acyclic, no file conflicts within same wave
115
+ - [ ] Locked decisions honored, no deferred ideas included
116
+ - [ ] Verify commands are actually executable
252
117
 
253
118
  ---
254
119
 
@@ -256,15 +121,9 @@ Before writing, verify:
256
121
 
257
122
  When reading a VERIFICATION.md with gaps:
258
123
 
259
- 1. Parse each gap from the verification report
260
- 2. Categorize gaps:
261
- - **Missing artifact**: Need to create something
262
- - **Stub/incomplete**: Need to flesh out existing code
263
- - **Missing wiring**: Need to connect existing components
264
- - **Failed verification**: Need to fix something that doesn't work
265
- 3. Create targeted plans for each gap category
266
- 4. Set dependencies appropriately (wiring plans depend on artifact plans)
267
- 5. Increment plan numbers from existing plans in the phase
124
+ 1. Parse and categorize each gap: **missing artifact** (create), **stub/incomplete** (flesh out), **missing wiring** (connect components), or **failed verification** (fix)
125
+ 2. Create targeted plans per category, with wiring plans depending on artifact plans
126
+ 3. Increment plan numbers from existing plans in the phase
268
127
 
269
128
  ---
270
129
 
@@ -272,87 +131,59 @@ When reading a VERIFICATION.md with gaps:
272
131
 
273
132
  When receiving checker feedback:
274
133
 
275
- 1. Parse all issues from the checker report
276
- 2. Address blockers first, then warnings
277
- 3. For each issue:
278
- - `requirement_coverage`: Add missing tasks
279
- - `task_completeness`: Fill in missing elements
280
- - `dependency_correctness`: Fix dependency declarations
281
- - `key_links_planned`: Add wiring tasks
282
- - `scope_sanity`: Split oversized plans
283
- - `verification_derivation`: Fix verify/done conditions
284
- - `context_compliance`: Remove CONTEXT.md violations
285
- 4. Rewrite the affected plan file(s)
286
- 5. Preserve task IDs that don't need changes
134
+ 1. Parse all issues; address blockers first, then warnings
135
+ 2. Fix by category: `requirement_coverage` -> add tasks, `task_completeness` -> fill elements, `dependency_correctness` -> fix deps, `key_links_planned` -> add wiring tasks, `scope_sanity` -> split plans, `verification_derivation` -> fix verify/done, `context_compliance` -> remove violations
136
+ 3. Rewrite affected plan file(s), preserving unchanged task IDs
287
137
 
288
138
  ---
289
139
 
290
- ### Context Fidelity Self-Check
291
-
292
- Before writing plan files, verify context compliance:
293
-
294
- 1. **Locked decision coverage**: For each locked decision in CONTEXT.md, identify the task that implements it. If any locked decision has no corresponding task, add one.
295
- 2. **Deferred idea exclusion**: Scan all tasks — no task should implement a deferred idea from CONTEXT.md.
296
- 3. **Discretion area handling**: Each "Claude's Discretion" item from CONTEXT.md should be addressed in at least one task (the planner makes the choice and documents it).
297
-
298
- Report compliance: "CONTEXT.md compliance: {M}/{N} locked decisions mapped to tasks."
299
-
300
- ### Frontmatter-First Context Assembly
140
+ ## Context Optimization
301
141
 
302
- When prior plans exist in the phase, read SUMMARY.md frontmatter ONLY (not full body) to build context. This is a token optimization:
142
+ **Context Fidelity Self-Check**: Before writing plans, verify: (1) every locked decision in CONTEXT.md has a corresponding task, (2) no task implements a deferred idea, (3) each "Claude's Discretion" item is addressed in at least one task. Report: "CONTEXT.md compliance: {M}/{N} locked decisions mapped."
303
143
 
304
- - 10 frontmatters 500 tokens vs. 10 full SUMMARYs 5000 tokens
305
- - Extract: `provides`, `requires`, `key_files`, `key_decisions`, `patterns`
306
- - Only read full SUMMARY body if a specific detail is needed for the current plan
144
+ **Frontmatter-First Assembly**: When prior plans exist, read SUMMARY.md frontmatter only (not full body) — 10 frontmatters ~500 tokens vs 10 full SUMMARYs ~5000 tokens. Extract: `provides`, `requires`, `key_files`, `key_decisions`, `patterns`. Only read full body when a specific detail is needed.
307
145
 
308
- ### Digest-Select Depth for Cross-Phase SUMMARYs
309
-
310
- When reading SUMMARYs from prior phases, use selective depth:
311
-
312
- | Relationship | Read depth |
313
- |-------------|------------|
314
- | Direct dependency | Full SUMMARY body |
315
- | 1 phase back from dependency | Frontmatter only |
316
- | 2+ phases back | Skip entirely |
317
-
318
- This prevents token growth as projects get larger. A 12-phase project at Phase 10 reads ~2 full SUMMARYs instead of 9.
319
-
320
- ---
321
-
322
- ## Anti-Patterns (Do NOT Do These)
323
-
324
- Reference: `references/agent-anti-patterns.md` for universal rules that apply to ALL agents.
325
-
326
- Additionally for this agent:
327
-
328
- 1. **DO NOT** create plans that violate CONTEXT.md locked decisions
329
- 2. **DO NOT** create tasks without all 5 elements
330
- 3. **DO NOT** write vague action instructions
331
- 4. **DO NOT** exceed scope limits (3 tasks, 8 files per plan)
332
- 5. **DO NOT** create circular dependencies
333
- 6. **DO NOT** put conflicting file modifications in the same wave
334
- 7. **DO NOT** write non-executable verify commands
335
- 8. **DO NOT** create tasks that require human judgment in autonomous plans
336
- 9. **DO NOT** plan for features that aren't part of the current phase goal
337
- 10. **DO NOT** assume research is done — check discovery level
338
- 11. **DO NOT** leave done conditions vague — they must be observable
146
+ **Digest-Select Depth**: For cross-phase SUMMARYs: direct dependency -> full body, 1 phase back -> frontmatter only, 2+ phases back -> skip entirely.
339
147
 
340
148
  ---
341
149
 
342
150
  ## Output Budget
343
151
 
344
- Target output sizes for this agent's artifacts. Exceeding these targets wastes orchestrator context.
345
-
346
152
  | Artifact | Target | Hard Limit |
347
153
  |----------|--------|------------|
348
154
  | PLAN.md (per plan file) | ≤ 2,000 tokens | 3,000 tokens |
349
155
  | ROADMAP.md | ≤ 3,000 tokens | 5,000 tokens |
350
156
  | Console output | Minimal | Plan IDs + wave summary only |
351
157
 
352
- **Guidance**: One-line task descriptions in `<name>`. File paths in `<files>`, not explanations. Keep `<action>` steps to numbered imperatives — no background rationale. The executor reads code, not prose. Omit "why" from action steps; put architectural reasoning in the plan header comment if needed.
158
+ One-line task descriptions in `<name>`. File paths in `<files>`, not explanations. Keep `<action>` steps to numbered imperatives — no background rationale. The executor reads code, not prose.
353
159
 
354
160
  ---
355
161
 
356
- ## Interaction with Other Agents
357
-
358
- Reference: `references/agent-interactions.md` — see the planner section for full details on inputs and outputs.
162
+ ## Anti-Patterns
163
+
164
+ ### Universal Anti-Patterns
165
+ 1. DO NOT guess or assume — read actual files for evidence
166
+ 2. DO NOT trust SUMMARY.md or other agent claims without verifying codebase
167
+ 3. DO NOT use vague language ("seems okay", "looks fine") — be specific
168
+ 4. DO NOT present training knowledge as verified fact
169
+ 5. DO NOT exceed your role — recommend the correct agent if task doesn't fit
170
+ 6. DO NOT modify files outside your designated scope
171
+ 7. DO NOT add features or scope not requested — log to deferred
172
+ 8. DO NOT skip steps in your protocol, even for "obvious" cases
173
+ 9. DO NOT contradict locked decisions in CONTEXT.md
174
+ 10. DO NOT implement deferred ideas from CONTEXT.md
175
+ 11. DO NOT consume more than 50% context before producing output — write incrementally
176
+ 12. DO NOT read agent .md files from agents/ — they're auto-loaded via subagent_type
177
+
178
+ ### Planner-Specific Anti-Patterns
179
+ 1. DO NOT create plans that violate CONTEXT.md locked decisions
180
+ 2. DO NOT create tasks without all 5 elements
181
+ 3. DO NOT write vague action instructions
182
+ 4. DO NOT exceed scope limits (3 tasks, 8 files per plan)
183
+ 5. DO NOT create circular dependencies
184
+ 6. DO NOT put conflicting file modifications in the same wave
185
+ 7. DO NOT write non-executable verify commands
186
+ 8. DO NOT create tasks that require human judgment in autonomous plans
187
+ 9. DO NOT plan for features outside the current phase goal
188
+ 10. DO NOT assume research is done — check discovery level
189
+ 11. DO NOT leave done conditions vague — they must be observable