@sienklogic/plan-build-run 2.0.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 (221) hide show
  1. package/CHANGELOG.md +56 -0
  2. package/CLAUDE.md +149 -0
  3. package/LICENSE +21 -0
  4. package/README.md +247 -0
  5. package/dashboard/bin/cli.js +25 -0
  6. package/dashboard/package.json +34 -0
  7. package/dashboard/public/.gitkeep +0 -0
  8. package/dashboard/public/css/layout.css +406 -0
  9. package/dashboard/public/css/status-colors.css +98 -0
  10. package/dashboard/public/js/htmx-title.js +5 -0
  11. package/dashboard/public/js/sidebar-toggle.js +20 -0
  12. package/dashboard/src/app.js +78 -0
  13. package/dashboard/src/middleware/errorHandler.js +52 -0
  14. package/dashboard/src/middleware/notFoundHandler.js +9 -0
  15. package/dashboard/src/repositories/planning.repository.js +128 -0
  16. package/dashboard/src/routes/events.routes.js +40 -0
  17. package/dashboard/src/routes/index.routes.js +31 -0
  18. package/dashboard/src/routes/pages.routes.js +195 -0
  19. package/dashboard/src/server.js +42 -0
  20. package/dashboard/src/services/dashboard.service.js +222 -0
  21. package/dashboard/src/services/phase.service.js +167 -0
  22. package/dashboard/src/services/project.service.js +57 -0
  23. package/dashboard/src/services/roadmap.service.js +171 -0
  24. package/dashboard/src/services/sse.service.js +58 -0
  25. package/dashboard/src/services/todo.service.js +254 -0
  26. package/dashboard/src/services/watcher.service.js +48 -0
  27. package/dashboard/src/views/coming-soon.ejs +11 -0
  28. package/dashboard/src/views/error.ejs +13 -0
  29. package/dashboard/src/views/index.ejs +5 -0
  30. package/dashboard/src/views/layout.ejs +1 -0
  31. package/dashboard/src/views/partials/dashboard-content.ejs +77 -0
  32. package/dashboard/src/views/partials/footer.ejs +3 -0
  33. package/dashboard/src/views/partials/head.ejs +21 -0
  34. package/dashboard/src/views/partials/header.ejs +12 -0
  35. package/dashboard/src/views/partials/layout-bottom.ejs +15 -0
  36. package/dashboard/src/views/partials/layout-top.ejs +8 -0
  37. package/dashboard/src/views/partials/phase-content.ejs +181 -0
  38. package/dashboard/src/views/partials/phases-content.ejs +117 -0
  39. package/dashboard/src/views/partials/roadmap-content.ejs +142 -0
  40. package/dashboard/src/views/partials/sidebar.ejs +38 -0
  41. package/dashboard/src/views/partials/todo-create-content.ejs +53 -0
  42. package/dashboard/src/views/partials/todo-detail-content.ejs +38 -0
  43. package/dashboard/src/views/partials/todos-content.ejs +53 -0
  44. package/dashboard/src/views/phase-detail.ejs +5 -0
  45. package/dashboard/src/views/phases.ejs +5 -0
  46. package/dashboard/src/views/roadmap.ejs +5 -0
  47. package/dashboard/src/views/todo-create.ejs +5 -0
  48. package/dashboard/src/views/todo-detail.ejs +5 -0
  49. package/dashboard/src/views/todos.ejs +5 -0
  50. package/package.json +57 -0
  51. package/plugins/pbr/.claude-plugin/plugin.json +13 -0
  52. package/plugins/pbr/UI-CONSISTENCY-GAPS.md +61 -0
  53. package/plugins/pbr/agents/codebase-mapper.md +271 -0
  54. package/plugins/pbr/agents/debugger.md +281 -0
  55. package/plugins/pbr/agents/executor.md +407 -0
  56. package/plugins/pbr/agents/general.md +164 -0
  57. package/plugins/pbr/agents/integration-checker.md +141 -0
  58. package/plugins/pbr/agents/plan-checker.md +280 -0
  59. package/plugins/pbr/agents/planner.md +358 -0
  60. package/plugins/pbr/agents/researcher.md +363 -0
  61. package/plugins/pbr/agents/synthesizer.md +230 -0
  62. package/plugins/pbr/agents/verifier.md +454 -0
  63. package/plugins/pbr/commands/begin.md +5 -0
  64. package/plugins/pbr/commands/build.md +5 -0
  65. package/plugins/pbr/commands/config.md +5 -0
  66. package/plugins/pbr/commands/continue.md +5 -0
  67. package/plugins/pbr/commands/debug.md +5 -0
  68. package/plugins/pbr/commands/discuss.md +5 -0
  69. package/plugins/pbr/commands/explore.md +5 -0
  70. package/plugins/pbr/commands/health.md +5 -0
  71. package/plugins/pbr/commands/help.md +5 -0
  72. package/plugins/pbr/commands/import.md +5 -0
  73. package/plugins/pbr/commands/milestone.md +5 -0
  74. package/plugins/pbr/commands/note.md +5 -0
  75. package/plugins/pbr/commands/pause.md +5 -0
  76. package/plugins/pbr/commands/plan.md +5 -0
  77. package/plugins/pbr/commands/quick.md +5 -0
  78. package/plugins/pbr/commands/resume.md +5 -0
  79. package/plugins/pbr/commands/review.md +5 -0
  80. package/plugins/pbr/commands/scan.md +5 -0
  81. package/plugins/pbr/commands/setup.md +5 -0
  82. package/plugins/pbr/commands/status.md +5 -0
  83. package/plugins/pbr/commands/todo.md +5 -0
  84. package/plugins/pbr/contexts/dev.md +27 -0
  85. package/plugins/pbr/contexts/research.md +28 -0
  86. package/plugins/pbr/contexts/review.md +36 -0
  87. package/plugins/pbr/hooks/hooks.json +183 -0
  88. package/plugins/pbr/references/agent-anti-patterns.md +24 -0
  89. package/plugins/pbr/references/agent-interactions.md +134 -0
  90. package/plugins/pbr/references/agent-teams.md +54 -0
  91. package/plugins/pbr/references/checkpoints.md +157 -0
  92. package/plugins/pbr/references/common-bug-patterns.md +13 -0
  93. package/plugins/pbr/references/continuation-format.md +212 -0
  94. package/plugins/pbr/references/deviation-rules.md +112 -0
  95. package/plugins/pbr/references/git-integration.md +226 -0
  96. package/plugins/pbr/references/integration-patterns.md +117 -0
  97. package/plugins/pbr/references/model-profiles.md +99 -0
  98. package/plugins/pbr/references/model-selection.md +31 -0
  99. package/plugins/pbr/references/pbr-rules.md +193 -0
  100. package/plugins/pbr/references/plan-authoring.md +181 -0
  101. package/plugins/pbr/references/plan-format.md +283 -0
  102. package/plugins/pbr/references/planning-config.md +213 -0
  103. package/plugins/pbr/references/questioning.md +214 -0
  104. package/plugins/pbr/references/reading-verification.md +127 -0
  105. package/plugins/pbr/references/stub-patterns.md +160 -0
  106. package/plugins/pbr/references/subagent-coordination.md +119 -0
  107. package/plugins/pbr/references/ui-formatting.md +399 -0
  108. package/plugins/pbr/references/verification-patterns.md +198 -0
  109. package/plugins/pbr/references/wave-execution.md +95 -0
  110. package/plugins/pbr/scripts/auto-continue.js +80 -0
  111. package/plugins/pbr/scripts/check-dangerous-commands.js +136 -0
  112. package/plugins/pbr/scripts/check-doc-sprawl.js +102 -0
  113. package/plugins/pbr/scripts/check-phase-boundary.js +196 -0
  114. package/plugins/pbr/scripts/check-plan-format.js +270 -0
  115. package/plugins/pbr/scripts/check-roadmap-sync.js +252 -0
  116. package/plugins/pbr/scripts/check-skill-workflow.js +262 -0
  117. package/plugins/pbr/scripts/check-state-sync.js +476 -0
  118. package/plugins/pbr/scripts/check-subagent-output.js +144 -0
  119. package/plugins/pbr/scripts/config-schema.json +251 -0
  120. package/plugins/pbr/scripts/context-budget-check.js +287 -0
  121. package/plugins/pbr/scripts/event-handler.js +151 -0
  122. package/plugins/pbr/scripts/event-logger.js +92 -0
  123. package/plugins/pbr/scripts/hook-logger.js +76 -0
  124. package/plugins/pbr/scripts/hooks-schema.json +79 -0
  125. package/plugins/pbr/scripts/log-subagent.js +152 -0
  126. package/plugins/pbr/scripts/log-tool-failure.js +88 -0
  127. package/plugins/pbr/scripts/pbr-tools.js +1301 -0
  128. package/plugins/pbr/scripts/post-write-dispatch.js +66 -0
  129. package/plugins/pbr/scripts/post-write-quality.js +207 -0
  130. package/plugins/pbr/scripts/pre-bash-dispatch.js +56 -0
  131. package/plugins/pbr/scripts/pre-write-dispatch.js +62 -0
  132. package/plugins/pbr/scripts/progress-tracker.js +228 -0
  133. package/plugins/pbr/scripts/session-cleanup.js +254 -0
  134. package/plugins/pbr/scripts/status-line.js +285 -0
  135. package/plugins/pbr/scripts/suggest-compact.js +119 -0
  136. package/plugins/pbr/scripts/task-completed.js +45 -0
  137. package/plugins/pbr/scripts/track-context-budget.js +119 -0
  138. package/plugins/pbr/scripts/validate-commit.js +200 -0
  139. package/plugins/pbr/scripts/validate-plugin-structure.js +172 -0
  140. package/plugins/pbr/skills/begin/SKILL.md +545 -0
  141. package/plugins/pbr/skills/begin/templates/PROJECT.md.tmpl +33 -0
  142. package/plugins/pbr/skills/begin/templates/REQUIREMENTS.md.tmpl +18 -0
  143. package/plugins/pbr/skills/begin/templates/STATE.md.tmpl +49 -0
  144. package/plugins/pbr/skills/begin/templates/config.json.tmpl +63 -0
  145. package/plugins/pbr/skills/begin/templates/researcher-prompt.md.tmpl +19 -0
  146. package/plugins/pbr/skills/begin/templates/roadmap-prompt.md.tmpl +30 -0
  147. package/plugins/pbr/skills/begin/templates/synthesis-prompt.md.tmpl +16 -0
  148. package/plugins/pbr/skills/build/SKILL.md +962 -0
  149. package/plugins/pbr/skills/config/SKILL.md +241 -0
  150. package/plugins/pbr/skills/continue/SKILL.md +127 -0
  151. package/plugins/pbr/skills/debug/SKILL.md +489 -0
  152. package/plugins/pbr/skills/debug/templates/continuation-prompt.md.tmpl +16 -0
  153. package/plugins/pbr/skills/debug/templates/initial-investigation-prompt.md.tmpl +27 -0
  154. package/plugins/pbr/skills/discuss/SKILL.md +338 -0
  155. package/plugins/pbr/skills/discuss/templates/CONTEXT.md.tmpl +61 -0
  156. package/plugins/pbr/skills/discuss/templates/decision-categories.md +9 -0
  157. package/plugins/pbr/skills/explore/SKILL.md +362 -0
  158. package/plugins/pbr/skills/health/SKILL.md +186 -0
  159. package/plugins/pbr/skills/health/templates/check-pattern.md.tmpl +30 -0
  160. package/plugins/pbr/skills/health/templates/output-format.md.tmpl +63 -0
  161. package/plugins/pbr/skills/help/SKILL.md +140 -0
  162. package/plugins/pbr/skills/import/SKILL.md +490 -0
  163. package/plugins/pbr/skills/milestone/SKILL.md +673 -0
  164. package/plugins/pbr/skills/milestone/templates/audit-report.md.tmpl +48 -0
  165. package/plugins/pbr/skills/milestone/templates/stats-file.md.tmpl +30 -0
  166. package/plugins/pbr/skills/note/SKILL.md +212 -0
  167. package/plugins/pbr/skills/pause/SKILL.md +235 -0
  168. package/plugins/pbr/skills/pause/templates/continue-here.md.tmpl +71 -0
  169. package/plugins/pbr/skills/plan/SKILL.md +628 -0
  170. package/plugins/pbr/skills/plan/decimal-phase-calc.md +98 -0
  171. package/plugins/pbr/skills/plan/templates/checker-prompt.md.tmpl +21 -0
  172. package/plugins/pbr/skills/plan/templates/gap-closure-prompt.md.tmpl +32 -0
  173. package/plugins/pbr/skills/plan/templates/planner-prompt.md.tmpl +38 -0
  174. package/plugins/pbr/skills/plan/templates/researcher-prompt.md.tmpl +19 -0
  175. package/plugins/pbr/skills/plan/templates/revision-prompt.md.tmpl +23 -0
  176. package/plugins/pbr/skills/quick/SKILL.md +335 -0
  177. package/plugins/pbr/skills/resume/SKILL.md +388 -0
  178. package/plugins/pbr/skills/review/SKILL.md +652 -0
  179. package/plugins/pbr/skills/review/templates/debugger-prompt.md.tmpl +60 -0
  180. package/plugins/pbr/skills/review/templates/gap-planner-prompt.md.tmpl +40 -0
  181. package/plugins/pbr/skills/review/templates/verifier-prompt.md.tmpl +115 -0
  182. package/plugins/pbr/skills/scan/SKILL.md +269 -0
  183. package/plugins/pbr/skills/scan/templates/mapper-prompt.md.tmpl +201 -0
  184. package/plugins/pbr/skills/setup/SKILL.md +227 -0
  185. package/plugins/pbr/skills/shared/commit-planning-docs.md +35 -0
  186. package/plugins/pbr/skills/shared/config-loading.md +102 -0
  187. package/plugins/pbr/skills/shared/context-budget.md +40 -0
  188. package/plugins/pbr/skills/shared/context-loader-task.md +86 -0
  189. package/plugins/pbr/skills/shared/digest-select.md +79 -0
  190. package/plugins/pbr/skills/shared/domain-probes.md +125 -0
  191. package/plugins/pbr/skills/shared/error-reporting.md +79 -0
  192. package/plugins/pbr/skills/shared/gate-prompts.md +388 -0
  193. package/plugins/pbr/skills/shared/phase-argument-parsing.md +45 -0
  194. package/plugins/pbr/skills/shared/progress-display.md +53 -0
  195. package/plugins/pbr/skills/shared/revision-loop.md +81 -0
  196. package/plugins/pbr/skills/shared/state-loading.md +62 -0
  197. package/plugins/pbr/skills/shared/state-update.md +161 -0
  198. package/plugins/pbr/skills/shared/universal-anti-patterns.md +33 -0
  199. package/plugins/pbr/skills/status/SKILL.md +353 -0
  200. package/plugins/pbr/skills/todo/SKILL.md +181 -0
  201. package/plugins/pbr/templates/CONTEXT.md.tmpl +52 -0
  202. package/plugins/pbr/templates/INTEGRATION-REPORT.md.tmpl +151 -0
  203. package/plugins/pbr/templates/RESEARCH-SUMMARY.md.tmpl +97 -0
  204. package/plugins/pbr/templates/ROADMAP.md.tmpl +40 -0
  205. package/plugins/pbr/templates/SUMMARY.md.tmpl +81 -0
  206. package/plugins/pbr/templates/VERIFICATION-DETAIL.md.tmpl +116 -0
  207. package/plugins/pbr/templates/codebase/ARCHITECTURE.md.tmpl +98 -0
  208. package/plugins/pbr/templates/codebase/CONCERNS.md.tmpl +93 -0
  209. package/plugins/pbr/templates/codebase/CONVENTIONS.md.tmpl +104 -0
  210. package/plugins/pbr/templates/codebase/INTEGRATIONS.md.tmpl +78 -0
  211. package/plugins/pbr/templates/codebase/STACK.md.tmpl +78 -0
  212. package/plugins/pbr/templates/codebase/STRUCTURE.md.tmpl +80 -0
  213. package/plugins/pbr/templates/codebase/TESTING.md.tmpl +107 -0
  214. package/plugins/pbr/templates/continue-here.md.tmpl +73 -0
  215. package/plugins/pbr/templates/prompt-partials/phase-project-context.md.tmpl +37 -0
  216. package/plugins/pbr/templates/research/ARCHITECTURE.md.tmpl +124 -0
  217. package/plugins/pbr/templates/research/STACK.md.tmpl +71 -0
  218. package/plugins/pbr/templates/research/SUMMARY.md.tmpl +112 -0
  219. package/plugins/pbr/templates/research-outputs/phase-research.md.tmpl +81 -0
  220. package/plugins/pbr/templates/research-outputs/project-research.md.tmpl +99 -0
  221. package/plugins/pbr/templates/research-outputs/synthesis.md.tmpl +36 -0
@@ -0,0 +1,241 @@
1
+ ---
2
+ name: config
3
+ description: "Configure settings: depth, model profiles, features, git, and gates."
4
+ allowed-tools: Read, Write, Bash, Glob, AskUserQuestion
5
+ ---
6
+
7
+ # /pbr:config — Configure Plan-Build-Run
8
+
9
+ ## Overview
10
+
11
+ Reads and writes `.planning/config.json`. Interactive configuration with AskUserQuestion.
12
+
13
+ ## References
14
+
15
+ - `references/planning-config.md` — Full config.json schema (54 fields, 16 feature toggles, validation rules)
16
+ - `references/model-profiles.md` — Model selection guide for agent spawning
17
+
18
+ ## Flow
19
+
20
+ ### 1. Load Current Config
21
+
22
+ Read `.planning/config.json`. If it doesn't exist, display:
23
+ ```
24
+ ╔══════════════════════════════════════════════════════════════╗
25
+ ║ ERROR ║
26
+ ╚══════════════════════════════════════════════════════════════╝
27
+
28
+ No Plan-Build-Run project found.
29
+
30
+ **To fix:** Run `/pbr:begin` first.
31
+ ```
32
+
33
+ ### 2. Parse Arguments
34
+
35
+ If `$ARGUMENTS` is provided, handle direct setting:
36
+ - `depth quick|standard|comprehensive` — set depth directly
37
+ - `model <agent> <model>` — set model for specific agent (e.g., `model executor sonnet`)
38
+ - `model-profile quality|balanced|budget|adaptive` — set all models at once using a preset
39
+ - `gate <gate-name> on|off` — toggle a gate
40
+ - `feature <feature-name> on|off` — toggle a feature (e.g., `feature auto_continue on`)
41
+ - `git branching none|phase|milestone|disabled` — set branching strategy
42
+ - `git mode disabled` — disable git integration entirely
43
+ - `show` — display current config (default when no args)
44
+
45
+ ### 3. Interactive Mode (no arguments or just `show`)
46
+
47
+ Display current configuration in a readable format:
48
+
49
+ ```
50
+ Plan-Build-Run Configuration
51
+ =====================
52
+
53
+ Workflow:
54
+ Depth: standard (balanced)
55
+ Research: on Plan-check: on Verify: on
56
+ Scan mappers: 4 Debug rounds: 5 Inline verify: off
57
+ Mode: interactive
58
+ Context Strategy: aggressive
59
+
60
+ Features:
61
+ ✓ Structured planning ✓ Goal verification
62
+ ✓ Context isolation ✓ Atomic commits
63
+ ✓ Session persistence ✓ Research phase
64
+ ✓ Plan checking ✗ TDD mode
65
+ ✓ Status line ✗ Auto-continue
66
+ ✗ Auto-advance ✗ Team discussions
67
+
68
+ Models:
69
+ Researcher: sonnet Planner: inherit Executor: inherit
70
+ Verifier: sonnet Int-Checker: sonnet Debugger: inherit
71
+ Mapper: sonnet Synthesizer: haiku
72
+
73
+ Parallelization:
74
+ Enabled: true Max concurrent: 3
75
+ Plan-level: true Task-level: false
76
+ Use Teams: false
77
+
78
+ Git:
79
+ Mode: enabled Branching: none
80
+ Commit docs: true
81
+ Commit format: {type}({phase}-{plan}): {description}
82
+
83
+ Gates:
84
+ ✓ Confirm project ✓ Confirm roadmap ✓ Confirm plan
85
+ ✗ Confirm execute ✓ Confirm transition ✓ Issues review
86
+
87
+ Status Line:
88
+ Sections: [phase, plan, status, context]
89
+ Brand: PLAN-BUILD-RUN
90
+ Context bar: 20 chars, green<50%, yellow<80%
91
+
92
+ Spinner Tips: (none configured — using defaults)
93
+ ```
94
+
95
+ Then present the configuration menu using the **settings-category-select** pattern (see `skills/shared/gate-prompts.md`):
96
+
97
+ Use AskUserQuestion:
98
+ question: "What would you like to configure?"
99
+ header: "Configure"
100
+ options:
101
+ - label: "Depth" description: "quick/standard/comprehensive"
102
+ - label: "Model profile" description: "quality/balanced/budget/adaptive"
103
+ - label: "Features" description: "Toggle workflow features, gates, status line"
104
+ - label: "Git settings" description: "branching strategy, commit mode"
105
+ multiSelect: false
106
+
107
+ Note: The original 7 categories are condensed to 4. "Models" (per-agent) is accessible through "Model profile" with a follow-up option. "Gates", "Parallelization", and "Status Line" are grouped under "Features".
108
+
109
+ **Follow-up based on selection:**
110
+
111
+ If user selects "Depth":
112
+ Use AskUserQuestion:
113
+ question: "Select workflow depth"
114
+ header: "Depth"
115
+ options:
116
+ - label: "Quick" description: "Budget mode: skip research/plan-check/verifier, 2 scan mappers, ~1-3 fewer spawns per phase"
117
+ - label: "Standard" description: "Balanced mode: conditional research, full plan-check and verification, 4 scan mappers (default)"
118
+ - label: "Comprehensive" description: "Thorough mode: always research, always verify, inline verification, 4 scan mappers"
119
+ multiSelect: false
120
+
121
+ After setting depth, the profile is automatically resolved. Show the user the effective settings:
122
+ "Depth set to {value}. Effective profile:"
123
+ Then display the profile summary (research, plan-check, verify, scan mappers, debug rounds, inline verify).
124
+
125
+ To resolve the profile, run: `node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js config resolve-depth`
126
+
127
+ If the user wants to override a specific profile setting, they can set `depth_profiles.{depth}.{key}` directly.
128
+ For example: to use quick mode but keep plan-checking, the user would set depth to quick and then override:
129
+ `/pbr:config` -> Features -> Plan checking -> Enable
130
+ This writes `depth_profiles.quick.features.plan_checking: true` to config.json.
131
+
132
+ If user selects "Model profile":
133
+ Use the **model-profile-select** pattern:
134
+ Use AskUserQuestion:
135
+ question: "Select model profile"
136
+ header: "Profile"
137
+ options:
138
+ - label: "Quality" description: "opus for all agents (highest cost)"
139
+ - label: "Balanced" description: "sonnet/inherit mix (default)"
140
+ - label: "Budget" description: "haiku for all agents (lowest cost)"
141
+ - label: "Adaptive" description: "sonnet planning, haiku execution"
142
+ multiSelect: false
143
+
144
+ If user asks for per-agent model selection (typed "models" or "per-agent"), present individual agent selection as plain text: list the agents and ask which one to change, then ask for the model. This is a freeform flow because agent names are dynamic.
145
+
146
+ If user selects "Features":
147
+ List all features and gates with current status, then use the **toggle-confirm** pattern for each change:
148
+ Use AskUserQuestion:
149
+ question: "Enable {feature_name}?"
150
+ header: "Toggle"
151
+ options:
152
+ - label: "Enable" description: "Turn this feature on"
153
+ - label: "Disable" description: "Turn this feature off"
154
+ multiSelect: false
155
+
156
+ Repeat for each feature the user wants to change. Show updated status after each toggle.
157
+
158
+ If user selects "Git settings":
159
+ Use AskUserQuestion:
160
+ question: "Select branching strategy"
161
+ header: "Branching"
162
+ options:
163
+ - label: "None" description: "All work on current branch"
164
+ - label: "Phase" description: "New branch per phase"
165
+ - label: "Milestone" description: "New branch per milestone"
166
+ - label: "Disabled" description: "No git integration"
167
+ multiSelect: false
168
+
169
+ If user types something else (freeform): interpret as a direct setting command and handle via Step 2 argument parsing logic.
170
+
171
+ ### 4. Apply Changes
172
+
173
+ Update config.json with new values. Show what changed with a branded completion:
174
+ ```
175
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
176
+ PLAN-BUILD-RUN ► CONFIG UPDATED ✓
177
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
178
+
179
+ Updated:
180
+ depth: standard → quick
181
+ models.executor: inherit → sonnet
182
+
183
+ ───────────────────────────────────────────────────────────────
184
+
185
+ ## ▶ Next Up
186
+
187
+ **Continue your workflow** — settings saved
188
+
189
+ `/pbr:status`
190
+
191
+ <sub>`/clear` first → fresh context window</sub>
192
+
193
+ ───────────────────────────────────────────────────────────────
194
+
195
+ **Also available:**
196
+ - `/pbr:continue` — execute next logical step
197
+ - `/pbr:config` — change more settings
198
+
199
+ ───────────────────────────────────────────────────────────────
200
+ ```
201
+
202
+ ## Config Schema
203
+
204
+ See `skills/begin/templates/config.json.tmpl` for the full schema with defaults.
205
+
206
+ ### Version Migration
207
+
208
+ If config `version` is older than current (2), run migration:
209
+ - v1 → v2: Add missing fields with defaults, rename `model_profile` → per-agent `models` object
210
+
211
+ ## Model Profile Presets
212
+
213
+ The `model-profile` command sets all agent models at once:
214
+
215
+ | Profile | researcher | planner | executor | verifier | int-checker | debugger | mapper | synthesizer |
216
+ |---------|-----------|---------|----------|----------|-------------|----------|--------|-------------|
217
+ | `quality` | opus | opus | opus | opus | sonnet | opus | sonnet | sonnet |
218
+ | `balanced` | sonnet | inherit | inherit | sonnet | sonnet | inherit | sonnet | haiku |
219
+ | `budget` | haiku | haiku | haiku | haiku | haiku | haiku | haiku | haiku |
220
+ | `adaptive` | sonnet | sonnet | inherit | sonnet | haiku | inherit | haiku | haiku |
221
+
222
+ `balanced` is the default and matches the initial config template. `adaptive` front-loads intelligence in research/planning and uses lighter models for mechanical work.
223
+
224
+ ## Feature Reference
225
+
226
+ | Feature | Key | Default | Description |
227
+ |---------|-----|---------|-------------|
228
+ | Auto-continue | `features.auto_continue` | `false` | Automatically spawn continuation agents without user prompt |
229
+ | Auto-advance | `features.auto_advance` | `false` | Chain build→review→plan automatically in autonomous mode |
230
+ | Team discussions | `features.team_discussions` | `false` | Enable team-based discussion workflows |
231
+
232
+ **Team boundaries**: Teams are NEVER used for execution, planning, or verification. Teams are only for discussion and brainstorming workflows. All execution, planning, and verification use single-agent Task() spawns with proper subagent types.
233
+
234
+ ## Validation
235
+
236
+ - `depth` must be one of: quick, standard, comprehensive
237
+ - `models.*` must be one of: sonnet, inherit, haiku, opus
238
+ - `context_strategy` must be one of: aggressive, balanced, minimal
239
+ - `git.branching` must be one of: none, phase, milestone, disabled
240
+ - `git.mode` must be one of: enabled, disabled. When `disabled`, no git commands are run (no commits, no branching). Useful for prototyping or non-git projects.
241
+ - Boolean fields must be true/false
@@ -0,0 +1,127 @@
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