@sienklogic/plan-build-run 2.50.0 → 2.52.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 (210) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/package.json +4 -2
  3. package/plugins/copilot-pbr/agents/audit.agent.md +2 -5
  4. package/plugins/copilot-pbr/agents/codebase-mapper.agent.md +1 -4
  5. package/plugins/copilot-pbr/agents/debugger.agent.md +1 -4
  6. package/plugins/copilot-pbr/agents/dev-sync.agent.md +6 -9
  7. package/plugins/copilot-pbr/agents/executor.agent.md +1 -4
  8. package/plugins/copilot-pbr/agents/general.agent.md +1 -4
  9. package/plugins/copilot-pbr/agents/integration-checker.agent.md +1 -4
  10. package/plugins/copilot-pbr/agents/plan-checker.agent.md +1 -4
  11. package/plugins/copilot-pbr/agents/planner.agent.md +1 -4
  12. package/plugins/copilot-pbr/agents/researcher.agent.md +1 -4
  13. package/plugins/copilot-pbr/agents/synthesizer.agent.md +1 -4
  14. package/plugins/copilot-pbr/agents/verifier.agent.md +2 -4
  15. package/plugins/copilot-pbr/commands/audit.md +5 -0
  16. package/plugins/copilot-pbr/commands/begin.md +5 -0
  17. package/plugins/copilot-pbr/commands/build.md +5 -0
  18. package/plugins/copilot-pbr/commands/config.md +5 -0
  19. package/plugins/copilot-pbr/commands/continue.md +5 -0
  20. package/plugins/copilot-pbr/commands/dashboard.md +5 -0
  21. package/plugins/copilot-pbr/commands/debug.md +5 -0
  22. package/plugins/copilot-pbr/commands/discuss.md +5 -0
  23. package/plugins/copilot-pbr/commands/do.md +5 -0
  24. package/plugins/copilot-pbr/commands/explore.md +5 -0
  25. package/plugins/copilot-pbr/commands/health.md +5 -0
  26. package/plugins/copilot-pbr/commands/help.md +5 -0
  27. package/plugins/copilot-pbr/commands/import.md +5 -0
  28. package/plugins/copilot-pbr/commands/milestone.md +5 -0
  29. package/plugins/copilot-pbr/commands/note.md +5 -0
  30. package/plugins/copilot-pbr/commands/pause.md +5 -0
  31. package/plugins/copilot-pbr/commands/plan.md +5 -0
  32. package/plugins/copilot-pbr/commands/quick.md +5 -0
  33. package/plugins/copilot-pbr/commands/resume.md +5 -0
  34. package/plugins/copilot-pbr/commands/review.md +5 -0
  35. package/plugins/copilot-pbr/commands/scan.md +5 -0
  36. package/plugins/copilot-pbr/commands/setup.md +5 -0
  37. package/plugins/copilot-pbr/commands/status.md +5 -0
  38. package/plugins/copilot-pbr/commands/statusline.md +5 -0
  39. package/plugins/copilot-pbr/commands/todo.md +5 -0
  40. package/plugins/copilot-pbr/plugin.json +1 -1
  41. package/plugins/copilot-pbr/references/agent-anti-patterns.md +0 -1
  42. package/plugins/copilot-pbr/references/agent-teams.md +0 -1
  43. package/plugins/copilot-pbr/references/common-bug-patterns.md +0 -1
  44. package/plugins/copilot-pbr/references/config-reference.md +0 -1
  45. package/plugins/copilot-pbr/references/continuation-format.md +0 -1
  46. package/plugins/copilot-pbr/references/deviation-rules.md +0 -1
  47. package/plugins/copilot-pbr/references/git-integration.md +0 -1
  48. package/plugins/copilot-pbr/references/integration-patterns.md +0 -1
  49. package/plugins/copilot-pbr/references/model-profiles.md +0 -1
  50. package/plugins/copilot-pbr/references/model-selection.md +0 -1
  51. package/plugins/copilot-pbr/references/pbr-rules.md +0 -1
  52. package/plugins/copilot-pbr/references/plan-authoring.md +0 -1
  53. package/plugins/copilot-pbr/references/plan-format.md +0 -1
  54. package/plugins/copilot-pbr/references/reading-verification.md +0 -1
  55. package/plugins/copilot-pbr/references/stub-patterns.md +0 -1
  56. package/plugins/copilot-pbr/references/wave-execution.md +0 -1
  57. package/plugins/copilot-pbr/skills/begin/SKILL.md +74 -52
  58. package/plugins/copilot-pbr/skills/build/SKILL.md +79 -93
  59. package/plugins/copilot-pbr/skills/config/SKILL.md +7 -0
  60. package/plugins/copilot-pbr/skills/continue/SKILL.md +31 -24
  61. package/plugins/copilot-pbr/skills/dashboard/SKILL.md +8 -7
  62. package/plugins/copilot-pbr/skills/debug/SKILL.md +11 -0
  63. package/plugins/copilot-pbr/skills/discuss/SKILL.md +2 -0
  64. package/plugins/copilot-pbr/skills/do/SKILL.md +2 -0
  65. package/plugins/copilot-pbr/skills/explore/SKILL.md +7 -1
  66. package/plugins/copilot-pbr/skills/health/SKILL.md +2 -0
  67. package/plugins/copilot-pbr/skills/help/SKILL.md +6 -0
  68. package/plugins/copilot-pbr/skills/import/SKILL.md +9 -0
  69. package/plugins/copilot-pbr/skills/milestone/SKILL.md +20 -196
  70. package/plugins/copilot-pbr/skills/note/SKILL.md +2 -0
  71. package/plugins/copilot-pbr/skills/pause/SKILL.md +5 -0
  72. package/plugins/copilot-pbr/skills/plan/SKILL.md +87 -119
  73. package/plugins/copilot-pbr/skills/quick/SKILL.md +13 -8
  74. package/plugins/copilot-pbr/skills/resume/SKILL.md +4 -0
  75. package/plugins/copilot-pbr/skills/review/SKILL.md +85 -47
  76. package/plugins/copilot-pbr/skills/scan/SKILL.md +6 -0
  77. package/plugins/copilot-pbr/skills/setup/SKILL.md +2 -0
  78. package/plugins/copilot-pbr/skills/shared/commit-planning-docs.md +0 -1
  79. package/plugins/copilot-pbr/skills/shared/config-loading.md +0 -1
  80. package/plugins/copilot-pbr/skills/shared/context-budget.md +0 -1
  81. package/plugins/copilot-pbr/skills/shared/context-loader-task.md +0 -1
  82. package/plugins/copilot-pbr/skills/shared/digest-select.md +0 -1
  83. package/plugins/copilot-pbr/skills/shared/domain-probes.md +0 -1
  84. package/plugins/copilot-pbr/skills/shared/gate-prompts.md +0 -1
  85. package/plugins/copilot-pbr/skills/shared/phase-argument-parsing.md +0 -1
  86. package/plugins/copilot-pbr/skills/shared/revision-loop.md +0 -1
  87. package/plugins/copilot-pbr/skills/shared/state-update.md +0 -1
  88. package/plugins/copilot-pbr/skills/shared/universal-anti-patterns.md +1 -2
  89. package/plugins/copilot-pbr/skills/status/SKILL.md +35 -26
  90. package/plugins/copilot-pbr/skills/test/SKILL.md +2 -2
  91. package/plugins/copilot-pbr/skills/todo/SKILL.md +2 -0
  92. package/plugins/copilot-pbr/templates/CONTEXT.md.tmpl +0 -1
  93. package/plugins/copilot-pbr/templates/INTEGRATION-REPORT.md.tmpl +0 -1
  94. package/plugins/copilot-pbr/templates/RESEARCH-SUMMARY.md.tmpl +0 -1
  95. package/plugins/copilot-pbr/templates/ROADMAP.md.tmpl +0 -1
  96. package/plugins/copilot-pbr/templates/SUMMARY.md.tmpl +0 -1
  97. package/plugins/copilot-pbr/templates/VERIFICATION-DETAIL.md.tmpl +0 -1
  98. package/plugins/copilot-pbr/templates/continue-here.md.tmpl +0 -1
  99. package/plugins/copilot-pbr/templates/prompt-partials/phase-project-context.md.tmpl +0 -1
  100. package/plugins/cursor-pbr/.cursor-plugin/plugin.json +1 -1
  101. package/plugins/cursor-pbr/agents/audit.md +1 -1
  102. package/plugins/cursor-pbr/agents/codebase-mapper.md +1 -1
  103. package/plugins/cursor-pbr/agents/debugger.md +1 -1
  104. package/plugins/cursor-pbr/agents/dev-sync.md +6 -6
  105. package/plugins/cursor-pbr/agents/executor.md +1 -1
  106. package/plugins/cursor-pbr/agents/general.md +1 -1
  107. package/plugins/cursor-pbr/agents/integration-checker.md +2 -2
  108. package/plugins/cursor-pbr/agents/plan-checker.md +2 -2
  109. package/plugins/cursor-pbr/agents/planner.md +1 -1
  110. package/plugins/cursor-pbr/agents/researcher.md +2 -2
  111. package/plugins/cursor-pbr/agents/synthesizer.md +1 -1
  112. package/plugins/cursor-pbr/agents/verifier.md +3 -2
  113. package/plugins/cursor-pbr/commands/audit.md +5 -0
  114. package/plugins/cursor-pbr/commands/begin.md +5 -0
  115. package/plugins/cursor-pbr/commands/build.md +5 -0
  116. package/plugins/cursor-pbr/commands/config.md +5 -0
  117. package/plugins/cursor-pbr/commands/continue.md +5 -0
  118. package/plugins/cursor-pbr/commands/dashboard.md +5 -0
  119. package/plugins/cursor-pbr/commands/debug.md +5 -0
  120. package/plugins/cursor-pbr/commands/discuss.md +5 -0
  121. package/plugins/cursor-pbr/commands/do.md +5 -0
  122. package/plugins/cursor-pbr/commands/explore.md +5 -0
  123. package/plugins/cursor-pbr/commands/health.md +5 -0
  124. package/plugins/cursor-pbr/commands/help.md +5 -0
  125. package/plugins/cursor-pbr/commands/import.md +5 -0
  126. package/plugins/cursor-pbr/commands/milestone.md +5 -0
  127. package/plugins/cursor-pbr/commands/note.md +5 -0
  128. package/plugins/cursor-pbr/commands/pause.md +5 -0
  129. package/plugins/cursor-pbr/commands/plan.md +5 -0
  130. package/plugins/cursor-pbr/commands/quick.md +5 -0
  131. package/plugins/cursor-pbr/commands/resume.md +5 -0
  132. package/plugins/cursor-pbr/commands/review.md +5 -0
  133. package/plugins/cursor-pbr/commands/scan.md +5 -0
  134. package/plugins/cursor-pbr/commands/setup.md +5 -0
  135. package/plugins/cursor-pbr/commands/status.md +5 -0
  136. package/plugins/cursor-pbr/commands/statusline.md +5 -0
  137. package/plugins/cursor-pbr/commands/todo.md +5 -0
  138. package/plugins/cursor-pbr/hooks/hooks.json +4 -10
  139. package/plugins/cursor-pbr/references/agent-anti-patterns.md +0 -1
  140. package/plugins/cursor-pbr/references/agent-teams.md +0 -1
  141. package/plugins/cursor-pbr/references/common-bug-patterns.md +0 -1
  142. package/plugins/cursor-pbr/references/config-reference.md +0 -1
  143. package/plugins/cursor-pbr/references/continuation-format.md +0 -1
  144. package/plugins/cursor-pbr/references/deviation-rules.md +0 -1
  145. package/plugins/cursor-pbr/references/git-integration.md +0 -1
  146. package/plugins/cursor-pbr/references/integration-patterns.md +0 -1
  147. package/plugins/cursor-pbr/references/model-profiles.md +0 -1
  148. package/plugins/cursor-pbr/references/model-selection.md +0 -1
  149. package/plugins/cursor-pbr/references/pbr-rules.md +0 -1
  150. package/plugins/cursor-pbr/references/plan-authoring.md +0 -1
  151. package/plugins/cursor-pbr/references/plan-format.md +0 -1
  152. package/plugins/cursor-pbr/references/reading-verification.md +0 -1
  153. package/plugins/cursor-pbr/references/stub-patterns.md +0 -1
  154. package/plugins/cursor-pbr/references/wave-execution.md +0 -1
  155. package/plugins/cursor-pbr/skills/begin/SKILL.md +74 -52
  156. package/plugins/cursor-pbr/skills/build/SKILL.md +81 -93
  157. package/plugins/cursor-pbr/skills/config/SKILL.md +5 -0
  158. package/plugins/cursor-pbr/skills/continue/SKILL.md +31 -24
  159. package/plugins/cursor-pbr/skills/dashboard/SKILL.md +8 -7
  160. package/plugins/cursor-pbr/skills/debug/SKILL.md +8 -0
  161. package/plugins/cursor-pbr/skills/discuss/SKILL.md +2 -0
  162. package/plugins/cursor-pbr/skills/do/SKILL.md +2 -0
  163. package/plugins/cursor-pbr/skills/explore/SKILL.md +5 -1
  164. package/plugins/cursor-pbr/skills/health/SKILL.md +2 -0
  165. package/plugins/cursor-pbr/skills/help/SKILL.md +6 -0
  166. package/plugins/cursor-pbr/skills/import/SKILL.md +7 -0
  167. package/plugins/cursor-pbr/skills/milestone/SKILL.md +20 -196
  168. package/plugins/cursor-pbr/skills/note/SKILL.md +2 -0
  169. package/plugins/cursor-pbr/skills/pause/SKILL.md +4 -0
  170. package/plugins/cursor-pbr/skills/plan/SKILL.md +87 -119
  171. package/plugins/cursor-pbr/skills/quick/SKILL.md +13 -8
  172. package/plugins/cursor-pbr/skills/resume/SKILL.md +4 -0
  173. package/plugins/cursor-pbr/skills/review/SKILL.md +85 -47
  174. package/plugins/cursor-pbr/skills/scan/SKILL.md +5 -0
  175. package/plugins/cursor-pbr/skills/setup/SKILL.md +2 -0
  176. package/plugins/cursor-pbr/skills/shared/commit-planning-docs.md +0 -1
  177. package/plugins/cursor-pbr/skills/shared/config-loading.md +0 -1
  178. package/plugins/cursor-pbr/skills/shared/context-budget.md +0 -1
  179. package/plugins/cursor-pbr/skills/shared/context-loader-task.md +0 -1
  180. package/plugins/cursor-pbr/skills/shared/digest-select.md +0 -1
  181. package/plugins/cursor-pbr/skills/shared/domain-probes.md +0 -1
  182. package/plugins/cursor-pbr/skills/shared/gate-prompts.md +0 -1
  183. package/plugins/cursor-pbr/skills/shared/phase-argument-parsing.md +0 -1
  184. package/plugins/cursor-pbr/skills/shared/revision-loop.md +0 -1
  185. package/plugins/cursor-pbr/skills/shared/state-update.md +0 -1
  186. package/plugins/cursor-pbr/skills/shared/universal-anti-patterns.md +1 -2
  187. package/plugins/cursor-pbr/skills/status/SKILL.md +35 -26
  188. package/plugins/cursor-pbr/skills/test/SKILL.md +2 -2
  189. package/plugins/cursor-pbr/skills/todo/SKILL.md +2 -0
  190. package/plugins/cursor-pbr/templates/CONTEXT.md.tmpl +0 -1
  191. package/plugins/cursor-pbr/templates/INTEGRATION-REPORT.md.tmpl +0 -1
  192. package/plugins/cursor-pbr/templates/RESEARCH-SUMMARY.md.tmpl +0 -1
  193. package/plugins/cursor-pbr/templates/ROADMAP.md.tmpl +0 -1
  194. package/plugins/cursor-pbr/templates/SUMMARY.md.tmpl +0 -1
  195. package/plugins/cursor-pbr/templates/VERIFICATION-DETAIL.md.tmpl +0 -1
  196. package/plugins/cursor-pbr/templates/continue-here.md.tmpl +0 -1
  197. package/plugins/cursor-pbr/templates/prompt-partials/phase-project-context.md.tmpl +0 -1
  198. package/plugins/pbr/.claude-plugin/plugin.json +1 -1
  199. package/plugins/pbr/scripts/context-budget-check.js +13 -1
  200. package/plugins/pbr/scripts/lib/core.js +53 -1
  201. package/plugins/pbr/scripts/pbr-tools.js +49 -3
  202. package/plugins/pbr/scripts/progress-tracker.js +13 -3
  203. package/plugins/pbr/scripts/session-cleanup.js +6 -0
  204. package/plugins/pbr/scripts/suggest-compact.js +13 -1
  205. package/plugins/pbr/skills/begin/SKILL.md +13 -13
  206. package/plugins/pbr/skills/build/SKILL.md +48 -31
  207. package/plugins/pbr/skills/milestone/SKILL.md +10 -10
  208. package/plugins/pbr/skills/plan/SKILL.md +9 -9
  209. package/plugins/pbr/skills/quick/SKILL.md +3 -3
  210. package/plugins/pbr/skills/review/SKILL.md +6 -6
@@ -3,6 +3,8 @@ name: review
3
3
  description: "Verify the build matched the plan. Automated checks + walkthrough with you."
4
4
  ---
5
5
 
6
+ **STOP — DO NOT READ THIS FILE. You are already reading it. This prompt was injected into your context by Claude Code's plugin system. Using the Read tool on this SKILL.md file wastes ~7,600 tokens. Begin executing Step 1 immediately.**
7
+
6
8
  # /pbr:review — Phase Review and Verification
7
9
 
8
10
  You are the orchestrator for `/pbr:review`. This skill verifies that what was built matches what was planned. It runs automated three-layer checks against must-haves, then walks the user through a conversational UAT (user acceptance testing) for each deliverable. Your job is to present findings clearly and help the user decide what's good enough versus what needs fixes.
@@ -12,7 +14,7 @@ You are the orchestrator for `/pbr:review`. This skill verifies that what was bu
12
14
  Reference: `skills/shared/context-budget.md` for the universal orchestrator rules.
13
15
 
14
16
  Additionally for this skill:
15
- - **Minimize** reading agent output — read only VERIFICATION.md frontmatter for summaries
17
+ - **Minimize** reading subagent output — read only VERIFICATION.md frontmatter for summaries
16
18
 
17
19
  ## Step 0 — Immediate Output
18
20
 
@@ -33,7 +35,7 @@ Where `{N}` is the phase number from `$ARGUMENTS`. Then proceed to Step 1.
33
35
 
34
36
  ### Event-Driven Auto-Verification
35
37
 
36
- When `features.goal_verification` is enabled and depth is "standard" or "comprehensive", event hooks automatically queue verification after executor completion. The hook writes `.planning/.auto-verify` as a signal file. The build skill's orchestrator detects this signal and invokes the verifier agent.
38
+ When `features.goal_verification` is enabled and depth is "standard" or "comprehensive", the `event-handler.js` hook automatically queues verification after executor completion. The hook writes `.planning/.auto-verify` as a signal file. The build skill's orchestrator detects this signal and spawns the verifier agent.
37
39
 
38
40
  **This is additive**: `/pbr:review` can always be invoked manually regardless of auto-verification settings. If auto-verification already ran, `/pbr:review` re-runs verification (useful for re-checking after fixes).
39
41
 
@@ -64,20 +66,22 @@ Execute these steps in order.
64
66
 
65
67
  1. Parse `$ARGUMENTS` for phase number and `--auto-fix` flag
66
68
  2. Read `.planning/config.json`
67
- **CRITICAL: Write .active-skill NOW.** Write the text "review" to `.planning/.active-skill` using the Write tool.
69
+ **CRITICAL (hook-enforced): Write .active-skill NOW.** Write the text "review" to `.planning/.active-skill` using the Write tool.
68
70
  3. Resolve depth profile: run `node ${PLUGIN_ROOT}/scripts/pbr-tools.js config resolve-depth` to get the effective feature/gate settings for the current depth. Store the result for use in later gating decisions.
69
71
  4. Validate:
70
72
  - Phase directory exists at `.planning/phases/{NN}-{slug}/`
71
73
  - SUMMARY.md files exist (phase has been built)
72
74
  - PLAN.md files exist (needed for must-have extraction)
73
75
  5. If no phase number given, read current phase from `.planning/STATE.md`
74
- 6. If `.planning/.auto-verify` signal file exists, read it and note the auto-verification was already queued. Delete the signal file after reading (one-shot).
76
+ 6. If `.planning/.auto-verify` signal file exists, read it and note the auto-verification was already queued. Delete the signal file after reading (one-shot, same pattern as auto-continue.js).
75
77
 
76
78
  **Validation errors — use branded error boxes:**
77
79
 
78
80
  If no SUMMARY.md files:
79
81
  ```
80
- ERROR
82
+ ╔══════════════════════════════════════════════════════════════╗
83
+ ║ ERROR ║
84
+ ╚══════════════════════════════════════════════════════════════╝
81
85
 
82
86
  Phase {N} hasn't been built yet.
83
87
 
@@ -86,7 +90,9 @@ Phase {N} hasn't been built yet.
86
90
 
87
91
  If no PLAN.md files:
88
92
  ```
89
- ERROR
93
+ ╔══════════════════════════════════════════════════════════════╗
94
+ ║ ERROR ║
95
+ ╚══════════════════════════════════════════════════════════════╝
90
96
 
91
97
  Phase {N} has no plans.
92
98
 
@@ -114,30 +120,35 @@ Check if a VERIFICATION.md already exists from `/pbr:build`'s auto-verification
114
120
 
115
121
  ### Step 3: Automated Verification (delegated)
116
122
 
117
- **Depth profile gate:** Before invoking the verifier, resolve the depth profile. If `features.goal_verification` is false in the profile, skip automated verification and proceed directly to Step 5 (Conversational UAT). Note to user: "Automated verification skipped (depth: {depth}). Proceeding to manual review."
123
+ **Depth profile gate:** Before spawning the verifier, resolve the depth profile. If `features.goal_verification` is false in the profile, skip automated verification and proceed directly to Step 5 (Conversational UAT). Note to user: "Automated verification skipped (depth: {depth}). Proceeding to manual review."
118
124
 
119
125
  #### Team Review Mode
120
126
 
121
127
  If `--teams` flag is present OR `config.parallelization.use_teams` is true:
122
128
 
123
129
  1. Create team output directory: `.planning/phases/{NN}-{slug}/team/` (if not exists)
124
- 2. Display to the user: `Spawning 3 verifiers in parallel (functional, security, performance)...`
130
+ 2. Display to the user: `◐ Spawning 3 verifiers in parallel (functional, security, performance)...`
125
131
 
126
- Invoke THREE `@verifier` agents in parallel:
132
+ Spawn THREE verifier agents in parallel using Task():
127
133
 
128
134
  **Agent 1 -- Functional Reviewer**:
129
- - Invoke `@verifier` with: "You are the FUNCTIONAL REVIEWER in a review team. Focus on: must-haves met, code correctness, completeness, integration points. Write output to `.planning/phases/{NN}-{slug}/team/functional-VERIFY.md`."
135
+ - subagent_type: "pbr:verifier"
136
+ - Prompt includes: "You are the FUNCTIONAL REVIEWER in a review team. Focus on: must-haves met, code correctness, completeness, integration points. Write output to `.planning/phases/{NN}-{slug}/team/functional-VERIFY.md`."
130
137
 
131
138
  **Agent 2 -- Security Auditor**:
132
- - Invoke `@verifier` with: "You are the SECURITY AUDITOR in a review team. Focus on: vulnerabilities, auth bypass paths, injection risks, secrets exposure, permission escalation. Write output to `.planning/phases/{NN}-{slug}/team/security-VERIFY.md`."
139
+ - subagent_type: "pbr:verifier"
140
+ - Prompt includes: "You are the SECURITY AUDITOR in a review team. Focus on: vulnerabilities, auth bypass paths, injection risks, secrets exposure, permission escalation. Write output to `.planning/phases/{NN}-{slug}/team/security-VERIFY.md`."
133
141
 
134
142
  **Agent 3 -- Performance Analyst**:
135
- - Invoke `@verifier` with: "You are the PERFORMANCE ANALYST in a review team. Focus on: N+1 queries, memory leaks, unnecessary allocations, bundle size impact, blocking operations. Write output to `.planning/phases/{NN}-{slug}/team/performance-VERIFY.md`."
143
+ - subagent_type: "pbr:verifier"
144
+ - Prompt includes: "You are the PERFORMANCE ANALYST in a review team. Focus on: N+1 queries, memory leaks, unnecessary allocations, bundle size impact, blocking operations. Write output to `.planning/phases/{NN}-{slug}/team/performance-VERIFY.md`."
136
145
 
137
146
  3. Wait for all three to complete
138
- 4. Display to the user: `Spawning synthesizer...`
147
+ 4. Display to the user: `◐ Spawning synthesizer...`
139
148
 
140
- Invoke `@synthesizer` with: "Read all *-VERIFY.md files in `.planning/phases/{NN}-{slug}/team/`. Synthesize into a unified VERIFICATION.md. Merge pass/fail verdicts -- a must-have fails if ANY reviewer flags it. Combine gap lists. Security and performance findings go into dedicated sections."
149
+ Spawn synthesizer:
150
+ - subagent_type: "pbr:synthesizer"
151
+ - Prompt: "Read all *-VERIFY.md files in `.planning/phases/{NN}-{slug}/team/`. Synthesize into a unified VERIFICATION.md. Merge pass/fail verdicts -- a must-have fails if ANY reviewer flags it. Combine gap lists. Security and performance findings go into dedicated sections."
141
152
  5. Proceed to UAT walkthrough with the unified VERIFICATION.md
142
153
 
143
154
  If teams not enabled, proceed with existing single-verifier flow.
@@ -146,11 +157,19 @@ Reference: `references/agent-teams.md`
146
157
 
147
158
  #### Single-Verifier Flow (default)
148
159
 
149
- Display to the user: `Spawning verifier...`
160
+ Display to the user: `◐ Spawning verifier...`
150
161
 
151
- Invoke the `@verifier` agent to run three-layer checks.
162
+ Spawn a verifier Task() to run three-layer checks:
152
163
 
153
- **Path resolution**: Before constructing any agent prompt, resolve plugin root to its absolute path. Do not pass the variable literally in prompts. Use the resolved absolute path for any pbr-tools.js or template references included in the prompt.
164
+ ```
165
+ Task({
166
+ subagent_type: "pbr:verifier",
167
+ // After verifier completes, check for: ## VERIFICATION COMPLETE
168
+ prompt: <verifier prompt>
169
+ })
170
+ ```
171
+
172
+ **Path resolution**: Before constructing any agent prompt, resolve `${PLUGIN_ROOT}` to its absolute path. Do not pass the variable literally in prompts — Task() contexts may not expand it. Use the resolved absolute path for any pbr-tools.js or template references included in the prompt.
154
173
 
155
174
  #### Verifier Prompt Template
156
175
 
@@ -159,7 +178,7 @@ Read `skills/review/templates/verifier-prompt.md.tmpl` and use its content as th
159
178
  **Prepend this block to the verifier prompt before sending:**
160
179
  ```
161
180
  <files_to_read>
162
- CRITICAL: Read these files BEFORE any other action:
181
+ CRITICAL (no hook): Read these files BEFORE any other action:
163
182
  1. .planning/phases/{NN}-{slug}/PLAN-*.md — must-haves to verify against
164
183
  2. .planning/phases/{NN}-{slug}/SUMMARY-*.md — executor build summaries
165
184
  3. .planning/phases/{NN}-{slug}/VERIFICATION.md — prior verification results (if exists)
@@ -178,7 +197,7 @@ Wait for the verifier to complete.
178
197
  **After the verifier completes**, read VERIFICATION.md frontmatter and display a quick summary before the full results:
179
198
 
180
199
  ```
181
- Verifier: {passed}/{total} must-haves verified
200
+ Verifier: {passed}/{total} must-haves verified
182
201
  ```
183
202
 
184
203
  Then show a brief table of must-haves with pass/fail status:
@@ -186,15 +205,15 @@ Then show a brief table of must-haves with pass/fail status:
186
205
  ```
187
206
  | Must-Have | Status |
188
207
  |-----------|--------|
189
- | {name} | PASS |
190
- | {name} | FAIL |
208
+ | {name} | |
209
+ | {name} | |
191
210
  ```
192
211
 
193
212
  Then display the overall verdict (`PASSED`, `GAPS FOUND`, or `HUMAN NEEDED`) before proceeding to the full results presentation.
194
213
 
195
214
  ### Step 3a: Spot-Check Verifier Output
196
215
 
197
- CRITICAL: Verify verifier output before proceeding.
216
+ CRITICAL (no hook): Verify verifier output before proceeding.
198
217
 
199
218
  1. **VERIFICATION.md exists**: Check `.planning/phases/{NN}-{slug}/VERIFICATION.md` exists on disk
200
219
  2. **Status field present**: Read VERIFICATION.md frontmatter — verify `status` field is present and is one of: pass, fail, partial
@@ -232,16 +251,16 @@ The same gaps have persisted across {attempt} verification attempts.
232
251
  Remaining gaps: {count}
233
252
  ```
234
253
 
235
- Use the multi-option-escalation pattern from `skills/shared/gate-prompts.md`:
254
+ Use AskUserQuestion (pattern: multi-option-escalation from `skills/shared/gate-prompts.md`):
236
255
  question: "Phase {N} has failed verification {attempt} times with {count} persistent gaps. How should we proceed?"
237
256
  header: "Escalate"
238
257
  options:
239
258
  - label: "Accept gaps" description: "Mark as complete-with-gaps and move on"
240
259
  - label: "Re-plan" description: "Go back to /pbr:plan {N} with gap context"
241
- - label: "Debug" description: "Invoke /pbr:debug to investigate root causes"
260
+ - label: "Debug" description: "Spawn /pbr:debug to investigate root causes"
242
261
  - label: "Retry" description: "Try one more verification cycle"
243
262
 
244
- - **If user selects "Accept gaps":** Follow up with a second question:
263
+ - **If user selects "Accept gaps":** Follow up with a second AskUserQuestion:
245
264
  question: "Accept all gaps or pick specific ones to override?"
246
265
  header: "Override?"
247
266
  options:
@@ -348,7 +367,7 @@ If all automated checks and UAT items passed:
348
367
  4. Update the `Status` column to `verified`
349
368
  5. Update the `Completed` column to the current date (YYYY-MM-DD)
350
369
  6. Save the file — do NOT skip this step
351
- 2. Update `.planning/STATE.md` **(CRITICAL — update BOTH frontmatter AND body):**
370
+ 2. Update `.planning/STATE.md` **(CRITICAL (no hook) — update BOTH frontmatter AND body):**
352
371
  - Frontmatter: `status: "verified"`, `progress_percent`, `last_activity`, `last_command`
353
372
  - Body `## Current Position`: `Status:` line, `Last activity:` line, `Progress:` bar
354
373
  - These MUST stay in sync — see `skills/shared/state-update.md`
@@ -358,11 +377,12 @@ If all automated checks and UAT items passed:
358
377
 
359
378
  Use the branded output from `references/ui-formatting.md`:
360
379
  - If more phases remain: use the "Phase Complete" banner template
361
- - If this was the last phase: use the "Milestone Complete" banner template
380
+ - If this was the last phase in the current milestone: use the "Milestone Complete" banner template
381
+ - **Milestone boundary detection:** Read ROADMAP.md and find the `## Milestone:` section containing the current phase. Check its `**Phases:** start - end` range. If the current phase equals `end`, this is the last phase in the milestone.
362
382
  - Always include the "Next Up" routing block
363
383
 
364
384
  4. If `gates.confirm_transition` is true in config AND `features.auto_advance` is NOT true:
365
- - Use the yes-no pattern from `skills/shared/gate-prompts.md`:
385
+ - Use AskUserQuestion (pattern: yes-no from `skills/shared/gate-prompts.md`):
366
386
  question: "Phase {N} verified. Ready to move to Phase {N+1}?"
367
387
  header: "Continue?"
368
388
  options:
@@ -372,9 +392,9 @@ Use the branded output from `references/ui-formatting.md`:
372
392
  - If "No" or "Other": stop
373
393
 
374
394
  5. **If `features.auto_advance` is `true` AND `mode` is `autonomous` AND more phases remain:**
375
- - Chain directly to plan next phase
376
- - This continues the build->review->plan cycle automatically
377
- - **If this is the last phase:** HARD STOP — do NOT auto-advance past milestone boundaries
395
+ - Chain directly to plan: `Skill({ skill: "pbr:plan", args: "{N+1}" })`
396
+ - This continues the buildreviewplan cycle automatically
397
+ - **If this is the last phase in the current milestone:** HARD STOP — do NOT auto-advance past milestone boundaries. Display: "auto_advance pauses at milestone boundaries — your sign-off is required."
378
398
 
379
399
  #### Gaps Found WITH `--auto-fix`
380
400
 
@@ -382,9 +402,16 @@ If gaps were found and `--auto-fix` was specified:
382
402
 
383
403
  **Step 6a: Diagnose**
384
404
 
385
- Display to the user: `Spawning debugger...`
405
+ Display to the user: `◐ Spawning debugger...`
406
+
407
+ Spawn a debugger Task() to analyze each failure:
386
408
 
387
- Invoke the `@debugger` agent to analyze each failure.
409
+ ```
410
+ Task({
411
+ subagent_type: "pbr:debugger",
412
+ prompt: <debugger prompt>
413
+ })
414
+ ```
388
415
 
389
416
  ##### Debugger Prompt Template
390
417
 
@@ -393,7 +420,7 @@ Read `skills/review/templates/debugger-prompt.md.tmpl` and use its content as th
393
420
  **Prepend this block to the debugger prompt before sending:**
394
421
  ```
395
422
  <files_to_read>
396
- CRITICAL: Read these files BEFORE any other action:
423
+ CRITICAL (no hook): Read these files BEFORE any other action:
397
424
  1. .planning/phases/{NN}-{slug}/VERIFICATION.md — gaps and failure details
398
425
  2. .planning/phases/{NN}-{slug}/SUMMARY-*.md — what was built
399
426
  3. .planning/phases/{NN}-{slug}/PLAN-*.md — original plan must-haves
@@ -407,9 +434,16 @@ CRITICAL: Read these files BEFORE any other action:
407
434
 
408
435
  **Step 6b: Create Gap-Closure Plans**
409
436
 
410
- After receiving the root cause analysis, display to the user: `Spawning planner (gap closure)...`
437
+ After receiving the root cause analysis, display to the user: `◐ Spawning planner (gap closure)...`
438
+
439
+ Spawn the planner in gap-closure mode:
411
440
 
412
- Invoke the `@planner` agent in gap-closure mode.
441
+ ```
442
+ Task({
443
+ subagent_type: "pbr:planner",
444
+ prompt: <gap planner prompt>
445
+ })
446
+ ```
413
447
 
414
448
  ##### Gap Planner Prompt Template
415
449
 
@@ -418,7 +452,7 @@ Read `skills/review/templates/gap-planner-prompt.md.tmpl` and use its content as
418
452
  **Prepend this block to the gap planner prompt before sending:**
419
453
  ```
420
454
  <files_to_read>
421
- CRITICAL: Read these files BEFORE any other action:
455
+ CRITICAL (no hook): Read these files BEFORE any other action:
422
456
  1. .planning/phases/{NN}-{slug}/VERIFICATION.md — gaps to close
423
457
  2. .planning/phases/{NN}-{slug}/PLAN-*.md — existing plans for context
424
458
  3. .planning/CONTEXT.md — locked decisions and constraints (if exists)
@@ -435,8 +469,8 @@ CRITICAL: Read these files BEFORE any other action:
435
469
  **Step 6c: Validate gap-closure plans (conditional)**
436
470
 
437
471
  If `features.plan_checking` is true in config:
438
- - Display to the user: `Spawning plan checker...`
439
- - Invoke `@plan-checker` on the new gap-closure plans
472
+ - Display to the user: `◐ Spawning plan checker...`
473
+ - Spawn plan checker Task() on the new gap-closure plans
440
474
  - Same process as `/pbr:plan` Step 6
441
475
 
442
476
  **Step 6d: Present gap-closure plans to user**
@@ -452,7 +486,7 @@ Plans:
452
486
  {plan_id}: {name} — fixes: {gap description} ({difficulty})
453
487
  {plan_id}: {name} — fixes: {gap description} ({difficulty})
454
488
 
455
- Use the approve-revise-abort pattern from `skills/shared/gate-prompts.md`:
489
+ Use AskUserQuestion (pattern: approve-revise-abort from `skills/shared/gate-prompts.md`):
456
490
  question: "Approve these {count} gap-closure plans?"
457
491
  header: "Approve?"
458
492
  options:
@@ -483,7 +517,7 @@ Phase {N}: {name} — Gaps Found
483
517
  2. {gap description}
484
518
  ...
485
519
 
486
- Use the multi-option-gaps pattern from `skills/shared/gate-prompts.md`:
520
+ Use AskUserQuestion (pattern: multi-option-gaps from `skills/shared/gate-prompts.md`):
487
521
  question: "{count} verification gaps need attention. How should we proceed?"
488
522
  header: "Gaps"
489
523
  options:
@@ -548,9 +582,11 @@ After Step 3, also check cross-phase integration:
548
582
  ## Error Handling
549
583
 
550
584
  ### Verifier agent fails
551
- If the verifier agent fails, display:
585
+ If the verifier Task() fails, display:
552
586
  ```
553
- ERROR
587
+ ╔══════════════════════════════════════════════════════════════╗
588
+ ║ ERROR ║
589
+ ╚══════════════════════════════════════════════════════════════╝
554
590
 
555
591
  Automated verification failed.
556
592
 
@@ -560,7 +596,7 @@ Fall back to manual UAT only (skip automated checks).
560
596
 
561
597
  ### No must-haves to check
562
598
  If plans have empty must_haves:
563
- - Warn user: "Plans don't have defined must-haves. UAT will be based on plan descriptions only."
599
+ - Warn user: `⚠ Plans don't have defined must-haves. UAT will be based on plan descriptions only.`
564
600
  - Use SUMMARY.md content as the basis for UAT
565
601
 
566
602
  ### User can't verify something
@@ -570,9 +606,11 @@ If user can't verify an item (e.g., needs server running, needs credentials):
570
606
  - Suggest how to verify later
571
607
 
572
608
  ### Debugger fails during auto-fix
573
- If the debugger agent fails, display:
609
+ If the debugger Task() fails, display:
574
610
  ```
575
- ERROR
611
+ ╔══════════════════════════════════════════════════════════════╗
612
+ ║ ERROR ║
613
+ ╚══════════════════════════════════════════════════════════════╝
576
614
 
577
615
  Auto-diagnosis failed.
578
616
 
@@ -588,7 +626,7 @@ Ask user: "Would you like to proceed with gap-closure plans without root cause a
588
626
  |------|---------|------|
589
627
  | `.planning/phases/{NN}-{slug}/VERIFICATION.md` | Verification report | Step 3 (created or updated with UAT) |
590
628
  | `.planning/phases/{NN}-{slug}/*-PLAN.md` | Gap-closure plans | Step 6b (--auto-fix only) |
591
- | `.planning/ROADMAP.md` | Status -> `verified` + Completed date | Step 6 |
629
+ | `.planning/ROADMAP.md` | Status `verified` + Completed date | Step 6 |
592
630
  | `.planning/STATE.md` | Updated with review status | Step 6 |
593
631
 
594
632
  ---
@@ -3,6 +3,8 @@ name: scan
3
3
  description: "Analyze an existing codebase. Maps structure, architecture, conventions, and concerns."
4
4
  ---
5
5
 
6
+ **STOP — DO NOT READ THIS FILE. You are already reading it. This prompt was injected into your context by Claude Code's plugin system. Using the Read tool on this SKILL.md file wastes ~7,600 tokens. Begin executing Step 1 immediately.**
7
+
6
8
  ## Step 0 — Immediate Output
7
9
 
8
10
  **Before ANY tool calls**, display this banner:
@@ -227,6 +229,7 @@ Top concerns:
227
229
  Then use the "Next Up" routing block:
228
230
  ```
229
231
 
232
+
230
233
  ╔══════════════════════════════════════════════════════════════╗
231
234
  ║ ▶ NEXT UP ║
232
235
  ╚══════════════════════════════════════════════════════════════╝
@@ -237,10 +240,13 @@ Then use the "Next Up" routing block:
237
240
 
238
241
  <sub>`/clear` first → fresh context window</sub>
239
242
 
243
+
244
+
240
245
  **Also available:**
241
246
  - `/pbr:milestone new` — create a milestone to address concerns
242
247
  - `/pbr:status` — see project status
243
248
 
249
+
244
250
  ```
245
251
 
246
252
  ### Step 7: Git Integration
@@ -3,6 +3,8 @@ name: setup
3
3
  description: "Onboarding wizard. Initialize project, select models, verify setup."
4
4
  ---
5
5
 
6
+ **STOP — DO NOT READ THIS FILE. You are already reading it. This prompt was injected into your context by Claude Code's plugin system. Using the Read tool on this SKILL.md file wastes ~7,600 tokens. Begin executing Step 1 immediately.**
7
+
6
8
  ## Step 0 — Immediate Output
7
9
 
8
10
  **Before ANY tool calls**, display this banner:
@@ -1,4 +1,3 @@
1
- <!-- canonical: ../../../pbr/skills/shared/commit-planning-docs.md -->
2
1
  # Commit Planning Docs Pattern
3
2
 
4
3
  Standard pattern for committing planning artifacts to git. Reference this fragment in skills that create or modify `.planning/` files.
@@ -1,4 +1,3 @@
1
- <!-- canonical: ../../../pbr/skills/shared/config-loading.md -->
2
1
  # Config Loading Pattern
3
2
 
4
3
  Standard pattern for loading `.planning/config.json` fields at the start of a skill invocation.
@@ -1,4 +1,3 @@
1
- <!-- canonical: ../../../pbr/skills/shared/context-budget.md -->
2
1
  # Context Budget Rules
3
2
 
4
3
  Standard rules for keeping orchestrator context lean. Reference this fragment in skills that spawn Task() agents.
@@ -1,4 +1,3 @@
1
- <!-- canonical: ../../../pbr/skills/shared/context-loader-task.md -->
2
1
  # Context Loader Task Pattern
3
2
 
4
3
  Standard pattern for spawning a lightweight Task() to build a project briefing before the main skill logic runs. Used by skills that need project context but want to keep the orchestrator lean.
@@ -1,4 +1,3 @@
1
- <!-- canonical: ../../../pbr/skills/shared/digest-select.md -->
2
1
  # Digest-Select Pattern
3
2
 
4
3
  Selective reading depth for prior phase SUMMARY.md files. Saves tokens by reading only what is needed based on the relationship to the current phase.
@@ -1,4 +1,3 @@
1
- <!-- canonical: ../../../pbr/skills/shared/domain-probes.md -->
2
1
  # Domain-Aware Probing Patterns
3
2
 
4
3
  Shared reference for `/pbr:explore`, `/pbr:begin`, and `/pbr:discuss`.
@@ -1,4 +1,3 @@
1
- <!-- canonical: ../../../pbr/skills/shared/gate-prompts.md -->
2
1
  # Gate Prompt Patterns
3
2
 
4
3
  > Referenced by: plan, build, import, scan, review, milestone, config, status, resume, quick, begin, discuss, explore, debug skills
@@ -1,4 +1,3 @@
1
- <!-- canonical: ../../../pbr/skills/shared/phase-argument-parsing.md -->
2
1
  # Phase Argument Parsing
3
2
 
4
3
  How skills parse and validate phase number arguments from `$ARGUMENTS`.
@@ -1,4 +1,3 @@
1
- <!-- canonical: ../../../pbr/skills/shared/revision-loop.md -->
2
1
  # Revision Loop Pattern
3
2
 
4
3
  Standard pattern for iterative agent revision with feedback. Used when a checker/validator finds issues and the producing agent needs to revise its output.
@@ -1,4 +1,3 @@
1
- <!-- canonical: ../../../pbr/skills/shared/state-update.md -->
2
1
  # STATE.md Update Pattern
3
2
 
4
3
  Standard pattern for updating `.planning/STATE.md`. Include this fragment in skills that modify project state.
@@ -1,4 +1,3 @@
1
- <!-- canonical: ../../../pbr/skills/shared/universal-anti-patterns.md -->
2
1
  # Universal Anti-Patterns
3
2
 
4
3
  Rules that apply to ALL skills. Individual skills may have additional skill-specific anti-patterns listed in their own SKILL.md.
@@ -26,7 +25,7 @@ These rules prevent context rot -- quality degradation as the context window fil
26
25
 
27
26
  ## Task/Subagent Rules (apply to every skill)
28
27
 
29
- 10. **Never** invoke `Skill()` inside a `Task()` subagent -- the Skill tool is not available in subagent contexts. Subagents spawned by `Task()` cannot resolve `/pbr:*` skill prefixes, so `Skill({ skill: "pbr:plan" })` will silently fail. Instead, chain skills at the orchestrator level (return control to the orchestrator, then call `Skill()` from there). For subagent work, use `subagent_type: "pbr:{agent}"` which auto-loads agent definitions.
28
+ 10. **Never** invoke `Skill()` inside a `Task()` subagent -- the Skill tool is not available in subagent contexts. Agents spawned by `Task()` cannot resolve `/pbr:*` skill prefixes, so `Skill({ skill: "pbr:plan" })` will silently fail. Instead, chain skills at the orchestrator level (return control to the orchestrator, then call `Skill()` from there). For subagent work, use `subagent_type: "pbr:{agent}"` which auto-loads agent definitions.
30
29
 
31
30
  ## Behavioral Rules (apply to every skill)
32
31
 
@@ -3,6 +3,8 @@ name: status
3
3
  description: "Show current project status and suggest what to do next."
4
4
  ---
5
5
 
6
+ **STOP — DO NOT READ THIS FILE. You are already reading it. This prompt was injected into your context by Claude Code's plugin system. Using the Read tool on this SKILL.md file wastes ~7,600 tokens. Begin executing Step 1 immediately.**
7
+
6
8
  ## Step 0 — Immediate Output
7
9
 
8
10
  **Before ANY tool calls**, display this banner:
@@ -48,7 +50,9 @@ Read the following files (skip any that don't exist):
48
50
  1. **`.planning/config.json`** — Project settings
49
51
  - If this doesn't exist, display:
50
52
  ```
51
- ERROR
53
+ ╔══════════════════════════════════════════════════════════════╗
54
+ ║ ERROR ║
55
+ ╚══════════════════════════════════════════════════════════════╝
52
56
 
53
57
  No Plan-Build-Run project found.
54
58
 
@@ -240,8 +244,8 @@ Generate a 20-character progress bar:
240
244
  ```
241
245
 
242
246
  Use Unicode block characters:
243
- - Filled: full block (U+2588)
244
- - Empty: light shade (U+2591)
247
+ - Filled: `█` (full block, U+2588)
248
+ - Empty: `░` (light shade, U+2591)
245
249
 
246
250
  ### Status Indicators
247
251
 
@@ -263,57 +267,59 @@ Based on the project state, suggest the single most logical next action:
263
267
 
264
268
  ```
265
269
  1. Is there paused work (.continue-here.md)?
266
- YES -> "Resume your work: `/pbr:resume`"
270
+ YES "Resume your work: `/pbr:resume`"
267
271
 
268
272
  2. Is there a verification with gaps?
269
- YES -> "Fix verification gaps: `/pbr:plan {N} --gaps`"
273
+ YES "Fix verification gaps: `/pbr:plan {N} --gaps`"
270
274
 
271
275
  3. Is the current phase planned but not built?
272
- YES -> "Build the current phase: `/pbr:build {N}`"
276
+ YES "Build the current phase: `/pbr:build {N}`"
273
277
 
274
278
  4. Is the current phase built but not reviewed?
275
- YES -> "Review what was built: `/pbr:review {N}`"
279
+ YES "Review what was built: `/pbr:review {N}`"
276
280
 
277
281
  5. Is the current phase verified (complete)?
278
- YES -> Is there a next phase?
279
- YES -> Was next phase already planned?
280
- YES -> Does it need re-planning? (dependency phase changed)
281
- YES -> "Re-plan with updated context: `/pbr:plan {N+1}`"
282
- NO -> "Build the next phase: `/pbr:build {N+1}`"
283
- NO -> "Plan the next phase: `/pbr:plan {N+1}`"
284
- NO -> "All phases complete! Your next steps:\n -> /pbr:milestone audit verify cross-phase integration (recommended)\n -> /pbr:milestone complete archive this milestone and create a git tag\n -> /pbr:milestone new start planning the next set of features"
282
+ YES Is there a next phase?
283
+ YES Was next phase already planned?
284
+ YES Does it need re-planning? (dependency phase changed)
285
+ YES "Re-plan with updated context: `/pbr:plan {N+1}`"
286
+ NO "Build the next phase: `/pbr:build {N+1}`"
287
+ NO "Plan the next phase: `/pbr:plan {N+1}`"
288
+ NO Check for existing `*-MILESTONE-AUDIT.md` in `.planning/`:\n IF audit passed → "All phases complete and audited! `/pbr:milestone complete` to archive and tag."\n IF audit has gaps "Audit found gaps. `/pbr:milestone gaps` to address them."\n IF no audit → "All phases complete! `/pbr:milestone audit` to verify cross-phase integration (recommended), then `/pbr:milestone complete`."
285
289
 
286
290
  6. Is the current phase not started?
287
- YES -> Has it been discussed?
288
- YES -> "Plan this phase: `/pbr:plan {N}`"
289
- NO -> "Start with a discussion: `/pbr:discuss {N}` or jump to `/pbr:plan {N}`"
291
+ YES Has it been discussed?
292
+ YES "Plan this phase: `/pbr:plan {N}`"
293
+ NO "Start with a discussion: `/pbr:discuss {N}` or jump to `/pbr:plan {N}`"
290
294
 
291
295
  7. Active debug sessions?
292
- YES -> "Continue debugging: `/pbr:debug`"
296
+ YES "Continue debugging: `/pbr:debug`"
293
297
 
294
298
  8. Nothing active?
295
- -> "Start your project: `/pbr:begin`"
299
+ "Start your project: `/pbr:begin`"
296
300
  ```
297
301
 
298
302
  **If only one reasonable next action exists**, present it with branded routing:
299
303
 
300
304
  ```
301
- ---
302
305
 
303
- ## Next Up
306
+
307
+ ╔══════════════════════════════════════════════════════════════╗
308
+ ║ ▶ NEXT UP ║
309
+ ╚══════════════════════════════════════════════════════════════╝
304
310
 
305
311
  **{brief explanation}**
306
312
 
307
313
  `{suggested command}`
308
314
 
309
- `/clear` first for a fresh context window
315
+ <sub>`/clear` first fresh context window</sub>
316
+
310
317
 
311
- ---
312
318
  ```
313
319
 
314
320
  **If multiple reasonable next actions exist** (2-3 alternatives), use the **action-routing** pattern (see `skills/shared/gate-prompts.md`):
315
321
 
316
- Present options:
322
+ Use AskUserQuestion:
317
323
  question: "What would you like to do next?"
318
324
  header: "Next Step"
319
325
  options:
@@ -347,7 +353,10 @@ Build options dynamically from the decision tree results. Always include "Someth
347
353
 
348
354
  ### All phases complete
349
355
  - Celebrate briefly: "All phases complete!"
350
- - Suggest: `/pbr:milestone audit` to verify cross-phase integration (recommended first)
356
+ - Check for existing audit report: look for `*-MILESTONE-AUDIT.md` in `.planning/`
357
+ - **If audit exists and passed:** Suggest `/pbr:milestone complete` to archive (audit already done)
358
+ - **If audit exists with gaps:** Suggest `/pbr:milestone gaps` to address issues
359
+ - **If no audit exists:** Suggest `/pbr:milestone audit` to verify cross-phase integration (recommended first)
351
360
  - Then: `/pbr:milestone complete` to archive the milestone and tag it
352
361
  - Or: `/pbr:milestone new` to start the next set of features
353
362
 
@@ -382,7 +391,7 @@ This skill should be fast. It's a status check, not an analysis.
382
391
  - Read plan file contents (just check existence)
383
392
  - Run Bash commands except for Step 1b (2-3 `pbr-tools` calls only when `local_llm.enabled: true`, skipped entirely otherwise)
384
393
  - Modify any files
385
- - Invoke any agents
394
+ - Spawn any Task agents
386
395
 
387
396
  ---
388
397
 
@@ -3,7 +3,7 @@ name: test
3
3
  description: "Generate tests for completed phase code. Detects test framework and targets key files."
4
4
  ---
5
5
 
6
- **STOP — DO NOT READ THIS FILE. You are already reading it. This prompt was injected into your context by the plugin system. Using the Read tool on this SKILL.md file wastes ~7,600 tokens. Begin executing Step 1 immediately.**
6
+ **STOP — DO NOT READ THIS FILE. You are already reading it. This prompt was injected into your context by Claude Code's plugin system. Using the Read tool on this SKILL.md file wastes ~7,600 tokens. Begin executing Step 1 immediately.**
7
7
 
8
8
  # /pbr:test — Post-Phase Test Generation
9
9
 
@@ -125,7 +125,7 @@ Output: tests/auth/login.test.js
125
125
  For each target file (or batch of related files), spawn an executor agent:
126
126
 
127
127
  ```
128
- Spawn agent_type: "pbr:executor"
128
+ Spawn subagent_type: "pbr:executor"
129
129
 
130
130
  Task: Generate tests for the following file(s):
131
131
 
@@ -3,6 +3,8 @@ name: todo
3
3
  description: "File-based persistent todos. Add, list, complete — survives sessions."
4
4
  ---
5
5
 
6
+ **STOP — DO NOT READ THIS FILE. You are already reading it. This prompt was injected into your context by Claude Code's plugin system. Using the Read tool on this SKILL.md file wastes ~7,600 tokens. Begin executing Step 1 immediately.**
7
+
6
8
  ## Step 0 — Immediate Output
7
9
 
8
10
  **Before ANY tool calls**, display this banner:
@@ -1,4 +1,3 @@
1
- <!-- canonical: ../../pbr/templates/CONTEXT.md.tmpl -->
2
1
  # CONTEXT.md Template
3
2
 
4
3
  > Referenced by: begin skill (Step 9c), discuss skill, plan skill
@@ -1,4 +1,3 @@
1
- <!-- canonical: ../../pbr/templates/INTEGRATION-REPORT.md.tmpl -->
2
1
  <!-- Source: agents/integration-checker.md | Purpose: Output format for cross-phase integration verification reports -->
3
2
 
4
3
  ```markdown