@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,241 +1,256 @@
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
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
+ **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
+ ## Step 0 — Immediate Output
10
+
11
+ **Before ANY tool calls**, display this banner:
12
+
13
+ ```
14
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
15
+ PLAN-BUILD-RUN CONFIGURATION
16
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
17
+ ```
18
+
19
+ Then proceed to Step 1.
20
+
21
+ # /pbr:config — Configure Plan-Build-Run
22
+
23
+ ## Overview
24
+
25
+ Reads and writes `.planning/config.json`. Interactive configuration with AskUserQuestion.
26
+
27
+ ## References
28
+
29
+ - `references/planning-config.md` — Full config.json schema (54 fields, 16 feature toggles, validation rules)
30
+ - `references/model-profiles.md` Model selection guide for agent spawning
31
+
32
+ ## Flow
33
+
34
+ ### 1. Load Current Config
35
+
36
+ Read `.planning/config.json`. If it doesn't exist, display:
37
+ ```
38
+ ╔══════════════════════════════════════════════════════════════╗
39
+ ║ ERROR ║
40
+ ╚══════════════════════════════════════════════════════════════╝
41
+
42
+ No Plan-Build-Run project found.
43
+
44
+ **To fix:** Run `/pbr:begin` first.
45
+ ```
46
+
47
+ ### 2. Parse Arguments
48
+
49
+ If `$ARGUMENTS` is provided, handle direct setting:
50
+ - `depth quick|standard|comprehensive` — set depth directly
51
+ - `model <agent> <model>` — set model for specific agent (e.g., `model executor sonnet`)
52
+ - `model-profile quality|balanced|budget|adaptive` — set all models at once using a preset
53
+ - `gate <gate-name> on|off` — toggle a gate
54
+ - `feature <feature-name> on|off` — toggle a feature (e.g., `feature auto_continue on`). When the user specifies a feature name without the `features.` prefix, automatically prepend `features.` before writing to config.
55
+ - `git branching none|phase|milestone|disabled` — set branching strategy
56
+ - `git mode disabled` disable git integration entirely
57
+ - `show` — display current config (default when no args)
58
+
59
+ ### 3. Interactive Mode (no arguments or just `show`)
60
+
61
+ Display current configuration in a readable format:
62
+
63
+ ```
64
+ Plan-Build-Run Configuration
65
+ =====================
66
+
67
+ Workflow:
68
+ Depth: standard (balanced)
69
+ Research: on Plan-check: on Verify: on
70
+ Scan mappers: 4 Debug rounds: 5 Inline verify: off
71
+ Mode: interactive
72
+ Context Strategy: aggressive
73
+
74
+ Features:
75
+ Structured planning ✓ Goal verification
76
+ Context isolation ✓ Atomic commits
77
+ ✓ Session persistence ✓ Research phase
78
+ ✓ Plan checking ✗ TDD mode
79
+ Status line ✗ Auto-continue
80
+ Auto-advance ✗ Team discussions
81
+
82
+ Models:
83
+ Researcher: sonnet Planner: inherit Executor: inherit
84
+ Verifier: sonnet Int-Checker: sonnet Debugger: inherit
85
+ Mapper: sonnet Synthesizer: haiku
86
+
87
+ Parallelization:
88
+ Enabled: true Max concurrent: 3
89
+ Plan-level: true Task-level: false
90
+ Use Teams: false
91
+
92
+ Git:
93
+ Mode: enabled Branching: none
94
+ Commit docs: true
95
+ Commit format: {type}({phase}-{plan}): {description}
96
+
97
+ Gates:
98
+ Confirm project ✓ Confirm roadmap ✓ Confirm plan
99
+ Confirm execute ✓ Confirm transition ✓ Issues review
100
+
101
+ Status Line:
102
+ Sections: [phase, plan, status, context]
103
+ Brand: PLAN-BUILD-RUN
104
+ Context bar: 20 chars, green<50%, yellow<80%
105
+
106
+ Spinner Tips: (none configured — using defaults)
107
+ ```
108
+
109
+ Then present the configuration menu using the **settings-category-select** pattern (see `skills/shared/gate-prompts.md`):
110
+
111
+ Use AskUserQuestion:
112
+ question: "What would you like to configure?"
113
+ header: "Configure"
114
+ options:
115
+ - label: "Depth" description: "quick/standard/comprehensive"
116
+ - label: "Model profile" description: "quality/balanced/budget/adaptive"
117
+ - label: "Features" description: "Toggle workflow features, gates, status line"
118
+ - label: "Git settings" description: "branching strategy, commit mode"
119
+ multiSelect: false
120
+
121
+ 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".
122
+
123
+ **Follow-up based on selection:**
124
+
125
+ If user selects "Depth":
126
+ Use AskUserQuestion:
127
+ question: "Select workflow depth"
128
+ header: "Depth"
129
+ options:
130
+ - label: "Quick" description: "Budget mode: skip research/plan-check/verifier, 2 scan mappers, ~1-3 fewer spawns per phase"
131
+ - label: "Standard" description: "Balanced mode: conditional research, full plan-check and verification, 4 scan mappers (default)"
132
+ - label: "Comprehensive" description: "Thorough mode: always research, always verify, inline verification, 4 scan mappers"
133
+ multiSelect: false
134
+
135
+ After setting depth, the profile is automatically resolved. Show the user the effective settings:
136
+ "Depth set to {value}. Effective profile:"
137
+ Then display the profile summary (research, plan-check, verify, scan mappers, debug rounds, inline verify).
138
+
139
+ To resolve the profile, run: `node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js config resolve-depth`
140
+
141
+ If the user wants to override a specific profile setting, they can set `depth_profiles.{depth}.{key}` directly.
142
+ For example: to use quick mode but keep plan-checking, the user would set depth to quick and then override:
143
+ `/pbr:config` -> Features -> Plan checking -> Enable
144
+ This writes `depth_profiles.quick.features.plan_checking: true` to config.json.
145
+
146
+ If user selects "Model profile":
147
+ Use the **model-profile-select** pattern:
148
+ Use AskUserQuestion:
149
+ question: "Select model profile"
150
+ header: "Profile"
151
+ options:
152
+ - label: "Quality" description: "opus for all agents (highest cost)"
153
+ - label: "Balanced" description: "sonnet/inherit mix (default)"
154
+ - label: "Budget" description: "haiku for all agents (lowest cost)"
155
+ - label: "Adaptive" description: "sonnet planning, haiku execution"
156
+ multiSelect: false
157
+
158
+ 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.
159
+
160
+ If user selects "Features":
161
+ List all features and gates with current status, then use the **toggle-confirm** pattern for each change.
162
+ **Feature name normalization:** When toggling a feature, if the user specifies a bare name (e.g., `inline_verify`), normalize it to `features.inline_verify` before writing to config. All feature flags live under the `features.*` namespace in config.json.
163
+ Use AskUserQuestion:
164
+ question: "Enable {feature_name}?"
165
+ header: "Toggle"
166
+ options:
167
+ - label: "Enable" description: "Turn this feature on"
168
+ - label: "Disable" description: "Turn this feature off"
169
+ multiSelect: false
170
+
171
+ Repeat for each feature the user wants to change. Show updated status after each toggle.
172
+
173
+ If user selects "Git settings":
174
+ Use AskUserQuestion:
175
+ question: "Select branching strategy"
176
+ header: "Branching"
177
+ options:
178
+ - label: "None" description: "All work on current branch"
179
+ - label: "Phase" description: "New branch per phase"
180
+ - label: "Milestone" description: "New branch per milestone"
181
+ - label: "Disabled" description: "No git integration"
182
+ multiSelect: false
183
+
184
+ If user types something else (freeform): interpret as a direct setting command and handle via Step 2 argument parsing logic.
185
+
186
+ ### 4. Apply Changes
187
+
188
+ Update config.json with new values. Show what changed with a branded completion:
189
+ ```
190
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
191
+ PLAN-BUILD-RUN CONFIG UPDATED
192
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
193
+
194
+ Updated:
195
+ depth: standard → quick
196
+ models.executor: inherit sonnet
197
+
198
+ ───────────────────────────────────────────────────────────────
199
+
200
+ ## ▶ Next Up
201
+
202
+ **Continue your workflow** — settings saved
203
+
204
+ `/pbr:status`
205
+
206
+ <sub>`/clear` first → fresh context window</sub>
207
+
208
+ ───────────────────────────────────────────────────────────────
209
+
210
+ **Also available:**
211
+ - `/pbr:continue` execute next logical step
212
+ - `/pbr:config` — change more settings
213
+
214
+ ───────────────────────────────────────────────────────────────
215
+ ```
216
+
217
+ ## Config Schema
218
+
219
+ See `skills/begin/templates/config.json.tmpl` for the full schema with defaults.
220
+
221
+ ### Version Migration
222
+
223
+ If config `version` is older than current (2), run migration:
224
+ - v1 → v2: Add missing fields with defaults, rename `model_profile` → per-agent `models` object
225
+
226
+ ## Model Profile Presets
227
+
228
+ The `model-profile` command sets all agent models at once:
229
+
230
+ | Profile | researcher | planner | executor | verifier | int-checker | debugger | mapper | synthesizer |
231
+ |---------|-----------|---------|----------|----------|-------------|----------|--------|-------------|
232
+ | `quality` | opus | opus | opus | opus | sonnet | opus | sonnet | sonnet |
233
+ | `balanced` | sonnet | inherit | inherit | sonnet | sonnet | inherit | sonnet | haiku |
234
+ | `budget` | haiku | haiku | haiku | haiku | haiku | haiku | haiku | haiku |
235
+ | `adaptive` | sonnet | sonnet | inherit | sonnet | haiku | inherit | haiku | haiku |
236
+
237
+ `balanced` is the default and matches the initial config template. `adaptive` front-loads intelligence in research/planning and uses lighter models for mechanical work.
238
+
239
+ ## Feature Reference
240
+
241
+ | Feature | Key | Default | Description |
242
+ |---------|-----|---------|-------------|
243
+ | Auto-continue | `features.auto_continue` | `false` | Automatically spawn continuation agents without user prompt |
244
+ | Auto-advance | `features.auto_advance` | `false` | Chain build→review→plan automatically in autonomous mode |
245
+ | Team discussions | `features.team_discussions` | `false` | Enable team-based discussion workflows |
246
+
247
+ **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.
248
+
249
+ ## Validation
250
+
251
+ - `depth` must be one of: quick, standard, comprehensive
252
+ - `models.*` must be one of: sonnet, inherit, haiku, opus
253
+ - `context_strategy` must be one of: aggressive, balanced, minimal
254
+ - `git.branching` must be one of: none, phase, milestone, disabled
255
+ - `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.
256
+ - Boolean fields must be true/false