@sienklogic/plan-build-run 2.0.0 → 2.0.1

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 (225) hide show
  1. package/CHANGELOG.md +56 -56
  2. package/CLAUDE.md +149 -149
  3. package/LICENSE +21 -21
  4. package/README.md +247 -247
  5. package/dashboard/bin/cli.js +25 -25
  6. package/dashboard/package.json +34 -34
  7. package/dashboard/public/css/layout.css +406 -406
  8. package/dashboard/public/css/status-colors.css +98 -98
  9. package/dashboard/public/js/htmx-title.js +5 -5
  10. package/dashboard/public/js/sidebar-toggle.js +20 -20
  11. package/dashboard/src/app.js +78 -78
  12. package/dashboard/src/middleware/errorHandler.js +52 -52
  13. package/dashboard/src/middleware/notFoundHandler.js +9 -9
  14. package/dashboard/src/repositories/planning.repository.js +128 -128
  15. package/dashboard/src/routes/events.routes.js +40 -40
  16. package/dashboard/src/routes/index.routes.js +31 -31
  17. package/dashboard/src/routes/pages.routes.js +245 -195
  18. package/dashboard/src/server.js +42 -42
  19. package/dashboard/src/services/dashboard.service.js +222 -222
  20. package/dashboard/src/services/phase.service.js +220 -167
  21. package/dashboard/src/services/project.service.js +57 -57
  22. package/dashboard/src/services/roadmap.service.js +171 -171
  23. package/dashboard/src/services/sse.service.js +58 -58
  24. package/dashboard/src/services/todo.service.js +254 -254
  25. package/dashboard/src/services/watcher.service.js +48 -48
  26. package/dashboard/src/views/coming-soon.ejs +11 -11
  27. package/dashboard/src/views/error.ejs +13 -13
  28. package/dashboard/src/views/index.ejs +5 -5
  29. package/dashboard/src/views/layout.ejs +1 -1
  30. package/dashboard/src/views/partials/dashboard-content.ejs +77 -77
  31. package/dashboard/src/views/partials/footer.ejs +3 -3
  32. package/dashboard/src/views/partials/head.ejs +21 -21
  33. package/dashboard/src/views/partials/header.ejs +12 -12
  34. package/dashboard/src/views/partials/layout-bottom.ejs +15 -15
  35. package/dashboard/src/views/partials/layout-top.ejs +8 -8
  36. package/dashboard/src/views/partials/phase-content.ejs +188 -181
  37. package/dashboard/src/views/partials/phase-doc-content.ejs +38 -0
  38. package/dashboard/src/views/partials/phases-content.ejs +117 -117
  39. package/dashboard/src/views/partials/roadmap-content.ejs +142 -142
  40. package/dashboard/src/views/partials/sidebar.ejs +38 -38
  41. package/dashboard/src/views/partials/todo-create-content.ejs +53 -53
  42. package/dashboard/src/views/partials/todo-detail-content.ejs +38 -38
  43. package/dashboard/src/views/partials/todos-content.ejs +53 -53
  44. package/dashboard/src/views/phase-detail.ejs +5 -5
  45. package/dashboard/src/views/phase-doc.ejs +5 -0
  46. package/dashboard/src/views/phases.ejs +5 -5
  47. package/dashboard/src/views/roadmap.ejs +5 -5
  48. package/dashboard/src/views/todo-create.ejs +5 -5
  49. package/dashboard/src/views/todo-detail.ejs +5 -5
  50. package/dashboard/src/views/todos.ejs +5 -5
  51. package/package.json +57 -57
  52. package/plugins/pbr/.claude-plugin/plugin.json +13 -13
  53. package/plugins/pbr/UI-CONSISTENCY-GAPS.md +61 -61
  54. package/plugins/pbr/agents/codebase-mapper.md +279 -271
  55. package/plugins/pbr/agents/debugger.md +281 -281
  56. package/plugins/pbr/agents/executor.md +428 -407
  57. package/plugins/pbr/agents/general.md +164 -164
  58. package/plugins/pbr/agents/integration-checker.md +169 -141
  59. package/plugins/pbr/agents/plan-checker.md +296 -280
  60. package/plugins/pbr/agents/planner.md +358 -358
  61. package/plugins/pbr/agents/researcher.md +363 -363
  62. package/plugins/pbr/agents/synthesizer.md +230 -230
  63. package/plugins/pbr/agents/verifier.md +489 -454
  64. package/plugins/pbr/commands/begin.md +5 -5
  65. package/plugins/pbr/commands/build.md +5 -5
  66. package/plugins/pbr/commands/config.md +5 -5
  67. package/plugins/pbr/commands/continue.md +5 -5
  68. package/plugins/pbr/commands/debug.md +5 -5
  69. package/plugins/pbr/commands/discuss.md +5 -5
  70. package/plugins/pbr/commands/explore.md +5 -5
  71. package/plugins/pbr/commands/health.md +5 -5
  72. package/plugins/pbr/commands/help.md +5 -5
  73. package/plugins/pbr/commands/import.md +5 -5
  74. package/plugins/pbr/commands/milestone.md +5 -5
  75. package/plugins/pbr/commands/note.md +5 -5
  76. package/plugins/pbr/commands/pause.md +5 -5
  77. package/plugins/pbr/commands/plan.md +5 -5
  78. package/plugins/pbr/commands/quick.md +5 -5
  79. package/plugins/pbr/commands/resume.md +5 -5
  80. package/plugins/pbr/commands/review.md +5 -5
  81. package/plugins/pbr/commands/scan.md +5 -5
  82. package/plugins/pbr/commands/setup.md +5 -5
  83. package/plugins/pbr/commands/status.md +5 -5
  84. package/plugins/pbr/commands/todo.md +5 -5
  85. package/plugins/pbr/contexts/dev.md +27 -27
  86. package/plugins/pbr/contexts/research.md +28 -28
  87. package/plugins/pbr/contexts/review.md +36 -36
  88. package/plugins/pbr/hooks/hooks.json +183 -183
  89. package/plugins/pbr/references/agent-anti-patterns.md +24 -24
  90. package/plugins/pbr/references/agent-interactions.md +134 -134
  91. package/plugins/pbr/references/agent-teams.md +54 -54
  92. package/plugins/pbr/references/checkpoints.md +157 -157
  93. package/plugins/pbr/references/common-bug-patterns.md +13 -13
  94. package/plugins/pbr/references/config-reference.md +441 -0
  95. package/plugins/pbr/references/continuation-format.md +212 -212
  96. package/plugins/pbr/references/deviation-rules.md +112 -112
  97. package/plugins/pbr/references/git-integration.md +226 -226
  98. package/plugins/pbr/references/integration-patterns.md +117 -117
  99. package/plugins/pbr/references/model-profiles.md +99 -99
  100. package/plugins/pbr/references/model-selection.md +31 -31
  101. package/plugins/pbr/references/pbr-rules.md +193 -193
  102. package/plugins/pbr/references/plan-authoring.md +181 -181
  103. package/plugins/pbr/references/plan-format.md +287 -283
  104. package/plugins/pbr/references/planning-config.md +213 -213
  105. package/plugins/pbr/references/questioning.md +214 -214
  106. package/plugins/pbr/references/reading-verification.md +127 -127
  107. package/plugins/pbr/references/stub-patterns.md +160 -160
  108. package/plugins/pbr/references/subagent-coordination.md +119 -119
  109. package/plugins/pbr/references/ui-formatting.md +461 -399
  110. package/plugins/pbr/references/verification-patterns.md +198 -198
  111. package/plugins/pbr/references/wave-execution.md +95 -95
  112. package/plugins/pbr/scripts/auto-continue.js +80 -80
  113. package/plugins/pbr/scripts/check-dangerous-commands.js +136 -136
  114. package/plugins/pbr/scripts/check-doc-sprawl.js +102 -102
  115. package/plugins/pbr/scripts/check-phase-boundary.js +196 -196
  116. package/plugins/pbr/scripts/check-plan-format.js +270 -270
  117. package/plugins/pbr/scripts/check-roadmap-sync.js +322 -252
  118. package/plugins/pbr/scripts/check-skill-workflow.js +262 -262
  119. package/plugins/pbr/scripts/check-state-sync.js +476 -476
  120. package/plugins/pbr/scripts/check-subagent-output.js +144 -144
  121. package/plugins/pbr/scripts/config-schema.json +251 -251
  122. package/plugins/pbr/scripts/context-budget-check.js +287 -287
  123. package/plugins/pbr/scripts/event-handler.js +151 -151
  124. package/plugins/pbr/scripts/event-logger.js +92 -92
  125. package/plugins/pbr/scripts/hook-logger.js +80 -76
  126. package/plugins/pbr/scripts/hooks-schema.json +79 -79
  127. package/plugins/pbr/scripts/log-subagent.js +164 -152
  128. package/plugins/pbr/scripts/log-tool-failure.js +88 -88
  129. package/plugins/pbr/scripts/pbr-tools.js +1378 -1301
  130. package/plugins/pbr/scripts/post-write-dispatch.js +66 -66
  131. package/plugins/pbr/scripts/post-write-quality.js +207 -207
  132. package/plugins/pbr/scripts/pre-bash-dispatch.js +86 -56
  133. package/plugins/pbr/scripts/pre-write-dispatch.js +97 -62
  134. package/plugins/pbr/scripts/progress-tracker.js +281 -228
  135. package/plugins/pbr/scripts/run-hook.js +92 -0
  136. package/plugins/pbr/scripts/session-cleanup.js +254 -254
  137. package/plugins/pbr/scripts/status-line.js +288 -285
  138. package/plugins/pbr/scripts/suggest-compact.js +119 -119
  139. package/plugins/pbr/scripts/task-completed.js +45 -45
  140. package/plugins/pbr/scripts/track-context-budget.js +149 -119
  141. package/plugins/pbr/scripts/validate-commit.js +200 -200
  142. package/plugins/pbr/scripts/validate-plugin-structure.js +183 -172
  143. package/plugins/pbr/scripts/validate-task.js +106 -0
  144. package/plugins/pbr/skills/begin/SKILL.md +594 -545
  145. package/plugins/pbr/skills/begin/templates/PROJECT.md.tmpl +33 -33
  146. package/plugins/pbr/skills/begin/templates/REQUIREMENTS.md.tmpl +18 -18
  147. package/plugins/pbr/skills/begin/templates/STATE.md.tmpl +49 -49
  148. package/plugins/pbr/skills/begin/templates/config.json.tmpl +64 -63
  149. package/plugins/pbr/skills/begin/templates/researcher-prompt.md.tmpl +19 -19
  150. package/plugins/pbr/skills/begin/templates/roadmap-prompt.md.tmpl +30 -30
  151. package/plugins/pbr/skills/begin/templates/synthesis-prompt.md.tmpl +16 -16
  152. package/plugins/pbr/skills/build/SKILL.md +943 -962
  153. package/plugins/pbr/skills/config/SKILL.md +256 -241
  154. package/plugins/pbr/skills/continue/SKILL.md +164 -127
  155. package/plugins/pbr/skills/debug/SKILL.md +515 -489
  156. package/plugins/pbr/skills/debug/templates/continuation-prompt.md.tmpl +16 -16
  157. package/plugins/pbr/skills/debug/templates/initial-investigation-prompt.md.tmpl +27 -27
  158. package/plugins/pbr/skills/discuss/SKILL.md +347 -338
  159. package/plugins/pbr/skills/discuss/templates/CONTEXT.md.tmpl +61 -61
  160. package/plugins/pbr/skills/discuss/templates/decision-categories.md +9 -9
  161. package/plugins/pbr/skills/explore/SKILL.md +378 -362
  162. package/plugins/pbr/skills/health/SKILL.md +221 -186
  163. package/plugins/pbr/skills/health/templates/check-pattern.md.tmpl +30 -30
  164. package/plugins/pbr/skills/health/templates/output-format.md.tmpl +63 -63
  165. package/plugins/pbr/skills/help/SKILL.md +155 -140
  166. package/plugins/pbr/skills/import/SKILL.md +504 -490
  167. package/plugins/pbr/skills/milestone/SKILL.md +704 -673
  168. package/plugins/pbr/skills/milestone/templates/audit-report.md.tmpl +48 -48
  169. package/plugins/pbr/skills/milestone/templates/stats-file.md.tmpl +30 -30
  170. package/plugins/pbr/skills/note/SKILL.md +231 -212
  171. package/plugins/pbr/skills/pause/SKILL.md +249 -235
  172. package/plugins/pbr/skills/pause/templates/continue-here.md.tmpl +71 -71
  173. package/plugins/pbr/skills/plan/SKILL.md +685 -628
  174. package/plugins/pbr/skills/plan/decimal-phase-calc.md +98 -98
  175. package/plugins/pbr/skills/plan/templates/checker-prompt.md.tmpl +21 -21
  176. package/plugins/pbr/skills/plan/templates/gap-closure-prompt.md.tmpl +32 -32
  177. package/plugins/pbr/skills/plan/templates/planner-prompt.md.tmpl +38 -38
  178. package/plugins/pbr/skills/plan/templates/researcher-prompt.md.tmpl +19 -19
  179. package/plugins/pbr/skills/plan/templates/revision-prompt.md.tmpl +23 -23
  180. package/plugins/pbr/skills/quick/SKILL.md +354 -335
  181. package/plugins/pbr/skills/resume/SKILL.md +402 -388
  182. package/plugins/pbr/skills/review/SKILL.md +686 -652
  183. package/plugins/pbr/skills/review/templates/debugger-prompt.md.tmpl +60 -60
  184. package/plugins/pbr/skills/review/templates/gap-planner-prompt.md.tmpl +40 -40
  185. package/plugins/pbr/skills/review/templates/verifier-prompt.md.tmpl +115 -115
  186. package/plugins/pbr/skills/scan/SKILL.md +304 -269
  187. package/plugins/pbr/skills/scan/templates/mapper-prompt.md.tmpl +201 -201
  188. package/plugins/pbr/skills/setup/SKILL.md +253 -227
  189. package/plugins/pbr/skills/shared/commit-planning-docs.md +35 -35
  190. package/plugins/pbr/skills/shared/config-loading.md +102 -102
  191. package/plugins/pbr/skills/shared/context-budget.md +40 -40
  192. package/plugins/pbr/skills/shared/context-loader-task.md +86 -86
  193. package/plugins/pbr/skills/shared/digest-select.md +79 -79
  194. package/plugins/pbr/skills/shared/domain-probes.md +125 -125
  195. package/plugins/pbr/skills/shared/error-reporting.md +79 -79
  196. package/plugins/pbr/skills/shared/gate-prompts.md +388 -388
  197. package/plugins/pbr/skills/shared/phase-argument-parsing.md +45 -45
  198. package/plugins/pbr/skills/shared/progress-display.md +53 -53
  199. package/plugins/pbr/skills/shared/revision-loop.md +81 -81
  200. package/plugins/pbr/skills/shared/state-loading.md +62 -62
  201. package/plugins/pbr/skills/shared/state-update.md +161 -161
  202. package/plugins/pbr/skills/shared/universal-anti-patterns.md +33 -33
  203. package/plugins/pbr/skills/status/SKILL.md +367 -353
  204. package/plugins/pbr/skills/todo/SKILL.md +198 -181
  205. package/plugins/pbr/templates/CONTEXT.md.tmpl +52 -52
  206. package/plugins/pbr/templates/INTEGRATION-REPORT.md.tmpl +151 -151
  207. package/plugins/pbr/templates/RESEARCH-SUMMARY.md.tmpl +97 -97
  208. package/plugins/pbr/templates/ROADMAP.md.tmpl +40 -40
  209. package/plugins/pbr/templates/SUMMARY.md.tmpl +81 -81
  210. package/plugins/pbr/templates/VERIFICATION-DETAIL.md.tmpl +116 -116
  211. package/plugins/pbr/templates/codebase/ARCHITECTURE.md.tmpl +98 -98
  212. package/plugins/pbr/templates/codebase/CONCERNS.md.tmpl +93 -93
  213. package/plugins/pbr/templates/codebase/CONVENTIONS.md.tmpl +104 -104
  214. package/plugins/pbr/templates/codebase/INTEGRATIONS.md.tmpl +78 -78
  215. package/plugins/pbr/templates/codebase/STACK.md.tmpl +78 -78
  216. package/plugins/pbr/templates/codebase/STRUCTURE.md.tmpl +80 -80
  217. package/plugins/pbr/templates/codebase/TESTING.md.tmpl +107 -107
  218. package/plugins/pbr/templates/continue-here.md.tmpl +73 -73
  219. package/plugins/pbr/templates/prompt-partials/phase-project-context.md.tmpl +37 -37
  220. package/plugins/pbr/templates/research/ARCHITECTURE.md.tmpl +124 -124
  221. package/plugins/pbr/templates/research/STACK.md.tmpl +71 -71
  222. package/plugins/pbr/templates/research/SUMMARY.md.tmpl +112 -112
  223. package/plugins/pbr/templates/research-outputs/phase-research.md.tmpl +81 -81
  224. package/plugins/pbr/templates/research-outputs/project-research.md.tmpl +99 -99
  225. package/plugins/pbr/templates/research-outputs/synthesis.md.tmpl +36 -36
@@ -1,127 +1,164 @@
1
- ---
2
- name: continue
3
- description: "Execute the next logical step automatically. No prompts, no decisions — just do it."
4
- allowed-tools: Read, Write, Bash, Glob, Grep, Task
5
- ---
6
-
7
- # /pbr:continue Action-Oriented Resumption
8
-
9
- You are running the **continue** skill. Unlike `/pbr:resume` which shows status and suggests actions, `/pbr:continue` determines and EXECUTES the next logical step automatically.
10
-
11
- This skill runs **inline** and may delegate to other skills via Task().
12
-
13
- ---
14
-
15
- ## Context Budget
16
-
17
- Reference: `skills/shared/context-budget.md` for the universal orchestrator rules.
18
-
19
- Additionally for this skill:
20
- - **Minimize** state reads — read only STATE.md lines 1-20 to determine next action
21
- - **Delegate** execution to the appropriate skill via Skill() or Task()
22
-
23
- ---
24
-
25
- ## Core Principle
26
-
27
- **Do, don't ask.** Read STATE.md, determine the next action, and execute it. The user wants hands-off forward progress.
28
-
29
- ---
30
-
31
- ## Flow
32
-
33
- ### Step 1: Read State
34
-
35
- Read `.planning/STATE.md` and determine current position:
36
- - Current phase number and name
37
- - Current plan progress
38
- - Phase status (planning, building, reviewing, complete)
39
-
40
- If STATE.md doesn't exist, display:
41
- ```
42
- ╔══════════════════════════════════════════════════════════════╗
43
- ║ ERROR ║
44
- ╚══════════════════════════════════════════════════════════════╝
45
-
46
- No project state found.
47
-
48
- **To fix:** Run `/pbr:begin` first.
49
- ```
50
-
51
- ### Step 2: Scan for Priority Items
52
-
53
- Check the resumption priority hierarchy (same as /pbr:resume):
54
-
55
- 1. **UAT Blockers**: VERIFICATION.md with `status: gaps_found` → Execute `/pbr:plan {N} --gaps`
56
- 2. **Checkpoint pending**: `.checkpoint-manifest.json` with pending items → Resume the build
57
- 3. **Continue-here file**: `.continue-here.md` exists → Follow its next step
58
- 4. **Incomplete build**: PLAN.md files without SUMMARY.md → Execute `/pbr:build {N}`
59
- 5. **Unverified phase**: All plans complete, no VERIFICATION.md → Execute `/pbr:review {N}`
60
- 6. **Phase complete, more phases exist**: Verification passed → Execute `/pbr:plan {N+1}`
61
- 7. **All phases complete**: Verification passed on final phase, no more phases in ROADMAP.md → Stop. Display: "All phases are complete. Run `/pbr:milestone audit` to verify cross-phase integration, or `/pbr:milestone complete` to archive this milestone."
62
-
63
- ### Step 3: Execute
64
-
65
- Based on the determined action, display the delegation indicator to the user:
66
- ```
67
- Delegating to /dev:{skill} {args}...
68
- ```
69
-
70
- Then invoke the appropriate skill via the Skill tool. **NEVER read SKILL.md files into your context** this wastes the main context budget with 500+ lines of instructions. Instead, use the Skill tool which runs the skill in a clean invocation:
71
-
72
- | Situation | Action | How |
73
- |-----------|--------|-----|
74
- | Gaps need closure | Plan gap closure | `Skill({ skill: "dev:plan", args: "{N} --gaps" })` |
75
- | Build incomplete | Continue build | `Skill({ skill: "dev:build", args: "{N}" })` |
76
- | Review needed | Run review | `Skill({ skill: "dev:review", args: "{N}" })` |
77
- | Next phase needed | Plan next phase | `Skill({ skill: "dev:plan", args: "{N+1}" })` |
78
- | Project not started | Plan phase 1 | `Skill({ skill: "dev:plan", args: "1" })` |
79
-
80
- Where `{N}` is the current phase number determined from STATE.md in Step 1.
81
-
82
- ### Step 4: Report and Chain
83
-
84
- After execution completes, display a branded completion:
85
- ```
86
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
87
- PLAN-BUILD-RUN ► STEP COMPLETE ✓
88
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
89
-
90
- Completed: {what was done}
91
-
92
- ───────────────────────────────────────────────────────────────
93
-
94
- ## Next Up
95
-
96
- **{Next action description}**
97
-
98
- `/pbr:continue` or `{specific command}`
99
-
100
- ───────────────────────────────────────────────────────────────
101
- ```
102
-
103
- **If `features.auto_advance` is `true` AND `mode` is `autonomous`:**
104
- After the delegated skill completes, immediately re-run Step 1-3 to determine and execute the NEXT action. Continue chaining until a hard stop is reached. This enables hands-free phase cycling: build→review→plan→build→...
105
-
106
- ---
107
-
108
- ## Hard Stops
109
-
110
- Do NOT auto-continue when:
111
- - `config.mode` is NOT `autonomous` and a gate confirmation is needed
112
- - A checkpoint requires human input (decision, verify, action)
113
- - An error occurred during execution
114
- - The milestone is complete
115
- - Verification found gaps (need user review before advancing)
116
-
117
- In these cases, explain why auto-continue stopped and what the user needs to do.
118
-
119
- ---
120
-
121
- ## Anti-Patterns
122
-
123
- 1. **DO NOT** ask the user what to do — determine it from state
124
- 2. **DO NOT** skip error handling — if something fails, stop and report
125
- 3. **DO NOT** continue past checkpoints that need human input
126
- 4. **DO NOT** auto-continue into a new milestone — that needs user initiation
127
- 5. **DO NOT** modify STATE.md directly — let the delegated skill handle it
1
+ ---
2
+ name: continue
3
+ description: "Execute the next logical step automatically. No prompts, no decisions — just do it."
4
+ allowed-tools: Read, Write, Bash, Glob, Grep, Task
5
+ ---
6
+
7
+ **STOPDO 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.**
8
+
9
+ # /pbr:continue Action-Oriented Resumption
10
+
11
+ You are running the **continue** skill. Unlike `/pbr:resume` which shows status and suggests actions, `/pbr:continue` determines and EXECUTES the next logical step automatically.
12
+
13
+ This skill runs **inline** and may delegate to other skills via Task().
14
+
15
+ ---
16
+
17
+ ## Step 0 Immediate Output
18
+
19
+ **Before ANY tool calls**, display this banner:
20
+
21
+ ```
22
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
23
+ PLAN-BUILD-RUN ► NEXT STEP
24
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
25
+ ```
26
+
27
+ Then proceed to Step 1.
28
+
29
+ ## Context Budget
30
+
31
+ Reference: `skills/shared/context-budget.md` for the universal orchestrator rules.
32
+
33
+ Additionally for this skill:
34
+ - **Minimize** state reads — read only STATE.md lines 1-20 to determine next action
35
+ - **Delegate** execution to the appropriate skill via Skill() or Task()
36
+
37
+ ---
38
+
39
+ ## Core Principle
40
+
41
+ **Do, don't ask.** Read STATE.md, determine the next action, and execute it. The user wants hands-off forward progress.
42
+
43
+ ---
44
+
45
+ ## Flow
46
+
47
+ ### Step 1: Read State
48
+
49
+ Read `.planning/STATE.md` and determine current position:
50
+ - Current phase number and name
51
+ - Current plan progress
52
+ - Phase status (planning, building, reviewing, complete)
53
+
54
+ If STATE.md doesn't exist, display:
55
+ ```
56
+ ╔══════════════════════════════════════════════════════════════╗
57
+ ║ ERROR ║
58
+ ╚══════════════════════════════════════════════════════════════╝
59
+
60
+ No project state found.
61
+
62
+ **To fix:** Run `/pbr:begin` first.
63
+ ```
64
+
65
+ #### Context Budget Guard
66
+
67
+ Before proceeding to priority evaluation, check for runaway continue chains:
68
+
69
+ 1. Read `last_command` from STATE.md. **If `last_command` is missing, empty, or the field does not exist, skip directly to the fallback detection** — do NOT error or warn.
70
+ 2. If `last_command` is present and equals `/pbr:continue`, this is a chained continue. Check session context for consecutive `/pbr:continue` invocations.
71
+ 3. **Fallback detection** — if `last_command` is not available or not present in STATE.md:
72
+ - Check `.planning/.active-skill` file if it contains `continue`, treat as a chained continue
73
+ - Check STATE.md `last_action` field — if it contains `continue`, treat as a chained continue
74
+ - If neither source is available, assume this is the first invocation (do not warn)
75
+ 4. **If this is the 3rd consecutive `/pbr:continue` in a row**, display:
76
+
77
+ ```
78
+ WARNING: Context budget warning: 3 consecutive auto-continues detected.
79
+ Recommend running /pbr:pause then resuming in a fresh session.
80
+ ```
81
+
82
+ Then present the user with a choice:
83
+ - **"Continue"** — proceed with the next action
84
+ - **"Pause"** run `/pbr:pause` logic to save state and stop
85
+
86
+ This prevents runaway chains that fill the context window without a human checkpoint.
87
+
88
+ ### Step 2: Scan for Priority Items
89
+
90
+ Check the resumption priority hierarchy (same as /pbr:resume):
91
+
92
+ 1. **UAT Blockers**: VERIFICATION.md with `status: gaps_found` → Execute `/pbr:plan {N} --gaps`
93
+ 2. **Checkpoint pending**: `.checkpoint-manifest.json` with pending items → Resume the build
94
+ 3. **Continue-here file**: `.continue-here.md` exists → Follow its next step
95
+ 4. **Incomplete build**: PLAN.md files without SUMMARY.md → Execute `/pbr:build {N}`
96
+ 5. **Unverified phase**: All plans complete, no VERIFICATION.md → Execute `/pbr:review {N}`
97
+ 6. **Phase complete, more phases exist**: Verification passed → Execute `/pbr:plan {N+1}`
98
+ 7. **All phases complete**: Verification passed on final phase, no more phases in ROADMAP.md → Stop. Display: "All phases are complete. Run `/pbr:milestone audit` to verify cross-phase integration, or `/pbr:milestone complete` to archive this milestone."
99
+
100
+ ### Step 3: Execute
101
+
102
+ Based on the determined action, display the delegation indicator to the user:
103
+ ```
104
+ Delegating to /pbr:{skill} {args}...
105
+ ```
106
+
107
+ Then invoke the appropriate skill via the Skill tool. **NEVER read SKILL.md files into your context** — this wastes the main context budget with 500+ lines of instructions. Instead, use the Skill tool which runs the skill in a clean invocation:
108
+
109
+ | Situation | Action | How |
110
+ |-----------|--------|-----|
111
+ | Gaps need closure | Plan gap closure | `Skill({ skill: "pbr:plan", args: "{N} --gaps" })` |
112
+ | Build incomplete | Continue build | `Skill({ skill: "pbr:build", args: "{N}" })` |
113
+ | Review needed | Run review | `Skill({ skill: "pbr:review", args: "{N}" })` |
114
+ | Next phase needed | Plan next phase | `Skill({ skill: "pbr:plan", args: "{N+1}" })` |
115
+ | Project not started | Plan phase 1 | `Skill({ skill: "pbr:plan", args: "1" })` |
116
+
117
+ Where `{N}` is the current phase number determined from STATE.md in Step 1.
118
+
119
+ ### Step 4: Report and Chain
120
+
121
+ After execution completes, display a branded completion:
122
+ ```
123
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
124
+ PLAN-BUILD-RUN STEP COMPLETE
125
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
126
+
127
+ Completed: {what was done}
128
+
129
+ ───────────────────────────────────────────────────────────────
130
+
131
+ ## ▶ Next Up
132
+
133
+ **{Next action description}**
134
+
135
+ `/pbr:continue` or `{specific command}`
136
+
137
+ ───────────────────────────────────────────────────────────────
138
+ ```
139
+
140
+ **If `features.auto_advance` is `true` AND `mode` is `autonomous`:**
141
+ After the delegated skill completes, immediately re-run Step 1-3 to determine and execute the NEXT action. Continue chaining until a hard stop is reached. This enables hands-free phase cycling: build→review→plan→build→...
142
+
143
+ ---
144
+
145
+ ## Hard Stops
146
+
147
+ Do NOT auto-continue when:
148
+ - `config.mode` is NOT `autonomous` and a gate confirmation is needed
149
+ - A checkpoint requires human input (decision, verify, action)
150
+ - An error occurred during execution
151
+ - The milestone is complete
152
+ - Verification found gaps (need user review before advancing)
153
+
154
+ In these cases, explain why auto-continue stopped and what the user needs to do.
155
+
156
+ ---
157
+
158
+ ## Anti-Patterns
159
+
160
+ 1. **DO NOT** ask the user what to do — determine it from state
161
+ 2. **DO NOT** skip error handling — if something fails, stop and report
162
+ 3. **DO NOT** continue past checkpoints that need human input
163
+ 4. **DO NOT** auto-continue into a new milestone — that needs user initiation
164
+ 5. **DO NOT** modify STATE.md directly — let the delegated skill handle it