@sienklogic/plan-build-run 2.10.0 → 2.12.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 (126) hide show
  1. package/CHANGELOG.md +51 -0
  2. package/package.json +1 -1
  3. package/plugins/copilot-pbr/agents/codebase-mapper.agent.md +42 -0
  4. package/plugins/copilot-pbr/agents/debugger.agent.md +4 -1
  5. package/plugins/copilot-pbr/agents/executor.agent.md +31 -1
  6. package/plugins/copilot-pbr/agents/integration-checker.agent.md +33 -2
  7. package/plugins/copilot-pbr/agents/planner.agent.md +58 -1
  8. package/plugins/copilot-pbr/agents/researcher.agent.md +23 -0
  9. package/plugins/copilot-pbr/agents/synthesizer.agent.md +24 -0
  10. package/plugins/copilot-pbr/agents/verifier.agent.md +35 -1
  11. package/plugins/copilot-pbr/plugin.json +1 -1
  12. package/plugins/copilot-pbr/references/agent-contracts.md +297 -0
  13. package/plugins/copilot-pbr/references/ui-formatting.md +38 -56
  14. package/plugins/copilot-pbr/skills/begin/SKILL.md +30 -7
  15. package/plugins/copilot-pbr/skills/build/SKILL.md +28 -31
  16. package/plugins/copilot-pbr/skills/config/SKILL.md +9 -12
  17. package/plugins/copilot-pbr/skills/continue/SKILL.md +6 -6
  18. package/plugins/copilot-pbr/skills/dashboard/SKILL.md +3 -3
  19. package/plugins/copilot-pbr/skills/debug/SKILL.md +23 -26
  20. package/plugins/copilot-pbr/skills/discuss/SKILL.md +20 -10
  21. package/plugins/copilot-pbr/skills/do/SKILL.md +3 -3
  22. package/plugins/copilot-pbr/skills/explore/SKILL.md +11 -14
  23. package/plugins/copilot-pbr/skills/health/SKILL.md +75 -19
  24. package/plugins/copilot-pbr/skills/help/SKILL.md +6 -6
  25. package/plugins/copilot-pbr/skills/import/SKILL.md +22 -18
  26. package/plugins/copilot-pbr/skills/milestone/SKILL.md +90 -48
  27. package/plugins/copilot-pbr/skills/note/SKILL.md +3 -3
  28. package/plugins/copilot-pbr/skills/pause/SKILL.md +11 -10
  29. package/plugins/copilot-pbr/skills/plan/SKILL.md +22 -9
  30. package/plugins/copilot-pbr/skills/plan/templates/planner-prompt.md.tmpl +1 -1
  31. package/plugins/copilot-pbr/skills/quick/SKILL.md +9 -12
  32. package/plugins/copilot-pbr/skills/resume/SKILL.md +9 -9
  33. package/plugins/copilot-pbr/skills/review/SKILL.md +17 -12
  34. package/plugins/copilot-pbr/skills/scan/SKILL.md +9 -11
  35. package/plugins/copilot-pbr/skills/setup/SKILL.md +31 -8
  36. package/plugins/copilot-pbr/skills/shared/error-reporting.md +2 -1
  37. package/plugins/copilot-pbr/skills/shared/progress-display.md +0 -1
  38. package/plugins/copilot-pbr/skills/shared/universal-anti-patterns.md +10 -6
  39. package/plugins/copilot-pbr/skills/status/SKILL.md +3 -3
  40. package/plugins/copilot-pbr/skills/statusline/SKILL.md +12 -8
  41. package/plugins/copilot-pbr/skills/todo/SKILL.md +51 -28
  42. package/plugins/cursor-pbr/.cursor-plugin/plugin.json +1 -1
  43. package/plugins/cursor-pbr/agents/codebase-mapper.md +42 -0
  44. package/plugins/cursor-pbr/agents/debugger.md +4 -1
  45. package/plugins/cursor-pbr/agents/executor.md +31 -1
  46. package/plugins/cursor-pbr/agents/integration-checker.md +33 -2
  47. package/plugins/cursor-pbr/agents/planner.md +58 -1
  48. package/plugins/cursor-pbr/agents/researcher.md +23 -0
  49. package/plugins/cursor-pbr/agents/synthesizer.md +24 -0
  50. package/plugins/cursor-pbr/agents/verifier.md +35 -1
  51. package/plugins/cursor-pbr/references/agent-contracts.md +297 -0
  52. package/plugins/cursor-pbr/references/ui-formatting.md +38 -56
  53. package/plugins/cursor-pbr/skills/begin/SKILL.md +30 -7
  54. package/plugins/cursor-pbr/skills/build/SKILL.md +28 -31
  55. package/plugins/cursor-pbr/skills/config/SKILL.md +9 -10
  56. package/plugins/cursor-pbr/skills/continue/SKILL.md +6 -6
  57. package/plugins/cursor-pbr/skills/dashboard/SKILL.md +3 -3
  58. package/plugins/cursor-pbr/skills/debug/SKILL.md +23 -23
  59. package/plugins/cursor-pbr/skills/discuss/SKILL.md +20 -10
  60. package/plugins/cursor-pbr/skills/do/SKILL.md +3 -3
  61. package/plugins/cursor-pbr/skills/explore/SKILL.md +11 -12
  62. package/plugins/cursor-pbr/skills/health/SKILL.md +75 -19
  63. package/plugins/cursor-pbr/skills/help/SKILL.md +6 -6
  64. package/plugins/cursor-pbr/skills/import/SKILL.md +22 -16
  65. package/plugins/cursor-pbr/skills/milestone/SKILL.md +90 -48
  66. package/plugins/cursor-pbr/skills/note/SKILL.md +3 -3
  67. package/plugins/cursor-pbr/skills/pause/SKILL.md +11 -9
  68. package/plugins/cursor-pbr/skills/plan/SKILL.md +22 -9
  69. package/plugins/cursor-pbr/skills/plan/templates/planner-prompt.md.tmpl +1 -1
  70. package/plugins/cursor-pbr/skills/quick/SKILL.md +9 -12
  71. package/plugins/cursor-pbr/skills/resume/SKILL.md +9 -9
  72. package/plugins/cursor-pbr/skills/review/SKILL.md +17 -12
  73. package/plugins/cursor-pbr/skills/scan/SKILL.md +9 -10
  74. package/plugins/cursor-pbr/skills/setup/SKILL.md +31 -8
  75. package/plugins/cursor-pbr/skills/shared/error-reporting.md +2 -1
  76. package/plugins/cursor-pbr/skills/shared/progress-display.md +0 -1
  77. package/plugins/cursor-pbr/skills/shared/universal-anti-patterns.md +10 -6
  78. package/plugins/cursor-pbr/skills/status/SKILL.md +3 -3
  79. package/plugins/cursor-pbr/skills/statusline/SKILL.md +12 -8
  80. package/plugins/cursor-pbr/skills/todo/SKILL.md +51 -28
  81. package/plugins/pbr/.claude-plugin/plugin.json +1 -1
  82. package/plugins/pbr/agents/codebase-mapper.md +42 -0
  83. package/plugins/pbr/agents/debugger.md +4 -1
  84. package/plugins/pbr/agents/executor.md +31 -1
  85. package/plugins/pbr/agents/integration-checker.md +34 -2
  86. package/plugins/pbr/agents/planner.md +58 -1
  87. package/plugins/pbr/agents/researcher.md +23 -0
  88. package/plugins/pbr/agents/synthesizer.md +24 -0
  89. package/plugins/pbr/agents/verifier.md +36 -1
  90. package/plugins/pbr/references/agent-contracts.md +297 -0
  91. package/plugins/pbr/references/ui-formatting.md +37 -54
  92. package/plugins/pbr/scripts/check-roadmap-sync.js +9 -1
  93. package/plugins/pbr/scripts/check-skill-workflow.js +11 -0
  94. package/plugins/pbr/scripts/check-state-sync.js +58 -0
  95. package/plugins/pbr/scripts/check-subagent-output.js +75 -6
  96. package/plugins/pbr/scripts/log-tool-failure.js +1 -1
  97. package/plugins/pbr/scripts/progress-tracker.js +14 -0
  98. package/plugins/pbr/scripts/track-context-budget.js +10 -1
  99. package/plugins/pbr/scripts/validate-task.js +81 -17
  100. package/plugins/pbr/skills/begin/SKILL.md +36 -11
  101. package/plugins/pbr/skills/build/SKILL.md +37 -25
  102. package/plugins/pbr/skills/config/SKILL.md +12 -10
  103. package/plugins/pbr/skills/continue/SKILL.md +11 -9
  104. package/plugins/pbr/skills/dashboard/SKILL.md +3 -3
  105. package/plugins/pbr/skills/debug/SKILL.md +29 -23
  106. package/plugins/pbr/skills/discuss/SKILL.md +20 -10
  107. package/plugins/pbr/skills/do/SKILL.md +3 -3
  108. package/plugins/pbr/skills/explore/SKILL.md +14 -12
  109. package/plugins/pbr/skills/health/SKILL.md +76 -20
  110. package/plugins/pbr/skills/help/SKILL.md +8 -6
  111. package/plugins/pbr/skills/import/SKILL.md +25 -16
  112. package/plugins/pbr/skills/milestone/SKILL.md +88 -45
  113. package/plugins/pbr/skills/note/SKILL.md +3 -3
  114. package/plugins/pbr/skills/pause/SKILL.md +13 -9
  115. package/plugins/pbr/skills/plan/SKILL.md +28 -13
  116. package/plugins/pbr/skills/plan/templates/planner-prompt.md.tmpl +1 -1
  117. package/plugins/pbr/skills/quick/SKILL.md +12 -10
  118. package/plugins/pbr/skills/resume/SKILL.md +11 -9
  119. package/plugins/pbr/skills/review/SKILL.md +35 -24
  120. package/plugins/pbr/skills/scan/SKILL.md +12 -10
  121. package/plugins/pbr/skills/setup/SKILL.md +30 -7
  122. package/plugins/pbr/skills/shared/error-reporting.md +2 -0
  123. package/plugins/pbr/skills/shared/universal-anti-patterns.md +10 -6
  124. package/plugins/pbr/skills/status/SKILL.md +8 -6
  125. package/plugins/pbr/skills/statusline/SKILL.md +12 -8
  126. package/plugins/pbr/skills/todo/SKILL.md +51 -28
@@ -0,0 +1,297 @@
1
+ # Agent Contracts
2
+
3
+ Input/output schemas for agent-to-agent handoffs in Plan-Build-Run.
4
+
5
+ Each contract defines: the file exchanged, required frontmatter fields, body structure, and special handling notes. Agents MUST produce output matching these schemas — consumers depend on them.
6
+
7
+ ---
8
+
9
+ ## Contract: Researcher -> Synthesizer
10
+
11
+ **File**: `.planning/research/{topic-slug}.md` (project) or `.planning/phases/{NN}-{slug}/RESEARCH.md` (phase)
12
+ **Direction**: Researcher writes, Synthesizer reads 2-4 of these
13
+
14
+ ### Required Frontmatter
15
+
16
+ ```yaml
17
+ ---
18
+ confidence: high|medium|low
19
+ sources_checked: N # integer count of sources consulted
20
+ coverage: "complete|partial|minimal"
21
+ ---
22
+ ```
23
+
24
+ ### Required Body Sections
25
+
26
+ - `## Key Findings` — each finding tagged with source level (`[S1]`..`[S6]`) and confidence
27
+ - `## Gaps` — areas not covered and why
28
+ - `## Sources` — source list with what each provided
29
+
30
+ ### Special Handling
31
+
32
+ - Every factual claim must have a source attribution tag
33
+ - Version-sensitive info (API signatures, config syntax) must come from S1-S3 sources
34
+ - `[SPECULATIVE]` tag marks unverified reasoning — synthesizer must not upgrade confidence
35
+
36
+ ---
37
+
38
+ ## Contract: Synthesizer -> Planner
39
+
40
+ **File**: `.planning/research/SUMMARY.md` (or specified path)
41
+ **Direction**: Synthesizer writes, Planner reads
42
+
43
+ ### Required Frontmatter
44
+
45
+ ```yaml
46
+ ---
47
+ confidence: high|medium|low
48
+ sources: N # integer count of input documents
49
+ conflicts: N # integer count of contradictions found
50
+ ---
51
+ ```
52
+
53
+ ### Required Body Sections
54
+
55
+ - `## Resolved Decisions` — table with Topic, Decision, Confidence, Sources columns
56
+ - `## Open Questions` — items marked `[NEEDS DECISION]` for planner to handle
57
+ - `## Deferred Ideas` — items out of scope
58
+
59
+ ### Special Handling
60
+
61
+ - `[NEEDS DECISION]` flags: planner creates `checkpoint:decision` tasks OR decides within discretion scope
62
+ - Confidence levels never upgraded beyond what input documents support
63
+ - Contradictions always documented, never silently dropped
64
+
65
+ ---
66
+
67
+ ## Contract: Planner -> Executor
68
+
69
+ **File**: `.planning/phases/{NN}-{slug}/PLAN-{NN}.md`
70
+ **Direction**: Planner writes, Executor reads and executes sequentially
71
+
72
+ ### Required Frontmatter
73
+
74
+ ```yaml
75
+ ---
76
+ phase: "{phase-slug}"
77
+ plan: "{NN-MM}"
78
+ wave: N
79
+ depends_on: []
80
+ files_modified: ["{path}"]
81
+ must_haves:
82
+ truths: ["{observable condition}"]
83
+ artifacts: ["{file: description}"]
84
+ key_links: ["{connection description}"]
85
+ provides: ["{exported item}"]
86
+ consumes: ["{required item}"]
87
+ requirement_ids: []
88
+ ---
89
+ ```
90
+
91
+ ### Required Body: XML Tasks (each task needs all 5 elements)
92
+
93
+ ```xml
94
+ <task id="{plan}-T{n}" type="{type}" tdd="{bool}" complexity="{simple|medium|complex}">
95
+ <name>{imperative verb phrase}</name>
96
+ <files>{file paths, one per line}</files>
97
+ <action>{numbered steps}</action>
98
+ <verify>{executable shell command}</verify>
99
+ <done>{observable outcome}</done>
100
+ </task>
101
+ ```
102
+
103
+ ### Special Handling
104
+
105
+ - Task types: `auto`, `tdd`, `checkpoint:human-verify`, `checkpoint:decision`, `checkpoint:human-action`
106
+ - Complexity drives model selection: simple=haiku, medium=sonnet, complex=inherit
107
+ - Executor stages ONLY files listed in `<files>` per task
108
+ - Plans end with a `## Summary` section (plan ID, task list, key files, must-haves, provides/consumes)
109
+
110
+ ---
111
+
112
+ ## Contract: Planner -> Plan-Checker
113
+
114
+ **File**: Same `PLAN-{NN}.md` files (read-only)
115
+ **Direction**: Planner writes, Plan-Checker reads and returns text assessment
116
+ **Returns**: Inline text report (no file output)
117
+
118
+ ### Expected Input
119
+
120
+ Plan-Checker reads plan frontmatter + XML tasks and evaluates across 9 dimensions (D1-D9). Optionally receives CONTEXT.md path.
121
+
122
+ ### Output Format
123
+
124
+ ```
125
+ VERIFICATION PASSED | ISSUES FOUND
126
+ Plans: N | Tasks: N | Blockers: N | Warnings: N | Info: N
127
+
128
+ ## Blockers
129
+ - [{plan_id}] D{N} {severity}: {description} -> Fix: {hint}
130
+ ```
131
+
132
+ ### Special Handling
133
+
134
+ - Blockers must be fixed before execution; warnings are advisory
135
+ - Plan-Checker never modifies plans — only reports issues
136
+ - Planner enters Revision Mode to address feedback
137
+
138
+ ---
139
+
140
+ ## Contract: Executor -> Verifier
141
+
142
+ **File**: `.planning/phases/{NN}-{slug}/SUMMARY-{plan_id}.md`
143
+ **Direction**: Executor writes after completing plan tasks, Verifier reads
144
+
145
+ ### Required Frontmatter
146
+
147
+ ```yaml
148
+ ---
149
+ plan: "{plan_id}"
150
+ status: complete|partial|checkpoint
151
+ commits: ["{sha1}", "{sha2}"]
152
+ provides: ["{exported item}"]
153
+ must_haves:
154
+ - "{must-have description}: DONE|PARTIAL|SKIPPED"
155
+ ---
156
+ ```
157
+
158
+ ### Required Body Sections
159
+
160
+ - `## Task Results` — table with Task, Status, Notes columns
161
+ - `## Deviations` — list of deviations from plan, or "None"
162
+
163
+ ### Special Handling
164
+
165
+ - Verifier does NOT trust SUMMARY.md claims — verifies against actual codebase
166
+ - Verifier checks must-haves from PLAN.md frontmatter, not SUMMARY.md self-reports
167
+ - One SUMMARY per plan execution; status reflects final state
168
+
169
+ ---
170
+
171
+ ## Contract: Verifier -> Planner (Gap Closure)
172
+
173
+ **File**: `.planning/phases/{NN}-{slug}/VERIFICATION.md`
174
+ **Direction**: Verifier writes, Planner reads to create gap-closure plans
175
+
176
+ ### Required Frontmatter
177
+
178
+ ```yaml
179
+ ---
180
+ status: passed|gaps_found|human_needed
181
+ attempt: N
182
+ must_haves_total: N
183
+ must_haves_passed: M
184
+ gaps: ["gap description"]
185
+ overrides: []
186
+ ---
187
+ ```
188
+
189
+ ### Required Body Sections
190
+
191
+ - `## Must-Have Verification` — table with #, Must-Have, Status, Evidence columns
192
+ - `## Gaps` — per-gap detail with Evidence and Suggested fix
193
+
194
+ ### Special Handling
195
+
196
+ - `gaps_found` triggers Planner Gap Closure Mode — planner creates targeted fix plans
197
+ - `overrides` list: must-haves marked as override by user, counted as passed
198
+ - Re-verification increments `attempt` counter; checks regressions on previously-passed items
199
+ - Verifier has Write access ONLY for VERIFICATION.md — cannot fix source code
200
+
201
+ ---
202
+
203
+ ## Contract: Integration-Checker -> Planner
204
+
205
+ **File**: `.planning/phases/{NN}-{slug}/INTEGRATION-REPORT.md`
206
+ **Direction**: Integration-Checker writes, Planner reads for cross-phase fixes
207
+
208
+ ### Required Frontmatter
209
+
210
+ ```yaml
211
+ ---
212
+ status: passed|issues_found
213
+ checks_total: N
214
+ checks_passed: M
215
+ critical_issues: K
216
+ ---
217
+ ```
218
+
219
+ ### Required Body Sections
220
+
221
+ - `## Integration Checks` — table with Check, Status, Evidence columns
222
+ - `## E2E Flows` — table with Flow, Status, Broken Link columns
223
+ - `## Critical Issues` — detailed issue descriptions
224
+
225
+ ### Special Handling
226
+
227
+ - Checks ACROSS phases (unlike Verifier which checks single phase)
228
+ - 5 check categories: Export/Import Wiring, API Route Coverage, Auth Protection, E2E Flows, Cross-Phase Dependencies
229
+ - Integration-Checker has Write access ONLY for INTEGRATION-REPORT.md — cannot fix source code
230
+
231
+ ---
232
+
233
+ ## Contract: Debugger (Self-Contained)
234
+
235
+ **File**: `.planning/debug/{slug}.md`
236
+ **Direction**: Debugger creates, updates, and resolves within a single session
237
+
238
+ ### Required Frontmatter
239
+
240
+ ```yaml
241
+ ---
242
+ slug: "{slug}"
243
+ status: "gathering|investigating|fixing|verifying|resolved"
244
+ created: "{ISO-8601}"
245
+ updated: "{ISO-8601}"
246
+ mode: "find_and_fix|find_root_cause_only"
247
+ ---
248
+ ```
249
+
250
+ ### Required Body Sections
251
+
252
+ - `## Current Focus` — Hypothesis, Test, Expecting, Disconfirm, Next action
253
+ - `## Symptoms` — IMMUTABLE after gathering phase
254
+ - `## Hypotheses` — Active (unchecked) and Eliminated (checked, append-only)
255
+ - `## Evidence Log` — append-only timestamped entries
256
+ - `## Resolution` — root cause, mechanism, fix, commit hash (when resolved)
257
+
258
+ ### Special Handling
259
+
260
+ - Status transitions: `gathering -> investigating -> fixing -> verifying -> resolved`
261
+ - Symptoms and Evidence Log are append-only / immutable — prevents mutation bias
262
+ - Fix commits use format: `fix({scope}): {description}` with root cause in body
263
+ - May emit checkpoints (`HUMAN-VERIFY`, `HUMAN-ACTION`, `DECISION`) for user input
264
+
265
+ ---
266
+
267
+ ## Contract: Codebase-Mapper (Self-Contained)
268
+
269
+ **Files**: `.planning/codebase/{STACK,ARCHITECTURE,CONVENTIONS,CONCERNS}.md` (varies by focus)
270
+ **Direction**: Codebase-Mapper writes, consumed by Researcher (as S0 local prior) and Planner
271
+
272
+ ### Focus Areas and Outputs
273
+
274
+ | Focus | Output Files |
275
+ |-------|-------------|
276
+ | `tech` | STACK.md, INTEGRATIONS.md |
277
+ | `arch` | ARCHITECTURE.md, STRUCTURE.md |
278
+ | `quality` | CONVENTIONS.md, TESTING.md |
279
+ | `concerns` | CONCERNS.md |
280
+
281
+ ### Fallback Frontmatter (per file)
282
+
283
+ No YAML frontmatter required — these are reference documents with markdown tables.
284
+
285
+ ### Required Body Structure (minimum per file)
286
+
287
+ - **STACK.md**: `## Tech Stack` table (Category, Technology, Version, Config File) + `## Package Manager`
288
+ - **ARCHITECTURE.md**: `## Architecture Overview` (pattern name) + `## Key Components` table + `## Data Flow`
289
+ - **CONVENTIONS.md**: `## Code Conventions` table (Convention, Pattern, Example File) + `## Naming Patterns`
290
+ - **CONCERNS.md**: `## Concerns` table (Severity, Area, Description, File) + `## Security Considerations`
291
+
292
+ ### Special Handling
293
+
294
+ - Every claim must reference actual file paths — no vague references
295
+ - Codebase-Mapper does NOT commit — the orchestrator handles commits
296
+ - Researcher treats these as S0 (highest confidence) local prior research
297
+ - One focus area per invocation
@@ -1,4 +1,3 @@
1
- <!-- canonical: ../../pbr/references/ui-formatting.md -->
2
1
  # Plan-Build-Run UI Brand & Formatting Reference
3
2
 
4
3
  Consistent output formatting for all Plan-Build-Run skills. Every skill that produces user-facing output should follow these patterns.
@@ -8,9 +7,9 @@ Consistent output formatting for all Plan-Build-Run skills. Every skill that pro
8
7
  Use for major workflow transitions. Always use `PLAN-BUILD-RUN` prefix.
9
8
 
10
9
  ```
11
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
12
- PLAN-BUILD-RUN ► {STAGE NAME}
13
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
10
+ ╔══════════════════════════════════════════════════════════════╗
11
+ PLAN-BUILD-RUN ► {STAGE NAME}
12
+ ╚══════════════════════════════════════════════════════════════╝
14
13
  ```
15
14
 
16
15
  **Stage names (uppercase):**
@@ -22,7 +21,7 @@ Use for major workflow transitions. Always use `PLAN-BUILD-RUN` prefix.
22
21
  - `EXECUTING WAVE {N}`
23
22
  - `VERIFYING`
24
23
  - `PHASE {N} COMPLETE ✓`
25
- - `MILESTONE COMPLETE 🎉`
24
+ - `MILESTONE COMPLETE`
26
25
  - `SCANNING CODEBASE`
27
26
  - `DEBUGGING`
28
27
 
@@ -34,9 +33,9 @@ Use for major workflow transitions. Always use `PLAN-BUILD-RUN` prefix.
34
33
 
35
34
  Format:
36
35
  ```
37
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
38
- PLAN-BUILD-RUN ► {SKILL NAME}
39
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
36
+ ╔══════════════════════════════════════════════════════════════╗
37
+ PLAN-BUILD-RUN ► {SKILL NAME}
38
+ ╚══════════════════════════════════════════════════════════════╝
40
39
  ```
41
40
 
42
41
  **Skill names (uppercase):**
@@ -156,7 +155,7 @@ For research agents:
156
155
 
157
156
  ## Checkpoint Boxes
158
157
 
159
- User action required. Use double-line box drawing, 62-character width.
158
+ User action required. Use double-line box drawing, 62-character inner width.
160
159
 
161
160
  ```
162
161
  ╔══════════════════════════════════════════════════════════════╗
@@ -165,9 +164,7 @@ User action required. Use double-line box drawing, 62-character width.
165
164
 
166
165
  {Content}
167
166
 
168
- ──────────────────────────────────────────────────────────────
169
167
  → {ACTION PROMPT}
170
- ──────────────────────────────────────────────────────────────
171
168
  ```
172
169
 
173
170
  **Types:**
@@ -261,25 +258,21 @@ Use plain conversational prompts for these cases instead.
261
258
  Always present at end of major completions (phase complete, milestone complete, project init).
262
259
 
263
260
  ```
264
- ───────────────────────────────────────────────────────────────
265
-
266
- ## ▶ Next Up
261
+ ╔══════════════════════════════════════════════════════════════╗
262
+ ║ ▶ NEXT UP ║
263
+ ╚══════════════════════════════════════════════════════════════╝
267
264
 
268
265
  **{Identifier}: {Name}** — {one-line description}
269
266
 
270
267
  `{copy-paste command}`
271
268
 
272
269
  <sub>`/clear` first → fresh context window</sub>
273
-
274
- ───────────────────────────────────────────────────────────────
270
+ ```
275
271
 
276
272
  **Also available:**
277
273
  - `/pbr:alternative-1` — description
278
274
  - `/pbr:alternative-2` — description
279
275
 
280
- ───────────────────────────────────────────────────────────────
281
- ```
282
-
283
276
  **Shorter routing (for minor completions):**
284
277
  ```
285
278
  What's next?
@@ -334,18 +327,18 @@ Use tables for structured data:
334
327
  ### Phase Complete
335
328
 
336
329
  ```
337
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
338
- PLAN-BUILD-RUN ► PHASE {N} COMPLETE ✓
339
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
330
+ ╔══════════════════════════════════════════════════════════════╗
331
+ PLAN-BUILD-RUN ► PHASE {N} COMPLETE ✓
332
+ ╚══════════════════════════════════════════════════════════════╝
340
333
 
341
334
  **Phase {N}: {Name}**
342
335
 
343
336
  {X} plans executed
344
337
  Goal verified ✓
345
338
 
346
- ───────────────────────────────────────────────────────────────
347
-
348
- ## ▶ Next Up
339
+ ╔══════════════════════════════════════════════════════════════╗
340
+ ║ ▶ NEXT UP ║
341
+ ╚══════════════════════════════════════════════════════════════╝
349
342
 
350
343
  **Phase {N+1}: {Name}** — {Goal from ROADMAP.md}
351
344
 
@@ -353,30 +346,26 @@ Goal verified ✓
353
346
 
354
347
  <sub>/clear first → fresh context window</sub>
355
348
 
356
- ───────────────────────────────────────────────────────────────
357
-
358
349
  **Also available:**
359
350
  - /pbr:plan {N+1} — skip discussion, plan directly
360
351
  - /pbr:review {N} — manual acceptance testing before continuing
361
-
362
- ───────────────────────────────────────────────────────────────
363
352
  ```
364
353
 
365
354
  ### Milestone Complete
366
355
 
367
356
  ```
368
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
369
- PLAN-BUILD-RUN ► MILESTONE COMPLETE 🎉
370
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
357
+ ╔══════════════════════════════════════════════════════════════╗
358
+ PLAN-BUILD-RUN ► MILESTONE COMPLETE
359
+ ╚══════════════════════════════════════════════════════════════╝
371
360
 
372
361
  **{version}**
373
362
 
374
363
  {N} phases completed
375
364
  All phase goals verified ✓
376
365
 
377
- ───────────────────────────────────────────────────────────────
378
-
379
- ## ▶ Next Up
366
+ ╔══════════════════════════════════════════════════════════════╗
367
+ ║ ▶ NEXT UP ║
368
+ ╚══════════════════════════════════════════════════════════════╝
380
369
 
381
370
  **Audit milestone** — verify requirements, cross-phase integration, E2E flows
382
371
 
@@ -384,21 +373,17 @@ All phase goals verified ✓
384
373
 
385
374
  <sub>/clear first → fresh context window</sub>
386
375
 
387
- ───────────────────────────────────────────────────────────────
388
-
389
376
  **Also available:**
390
377
  - /pbr:review — manual acceptance testing
391
- - /pbr:milestone complete — skip audit, archive directly
392
-
393
- ───────────────────────────────────────────────────────────────
378
+ - /pbr:milestone complete — archive milestone after audit passes
394
379
  ```
395
380
 
396
381
  ### Gaps Found
397
382
 
398
383
  ```
399
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
400
- PLAN-BUILD-RUN ► PHASE {N} GAPS FOUND ⚠
401
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
384
+ ╔══════════════════════════════════════════════════════════════╗
385
+ PLAN-BUILD-RUN ► PHASE {N} GAPS FOUND ⚠
386
+ ╚══════════════════════════════════════════════════════════════╝
402
387
 
403
388
  **Phase {N}: {Name}**
404
389
 
@@ -409,9 +394,9 @@ Report: .planning/phases/{phase_dir}/VERIFICATION.md
409
394
 
410
395
  {Extract gap summaries from VERIFICATION.md}
411
396
 
412
- ───────────────────────────────────────────────────────────────
413
-
414
- ## ▶ Next Up
397
+ ╔══════════════════════════════════════════════════════════════╗
398
+ ║ ▶ NEXT UP ║
399
+ ╚══════════════════════════════════════════════════════════════╝
415
400
 
416
401
  **Plan gap closure** — create additional plans to complete the phase
417
402
 
@@ -419,13 +404,9 @@ Report: .planning/phases/{phase_dir}/VERIFICATION.md
419
404
 
420
405
  <sub>/clear first → fresh context window</sub>
421
406
 
422
- ───────────────────────────────────────────────────────────────
423
-
424
407
  **Also available:**
425
408
  - cat .planning/phases/{phase_dir}/VERIFICATION.md — see full report
426
409
  - /pbr:review {N} — manual testing before planning
427
-
428
- ───────────────────────────────────────────────────────────────
429
410
  ```
430
411
 
431
412
  ---
@@ -435,9 +416,9 @@ Report: .planning/phases/{phase_dir}/VERIFICATION.md
435
416
  Use for session lifecycle transitions (pause/resume):
436
417
 
437
418
  ```
438
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
439
- PLAN-BUILD-RUN ► SESSION RESTORED ✓
440
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
419
+ ╔══════════════════════════════════════════════════════════════╗
420
+ PLAN-BUILD-RUN ► SESSION RESTORED ✓
421
+ ╚══════════════════════════════════════════════════════════════╝
441
422
 
442
423
  Position: Phase {N} — {phase name}, Plan {M}
443
424
  Paused: {ISO datetime}
@@ -453,10 +434,11 @@ Other session banners: `SESSION SAVED ✓` (pause), `RESUMING SESSION` (resume s
453
434
  ## Anti-Patterns
454
435
 
455
436
  Do NOT:
456
- - Use varying box/banner widths
457
- - Mix banner styles (`===`, `---`, `***`) with `━━━` banners
437
+ - Use varying box/banner widths — always 62-character inner width
438
+ - Use `━━━` heavy bars or `───` thin dividers for banners/sections — use `╔═╗║╚═╝` boxes
439
+ - Mix banner styles (`===`, `---`, `***`) with double-line boxes
458
440
  - Skip `PLAN-BUILD-RUN ►` prefix in stage banners
459
- - Use random emoji (only `🎉` for milestone complete, `✓` for phase complete)
441
+ - Use random emoji (only for milestone complete, `✓` for phase complete)
460
442
  - Skip the "Next Up" block after major completions
461
443
  - Reference non-Plan-Build-Run commands (always use `/pbr:*` commands)
462
444
  - Use non-Plan-Build-Run branding in banners
@@ -20,9 +20,9 @@ Additionally for this skill:
20
20
  **Before ANY tool calls**, display this banner:
21
21
 
22
22
  ```
23
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
24
- PLAN-BUILD-RUN ► STARTING PROJECT
25
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
23
+ ╔══════════════════════════════════════════════════════════════╗
24
+ PLAN-BUILD-RUN ► STARTING PROJECT
25
+ ╚══════════════════════════════════════════════════════════════╝
26
26
  ```
27
27
 
28
28
  Then proceed to Step 1.
@@ -165,6 +165,8 @@ Use the **yes-no** pattern from `skills/shared/gate-prompts.md`:
165
165
 
166
166
  **After gathering preferences:**
167
167
 
168
+ **CRITICAL: You MUST create the .planning/ directory and write config.json NOW. Do not proceed without this.**
169
+
168
170
  1. Read the config template from `skills/begin/templates/config.json.tmpl`
169
171
  2. Apply the user's choices to the template
170
172
  3. Create `.planning/` directory
@@ -172,6 +174,8 @@ Use the **yes-no** pattern from `skills/shared/gate-prompts.md`:
172
174
 
173
175
  **IMPORTANT**: This step MUST happen BEFORE research (Step 5) because depth controls how many researchers to spawn.
174
176
 
177
+ **CRITICAL: Write .active-skill NOW.** Write the text "begin" to `.planning/.active-skill` using the Write tool. Verify the file exists before proceeding.
178
+
175
179
  ---
176
180
 
177
181
  ### Step 4: Research Decision (inline)
@@ -206,7 +210,7 @@ Use the **yes-no** pattern from `skills/shared/gate-prompts.md`:
206
210
 
207
211
  Spawn parallel agents for research. Each researcher writes to `.planning/research/`.
208
212
 
209
- **Create `.planning/research/` directory first.**
213
+ **CRITICAL: Create .planning/research/ directory NOW before spawning researchers. Do NOT skip this step.**
210
214
 
211
215
  **For each research topic, invoke the @researcher agent:**
212
216
 
@@ -324,6 +328,9 @@ Each requirement must be:
324
328
  - **Specific** — not vague ("fast" is bad, "page loads in <2s" is good)
325
329
 
326
330
  **7e. Write REQUIREMENTS.md:**
331
+
332
+ **CRITICAL: Write REQUIREMENTS.md NOW. The roadmap planner depends on this file.**
333
+
327
334
  Read the template from `skills/begin/templates/REQUIREMENTS.md.tmpl` and write `.planning/REQUIREMENTS.md` with:
328
335
  - All v1 requirements grouped by category
329
336
  - All v2 requirements with deferral reasons
@@ -374,6 +381,10 @@ Read `skills/begin/templates/roadmap-prompt.md.tmpl` for the prompt structure.
374
381
 
375
382
  Write the project state files from templates:
376
383
 
384
+ **CRITICAL: You MUST write all 5 state initialization files (Steps 9a-9e). Do NOT skip any.**
385
+
386
+ **CRITICAL: Write PROJECT.md NOW. Do NOT skip this step.**
387
+
377
388
  **9a. Write PROJECT.md:**
378
389
  1. Read `skills/begin/templates/PROJECT.md.tmpl`
379
390
  2. Fill in:
@@ -386,6 +397,8 @@ Write the project state files from templates:
386
397
  3. Write to `.planning/PROJECT.md`
387
398
  4. Ensure the `## Milestones` section is filled in with the project name and phase count from the roadmap
388
399
 
400
+ **CRITICAL: Write STATE.md NOW. Do NOT skip this step.**
401
+
389
402
  **9b. Write STATE.md:**
390
403
  1. Read `skills/begin/templates/STATE.md.tmpl`
391
404
  2. Fill in:
@@ -398,6 +411,8 @@ Write the project state files from templates:
398
411
  4. Fill in the `## Milestone` section with the project name and total phase count
399
412
  5. **STATE.md size limit**: Follow size limit enforcement rules in `skills/shared/state-update.md` (150 lines max).
400
413
 
414
+ **CRITICAL: Write CONTEXT.md NOW. Do NOT skip this step.**
415
+
401
416
  **9c. Write CONTEXT.md:**
402
417
  Create `.planning/CONTEXT.md` from information gathered during questioning:
403
418
 
@@ -422,6 +437,8 @@ Create `.planning/CONTEXT.md` from information gathered during questioning:
422
437
  | {feature} | {reason} |
423
438
  ```
424
439
 
440
+ **CRITICAL: Write HISTORY.md NOW. Do NOT skip this step.**
441
+
425
442
  **9d. Write HISTORY.md:**
426
443
  Create `.planning/HISTORY.md` with an initial entry:
427
444
 
@@ -435,6 +452,8 @@ Create `.planning/HISTORY.md` with an initial entry:
435
452
  - Roadmap: {N} phases planned
436
453
  ```
437
454
 
455
+ **CRITICAL: Create phase directories NOW. Do NOT skip this step.**
456
+
438
457
  **9e. Create phase directories:**
439
458
  For each phase in the roadmap, create the directory structure:
440
459
  ```
@@ -478,6 +497,10 @@ If `gates.confirm_project` is true in config:
478
497
 
479
498
  ---
480
499
 
500
+ ## Cleanup
501
+
502
+ Delete `.planning/.active-skill` if it exists. This must happen on all paths (success, partial, and failure) before reporting results.
503
+
481
504
  ## Completion
482
505
 
483
506
  After all steps complete, present the final summary:
@@ -485,9 +508,9 @@ After all steps complete, present the final summary:
485
508
  Use the branded stage banner from `references/ui-formatting.md`:
486
509
 
487
510
  ```
488
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
489
- PLAN-BUILD-RUN ► PROJECT INITIALIZED
490
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
511
+ ╔══════════════════════════════════════════════════════════════╗
512
+ PLAN-BUILD-RUN ► PROJECT INITIALIZED
513
+ ╚══════════════════════════════════════════════════════════════╝
491
514
 
492
515
  **{name}**
493
516