@sienklogic/plan-build-run 2.9.1 → 2.11.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 (128) hide show
  1. package/CHANGELOG.md +44 -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/pbr-rules.md +1 -0
  14. package/plugins/copilot-pbr/references/pbr-tools-cli.md +285 -0
  15. package/plugins/copilot-pbr/references/ui-formatting.md +38 -56
  16. package/plugins/copilot-pbr/skills/begin/SKILL.md +30 -7
  17. package/plugins/copilot-pbr/skills/build/SKILL.md +28 -31
  18. package/plugins/copilot-pbr/skills/config/SKILL.md +9 -12
  19. package/plugins/copilot-pbr/skills/continue/SKILL.md +6 -6
  20. package/plugins/copilot-pbr/skills/dashboard/SKILL.md +12 -0
  21. package/plugins/copilot-pbr/skills/debug/SKILL.md +23 -26
  22. package/plugins/copilot-pbr/skills/discuss/SKILL.md +20 -10
  23. package/plugins/copilot-pbr/skills/do/SKILL.md +3 -3
  24. package/plugins/copilot-pbr/skills/explore/SKILL.md +11 -14
  25. package/plugins/copilot-pbr/skills/health/SKILL.md +75 -19
  26. package/plugins/copilot-pbr/skills/help/SKILL.md +6 -6
  27. package/plugins/copilot-pbr/skills/import/SKILL.md +22 -18
  28. package/plugins/copilot-pbr/skills/milestone/SKILL.md +90 -48
  29. package/plugins/copilot-pbr/skills/note/SKILL.md +3 -3
  30. package/plugins/copilot-pbr/skills/pause/SKILL.md +11 -10
  31. package/plugins/copilot-pbr/skills/plan/SKILL.md +22 -9
  32. package/plugins/copilot-pbr/skills/plan/templates/planner-prompt.md.tmpl +1 -1
  33. package/plugins/copilot-pbr/skills/quick/SKILL.md +9 -12
  34. package/plugins/copilot-pbr/skills/resume/SKILL.md +9 -9
  35. package/plugins/copilot-pbr/skills/review/SKILL.md +17 -12
  36. package/plugins/copilot-pbr/skills/scan/SKILL.md +9 -11
  37. package/plugins/copilot-pbr/skills/setup/SKILL.md +54 -8
  38. package/plugins/copilot-pbr/skills/shared/error-reporting.md +2 -1
  39. package/plugins/copilot-pbr/skills/shared/progress-display.md +0 -1
  40. package/plugins/copilot-pbr/skills/shared/universal-anti-patterns.md +10 -6
  41. package/plugins/copilot-pbr/skills/status/SKILL.md +3 -3
  42. package/plugins/copilot-pbr/skills/statusline/SKILL.md +12 -8
  43. package/plugins/copilot-pbr/skills/todo/SKILL.md +51 -28
  44. package/plugins/cursor-pbr/.cursor-plugin/plugin.json +1 -1
  45. package/plugins/cursor-pbr/agents/codebase-mapper.md +42 -0
  46. package/plugins/cursor-pbr/agents/debugger.md +4 -1
  47. package/plugins/cursor-pbr/agents/executor.md +31 -1
  48. package/plugins/cursor-pbr/agents/integration-checker.md +33 -2
  49. package/plugins/cursor-pbr/agents/planner.md +58 -1
  50. package/plugins/cursor-pbr/agents/researcher.md +23 -0
  51. package/plugins/cursor-pbr/agents/synthesizer.md +24 -0
  52. package/plugins/cursor-pbr/agents/verifier.md +35 -1
  53. package/plugins/cursor-pbr/references/agent-contracts.md +297 -0
  54. package/plugins/cursor-pbr/references/pbr-rules.md +1 -0
  55. package/plugins/cursor-pbr/references/pbr-tools-cli.md +285 -0
  56. package/plugins/cursor-pbr/references/ui-formatting.md +38 -56
  57. package/plugins/cursor-pbr/skills/begin/SKILL.md +30 -7
  58. package/plugins/cursor-pbr/skills/build/SKILL.md +28 -31
  59. package/plugins/cursor-pbr/skills/config/SKILL.md +9 -10
  60. package/plugins/cursor-pbr/skills/continue/SKILL.md +6 -6
  61. package/plugins/cursor-pbr/skills/dashboard/SKILL.md +12 -0
  62. package/plugins/cursor-pbr/skills/debug/SKILL.md +23 -23
  63. package/plugins/cursor-pbr/skills/discuss/SKILL.md +20 -10
  64. package/plugins/cursor-pbr/skills/do/SKILL.md +3 -3
  65. package/plugins/cursor-pbr/skills/explore/SKILL.md +11 -12
  66. package/plugins/cursor-pbr/skills/health/SKILL.md +75 -19
  67. package/plugins/cursor-pbr/skills/help/SKILL.md +6 -6
  68. package/plugins/cursor-pbr/skills/import/SKILL.md +22 -16
  69. package/plugins/cursor-pbr/skills/milestone/SKILL.md +90 -48
  70. package/plugins/cursor-pbr/skills/note/SKILL.md +3 -3
  71. package/plugins/cursor-pbr/skills/pause/SKILL.md +11 -9
  72. package/plugins/cursor-pbr/skills/plan/SKILL.md +22 -9
  73. package/plugins/cursor-pbr/skills/plan/templates/planner-prompt.md.tmpl +1 -1
  74. package/plugins/cursor-pbr/skills/quick/SKILL.md +9 -12
  75. package/plugins/cursor-pbr/skills/resume/SKILL.md +9 -9
  76. package/plugins/cursor-pbr/skills/review/SKILL.md +17 -12
  77. package/plugins/cursor-pbr/skills/scan/SKILL.md +9 -10
  78. package/plugins/cursor-pbr/skills/setup/SKILL.md +54 -8
  79. package/plugins/cursor-pbr/skills/shared/error-reporting.md +2 -1
  80. package/plugins/cursor-pbr/skills/shared/progress-display.md +0 -1
  81. package/plugins/cursor-pbr/skills/shared/universal-anti-patterns.md +10 -6
  82. package/plugins/cursor-pbr/skills/status/SKILL.md +3 -3
  83. package/plugins/cursor-pbr/skills/statusline/SKILL.md +12 -8
  84. package/plugins/cursor-pbr/skills/todo/SKILL.md +51 -28
  85. package/plugins/pbr/.claude-plugin/plugin.json +1 -1
  86. package/plugins/pbr/agents/codebase-mapper.md +42 -0
  87. package/plugins/pbr/agents/debugger.md +4 -1
  88. package/plugins/pbr/agents/executor.md +31 -1
  89. package/plugins/pbr/agents/integration-checker.md +34 -2
  90. package/plugins/pbr/agents/planner.md +58 -1
  91. package/plugins/pbr/agents/researcher.md +23 -0
  92. package/plugins/pbr/agents/synthesizer.md +24 -0
  93. package/plugins/pbr/agents/verifier.md +36 -1
  94. package/plugins/pbr/references/agent-contracts.md +297 -0
  95. package/plugins/pbr/references/pbr-rules.md +1 -0
  96. package/plugins/pbr/references/pbr-tools-cli.md +285 -0
  97. package/plugins/pbr/references/ui-formatting.md +37 -54
  98. package/plugins/pbr/scripts/check-skill-workflow.js +11 -0
  99. package/plugins/pbr/scripts/check-state-sync.js +58 -0
  100. package/plugins/pbr/scripts/check-subagent-output.js +43 -4
  101. package/plugins/pbr/scripts/validate-task.js +69 -17
  102. package/plugins/pbr/skills/begin/SKILL.md +36 -11
  103. package/plugins/pbr/skills/build/SKILL.md +37 -25
  104. package/plugins/pbr/skills/config/SKILL.md +12 -10
  105. package/plugins/pbr/skills/continue/SKILL.md +11 -9
  106. package/plugins/pbr/skills/dashboard/SKILL.md +12 -0
  107. package/plugins/pbr/skills/debug/SKILL.md +29 -23
  108. package/plugins/pbr/skills/discuss/SKILL.md +20 -10
  109. package/plugins/pbr/skills/do/SKILL.md +3 -3
  110. package/plugins/pbr/skills/explore/SKILL.md +14 -12
  111. package/plugins/pbr/skills/health/SKILL.md +76 -20
  112. package/plugins/pbr/skills/help/SKILL.md +8 -6
  113. package/plugins/pbr/skills/import/SKILL.md +25 -16
  114. package/plugins/pbr/skills/milestone/SKILL.md +88 -45
  115. package/plugins/pbr/skills/note/SKILL.md +3 -3
  116. package/plugins/pbr/skills/pause/SKILL.md +13 -9
  117. package/plugins/pbr/skills/plan/SKILL.md +28 -13
  118. package/plugins/pbr/skills/plan/templates/planner-prompt.md.tmpl +1 -1
  119. package/plugins/pbr/skills/quick/SKILL.md +12 -10
  120. package/plugins/pbr/skills/resume/SKILL.md +11 -9
  121. package/plugins/pbr/skills/review/SKILL.md +35 -24
  122. package/plugins/pbr/skills/scan/SKILL.md +12 -10
  123. package/plugins/pbr/skills/setup/SKILL.md +53 -7
  124. package/plugins/pbr/skills/shared/error-reporting.md +2 -0
  125. package/plugins/pbr/skills/shared/universal-anti-patterns.md +10 -6
  126. package/plugins/pbr/skills/status/SKILL.md +8 -6
  127. package/plugins/pbr/skills/statusline/SKILL.md +12 -8
  128. package/plugins/pbr/skills/todo/SKILL.md +51 -28
@@ -0,0 +1,285 @@
1
+ # pbr-tools.js CLI Reference
2
+
3
+ Command-line interface for structured JSON operations on `.planning/` state.
4
+ Skills and agents call this via Bash to avoid token-expensive text parsing.
5
+
6
+ ```
7
+ node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js <command> [args]
8
+ ```
9
+
10
+ All commands output JSON to stdout. Errors output JSON with an `error` field to stderr (exit code 1).
11
+
12
+ ---
13
+
14
+ ## State Commands
15
+
16
+ ### `state load`
17
+
18
+ Returns full project state as a single JSON object.
19
+
20
+ ```bash
21
+ node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js state load
22
+ ```
23
+
24
+ **Output:**
25
+ ```json
26
+ {
27
+ "exists": true,
28
+ "config": { ... }, // config.json contents
29
+ "state": { // STATE.md frontmatter + parsed body
30
+ "version": 2,
31
+ "current_phase": "1",
32
+ "status": "building",
33
+ "progress_percent": 45,
34
+ "last_activity": "2025-01-15",
35
+ "last_command": "/pbr:build",
36
+ "blockers": []
37
+ },
38
+ "roadmap": { // Parsed ROADMAP.md
39
+ "phases": [{ "number": "01", "name": "...", "status": "planned", ... }]
40
+ },
41
+ "phase_count": 3,
42
+ "current_phase": "1",
43
+ "progress": { "phases": [...], "total_plans": 5, "completed_plans": 2, "percentage": 40 }
44
+ }
45
+ ```
46
+
47
+ ### `state check-progress`
48
+
49
+ Recalculates progress from filesystem (plan files, summaries, verification).
50
+
51
+ ```bash
52
+ node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js state check-progress
53
+ ```
54
+
55
+ **Output:**
56
+ ```json
57
+ {
58
+ "phases": [
59
+ { "directory": "01-setup", "plans": 2, "summaries": 2, "completed": 2, "has_verification": true, "status": "verified" }
60
+ ],
61
+ "total_plans": 5,
62
+ "completed_plans": 3,
63
+ "percentage": 60
64
+ }
65
+ ```
66
+
67
+ ### `state update <field> <value>`
68
+
69
+ Atomically updates a single field in STATE.md. Uses file locking.
70
+
71
+ ```bash
72
+ node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js state update current_phase 2
73
+ node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js state update status building
74
+ node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js state update last_activity now # auto-timestamps
75
+ node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js state update plans_complete 3
76
+ ```
77
+
78
+ **Valid fields:** `current_phase`, `status`, `plans_complete`, `last_activity`
79
+
80
+ **Output:** `{ "success": true, "field": "status", "value": "building" }`
81
+
82
+ ---
83
+
84
+ ## Config Commands
85
+
86
+ ### `config validate`
87
+
88
+ Validates `config.json` against the JSON schema. Detects both schema violations and semantic conflicts.
89
+
90
+ ```bash
91
+ node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js config validate
92
+ ```
93
+
94
+ **Output:**
95
+ ```json
96
+ {
97
+ "valid": true,
98
+ "errors": [],
99
+ "warnings": ["features.auto_continue=true with mode=interactive: auto_continue only fires in autonomous mode"]
100
+ }
101
+ ```
102
+
103
+ ### `config resolve-depth [dir]`
104
+
105
+ Resolves the effective depth profile by merging base profile with user overrides.
106
+
107
+ ```bash
108
+ node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js config resolve-depth
109
+ node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js config resolve-depth /path/to/.planning
110
+ ```
111
+
112
+ **Output:** Full depth profile object with all resolved values (research rounds, plan detail level, verification depth, etc.)
113
+
114
+ ---
115
+
116
+ ## Plan & Phase Commands
117
+
118
+ ### `plan-index <phase>`
119
+
120
+ Returns plan inventory for a phase, grouped by wave.
121
+
122
+ ```bash
123
+ node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js plan-index 1
124
+ ```
125
+
126
+ **Output:**
127
+ ```json
128
+ {
129
+ "phase": "01-setup",
130
+ "total_plans": 3,
131
+ "plans": [
132
+ {
133
+ "file": "PLAN-01.md",
134
+ "plan_id": "01",
135
+ "wave": 1,
136
+ "type": "feature",
137
+ "autonomous": true,
138
+ "depends_on": [],
139
+ "gap_closure": false,
140
+ "has_summary": true,
141
+ "must_haves_count": 4
142
+ }
143
+ ],
144
+ "waves": { "wave_1": ["01", "02"], "wave_2": ["03"] }
145
+ }
146
+ ```
147
+
148
+ ### `phase-info <phase>`
149
+
150
+ Comprehensive single-phase status combining roadmap, filesystem, and plan data.
151
+
152
+ ```bash
153
+ node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js phase-info 1
154
+ ```
155
+
156
+ **Output:**
157
+ ```json
158
+ {
159
+ "phase": "01-setup",
160
+ "name": "setup",
161
+ "goal": "Initialize project infrastructure",
162
+ "roadmap_status": "building",
163
+ "filesystem_status": "partial",
164
+ "plans": [...],
165
+ "plan_count": 3,
166
+ "summaries": [{ "file": "SUMMARY-01.md", "plan": "01", "status": "complete" }],
167
+ "completed": 1,
168
+ "verification": null,
169
+ "has_context": false
170
+ }
171
+ ```
172
+
173
+ ### `must-haves <phase>`
174
+
175
+ Collects all must-haves from phase plans — truths, artifacts, and key links.
176
+
177
+ ```bash
178
+ node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js must-haves 1
179
+ ```
180
+
181
+ **Output:**
182
+ ```json
183
+ {
184
+ "phase": "01-setup",
185
+ "plans": {
186
+ "01": { "truths": ["..."], "artifacts": ["..."], "key_links": ["..."] }
187
+ },
188
+ "all": { "truths": [...], "artifacts": [...], "key_links": [...] },
189
+ "total": 12
190
+ }
191
+ ```
192
+
193
+ ---
194
+
195
+ ## Frontmatter Command
196
+
197
+ ### `frontmatter <filepath>`
198
+
199
+ Parses a markdown file's YAML frontmatter and returns as JSON.
200
+
201
+ ```bash
202
+ node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js frontmatter .planning/phases/01-setup/PLAN-01.md
203
+ ```
204
+
205
+ **Output:** The frontmatter fields as a JSON object. Returns `{ "error": "File not found: ..." }` if the file doesn't exist.
206
+
207
+ ---
208
+
209
+ ## Roadmap Commands
210
+
211
+ ### `roadmap update-status <phase> <status>`
212
+
213
+ Updates the Status column for a phase in ROADMAP.md's Phase Overview table. Uses file locking. Warns on invalid status transitions but does not block them.
214
+
215
+ ```bash
216
+ node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js roadmap update-status 1 building
217
+ ```
218
+
219
+ **Valid statuses:** `pending`, `planned`, `building`, `built`, `partial`, `needs_fixes`, `verified`, `skipped`
220
+
221
+ **Output:** `{ "success": true, "old_status": "planned", "new_status": "building" }`
222
+
223
+ ### `roadmap update-plans <phase> <complete> <total>`
224
+
225
+ Updates the Plans column (e.g., "2/5") for a phase in ROADMAP.md.
226
+
227
+ ```bash
228
+ node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js roadmap update-plans 1 2 5
229
+ ```
230
+
231
+ **Output:** `{ "success": true, "old_plans": "1/5", "new_plans": "2/5" }`
232
+
233
+ ---
234
+
235
+ ## History Commands
236
+
237
+ ### `history append <type> <title> [body]`
238
+
239
+ Appends a record to HISTORY.md. Creates the file if it doesn't exist.
240
+
241
+ ```bash
242
+ node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js history append milestone "v1.0 Release" "Initial release with core features"
243
+ node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js history append phase "01-setup Complete" "3 plans executed, all verified"
244
+ ```
245
+
246
+ **Types:** `milestone`, `phase`
247
+
248
+ **Output:** `{ "success": true }`
249
+
250
+ ### `history load`
251
+
252
+ Loads all HISTORY.md records as structured JSON.
253
+
254
+ ```bash
255
+ node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js history load
256
+ ```
257
+
258
+ **Output:**
259
+ ```json
260
+ {
261
+ "records": [
262
+ { "type": "milestone", "title": "v1.0 Release", "date": "2025-01-15", "body": "..." }
263
+ ],
264
+ "line_count": 42
265
+ }
266
+ ```
267
+
268
+ Returns `null` if HISTORY.md doesn't exist.
269
+
270
+ ---
271
+
272
+ ## Event Command
273
+
274
+ ### `event <category> <event> [JSON-details]`
275
+
276
+ Logs a structured event to `.planning/logs/events.jsonl`.
277
+
278
+ ```bash
279
+ node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js event build plan-complete '{"plan":"01","phase":"01-setup"}'
280
+ node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js event error hook-failure '{"script":"validate-task.js"}'
281
+ ```
282
+
283
+ **Output:** `{ "logged": true, "category": "build", "event": "plan-complete" }`
284
+
285
+ If the JSON-details argument is not valid JSON, it's stored as `{ "raw": "<the string>" }`.
@@ -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