@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,227 +1,253 @@
1
- ---
2
- name: setup
3
- description: "Onboarding wizard. Initialize project, select models, verify setup."
4
- allowed-tools: Read, Write, Bash, Glob, AskUserQuestion
5
- ---
6
-
7
- # /pbr:setup Plan-Build-Run Setup Wizard
8
-
9
- You are running the **setup** skill. This is an interactive onboarding wizard that guides users through Plan-Build-Run project setup. Use AskUserQuestion at each step for clear choices.
10
-
11
- ---
12
-
13
- ## Step 1: Detect Project State
14
-
15
- Check if `.planning/` directory exists in the current working directory.
16
-
17
- **If `.planning/` exists**:
18
- - Read `.planning/config.json` to check current settings
19
- - Tell the user: "Existing Plan-Build-Run project detected. This wizard will review your configuration."
20
- - Skip to Step 3 (model selection)
21
-
22
- **If `.planning/` does NOT exist**:
23
- - Ask the user:
24
-
25
- ```
26
- AskUserQuestion:
27
- question: "No Plan-Build-Run project found. Would you like to initialize one?"
28
- header: "Initialize"
29
- options:
30
- - label: "Yes, initialize here"
31
- description: "Creates .planning/ directory with default config, STATE.md, and ROADMAP.md"
32
- - label: "No, just exploring"
33
- description: "Exit the wizard you can run /pbr:begin later for full project setup"
34
- ```
35
-
36
- If "No", display: "Run `/pbr:begin` when you're ready to start a project. It includes deep requirements gathering and roadmap creation." Then stop.
37
-
38
- If "Yes", create the minimal `.planning/` structure:
39
-
40
- ```bash
41
- mkdir -p .planning/phases .planning/todos/pending .planning/todos/done .planning/logs .planning/research
42
- ```
43
-
44
- Create `.planning/config.json` with defaults:
45
- ```json
46
- {
47
- "version": 2,
48
- "depth": "standard",
49
- "mode": "guided",
50
- "features": {
51
- "structured_planning": true,
52
- "goal_verification": true,
53
- "integration_verification": false,
54
- "context_isolation": true,
55
- "atomic_commits": true,
56
- "session_persistence": true,
57
- "research_phase": true,
58
- "plan_checking": true,
59
- "tdd_mode": false,
60
- "status_line": true,
61
- "auto_continue": false,
62
- "auto_advance": false,
63
- "team_discussions": false,
64
- "inline_verify": false
65
- },
66
- "models": {
67
- "executor": "sonnet",
68
- "researcher": "sonnet",
69
- "planner": "sonnet",
70
- "verifier": "sonnet",
71
- "synthesizer": "haiku"
72
- },
73
- "parallelization": {
74
- "max_concurrent_agents": 3,
75
- "allow_parallel_plans": true
76
- },
77
- "planning": {
78
- "max_plans_per_phase": 4,
79
- "min_must_haves": 3
80
- },
81
- "git": {
82
- "auto_commit": true,
83
- "commit_format": "conventional",
84
- "branching_strategy": "none"
85
- },
86
- "gates": {
87
- "verification": true,
88
- "review": true,
89
- "plan_approval": false,
90
- "pre_build_checklist": false
91
- },
92
- "safety": {
93
- "block_sensitive_files": true,
94
- "require_tests": false
95
- },
96
- "hooks": {}
97
- }
98
- ```
99
-
100
- Create `.planning/STATE.md`:
101
- ```markdown
102
- ---
103
- version: 2
104
- current_phase: 0
105
- total_phases: 0
106
- status: "initialized"
107
- progress_percent: 0
108
- last_activity: "{today's date}"
109
- last_command: "/pbr:setup"
110
- blockers: []
111
- ---
112
- # Project State
113
-
114
- ## Current Position
115
- Phase: 0 of 0
116
- Status: initialized
117
-
118
- Plan-Build-Run project initialized via /pbr:setup. Run /pbr:begin to start requirements gathering and roadmap creation.
119
- ```
120
-
121
- ---
122
-
123
- ## Step 2: Project Type (new projects only)
124
-
125
- ```
126
- AskUserQuestion:
127
- question: "What kind of project is this?"
128
- header: "Project type"
129
- options:
130
- - label: "Greenfield"
131
- description: "Starting from scratch — full planning cycle recommended"
132
- - label: "Existing codebase"
133
- description: "Adding Plan-Build-Run to an existing project — run /pbr:scan first"
134
- - label: "Prototype/experiment"
135
- description: "Quick iteration — lighter workflow with fewer gates"
136
- ```
137
-
138
- Based on selection:
139
- - **Greenfield**: Keep defaults (full gates, structured planning)
140
- - **Existing codebase**: Suggest running `/pbr:scan` after setup to map the codebase
141
- - **Prototype**: Set `depth: "quick"`, disable `gates.verification`, disable `gates.review`, set `features.research_phase: false`
142
-
143
- Update config.json with any changes.
144
-
145
- ---
146
-
147
- ## Step 3: Model Selection
148
-
149
- ```
150
- AskUserQuestion:
151
- question: "Which model profile should Plan-Build-Run use for agents?"
152
- header: "Models"
153
- options:
154
- - label: "Balanced (Recommended)"
155
- description: "Sonnet for most agents, Haiku for synthesizer. Good quality/cost tradeoff."
156
- - label: "Quality"
157
- description: "Opus for executor and planner, Sonnet for others. Best results, highest cost."
158
- - label: "Budget"
159
- description: "Haiku for most agents. Fastest and cheapest, but lower quality."
160
- ```
161
-
162
- Apply the selected profile to `config.json`:
163
- - **Balanced**: executor=sonnet, researcher=sonnet, planner=sonnet, verifier=sonnet, synthesizer=haiku
164
- - **Quality**: executor=opus, researcher=sonnet, planner=opus, verifier=sonnet, synthesizer=sonnet
165
- - **Budget**: executor=haiku, researcher=haiku, planner=sonnet, verifier=haiku, synthesizer=haiku
166
-
167
- ---
168
-
169
- ## Step 4: Workflow Preferences
170
-
171
- ```
172
- AskUserQuestion:
173
- question: "Which workflow features do you want enabled?"
174
- header: "Features"
175
- multiSelect: true
176
- options:
177
- - label: "Auto-continue"
178
- description: "Automatically chain commands (build → review → next phase) without prompting"
179
- - label: "TDD mode"
180
- description: "Write tests before implementation in executor agents"
181
- - label: "Strict gates"
182
- description: "Require verification AND review to pass before advancing phases"
183
- - label: "Git branching"
184
- description: "Create a branch per phase for cleaner PR history"
185
- ```
186
-
187
- Apply selections:
188
- - **Auto-continue**: Set `features.auto_continue: true`
189
- - **TDD mode**: Set `features.tdd_mode: true`
190
- - **Strict gates**: Set `gates.verification: true`, `gates.review: true`, `gates.plan_approval: true`
191
- - **Git branching**: Set `git.branching_strategy: "phase"`
192
-
193
- ---
194
-
195
- ## Step 5: Verification
196
-
197
- Run a quick health check:
198
-
199
- 1. Verify `.planning/config.json` is valid JSON
200
- 2. Verify `.planning/STATE.md` exists and is parseable
201
- 3. Verify hook scripts are accessible: `node ${CLAUDE_PLUGIN_ROOT}/scripts/progress-tracker.js` from the project directory
202
- 4. Check that `npm test` works (if package.json exists)
203
-
204
- Display results:
205
-
206
- ```
207
- Setup Complete!
208
-
209
- Project: {cwd basename}
210
- Model profile: {balanced/quality/budget}
211
- Depth: {quick/standard/comprehensive}
212
- Features: {list of enabled non-default features}
213
-
214
- Next steps:
215
- /pbr:begin — Full project setup with requirements and roadmap
216
- /pbr:scan — Analyze existing codebase (if adding to existing project)
217
- /pbr:help — Command reference
218
- /pbr:config — Fine-tune individual settings
219
- ```
220
-
221
- ---
222
-
223
- ## Error Handling
224
-
225
- - If `.planning/` creation fails (permissions): Tell user to create it manually and retry
226
- - If config.json write fails: Display the JSON content and ask user to save it manually
227
- - If health check fails: Display specific failure and suggest `/pbr:health` for diagnostics
1
+ ---
2
+ name: setup
3
+ description: "Onboarding wizard. Initialize project, select models, verify setup."
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 SETUP
16
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
17
+ ```
18
+
19
+ Then proceed to Step 1.
20
+
21
+ # /pbr:setup — Plan-Build-Run Setup Wizard
22
+
23
+ You are running the **setup** skill. This is an interactive onboarding wizard that guides users through Plan-Build-Run project setup. Use AskUserQuestion at each step for clear choices.
24
+
25
+ ---
26
+
27
+ ## Step 1: Detect Project State
28
+
29
+ Check if `.planning/` directory exists in the current working directory.
30
+
31
+ **If `.planning/` exists**:
32
+ - Read `.planning/config.json` to check current settings
33
+ - Tell the user: "Existing Plan-Build-Run project detected. This wizard will review your configuration."
34
+ - Skip to Step 3 (model selection)
35
+
36
+ **If `.planning/` does NOT exist**:
37
+ - Ask the user:
38
+
39
+ ```
40
+ AskUserQuestion:
41
+ question: "No Plan-Build-Run project found. Would you like to initialize one?"
42
+ header: "Initialize"
43
+ options:
44
+ - label: "Yes, initialize here"
45
+ description: "Creates .planning/ directory with default config, STATE.md, and ROADMAP.md"
46
+ - label: "No, just exploring"
47
+ description: "Exit the wizard — you can run /pbr:begin later for full project setup"
48
+ ```
49
+
50
+ If "No", display: "Run `/pbr:begin` when you're ready to start a project. It includes deep requirements gathering and roadmap creation." Then stop.
51
+
52
+ If "Yes", create the minimal `.planning/` structure:
53
+
54
+ ```bash
55
+ mkdir -p .planning/phases .planning/todos/pending .planning/todos/done .planning/logs .planning/research
56
+ ```
57
+
58
+ Create `.planning/config.json` with defaults:
59
+ ```json
60
+ {
61
+ "version": 2,
62
+ "context_strategy": "aggressive",
63
+ "mode": "interactive",
64
+ "depth": "standard",
65
+ "features": {
66
+ "structured_planning": true,
67
+ "goal_verification": true,
68
+ "integration_verification": true,
69
+ "context_isolation": true,
70
+ "atomic_commits": true,
71
+ "session_persistence": true,
72
+ "research_phase": true,
73
+ "plan_checking": true,
74
+ "tdd_mode": false,
75
+ "status_line": true,
76
+ "auto_continue": false,
77
+ "auto_advance": false,
78
+ "team_discussions": false,
79
+ "inline_verify": false
80
+ },
81
+ "models": {
82
+ "researcher": "sonnet",
83
+ "planner": "inherit",
84
+ "executor": "inherit",
85
+ "verifier": "sonnet",
86
+ "integration_checker": "sonnet",
87
+ "debugger": "inherit",
88
+ "mapper": "sonnet",
89
+ "synthesizer": "sonnet"
90
+ },
91
+ "parallelization": {
92
+ "enabled": true,
93
+ "plan_level": true,
94
+ "task_level": false,
95
+ "max_concurrent_agents": 3,
96
+ "min_plans_for_parallel": 2,
97
+ "use_teams": false
98
+ },
99
+ "planning": {
100
+ "commit_docs": true,
101
+ "max_tasks_per_plan": 3,
102
+ "search_gitignored": false
103
+ },
104
+ "git": {
105
+ "branching": "none",
106
+ "commit_format": "{type}({phase}-{plan}): {description}",
107
+ "phase_branch_template": "plan-build-run/phase-{phase}-{slug}",
108
+ "milestone_branch_template": "plan-build-run/{milestone}-{slug}",
109
+ "mode": "enabled"
110
+ },
111
+ "gates": {
112
+ "confirm_project": true,
113
+ "confirm_roadmap": true,
114
+ "confirm_plan": true,
115
+ "confirm_execute": false,
116
+ "confirm_transition": true,
117
+ "issues_review": true
118
+ },
119
+ "safety": {
120
+ "always_confirm_destructive": true,
121
+ "always_confirm_external_services": true
122
+ }
123
+ }
124
+ ```
125
+
126
+ Create `.planning/STATE.md`:
127
+ ```markdown
128
+ ---
129
+ version: 2
130
+ current_phase: 0
131
+ total_phases: 0
132
+ status: "initialized"
133
+ progress_percent: 0
134
+ last_activity: "{today's date}"
135
+ last_command: "/pbr:setup"
136
+ blockers: []
137
+ ---
138
+ # Project State
139
+
140
+ ## Current Position
141
+ Phase: 0 of 0
142
+ Status: initialized
143
+
144
+ Plan-Build-Run project initialized via /pbr:setup. Run /pbr:begin to start requirements gathering and roadmap creation.
145
+ ```
146
+
147
+ ---
148
+
149
+ ## Step 2: Project Type (new projects only)
150
+
151
+ ```
152
+ AskUserQuestion:
153
+ question: "What kind of project is this?"
154
+ header: "Project type"
155
+ options:
156
+ - label: "Greenfield"
157
+ description: "Starting from scratch full planning cycle recommended"
158
+ - label: "Existing codebase"
159
+ description: "Adding Plan-Build-Run to an existing project run /pbr:scan first"
160
+ - label: "Prototype/experiment"
161
+ description: "Quick iteration — lighter workflow with fewer gates"
162
+ ```
163
+
164
+ Based on selection:
165
+ - **Greenfield**: Keep defaults (full gates, structured planning)
166
+ - **Existing codebase**: Suggest running `/pbr:scan` after setup to map the codebase
167
+ - **Prototype**: Set `depth: "quick"`, disable `gates.verification`, disable `gates.review`, set `features.research_phase: false`
168
+
169
+ Update config.json with any changes.
170
+
171
+ ---
172
+
173
+ ## Step 3: Model Selection
174
+
175
+ ```
176
+ AskUserQuestion:
177
+ question: "Which model profile should Plan-Build-Run use for agents?"
178
+ header: "Models"
179
+ options:
180
+ - label: "Balanced (Recommended)"
181
+ description: "Sonnet for most agents, Haiku for synthesizer. Good quality/cost tradeoff."
182
+ - label: "Quality"
183
+ description: "Opus for executor and planner, Sonnet for others. Best results, highest cost."
184
+ - label: "Budget"
185
+ description: "Haiku for most agents. Fastest and cheapest, but lower quality."
186
+ ```
187
+
188
+ Apply the selected profile to `config.json`:
189
+ - **Balanced**: executor=sonnet, researcher=sonnet, planner=sonnet, verifier=sonnet, synthesizer=haiku
190
+ - **Quality**: executor=opus, researcher=sonnet, planner=opus, verifier=sonnet, synthesizer=sonnet
191
+ - **Budget**: executor=haiku, researcher=haiku, planner=sonnet, verifier=haiku, synthesizer=haiku
192
+
193
+ ---
194
+
195
+ ## Step 4: Workflow Preferences
196
+
197
+ ```
198
+ AskUserQuestion:
199
+ question: "Which workflow features do you want enabled?"
200
+ header: "Features"
201
+ multiSelect: true
202
+ options:
203
+ - label: "Auto-continue"
204
+ description: "Automatically chain commands (build → review → next phase) without prompting"
205
+ - label: "TDD mode"
206
+ description: "Write tests before implementation in executor agents"
207
+ - label: "Strict gates"
208
+ description: "Require verification AND review to pass before advancing phases"
209
+ - label: "Git branching"
210
+ description: "Create a branch per phase for cleaner PR history"
211
+ ```
212
+
213
+ Apply selections:
214
+ - **Auto-continue**: Set `features.auto_continue: true`
215
+ - **TDD mode**: Set `features.tdd_mode: true`
216
+ - **Strict gates**: Set `gates.verification: true`, `gates.review: true`, `gates.plan_approval: true`
217
+ - **Git branching**: Set `git.branching: "phase"`
218
+
219
+ ---
220
+
221
+ ## Step 5: Verification
222
+
223
+ Run a quick health check:
224
+
225
+ 1. Verify `.planning/config.json` is valid JSON
226
+ 2. Verify `.planning/STATE.md` exists and is parseable
227
+ 3. Verify hook scripts are accessible: `node ${CLAUDE_PLUGIN_ROOT}/scripts/progress-tracker.js` from the project directory
228
+ 4. Check that `npm test` works (if package.json exists)
229
+
230
+ Display results:
231
+
232
+ ```
233
+ Setup Complete!
234
+
235
+ Project: {cwd basename}
236
+ Model profile: {balanced/quality/budget}
237
+ Depth: {quick/standard/comprehensive}
238
+ Features: {list of enabled non-default features}
239
+
240
+ Next steps:
241
+ /pbr:begin — Full project setup with requirements and roadmap
242
+ /pbr:scan — Analyze existing codebase (if adding to existing project)
243
+ /pbr:help — Command reference
244
+ /pbr:config — Fine-tune individual settings
245
+ ```
246
+
247
+ ---
248
+
249
+ ## Error Handling
250
+
251
+ - If `.planning/` creation fails (permissions): Tell user to create it manually and retry
252
+ - If config.json write fails: Display the JSON content and ask user to save it manually
253
+ - If health check fails: Display specific failure and suggest `/pbr:health` for diagnostics
@@ -1,35 +1,35 @@
1
- # Commit Planning Docs Pattern
2
-
3
- Standard pattern for committing planning artifacts to git. Reference this fragment in skills that create or modify `.planning/` files.
4
-
5
- ---
6
-
7
- ## Pattern
8
-
9
- ```
10
- If `planning.commit_docs: true` in config.json:
11
- 1. Stage the relevant .planning/ files for this skill's output
12
- 2. Commit with format: `docs({scope}): {description}`
13
- 3. Use the appropriate scope from the skill's commit conventions
14
-
15
- If `planning.commit_docs: false` or config.json missing:
16
- - Skip the commit step
17
- ```
18
-
19
- ## Commit Messages by Skill
20
-
21
- | Skill | Commit message format |
22
- |-------|----------------------|
23
- | build | `docs({phase}): add build summaries and verification` |
24
- | plan | `docs({phase}): add phase plans` |
25
- | review | `docs({phase}): add verification report` |
26
- | begin | `chore: initialize plan-build-run project planning` |
27
- | import | `docs({phase}): import external plans` |
28
- | quick | `docs(planning): quick task {NNN} - {slug}` |
29
- | scan | `docs(planning): initial codebase analysis` |
30
- | explore | `docs(planning): capture explore session outputs` |
31
- | debug | `docs(planning): open/resolve debug session {NNN}` |
32
- | discuss | `docs(planning): capture phase {N} discussion decisions` |
33
- | pause | `docs(planning): checkpoint phase {N} progress` |
34
- | todo | `docs(planning): add/complete todo {NNN}` |
35
- | milestone | `docs(planning): start/complete/audit milestone` |
1
+ # Commit Planning Docs Pattern
2
+
3
+ Standard pattern for committing planning artifacts to git. Reference this fragment in skills that create or modify `.planning/` files.
4
+
5
+ ---
6
+
7
+ ## Pattern
8
+
9
+ ```
10
+ If `planning.commit_docs: true` in config.json:
11
+ 1. Stage the relevant .planning/ files for this skill's output
12
+ 2. Commit with the format from the **Commit Messages by Skill** table below (most use `docs({scope}):` but some skills like pause use `wip(planning):`)
13
+ 3. Use the appropriate scope from the skill's commit conventions
14
+
15
+ If `planning.commit_docs: false` or config.json missing:
16
+ - Skip the commit step
17
+ ```
18
+
19
+ ## Commit Messages by Skill
20
+
21
+ | Skill | Commit message format |
22
+ |-------|----------------------|
23
+ | build | `docs({phase}): add build summaries and verification` |
24
+ | plan | `docs({phase}): add phase plans` |
25
+ | review | `docs({phase}): add verification report` |
26
+ | begin | `chore: initialize plan-build-run project planning` |
27
+ | import | `docs({phase}): import external plans` |
28
+ | quick | `docs(planning): quick task {NNN} - {slug}` |
29
+ | scan | `docs(planning): initial codebase analysis` |
30
+ | explore | `docs(planning): capture explore session outputs` |
31
+ | debug | `docs(planning): open/resolve debug session {NNN}` |
32
+ | discuss | `docs(planning): capture phase {N} discussion decisions` |
33
+ | pause | `wip(planning): save session state — phase {N} plan {M}` |
34
+ | todo | `docs(planning): add/complete todo {NNN}` |
35
+ | milestone | `docs(planning): start/complete/audit milestone` |