@sienklogic/plan-build-run 2.10.0 → 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 (122) hide show
  1. package/CHANGELOG.md +37 -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-skill-workflow.js +11 -0
  93. package/plugins/pbr/scripts/check-state-sync.js +58 -0
  94. package/plugins/pbr/scripts/check-subagent-output.js +43 -4
  95. package/plugins/pbr/scripts/validate-task.js +69 -17
  96. package/plugins/pbr/skills/begin/SKILL.md +36 -11
  97. package/plugins/pbr/skills/build/SKILL.md +37 -25
  98. package/plugins/pbr/skills/config/SKILL.md +12 -10
  99. package/plugins/pbr/skills/continue/SKILL.md +11 -9
  100. package/plugins/pbr/skills/dashboard/SKILL.md +3 -3
  101. package/plugins/pbr/skills/debug/SKILL.md +29 -23
  102. package/plugins/pbr/skills/discuss/SKILL.md +20 -10
  103. package/plugins/pbr/skills/do/SKILL.md +3 -3
  104. package/plugins/pbr/skills/explore/SKILL.md +14 -12
  105. package/plugins/pbr/skills/health/SKILL.md +76 -20
  106. package/plugins/pbr/skills/help/SKILL.md +8 -6
  107. package/plugins/pbr/skills/import/SKILL.md +25 -16
  108. package/plugins/pbr/skills/milestone/SKILL.md +88 -45
  109. package/plugins/pbr/skills/note/SKILL.md +3 -3
  110. package/plugins/pbr/skills/pause/SKILL.md +13 -9
  111. package/plugins/pbr/skills/plan/SKILL.md +28 -13
  112. package/plugins/pbr/skills/plan/templates/planner-prompt.md.tmpl +1 -1
  113. package/plugins/pbr/skills/quick/SKILL.md +12 -10
  114. package/plugins/pbr/skills/resume/SKILL.md +11 -9
  115. package/plugins/pbr/skills/review/SKILL.md +35 -24
  116. package/plugins/pbr/skills/scan/SKILL.md +12 -10
  117. package/plugins/pbr/skills/setup/SKILL.md +30 -7
  118. package/plugins/pbr/skills/shared/error-reporting.md +2 -0
  119. package/plugins/pbr/skills/shared/universal-anti-patterns.md +10 -6
  120. package/plugins/pbr/skills/status/SKILL.md +8 -6
  121. package/plugins/pbr/skills/statusline/SKILL.md +12 -8
  122. package/plugins/pbr/skills/todo/SKILL.md +51 -28
@@ -8,9 +8,9 @@ description: "Check planning directory integrity. Find and fix corrupted state."
8
8
  **Before ANY tool calls**, display this banner:
9
9
 
10
10
  ```
11
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
12
- PLAN-BUILD-RUN ► HEALTH CHECK
13
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
11
+ ╔══════════════════════════════════════════════════════════════╗
12
+ PLAN-BUILD-RUN ► HEALTH CHECK
13
+ ╚══════════════════════════════════════════════════════════════╝
14
14
  ```
15
15
 
16
16
  Then proceed to Step 1.
@@ -19,7 +19,7 @@ Then proceed to Step 1.
19
19
 
20
20
  You are running the **health** skill. Your job is to validate the integrity of the `.planning/` directory, report problems, and suggest targeted fixes. You never auto-repair anything.
21
21
 
22
- This skill runs **inline** and is **read-only** it never modifies any files.
22
+ This skill runs **inline**. It is read-only by default, but offers an optional **auto-fix** flow for common corruption patterns (see the Auto-Fix section below).
23
23
 
24
24
  ---
25
25
 
@@ -149,6 +149,58 @@ Glob for `.planning/phases/**/.PROGRESS-*` and `.planning/phases/**/.checkpoint-
149
149
 
150
150
  ---
151
151
 
152
+ ## Auto-Fix for Common Corruption Patterns
153
+
154
+ After running all 10 checks and collecting results, if any of the following auto-fixable issues were found, offer to fix them.
155
+
156
+ ### Auto-Fixable Patterns
157
+
158
+ | Pattern | Detection | Fix Action |
159
+ |---------|-----------|------------|
160
+ | Missing STATE.md frontmatter | Check 5 finds STATE.md without `---` block | Regenerate frontmatter from ROADMAP.md phase data (current_phase, total_phases, status) |
161
+ | STATE.md phase_slug mismatch | Check 5/7 finds phase_slug doesn't match current phase directory name | Correct phase_slug to match the actual directory name in `.planning/phases/` |
162
+ | Missing config.json | Check 1/2 finds no `.planning/config.json` | Create with default config template (same as `/pbr:setup` defaults) |
163
+ | Orphaned .active-skill file | Check 10 or general scan finds `.planning/.active-skill` older than 1 hour | Delete the stale `.active-skill` file |
164
+ | Empty phases directory | Check 3 finds `.planning/phases/` missing | Create the directory: `mkdir -p .planning/phases` |
165
+ | STATE.md over 150 lines | Check 5 finds STATE.md exceeds 150 lines | Compact the `## Accumulated Context` section, keeping only the last 3 entries |
166
+
167
+ ### Auto-Fix Flow
168
+
169
+ After displaying health check results, if any auto-fixable issues were detected:
170
+
171
+ 1. Count the auto-fixable issues and present:
172
+
173
+ Use AskUserQuestion:
174
+ question: "Found {N} auto-fixable issues. How should we handle them?"
175
+ header: "Fix?"
176
+ options:
177
+ - label: "Fix all" description: "Apply all {N} fixes automatically"
178
+ - label: "Review each" description: "Show each fix and confirm individually"
179
+ - label: "Skip" description: "Do nothing — just report"
180
+
181
+ 2. If "Fix all": Apply all fixes in order, then display a summary:
182
+ ```
183
+ Auto-fix results:
184
+ - Fixed: {description of fix 1}
185
+ - Fixed: {description of fix 2}
186
+ ...
187
+ ```
188
+
189
+ 3. If "Review each": For each fixable issue, display:
190
+ ```
191
+ Issue: {description}
192
+ Fix: {what will be done}
193
+ ```
194
+ Then ask via AskUserQuestion (yes/no): "Apply this fix?"
195
+ - If yes: apply and display `- Fixed: {description}`
196
+ - If no: skip and display `- Skipped: {description}`
197
+
198
+ 4. If "Skip": Do nothing, continue to the rest of the output.
199
+
200
+ **Note:** When auto-fix is active, the health skill is no longer strictly read-only. The `allowed-tools` frontmatter must include `Write` and `AskUserQuestion` for auto-fix to work. Update the frontmatter accordingly.
201
+
202
+ ---
203
+
152
204
  ## Bonus: Recent Decisions
153
205
 
154
206
  After all checks, look for `.planning/logs/decisions.jsonl`. If it exists, display the last 5 entries as `- {date}: {summary} (phase {N})`. If it does not exist, skip silently.
@@ -161,15 +213,17 @@ After all checks complete, display the branded result:
161
213
 
162
214
  **If all checks passed (0 failures):**
163
215
  ```
164
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
165
- PLAN-BUILD-RUN ► HEALTH CHECK PASSED ✓
166
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
216
+ ╔══════════════════════════════════════════════════════════════╗
217
+ PLAN-BUILD-RUN ► HEALTH CHECK PASSED ✓
218
+ ╚══════════════════════════════════════════════════════════════╝
167
219
 
168
220
  {N} checks passed, {M} warnings
169
221
 
170
- ───────────────────────────────────────────────────────────────
171
222
 
172
- ## ▶ Next Up
223
+
224
+ ╔══════════════════════════════════════════════════════════════╗
225
+ ║ ▶ NEXT UP ║
226
+ ╚══════════════════════════════════════════════════════════════╝
173
227
 
174
228
  **Continue your workflow** — planning directory is healthy
175
229
 
@@ -177,40 +231,42 @@ After all checks complete, display the branded result:
177
231
 
178
232
  <sub>`/clear` first → fresh context window</sub>
179
233
 
180
- ───────────────────────────────────────────────────────────────
234
+
181
235
 
182
236
  **Also available:**
183
237
  - `/pbr:continue` — execute next logical step
184
238
  - `/pbr:config` — adjust settings
185
239
 
186
- ───────────────────────────────────────────────────────────────
240
+
187
241
  ```
188
242
 
189
243
  **If failures found:**
190
244
  ```
191
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
192
- PLAN-BUILD-RUN ► HEALTH CHECK FAILED ⚠
193
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
245
+ ╔══════════════════════════════════════════════════════════════╗
246
+ PLAN-BUILD-RUN ► HEALTH CHECK FAILED ⚠
247
+ ╚══════════════════════════════════════════════════════════════╝
194
248
 
195
249
  {N} checks passed, {F} failures, {M} warnings
196
250
 
197
- ───────────────────────────────────────────────────────────────
198
251
 
199
- ## ▶ Next Up
252
+
253
+ ╔══════════════════════════════════════════════════════════════╗
254
+ ║ ▶ NEXT UP ║
255
+ ╚══════════════════════════════════════════════════════════════╝
200
256
 
201
257
  **Fix the failures** listed above, then re-run
202
258
 
203
259
  `/pbr:health`
204
260
 
205
- ───────────────────────────────────────────────────────────────
261
+
206
262
  ```
207
263
 
208
264
  ---
209
265
 
210
266
  ## Anti-Patterns
211
267
 
212
- 1. **DO NOT** modify any files — this is strictly read-only
213
- 2. **DO NOT** auto-repair anything — present fixes and let the user decide
268
+ 1. **DO NOT** modify files without user consent auto-fix requires explicit user approval via AskUserQuestion
269
+ 2. **DO NOT** auto-repair anything silently always present fixes and let the user decide
214
270
  3. **DO NOT** skip checks that depend on missing files — report the dependency failure and continue
215
271
  4. **DO NOT** treat warnings as failures in the summary count — only count FAIL items
216
272
  5. **DO NOT** read full plan/summary contents — frontmatter and existence checks are sufficient
@@ -8,9 +8,9 @@ description: "Command reference and workflow guide for Plan-Build-Run."
8
8
  **Before ANY tool calls**, display this banner:
9
9
 
10
10
  ```
11
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
12
- PLAN-BUILD-RUN ► COMMAND REFERENCE
13
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
11
+ ╔══════════════════════════════════════════════════════════════╗
12
+ PLAN-BUILD-RUN ► COMMAND REFERENCE
13
+ ╚══════════════════════════════════════════════════════════════╝
14
14
  ```
15
15
 
16
16
  Then proceed to Step 1.
@@ -134,16 +134,16 @@ Skills automatically activate the appropriate context: `/pbr:build` uses dev con
134
134
  ## Getting Started
135
135
 
136
136
  ```
137
- ───────────────────────────────────────────────────────────────
138
137
 
139
- ## ▶ Next Up
138
+ ╔══════════════════════════════════════════════════════════════╗
139
+ ║ ▶ NEXT UP ║
140
+ ╚══════════════════════════════════════════════════════════════╝
140
141
 
141
142
  → `/pbr:begin` — start a new project
142
143
  → `/pbr:status` — check current project status
143
144
  → `/pbr:config` — configure workflow settings
144
145
  → `/pbr:help <command>` — detailed help for a specific command
145
146
 
146
- ───────────────────────────────────────────────────────────────
147
147
  ```
148
148
 
149
149
  ## Getting Help
@@ -8,9 +8,9 @@ description: "Import external plans. Validates context, detects conflicts, gener
8
8
  **Before ANY tool calls**, display this banner:
9
9
 
10
10
  ```
11
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
12
- PLAN-BUILD-RUN ► IMPORTING PLAN
13
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
11
+ ╔══════════════════════════════════════════════════════════════╗
12
+ PLAN-BUILD-RUN ► IMPORTING PLAN
13
+ ╚══════════════════════════════════════════════════════════════╝
14
14
  ```
15
15
 
16
16
  Then proceed to Step 1.
@@ -47,11 +47,12 @@ Reference: `skills/shared/config-loading.md` for the tooling shortcut and config
47
47
  1. Parse `$ARGUMENTS` for phase number
48
48
  2. Parse optional `--from <filepath>` flag (path to the external document to import)
49
49
  3. Parse optional `--skip-checker` flag (skip plan validation step)
50
- 4. Validate:
50
+ 4. **CRITICAL: Write .active-skill NOW.** Write the text "import" to `.planning/.active-skill` using the Write tool.
51
+ 5. Validate:
51
52
  - Phase exists in ROADMAP.md
52
53
  - Phase directory exists at `.planning/phases/{NN}-{slug}/`
53
- 5. If no phase number given, read current phase from `.planning/STATE.md`
54
- 6. Check for existing plans in the phase directory (glob for `*-PLAN.md`)
54
+ 6. If no phase number given, read current phase from `.planning/STATE.md`
55
+ 7. Check for existing plans in the phase directory (glob for `*-PLAN.md`)
55
56
  - If plans exist: ask user via AskUserQuestion: "Phase {N} already has plans. Replace them with imported plans?"
56
57
  - If yes: note that existing plans will be overwritten in Step 7
57
58
  - If no: stop
@@ -317,7 +318,7 @@ Follow the revision loop with:
317
318
 
318
319
  ### Step 7: Write PLAN.md Files (inline)
319
320
 
320
- Write each plan to `.planning/phases/{NN}-{slug}/{phase}-{plan_num}-PLAN.md`.
321
+ Write each plan to `.planning/phases/{NN}-{slug}/PLAN-{plan_num}.md`.
321
322
 
322
323
  If existing plans are being replaced (user confirmed in Step 1):
323
324
  - Delete existing `*-PLAN.md` files in the phase directory before writing new ones
@@ -375,14 +376,18 @@ docs({phase}): import plans for phase {N} ({count} plans, {wave_count} waves)
375
376
 
376
377
  ---
377
378
 
378
- ### Step 10: Confirm (inline)
379
+ ### Step 10: Cleanup
380
+
381
+ Delete `.planning/.active-skill` if it exists. This must happen on all paths (success, partial, and failure) before reporting results.
382
+
383
+ ### Step 11: Confirm (inline)
379
384
 
380
385
  Present a summary of the import using the branded banner:
381
386
 
382
387
  ```
383
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
384
- PLAN-BUILD-RUN ► IMPORT COMPLETE ✓
385
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
388
+ ╔══════════════════════════════════════════════════════════════╗
389
+ PLAN-BUILD-RUN ► IMPORT COMPLETE ✓
390
+ ╚══════════════════════════════════════════════════════════════╝
386
391
 
387
392
  **Phase {N}: {name}** — {plan_count} plans imported
388
393
 
@@ -401,9 +406,9 @@ Wave execution order:
401
406
  Must-haves coverage: {count} truths across {plan_count} plans
402
407
  Requirements traced: {count}/{total} REQ-IDs covered
403
408
 
404
- ───────────────────────────────────────────────────────────────
405
-
406
- ## ▶ Next Up
409
+ ╔══════════════════════════════════════════════════════════════╗
410
+ ║ ▶ NEXT UP ║
411
+ ╚══════════════════════════════════════════════════════════════╝
407
412
 
408
413
  **Build Phase {N}** — execute these imported plans
409
414
 
@@ -411,19 +416,18 @@ Requirements traced: {count}/{total} REQ-IDs covered
411
416
 
412
417
  <sub>`/clear` first → fresh context window</sub>
413
418
 
414
- ───────────────────────────────────────────────────────────────
415
-
416
419
  **Also available:**
417
420
  - `/pbr:plan {N}` — re-plan from scratch if import needs rework
418
421
  - `/pbr:discuss {N}` — talk through details before building
419
422
 
420
- ───────────────────────────────────────────────────────────────
421
423
  ```
422
424
 
423
425
  ---
424
426
 
425
427
  ## Error Handling
426
428
 
429
+ **IMPORTANT:** On ALL error exits below, delete `.planning/.active-skill` if it exists before displaying the error message.
430
+
427
431
  ### Phase not found
428
432
  If the specified phase does not exist in ROADMAP.md, display:
429
433
  ```
@@ -492,7 +496,7 @@ Present remaining issues and ask user to decide: proceed or intervene.
492
496
 
493
497
  | File | Purpose | When |
494
498
  |------|---------|------|
495
- | `.planning/phases/{NN}-{slug}/{phase}-{NN}-PLAN.md` | Imported plan files | Step 7 |
499
+ | `.planning/phases/{NN}-{slug}/PLAN-{NN}.md` | Imported plan files | Step 7 |
496
500
  | `.planning/ROADMAP.md` | Plans Complete + Status updated to `planned` | Step 8a |
497
501
  | `.planning/STATE.md` | Updated with plan status and import source | Step 8b |
498
502
  | `.planning/CONTEXT.md` | Updated if blockers surfaced new locked decisions | Step 8d |
@@ -8,9 +8,9 @@ description: "Manage milestones: new, complete, audit, gaps."
8
8
  **Before ANY tool calls**, display this banner:
9
9
 
10
10
  ```
11
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
12
- PLAN-BUILD-RUN ► MILESTONE
13
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
11
+ ╔══════════════════════════════════════════════════════════════╗
12
+ PLAN-BUILD-RUN ► MILESTONE
13
+ ╚══════════════════════════════════════════════════════════════╝
14
14
  ```
15
15
 
16
16
  Then proceed to Step 1.
@@ -28,9 +28,9 @@ This skill runs **inline** for most subcommands, but spawns agents for `audit`.
28
28
  Reference: `skills/shared/context-budget.md` for the universal orchestrator rules.
29
29
 
30
30
  Additionally for this skill:
31
- - **Never** perform integration checks yourself — delegate to the integration-checker subagent
31
+ - **Never** perform integration checks yourself — delegate to the integration-checker agent
32
32
  - **Minimize** reading audit and verification outputs — read only frontmatter and status fields
33
- - **Delegate** all cross-phase integration analysis to the integration-checker subagent
33
+ - **Delegate** all cross-phase integration analysis to the integration-checker agent
34
34
 
35
35
  ---
36
36
 
@@ -155,9 +155,9 @@ Start a new milestone cycle with new phases.
155
155
 
156
156
  10. **Confirm** with branded output:
157
157
  ```
158
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
159
- PLAN-BUILD-RUN ► MILESTONE CREATED ✓
160
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
158
+ ╔══════════════════════════════════════════════════════════════╗
159
+ PLAN-BUILD-RUN ► MILESTONE CREATED ✓
160
+ ╚══════════════════════════════════════════════════════════════╝
161
161
 
162
162
  **Milestone: {name}** — {count} phases
163
163
 
@@ -166,9 +166,11 @@ Start a new milestone cycle with new phases.
166
166
  {N+1}. {name}
167
167
  ...
168
168
 
169
- ───────────────────────────────────────────────────────────────
170
169
 
171
- ## ▶ Next Up
170
+
171
+ ╔══════════════════════════════════════════════════════════════╗
172
+ ║ ▶ NEXT UP ║
173
+ ╚══════════════════════════════════════════════════════════════╝
172
174
 
173
175
  **Phase {N}: {name}** — start with discussion or planning
174
176
 
@@ -176,13 +178,13 @@ Start a new milestone cycle with new phases.
176
178
 
177
179
  <sub>`/clear` first → fresh context window</sub>
178
180
 
179
- ───────────────────────────────────────────────────────────────
181
+
180
182
 
181
183
  **Also available:**
182
184
  - `/pbr:plan {N}` — skip discussion, plan directly
183
185
  - `/pbr:status` — see project status
184
186
 
185
- ───────────────────────────────────────────────────────────────
187
+
186
188
  ```
187
189
 
188
190
  ---
@@ -259,14 +261,40 @@ Archive a completed milestone and prepare for the next one.
259
261
 
260
262
  5. **Archive milestone documents:**
261
263
 
264
+ **CRITICAL: Pre-flight safety checks BEFORE archiving. Do NOT skip this step.**
265
+
266
+ Before creating or moving anything, verify the destination is safe:
267
+ - Check if `.planning/milestones/{version}/` already exists
268
+ - If it exists AND contains files (phases/, STATS.md, etc.), STOP and display:
269
+ ```
270
+ ╔══════════════════════════════════════════════════════════════╗
271
+ ║ ERROR ║
272
+ ╚══════════════════════════════════════════════════════════════╝
273
+
274
+ Archive destination `.planning/milestones/{version}/` already contains files.
275
+ Completing this milestone would overwrite the existing archive.
276
+
277
+ **To fix:** Run `/pbr:health` or manually inspect `.planning/milestones/{version}/`.
278
+ Use a different version number (e.g., {version}.1) or remove the existing archive first.
279
+ ```
280
+ Ask the user via AskUserQuestion whether to use a different version or abort.
281
+ - Verify each source phase directory exists before attempting to move it
282
+ - If any source phase directory is missing, warn but continue with the phases that do exist
283
+
284
+ **CRITICAL: Create the archive directory .planning/milestones/{version}/ NOW. Do NOT skip this step.**
285
+
262
286
  Create a versioned archive directory and move phase directories into it:
263
287
  - `.planning/milestones/{version}/ROADMAP.md` — snapshot of ROADMAP.md at completion
264
- - `.planning/milestones/{version}/REQUIREMENTS.md` — snapshot of REQUIREMENTS.md
288
+ - `.planning/milestones/{version}/REQUIREMENTS.md` — **CRITICAL: Copy REQUIREMENTS.md to archive NOW. Do NOT skip this step.** Snapshot of REQUIREMENTS.md
265
289
  - `.planning/milestones/{version}/STATS.md` — milestone statistics
266
290
  - `.planning/milestones/{version}/phases/{NN}-{slug}/` — move each milestone phase directory from `.planning/phases/` into the archive
267
291
 
292
+ **CRITICAL: Move phase directories from .planning/phases/ to archive NOW. Do NOT skip this step.**
293
+
268
294
  **Move phases:** For each phase belonging to this milestone, move (not copy) its directory from `.planning/phases/{NN}-{slug}/` to `.planning/milestones/{version}/phases/{NN}-{slug}/`. This keeps the active phases directory clean for the next milestone.
269
295
 
296
+ **CRITICAL: Write STATS.md to .planning/milestones/{version}/STATS.md NOW. Do NOT skip this step.**
297
+
270
298
  **Stats file content:**
271
299
 
272
300
  Read `skills/milestone/templates/stats-file.md.tmpl` for the stats file format. Fill in all `{variable}` placeholders with actual data gathered in Steps 3-4.
@@ -286,6 +314,8 @@ Archive a completed milestone and prepare for the next one.
286
314
 
287
315
  - Move validated requirements from active to completed section
288
316
 
317
+ **CRITICAL: Update ROADMAP.md with collapsed milestone section NOW. Do NOT skip this step.**
318
+
289
319
  7. **Collapse completed phases in ROADMAP.md:**
290
320
  Replace detailed phase entries with collapsed summaries:
291
321
 
@@ -300,6 +330,8 @@ Archive a completed milestone and prepare for the next one.
300
330
  | {N+1}. {name} | Completed |
301
331
  ```
302
332
 
333
+ **CRITICAL: Update STATE.md to mark milestone as complete NOW. Do NOT skip this step.**
334
+
303
335
  7b. **Update STATE.md:**
304
336
  - Update `.planning/STATE.md` to mark the milestone as complete
305
337
  - Clear the current milestone field or set status to "completed"
@@ -330,9 +362,9 @@ Archive a completed milestone and prepare for the next one.
330
362
 
331
363
  10. **Confirm** with branded output:
332
364
  ```
333
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
334
- PLAN-BUILD-RUN ► MILESTONE COMPLETE 🎉
335
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
365
+ ╔══════════════════════════════════════════════════════════════╗
366
+ PLAN-BUILD-RUN ► MILESTONE COMPLETE 🎉
367
+ ╚══════════════════════════════════════════════════════════════╝
336
368
 
337
369
  **{version}**
338
370
 
@@ -344,9 +376,11 @@ Archive a completed milestone and prepare for the next one.
344
376
  Archived to: .planning/milestones/{version}/
345
377
  Git tag: {version}
346
378
 
347
- ───────────────────────────────────────────────────────────────
348
379
 
349
- ## ▶ Next Up
380
+
381
+ ╔══════════════════════════════════════════════════════════════╗
382
+ ║ ▶ NEXT UP ║
383
+ ╚══════════════════════════════════════════════════════════════╝
350
384
 
351
385
  **Start the next milestone** — plan new features
352
386
 
@@ -354,13 +388,13 @@ Archive a completed milestone and prepare for the next one.
354
388
 
355
389
  <sub>`/clear` first → fresh context window</sub>
356
390
 
357
- ───────────────────────────────────────────────────────────────
391
+
358
392
 
359
393
  **Also available:**
360
394
  - `/pbr:status` — see project status
361
395
  - `/pbr:help` — see all commands
362
396
 
363
- ───────────────────────────────────────────────────────────────
397
+
364
398
  ```
365
399
 
366
400
  ---
@@ -384,7 +418,7 @@ Verify milestone completion with cross-phase integration checks.
384
418
 
385
419
  Display to the user: `◐ Spawning integration checker...`
386
420
 
387
- Spawn `Task(subagent_type: "pbr:integration-checker")` with:
421
+ Spawn `Task(agent_type: "pbr:integration-checker")` with:
388
422
 
389
423
  ```
390
424
  You are integration-checker. Perform cross-phase integration verification.
@@ -425,15 +459,17 @@ Verify milestone completion with cross-phase integration checks.
425
459
 
426
460
  **If PASSED:**
427
461
  ```
428
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
429
- PLAN-BUILD-RUN ► MILESTONE AUDIT PASSED ✓
430
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
462
+ ╔══════════════════════════════════════════════════════════════╗
463
+ PLAN-BUILD-RUN ► MILESTONE AUDIT PASSED ✓
464
+ ╚══════════════════════════════════════════════════════════════╝
431
465
 
432
466
  All phases verified, integration checks passed, requirements covered.
433
467
 
434
- ───────────────────────────────────────────────────────────────
435
468
 
436
- ## ▶ Next Up
469
+
470
+ ╔══════════════════════════════════════════════════════════════╗
471
+ ║ ▶ NEXT UP ║
472
+ ╚══════════════════════════════════════════════════════════════╝
437
473
 
438
474
  **Complete the milestone** — archive and tag
439
475
 
@@ -441,28 +477,30 @@ Verify milestone completion with cross-phase integration checks.
441
477
 
442
478
  <sub>`/clear` first → fresh context window</sub>
443
479
 
444
- ───────────────────────────────────────────────────────────────
480
+
445
481
 
446
482
  **Also available:**
447
483
  - `/pbr:milestone gaps` — address any minor issues first
448
484
  - `/pbr:status` — see project status
449
485
 
450
- ───────────────────────────────────────────────────────────────
486
+
451
487
  ```
452
488
 
453
489
  **If GAPS FOUND:**
454
490
  ```
455
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
456
- PLAN-BUILD-RUN ► MILESTONE AUDIT — GAPS FOUND ⚠
457
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
491
+ ╔══════════════════════════════════════════════════════════════╗
492
+ PLAN-BUILD-RUN ► MILESTONE AUDIT — GAPS FOUND ⚠
493
+ ╚══════════════════════════════════════════════════════════════╝
458
494
 
459
495
  Found {count} gaps:
460
496
  - {gap 1}
461
497
  - {gap 2}
462
498
 
463
- ───────────────────────────────────────────────────────────────
464
499
 
465
- ## ▶ Next Up
500
+
501
+ ╔══════════════════════════════════════════════════════════════╗
502
+ ║ ▶ NEXT UP ║
503
+ ╚══════════════════════════════════════════════════════════════╝
466
504
 
467
505
  **Close the gaps** — create fix phases
468
506
 
@@ -470,26 +508,28 @@ Verify milestone completion with cross-phase integration checks.
470
508
 
471
509
  <sub>`/clear` first → fresh context window</sub>
472
510
 
473
- ───────────────────────────────────────────────────────────────
511
+
474
512
 
475
513
  **Also available:**
476
514
  - `/pbr:milestone complete` — proceed despite gaps
477
515
  - `/pbr:status` — see project status
478
516
 
479
- ───────────────────────────────────────────────────────────────
517
+
480
518
  ```
481
519
 
482
520
  **If TECH DEBT:**
483
521
  ```
484
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
485
- PLAN-BUILD-RUN ► MILESTONE AUDIT — TECH DEBT ⚠
486
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
522
+ ╔══════════════════════════════════════════════════════════════╗
523
+ PLAN-BUILD-RUN ► MILESTONE AUDIT — TECH DEBT ⚠
524
+ ╚══════════════════════════════════════════════════════════════╝
487
525
 
488
526
  Milestone functional but has {count} tech debt items.
489
527
 
490
- ───────────────────────────────────────────────────────────────
491
528
 
492
- ## ▶ Next Up
529
+
530
+ ╔══════════════════════════════════════════════════════════════╗
531
+ ║ ▶ NEXT UP ║
532
+ ╚══════════════════════════════════════════════════════════════╝
493
533
 
494
534
  **Address tech debt or proceed**
495
535
 
@@ -498,7 +538,7 @@ Verify milestone completion with cross-phase integration checks.
498
538
 
499
539
  <sub>`/clear` first → fresh context window</sub>
500
540
 
501
- ───────────────────────────────────────────────────────────────
541
+
502
542
  ```
503
543
 
504
544
  ---
@@ -581,17 +621,19 @@ Create phases to close gaps found during an audit.
581
621
 
582
622
  9. **Confirm** with branded output:
583
623
  ```
584
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
585
- PLAN-BUILD-RUN ► GAP PHASES CREATED ✓
586
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
624
+ ╔══════════════════════════════════════════════════════════════╗
625
+ PLAN-BUILD-RUN ► GAP PHASES CREATED ✓
626
+ ╚══════════════════════════════════════════════════════════════╝
587
627
 
588
628
  Created {count} gap-closure phase(s):
589
629
  - Phase {N}: {name}
590
630
  - Phase {N+1}: {name}
591
631
 
592
- ───────────────────────────────────────────────────────────────
593
632
 
594
- ## ▶ Next Up
633
+
634
+ ╔══════════════════════════════════════════════════════════════╗
635
+ ║ ▶ NEXT UP ║
636
+ ╚══════════════════════════════════════════════════════════════╝
595
637
 
596
638
  **Plan the first gap-closure phase**
597
639
 
@@ -599,12 +641,12 @@ Create phases to close gaps found during an audit.
599
641
 
600
642
  <sub>`/clear` first → fresh context window</sub>
601
643
 
602
- ───────────────────────────────────────────────────────────────
644
+
603
645
 
604
646
  **Also available:**
605
647
  - `/pbr:status` — see project status
606
648
 
607
- ───────────────────────────────────────────────────────────────
649
+
608
650
  ```
609
651
 
610
652
  ---
@@ -8,9 +8,9 @@ description: "Zero-friction idea capture. Append, list, or promote notes to todo
8
8
  **Before ANY tool calls**, display this banner:
9
9
 
10
10
  ```
11
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
12
- PLAN-BUILD-RUN ► NOTE
13
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
11
+ ╔══════════════════════════════════════════════════════════════╗
12
+ PLAN-BUILD-RUN ► NOTE
13
+ ╚══════════════════════════════════════════════════════════════╝
14
14
  ```
15
15
 
16
16
  Then proceed to Step 1.