@sienklogic/plan-build-run 2.18.1 → 2.19.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 (977) hide show
  1. package/CHANGELOG.md +1265 -296
  2. package/CLAUDE.md +56 -34
  3. package/LICENSE +2 -1
  4. package/README.md +412 -177
  5. package/bin/install.js +2752 -0
  6. package/dashboard/bin/cli.cjs +96 -0
  7. package/dashboard/bin/stop.cjs +129 -0
  8. package/dashboard/eslint.config.js +37 -0
  9. package/dashboard/index.html +20 -0
  10. package/dashboard/package.json +27 -25
  11. package/dashboard/server/index.js +142 -0
  12. package/dashboard/server/lib/frontmatter.js +92 -0
  13. package/dashboard/server/middleware/static.js +35 -0
  14. package/dashboard/server/package.json +16 -0
  15. package/dashboard/server/routes/agents.js +213 -0
  16. package/dashboard/server/routes/config.js +64 -0
  17. package/dashboard/server/routes/health.js +95 -0
  18. package/dashboard/server/routes/incidents.js +78 -0
  19. package/dashboard/server/routes/intel.js +69 -0
  20. package/dashboard/server/routes/memory.js +107 -0
  21. package/dashboard/server/routes/planning.js +234 -0
  22. package/dashboard/server/routes/progress.js +77 -0
  23. package/dashboard/server/routes/projects.js +36 -0
  24. package/dashboard/server/routes/requirements.js +40 -0
  25. package/dashboard/server/routes/roadmap.js +69 -0
  26. package/dashboard/server/routes/sessions.js +70 -0
  27. package/dashboard/server/routes/status.js +25 -0
  28. package/dashboard/server/routes/telemetry.js +214 -0
  29. package/dashboard/server/services/file-watcher.js +105 -0
  30. package/dashboard/server/services/planning-reader.js +741 -0
  31. package/dashboard/server/test/cli.test.js +34 -0
  32. package/dashboard/server/test/frontmatter.test.js +104 -0
  33. package/dashboard/server/test/isolation.test.js +32 -0
  34. package/dashboard/server/test/planning-reader.test.js +151 -0
  35. package/dashboard/server/test/routes.test.js +91 -0
  36. package/dashboard/server/test/ws.test.js +81 -0
  37. package/dashboard/server/ws.js +96 -0
  38. package/dashboard/src/App.jsx +165 -0
  39. package/dashboard/src/components/charts/BudgetBars.jsx +42 -0
  40. package/dashboard/src/components/charts/ContextRadar.jsx +34 -0
  41. package/dashboard/src/components/charts/PhaseDonut.jsx +66 -0
  42. package/dashboard/src/components/charts/SuccessTrend.jsx +45 -0
  43. package/dashboard/src/components/charts/TokenChart.jsx +55 -0
  44. package/dashboard/src/components/charts/index.js +5 -0
  45. package/dashboard/src/components/config/CfgSection.jsx +93 -0
  46. package/dashboard/src/components/layout/Header.jsx +89 -0
  47. package/dashboard/src/components/layout/ProjectSwitcher.jsx +160 -0
  48. package/dashboard/src/components/layout/Sidebar.jsx +161 -0
  49. package/dashboard/src/components/ui/AutoModeBanner.jsx +138 -0
  50. package/dashboard/src/components/ui/BackButton.jsx +27 -0
  51. package/dashboard/src/components/ui/Badge.jsx +27 -0
  52. package/dashboard/src/components/ui/Card.jsx +23 -0
  53. package/dashboard/src/components/ui/ChartTooltip.jsx +48 -0
  54. package/dashboard/src/components/ui/CheckpointBox.jsx +110 -0
  55. package/dashboard/src/components/ui/CodeBlock.jsx +27 -0
  56. package/dashboard/src/components/ui/ConfidenceBadge.jsx +20 -0
  57. package/dashboard/src/components/ui/ConfirmModal.jsx +161 -0
  58. package/dashboard/src/components/ui/ConnectionBanner.jsx +60 -0
  59. package/dashboard/src/components/ui/ErrorBoundary.jsx +106 -0
  60. package/dashboard/src/components/ui/ErrorBox.jsx +107 -0
  61. package/dashboard/src/components/ui/KeyValue.jsx +33 -0
  62. package/dashboard/src/components/ui/LoadingSkeleton.jsx +84 -0
  63. package/dashboard/src/components/ui/MetricCard.jsx +58 -0
  64. package/dashboard/src/components/ui/NextUpBlock.jsx +92 -0
  65. package/dashboard/src/components/ui/NumberInput.jsx +44 -0
  66. package/dashboard/src/components/ui/PBRBanner.jsx +47 -0
  67. package/dashboard/src/components/ui/PipelineView.jsx +130 -0
  68. package/dashboard/src/components/ui/ProgressBar.jsx +28 -0
  69. package/dashboard/src/components/ui/ProgressDisplay.jsx +47 -0
  70. package/dashboard/src/components/ui/QualityGateBadge.jsx +15 -0
  71. package/dashboard/src/components/ui/SectionTitle.jsx +35 -0
  72. package/dashboard/src/components/ui/SelectInput.jsx +45 -0
  73. package/dashboard/src/components/ui/StatusDot.jsx +51 -0
  74. package/dashboard/src/components/ui/StatusSymbol.jsx +49 -0
  75. package/dashboard/src/components/ui/TabBar.jsx +41 -0
  76. package/dashboard/src/components/ui/TextInput.jsx +42 -0
  77. package/dashboard/src/components/ui/Toast.jsx +117 -0
  78. package/dashboard/src/components/ui/Toggle.jsx +70 -0
  79. package/dashboard/src/components/ui/index.js +29 -0
  80. package/dashboard/src/hooks/useDocumentTitle.js +16 -0
  81. package/dashboard/src/hooks/useFetch.js +50 -0
  82. package/dashboard/src/hooks/useToast.jsx +43 -0
  83. package/dashboard/src/hooks/useWebSocket.js +103 -0
  84. package/dashboard/src/lib/api.js +112 -0
  85. package/dashboard/src/lib/configSchema.js +189 -0
  86. package/dashboard/src/lib/constants.js +22 -0
  87. package/dashboard/src/main.jsx +15 -0
  88. package/dashboard/src/pages/AgentsPage.jsx +191 -0
  89. package/dashboard/src/pages/ConfigPage.jsx +298 -0
  90. package/dashboard/src/pages/HooksPage.jsx +412 -0
  91. package/dashboard/src/pages/IncidentsPage.jsx +135 -0
  92. package/dashboard/src/pages/IntelPage.jsx +193 -0
  93. package/dashboard/src/pages/LiveFeed.jsx +274 -0
  94. package/dashboard/src/pages/MemoryPage.jsx +107 -0
  95. package/dashboard/src/pages/OnboardingPage.jsx +117 -0
  96. package/dashboard/src/pages/Overview.jsx +360 -0
  97. package/dashboard/src/pages/PhaseDetailView.jsx +216 -0
  98. package/dashboard/src/pages/PlanningPage.jsx +181 -0
  99. package/dashboard/src/pages/ProgressPage.jsx +249 -0
  100. package/dashboard/src/pages/ResearchPage.jsx +129 -0
  101. package/dashboard/src/pages/RoadmapPage.jsx +251 -0
  102. package/dashboard/src/pages/SessionsPage.jsx +117 -0
  103. package/dashboard/src/pages/Telemetry.jsx +166 -0
  104. package/dashboard/src/pages/planning/DecisionsTab.jsx +153 -0
  105. package/dashboard/src/pages/planning/FilesTab.jsx +420 -0
  106. package/dashboard/src/pages/planning/MilestoneDetail.jsx +319 -0
  107. package/dashboard/src/pages/planning/MilestonesTab.jsx +151 -0
  108. package/dashboard/src/pages/planning/NotesTab.jsx +251 -0
  109. package/dashboard/src/pages/planning/PhasesTab.jsx +218 -0
  110. package/dashboard/src/pages/planning/QuickTab.jsx +50 -0
  111. package/dashboard/src/pages/planning/ResearchTab.jsx +103 -0
  112. package/dashboard/src/pages/planning/TodosTab.jsx +297 -0
  113. package/dashboard/src/theme/ThemeProvider.jsx +38 -0
  114. package/dashboard/src/theme/tokens.js +17 -0
  115. package/dashboard/tests/components/ConfirmModal.test.jsx +179 -0
  116. package/dashboard/tests/components/ConnectionBanner.test.jsx +37 -0
  117. package/dashboard/tests/components/ErrorBoundary.test.jsx +59 -0
  118. package/dashboard/tests/components/LoadingSkeleton.test.jsx +46 -0
  119. package/dashboard/tests/components/ToastContainer.test.jsx +47 -0
  120. package/dashboard/tests/components/Toggle.test.jsx +61 -0
  121. package/dashboard/tests/hooks/useFetch.test.jsx +77 -0
  122. package/dashboard/tests/hooks/useToast.test.jsx +78 -0
  123. package/dashboard/tests/hooks/useWebSocket.test.jsx +128 -0
  124. package/dashboard/tests/pages/ConfigPage.test.jsx +199 -0
  125. package/dashboard/tests/pages/PlanningPage.test.jsx +119 -0
  126. package/dashboard/tests/pages/planning/FilesTab.test.jsx +198 -0
  127. package/dashboard/tests/pages/planning/NotesTab.test.jsx +178 -0
  128. package/dashboard/tests/pages/planning/TodosTab.test.jsx +188 -0
  129. package/dashboard/tests/performance.test.jsx +46 -0
  130. package/dashboard/tests/routes/config.test.js +98 -0
  131. package/dashboard/tests/routes/health.test.js +40 -0
  132. package/dashboard/tests/routes/planning.test.js +112 -0
  133. package/dashboard/tests/routes/roadmap.test.js +91 -0
  134. package/dashboard/tests/routes/status.test.js +131 -0
  135. package/dashboard/tests/server/planning-reader.test.js +153 -0
  136. package/dashboard/tests/setup.js +7 -0
  137. package/dashboard/vite.config.js +41 -0
  138. package/package.json +55 -40
  139. package/plan-build-run/bin/config-schema.json +1420 -0
  140. package/plugins/pbr/.claude-plugin/plugin.json +1 -1
  141. package/plugins/pbr/CLAUDE.md +19 -0
  142. package/plugins/pbr/UI-CONSISTENCY-GAPS.md +1 -1
  143. package/plugins/pbr/agents/advisor-researcher.md +100 -0
  144. package/plugins/pbr/agents/audit.md +205 -89
  145. package/plugins/pbr/agents/codebase-mapper.md +158 -23
  146. package/plugins/pbr/agents/debugger.md +222 -30
  147. package/plugins/pbr/agents/dev-sync.md +206 -0
  148. package/plugins/pbr/agents/executor.md +717 -39
  149. package/plugins/pbr/agents/general.md +71 -6
  150. package/plugins/pbr/agents/integration-checker.md +146 -30
  151. package/plugins/pbr/agents/intel-updater.md +332 -0
  152. package/plugins/pbr/agents/nyquist-auditor.md +253 -0
  153. package/plugins/pbr/agents/plan-checker.md +270 -61
  154. package/plugins/pbr/agents/planner.md +440 -42
  155. package/plugins/pbr/agents/researcher.md +223 -36
  156. package/plugins/pbr/agents/roadmapper.md +397 -0
  157. package/plugins/pbr/agents/synthesizer.md +170 -26
  158. package/plugins/pbr/agents/ui-checker.md +203 -0
  159. package/plugins/pbr/agents/ui-researcher.md +224 -0
  160. package/plugins/pbr/agents/verifier.md +495 -47
  161. package/plugins/pbr/commands/add-phase.md +75 -0
  162. package/plugins/pbr/commands/add-todo.md +8 -0
  163. package/plugins/pbr/commands/audit-fix.md +5 -0
  164. package/plugins/pbr/commands/audit-milestone.md +8 -0
  165. package/plugins/pbr/commands/autonomous.md +5 -0
  166. package/plugins/pbr/commands/backlog.md +6 -0
  167. package/plugins/pbr/commands/check-todos.md +8 -0
  168. package/plugins/pbr/commands/complete-milestone.md +8 -0
  169. package/plugins/pbr/commands/config.md +1 -1
  170. package/plugins/pbr/commands/discuss-phase.md +6 -0
  171. package/plugins/pbr/commands/do.md +5 -0
  172. package/plugins/pbr/commands/execute-phase.md +6 -0
  173. package/plugins/pbr/commands/fast.md +6 -0
  174. package/plugins/pbr/commands/forensics.md +6 -0
  175. package/plugins/pbr/commands/import.md +1 -1
  176. package/plugins/pbr/commands/insert-phase.md +65 -0
  177. package/plugins/pbr/commands/intel.md +5 -0
  178. package/plugins/pbr/commands/join-discord.md +11 -0
  179. package/plugins/pbr/commands/list-phase-assumptions.md +5 -0
  180. package/plugins/pbr/commands/map-codebase.md +6 -0
  181. package/plugins/pbr/commands/milestone-summary.md +6 -0
  182. package/plugins/pbr/commands/new-milestone.md +8 -0
  183. package/plugins/pbr/commands/new-project.md +6 -0
  184. package/plugins/pbr/commands/pause-work.md +5 -0
  185. package/plugins/pbr/commands/plan-milestone-gaps.md +7 -0
  186. package/plugins/pbr/commands/plan-phase.md +6 -0
  187. package/plugins/pbr/commands/plant-seed.md +6 -0
  188. package/plugins/pbr/commands/profile-user.md +5 -0
  189. package/plugins/pbr/commands/profile.md +5 -0
  190. package/plugins/pbr/commands/progress.md +6 -0
  191. package/plugins/pbr/commands/quick.md +1 -1
  192. package/plugins/pbr/commands/reapply-patches.md +47 -0
  193. package/plugins/pbr/commands/release.md +6 -0
  194. package/plugins/pbr/commands/remove-phase.md +66 -0
  195. package/plugins/pbr/commands/research-phase.md +59 -0
  196. package/plugins/pbr/commands/resume-work.md +5 -0
  197. package/plugins/pbr/commands/seed.md +6 -0
  198. package/plugins/pbr/commands/session-report.md +5 -0
  199. package/plugins/pbr/commands/set-profile.md +6 -0
  200. package/plugins/pbr/commands/settings.md +5 -0
  201. package/plugins/pbr/commands/setup.md +1 -1
  202. package/plugins/pbr/commands/ship.md +5 -0
  203. package/plugins/pbr/commands/stats.md +6 -0
  204. package/plugins/pbr/commands/test.md +5 -0
  205. package/plugins/pbr/commands/thread.md +6 -0
  206. package/plugins/pbr/commands/todo.md +1 -1
  207. package/plugins/pbr/commands/ui-phase.md +5 -0
  208. package/plugins/pbr/commands/ui-review.md +5 -0
  209. package/plugins/pbr/commands/undo.md +5 -0
  210. package/plugins/pbr/commands/update.md +37 -0
  211. package/plugins/pbr/commands/validate-phase.md +5 -0
  212. package/plugins/pbr/commands/verify-work.md +6 -0
  213. package/plugins/pbr/dashboard/package-lock.json +6 -0
  214. package/plugins/pbr/dist/architecture-guard.js +59 -0
  215. package/plugins/pbr/dist/audit-dimensions.js +556 -0
  216. package/plugins/pbr/dist/auto-continue.js +277 -0
  217. package/plugins/pbr/dist/block-skill-self-read.js +124 -0
  218. package/plugins/pbr/dist/check-agent-state-write.js +63 -0
  219. package/plugins/pbr/dist/check-config-change.js +162 -0
  220. package/plugins/pbr/dist/check-cross-plugin-sync.js +93 -0
  221. package/plugins/pbr/dist/check-dangerous-commands.js +193 -0
  222. package/plugins/pbr/dist/check-direct-state-write.js +37 -0
  223. package/plugins/pbr/dist/check-doc-sprawl.js +102 -0
  224. package/plugins/pbr/dist/check-phase-boundary.js +191 -0
  225. package/plugins/pbr/dist/check-plan-format.js +241 -0
  226. package/plugins/pbr/dist/check-read-first.js +345 -0
  227. package/plugins/pbr/dist/check-roadmap-sync.js +503 -0
  228. package/plugins/pbr/dist/check-skill-workflow.js +354 -0
  229. package/plugins/pbr/dist/check-state-sync.js +658 -0
  230. package/plugins/pbr/dist/check-subagent-output.js +452 -0
  231. package/plugins/pbr/dist/check-summary-gate.js +199 -0
  232. package/plugins/pbr/dist/context-bridge.js +425 -0
  233. package/plugins/pbr/dist/context-budget-check.js +442 -0
  234. package/plugins/pbr/dist/context-quality.js +271 -0
  235. package/plugins/pbr/dist/enforce-context-budget.js +138 -0
  236. package/plugins/pbr/dist/enforce-pbr-workflow.js +277 -0
  237. package/plugins/pbr/dist/event-handler.js +202 -0
  238. package/plugins/pbr/dist/event-logger.js +125 -0
  239. package/plugins/pbr/dist/feedback-loop.js +172 -0
  240. package/plugins/pbr/dist/graph-update.js +422 -0
  241. package/plugins/pbr/dist/hook-logger.js +114 -0
  242. package/plugins/pbr/dist/hook-server-client.js +361 -0
  243. package/plugins/pbr/dist/hook-server.js +606 -0
  244. package/plugins/pbr/dist/hooks-schema.json +87 -0
  245. package/plugins/pbr/dist/instructions-loaded.js +173 -0
  246. package/plugins/pbr/dist/intercept-plan-mode.js +81 -0
  247. package/plugins/pbr/dist/log-notification.js +131 -0
  248. package/plugins/pbr/dist/log-subagent.js +349 -0
  249. package/plugins/pbr/dist/log-tool-failure.js +140 -0
  250. package/plugins/pbr/dist/milestone-learnings.js +569 -0
  251. package/plugins/pbr/dist/pbr-tools.js +2044 -0
  252. package/plugins/pbr/dist/post-bash-triage.js +154 -0
  253. package/plugins/pbr/dist/post-compact.js +135 -0
  254. package/plugins/pbr/dist/post-hoc.js +286 -0
  255. package/plugins/pbr/dist/post-write-dispatch.js +279 -0
  256. package/plugins/pbr/dist/post-write-quality.js +208 -0
  257. package/plugins/pbr/dist/pre-bash-dispatch.js +218 -0
  258. package/plugins/pbr/dist/pre-skill-dispatch.js +114 -0
  259. package/plugins/pbr/dist/pre-task-dispatch.js +297 -0
  260. package/plugins/pbr/dist/pre-write-dispatch.js +234 -0
  261. package/plugins/pbr/dist/progress-tracker.js +198 -0
  262. package/plugins/pbr/dist/prompt-guard.js +114 -0
  263. package/plugins/pbr/dist/prompt-routing.js +209 -0
  264. package/plugins/pbr/dist/quick-status.js +179 -0
  265. package/plugins/pbr/dist/record-incident.js +37 -0
  266. package/plugins/pbr/dist/run-hook.js +144 -0
  267. package/plugins/pbr/dist/session-cleanup.js +683 -0
  268. package/plugins/pbr/dist/session-tracker.js +124 -0
  269. package/plugins/pbr/dist/status-line.js +847 -0
  270. package/plugins/pbr/dist/suggest-compact.js +315 -0
  271. package/plugins/pbr/dist/sync-context-to-claude.js +100 -0
  272. package/plugins/pbr/dist/task-completed.js +206 -0
  273. package/plugins/pbr/dist/track-context-budget.js +432 -0
  274. package/plugins/pbr/dist/track-user-gates.js +88 -0
  275. package/plugins/pbr/dist/trust-tracker.js +193 -0
  276. package/plugins/pbr/dist/validate-commit.js +271 -0
  277. package/plugins/pbr/dist/validate-skill-args.js +222 -0
  278. package/plugins/pbr/dist/validate-task.js +301 -0
  279. package/plugins/pbr/dist/worktree-create.js +144 -0
  280. package/plugins/pbr/dist/worktree-remove.js +147 -0
  281. package/plugins/pbr/hooks/hooks.json +143 -60
  282. package/plugins/pbr/references/agent-contracts.md +40 -9
  283. package/plugins/pbr/references/agent-teams.md +3 -3
  284. package/plugins/pbr/references/archive/checkpoints.md +189 -0
  285. package/plugins/pbr/references/archive/context-quality-tiers.md +45 -0
  286. package/plugins/pbr/references/archive/hook-ordering.md +89 -0
  287. package/plugins/pbr/references/archive/limitations.md +106 -0
  288. package/plugins/pbr/references/archive/pbr-rules.md +194 -0
  289. package/plugins/pbr/references/archive/pbr-tools-cli.md +415 -0
  290. package/plugins/pbr/references/archive/pretooluse-jsonl-behavior.md +58 -0
  291. package/plugins/pbr/references/archive/signal-files.md +41 -0
  292. package/plugins/pbr/references/archive/tmux-setup.md +288 -0
  293. package/plugins/pbr/references/archive/verification-matrix.md +34 -0
  294. package/plugins/pbr/references/archive/verification-patterns.md +277 -0
  295. package/plugins/pbr/references/archive/worktree-sparse-checkout.md +86 -0
  296. package/plugins/pbr/references/behavioral-contexts.md +53 -0
  297. package/plugins/pbr/references/checkpoints.md +723 -104
  298. package/plugins/pbr/references/config-reference.md +472 -10
  299. package/plugins/pbr/references/continuation-format.md +1 -0
  300. package/plugins/pbr/references/decimal-phase-calculation.md +65 -0
  301. package/plugins/pbr/references/deviation-rules.md +12 -0
  302. package/plugins/pbr/references/git-integration.md +110 -27
  303. package/plugins/pbr/references/git-planning-commit.md +35 -0
  304. package/plugins/pbr/references/model-profile-resolution.md +34 -0
  305. package/plugins/pbr/references/model-profiles.md +90 -7
  306. package/plugins/pbr/references/model-selection.md +1 -1
  307. package/plugins/pbr/references/node-repair.md +48 -0
  308. package/plugins/pbr/references/plan-authoring.md +65 -0
  309. package/plugins/pbr/references/plan-format.md +161 -10
  310. package/plugins/pbr/references/questioning.md +138 -49
  311. package/plugins/pbr/references/reading-verification.md +4 -4
  312. package/plugins/pbr/references/tdd.md +263 -0
  313. package/plugins/pbr/references/ui-brand.md +449 -0
  314. package/plugins/pbr/references/verification-overrides.md +39 -0
  315. package/plugins/pbr/references/verification-patterns.md +529 -113
  316. package/plugins/pbr/scripts/architecture-guard.js +59 -0
  317. package/plugins/pbr/scripts/audit-checks/behavioral-compliance.js +2098 -0
  318. package/plugins/pbr/scripts/audit-checks/error-analysis.js +989 -0
  319. package/plugins/pbr/scripts/audit-checks/feature-verification.js +723 -0
  320. package/plugins/pbr/scripts/audit-checks/index.js +433 -0
  321. package/plugins/pbr/scripts/audit-checks/infrastructure.js +816 -0
  322. package/plugins/pbr/scripts/audit-checks/quality-metrics.js +452 -0
  323. package/plugins/pbr/scripts/audit-checks/session-quality.js +980 -0
  324. package/plugins/pbr/scripts/audit-checks/si-agent-hook-config-checks.js +466 -0
  325. package/plugins/pbr/scripts/audit-checks/si-cross-cutting-checks.js +272 -0
  326. package/plugins/pbr/scripts/audit-checks/si-skill-checks.js +424 -0
  327. package/plugins/pbr/scripts/audit-checks/workflow-compliance.js +1211 -0
  328. package/plugins/pbr/scripts/audit-dimensions.js +556 -0
  329. package/plugins/pbr/scripts/auto-continue.js +198 -31
  330. package/plugins/pbr/scripts/block-skill-self-read.js +124 -0
  331. package/plugins/pbr/scripts/check-agent-state-write.js +63 -0
  332. package/plugins/pbr/scripts/check-config-change.js +162 -0
  333. package/plugins/pbr/scripts/check-cross-plugin-sync.js +93 -0
  334. package/plugins/pbr/scripts/check-dangerous-commands.js +18 -5
  335. package/plugins/pbr/scripts/check-direct-state-write.js +37 -0
  336. package/plugins/pbr/scripts/check-phase-boundary.js +3 -8
  337. package/plugins/pbr/scripts/check-plan-format.js +166 -277
  338. package/plugins/pbr/scripts/check-read-first.js +345 -0
  339. package/plugins/pbr/scripts/check-roadmap-sync.js +167 -10
  340. package/plugins/pbr/scripts/check-skill-workflow.js +24 -27
  341. package/plugins/pbr/scripts/check-state-sync.js +339 -215
  342. package/plugins/pbr/scripts/check-subagent-output.js +338 -276
  343. package/plugins/pbr/scripts/check-summary-gate.js +2 -1
  344. package/plugins/pbr/scripts/config-schema.json +1247 -95
  345. package/plugins/pbr/scripts/context-bridge.js +425 -0
  346. package/plugins/pbr/scripts/context-budget-check.js +169 -14
  347. package/plugins/pbr/scripts/context-quality.js +271 -0
  348. package/plugins/pbr/scripts/enforce-context-budget.js +138 -0
  349. package/plugins/pbr/scripts/enforce-pbr-workflow.js +277 -0
  350. package/plugins/pbr/scripts/event-handler.js +128 -77
  351. package/plugins/pbr/scripts/event-logger.js +58 -25
  352. package/plugins/pbr/scripts/feedback-loop.js +172 -0
  353. package/plugins/pbr/scripts/graph-update.js +422 -0
  354. package/plugins/pbr/scripts/hook-logger.js +69 -35
  355. package/plugins/pbr/scripts/hook-server-client.js +361 -0
  356. package/plugins/pbr/scripts/hook-server.js +606 -0
  357. package/plugins/pbr/scripts/hooks-schema.json +13 -5
  358. package/plugins/pbr/scripts/instructions-loaded.js +173 -0
  359. package/plugins/pbr/scripts/intent-router.cjs +147 -0
  360. package/plugins/pbr/scripts/intercept-plan-mode.js +52 -18
  361. package/plugins/pbr/scripts/lib/alternatives.js +203 -0
  362. package/plugins/pbr/scripts/lib/audit.js +65 -0
  363. package/plugins/pbr/scripts/lib/auto-cleanup.js +221 -0
  364. package/plugins/pbr/scripts/lib/auto-verify.js +103 -0
  365. package/plugins/pbr/scripts/lib/autonomy.js +91 -0
  366. package/plugins/pbr/scripts/lib/build.js +719 -0
  367. package/plugins/pbr/scripts/lib/ci-fix-loop.js +228 -0
  368. package/plugins/pbr/scripts/lib/circuit-state.js +133 -0
  369. package/plugins/pbr/scripts/lib/commands.js +483 -0
  370. package/plugins/pbr/scripts/lib/completion.js +377 -0
  371. package/plugins/pbr/scripts/lib/compound.js +216 -0
  372. package/plugins/pbr/scripts/lib/config.js +1315 -0
  373. package/plugins/pbr/scripts/lib/context.js +254 -0
  374. package/plugins/pbr/scripts/lib/contextual-help.js +207 -0
  375. package/plugins/pbr/scripts/lib/convention-detector.js +413 -0
  376. package/plugins/pbr/scripts/lib/core.js +1569 -0
  377. package/plugins/pbr/scripts/lib/dashboard-launch.js +364 -0
  378. package/plugins/pbr/scripts/lib/data-hygiene.js +179 -0
  379. package/plugins/pbr/scripts/lib/decision-extraction.js +183 -0
  380. package/plugins/pbr/scripts/lib/decisions.js +194 -0
  381. package/plugins/pbr/scripts/lib/dependency-break.js +147 -0
  382. package/plugins/pbr/scripts/lib/format-validators.js +1050 -0
  383. package/plugins/pbr/scripts/lib/frontmatter.js +302 -0
  384. package/plugins/pbr/scripts/lib/gates/advisories.js +129 -0
  385. package/plugins/pbr/scripts/lib/gates/build-dependency.js +115 -0
  386. package/plugins/pbr/scripts/lib/gates/build-executor.js +104 -0
  387. package/plugins/pbr/scripts/lib/gates/doc-existence.js +46 -0
  388. package/plugins/pbr/scripts/lib/gates/helpers.js +93 -0
  389. package/plugins/pbr/scripts/lib/gates/inline-execution.js +185 -0
  390. package/plugins/pbr/scripts/lib/gates/milestone-complete.js +136 -0
  391. package/plugins/pbr/scripts/lib/gates/milestone-summary.js +119 -0
  392. package/plugins/pbr/scripts/lib/gates/multi-phase-loader.js +147 -0
  393. package/plugins/pbr/scripts/lib/gates/plan-executor.js +36 -0
  394. package/plugins/pbr/scripts/lib/gates/plan-validation.js +114 -0
  395. package/plugins/pbr/scripts/lib/gates/quick-executor.js +76 -0
  396. package/plugins/pbr/scripts/lib/gates/review-planner.js +61 -0
  397. package/plugins/pbr/scripts/lib/gates/review-verifier.js +69 -0
  398. package/plugins/pbr/scripts/lib/gates/rich-agent-context.js +143 -0
  399. package/plugins/pbr/scripts/lib/gates/user-confirmation.js +93 -0
  400. package/plugins/pbr/scripts/lib/graph-cli.js +89 -0
  401. package/plugins/pbr/scripts/lib/graph.js +553 -0
  402. package/plugins/pbr/scripts/lib/health-checks.js +107 -0
  403. package/plugins/pbr/scripts/lib/health-phase06.js +120 -0
  404. package/plugins/pbr/scripts/lib/health.js +133 -0
  405. package/plugins/pbr/scripts/lib/help.js +151 -0
  406. package/plugins/pbr/scripts/lib/history.js +150 -0
  407. package/plugins/pbr/scripts/lib/hypothesis-runner.js +127 -0
  408. package/plugins/pbr/scripts/lib/impact-analysis.js +319 -0
  409. package/plugins/pbr/scripts/lib/incidents.js +190 -0
  410. package/plugins/pbr/scripts/lib/init.js +643 -0
  411. package/plugins/pbr/scripts/lib/insights-parser.js +320 -0
  412. package/plugins/pbr/scripts/lib/intel.js +653 -0
  413. package/plugins/pbr/scripts/lib/learnings.js +511 -0
  414. package/plugins/pbr/scripts/lib/local-llm/client.js +237 -0
  415. package/plugins/pbr/scripts/lib/local-llm/health.js +12 -0
  416. package/plugins/pbr/scripts/lib/local-llm/index.js +89 -0
  417. package/plugins/pbr/scripts/lib/local-llm/metrics.js +20 -0
  418. package/plugins/pbr/scripts/lib/local-llm/operations/classify-artifact.js +4 -0
  419. package/plugins/pbr/scripts/lib/local-llm/operations/classify-commit.js +4 -0
  420. package/plugins/pbr/scripts/lib/local-llm/operations/classify-error.js +4 -0
  421. package/plugins/pbr/scripts/lib/local-llm/operations/classify-file-intent.js +4 -0
  422. package/plugins/pbr/scripts/lib/local-llm/operations/score-source.js +72 -0
  423. package/plugins/pbr/scripts/lib/local-llm/operations/summarize-context.js +62 -0
  424. package/plugins/pbr/scripts/lib/local-llm/operations/triage-test-output.js +12 -0
  425. package/plugins/pbr/scripts/lib/local-llm/operations/validate-task.js +4 -0
  426. package/plugins/pbr/scripts/lib/local-llm/router.js +101 -0
  427. package/plugins/pbr/scripts/lib/local-llm/shadow.js +60 -0
  428. package/plugins/pbr/scripts/lib/local-llm/threshold-tuner.js +118 -0
  429. package/plugins/pbr/scripts/lib/migrate.js +298 -0
  430. package/plugins/pbr/scripts/lib/milestone.js +306 -0
  431. package/plugins/pbr/scripts/lib/negative-knowledge.js +194 -0
  432. package/plugins/pbr/scripts/lib/notification-throttle.js +141 -0
  433. package/plugins/pbr/scripts/lib/onboarding-generator.js +288 -0
  434. package/plugins/pbr/scripts/lib/parse-args.js +134 -0
  435. package/plugins/pbr/scripts/lib/pattern-routing.js +55 -0
  436. package/plugins/pbr/scripts/lib/patterns.js +272 -0
  437. package/plugins/pbr/scripts/lib/perf.js +190 -0
  438. package/plugins/pbr/scripts/lib/phase.js +1027 -0
  439. package/plugins/pbr/scripts/lib/pid-lock.js +154 -0
  440. package/plugins/pbr/scripts/lib/post-hoc.js +160 -0
  441. package/plugins/pbr/scripts/lib/pre-commit-checks.js +220 -0
  442. package/plugins/pbr/scripts/lib/pre-research.js +133 -0
  443. package/plugins/pbr/scripts/lib/preview.js +174 -0
  444. package/plugins/pbr/scripts/lib/progress-visualization.js +296 -0
  445. package/plugins/pbr/scripts/lib/quick-init.js +131 -0
  446. package/plugins/pbr/scripts/lib/reference.js +236 -0
  447. package/plugins/pbr/scripts/lib/requirements.js +153 -0
  448. package/plugins/pbr/scripts/lib/resolve-root.js +66 -0
  449. package/plugins/pbr/scripts/lib/reverse-spec.js +259 -0
  450. package/plugins/pbr/scripts/lib/roadmap.js +1113 -0
  451. package/plugins/pbr/scripts/lib/security-scan.js +200 -0
  452. package/plugins/pbr/scripts/lib/session-briefing.js +895 -0
  453. package/plugins/pbr/scripts/lib/skill-section.js +99 -0
  454. package/plugins/pbr/scripts/lib/smart-next-task.js +207 -0
  455. package/plugins/pbr/scripts/lib/snapshot-manager.js +232 -0
  456. package/plugins/pbr/scripts/lib/spec-diff.js +209 -0
  457. package/plugins/pbr/scripts/lib/spec-engine.js +189 -0
  458. package/plugins/pbr/scripts/lib/spot-check.js +642 -0
  459. package/plugins/pbr/scripts/lib/state-queue.js +171 -0
  460. package/plugins/pbr/scripts/lib/state.js +1187 -0
  461. package/plugins/pbr/scripts/lib/status-render.js +511 -0
  462. package/plugins/pbr/scripts/lib/step-verify.js +149 -0
  463. package/plugins/pbr/scripts/lib/subagent-validators.js +1059 -0
  464. package/plugins/pbr/scripts/lib/suggest-next.js +435 -0
  465. package/plugins/pbr/scripts/lib/team-composer.js +87 -0
  466. package/plugins/pbr/scripts/lib/team-coordinator.js +153 -0
  467. package/plugins/pbr/scripts/lib/tech-debt-scanner.js +116 -0
  468. package/plugins/pbr/scripts/lib/template.js +222 -0
  469. package/plugins/pbr/scripts/lib/templates.js +362 -0
  470. package/plugins/pbr/scripts/lib/test-cache.js +54 -0
  471. package/plugins/pbr/scripts/lib/test-selection.js +163 -0
  472. package/plugins/pbr/scripts/lib/todo.js +300 -0
  473. package/plugins/pbr/scripts/lib/trust-gate.js +84 -0
  474. package/plugins/pbr/scripts/lib/verify.js +1473 -0
  475. package/plugins/pbr/scripts/lib/wiring-check.js +196 -0
  476. package/plugins/pbr/scripts/log-notification.js +131 -0
  477. package/plugins/pbr/scripts/log-subagent.js +203 -18
  478. package/plugins/pbr/scripts/log-tool-failure.js +60 -8
  479. package/plugins/pbr/scripts/milestone-learnings.js +569 -0
  480. package/plugins/pbr/scripts/package.json +1 -0
  481. package/plugins/pbr/scripts/pbr-tools.js +1833 -1167
  482. package/plugins/pbr/scripts/post-bash-triage.js +154 -0
  483. package/plugins/pbr/scripts/post-compact.js +135 -0
  484. package/plugins/pbr/scripts/post-hoc.js +286 -0
  485. package/plugins/pbr/scripts/post-write-dispatch.js +237 -31
  486. package/plugins/pbr/scripts/post-write-quality.js +4 -3
  487. package/plugins/pbr/scripts/pre-bash-dispatch.js +155 -23
  488. package/plugins/pbr/scripts/pre-skill-dispatch.js +114 -0
  489. package/plugins/pbr/scripts/pre-task-dispatch.js +297 -0
  490. package/plugins/pbr/scripts/pre-write-dispatch.js +171 -47
  491. package/plugins/pbr/scripts/progress-tracker.js +144 -307
  492. package/plugins/pbr/scripts/prompt-guard.js +114 -0
  493. package/plugins/pbr/scripts/prompt-routing.js +209 -0
  494. package/plugins/pbr/scripts/quick-status.js +179 -0
  495. package/plugins/pbr/scripts/record-incident.js +37 -0
  496. package/plugins/pbr/scripts/risk-classifier.cjs +123 -0
  497. package/plugins/pbr/scripts/run-hook.js +62 -10
  498. package/plugins/pbr/scripts/session-cleanup.js +458 -29
  499. package/plugins/pbr/scripts/session-tracker.js +124 -0
  500. package/plugins/pbr/scripts/status-line.js +591 -32
  501. package/plugins/pbr/scripts/suggest-compact.js +203 -7
  502. package/plugins/pbr/scripts/sync-context-to-claude.js +100 -0
  503. package/plugins/pbr/scripts/task-completed.js +165 -4
  504. package/plugins/pbr/scripts/test/config.test.js +126 -0
  505. package/plugins/pbr/scripts/test/cross-platform.test.js +131 -0
  506. package/plugins/pbr/scripts/test/fixtures/config.json +20 -0
  507. package/plugins/pbr/scripts/test/fixtures/plan.md +54 -0
  508. package/plugins/pbr/scripts/test/fixtures/project.md +30 -0
  509. package/plugins/pbr/scripts/test/fixtures/roadmap.md +55 -0
  510. package/plugins/pbr/scripts/test/fixtures/state.md +60 -0
  511. package/plugins/pbr/scripts/test/fixtures/summary.md +35 -0
  512. package/plugins/pbr/scripts/test/fixtures.test.js +184 -0
  513. package/plugins/pbr/scripts/test/phase.test.js +142 -0
  514. package/plugins/pbr/scripts/test/roadmap.test.js +96 -0
  515. package/plugins/pbr/scripts/test/state.test.js +163 -0
  516. package/plugins/pbr/scripts/track-context-budget.js +368 -99
  517. package/plugins/pbr/scripts/track-user-gates.js +88 -0
  518. package/plugins/pbr/scripts/trust-tracker.js +193 -0
  519. package/plugins/pbr/scripts/validate-commit.js +97 -26
  520. package/plugins/pbr/scripts/validate-skill-args.js +87 -15
  521. package/plugins/pbr/scripts/validate-task.js +112 -626
  522. package/plugins/pbr/scripts/worktree-create.js +144 -0
  523. package/plugins/pbr/scripts/worktree-remove.js +147 -0
  524. package/plugins/pbr/skills/audit/SKILL.md +195 -24
  525. package/plugins/pbr/skills/audit-fix/SKILL.md +326 -0
  526. package/plugins/pbr/skills/autonomous/SKILL.md +545 -0
  527. package/plugins/pbr/skills/backlog/SKILL.md +56 -0
  528. package/plugins/pbr/skills/begin/SKILL.md +507 -153
  529. package/plugins/pbr/skills/begin/templates/STATE.md.tmpl +1 -2
  530. package/plugins/pbr/skills/begin/templates/config.json.tmpl +415 -36
  531. package/plugins/pbr/skills/begin/templates/researcher-prompt.md.tmpl +28 -0
  532. package/plugins/pbr/skills/begin/templates/roadmap-prompt.md.tmpl +28 -3
  533. package/plugins/pbr/skills/begin/templates/synthesis-prompt.md.tmpl +33 -5
  534. package/plugins/pbr/skills/build/SKILL.md +1040 -354
  535. package/plugins/pbr/skills/build/templates/continuation-prompt.md.tmpl +26 -0
  536. package/plugins/pbr/skills/build/templates/executor-prompt.md.tmpl +77 -0
  537. package/plugins/pbr/skills/build/templates/inline-verifier-prompt.md.tmpl +33 -0
  538. package/plugins/pbr/skills/config/SKILL.md +111 -9
  539. package/plugins/pbr/skills/continue/SKILL.md +113 -33
  540. package/plugins/pbr/skills/dashboard/SKILL.md +21 -9
  541. package/plugins/pbr/skills/debug/SKILL.md +70 -12
  542. package/plugins/pbr/skills/debug/templates/continuation-prompt.md.tmpl +12 -1
  543. package/plugins/pbr/skills/debug/templates/initial-investigation-prompt.md.tmpl +12 -5
  544. package/plugins/pbr/skills/discuss/SKILL.md +206 -25
  545. package/plugins/pbr/skills/discuss/templates/CONTEXT.md.tmpl +21 -1
  546. package/plugins/pbr/skills/do/SKILL.md +119 -24
  547. package/plugins/pbr/skills/explore/SKILL.md +95 -20
  548. package/plugins/pbr/skills/fast/SKILL.md +94 -0
  549. package/plugins/pbr/skills/forensics/SKILL.md +144 -0
  550. package/plugins/pbr/skills/health/SKILL.md +44 -117
  551. package/plugins/pbr/skills/help/SKILL.md +83 -101
  552. package/plugins/pbr/skills/import/SKILL.md +332 -13
  553. package/plugins/pbr/skills/intel/SKILL.md +131 -0
  554. package/plugins/pbr/skills/list-phase-assumptions/SKILL.md +231 -0
  555. package/plugins/pbr/skills/milestone/SKILL.md +421 -263
  556. package/plugins/pbr/skills/milestone/templates/audit-output.md.tmpl +76 -0
  557. package/plugins/pbr/skills/milestone/templates/complete-output.md.tmpl +32 -0
  558. package/plugins/pbr/skills/milestone/templates/edge-cases.md +54 -0
  559. package/plugins/pbr/skills/milestone/templates/gaps-output.md.tmpl +25 -0
  560. package/plugins/pbr/skills/milestone/templates/integration-checker-prompt.md.tmpl +25 -0
  561. package/plugins/pbr/skills/milestone/templates/new-output.md.tmpl +29 -0
  562. package/plugins/pbr/skills/milestone-summary/SKILL.md +86 -0
  563. package/plugins/pbr/skills/note/SKILL.md +20 -4
  564. package/plugins/pbr/skills/pause/SKILL.md +53 -14
  565. package/plugins/pbr/skills/pause/templates/continue-here.md.tmpl +33 -52
  566. package/plugins/pbr/skills/plan/SKILL.md +526 -280
  567. package/plugins/pbr/skills/plan/templates/checker-prompt.md.tmpl +5 -2
  568. package/plugins/pbr/skills/plan/templates/completion-output.md.tmpl +27 -0
  569. package/plugins/pbr/skills/plan/templates/planner-prompt.md.tmpl +27 -1
  570. package/plugins/pbr/skills/plan/templates/revision-prompt.md.tmpl +21 -5
  571. package/plugins/pbr/skills/profile/SKILL.md +185 -0
  572. package/plugins/pbr/skills/profile-user/SKILL.md +226 -0
  573. package/plugins/pbr/skills/quick/SKILL.md +434 -100
  574. package/plugins/pbr/skills/release/SKILL.md +206 -0
  575. package/plugins/pbr/skills/resume/SKILL.md +169 -46
  576. package/plugins/pbr/skills/review/SKILL.md +217 -164
  577. package/plugins/pbr/skills/review/templates/verifier-prompt.md.tmpl +7 -0
  578. package/plugins/pbr/skills/scan/SKILL.md +151 -106
  579. package/plugins/pbr/skills/scan/templates/mapper-prompt.md.tmpl +5 -56
  580. package/plugins/pbr/skills/seed/SKILL.md +87 -0
  581. package/plugins/pbr/skills/session-report/SKILL.md +130 -0
  582. package/plugins/pbr/skills/setup/SKILL.md +149 -202
  583. package/plugins/pbr/skills/shared/agent-context-enrichment.md +21 -0
  584. package/plugins/pbr/skills/shared/agent-type-resolution.md +32 -0
  585. package/plugins/pbr/skills/shared/commit-planning-docs.md +8 -0
  586. package/plugins/pbr/skills/shared/context-budget.md +66 -1
  587. package/plugins/pbr/skills/shared/context-loader-task.md +18 -11
  588. package/plugins/pbr/skills/shared/digest-select.md +2 -2
  589. package/plugins/pbr/skills/shared/domain-probes.md +1 -1
  590. package/plugins/pbr/skills/shared/error-reporting.md +38 -60
  591. package/plugins/pbr/skills/shared/gate-prompts.md +4 -2
  592. package/plugins/pbr/skills/shared/memory-capture.md +48 -0
  593. package/plugins/pbr/skills/shared/phase-argument-parsing.md +4 -4
  594. package/plugins/pbr/skills/shared/revision-loop.md +24 -6
  595. package/plugins/pbr/skills/shared/state-update.md +47 -54
  596. package/plugins/pbr/skills/shared/universal-anti-patterns.md +27 -4
  597. package/plugins/pbr/skills/ship/SKILL.md +155 -0
  598. package/plugins/pbr/skills/stats/SKILL.md +80 -0
  599. package/plugins/pbr/skills/status/SKILL.md +184 -119
  600. package/plugins/pbr/skills/test/SKILL.md +254 -0
  601. package/plugins/pbr/skills/thread/SKILL.md +73 -0
  602. package/plugins/pbr/skills/todo/SKILL.md +28 -72
  603. package/plugins/pbr/skills/ui-phase/SKILL.md +180 -0
  604. package/plugins/pbr/skills/ui-review/SKILL.md +206 -0
  605. package/plugins/pbr/skills/undo/SKILL.md +221 -0
  606. package/plugins/pbr/skills/validate-phase/SKILL.md +362 -0
  607. package/plugins/pbr/templates/CONTEXT.md.tmpl +45 -20
  608. package/plugins/pbr/templates/DISCOVERY.md.tmpl +29 -0
  609. package/plugins/pbr/templates/DISCUSSION-LOG.md.tmpl +49 -0
  610. package/plugins/pbr/templates/HANDOFF.json.tmpl +30 -0
  611. package/plugins/pbr/templates/INTEGRATION-REPORT.md.tmpl +18 -2
  612. package/plugins/pbr/templates/MILESTONE-AUDIT.md.tmpl +44 -0
  613. package/plugins/pbr/templates/PROJECT.md.tmpl +126 -0
  614. package/plugins/pbr/templates/REQUIREMENTS.md.tmpl +96 -0
  615. package/plugins/pbr/templates/RETROSPECTIVE.md.tmpl +43 -0
  616. package/plugins/pbr/templates/ROADMAP.md.tmpl +108 -14
  617. package/plugins/pbr/templates/SUMMARY-complex.md.tmpl +133 -0
  618. package/plugins/pbr/templates/SUMMARY-minimal.md.tmpl +55 -0
  619. package/plugins/pbr/templates/SUMMARY.md.tmpl +21 -0
  620. package/plugins/pbr/templates/UAT.md.tmpl +94 -0
  621. package/plugins/pbr/templates/UI-SPEC.md.tmpl +144 -0
  622. package/plugins/pbr/templates/VALIDATION.md.tmpl +94 -0
  623. package/plugins/pbr/templates/VERIFICATION-DETAIL.md.tmpl +49 -13
  624. package/plugins/pbr/templates/project-CONTEXT.md.tmpl +59 -0
  625. package/plugins/pbr/templates/research-outputs/ARCHITECTURE.md.tmpl +91 -0
  626. package/plugins/pbr/templates/research-outputs/FEATURES.md.tmpl +64 -0
  627. package/plugins/pbr/templates/research-outputs/PITFALLS.md.tmpl +50 -0
  628. package/plugins/pbr/templates/research-outputs/STACK.md.tmpl +63 -0
  629. package/plugins/pbr/templates/research-outputs/SUMMARY.md.tmpl +98 -0
  630. package/scripts/build-hooks.js +61 -0
  631. package/scripts/check-ci.js +100 -0
  632. package/scripts/clean-changelog.js +364 -0
  633. package/scripts/generate-derivatives.js +581 -0
  634. package/scripts/posttest.js +93 -0
  635. package/scripts/release.js +262 -0
  636. package/scripts/run-tests.cjs +29 -0
  637. package/scripts/test-wrapper.js +43 -0
  638. package/dashboard/bin/cli.js +0 -25
  639. package/dashboard/public/css/layout.css +0 -636
  640. package/dashboard/public/css/status-colors.css +0 -98
  641. package/dashboard/public/css/tokens.css +0 -59
  642. package/dashboard/public/js/htmx-title.js +0 -5
  643. package/dashboard/public/js/sidebar-toggle.js +0 -34
  644. package/dashboard/public/js/sse-client.js +0 -100
  645. package/dashboard/public/js/theme-toggle.js +0 -46
  646. package/dashboard/src/app.js +0 -91
  647. package/dashboard/src/middleware/current-phase.js +0 -24
  648. package/dashboard/src/middleware/errorHandler.js +0 -52
  649. package/dashboard/src/middleware/notFoundHandler.js +0 -9
  650. package/dashboard/src/repositories/planning.repository.js +0 -130
  651. package/dashboard/src/routes/events.routes.js +0 -45
  652. package/dashboard/src/routes/index.routes.js +0 -35
  653. package/dashboard/src/routes/pages.routes.js +0 -426
  654. package/dashboard/src/server.js +0 -42
  655. package/dashboard/src/services/analytics.service.js +0 -141
  656. package/dashboard/src/services/dashboard.service.js +0 -309
  657. package/dashboard/src/services/milestone.service.js +0 -222
  658. package/dashboard/src/services/notes.service.js +0 -50
  659. package/dashboard/src/services/phase.service.js +0 -232
  660. package/dashboard/src/services/project.service.js +0 -57
  661. package/dashboard/src/services/roadmap.service.js +0 -244
  662. package/dashboard/src/services/sse.service.js +0 -58
  663. package/dashboard/src/services/todo.service.js +0 -263
  664. package/dashboard/src/services/watcher.service.js +0 -48
  665. package/dashboard/src/utils/cache.js +0 -55
  666. package/dashboard/src/views/analytics.ejs +0 -5
  667. package/dashboard/src/views/coming-soon.ejs +0 -11
  668. package/dashboard/src/views/dependencies.ejs +0 -5
  669. package/dashboard/src/views/error.ejs +0 -20
  670. package/dashboard/src/views/index.ejs +0 -5
  671. package/dashboard/src/views/milestone-detail.ejs +0 -5
  672. package/dashboard/src/views/milestones.ejs +0 -5
  673. package/dashboard/src/views/notes.ejs +0 -5
  674. package/dashboard/src/views/partials/analytics-content.ejs +0 -90
  675. package/dashboard/src/views/partials/breadcrumbs.ejs +0 -14
  676. package/dashboard/src/views/partials/dashboard-content.ejs +0 -84
  677. package/dashboard/src/views/partials/dependencies-content.ejs +0 -48
  678. package/dashboard/src/views/partials/empty-state.ejs +0 -7
  679. package/dashboard/src/views/partials/footer.ejs +0 -3
  680. package/dashboard/src/views/partials/head.ejs +0 -30
  681. package/dashboard/src/views/partials/header.ejs +0 -21
  682. package/dashboard/src/views/partials/layout-bottom.ejs +0 -6
  683. package/dashboard/src/views/partials/layout-top.ejs +0 -15
  684. package/dashboard/src/views/partials/milestone-detail-content.ejs +0 -20
  685. package/dashboard/src/views/partials/milestones-content.ejs +0 -88
  686. package/dashboard/src/views/partials/notes-content.ejs +0 -23
  687. package/dashboard/src/views/partials/phase-content.ejs +0 -193
  688. package/dashboard/src/views/partials/phase-doc-content.ejs +0 -38
  689. package/dashboard/src/views/partials/phases-content.ejs +0 -124
  690. package/dashboard/src/views/partials/roadmap-content.ejs +0 -155
  691. package/dashboard/src/views/partials/sidebar.ejs +0 -99
  692. package/dashboard/src/views/partials/todo-create-content.ejs +0 -54
  693. package/dashboard/src/views/partials/todo-detail-content.ejs +0 -42
  694. package/dashboard/src/views/partials/todos-content.ejs +0 -94
  695. package/dashboard/src/views/phase-detail.ejs +0 -5
  696. package/dashboard/src/views/phase-doc.ejs +0 -5
  697. package/dashboard/src/views/phases.ejs +0 -5
  698. package/dashboard/src/views/roadmap.ejs +0 -5
  699. package/dashboard/src/views/todo-create.ejs +0 -5
  700. package/dashboard/src/views/todo-detail.ejs +0 -5
  701. package/dashboard/src/views/todos.ejs +0 -5
  702. package/plugins/copilot-pbr/CHANGELOG.md +0 -19
  703. package/plugins/copilot-pbr/README.md +0 -139
  704. package/plugins/copilot-pbr/agents/audit.agent.md +0 -113
  705. package/plugins/copilot-pbr/agents/codebase-mapper.agent.md +0 -151
  706. package/plugins/copilot-pbr/agents/debugger.agent.md +0 -172
  707. package/plugins/copilot-pbr/agents/executor.agent.md +0 -267
  708. package/plugins/copilot-pbr/agents/general.agent.md +0 -88
  709. package/plugins/copilot-pbr/agents/integration-checker.agent.md +0 -119
  710. package/plugins/copilot-pbr/agents/plan-checker.agent.md +0 -199
  711. package/plugins/copilot-pbr/agents/planner.agent.md +0 -238
  712. package/plugins/copilot-pbr/agents/researcher.agent.md +0 -186
  713. package/plugins/copilot-pbr/agents/synthesizer.agent.md +0 -126
  714. package/plugins/copilot-pbr/agents/verifier.agent.md +0 -228
  715. package/plugins/copilot-pbr/hooks/hooks.json +0 -156
  716. package/plugins/copilot-pbr/plugin.json +0 -30
  717. package/plugins/copilot-pbr/references/agent-anti-patterns.md +0 -25
  718. package/plugins/copilot-pbr/references/agent-contracts.md +0 -297
  719. package/plugins/copilot-pbr/references/agent-interactions.md +0 -135
  720. package/plugins/copilot-pbr/references/agent-teams.md +0 -55
  721. package/plugins/copilot-pbr/references/checkpoints.md +0 -158
  722. package/plugins/copilot-pbr/references/common-bug-patterns.md +0 -14
  723. package/plugins/copilot-pbr/references/config-reference.md +0 -442
  724. package/plugins/copilot-pbr/references/continuation-format.md +0 -213
  725. package/plugins/copilot-pbr/references/deviation-rules.md +0 -113
  726. package/plugins/copilot-pbr/references/git-integration.md +0 -227
  727. package/plugins/copilot-pbr/references/integration-patterns.md +0 -118
  728. package/plugins/copilot-pbr/references/model-profiles.md +0 -100
  729. package/plugins/copilot-pbr/references/model-selection.md +0 -32
  730. package/plugins/copilot-pbr/references/pbr-rules.md +0 -195
  731. package/plugins/copilot-pbr/references/pbr-tools-cli.md +0 -285
  732. package/plugins/copilot-pbr/references/plan-authoring.md +0 -182
  733. package/plugins/copilot-pbr/references/plan-format.md +0 -288
  734. package/plugins/copilot-pbr/references/planning-config.md +0 -214
  735. package/plugins/copilot-pbr/references/questioning.md +0 -215
  736. package/plugins/copilot-pbr/references/reading-verification.md +0 -128
  737. package/plugins/copilot-pbr/references/stub-patterns.md +0 -161
  738. package/plugins/copilot-pbr/references/subagent-coordination.md +0 -120
  739. package/plugins/copilot-pbr/references/ui-formatting.md +0 -444
  740. package/plugins/copilot-pbr/references/verification-patterns.md +0 -199
  741. package/plugins/copilot-pbr/references/wave-execution.md +0 -96
  742. package/plugins/copilot-pbr/rules/pbr-workflow.mdc +0 -48
  743. package/plugins/copilot-pbr/setup.ps1 +0 -93
  744. package/plugins/copilot-pbr/setup.sh +0 -93
  745. package/plugins/copilot-pbr/skills/audit/SKILL.md +0 -330
  746. package/plugins/copilot-pbr/skills/begin/SKILL.md +0 -589
  747. package/plugins/copilot-pbr/skills/begin/templates/PROJECT.md.tmpl +0 -34
  748. package/plugins/copilot-pbr/skills/begin/templates/REQUIREMENTS.md.tmpl +0 -19
  749. package/plugins/copilot-pbr/skills/begin/templates/STATE.md.tmpl +0 -50
  750. package/plugins/copilot-pbr/skills/begin/templates/config.json.tmpl +0 -64
  751. package/plugins/copilot-pbr/skills/begin/templates/researcher-prompt.md.tmpl +0 -20
  752. package/plugins/copilot-pbr/skills/begin/templates/roadmap-prompt.md.tmpl +0 -31
  753. package/plugins/copilot-pbr/skills/begin/templates/synthesis-prompt.md.tmpl +0 -17
  754. package/plugins/copilot-pbr/skills/build/SKILL.md +0 -960
  755. package/plugins/copilot-pbr/skills/config/SKILL.md +0 -250
  756. package/plugins/copilot-pbr/skills/continue/SKILL.md +0 -159
  757. package/plugins/copilot-pbr/skills/dashboard/SKILL.md +0 -43
  758. package/plugins/copilot-pbr/skills/debug/SKILL.md +0 -508
  759. package/plugins/copilot-pbr/skills/debug/templates/continuation-prompt.md.tmpl +0 -17
  760. package/plugins/copilot-pbr/skills/debug/templates/initial-investigation-prompt.md.tmpl +0 -28
  761. package/plugins/copilot-pbr/skills/discuss/SKILL.md +0 -353
  762. package/plugins/copilot-pbr/skills/discuss/templates/CONTEXT.md.tmpl +0 -62
  763. package/plugins/copilot-pbr/skills/discuss/templates/decision-categories.md +0 -10
  764. package/plugins/copilot-pbr/skills/do/SKILL.md +0 -66
  765. package/plugins/copilot-pbr/skills/explore/SKILL.md +0 -373
  766. package/plugins/copilot-pbr/skills/health/SKILL.md +0 -274
  767. package/plugins/copilot-pbr/skills/health/templates/check-pattern.md.tmpl +0 -31
  768. package/plugins/copilot-pbr/skills/health/templates/output-format.md.tmpl +0 -64
  769. package/plugins/copilot-pbr/skills/help/SKILL.md +0 -170
  770. package/plugins/copilot-pbr/skills/import/SKILL.md +0 -502
  771. package/plugins/copilot-pbr/skills/milestone/SKILL.md +0 -745
  772. package/plugins/copilot-pbr/skills/milestone/templates/audit-report.md.tmpl +0 -49
  773. package/plugins/copilot-pbr/skills/milestone/templates/stats-file.md.tmpl +0 -31
  774. package/plugins/copilot-pbr/skills/note/SKILL.md +0 -213
  775. package/plugins/copilot-pbr/skills/pause/SKILL.md +0 -247
  776. package/plugins/copilot-pbr/skills/pause/templates/continue-here.md.tmpl +0 -72
  777. package/plugins/copilot-pbr/skills/plan/SKILL.md +0 -662
  778. package/plugins/copilot-pbr/skills/plan/templates/checker-prompt.md.tmpl +0 -22
  779. package/plugins/copilot-pbr/skills/plan/templates/gap-closure-prompt.md.tmpl +0 -33
  780. package/plugins/copilot-pbr/skills/plan/templates/planner-prompt.md.tmpl +0 -39
  781. package/plugins/copilot-pbr/skills/plan/templates/researcher-prompt.md.tmpl +0 -20
  782. package/plugins/copilot-pbr/skills/plan/templates/revision-prompt.md.tmpl +0 -24
  783. package/plugins/copilot-pbr/skills/quick/SKILL.md +0 -376
  784. package/plugins/copilot-pbr/skills/resume/SKILL.md +0 -399
  785. package/plugins/copilot-pbr/skills/review/SKILL.md +0 -653
  786. package/plugins/copilot-pbr/skills/review/templates/debugger-prompt.md.tmpl +0 -61
  787. package/plugins/copilot-pbr/skills/review/templates/gap-planner-prompt.md.tmpl +0 -41
  788. package/plugins/copilot-pbr/skills/review/templates/verifier-prompt.md.tmpl +0 -116
  789. package/plugins/copilot-pbr/skills/scan/SKILL.md +0 -299
  790. package/plugins/copilot-pbr/skills/scan/templates/mapper-prompt.md.tmpl +0 -202
  791. package/plugins/copilot-pbr/skills/setup/SKILL.md +0 -296
  792. package/plugins/copilot-pbr/skills/shared/commit-planning-docs.md +0 -36
  793. package/plugins/copilot-pbr/skills/shared/config-loading.md +0 -103
  794. package/plugins/copilot-pbr/skills/shared/context-budget.md +0 -41
  795. package/plugins/copilot-pbr/skills/shared/context-loader-task.md +0 -87
  796. package/plugins/copilot-pbr/skills/shared/digest-select.md +0 -80
  797. package/plugins/copilot-pbr/skills/shared/domain-probes.md +0 -126
  798. package/plugins/copilot-pbr/skills/shared/error-reporting.md +0 -81
  799. package/plugins/copilot-pbr/skills/shared/gate-prompts.md +0 -389
  800. package/plugins/copilot-pbr/skills/shared/phase-argument-parsing.md +0 -46
  801. package/plugins/copilot-pbr/skills/shared/progress-display.md +0 -53
  802. package/plugins/copilot-pbr/skills/shared/revision-loop.md +0 -82
  803. package/plugins/copilot-pbr/skills/shared/state-loading.md +0 -63
  804. package/plugins/copilot-pbr/skills/shared/state-update.md +0 -162
  805. package/plugins/copilot-pbr/skills/shared/universal-anti-patterns.md +0 -38
  806. package/plugins/copilot-pbr/skills/status/SKILL.md +0 -362
  807. package/plugins/copilot-pbr/skills/statusline/SKILL.md +0 -149
  808. package/plugins/copilot-pbr/skills/todo/SKILL.md +0 -279
  809. package/plugins/copilot-pbr/templates/CONTEXT.md.tmpl +0 -53
  810. package/plugins/copilot-pbr/templates/INTEGRATION-REPORT.md.tmpl +0 -152
  811. package/plugins/copilot-pbr/templates/RESEARCH-SUMMARY.md.tmpl +0 -98
  812. package/plugins/copilot-pbr/templates/ROADMAP.md.tmpl +0 -41
  813. package/plugins/copilot-pbr/templates/SUMMARY.md.tmpl +0 -82
  814. package/plugins/copilot-pbr/templates/VERIFICATION-DETAIL.md.tmpl +0 -117
  815. package/plugins/copilot-pbr/templates/codebase/ARCHITECTURE.md.tmpl +0 -98
  816. package/plugins/copilot-pbr/templates/codebase/CONCERNS.md.tmpl +0 -93
  817. package/plugins/copilot-pbr/templates/codebase/CONVENTIONS.md.tmpl +0 -104
  818. package/plugins/copilot-pbr/templates/codebase/INTEGRATIONS.md.tmpl +0 -78
  819. package/plugins/copilot-pbr/templates/codebase/STACK.md.tmpl +0 -78
  820. package/plugins/copilot-pbr/templates/codebase/STRUCTURE.md.tmpl +0 -80
  821. package/plugins/copilot-pbr/templates/codebase/TESTING.md.tmpl +0 -107
  822. package/plugins/copilot-pbr/templates/continue-here.md.tmpl +0 -74
  823. package/plugins/copilot-pbr/templates/prompt-partials/phase-project-context.md.tmpl +0 -38
  824. package/plugins/copilot-pbr/templates/research/ARCHITECTURE.md.tmpl +0 -124
  825. package/plugins/copilot-pbr/templates/research/STACK.md.tmpl +0 -71
  826. package/plugins/copilot-pbr/templates/research/SUMMARY.md.tmpl +0 -112
  827. package/plugins/copilot-pbr/templates/research-outputs/phase-research.md.tmpl +0 -81
  828. package/plugins/copilot-pbr/templates/research-outputs/project-research.md.tmpl +0 -99
  829. package/plugins/copilot-pbr/templates/research-outputs/synthesis.md.tmpl +0 -36
  830. package/plugins/cursor-pbr/.cursor-plugin/plugin.json +0 -32
  831. package/plugins/cursor-pbr/CHANGELOG.md +0 -15
  832. package/plugins/cursor-pbr/README.md +0 -123
  833. package/plugins/cursor-pbr/agents/audit.md +0 -178
  834. package/plugins/cursor-pbr/agents/codebase-mapper.md +0 -150
  835. package/plugins/cursor-pbr/agents/debugger.md +0 -171
  836. package/plugins/cursor-pbr/agents/executor.md +0 -266
  837. package/plugins/cursor-pbr/agents/general.md +0 -87
  838. package/plugins/cursor-pbr/agents/integration-checker.md +0 -118
  839. package/plugins/cursor-pbr/agents/plan-checker.md +0 -198
  840. package/plugins/cursor-pbr/agents/planner.md +0 -237
  841. package/plugins/cursor-pbr/agents/researcher.md +0 -185
  842. package/plugins/cursor-pbr/agents/synthesizer.md +0 -125
  843. package/plugins/cursor-pbr/agents/verifier.md +0 -227
  844. package/plugins/cursor-pbr/assets/.gitkeep +0 -0
  845. package/plugins/cursor-pbr/assets/logo.svg +0 -21
  846. package/plugins/cursor-pbr/hooks/hooks.json +0 -213
  847. package/plugins/cursor-pbr/references/agent-anti-patterns.md +0 -25
  848. package/plugins/cursor-pbr/references/agent-contracts.md +0 -297
  849. package/plugins/cursor-pbr/references/agent-interactions.md +0 -135
  850. package/plugins/cursor-pbr/references/agent-teams.md +0 -55
  851. package/plugins/cursor-pbr/references/checkpoints.md +0 -158
  852. package/plugins/cursor-pbr/references/common-bug-patterns.md +0 -14
  853. package/plugins/cursor-pbr/references/config-reference.md +0 -442
  854. package/plugins/cursor-pbr/references/continuation-format.md +0 -213
  855. package/plugins/cursor-pbr/references/deviation-rules.md +0 -113
  856. package/plugins/cursor-pbr/references/git-integration.md +0 -227
  857. package/plugins/cursor-pbr/references/integration-patterns.md +0 -118
  858. package/plugins/cursor-pbr/references/model-profiles.md +0 -100
  859. package/plugins/cursor-pbr/references/model-selection.md +0 -32
  860. package/plugins/cursor-pbr/references/pbr-rules.md +0 -195
  861. package/plugins/cursor-pbr/references/pbr-tools-cli.md +0 -285
  862. package/plugins/cursor-pbr/references/plan-authoring.md +0 -182
  863. package/plugins/cursor-pbr/references/plan-format.md +0 -288
  864. package/plugins/cursor-pbr/references/planning-config.md +0 -214
  865. package/plugins/cursor-pbr/references/questioning.md +0 -215
  866. package/plugins/cursor-pbr/references/reading-verification.md +0 -128
  867. package/plugins/cursor-pbr/references/stub-patterns.md +0 -161
  868. package/plugins/cursor-pbr/references/subagent-coordination.md +0 -120
  869. package/plugins/cursor-pbr/references/ui-formatting.md +0 -444
  870. package/plugins/cursor-pbr/references/verification-patterns.md +0 -199
  871. package/plugins/cursor-pbr/references/wave-execution.md +0 -96
  872. package/plugins/cursor-pbr/rules/pbr-workflow.mdc +0 -48
  873. package/plugins/cursor-pbr/setup.ps1 +0 -78
  874. package/plugins/cursor-pbr/setup.sh +0 -83
  875. package/plugins/cursor-pbr/skills/audit/SKILL.md +0 -331
  876. package/plugins/cursor-pbr/skills/begin/SKILL.md +0 -589
  877. package/plugins/cursor-pbr/skills/begin/templates/PROJECT.md.tmpl +0 -34
  878. package/plugins/cursor-pbr/skills/begin/templates/REQUIREMENTS.md.tmpl +0 -19
  879. package/plugins/cursor-pbr/skills/begin/templates/STATE.md.tmpl +0 -50
  880. package/plugins/cursor-pbr/skills/begin/templates/config.json.tmpl +0 -64
  881. package/plugins/cursor-pbr/skills/begin/templates/researcher-prompt.md.tmpl +0 -20
  882. package/plugins/cursor-pbr/skills/begin/templates/roadmap-prompt.md.tmpl +0 -31
  883. package/plugins/cursor-pbr/skills/begin/templates/synthesis-prompt.md.tmpl +0 -17
  884. package/plugins/cursor-pbr/skills/build/SKILL.md +0 -961
  885. package/plugins/cursor-pbr/skills/config/SKILL.md +0 -252
  886. package/plugins/cursor-pbr/skills/continue/SKILL.md +0 -159
  887. package/plugins/cursor-pbr/skills/dashboard/SKILL.md +0 -44
  888. package/plugins/cursor-pbr/skills/debug/SKILL.md +0 -512
  889. package/plugins/cursor-pbr/skills/debug/templates/continuation-prompt.md.tmpl +0 -17
  890. package/plugins/cursor-pbr/skills/debug/templates/initial-investigation-prompt.md.tmpl +0 -28
  891. package/plugins/cursor-pbr/skills/discuss/SKILL.md +0 -354
  892. package/plugins/cursor-pbr/skills/discuss/templates/CONTEXT.md.tmpl +0 -62
  893. package/plugins/cursor-pbr/skills/discuss/templates/decision-categories.md +0 -10
  894. package/plugins/cursor-pbr/skills/do/SKILL.md +0 -67
  895. package/plugins/cursor-pbr/skills/explore/SKILL.md +0 -376
  896. package/plugins/cursor-pbr/skills/health/SKILL.md +0 -274
  897. package/plugins/cursor-pbr/skills/health/templates/check-pattern.md.tmpl +0 -31
  898. package/plugins/cursor-pbr/skills/health/templates/output-format.md.tmpl +0 -64
  899. package/plugins/cursor-pbr/skills/help/SKILL.md +0 -170
  900. package/plugins/cursor-pbr/skills/import/SKILL.md +0 -505
  901. package/plugins/cursor-pbr/skills/milestone/SKILL.md +0 -746
  902. package/plugins/cursor-pbr/skills/milestone/templates/audit-report.md.tmpl +0 -49
  903. package/plugins/cursor-pbr/skills/milestone/templates/stats-file.md.tmpl +0 -31
  904. package/plugins/cursor-pbr/skills/note/SKILL.md +0 -214
  905. package/plugins/cursor-pbr/skills/pause/SKILL.md +0 -248
  906. package/plugins/cursor-pbr/skills/pause/templates/continue-here.md.tmpl +0 -72
  907. package/plugins/cursor-pbr/skills/plan/SKILL.md +0 -663
  908. package/plugins/cursor-pbr/skills/plan/templates/checker-prompt.md.tmpl +0 -22
  909. package/plugins/cursor-pbr/skills/plan/templates/gap-closure-prompt.md.tmpl +0 -33
  910. package/plugins/cursor-pbr/skills/plan/templates/planner-prompt.md.tmpl +0 -39
  911. package/plugins/cursor-pbr/skills/plan/templates/researcher-prompt.md.tmpl +0 -20
  912. package/plugins/cursor-pbr/skills/plan/templates/revision-prompt.md.tmpl +0 -24
  913. package/plugins/cursor-pbr/skills/quick/SKILL.md +0 -376
  914. package/plugins/cursor-pbr/skills/resume/SKILL.md +0 -399
  915. package/plugins/cursor-pbr/skills/review/SKILL.md +0 -654
  916. package/plugins/cursor-pbr/skills/review/templates/debugger-prompt.md.tmpl +0 -61
  917. package/plugins/cursor-pbr/skills/review/templates/gap-planner-prompt.md.tmpl +0 -41
  918. package/plugins/cursor-pbr/skills/review/templates/verifier-prompt.md.tmpl +0 -116
  919. package/plugins/cursor-pbr/skills/scan/SKILL.md +0 -300
  920. package/plugins/cursor-pbr/skills/scan/templates/mapper-prompt.md.tmpl +0 -202
  921. package/plugins/cursor-pbr/skills/setup/SKILL.md +0 -296
  922. package/plugins/cursor-pbr/skills/shared/commit-planning-docs.md +0 -36
  923. package/plugins/cursor-pbr/skills/shared/config-loading.md +0 -103
  924. package/plugins/cursor-pbr/skills/shared/context-budget.md +0 -41
  925. package/plugins/cursor-pbr/skills/shared/context-loader-task.md +0 -87
  926. package/plugins/cursor-pbr/skills/shared/digest-select.md +0 -80
  927. package/plugins/cursor-pbr/skills/shared/domain-probes.md +0 -126
  928. package/plugins/cursor-pbr/skills/shared/error-reporting.md +0 -81
  929. package/plugins/cursor-pbr/skills/shared/gate-prompts.md +0 -389
  930. package/plugins/cursor-pbr/skills/shared/phase-argument-parsing.md +0 -46
  931. package/plugins/cursor-pbr/skills/shared/progress-display.md +0 -53
  932. package/plugins/cursor-pbr/skills/shared/revision-loop.md +0 -82
  933. package/plugins/cursor-pbr/skills/shared/state-loading.md +0 -63
  934. package/plugins/cursor-pbr/skills/shared/state-update.md +0 -162
  935. package/plugins/cursor-pbr/skills/shared/universal-anti-patterns.md +0 -38
  936. package/plugins/cursor-pbr/skills/status/SKILL.md +0 -362
  937. package/plugins/cursor-pbr/skills/statusline/SKILL.md +0 -150
  938. package/plugins/cursor-pbr/skills/todo/SKILL.md +0 -280
  939. package/plugins/cursor-pbr/templates/CONTEXT.md.tmpl +0 -53
  940. package/plugins/cursor-pbr/templates/INTEGRATION-REPORT.md.tmpl +0 -152
  941. package/plugins/cursor-pbr/templates/RESEARCH-SUMMARY.md.tmpl +0 -98
  942. package/plugins/cursor-pbr/templates/ROADMAP.md.tmpl +0 -41
  943. package/plugins/cursor-pbr/templates/SUMMARY.md.tmpl +0 -82
  944. package/plugins/cursor-pbr/templates/VERIFICATION-DETAIL.md.tmpl +0 -117
  945. package/plugins/cursor-pbr/templates/codebase/ARCHITECTURE.md.tmpl +0 -98
  946. package/plugins/cursor-pbr/templates/codebase/CONCERNS.md.tmpl +0 -93
  947. package/plugins/cursor-pbr/templates/codebase/CONVENTIONS.md.tmpl +0 -104
  948. package/plugins/cursor-pbr/templates/codebase/INTEGRATIONS.md.tmpl +0 -78
  949. package/plugins/cursor-pbr/templates/codebase/STACK.md.tmpl +0 -78
  950. package/plugins/cursor-pbr/templates/codebase/STRUCTURE.md.tmpl +0 -80
  951. package/plugins/cursor-pbr/templates/codebase/TESTING.md.tmpl +0 -107
  952. package/plugins/cursor-pbr/templates/continue-here.md.tmpl +0 -74
  953. package/plugins/cursor-pbr/templates/prompt-partials/phase-project-context.md.tmpl +0 -38
  954. package/plugins/cursor-pbr/templates/research/ARCHITECTURE.md.tmpl +0 -124
  955. package/plugins/cursor-pbr/templates/research/STACK.md.tmpl +0 -71
  956. package/plugins/cursor-pbr/templates/research/SUMMARY.md.tmpl +0 -112
  957. package/plugins/cursor-pbr/templates/research-outputs/phase-research.md.tmpl +0 -81
  958. package/plugins/cursor-pbr/templates/research-outputs/project-research.md.tmpl +0 -99
  959. package/plugins/cursor-pbr/templates/research-outputs/synthesis.md.tmpl +0 -36
  960. package/plugins/pbr/references/agent-interactions.md +0 -134
  961. package/plugins/pbr/references/pbr-rules.md +0 -194
  962. package/plugins/pbr/references/pbr-tools-cli.md +0 -285
  963. package/plugins/pbr/references/planning-config.md +0 -213
  964. package/plugins/pbr/references/subagent-coordination.md +0 -119
  965. package/plugins/pbr/references/ui-formatting.md +0 -444
  966. package/plugins/pbr/scripts/validate-plugin-structure.js +0 -183
  967. package/plugins/pbr/skills/milestone/templates/audit-report.md.tmpl +0 -48
  968. package/plugins/pbr/skills/shared/progress-display.md +0 -53
  969. package/plugins/pbr/skills/shared/state-loading.md +0 -62
  970. package/plugins/pbr/templates/RESEARCH-SUMMARY.md.tmpl +0 -97
  971. package/plugins/pbr/templates/research/ARCHITECTURE.md.tmpl +0 -124
  972. package/plugins/pbr/templates/research/STACK.md.tmpl +0 -71
  973. package/plugins/pbr/templates/research/SUMMARY.md.tmpl +0 -112
  974. package/plugins/pbr/templates/research-outputs/phase-research.md.tmpl +0 -81
  975. package/plugins/pbr/templates/research-outputs/project-research.md.tmpl +0 -99
  976. package/plugins/pbr/templates/research-outputs/synthesis.md.tmpl +0 -36
  977. /package/plugins/pbr/references/{agent-anti-patterns.md → archive/agent-anti-patterns.md} +0 -0
@@ -6,13 +6,16 @@ allowed-tools: Read, Write, Bash, Glob, Grep, WebFetch, WebSearch, Task, AskUser
6
6
 
7
7
  **STOP — DO NOT READ THIS FILE. You are already reading it. This prompt was injected into your context by Claude Code's plugin system. Using the Read tool on this SKILL.md file wastes ~7,600 tokens. Begin executing Step 1 immediately.**
8
8
 
9
- # /pbr:begin — Project Initialization
9
+ # /pbr:new-project — Project Initialization
10
10
 
11
- You are the orchestrator for `/pbr:begin`. This skill initializes a new Plan-Build-Run project through deep questioning, optional research, requirements scoping, and roadmap generation. Your job is to stay lean — delegate heavy work to Task() subagents and keep the user's main context window clean.
11
+ **References:** `@references/questioning.md`, `@references/ui-brand.md`
12
+
13
+ You are the orchestrator for `/pbr:new-project`. This skill initializes a new Plan-Build-Run project through deep questioning, optional research, requirements scoping, and roadmap generation. Your job is to stay lean — delegate heavy work to Task() subagents and keep the user's main context window clean.
12
14
 
13
15
  ## Context Budget
14
16
 
15
17
  Reference: `skills/shared/context-budget.md` for the universal orchestrator rules.
18
+ Reference: `skills/shared/agent-type-resolution.md` for agent type fallback when spawning Task() subagents.
16
19
 
17
20
  Additionally for this skill:
18
21
  - **Minimize** reading subagent output — read only summaries, not full research docs
@@ -30,6 +33,22 @@ Additionally for this skill:
30
33
 
31
34
  Then proceed to Step 1.
32
35
 
36
+ ## Multi-Session Sync
37
+
38
+ Before any phase-modifying operations, this skill acquires a claim on the project:
39
+
40
+ ```
41
+ acquireClaim(planningDir, sessionId)
42
+ ```
43
+
44
+ Where `planningDir` is the `.planning/` directory and `sessionId` is the current session identifier. If the claim fails (another session owns it), display: "Another session owns this project. Use `/pbr:progress` to see active claims."
45
+
46
+ On completion or error, release the claim:
47
+
48
+ ```
49
+ releaseClaim(planningDir, sessionId)
50
+ ```
51
+
33
52
  ## Prerequisites
34
53
 
35
54
  - Working directory should be the project root
@@ -45,29 +64,35 @@ Execute these steps in order. Each step specifies whether it runs inline (in you
45
64
 
46
65
  ### Step 1: Detect Brownfield (inline)
47
66
 
48
- > **Cross-platform note**: Use the Glob tool (not Bash `ls` or `find`) for all file and directory discovery. Bash file commands fail on Windows due to path separator issues.
49
-
50
- Check if the current directory has existing code:
67
+ **CRITICAL Run init command FIRST before any Glob calls or manual file checks:**
51
68
 
69
+ ```bash
70
+ node plugins/pbr/scripts/pbr-tools.js init begin
52
71
  ```
53
- 1. Use Glob to check directory contents (e.g., pattern "*" at project root)
54
- 2. Look for indicators of existing code:
55
- - package.json, requirements.txt, CMakeLists.txt, go.mod, Cargo.toml
56
- - src/, lib/, app/ directories
57
- - .git/ directory with commits
58
- 3. Use Glob to check if .planning/ already exists (e.g., pattern ".planning/*")
59
- ```
60
72
 
61
- **If existing code found:**
73
+ Store the JSON result as `blob`. This single call replaces multiple Glob/filesystem checks with a pre-computed payload:
74
+ - `blob.has_planning` — whether .planning/ directory exists
75
+ - `blob.has_existing_code` — whether brownfield indicators were found
76
+ - `blob.brownfield_indicators` — array of detected indicators (package.json, src/, etc.)
77
+ - `blob.has_git` — whether .git directory exists
78
+ - `blob.existing_phases` — count of existing phase directories
79
+ - `blob.state` — existing STATE.md frontmatter (or null if no project)
80
+ - `blob.config` — existing config.json contents (or null)
81
+
82
+ > **Cross-platform note**: The init command handles all filesystem checks cross-platform. No Glob or Bash file discovery needed.
83
+
84
+ **If `blob.has_existing_code` is true:**
85
+ **CRITICAL -- DO NOT SKIP**: Present the following choice to the user via AskUserQuestion before proceeding:
62
86
  Use the **yes-no** pattern from `skills/shared/gate-prompts.md`:
63
- question: "This looks like an existing codebase. Run /pbr:scan to analyze what's here first?"
87
+ question: "This looks like an existing codebase. Run /pbr:map-codebase to analyze what's here first?"
64
88
  options:
65
- - label: "Yes, scan" description: "Run /pbr:scan first to analyze existing code"
66
- - label: "No, begin" description: "Proceed with /pbr:begin on top of existing code"
67
- - If user selects "Yes, scan": suggest `/pbr:scan` and stop
89
+ - label: "Yes, scan" description: "Run /pbr:map-codebase first to analyze existing code"
90
+ - label: "No, begin" description: "Proceed with /pbr:new-project on top of existing code"
91
+ - If user selects "Yes, scan": suggest `/pbr:map-codebase` and stop
68
92
  - If user selects "No, begin": proceed to Step 2
69
93
 
70
- **If `.planning/` already exists:**
94
+ **If `blob.has_planning` is true:**
95
+ **CRITICAL -- DO NOT SKIP**: Present the following choice to the user via AskUserQuestion before proceeding:
71
96
  Use the **yes-no** pattern from `skills/shared/gate-prompts.md`:
72
97
  question: "A .planning/ directory already exists. This will overwrite it. Continue?"
73
98
  options:
@@ -75,7 +100,7 @@ Use the **yes-no** pattern from `skills/shared/gate-prompts.md`:
75
100
  - label: "No" description: "Cancel — keep existing planning"
76
101
  - If user selects "No": **STOP IMMEDIATELY. Do not ask again. Do not proceed to Step 2. End the skill with this message:**
77
102
  ```
78
- Keeping existing .planning/ directory. Use `/pbr:status` to see current project state, or `/pbr:plan` to continue planning.
103
+ Keeping existing .planning/ directory. Use `/pbr:progress` to see current project state, or `/pbr:plan-phase` to continue planning.
79
104
  ```
80
105
  **Do NOT re-prompt the same question or any other question. The skill is finished.**
81
106
  - If user selects "Yes": proceed (existing directory will be overwritten during state initialization)
@@ -119,11 +144,144 @@ Have a natural conversation to understand the user's vision. Do NOT present a fo
119
144
 
120
145
  ---
121
146
 
147
+ ### Step 2.5: Fast-Path Offer (inline)
148
+
149
+ Before asking any workflow preference questions, offer the user a quick-start option:
150
+
151
+ Use AskUserQuestion:
152
+ question: "How do you want to configure this project?"
153
+ header: "Setup mode"
154
+ options:
155
+ - label: "Quick start"
156
+ description: "Use all defaults — model balanced, depth standard, interactive mode, parallel on. Writes config in seconds."
157
+ - label: "Custom setup"
158
+ description: "Walk through model selection, features, and preferences step by step."
159
+
160
+ **If user selects "Quick start":**
161
+ - Tell the user: "Tip: Agents set to `inherit` use your Claude Code session model. For cost savings, run on Sonnet -- orchestration and inherit agents work well at that tier. See `references/model-profiles.md` for details."
162
+ - Write `.planning/config.json` immediately using the default config below (no further questions):
163
+ ```json
164
+ {
165
+ "version": 2,
166
+ "context_strategy": "aggressive",
167
+ "mode": "interactive",
168
+ "depth": "standard",
169
+ "context_window_tokens": 200000,
170
+ "features": {
171
+ "structured_planning": true,
172
+ "goal_verification": true,
173
+ "integration_verification": true,
174
+ "context_isolation": true,
175
+ "atomic_commits": true,
176
+ "session_persistence": true,
177
+ "research_phase": true,
178
+ "plan_checking": true,
179
+ "tdd_mode": false,
180
+ "status_line": true,
181
+ "auto_continue": false,
182
+ "auto_advance": false,
183
+ "team_discussions": false,
184
+ "inline_verify": false
185
+ },
186
+ "models": {
187
+ "researcher": "sonnet",
188
+ "planner": "inherit",
189
+ "executor": "inherit",
190
+ "verifier": "sonnet",
191
+ "integration_checker": "sonnet",
192
+ "debugger": "inherit",
193
+ "mapper": "sonnet",
194
+ "synthesizer": "haiku"
195
+ },
196
+ "parallelization": {
197
+ "enabled": true,
198
+ "plan_level": true,
199
+ "task_level": false,
200
+ "max_concurrent_agents": 3,
201
+ "min_plans_for_parallel": 2,
202
+ "use_teams": false
203
+ },
204
+ "planning": {
205
+ "commit_docs": true,
206
+ "max_tasks_per_plan": 3,
207
+ "search_gitignored": false
208
+ },
209
+ "git": {
210
+ "branching": "none",
211
+ "commit_format": "{type}({phase}-{plan}): {description}",
212
+ "phase_branch_template": "plan-build-run/phase-{phase}-{slug}",
213
+ "milestone_branch_template": "plan-build-run/{milestone}-{slug}",
214
+ "mode": "enabled"
215
+ },
216
+ "gates": {
217
+ "confirm_project": true,
218
+ "confirm_roadmap": true,
219
+ "confirm_plan": true,
220
+ "confirm_execute": false,
221
+ "confirm_transition": true,
222
+ "issues_review": true
223
+ },
224
+ "safety": {
225
+ "always_confirm_destructive": true,
226
+ "always_confirm_external_services": true
227
+ }
228
+ }
229
+ ```
230
+ **CRITICAL — DO NOT SKIP: Write .active-skill NOW.** Write `.planning/.active-skill` with text "begin"
231
+ - Write CLAUDE.md integration block (see Step 3d-claude below) using the project name gathered in Step 2
232
+ - Skip to Step 4 (Research Decision)
233
+ - Tell the user: "Quick start selected. Using all defaults — you can adjust later with `/pbr:settings`."
234
+
235
+ **If user selects "Custom setup":** proceed to Step 3 normally.
236
+
237
+ ---
238
+
122
239
  ### Step 3: Workflow Preferences (inline)
123
240
 
124
241
  After understanding the project, configure the Plan-Build-Run workflow. Use AskUserQuestion for each preference below. Present them sequentially with conversational bridging (e.g., "Great. Next...") to keep the flow natural.
125
242
 
243
+ **3-model. Model Profile:**
244
+ Note: These profiles control agent models. The orchestrator uses your Claude Code session model. For cost optimization, consider running on Sonnet -- agents with `inherit` will follow. See `references/model-profiles.md`.
245
+
246
+ Use AskUserQuestion:
247
+ question: "Which model profile should agents use?"
248
+ header: "Models"
249
+ options:
250
+ - label: "Balanced (Recommended)"
251
+ description: "Sonnet for most agents, Haiku for synthesizer. Good quality/cost tradeoff."
252
+ - label: "Quality"
253
+ description: "Opus for executor and planner, Sonnet for others. Best results, highest cost."
254
+ - label: "Budget"
255
+ description: "Haiku for most agents. Fastest and cheapest, but lower quality."
256
+
257
+ Apply the selected profile to the models block in config.json:
258
+ - **Balanced**: executor=sonnet, researcher=sonnet, planner=sonnet, verifier=sonnet, synthesizer=haiku, context_window_tokens=200000, agent_checkpoint_pct=50, extended_context=false
259
+ - **Quality**: executor=opus, researcher=sonnet, planner=opus, verifier=sonnet, synthesizer=sonnet, context_window_tokens=1000000, agent_checkpoint_pct=65, extended_context=true
260
+ - **Budget**: executor=haiku, researcher=haiku, planner=sonnet, verifier=haiku, synthesizer=haiku, context_window_tokens=200000, agent_checkpoint_pct=50, extended_context=false
261
+
262
+ **3-features. Workflow Features:**
263
+ Use AskUserQuestion:
264
+ question: "Any extra workflow features?"
265
+ header: "Features"
266
+ multiSelect: true
267
+ options:
268
+ - label: "Auto-continue"
269
+ description: "Automatically chain commands (build → review → next phase) without prompting"
270
+ - label: "TDD mode"
271
+ description: "Write tests before implementation in executor agents"
272
+ - label: "Strict gates"
273
+ description: "Require verification AND review to pass before advancing phases"
274
+ - label: "Git branching"
275
+ description: "Create a branch per phase for cleaner PR history"
276
+
277
+ Apply selections:
278
+ - **Auto-continue**: Set `features.auto_continue: true`
279
+ - **TDD mode**: Set `features.tdd_mode: true`
280
+ - **Strict gates**: Set `gates.verification: true`, `gates.review: true`, `gates.plan_approval: true`
281
+ - **Git branching**: Set `git.branching: "phase"`
282
+
126
283
  **3a. Mode:**
284
+ **CRITICAL -- DO NOT SKIP**: Present the following choice to the user via AskUserQuestion before proceeding:
127
285
  Use the **toggle-confirm** pattern from `skills/shared/gate-prompts.md`:
128
286
  question: "How do you want to work?"
129
287
  header: "Mode"
@@ -134,6 +292,7 @@ Use the **toggle-confirm** pattern from `skills/shared/gate-prompts.md`:
134
292
  - `autonomous` — auto-proceed, only stop for critical decisions
135
293
 
136
294
  **3b. Depth:**
295
+ **CRITICAL -- DO NOT SKIP**: Present the following choice to the user via AskUserQuestion before proceeding:
137
296
  Use the **depth-select** pattern from `skills/shared/gate-prompts.md`:
138
297
  question: "How thorough should planning be?"
139
298
  - `quick` — 3-5 phases, skip research, ~50% cheaper
@@ -141,6 +300,7 @@ Use the **depth-select** pattern from `skills/shared/gate-prompts.md`:
141
300
  - `comprehensive` — 8-12 phases, full deep research, ~2x cost
142
301
 
143
302
  **3c. Parallelization:**
303
+ **CRITICAL -- DO NOT SKIP**: Present the following choice to the user via AskUserQuestion before proceeding:
144
304
  Use the **toggle-confirm** pattern from `skills/shared/gate-prompts.md`:
145
305
  question: "Run multiple agents in parallel when plans are independent?"
146
306
  header: "Parallel"
@@ -151,6 +311,7 @@ Use the **toggle-confirm** pattern from `skills/shared/gate-prompts.md`:
151
311
  - `disabled` — sequential execution
152
312
 
153
313
  **3d. Git Branching:**
314
+ **CRITICAL -- DO NOT SKIP**: Present the following choice to the user via AskUserQuestion before proceeding:
154
315
  Use the **git-strategy-select** pattern from `skills/shared/gate-prompts.md`:
155
316
  question: "Git branching strategy?"
156
317
  - `none` (default) — commit to current branch
@@ -158,6 +319,7 @@ Use the **git-strategy-select** pattern from `skills/shared/gate-prompts.md`:
158
319
  - `milestone` — create branch per milestone
159
320
 
160
321
  **3e. Commit Planning Docs:**
322
+ **CRITICAL -- DO NOT SKIP**: Present the following choice to the user via AskUserQuestion before proceeding:
161
323
  Use the **yes-no** pattern from `skills/shared/gate-prompts.md`:
162
324
  question: "Should planning documents (.planning/ directory) be committed to git?"
163
325
  options:
@@ -166,18 +328,69 @@ Use the **yes-no** pattern from `skills/shared/gate-prompts.md`:
166
328
  - `yes` (default) — commit planning docs
167
329
  - `no` — add .planning/ to .gitignore
168
330
 
331
+ **3d-claude. CLAUDE.md Integration:**
332
+
333
+ Check if a `CLAUDE.md` file exists in the project root.
334
+
335
+ **If it exists**: Read it. If it does NOT already contain a "Plan-Build-Run" section, append the block below.
336
+ **If it does NOT exist**: Create `CLAUDE.md` with the block below.
337
+
338
+ Append/create:
339
+
340
+ ```markdown
341
+ ## Plan-Build-Run
342
+
343
+ This project uses [Plan-Build-Run](https://github.com/SienkLogic/plan-build-run) for structured development.
344
+
345
+ - Project state: `.planning/STATE.md` (source of truth for current phase and progress)
346
+ - Configuration: `.planning/config.json`
347
+ - Run `/pbr:progress` to see current project state and suggested next action.
348
+
349
+ **After compaction or context recovery**: Read `.planning/STATE.md` (especially the `## Session Continuity` section) before proceeding with any work. The PreCompact hook writes recovery state there automatically.
350
+ ```
351
+
169
352
  **After gathering preferences:**
170
353
 
171
- **CRITICAL: You MUST create the .planning/ directory and write config.json NOW. Do not proceed without this.**
354
+ **CRITICAL (no hook): You MUST create the .planning/ directory and write config.json NOW. Do not proceed without this.**
172
355
 
173
- 1. Read the config template from `skills/begin/templates/config.json.tmpl`
174
- 2. Apply the user's choices to the template
356
+ 1. Read the config template from `${CLAUDE_SKILL_DIR}/templates/config.json.tmpl`
357
+ 2. Apply the user's choices to the template (including 3d-claude CLAUDE.md integration)
175
358
  3. Create `.planning/` directory
176
359
  4. Write `.planning/config.json` with the user's preferences
177
360
 
178
361
  **IMPORTANT**: This step MUST happen BEFORE research (Step 5) because depth controls how many researchers to spawn.
179
362
 
180
- **CRITICAL: Write .active-skill NOW.** Write the text "begin" to `.planning/.active-skill` using the Write tool. Verify the file exists before proceeding.
363
+ **CRITICAL (hook-enforced): Write .active-skill NOW.** Write the text "begin" to `.planning/.active-skill` using the Write tool. Verify the file exists before proceeding.
364
+
365
+ ### Step 3e: Early PROJECT.md Write (durability checkpoint)
366
+
367
+ **CRITICAL: Write a preliminary PROJECT.md NOW to preserve the user's vision on disk.**
368
+
369
+ Write `.planning/PROJECT.md` with the information gathered so far:
370
+ - Project name, description, and type (from Step 2 questioning)
371
+ - Key constraints and technology preferences (from Step 2)
372
+ - Workflow preferences (from Step 3: depth, model profile, ceremony level)
373
+ - Mark it as `status: preliminary` in a comment at the top
374
+
375
+ This file will be overwritten with the full version in Step 9, but if context is lost between Steps 4-8 (research, synthesis, requirements, roadmap), the user's vision is preserved on disk. Format:
376
+
377
+ ```markdown
378
+ <!-- status: preliminary — will be overwritten in Step 9 with full version -->
379
+ # {Project Name}
380
+
381
+ {Project description from Step 2}
382
+
383
+ ## Constraints
384
+ {Key constraints from questioning}
385
+
386
+ ## Technology Preferences
387
+ {Tech choices mentioned during questioning}
388
+
389
+ ## Workflow Config
390
+ Depth: {depth} | Profile: {model_profile} | Ceremony: {ceremony_level}
391
+ ```
392
+
393
+ If `planning.commit_docs` is true, commit: `docs(planning): preliminary PROJECT.md from questioning`
181
394
 
182
395
  ---
183
396
 
@@ -199,13 +412,24 @@ Based on the depth setting from Step 3, determine the research approach:
199
412
  - Tell user: "Skipping research phase (depth: quick). Moving straight to requirements."
200
413
 
201
414
  **If depth is `standard` or `comprehensive`:**
202
- Use the **yes-no** pattern from `skills/shared/gate-prompts.md`:
203
- question: "I'd like to research the technology landscape before planning. This helps create better plans. Proceed with research?"
204
- options:
205
- - label: "Yes" description: "Run research agents (recommended for standard/comprehensive)"
206
- - label: "No" description: "Skip research, move straight to requirements"
207
- - If user selects "No": skip to Step 7
208
- - If user selects "Yes": proceed to Step 5
415
+
416
+ **Auto-mode bypass:** If the `--auto` flag is active or `config.mode === 'autonomous'`:
417
+ - Default to `standard` depth (2 researchers: STACK, FEATURES) unless depth was explicitly set to `comprehensive`
418
+ - Set `gates.confirm_research` to `false` (skip the depth selection gate)
419
+ - Display: "PBR > Auto-mode: advancing to research (standard depth)..."
420
+ - Proceed directly to Step 5
421
+
422
+ **Interactive mode (default):**
423
+ - If `gates.confirm_research` is `true` in config:
424
+ **CRITICAL -- DO NOT SKIP**: Present the following choice to the user via AskUserQuestion before proceeding:
425
+ Use the **yes-no** pattern from `skills/shared/gate-prompts.md`:
426
+ question: "I'd like to research the technology landscape before planning. This helps create better plans. Proceed with research?"
427
+ options:
428
+ - label: "Yes" description: "Run research agents (recommended for standard/comprehensive)"
429
+ - label: "No" description: "Skip research, move straight to requirements"
430
+ - If user selects "No": skip to Step 7
431
+ - If user selects "Yes": proceed to Step 5
432
+ - If `gates.confirm_research` is `false` (default): proceed directly to Step 5 (research runs automatically)
209
433
 
210
434
  ---
211
435
 
@@ -213,13 +437,33 @@ Use the **yes-no** pattern from `skills/shared/gate-prompts.md`:
213
437
 
214
438
  Spawn parallel Task() subagents for research. Each researcher writes to `.planning/research/`.
215
439
 
216
- **CRITICAL: Create .planning/research/ directory NOW before spawning researchers. Do NOT skip this step.**
440
+ **CRITICAL (no hook): Create .planning/research/ directory NOW before spawning researchers. Do NOT skip this step.**
441
+
442
+ **Learnings injection (opt-in):** Before spawning researchers, check if global learnings exist:
443
+
444
+ ```bash
445
+ node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js learnings query --tags "stack,tech" 2>/dev/null
446
+ ```
447
+
448
+ If the command succeeds AND returns a non-empty JSON array:
449
+
450
+ - Write the results to a temp file:
451
+
452
+ ```bash
453
+ node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js learnings query --tags "stack,tech" > /tmp/pbr-learnings-$$.md
454
+ ```
455
+
456
+ - Note the temp file path as `{learnings_temp_path}`
457
+ - Add this file to the researcher's `files_to_read` block (see below)
458
+
459
+ If no learnings exist or the command fails: skip injection silently.
217
460
 
218
461
  **For each research topic, spawn a Task():**
219
462
 
220
463
  ```
221
464
  Task({
222
465
  subagent_type: "pbr:researcher",
466
+ // After researcher: check for ## RESEARCH COMPLETE or ## RESEARCH BLOCKED
223
467
  prompt: <see researcher prompt template below>
224
468
  })
225
469
  ```
@@ -232,7 +476,19 @@ Task({
232
476
 
233
477
  For each researcher, construct the prompt by reading the template and filling in placeholders:
234
478
 
235
- Read `skills/begin/templates/researcher-prompt.md.tmpl` for the prompt structure.
479
+ Read `${CLAUDE_SKILL_DIR}/templates/researcher-prompt.md.tmpl` for the prompt structure.
480
+
481
+ **Prepend this block to the researcher prompt before sending:**
482
+
483
+ ```
484
+ <files_to_read>
485
+ CRITICAL (no hook): Read these files BEFORE any other action:
486
+ 1. .planning/REQUIREMENTS.md — scoped requirements (if exists)
487
+ {if learnings_temp_path exists}2. {learnings_temp_path} — cross-project learnings (tech stack patterns from past PBR projects){/if}
488
+ </files_to_read>
489
+ ```
490
+
491
+ If `{learnings_temp_path}` was produced in the learnings injection step above, replace `{if...}{/if}` with the actual line. If no learnings were found, omit line 2 entirely.
236
492
 
237
493
  **Placeholders to fill:**
238
494
  - `{project name from questioning}` — project name gathered in Step 2
@@ -269,10 +525,24 @@ Read `skills/begin/templates/researcher-prompt.md.tmpl` for the prompt structure
269
525
  - What performance issues are typical?
270
526
  - What security concerns exist?
271
527
 
528
+ **Domain-specific template injection:**
529
+
530
+ Each researcher must be told which domain-specific template to follow. When constructing the researcher prompt, inject the correct template path for the assigned topic:
531
+
532
+ | Topic | Template Path |
533
+ |-------|--------------|
534
+ | STACK | `${CLAUDE_PLUGIN_ROOT}/templates/research-outputs/STACK.md.tmpl` |
535
+ | FEATURES | `${CLAUDE_PLUGIN_ROOT}/templates/research-outputs/FEATURES.md.tmpl` |
536
+ | ARCHITECTURE | `${CLAUDE_PLUGIN_ROOT}/templates/research-outputs/ARCHITECTURE.md.tmpl` |
537
+ | PITFALLS | `${CLAUDE_PLUGIN_ROOT}/templates/research-outputs/PITFALLS.md.tmpl` |
538
+
539
+ Include the resolved absolute path in the researcher prompt (resolve `${CLAUDE_PLUGIN_ROOT}` before sending).
540
+
272
541
  **Parallelization:**
273
542
  - Spawn ALL researchers in parallel (multiple Task() calls in one response)
274
543
  - Use `run_in_background: true` for each researcher
275
- - Before spawning, display to the user: `◐ Spawning {N} researchers in parallel...`
544
+ - **Individual Agent Calls:** Each researcher MUST be a separate Task() tool call in a single response message. Do NOT describe the batch in prose (e.g., "4 researchers launched"). Each separate Task() call gets its own colored badge and independent ctrl+o expansion in the Claude Code UI. Multiple Task() calls in one message still run concurrently — no parallelism is lost.
545
+ - Before spawning, display to the user: `◆ Spawning {N} researchers in parallel...`
276
546
  - While waiting, display progress to the user:
277
547
  - After spawning: list of topics being researched
278
548
  - Periodically (every ~30s): check `TaskOutput` with `block: false` for each agent and report status
@@ -280,11 +550,55 @@ Read `skills/begin/templates/researcher-prompt.md.tmpl` for the prompt structure
280
550
  - When all complete: "All {N} researchers finished. Proceeding to synthesis."
281
551
  - Wait for all to complete before proceeding
282
552
 
553
+ #### Partial Failure Detection
554
+
555
+ After all researchers complete (or timeout), check which research files were actually produced:
556
+
557
+ 1. List files in `.planning/research/` (excluding SUMMARY.md)
558
+ 2. Map against expected files for the current depth level:
559
+ - **standard**: expect STACK.md, FEATURES.md (2 files)
560
+ - **comprehensive**: expect STACK.md, FEATURES.md, ARCHITECTURE.md, PITFALLS.md (4 files)
561
+ 3. Count successes and failures
562
+ 4. For files that exist, also check for `## RESEARCH BLOCKED` marker -- count these as "completed with issues" (still pass to synthesizer, which handles them)
563
+
564
+ **If all expected files present:** proceed to Step 6.
565
+
566
+ **If some files missing (partial failure):**
567
+
568
+ Display: "Research partially complete: {N} of {M} researchers succeeded."
569
+ List the missing dimensions.
570
+
571
+ **Auto-mode:** Display "Continuing with gaps (auto-mode). Gaps will be noted in synthesis." and proceed to Step 6.
572
+
573
+ **Interactive mode:**
574
+ **CRITICAL -- DO NOT SKIP**: Present the following choice to the user via AskUserQuestion before proceeding:
575
+ Use AskUserQuestion with 3 options:
576
+
577
+ ```
578
+ question: "Research partially complete. {N} of {M} researchers succeeded. How would you like to proceed?"
579
+ header: "Partial Research"
580
+ options:
581
+ - label: "Continue with gaps"
582
+ description: "Proceed to synthesis -- gaps will be noted in SUMMARY.md"
583
+ - label: "Retry failed"
584
+ description: "Re-spawn only the failed researchers, then re-check"
585
+ - label: "Abort research"
586
+ description: "Skip research entirely and move to requirements"
587
+ ```
588
+
589
+ - If "Continue with gaps": proceed to Step 6
590
+ - If "Retry failed": re-spawn only the failed researchers (same Task() pattern), then re-run partial failure detection
591
+ - If "Abort research": skip to Step 7 (Requirements Scoping)
592
+
283
593
  ---
284
594
 
285
595
  ### Step 6: Synthesis (delegated to subagent)
286
596
 
287
- After all researchers complete, display to the user: `◐ Spawning synthesizer...`
597
+ **Auto-mode bypass:** If the `--auto` flag is active or `config.mode === 'autonomous'`, skip the "Research complete. Review findings?" gate and proceed directly to synthesizer spawning.
598
+
599
+ **Interactive mode:** If a review gate is configured (e.g., `gates.confirm_research_review`), present the research findings and ask the user to review before synthesis. Preserve the existing review gate behavior.
600
+
601
+ After all researchers complete (and review gate passed or bypassed), display to the user: `◆ Spawning synthesizer...`
288
602
 
289
603
  Spawn a synthesis agent:
290
604
 
@@ -301,12 +615,43 @@ Task({
301
615
 
302
616
  #### Synthesis Prompt Template
303
617
 
304
- Read `skills/begin/templates/synthesis-prompt.md.tmpl` for the prompt structure.
618
+ Read `${CLAUDE_SKILL_DIR}/templates/synthesis-prompt.md.tmpl` for the prompt structure.
619
+
620
+ **Prepend this block to the synthesizer prompt before sending:**
621
+ ```
622
+ <files_to_read>
623
+ CRITICAL (no hook): Read these files BEFORE any other action:
624
+ 1. .planning/research/*.md — all research output files from Step 5
625
+ </files_to_read>
626
+ ```
627
+
628
+ **Dynamic file discovery:** Do NOT pass a hardcoded list of research files. Instead, instruct the synthesizer to "Read ALL .md files in the `.planning/research/` directory (excluding SUMMARY.md). These are your research inputs." The synthesizer discovers available files at runtime, which handles partial failure gracefully.
629
+
630
+ **Commit instruction:** Instruct the synthesizer to commit all research files together after producing SUMMARY.md: "After writing SUMMARY.md, commit ALL files in `.planning/research/` together with message: `docs(research): complete research synthesis`"
305
631
 
306
632
  **Placeholders to fill:**
307
- - `{List all .planning/research/*.md files that were created}` — list the research files produced in Step 5
633
+ - `{List all .planning/research/*.md files that were created}` — list the research files produced in Step 5 (for reference, but synthesizer uses dynamic discovery)
634
+
635
+ **After the synthesizer completes**, check for completion markers in the Task() output:
308
636
 
309
- **After the synthesizer completes**, display:
637
+ - If `## SYNTHESIS COMPLETE` is present: proceed normally
638
+ - If `## SYNTHESIS BLOCKED` is present: warn the user and offer to proceed without synthesis:
639
+ ```
640
+ ⚠ Synthesizer reported BLOCKED: {reason from output}
641
+ Research files are still available individually in .planning/research/.
642
+ ```
643
+ **CRITICAL -- DO NOT SKIP**: Present the following choice to the user via AskUserQuestion before proceeding:
644
+ Use AskUserQuestion (pattern: yes-no from `skills/shared/gate-prompts.md`):
645
+ question: "Synthesis was blocked. Continue without synthesis?"
646
+ header: "Blocked"
647
+ options:
648
+ - label: "Yes" description: "Proceed to requirements — use individual research files"
649
+ - label: "No" description: "Stop and investigate"
650
+ - If "Yes": proceed to Step 7 without SUMMARY.md
651
+ - If "No": stop and suggest reviewing .planning/research/ files
652
+ - If neither marker is found: warn the user that the synthesizer may not have completed successfully, but proceed if SUMMARY.md exists on disk
653
+
654
+ If synthesis succeeded, display:
310
655
  ```
311
656
  ✓ Research synthesis complete — see .planning/research/SUMMARY.md
312
657
  ```
@@ -315,6 +660,8 @@ Read `skills/begin/templates/synthesis-prompt.md.tmpl` for the prompt structure.
315
660
 
316
661
  ### Step 7: Requirements Scoping (inline)
317
662
 
663
+ **Auto-mode chaining:** If `config.mode === 'autonomous'`, display "PBR > Auto-mode: advancing to requirements scoping..." and proceed through this step without interactive gates. Auto-derive requirements from research findings and questioning context. Classify all identified features as v1 (committed) unless they clearly belong in a later phase.
664
+
318
665
  Present research findings (if any) and interactively scope requirements with the user.
319
666
 
320
667
  **7a. Present findings:**
@@ -335,11 +682,10 @@ For each category, present the features and ask the user to classify each:
335
682
  - **Out of scope** — Will NOT be built
336
683
 
337
684
  **7d. Assign REQ-IDs:**
338
- For each committed requirement, assign an ID in the format `{CATEGORY}-{NN}`:
339
- - `AUTH-01`: User can log in with Discord OAuth
340
- - `AUTH-02`: Protected routes redirect to login
341
- - `UI-01`: Dashboard shows player statistics
342
- - `UI-02`: Mobile-responsive layout
685
+ For each committed requirement, assign an ID using the REQ-F/REQ-NF schema:
686
+ - Functional requirements: `REQ-F-xxx` numbered sequentially within each category (REQ-F-001, REQ-F-002, ...)
687
+ - Non-functional requirements: `REQ-NF-xxx` numbered sequentially across all NFR categories (REQ-NF-001, REQ-NF-002, ...)
688
+ - Examples: `REQ-F-001: User can log in with Discord OAuth`, `REQ-NF-001: Page loads in <2s on 4G`
343
689
 
344
690
  Each requirement must be:
345
691
  - **User-centric** — describes a capability from the user's perspective
@@ -348,9 +694,9 @@ Each requirement must be:
348
694
 
349
695
  **7e. Write REQUIREMENTS.md:**
350
696
 
351
- **CRITICAL: Write REQUIREMENTS.md NOW. The roadmap planner depends on this file.**
697
+ **CRITICAL (no hook): Write REQUIREMENTS.md NOW. The roadmap planner depends on this file.**
352
698
 
353
- Read the template from `skills/begin/templates/REQUIREMENTS.md.tmpl` and write `.planning/REQUIREMENTS.md` with:
699
+ Read the template from `${CLAUDE_SKILL_DIR}/templates/REQUIREMENTS.md.tmpl` and write `.planning/REQUIREMENTS.md` with:
354
700
  - All v1 requirements grouped by category
355
701
  - All v2 requirements with deferral reasons
356
702
  - Out-of-scope items with rationale
@@ -360,39 +706,55 @@ Read the template from `skills/begin/templates/REQUIREMENTS.md.tmpl` and write `
360
706
 
361
707
  ### Step 8: Roadmap Generation (delegated to subagent)
362
708
 
363
- Display to the user: `◐ Spawning planner (roadmap)...`
709
+ Display to the user: `◆ Spawning roadmapper...`
364
710
 
365
- Spawn the planner in roadmap mode:
711
+ Spawn the roadmapper agent:
366
712
 
367
713
  ```
368
714
  Task({
369
- subagent_type: "pbr:planner",
715
+ subagent_type: "pbr:roadmapper",
716
+ // After roadmapper: check for ## ROADMAP CREATED or ## ROADMAP BLOCKED
370
717
  prompt: <roadmap prompt>
371
718
  })
372
719
  ```
373
720
 
374
- **NOTE**: The `pbr:planner` subagent type auto-loads the agent definition. Do NOT inline it. The planner agent will read REQUIREMENTS.md and SUMMARY.md from disk — you only need to tell it what to do and where files are.
721
+ **NOTE**: The `pbr:roadmapper` subagent type auto-loads the agent definition. Do NOT inline it. The roadmapper agent will read REQUIREMENTS.md and SUMMARY.md from disk — you only need to tell it what to do and where files are.
375
722
 
376
723
  **Path resolution**: Before constructing the agent prompt, resolve `${CLAUDE_PLUGIN_ROOT}` to its absolute path. Do not pass the variable literally in prompts — Task() contexts may not expand it.
377
724
 
378
725
  #### Roadmap Prompt Template
379
726
 
380
- Read `skills/begin/templates/roadmap-prompt.md.tmpl` for the prompt structure.
727
+ Read `${CLAUDE_SKILL_DIR}/templates/roadmap-prompt.md.tmpl` for the prompt structure.
728
+
729
+ **Prepend this block to the roadmap planner prompt before sending:**
730
+ ```
731
+ <files_to_read>
732
+ CRITICAL (no hook): Read these files BEFORE any other action:
733
+ 1. .planning/REQUIREMENTS.md — scoped requirements for phase planning
734
+ 2. .planning/research/SUMMARY.md — research synthesis (if exists)
735
+ </files_to_read>
736
+ ```
381
737
 
382
738
  **Placeholders to fill:**
383
739
  - `{project name}` — project name from Step 2
384
740
  - `{description}` — project description from Step 2
385
741
  - `{quick|standard|comprehensive}` — depth setting from Step 3
386
742
 
387
- **After the planner completes:**
743
+ **After the roadmapper completes:**
744
+ - **Spot-check:** Verify `.planning/ROADMAP.md` exists on disk using Glob before attempting to read it. If missing, the roadmapper may have failed silently — warn: `⚠ ROADMAP.md not found after roadmapper completed. Re-spawning roadmapper...` and retry once.
388
745
  - Read `.planning/ROADMAP.md`
389
746
  - Count the phases from the roadmap content
390
747
  - Verify the roadmap contains a `## Milestone:` section wrapping the phases (the planner should generate this). If not, the initial set of phases constitutes the first milestone — add the section header yourself.
748
+ - Verify each phase section includes `**Requirements:**` and `**Success Criteria:**` fields.
749
+ - Verify a `## Milestones` index section exists near the top of the roadmap.
391
750
  - Display:
392
751
  ```
393
752
  ✓ Roadmap created — {N} phases in milestone "{name}"
394
753
  ```
395
- - If `gates.confirm_roadmap` is true in config, use the **approve-revise-abort** pattern from `skills/shared/gate-prompts.md`:
754
+ - **Auto-mode bypass:** If `config.mode === 'autonomous'`, display "PBR > Auto-mode: advancing to state initialization..." and skip the roadmap approval gate. Proceed directly to Step 9.
755
+ - If `gates.confirm_roadmap` is true in config (interactive mode):
756
+ **CRITICAL -- DO NOT SKIP**: Present the following choice to the user via AskUserQuestion before proceeding:
757
+ Use the **approve-revise-abort** pattern from `skills/shared/gate-prompts.md`:
396
758
  question: "Approve this roadmap?"
397
759
  options:
398
760
  - label: "Approve" description: "Proceed with this roadmap"
@@ -408,26 +770,35 @@ Read `skills/begin/templates/roadmap-prompt.md.tmpl` for the prompt structure.
408
770
 
409
771
  Write the project state files from templates:
410
772
 
411
- **CRITICAL: You MUST write all 5 state initialization files (Steps 9a-9e). Do NOT skip any.**
773
+ **CRITICAL (no hook): You MUST write all 5 state initialization files (Steps 9a-9e). Do NOT skip any.**
412
774
 
413
- **CRITICAL: Write PROJECT.md NOW. Do NOT skip this step.**
775
+ **CRITICAL (no hook): Write PROJECT.md NOW. Do NOT skip this step.**
414
776
 
415
777
  **9a. Write PROJECT.md:**
416
- 1. Read `skills/begin/templates/PROJECT.md.tmpl`
778
+ 1. Read `${CLAUDE_SKILL_DIR}/templates/PROJECT.md.tmpl`
417
779
  2. Fill in:
418
780
  - `{project_name}` — from questioning
419
781
  - `{2-3 sentences}` — project description from questioning
420
782
  - `{ONE sentence}` — core value statement
421
- - Out-of-scope features
783
+ - **Requirements** section with three lifecycle categories:
784
+ - `### Active` — v1 requirements committed for this milestone
785
+ - `### Validated` — requirements completed and verified (empty at project start)
786
+ - `### Out of Scope` — deferred and excluded items with rationale
787
+ - **Key Decisions** table with Outcome column:
788
+ ```markdown
789
+ | Decision | Rationale | Date | Outcome |
790
+ |----------|-----------|------|---------|
791
+ | {decision} | {why} | {date} | Pending |
792
+ ```
793
+ All initial decisions start with Outcome = `Pending`. Updated to `Good`, `Revisit`, or `Pending` during `/pbr:milestone complete` (see PROJECT.md Evolution Review step).
422
794
  - Technical context and constraints
423
- - Initial key decisions from the questioning conversation
424
795
  3. Write to `.planning/PROJECT.md`
425
796
  4. Ensure the `## Milestones` section is filled in with the project name and phase count from the roadmap
426
797
 
427
- **CRITICAL: Write STATE.md NOW. Do NOT skip this step.**
798
+ **CRITICAL (no hook): Write STATE.md NOW. Do NOT skip this step.**
428
799
 
429
800
  **9b. Write STATE.md:**
430
- 1. Read `skills/begin/templates/STATE.md.tmpl`
801
+ 1. Read `${CLAUDE_SKILL_DIR}/templates/STATE.md.tmpl`
431
802
  2. Fill in:
432
803
  - `{date}` — today's date
433
804
  - `{total}` — total phase count from roadmap
@@ -438,59 +809,77 @@ Write the project state files from templates:
438
809
  4. Fill in the `## Milestone` section with the project name and total phase count
439
810
  5. **STATE.md size limit**: Follow size limit enforcement rules in `skills/shared/state-update.md` (150 lines max).
440
811
 
441
- **CRITICAL: Write CONTEXT.md NOW. Do NOT skip this step.**
812
+ **CRITICAL (no hook): Write context to PROJECT.md NOW. Do NOT skip this step.**
813
+
814
+ **9c. Write context to PROJECT.md ## Context section:**
815
+ 1. Read `${CLAUDE_SKILL_DIR}/templates/project-CONTEXT.md.tmpl`
816
+ 2. Fill in from the questioning conversation:
817
+ - Locked Decisions: all technology choices and architecture decisions from Step 2
818
+ - User Constraints: budget, timeline, skill level, hosting, team
819
+ - Deferred Ideas: out-of-scope items identified in Step 7c scoping
820
+ - Claude's Discretion: any areas where user said "you decide"
821
+ 3. Append to `.planning/PROJECT.md` under a `## Context` section with subsections:
822
+ - `### Locked Decisions`
823
+ - `### User Constraints`
824
+ - `### Deferred Ideas`
825
+ 4. Do NOT write a separate CONTEXT.md file. All context lives in PROJECT.md now.
826
+ 5. **Backwards compat migration:** If `.planning/CONTEXT.md` exists (from a prior project version), read its content and merge into PROJECT.md ## Context section. Log: "PBR > Migrated CONTEXT.md into PROJECT.md"
827
+
828
+ **9d. Initialize velocity and session fields in STATE.md frontmatter:**
829
+ Add these fields to the STATE.md YAML frontmatter during initialization:
830
+ - `velocity: {}` — empty object, populated as plans are executed
831
+ - `session_last: ""` — set when `/pbr:pause-work` is run
832
+ - `session_stopped_at: ""` — set when `/pbr:pause-work` is run
833
+ - `session_resume: ""` — set when `/pbr:pause-work` is run
834
+
835
+ **Do NOT write a ## History section to STATE.md.** History has been removed from STATE.md to keep it lean. Milestone completion records are preserved in milestone archives.
836
+ **Backwards compat:** If `.planning/HISTORY.md` exists from a prior project, it is ignored during new project initialization.
837
+
838
+ **CRITICAL (no hook): Create phase directories NOW. Do NOT skip this step.**
442
839
 
443
- **9c. Write CONTEXT.md:**
444
- Create `.planning/CONTEXT.md` from information gathered during questioning:
840
+ **9e. Create phase directories:**
841
+ For each phase in the roadmap, create the directory structure:
842
+ ```
843
+ .planning/phases/01-{slug}/
844
+ .planning/phases/02-{slug}/
845
+ ...
846
+ ```
445
847
 
446
- ```markdown
447
- # Project Context
848
+ Where `{slug}` is the phase name in kebab-case (e.g., `project-setup`, `authentication`).
448
849
 
449
- ## Locked Decisions
450
- {Technology choices, architecture decisions, and constraints that are NON-NEGOTIABLE}
850
+ **9f. Create KNOWLEDGE.md:**
851
+ Write `.planning/KNOWLEDGE.md` with empty knowledge base tables:
451
852
 
452
- | Decision | Rationale | Locked By |
453
- |----------|-----------|-----------|
454
- | {e.g., "Use TypeScript"} | {User preference, team skill} | User |
853
+ ```markdown
854
+ ---
855
+ updated: "{today's date}"
856
+ ---
857
+ # Project Knowledge Base
455
858
 
456
- ## User Constraints
457
- {Budget, timeline, skill level, hosting, team size}
859
+ Aggregated knowledge from milestone completions. Auto-maintained by milestone-learnings.js.
458
860
 
459
- ## Deferred Ideas
460
- {Features explicitly moved to v2 or out-of-scope}
861
+ ## Key Rules
461
862
 
462
- | Idea | Reason Deferred |
463
- |------|----------------|
464
- | {feature} | {reason} |
465
- ```
863
+ Architectural rules and constraints discovered during development.
466
864
 
467
- **CRITICAL: Write HISTORY.md NOW. Do NOT skip this step.**
865
+ | ID | Rule | Source | Date |
866
+ |----|------|--------|------|
468
867
 
469
- **9d. Write HISTORY.md:**
470
- Create `.planning/HISTORY.md` with an initial entry:
868
+ ## Patterns
471
869
 
472
- ```markdown
473
- # Project History
870
+ Reusable patterns and conventions established across phases.
474
871
 
475
- ## {date} Project Created
872
+ | ID | Pattern | Source | Date |
873
+ |----|---------|--------|------|
476
874
 
477
- - Initialized Plan-Build-Run project
478
- - Depth: {depth}, Mode: {mode}
479
- - Roadmap: {N} phases planned
480
- ```
875
+ ## Lessons Learned
481
876
 
482
- **CRITICAL: Create phase directories NOW. Do NOT skip this step.**
877
+ What worked, what didn't, and deferred items for future consideration.
483
878
 
484
- **9e. Create phase directories:**
485
- For each phase in the roadmap, create the directory structure:
486
- ```
487
- .planning/phases/01-{slug}/
488
- .planning/phases/02-{slug}/
489
- ...
879
+ | ID | Lesson | Type | Source | Date |
880
+ |----|--------|------|--------|------|
490
881
  ```
491
882
 
492
- Where `{slug}` is the phase name in kebab-case (e.g., `project-setup`, `authentication`).
493
-
494
883
  ---
495
884
 
496
885
  ### Step 10: Git Setup (inline)
@@ -512,15 +901,18 @@ If `gates.confirm_project` is true in config:
512
901
  - Phases: {count} phases in roadmap
513
902
  - Requirements: {count} v1 requirements
514
903
  - Config: depth={depth}, mode={mode}
515
- - Use the **yes-no** pattern from `skills/shared/gate-prompts.md`:
516
- question: "Everything look good? Commit the planning docs?"
517
- options:
518
- - label: "Yes" description: "Stage and commit .planning/ files"
519
- - label: "No" description: "Let me review and adjust first"
520
- - If user selects "Yes" and `planning.commit_docs` is true:
521
- - Stage `.planning/` files (excluding research/ if gitignored)
522
- - Commit: `chore: initialize plan-build-run project planning`
523
- - If user selects "No": let user review and adjust
904
+ - If `gates.confirm_commit_docs` is `true` OR this is a **brownfield** project (existing code detected in Step 1):
905
+ **CRITICAL -- DO NOT SKIP**: Present the following choice to the user via AskUserQuestion before proceeding:
906
+ Use the **yes-no** pattern from `skills/shared/gate-prompts.md`:
907
+ question: "Everything look good? Commit the planning docs?"
908
+ options:
909
+ - label: "Yes" description: "Stage and commit .planning/ files"
910
+ - label: "No" description: "Let me review and adjust first"
911
+ - If user selects "Yes" and `planning.commit_docs` is true:
912
+ - Stage `.planning/` files (excluding research/ if gitignored)
913
+ - Commit: `chore: initialize plan-build-run project planning`
914
+ - If user selects "No": let user review and adjust
915
+ - If `gates.confirm_commit_docs` is `false` AND greenfield: skip the question and commit automatically if `planning.commit_docs` is true
524
916
 
525
917
  ---
526
918
 
@@ -530,51 +922,14 @@ Delete `.planning/.active-skill` if it exists. This must happen on all paths (su
530
922
 
531
923
  ## Completion
532
924
 
533
- After all steps complete, present the final summary:
534
-
535
- Use the branded stage banner from `references/ui-formatting.md`:
536
-
537
- ```
538
- ╔══════════════════════════════════════════════════════════════╗
539
- ║ PLAN-BUILD-RUN ► PROJECT INITIALIZED ✓ ║
540
- ╚══════════════════════════════════════════════════════════════╝
541
-
542
- **{name}**
925
+ After all steps complete, present the final summary using the stage banner format from Read `references/ui-brand.md`:
543
926
 
544
- {core value one-liner}
927
+ Display the `PROJECT INITIALIZED ✓` banner with project name, core value, phase list, and requirement counts. Then display the "Next Up" block (see § "Next Up Block" in ui-brand.md) pointing to `/pbr:discuss-phase 1` with alternatives: `/pbr:explore`, `/pbr:plan-phase 1`, `/pbr:new-milestone`, `/pbr:settings`, `/pbr:intel` (if codebase scan results exist in `.planning/codebase/`). Include `<sub>/clear first → fresh context window</sub>` inside the Next Up routing block.
545
928
 
546
- Roadmap: {N} phases
547
- 1. {Phase 1 name}
548
- 2. {Phase 2 name}
549
- ...
550
-
551
- Requirements: {N} committed, {M} deferred, {K} out-of-scope
552
- ```
553
-
554
- Then use the "Next Up" routing block:
555
- ```
556
-
557
-
558
- ╔══════════════════════════════════════════════════════════════╗
559
- ║ ▶ NEXT UP ║
560
- ╚══════════════════════════════════════════════════════════════╝
561
-
562
- **Phase 1: {Name}** — {one-line goal}
563
-
564
- `/pbr:discuss 1`
565
-
566
- <sub>`/clear` first → fresh context window</sub>
567
-
568
-
569
-
570
- **Also available:**
571
- - `/pbr:explore` — open-ended exploration before planning
572
- - `/pbr:plan 1` — jump straight to planning Phase 1
573
- - `/pbr:milestone new` — add a second milestone with new phases
574
- - `/pbr:config` — adjust workflow settings
575
-
576
-
577
- ```
929
+ **Auto-mode chaining to first phase discussion:** If `config.mode === 'autonomous'`, after displaying the completion banner, automatically chain to the first phase discussion:
930
+ - Display: "PBR > Auto-mode: advancing to phase 1 discussion..."
931
+ - Write `.planning/.auto-next` with `/pbr:discuss-phase 1` to trigger auto-continue hook
932
+ - If any stage in the auto-mode chain fails, stop the chain and report: "PBR > Auto-mode chain stopped: {stage} failed. Resume manually with `/pbr:{next_command}`."
578
933
 
579
934
  ---
580
935
 
@@ -584,7 +939,7 @@ Then use the "Next Up" routing block:
584
939
  If a researcher Task() fails or times out:
585
940
  - Note which topic wasn't researched
586
941
  - Continue with available research
587
- - Display: `⚠ Research on {topic} failed. Proceeding without it. You can re-research during /pbr:plan.`
942
+ - Display: `⚠ Research on {topic} failed. Proceeding without it. You can re-research during /pbr:plan-phase.`
588
943
 
589
944
  ### User wants to restart
590
945
  If user says they want to start over mid-flow:
@@ -605,7 +960,7 @@ Cannot create .planning/ directory.
605
960
 
606
961
  ---
607
962
 
608
- ## Files Created by /pbr:begin
963
+ ## Files Created by /pbr:new-project
609
964
 
610
965
  | File | Purpose | When |
611
966
  |------|---------|------|
@@ -614,8 +969,7 @@ Cannot create .planning/ directory.
614
969
  | `.planning/research/SUMMARY.md` | Research synthesis | Step 6 (if research enabled) |
615
970
  | `.planning/REQUIREMENTS.md` | Scoped requirements | Step 7 |
616
971
  | `.planning/ROADMAP.md` | Phase roadmap | Step 8 |
617
- | `.planning/PROJECT.md` | Project overview | Step 9 |
618
- | `.planning/STATE.md` | Current state tracker | Step 9 |
619
- | `.planning/CONTEXT.md` | Decisions and constraints | Step 9 |
620
- | `.planning/HISTORY.md` | Project history log | Step 9 |
972
+ | `.planning/PROJECT.md` | Project overview + context (locked decisions, constraints, deferred ideas) | Step 9 |
973
+ | `.planning/STATE.md` | Current state tracker + history log | Step 9 |
974
+ | `.planning/KNOWLEDGE.md` | Project knowledge base (rules, patterns, lessons) | Step 9 |
621
975
  | `.planning/phases/NN-*/` | Phase directories | Step 9 |