@sienklogic/plan-build-run 2.21.0 → 2.21.2
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.
- package/CHANGELOG.md +1331 -299
- package/CLAUDE.md +75 -40
- package/LICENSE +2 -1
- package/README.md +412 -177
- package/bin/install.js +2752 -0
- package/dashboard/bin/cli.cjs +96 -0
- package/dashboard/bin/stop.cjs +129 -0
- package/dashboard/eslint.config.js +37 -0
- package/dashboard/index.html +20 -0
- package/dashboard/package.json +27 -25
- package/dashboard/server/index.js +151 -0
- package/dashboard/server/lib/frontmatter.js +92 -0
- package/dashboard/server/middleware/static.js +35 -0
- package/dashboard/server/package.json +16 -0
- package/dashboard/server/routes/agents.js +234 -0
- package/dashboard/server/routes/config.js +64 -0
- package/dashboard/server/routes/health.js +98 -0
- package/dashboard/server/routes/incidents.js +78 -0
- package/dashboard/server/routes/intel.js +69 -0
- package/dashboard/server/routes/memory.js +107 -0
- package/dashboard/server/routes/planning.js +234 -0
- package/dashboard/server/routes/progress.js +77 -0
- package/dashboard/server/routes/projects.js +36 -0
- package/dashboard/server/routes/requirements.js +40 -0
- package/dashboard/server/routes/roadmap.js +69 -0
- package/dashboard/server/routes/sessions.js +70 -0
- package/dashboard/server/routes/status.js +25 -0
- package/dashboard/server/routes/telemetry.js +233 -0
- package/dashboard/server/services/file-watcher.js +105 -0
- package/dashboard/server/services/planning-reader.js +727 -0
- package/dashboard/server/test/cli.test.js +34 -0
- package/dashboard/server/test/frontmatter.test.js +104 -0
- package/dashboard/server/test/isolation.test.js +32 -0
- package/dashboard/server/test/planning-reader.test.js +151 -0
- package/dashboard/server/test/routes.test.js +91 -0
- package/dashboard/server/test/ws.test.js +81 -0
- package/dashboard/server/ws.js +96 -0
- package/dashboard/src/App.jsx +165 -0
- package/dashboard/src/components/charts/BudgetBars.jsx +42 -0
- package/dashboard/src/components/charts/ContextRadar.jsx +34 -0
- package/dashboard/src/components/charts/PhaseDonut.jsx +66 -0
- package/dashboard/src/components/charts/SuccessTrend.jsx +45 -0
- package/dashboard/src/components/charts/TokenChart.jsx +55 -0
- package/dashboard/src/components/charts/index.js +5 -0
- package/dashboard/src/components/config/CfgSection.jsx +93 -0
- package/dashboard/src/components/layout/Header.jsx +89 -0
- package/dashboard/src/components/layout/ProjectSwitcher.jsx +160 -0
- package/dashboard/src/components/layout/Sidebar.jsx +161 -0
- package/dashboard/src/components/ui/AutoModeBanner.jsx +138 -0
- package/dashboard/src/components/ui/BackButton.jsx +27 -0
- package/dashboard/src/components/ui/Badge.jsx +27 -0
- package/dashboard/src/components/ui/Card.jsx +23 -0
- package/dashboard/src/components/ui/ChartTooltip.jsx +48 -0
- package/dashboard/src/components/ui/CheckpointBox.jsx +110 -0
- package/dashboard/src/components/ui/CodeBlock.jsx +27 -0
- package/dashboard/src/components/ui/ConfidenceBadge.jsx +20 -0
- package/dashboard/src/components/ui/ConfirmModal.jsx +161 -0
- package/dashboard/src/components/ui/ConnectionBanner.jsx +60 -0
- package/dashboard/src/components/ui/ErrorBoundary.jsx +106 -0
- package/dashboard/src/components/ui/ErrorBox.jsx +107 -0
- package/dashboard/src/components/ui/KeyValue.jsx +33 -0
- package/dashboard/src/components/ui/LoadingSkeleton.jsx +84 -0
- package/dashboard/src/components/ui/MetricCard.jsx +58 -0
- package/dashboard/src/components/ui/NextUpBlock.jsx +92 -0
- package/dashboard/src/components/ui/NumberInput.jsx +44 -0
- package/dashboard/src/components/ui/PBRBanner.jsx +47 -0
- package/dashboard/src/components/ui/PipelineView.jsx +130 -0
- package/dashboard/src/components/ui/ProgressBar.jsx +28 -0
- package/dashboard/src/components/ui/ProgressDisplay.jsx +47 -0
- package/dashboard/src/components/ui/QualityGateBadge.jsx +15 -0
- package/dashboard/src/components/ui/SectionTitle.jsx +35 -0
- package/dashboard/src/components/ui/SelectInput.jsx +45 -0
- package/dashboard/src/components/ui/StatusDot.jsx +51 -0
- package/dashboard/src/components/ui/StatusSymbol.jsx +49 -0
- package/dashboard/src/components/ui/TabBar.jsx +41 -0
- package/dashboard/src/components/ui/TextInput.jsx +42 -0
- package/dashboard/src/components/ui/Toast.jsx +117 -0
- package/dashboard/src/components/ui/Toggle.jsx +70 -0
- package/dashboard/src/components/ui/index.js +29 -0
- package/dashboard/src/hooks/useDocumentTitle.js +16 -0
- package/dashboard/src/hooks/useFetch.js +50 -0
- package/dashboard/src/hooks/useToast.jsx +43 -0
- package/dashboard/src/hooks/useWebSocket.js +103 -0
- package/dashboard/src/lib/api.js +112 -0
- package/dashboard/src/lib/configSchema.js +189 -0
- package/dashboard/src/lib/constants.js +22 -0
- package/dashboard/src/main.jsx +15 -0
- package/dashboard/src/pages/AgentsPage.jsx +191 -0
- package/dashboard/src/pages/ConfigPage.jsx +298 -0
- package/dashboard/src/pages/HooksPage.jsx +412 -0
- package/dashboard/src/pages/IncidentsPage.jsx +135 -0
- package/dashboard/src/pages/IntelPage.jsx +193 -0
- package/dashboard/src/pages/LiveFeed.jsx +274 -0
- package/dashboard/src/pages/MemoryPage.jsx +107 -0
- package/dashboard/src/pages/OnboardingPage.jsx +117 -0
- package/dashboard/src/pages/Overview.jsx +360 -0
- package/dashboard/src/pages/PhaseDetailView.jsx +216 -0
- package/dashboard/src/pages/PlanningPage.jsx +181 -0
- package/dashboard/src/pages/ProgressPage.jsx +249 -0
- package/dashboard/src/pages/ResearchPage.jsx +129 -0
- package/dashboard/src/pages/RoadmapPage.jsx +251 -0
- package/dashboard/src/pages/SessionsPage.jsx +117 -0
- package/dashboard/src/pages/Telemetry.jsx +166 -0
- package/dashboard/src/pages/planning/DecisionsTab.jsx +153 -0
- package/dashboard/src/pages/planning/FilesTab.jsx +420 -0
- package/dashboard/src/pages/planning/MilestoneDetail.jsx +319 -0
- package/dashboard/src/pages/planning/MilestonesTab.jsx +151 -0
- package/dashboard/src/pages/planning/NotesTab.jsx +251 -0
- package/dashboard/src/pages/planning/PhasesTab.jsx +218 -0
- package/dashboard/src/pages/planning/QuickTab.jsx +50 -0
- package/dashboard/src/pages/planning/ResearchTab.jsx +103 -0
- package/dashboard/src/pages/planning/TodosTab.jsx +297 -0
- package/dashboard/src/theme/ThemeProvider.jsx +38 -0
- package/dashboard/src/theme/tokens.js +17 -0
- package/dashboard/tests/components/ConfirmModal.test.jsx +179 -0
- package/dashboard/tests/components/ConnectionBanner.test.jsx +37 -0
- package/dashboard/tests/components/ErrorBoundary.test.jsx +59 -0
- package/dashboard/tests/components/LoadingSkeleton.test.jsx +46 -0
- package/dashboard/tests/components/ToastContainer.test.jsx +47 -0
- package/dashboard/tests/components/Toggle.test.jsx +61 -0
- package/dashboard/tests/hooks/useFetch.test.jsx +77 -0
- package/dashboard/tests/hooks/useToast.test.jsx +78 -0
- package/dashboard/tests/hooks/useWebSocket.test.jsx +128 -0
- package/dashboard/tests/pages/ConfigPage.test.jsx +199 -0
- package/dashboard/tests/pages/PlanningPage.test.jsx +119 -0
- package/dashboard/tests/pages/planning/FilesTab.test.jsx +198 -0
- package/dashboard/tests/pages/planning/NotesTab.test.jsx +178 -0
- package/dashboard/tests/pages/planning/TodosTab.test.jsx +188 -0
- package/dashboard/tests/performance.test.jsx +46 -0
- package/dashboard/tests/routes/config.test.js +98 -0
- package/dashboard/tests/routes/health.test.js +40 -0
- package/dashboard/tests/routes/planning.test.js +112 -0
- package/dashboard/tests/routes/roadmap.test.js +91 -0
- package/dashboard/tests/routes/status.test.js +131 -0
- package/dashboard/tests/server/planning-reader.test.js +153 -0
- package/dashboard/tests/setup.js +7 -0
- package/dashboard/vite.config.js +41 -0
- package/package.json +56 -41
- package/plan-build-run/bin/config-schema.json +1298 -0
- package/plugins/pbr/.claude-plugin/plugin.json +1 -1
- package/plugins/pbr/CLAUDE.md +19 -0
- package/plugins/pbr/UI-CONSISTENCY-GAPS.md +1 -1
- package/plugins/pbr/agents/advisor-researcher.md +101 -0
- package/plugins/pbr/agents/audit.md +207 -89
- package/plugins/pbr/agents/codebase-mapper.md +158 -23
- package/plugins/pbr/agents/debugger.md +212 -34
- package/plugins/pbr/agents/dev-sync.md +206 -0
- package/plugins/pbr/agents/executor.md +737 -39
- package/plugins/pbr/agents/general.md +71 -6
- package/plugins/pbr/agents/integration-checker.md +148 -30
- package/plugins/pbr/agents/intel-updater.md +332 -0
- package/plugins/pbr/agents/nyquist-auditor.md +254 -0
- package/plugins/pbr/agents/plan-checker.md +268 -66
- package/plugins/pbr/agents/planner.md +451 -42
- package/plugins/pbr/agents/researcher.md +219 -36
- package/plugins/pbr/agents/roadmapper.md +398 -0
- package/plugins/pbr/agents/synthesizer.md +166 -26
- package/plugins/pbr/agents/ui-checker.md +204 -0
- package/plugins/pbr/agents/ui-researcher.md +224 -0
- package/plugins/pbr/agents/verifier.md +571 -47
- package/plugins/pbr/commands/add-phase.md +75 -0
- package/plugins/pbr/commands/add-todo.md +8 -0
- package/plugins/pbr/commands/audit-fix.md +5 -0
- package/plugins/pbr/commands/audit-milestone.md +8 -0
- package/plugins/pbr/commands/autonomous.md +5 -0
- package/plugins/pbr/commands/backlog.md +6 -0
- package/plugins/pbr/commands/check-todos.md +8 -0
- package/plugins/pbr/commands/complete-milestone.md +8 -0
- package/plugins/pbr/commands/config.md +1 -1
- package/plugins/pbr/commands/discuss-phase.md +6 -0
- package/plugins/pbr/commands/do.md +5 -0
- package/plugins/pbr/commands/execute-phase.md +6 -0
- package/plugins/pbr/commands/fast.md +6 -0
- package/plugins/pbr/commands/forensics.md +6 -0
- package/plugins/pbr/commands/import.md +1 -1
- package/plugins/pbr/commands/insert-phase.md +65 -0
- package/plugins/pbr/commands/intel.md +5 -0
- package/plugins/pbr/commands/join-discord.md +11 -0
- package/plugins/pbr/commands/list-phase-assumptions.md +5 -0
- package/plugins/pbr/commands/map-codebase.md +6 -0
- package/plugins/pbr/commands/milestone-summary.md +6 -0
- package/plugins/pbr/commands/new-milestone.md +8 -0
- package/plugins/pbr/commands/new-project.md +6 -0
- package/plugins/pbr/commands/pause-work.md +5 -0
- package/plugins/pbr/commands/plan-milestone-gaps.md +7 -0
- package/plugins/pbr/commands/plan-phase.md +6 -0
- package/plugins/pbr/commands/plant-seed.md +6 -0
- package/plugins/pbr/commands/profile-user.md +5 -0
- package/plugins/pbr/commands/profile.md +5 -0
- package/plugins/pbr/commands/progress.md +6 -0
- package/plugins/pbr/commands/quick.md +1 -1
- package/plugins/pbr/commands/reapply-patches.md +47 -0
- package/plugins/pbr/commands/release.md +6 -0
- package/plugins/pbr/commands/remove-phase.md +66 -0
- package/plugins/pbr/commands/research-phase.md +59 -0
- package/plugins/pbr/commands/resume-work.md +5 -0
- package/plugins/pbr/commands/seed.md +6 -0
- package/plugins/pbr/commands/session-report.md +5 -0
- package/plugins/pbr/commands/set-profile.md +6 -0
- package/plugins/pbr/commands/settings.md +5 -0
- package/plugins/pbr/commands/setup.md +1 -1
- package/plugins/pbr/commands/ship.md +5 -0
- package/plugins/pbr/commands/stats.md +6 -0
- package/plugins/pbr/commands/test.md +5 -0
- package/plugins/pbr/commands/thread.md +6 -0
- package/plugins/pbr/commands/todo.md +1 -1
- package/plugins/pbr/commands/ui-phase.md +5 -0
- package/plugins/pbr/commands/ui-review.md +5 -0
- package/plugins/pbr/commands/undo.md +5 -0
- package/plugins/pbr/commands/update.md +37 -0
- package/plugins/pbr/commands/validate-phase.md +5 -0
- package/plugins/pbr/commands/verify-work.md +6 -0
- package/plugins/pbr/dashboard/package-lock.json +6 -0
- package/plugins/pbr/dist/architecture-guard.js +76 -0
- package/plugins/pbr/dist/audit-dimensions.js +556 -0
- package/plugins/pbr/dist/auto-continue.js +277 -0
- package/plugins/pbr/dist/block-skill-self-read.js +124 -0
- package/plugins/pbr/dist/check-agent-state-write.js +63 -0
- package/plugins/pbr/dist/check-config-change.js +213 -0
- package/plugins/pbr/dist/check-cross-plugin-sync.js +93 -0
- package/plugins/pbr/dist/check-dangerous-commands.js +193 -0
- package/plugins/pbr/dist/check-direct-state-write.js +37 -0
- package/plugins/pbr/dist/check-doc-sprawl.js +102 -0
- package/plugins/pbr/dist/check-phase-boundary.js +191 -0
- package/plugins/pbr/dist/check-plan-format.js +227 -0
- package/plugins/pbr/dist/check-read-first.js +345 -0
- package/plugins/pbr/dist/check-roadmap-sync.js +507 -0
- package/plugins/pbr/dist/check-skill-workflow.js +354 -0
- package/plugins/pbr/dist/check-state-sync.js +676 -0
- package/plugins/pbr/dist/check-subagent-output.js +425 -0
- package/plugins/pbr/dist/check-summary-gate.js +188 -0
- package/plugins/pbr/dist/context-bridge.js +425 -0
- package/plugins/pbr/dist/context-budget-check.js +442 -0
- package/plugins/pbr/dist/context-quality.js +271 -0
- package/plugins/pbr/dist/enforce-context-budget.js +138 -0
- package/plugins/pbr/dist/enforce-pbr-workflow.js +277 -0
- package/plugins/pbr/dist/event-handler.js +212 -0
- package/plugins/pbr/dist/event-logger.js +125 -0
- package/plugins/pbr/dist/feedback-loop.js +155 -0
- package/plugins/pbr/dist/graph-update.js +422 -0
- package/plugins/pbr/dist/hook-logger.js +114 -0
- package/plugins/pbr/dist/hook-server-client.js +361 -0
- package/plugins/pbr/dist/hook-server.js +664 -0
- package/plugins/pbr/dist/hooks-schema.json +87 -0
- package/plugins/pbr/dist/instructions-loaded.js +173 -0
- package/plugins/pbr/dist/intercept-plan-mode.js +81 -0
- package/plugins/pbr/dist/log-notification.js +131 -0
- package/plugins/pbr/dist/log-subagent.js +367 -0
- package/plugins/pbr/dist/log-tool-failure.js +140 -0
- package/plugins/pbr/dist/milestone-learnings.js +519 -0
- package/plugins/pbr/dist/pbr-tools.js +493 -0
- package/plugins/pbr/dist/post-bash-triage.js +96 -0
- package/plugins/pbr/dist/post-compact.js +135 -0
- package/plugins/pbr/dist/post-hoc.js +237 -0
- package/plugins/pbr/dist/post-write-dispatch.js +243 -0
- package/plugins/pbr/dist/post-write-quality.js +208 -0
- package/plugins/pbr/dist/pre-bash-dispatch.js +212 -0
- package/plugins/pbr/dist/pre-skill-dispatch.js +114 -0
- package/plugins/pbr/dist/pre-task-dispatch.js +269 -0
- package/plugins/pbr/dist/pre-write-dispatch.js +234 -0
- package/plugins/pbr/dist/progress-tracker.js +173 -0
- package/plugins/pbr/dist/prompt-guard.js +114 -0
- package/plugins/pbr/dist/prompt-routing.js +209 -0
- package/plugins/pbr/dist/quick-status.js +179 -0
- package/plugins/pbr/dist/record-incident.js +37 -0
- package/plugins/pbr/dist/run-hook.js +132 -0
- package/plugins/pbr/dist/session-cleanup.js +653 -0
- package/plugins/pbr/dist/session-tracker.js +124 -0
- package/plugins/pbr/dist/status-line.js +849 -0
- package/plugins/pbr/dist/suggest-compact.js +307 -0
- package/plugins/pbr/dist/sync-context-to-claude.js +100 -0
- package/plugins/pbr/dist/task-completed.js +206 -0
- package/plugins/pbr/dist/track-context-budget.js +432 -0
- package/plugins/pbr/dist/track-user-gates.js +88 -0
- package/plugins/pbr/dist/trust-tracker.js +193 -0
- package/plugins/pbr/dist/validate-commit.js +233 -0
- package/plugins/pbr/dist/validate-skill-args.js +222 -0
- package/plugins/pbr/dist/validate-task.js +271 -0
- package/plugins/pbr/dist/worktree-create.js +144 -0
- package/plugins/pbr/dist/worktree-remove.js +147 -0
- package/plugins/pbr/hooks/hooks.json +137 -65
- package/plugins/pbr/references/agent-contracts.md +39 -8
- package/plugins/pbr/references/agent-teams.md +3 -3
- package/plugins/pbr/references/archive/checkpoints.md +189 -0
- package/plugins/pbr/references/archive/context-quality-tiers.md +45 -0
- package/plugins/pbr/references/archive/hook-ordering.md +89 -0
- package/plugins/pbr/references/archive/limitations.md +106 -0
- package/plugins/pbr/references/archive/pbr-rules.md +194 -0
- package/plugins/pbr/references/archive/pbr-tools-cli.md +415 -0
- package/plugins/pbr/references/archive/pretooluse-jsonl-behavior.md +58 -0
- package/plugins/pbr/references/archive/signal-files.md +41 -0
- package/plugins/pbr/references/archive/tmux-setup.md +288 -0
- package/plugins/pbr/references/archive/verification-matrix.md +34 -0
- package/plugins/pbr/references/archive/verification-patterns.md +277 -0
- package/plugins/pbr/references/archive/worktree-sparse-checkout.md +86 -0
- package/plugins/pbr/references/assumptions.md +42 -0
- package/plugins/pbr/references/checkpoints.md +723 -104
- package/plugins/pbr/references/config-reference.md +387 -10
- package/plugins/pbr/references/continuation-format.md +1 -0
- package/plugins/pbr/references/decimal-phase-calculation.md +65 -0
- package/plugins/pbr/references/deviation-rules.md +12 -0
- package/plugins/pbr/references/few-shot-examples/audit.md +77 -0
- package/plugins/pbr/references/few-shot-examples/check-plan-format.md +172 -0
- package/plugins/pbr/references/few-shot-examples/check-subagent-output.md +118 -0
- package/plugins/pbr/references/few-shot-examples/integration-checker.md +70 -0
- package/plugins/pbr/references/few-shot-examples/nyquist-auditor.md +83 -0
- package/plugins/pbr/references/few-shot-examples/plan-checker.md +73 -0
- package/plugins/pbr/references/few-shot-examples/ui-checker.md +71 -0
- package/plugins/pbr/references/few-shot-examples/verifier.md +109 -0
- package/plugins/pbr/references/git-integration.md +110 -27
- package/plugins/pbr/references/git-planning-commit.md +35 -0
- package/plugins/pbr/references/model-profile-resolution.md +34 -0
- package/plugins/pbr/references/model-profiles.md +90 -7
- package/plugins/pbr/references/model-selection.md +1 -1
- package/plugins/pbr/references/node-repair.md +48 -0
- package/plugins/pbr/references/plan-authoring.md +65 -0
- package/plugins/pbr/references/plan-format.md +184 -10
- package/plugins/pbr/references/questioning.md +138 -49
- package/plugins/pbr/references/reading-verification.md +4 -4
- package/plugins/pbr/references/tdd.md +263 -0
- package/plugins/pbr/references/thinking-models-planning.md +47 -0
- package/plugins/pbr/references/thinking-models-verification.md +44 -0
- package/plugins/pbr/references/ui-brand.md +449 -0
- package/plugins/pbr/references/verification-overrides.md +39 -0
- package/plugins/pbr/references/verification-patterns.md +529 -113
- package/plugins/pbr/scripts/architecture-guard.js +76 -0
- package/plugins/pbr/scripts/audit-checks/behavioral-compliance.js +2098 -0
- package/plugins/pbr/scripts/audit-checks/error-analysis.js +989 -0
- package/plugins/pbr/scripts/audit-checks/feature-verification.js +723 -0
- package/plugins/pbr/scripts/audit-checks/index.js +433 -0
- package/plugins/pbr/scripts/audit-checks/infrastructure.js +816 -0
- package/plugins/pbr/scripts/audit-checks/quality-metrics.js +455 -0
- package/plugins/pbr/scripts/audit-checks/session-quality.js +980 -0
- package/plugins/pbr/scripts/audit-checks/si-agent-hook-config-checks.js +396 -0
- package/plugins/pbr/scripts/audit-checks/si-cross-cutting-checks.js +272 -0
- package/plugins/pbr/scripts/audit-checks/si-skill-checks.js +424 -0
- package/plugins/pbr/scripts/audit-checks/workflow-compliance.js +1175 -0
- package/plugins/pbr/scripts/audit-dimensions.js +556 -0
- package/plugins/pbr/scripts/auto-continue.js +192 -37
- package/plugins/pbr/scripts/block-skill-self-read.js +124 -0
- package/plugins/pbr/scripts/check-agent-state-write.js +63 -0
- package/plugins/pbr/scripts/check-config-change.js +84 -1
- package/plugins/pbr/scripts/check-cross-plugin-sync.js +93 -0
- package/plugins/pbr/scripts/check-dangerous-commands.js +18 -5
- package/plugins/pbr/scripts/check-direct-state-write.js +37 -0
- package/plugins/pbr/scripts/check-phase-boundary.js +3 -8
- package/plugins/pbr/scripts/check-plan-format.js +153 -278
- package/plugins/pbr/scripts/check-read-first.js +345 -0
- package/plugins/pbr/scripts/check-roadmap-sync.js +174 -19
- package/plugins/pbr/scripts/check-skill-workflow.js +24 -27
- package/plugins/pbr/scripts/check-state-sync.js +360 -218
- package/plugins/pbr/scripts/check-subagent-output.js +308 -273
- package/plugins/pbr/scripts/check-summary-gate.js +5 -15
- package/plugins/pbr/scripts/commands/benchmarks.js +195 -0
- package/plugins/pbr/scripts/commands/calibrate.js +530 -0
- package/plugins/pbr/scripts/commands/config.js +72 -0
- package/plugins/pbr/scripts/commands/misc.js +779 -0
- package/plugins/pbr/scripts/commands/phase.js +293 -0
- package/plugins/pbr/scripts/commands/roadmap.js +75 -0
- package/plugins/pbr/scripts/commands/state.js +84 -0
- package/plugins/pbr/scripts/commands/stress-test.js +349 -0
- package/plugins/pbr/scripts/commands/todo.js +191 -0
- package/plugins/pbr/scripts/commands/verify.js +169 -0
- package/plugins/pbr/scripts/config-schema.json +1183 -95
- package/plugins/pbr/scripts/context-bridge.js +425 -0
- package/plugins/pbr/scripts/context-budget-check.js +171 -16
- package/plugins/pbr/scripts/context-quality.js +271 -0
- package/plugins/pbr/scripts/enforce-context-budget.js +138 -0
- package/plugins/pbr/scripts/enforce-pbr-workflow.js +277 -0
- package/plugins/pbr/scripts/event-handler.js +137 -87
- package/plugins/pbr/scripts/event-logger.js +58 -25
- package/plugins/pbr/scripts/feedback-loop.js +155 -0
- package/plugins/pbr/scripts/graph-update.js +422 -0
- package/plugins/pbr/scripts/hook-logger.js +69 -35
- package/plugins/pbr/scripts/hook-server-client.js +361 -0
- package/plugins/pbr/scripts/hook-server.js +664 -0
- package/plugins/pbr/scripts/hooks-schema.json +12 -5
- package/plugins/pbr/scripts/instructions-loaded.js +173 -0
- package/plugins/pbr/scripts/intent-router.cjs +147 -0
- package/plugins/pbr/scripts/intercept-plan-mode.js +52 -18
- package/plugins/pbr/scripts/lib/alternatives.js +203 -0
- package/plugins/pbr/scripts/lib/audit.js +65 -0
- package/plugins/pbr/scripts/lib/auto-cleanup.js +221 -0
- package/plugins/pbr/scripts/lib/auto-verify.js +123 -0
- package/plugins/pbr/scripts/lib/benchmark.js +190 -0
- package/plugins/pbr/scripts/lib/build.js +719 -0
- package/plugins/pbr/scripts/lib/ci-fix-loop.js +228 -0
- package/plugins/pbr/scripts/lib/commands.js +483 -0
- package/plugins/pbr/scripts/lib/compound.js +222 -0
- package/plugins/pbr/scripts/lib/config-cache.js +83 -0
- package/plugins/pbr/scripts/lib/config.js +1469 -0
- package/plugins/pbr/scripts/lib/context.js +254 -0
- package/plugins/pbr/scripts/lib/contextual-help.js +183 -0
- package/plugins/pbr/scripts/lib/convention-detector.js +413 -0
- package/plugins/pbr/scripts/lib/core.js +1585 -0
- package/plugins/pbr/scripts/lib/dashboard-launch.js +364 -0
- package/plugins/pbr/scripts/lib/data-hygiene.js +179 -0
- package/plugins/pbr/scripts/lib/decision-extraction.js +183 -0
- package/plugins/pbr/scripts/lib/decisions.js +194 -0
- package/plugins/pbr/scripts/lib/dependency-break.js +147 -0
- package/plugins/pbr/scripts/lib/format-validators.js +1049 -0
- package/plugins/pbr/scripts/lib/frontmatter.js +302 -0
- package/plugins/pbr/scripts/lib/gates/advisories.js +133 -0
- package/plugins/pbr/scripts/lib/gates/build-dependency.js +118 -0
- package/plugins/pbr/scripts/lib/gates/build-executor.js +106 -0
- package/plugins/pbr/scripts/lib/gates/doc-existence.js +46 -0
- package/plugins/pbr/scripts/lib/gates/helpers.js +98 -0
- package/plugins/pbr/scripts/lib/gates/inline-execution.js +187 -0
- package/plugins/pbr/scripts/lib/gates/milestone-complete.js +139 -0
- package/plugins/pbr/scripts/lib/gates/milestone-summary.js +121 -0
- package/plugins/pbr/scripts/lib/gates/multi-phase-loader.js +149 -0
- package/plugins/pbr/scripts/lib/gates/plan-executor.js +36 -0
- package/plugins/pbr/scripts/lib/gates/plan-validation.js +115 -0
- package/plugins/pbr/scripts/lib/gates/quick-executor.js +78 -0
- package/plugins/pbr/scripts/lib/gates/review-planner.js +63 -0
- package/plugins/pbr/scripts/lib/gates/review-verifier.js +71 -0
- package/plugins/pbr/scripts/lib/gates/rich-agent-context.js +148 -0
- package/plugins/pbr/scripts/lib/gates/sprint-preflight.js +30 -0
- package/plugins/pbr/scripts/lib/gates/user-confirmation.js +95 -0
- package/plugins/pbr/scripts/lib/graph-cli.js +89 -0
- package/plugins/pbr/scripts/lib/graph.js +553 -0
- package/plugins/pbr/scripts/lib/handoff-validators.js +224 -0
- package/plugins/pbr/scripts/lib/health-checks.js +107 -0
- package/plugins/pbr/scripts/lib/health-phase06.js +120 -0
- package/plugins/pbr/scripts/lib/health.js +132 -0
- package/plugins/pbr/scripts/lib/help.js +100 -0
- package/plugins/pbr/scripts/lib/history.js +150 -0
- package/plugins/pbr/scripts/lib/impact-analysis.js +319 -0
- package/plugins/pbr/scripts/lib/incidents.js +190 -0
- package/plugins/pbr/scripts/lib/init.js +643 -0
- package/plugins/pbr/scripts/lib/insights-parser.js +320 -0
- package/plugins/pbr/scripts/lib/intel.js +653 -0
- package/plugins/pbr/scripts/lib/learnings.js +511 -0
- package/plugins/pbr/scripts/lib/migrate.js +309 -0
- package/plugins/pbr/scripts/lib/milestone.js +306 -0
- package/plugins/pbr/scripts/lib/msys-path.js +20 -0
- package/plugins/pbr/scripts/lib/negative-knowledge.js +194 -0
- package/plugins/pbr/scripts/lib/notification-throttle.js +141 -0
- package/plugins/pbr/scripts/lib/onboarding-generator.js +288 -0
- package/plugins/pbr/scripts/lib/parse-args.js +134 -0
- package/plugins/pbr/scripts/lib/pattern-routing.js +55 -0
- package/plugins/pbr/scripts/lib/patterns.js +272 -0
- package/plugins/pbr/scripts/lib/perf.js +190 -0
- package/plugins/pbr/scripts/lib/phase.js +1043 -0
- package/plugins/pbr/scripts/lib/pid-lock.js +156 -0
- package/plugins/pbr/scripts/lib/post-hoc.js +160 -0
- package/plugins/pbr/scripts/lib/pre-commit-checks.js +220 -0
- package/plugins/pbr/scripts/lib/pre-research.js +126 -0
- package/plugins/pbr/scripts/lib/premature-completion.js +312 -0
- package/plugins/pbr/scripts/lib/preview.js +174 -0
- package/plugins/pbr/scripts/lib/progress-visualization.js +296 -0
- package/plugins/pbr/scripts/lib/quick-init.js +131 -0
- package/plugins/pbr/scripts/lib/reference.js +236 -0
- package/plugins/pbr/scripts/lib/requirements.js +153 -0
- package/plugins/pbr/scripts/lib/resolve-root.js +66 -0
- package/plugins/pbr/scripts/lib/reverse-spec.js +259 -0
- package/plugins/pbr/scripts/lib/roadmap.js +1089 -0
- package/plugins/pbr/scripts/lib/security-scan.js +200 -0
- package/plugins/pbr/scripts/lib/session-briefing.js +918 -0
- package/plugins/pbr/scripts/lib/skill-section.js +99 -0
- package/plugins/pbr/scripts/lib/smart-next-task.js +198 -0
- package/plugins/pbr/scripts/lib/snapshot-manager.js +232 -0
- package/plugins/pbr/scripts/lib/spec-diff.js +209 -0
- package/plugins/pbr/scripts/lib/spec-engine.js +189 -0
- package/plugins/pbr/scripts/lib/spot-check.js +539 -0
- package/plugins/pbr/scripts/lib/state-queue.js +171 -0
- package/plugins/pbr/scripts/lib/state.js +1082 -0
- package/plugins/pbr/scripts/lib/status-render.js +511 -0
- package/plugins/pbr/scripts/lib/step-verify.js +149 -0
- package/plugins/pbr/scripts/lib/subagent-validators.js +1119 -0
- package/plugins/pbr/scripts/lib/suggest-next.js +435 -0
- package/plugins/pbr/scripts/lib/tech-debt-scanner.js +116 -0
- package/plugins/pbr/scripts/lib/templates.js +362 -0
- package/plugins/pbr/scripts/lib/test-selection.js +163 -0
- package/plugins/pbr/scripts/lib/todo.js +300 -0
- package/plugins/pbr/scripts/lib/verify.js +1561 -0
- package/plugins/pbr/scripts/log-notification.js +131 -0
- package/plugins/pbr/scripts/log-subagent.js +221 -18
- package/plugins/pbr/scripts/log-tool-failure.js +60 -8
- package/plugins/pbr/scripts/milestone-learnings.js +519 -0
- package/plugins/pbr/scripts/package.json +1 -1
- package/plugins/pbr/scripts/pbr-tools.js +362 -1247
- package/plugins/pbr/scripts/post-bash-triage.js +96 -0
- package/plugins/pbr/scripts/post-compact.js +135 -0
- package/plugins/pbr/scripts/post-hoc.js +237 -0
- package/plugins/pbr/scripts/post-write-dispatch.js +201 -31
- package/plugins/pbr/scripts/post-write-quality.js +4 -3
- package/plugins/pbr/scripts/pre-bash-dispatch.js +147 -51
- package/plugins/pbr/scripts/pre-skill-dispatch.js +114 -0
- package/plugins/pbr/scripts/pre-task-dispatch.js +269 -0
- package/plugins/pbr/scripts/pre-write-dispatch.js +170 -73
- package/plugins/pbr/scripts/progress-tracker.js +121 -324
- package/plugins/pbr/scripts/prompt-guard.js +114 -0
- package/plugins/pbr/scripts/prompt-routing.js +209 -0
- package/plugins/pbr/scripts/quick-status.js +179 -0
- package/plugins/pbr/scripts/record-incident.js +37 -0
- package/plugins/pbr/scripts/risk-classifier.cjs +123 -0
- package/plugins/pbr/scripts/run-hook.js +63 -23
- package/plugins/pbr/scripts/session-cleanup.js +428 -29
- package/plugins/pbr/scripts/session-tracker.js +124 -0
- package/plugins/pbr/scripts/status-line.js +593 -32
- package/plugins/pbr/scripts/suggest-compact.js +201 -13
- package/plugins/pbr/scripts/sync-context-to-claude.js +100 -0
- package/plugins/pbr/scripts/task-completed.js +165 -4
- package/plugins/pbr/scripts/test/config.test.js +126 -0
- package/plugins/pbr/scripts/test/cross-platform.test.js +120 -0
- package/plugins/pbr/scripts/test/fixtures/config.json +20 -0
- package/plugins/pbr/scripts/test/fixtures/plan.md +54 -0
- package/plugins/pbr/scripts/test/fixtures/project.md +30 -0
- package/plugins/pbr/scripts/test/fixtures/roadmap.md +55 -0
- package/plugins/pbr/scripts/test/fixtures/state.md +60 -0
- package/plugins/pbr/scripts/test/fixtures/summary.md +35 -0
- package/plugins/pbr/scripts/test/fixtures.test.js +184 -0
- package/plugins/pbr/scripts/test/phase.test.js +142 -0
- package/plugins/pbr/scripts/test/roadmap.test.js +96 -0
- package/plugins/pbr/scripts/test/state.test.js +155 -0
- package/plugins/pbr/scripts/track-context-budget.js +368 -104
- package/plugins/pbr/scripts/track-user-gates.js +88 -0
- package/plugins/pbr/scripts/trust-tracker.js +193 -0
- package/plugins/pbr/scripts/validate-commit.js +59 -26
- package/plugins/pbr/scripts/validate-skill-args.js +87 -15
- package/plugins/pbr/scripts/validate-task.js +83 -627
- package/plugins/pbr/scripts/worktree-create.js +144 -0
- package/plugins/pbr/scripts/worktree-remove.js +147 -0
- package/plugins/pbr/skills/audit/SKILL.md +195 -24
- package/plugins/pbr/skills/audit-fix/SKILL.md +326 -0
- package/plugins/pbr/skills/autonomous/SKILL.md +551 -0
- package/plugins/pbr/skills/backlog/SKILL.md +56 -0
- package/plugins/pbr/skills/begin/SKILL.md +508 -153
- package/plugins/pbr/skills/begin/templates/STATE.md.tmpl +1 -2
- package/plugins/pbr/skills/begin/templates/config.json.tmpl +419 -36
- package/plugins/pbr/skills/begin/templates/researcher-prompt.md.tmpl +28 -0
- package/plugins/pbr/skills/begin/templates/roadmap-prompt.md.tmpl +28 -3
- package/plugins/pbr/skills/begin/templates/synthesis-prompt.md.tmpl +33 -5
- package/plugins/pbr/skills/build/SKILL.md +1180 -358
- package/plugins/pbr/skills/build/templates/continuation-prompt.md.tmpl +26 -0
- package/plugins/pbr/skills/build/templates/executor-prompt.md.tmpl +77 -0
- package/plugins/pbr/skills/build/templates/inline-verifier-prompt.md.tmpl +33 -0
- package/plugins/pbr/skills/build/templates/qa-round-context.md.tmpl +16 -0
- package/plugins/pbr/skills/config/SKILL.md +112 -9
- package/plugins/pbr/skills/continue/SKILL.md +113 -33
- package/plugins/pbr/skills/dashboard/SKILL.md +21 -9
- package/plugins/pbr/skills/debug/SKILL.md +70 -12
- package/plugins/pbr/skills/debug/templates/continuation-prompt.md.tmpl +12 -1
- package/plugins/pbr/skills/debug/templates/initial-investigation-prompt.md.tmpl +12 -5
- package/plugins/pbr/skills/discuss/SKILL.md +205 -24
- package/plugins/pbr/skills/discuss/templates/CONTEXT.md.tmpl +21 -1
- package/plugins/pbr/skills/do/SKILL.md +119 -24
- package/plugins/pbr/skills/explore/SKILL.md +95 -20
- package/plugins/pbr/skills/fast/SKILL.md +94 -0
- package/plugins/pbr/skills/forensics/SKILL.md +144 -0
- package/plugins/pbr/skills/health/SKILL.md +35 -117
- package/plugins/pbr/skills/help/SKILL.md +83 -123
- package/plugins/pbr/skills/import/SKILL.md +332 -13
- package/plugins/pbr/skills/intel/SKILL.md +131 -0
- package/plugins/pbr/skills/list-phase-assumptions/SKILL.md +231 -0
- package/plugins/pbr/skills/milestone/SKILL.md +383 -274
- package/plugins/pbr/skills/milestone/templates/audit-output.md.tmpl +76 -0
- package/plugins/pbr/skills/milestone/templates/complete-output.md.tmpl +32 -0
- package/plugins/pbr/skills/milestone/templates/edge-cases.md +54 -0
- package/plugins/pbr/skills/milestone/templates/gaps-output.md.tmpl +25 -0
- package/plugins/pbr/skills/milestone/templates/integration-checker-prompt.md.tmpl +25 -0
- package/plugins/pbr/skills/milestone/templates/new-output.md.tmpl +29 -0
- package/plugins/pbr/skills/milestone-summary/SKILL.md +86 -0
- package/plugins/pbr/skills/note/SKILL.md +20 -4
- package/plugins/pbr/skills/pause/SKILL.md +54 -14
- package/plugins/pbr/skills/pause/templates/continue-here.md.tmpl +33 -52
- package/plugins/pbr/skills/plan/SKILL.md +526 -280
- package/plugins/pbr/skills/plan/templates/checker-prompt.md.tmpl +20 -2
- package/plugins/pbr/skills/plan/templates/completion-output.md.tmpl +27 -0
- package/plugins/pbr/skills/plan/templates/planner-prompt.md.tmpl +43 -1
- package/plugins/pbr/skills/plan/templates/revision-prompt.md.tmpl +21 -5
- package/plugins/pbr/skills/profile/SKILL.md +185 -0
- package/plugins/pbr/skills/profile-user/SKILL.md +227 -0
- package/plugins/pbr/skills/quick/SKILL.md +435 -100
- package/plugins/pbr/skills/release/SKILL.md +206 -0
- package/plugins/pbr/skills/resume/SKILL.md +170 -46
- package/plugins/pbr/skills/review/SKILL.md +233 -165
- package/plugins/pbr/skills/review/templates/verifier-prompt.md.tmpl +7 -0
- package/plugins/pbr/skills/scan/SKILL.md +152 -106
- package/plugins/pbr/skills/scan/templates/mapper-prompt.md.tmpl +5 -56
- package/plugins/pbr/skills/seed/SKILL.md +87 -0
- package/plugins/pbr/skills/session-report/SKILL.md +130 -0
- package/plugins/pbr/skills/setup/SKILL.md +150 -202
- package/plugins/pbr/skills/shared/agent-context-enrichment.md +21 -0
- package/plugins/pbr/skills/shared/agent-type-resolution.md +32 -0
- package/plugins/pbr/skills/shared/commit-planning-docs.md +8 -0
- package/plugins/pbr/skills/shared/context-budget.md +66 -1
- package/plugins/pbr/skills/shared/context-loader-task.md +18 -11
- package/plugins/pbr/skills/shared/criterion-writing.md +58 -0
- package/plugins/pbr/skills/shared/digest-select.md +2 -2
- package/plugins/pbr/skills/shared/domain-probes.md +1 -1
- package/plugins/pbr/skills/shared/error-reporting.md +38 -60
- package/plugins/pbr/skills/shared/gate-prompts.md +4 -2
- package/plugins/pbr/skills/shared/memory-capture.md +48 -0
- package/plugins/pbr/skills/shared/phase-argument-parsing.md +4 -4
- package/plugins/pbr/skills/shared/revision-loop.md +24 -6
- package/plugins/pbr/skills/shared/state-update.md +49 -56
- package/plugins/pbr/skills/shared/universal-anti-patterns.md +27 -4
- package/plugins/pbr/skills/ship/SKILL.md +155 -0
- package/plugins/pbr/skills/stats/SKILL.md +110 -0
- package/plugins/pbr/skills/status/SKILL.md +185 -119
- package/plugins/pbr/skills/test/SKILL.md +254 -0
- package/plugins/pbr/skills/thread/SKILL.md +73 -0
- package/plugins/pbr/skills/todo/SKILL.md +28 -72
- package/plugins/pbr/skills/ui-phase/SKILL.md +180 -0
- package/plugins/pbr/skills/ui-review/SKILL.md +206 -0
- package/plugins/pbr/skills/undo/SKILL.md +221 -0
- package/plugins/pbr/skills/validate-phase/SKILL.md +362 -0
- package/plugins/pbr/templates/CONTEXT.md.tmpl +45 -20
- package/plugins/pbr/templates/DISCOVERY.md.tmpl +29 -0
- package/plugins/pbr/templates/DISCUSSION-LOG.md.tmpl +49 -0
- package/plugins/pbr/templates/HANDOFF.json.tmpl +30 -0
- package/plugins/pbr/templates/INTEGRATION-REPORT.md.tmpl +18 -2
- package/plugins/pbr/templates/MILESTONE-AUDIT.md.tmpl +44 -0
- package/plugins/pbr/templates/PROJECT.md.tmpl +126 -0
- package/plugins/pbr/templates/REQUIREMENTS.md.tmpl +96 -0
- package/plugins/pbr/templates/RETROSPECTIVE.md.tmpl +43 -0
- package/plugins/pbr/templates/ROADMAP.md.tmpl +108 -14
- package/plugins/pbr/templates/SUMMARY-complex.md.tmpl +133 -0
- package/plugins/pbr/templates/SUMMARY-minimal.md.tmpl +55 -0
- package/plugins/pbr/templates/SUMMARY.md.tmpl +21 -0
- package/plugins/pbr/templates/UAT.md.tmpl +94 -0
- package/plugins/pbr/templates/UI-SPEC.md.tmpl +144 -0
- package/plugins/pbr/templates/VALIDATION.md.tmpl +94 -0
- package/plugins/pbr/templates/VERIFICATION-DETAIL.md.tmpl +54 -13
- package/plugins/pbr/templates/project-CONTEXT.md.tmpl +59 -0
- package/plugins/pbr/templates/research-outputs/ARCHITECTURE.md.tmpl +91 -0
- package/plugins/pbr/templates/research-outputs/FEATURES.md.tmpl +64 -0
- package/plugins/pbr/templates/research-outputs/PITFALLS.md.tmpl +50 -0
- package/plugins/pbr/templates/research-outputs/STACK.md.tmpl +63 -0
- package/plugins/pbr/templates/research-outputs/SUMMARY.md.tmpl +98 -0
- package/scripts/build-hooks.js +61 -0
- package/scripts/check-ci.js +100 -0
- package/scripts/clean-changelog.js +364 -0
- package/scripts/generate-derivatives.js +581 -0
- package/scripts/posttest.js +93 -0
- package/scripts/release.js +262 -0
- package/scripts/run-tests.cjs +29 -0
- package/scripts/test-wrapper.js +43 -0
- package/dashboard/bin/cli.js +0 -25
- package/dashboard/public/css/layout.css +0 -704
- package/dashboard/public/css/status-colors.css +0 -98
- package/dashboard/public/css/tokens.css +0 -59
- package/dashboard/public/js/htmx-title.js +0 -5
- package/dashboard/public/js/sidebar-toggle.js +0 -34
- package/dashboard/public/js/sse-client.js +0 -100
- package/dashboard/public/js/theme-toggle.js +0 -46
- package/dashboard/src/app.js +0 -91
- package/dashboard/src/middleware/current-phase.js +0 -24
- package/dashboard/src/middleware/errorHandler.js +0 -52
- package/dashboard/src/middleware/notFoundHandler.js +0 -9
- package/dashboard/src/repositories/planning.repository.js +0 -130
- package/dashboard/src/routes/events.routes.js +0 -45
- package/dashboard/src/routes/index.routes.js +0 -35
- package/dashboard/src/routes/pages.routes.js +0 -426
- package/dashboard/src/server.js +0 -42
- package/dashboard/src/services/analytics.service.js +0 -141
- package/dashboard/src/services/dashboard.service.js +0 -309
- package/dashboard/src/services/milestone.service.js +0 -222
- package/dashboard/src/services/notes.service.js +0 -50
- package/dashboard/src/services/phase.service.js +0 -232
- package/dashboard/src/services/project.service.js +0 -57
- package/dashboard/src/services/roadmap.service.js +0 -258
- package/dashboard/src/services/sse.service.js +0 -58
- package/dashboard/src/services/todo.service.js +0 -272
- package/dashboard/src/services/watcher.service.js +0 -48
- package/dashboard/src/utils/cache.js +0 -55
- package/dashboard/src/views/analytics.ejs +0 -5
- package/dashboard/src/views/coming-soon.ejs +0 -11
- package/dashboard/src/views/dependencies.ejs +0 -5
- package/dashboard/src/views/error.ejs +0 -20
- package/dashboard/src/views/index.ejs +0 -5
- package/dashboard/src/views/milestone-detail.ejs +0 -5
- package/dashboard/src/views/milestones.ejs +0 -5
- package/dashboard/src/views/notes.ejs +0 -5
- package/dashboard/src/views/partials/analytics-content.ejs +0 -90
- package/dashboard/src/views/partials/breadcrumbs.ejs +0 -14
- package/dashboard/src/views/partials/dashboard-content.ejs +0 -84
- package/dashboard/src/views/partials/dependencies-content.ejs +0 -48
- package/dashboard/src/views/partials/empty-state.ejs +0 -7
- package/dashboard/src/views/partials/footer.ejs +0 -3
- package/dashboard/src/views/partials/head.ejs +0 -30
- package/dashboard/src/views/partials/header.ejs +0 -21
- package/dashboard/src/views/partials/layout-bottom.ejs +0 -43
- package/dashboard/src/views/partials/layout-top.ejs +0 -16
- package/dashboard/src/views/partials/milestone-detail-content.ejs +0 -20
- package/dashboard/src/views/partials/milestones-content.ejs +0 -88
- package/dashboard/src/views/partials/notes-content.ejs +0 -23
- package/dashboard/src/views/partials/phase-content.ejs +0 -193
- package/dashboard/src/views/partials/phase-doc-content.ejs +0 -38
- package/dashboard/src/views/partials/phases-content.ejs +0 -124
- package/dashboard/src/views/partials/roadmap-content.ejs +0 -180
- package/dashboard/src/views/partials/sidebar.ejs +0 -99
- package/dashboard/src/views/partials/todo-create-content.ejs +0 -54
- package/dashboard/src/views/partials/todo-detail-content.ejs +0 -42
- package/dashboard/src/views/partials/todos-content.ejs +0 -97
- package/dashboard/src/views/phase-detail.ejs +0 -5
- package/dashboard/src/views/phase-doc.ejs +0 -5
- package/dashboard/src/views/phases.ejs +0 -5
- package/dashboard/src/views/roadmap.ejs +0 -5
- package/dashboard/src/views/todo-create.ejs +0 -5
- package/dashboard/src/views/todo-detail.ejs +0 -5
- package/dashboard/src/views/todos.ejs +0 -5
- package/plugins/copilot-pbr/CHANGELOG.md +0 -19
- package/plugins/copilot-pbr/README.md +0 -139
- package/plugins/copilot-pbr/agents/audit.agent.md +0 -113
- package/plugins/copilot-pbr/agents/codebase-mapper.agent.md +0 -151
- package/plugins/copilot-pbr/agents/debugger.agent.md +0 -182
- package/plugins/copilot-pbr/agents/executor.agent.md +0 -267
- package/plugins/copilot-pbr/agents/general.agent.md +0 -88
- package/plugins/copilot-pbr/agents/integration-checker.agent.md +0 -119
- package/plugins/copilot-pbr/agents/plan-checker.agent.md +0 -208
- package/plugins/copilot-pbr/agents/planner.agent.md +0 -238
- package/plugins/copilot-pbr/agents/researcher.agent.md +0 -186
- package/plugins/copilot-pbr/agents/synthesizer.agent.md +0 -126
- package/plugins/copilot-pbr/agents/verifier.agent.md +0 -228
- package/plugins/copilot-pbr/hooks/hooks.json +0 -258
- package/plugins/copilot-pbr/plugin.json +0 -30
- package/plugins/copilot-pbr/references/agent-anti-patterns.md +0 -25
- package/plugins/copilot-pbr/references/agent-contracts.md +0 -297
- package/plugins/copilot-pbr/references/agent-interactions.md +0 -135
- package/plugins/copilot-pbr/references/agent-teams.md +0 -55
- package/plugins/copilot-pbr/references/checkpoints.md +0 -158
- package/plugins/copilot-pbr/references/common-bug-patterns.md +0 -14
- package/plugins/copilot-pbr/references/config-reference.md +0 -442
- package/plugins/copilot-pbr/references/continuation-format.md +0 -213
- package/plugins/copilot-pbr/references/deviation-rules.md +0 -113
- package/plugins/copilot-pbr/references/git-integration.md +0 -227
- package/plugins/copilot-pbr/references/integration-patterns.md +0 -118
- package/plugins/copilot-pbr/references/model-profiles.md +0 -100
- package/plugins/copilot-pbr/references/model-selection.md +0 -32
- package/plugins/copilot-pbr/references/pbr-rules.md +0 -195
- package/plugins/copilot-pbr/references/pbr-tools-cli.md +0 -285
- package/plugins/copilot-pbr/references/plan-authoring.md +0 -182
- package/plugins/copilot-pbr/references/plan-format.md +0 -288
- package/plugins/copilot-pbr/references/planning-config.md +0 -214
- package/plugins/copilot-pbr/references/questioning.md +0 -215
- package/plugins/copilot-pbr/references/reading-verification.md +0 -128
- package/plugins/copilot-pbr/references/stub-patterns.md +0 -161
- package/plugins/copilot-pbr/references/subagent-coordination.md +0 -120
- package/plugins/copilot-pbr/references/ui-formatting.md +0 -444
- package/plugins/copilot-pbr/references/verification-patterns.md +0 -199
- package/plugins/copilot-pbr/references/wave-execution.md +0 -96
- package/plugins/copilot-pbr/rules/pbr-workflow.mdc +0 -48
- package/plugins/copilot-pbr/setup.ps1 +0 -93
- package/plugins/copilot-pbr/setup.sh +0 -93
- package/plugins/copilot-pbr/skills/audit/SKILL.md +0 -330
- package/plugins/copilot-pbr/skills/begin/SKILL.md +0 -589
- package/plugins/copilot-pbr/skills/begin/templates/PROJECT.md.tmpl +0 -34
- package/plugins/copilot-pbr/skills/begin/templates/REQUIREMENTS.md.tmpl +0 -19
- package/plugins/copilot-pbr/skills/begin/templates/STATE.md.tmpl +0 -50
- package/plugins/copilot-pbr/skills/begin/templates/config.json.tmpl +0 -64
- package/plugins/copilot-pbr/skills/begin/templates/researcher-prompt.md.tmpl +0 -20
- package/plugins/copilot-pbr/skills/begin/templates/roadmap-prompt.md.tmpl +0 -31
- package/plugins/copilot-pbr/skills/begin/templates/synthesis-prompt.md.tmpl +0 -17
- package/plugins/copilot-pbr/skills/build/SKILL.md +0 -960
- package/plugins/copilot-pbr/skills/config/SKILL.md +0 -250
- package/plugins/copilot-pbr/skills/continue/SKILL.md +0 -159
- package/plugins/copilot-pbr/skills/dashboard/SKILL.md +0 -43
- package/plugins/copilot-pbr/skills/debug/SKILL.md +0 -508
- package/plugins/copilot-pbr/skills/debug/templates/continuation-prompt.md.tmpl +0 -17
- package/plugins/copilot-pbr/skills/debug/templates/initial-investigation-prompt.md.tmpl +0 -28
- package/plugins/copilot-pbr/skills/discuss/SKILL.md +0 -353
- package/plugins/copilot-pbr/skills/discuss/templates/CONTEXT.md.tmpl +0 -62
- package/plugins/copilot-pbr/skills/discuss/templates/decision-categories.md +0 -10
- package/plugins/copilot-pbr/skills/do/SKILL.md +0 -66
- package/plugins/copilot-pbr/skills/explore/SKILL.md +0 -373
- package/plugins/copilot-pbr/skills/health/SKILL.md +0 -283
- package/plugins/copilot-pbr/skills/health/templates/check-pattern.md.tmpl +0 -31
- package/plugins/copilot-pbr/skills/health/templates/output-format.md.tmpl +0 -64
- package/plugins/copilot-pbr/skills/help/SKILL.md +0 -193
- package/plugins/copilot-pbr/skills/import/SKILL.md +0 -502
- package/plugins/copilot-pbr/skills/milestone/SKILL.md +0 -806
- package/plugins/copilot-pbr/skills/milestone/templates/audit-report.md.tmpl +0 -49
- package/plugins/copilot-pbr/skills/milestone/templates/stats-file.md.tmpl +0 -31
- package/plugins/copilot-pbr/skills/note/SKILL.md +0 -213
- package/plugins/copilot-pbr/skills/pause/SKILL.md +0 -247
- package/plugins/copilot-pbr/skills/pause/templates/continue-here.md.tmpl +0 -72
- package/plugins/copilot-pbr/skills/plan/SKILL.md +0 -662
- package/plugins/copilot-pbr/skills/plan/templates/checker-prompt.md.tmpl +0 -22
- package/plugins/copilot-pbr/skills/plan/templates/gap-closure-prompt.md.tmpl +0 -33
- package/plugins/copilot-pbr/skills/plan/templates/planner-prompt.md.tmpl +0 -39
- package/plugins/copilot-pbr/skills/plan/templates/researcher-prompt.md.tmpl +0 -20
- package/plugins/copilot-pbr/skills/plan/templates/revision-prompt.md.tmpl +0 -24
- package/plugins/copilot-pbr/skills/quick/SKILL.md +0 -376
- package/plugins/copilot-pbr/skills/resume/SKILL.md +0 -399
- package/plugins/copilot-pbr/skills/review/SKILL.md +0 -653
- package/plugins/copilot-pbr/skills/review/templates/debugger-prompt.md.tmpl +0 -61
- package/plugins/copilot-pbr/skills/review/templates/gap-planner-prompt.md.tmpl +0 -41
- package/plugins/copilot-pbr/skills/review/templates/verifier-prompt.md.tmpl +0 -116
- package/plugins/copilot-pbr/skills/scan/SKILL.md +0 -299
- package/plugins/copilot-pbr/skills/scan/templates/mapper-prompt.md.tmpl +0 -202
- package/plugins/copilot-pbr/skills/setup/SKILL.md +0 -296
- package/plugins/copilot-pbr/skills/shared/commit-planning-docs.md +0 -36
- package/plugins/copilot-pbr/skills/shared/config-loading.md +0 -103
- package/plugins/copilot-pbr/skills/shared/context-budget.md +0 -41
- package/plugins/copilot-pbr/skills/shared/context-loader-task.md +0 -87
- package/plugins/copilot-pbr/skills/shared/digest-select.md +0 -80
- package/plugins/copilot-pbr/skills/shared/domain-probes.md +0 -126
- package/plugins/copilot-pbr/skills/shared/error-recovery-strategies.md +0 -51
- package/plugins/copilot-pbr/skills/shared/error-reporting.md +0 -81
- package/plugins/copilot-pbr/skills/shared/gate-prompts.md +0 -389
- package/plugins/copilot-pbr/skills/shared/phase-argument-parsing.md +0 -46
- package/plugins/copilot-pbr/skills/shared/progress-display.md +0 -53
- package/plugins/copilot-pbr/skills/shared/revision-loop.md +0 -82
- package/plugins/copilot-pbr/skills/shared/state-loading.md +0 -63
- package/plugins/copilot-pbr/skills/shared/state-update.md +0 -162
- package/plugins/copilot-pbr/skills/shared/universal-anti-patterns.md +0 -38
- package/plugins/copilot-pbr/skills/status/SKILL.md +0 -362
- package/plugins/copilot-pbr/skills/statusline/SKILL.md +0 -149
- package/plugins/copilot-pbr/skills/todo/SKILL.md +0 -279
- package/plugins/copilot-pbr/templates/CONTEXT.md.tmpl +0 -53
- package/plugins/copilot-pbr/templates/INTEGRATION-REPORT.md.tmpl +0 -152
- package/plugins/copilot-pbr/templates/RESEARCH-SUMMARY.md.tmpl +0 -98
- package/plugins/copilot-pbr/templates/ROADMAP.md.tmpl +0 -41
- package/plugins/copilot-pbr/templates/SUMMARY.md.tmpl +0 -82
- package/plugins/copilot-pbr/templates/VERIFICATION-DETAIL.md.tmpl +0 -117
- package/plugins/copilot-pbr/templates/codebase/ARCHITECTURE.md.tmpl +0 -98
- package/plugins/copilot-pbr/templates/codebase/CONCERNS.md.tmpl +0 -93
- package/plugins/copilot-pbr/templates/codebase/CONVENTIONS.md.tmpl +0 -104
- package/plugins/copilot-pbr/templates/codebase/INTEGRATIONS.md.tmpl +0 -78
- package/plugins/copilot-pbr/templates/codebase/STACK.md.tmpl +0 -78
- package/plugins/copilot-pbr/templates/codebase/STRUCTURE.md.tmpl +0 -80
- package/plugins/copilot-pbr/templates/codebase/TESTING.md.tmpl +0 -107
- package/plugins/copilot-pbr/templates/continue-here.md.tmpl +0 -74
- package/plugins/copilot-pbr/templates/prompt-partials/phase-project-context.md.tmpl +0 -38
- package/plugins/copilot-pbr/templates/research/ARCHITECTURE.md.tmpl +0 -124
- package/plugins/copilot-pbr/templates/research/STACK.md.tmpl +0 -71
- package/plugins/copilot-pbr/templates/research/SUMMARY.md.tmpl +0 -112
- package/plugins/copilot-pbr/templates/research-outputs/phase-research.md.tmpl +0 -81
- package/plugins/copilot-pbr/templates/research-outputs/project-research.md.tmpl +0 -99
- package/plugins/copilot-pbr/templates/research-outputs/synthesis.md.tmpl +0 -36
- package/plugins/cursor-pbr/.cursor-plugin/plugin.json +0 -32
- package/plugins/cursor-pbr/CHANGELOG.md +0 -15
- package/plugins/cursor-pbr/README.md +0 -123
- package/plugins/cursor-pbr/agents/audit.md +0 -178
- package/plugins/cursor-pbr/agents/codebase-mapper.md +0 -150
- package/plugins/cursor-pbr/agents/debugger.md +0 -181
- package/plugins/cursor-pbr/agents/executor.md +0 -266
- package/plugins/cursor-pbr/agents/general.md +0 -87
- package/plugins/cursor-pbr/agents/integration-checker.md +0 -118
- package/plugins/cursor-pbr/agents/plan-checker.md +0 -207
- package/plugins/cursor-pbr/agents/planner.md +0 -237
- package/plugins/cursor-pbr/agents/researcher.md +0 -185
- package/plugins/cursor-pbr/agents/synthesizer.md +0 -125
- package/plugins/cursor-pbr/agents/verifier.md +0 -227
- package/plugins/cursor-pbr/assets/.gitkeep +0 -0
- package/plugins/cursor-pbr/assets/logo.svg +0 -21
- package/plugins/cursor-pbr/hooks/hooks.json +0 -224
- package/plugins/cursor-pbr/references/agent-anti-patterns.md +0 -25
- package/plugins/cursor-pbr/references/agent-contracts.md +0 -297
- package/plugins/cursor-pbr/references/agent-interactions.md +0 -135
- package/plugins/cursor-pbr/references/agent-teams.md +0 -55
- package/plugins/cursor-pbr/references/checkpoints.md +0 -158
- package/plugins/cursor-pbr/references/common-bug-patterns.md +0 -14
- package/plugins/cursor-pbr/references/config-reference.md +0 -442
- package/plugins/cursor-pbr/references/continuation-format.md +0 -213
- package/plugins/cursor-pbr/references/deviation-rules.md +0 -113
- package/plugins/cursor-pbr/references/git-integration.md +0 -227
- package/plugins/cursor-pbr/references/integration-patterns.md +0 -118
- package/plugins/cursor-pbr/references/model-profiles.md +0 -100
- package/plugins/cursor-pbr/references/model-selection.md +0 -32
- package/plugins/cursor-pbr/references/pbr-rules.md +0 -195
- package/plugins/cursor-pbr/references/pbr-tools-cli.md +0 -285
- package/plugins/cursor-pbr/references/plan-authoring.md +0 -182
- package/plugins/cursor-pbr/references/plan-format.md +0 -288
- package/plugins/cursor-pbr/references/planning-config.md +0 -214
- package/plugins/cursor-pbr/references/questioning.md +0 -215
- package/plugins/cursor-pbr/references/reading-verification.md +0 -128
- package/plugins/cursor-pbr/references/stub-patterns.md +0 -161
- package/plugins/cursor-pbr/references/subagent-coordination.md +0 -120
- package/plugins/cursor-pbr/references/ui-formatting.md +0 -444
- package/plugins/cursor-pbr/references/verification-patterns.md +0 -199
- package/plugins/cursor-pbr/references/wave-execution.md +0 -96
- package/plugins/cursor-pbr/rules/pbr-workflow.mdc +0 -48
- package/plugins/cursor-pbr/setup.ps1 +0 -78
- package/plugins/cursor-pbr/setup.sh +0 -83
- package/plugins/cursor-pbr/skills/audit/SKILL.md +0 -331
- package/plugins/cursor-pbr/skills/begin/SKILL.md +0 -589
- package/plugins/cursor-pbr/skills/begin/templates/PROJECT.md.tmpl +0 -34
- package/plugins/cursor-pbr/skills/begin/templates/REQUIREMENTS.md.tmpl +0 -19
- package/plugins/cursor-pbr/skills/begin/templates/STATE.md.tmpl +0 -50
- package/plugins/cursor-pbr/skills/begin/templates/config.json.tmpl +0 -64
- package/plugins/cursor-pbr/skills/begin/templates/researcher-prompt.md.tmpl +0 -20
- package/plugins/cursor-pbr/skills/begin/templates/roadmap-prompt.md.tmpl +0 -31
- package/plugins/cursor-pbr/skills/begin/templates/synthesis-prompt.md.tmpl +0 -17
- package/plugins/cursor-pbr/skills/build/SKILL.md +0 -961
- package/plugins/cursor-pbr/skills/config/SKILL.md +0 -252
- package/plugins/cursor-pbr/skills/continue/SKILL.md +0 -159
- package/plugins/cursor-pbr/skills/dashboard/SKILL.md +0 -44
- package/plugins/cursor-pbr/skills/debug/SKILL.md +0 -512
- package/plugins/cursor-pbr/skills/debug/templates/continuation-prompt.md.tmpl +0 -17
- package/plugins/cursor-pbr/skills/debug/templates/initial-investigation-prompt.md.tmpl +0 -28
- package/plugins/cursor-pbr/skills/discuss/SKILL.md +0 -354
- package/plugins/cursor-pbr/skills/discuss/templates/CONTEXT.md.tmpl +0 -62
- package/plugins/cursor-pbr/skills/discuss/templates/decision-categories.md +0 -10
- package/plugins/cursor-pbr/skills/do/SKILL.md +0 -67
- package/plugins/cursor-pbr/skills/explore/SKILL.md +0 -376
- package/plugins/cursor-pbr/skills/health/SKILL.md +0 -283
- package/plugins/cursor-pbr/skills/health/templates/check-pattern.md.tmpl +0 -31
- package/plugins/cursor-pbr/skills/health/templates/output-format.md.tmpl +0 -64
- package/plugins/cursor-pbr/skills/help/SKILL.md +0 -193
- package/plugins/cursor-pbr/skills/import/SKILL.md +0 -505
- package/plugins/cursor-pbr/skills/milestone/SKILL.md +0 -807
- package/plugins/cursor-pbr/skills/milestone/templates/audit-report.md.tmpl +0 -49
- package/plugins/cursor-pbr/skills/milestone/templates/stats-file.md.tmpl +0 -31
- package/plugins/cursor-pbr/skills/note/SKILL.md +0 -214
- package/plugins/cursor-pbr/skills/pause/SKILL.md +0 -248
- package/plugins/cursor-pbr/skills/pause/templates/continue-here.md.tmpl +0 -72
- package/plugins/cursor-pbr/skills/plan/SKILL.md +0 -663
- package/plugins/cursor-pbr/skills/plan/templates/checker-prompt.md.tmpl +0 -22
- package/plugins/cursor-pbr/skills/plan/templates/gap-closure-prompt.md.tmpl +0 -33
- package/plugins/cursor-pbr/skills/plan/templates/planner-prompt.md.tmpl +0 -39
- package/plugins/cursor-pbr/skills/plan/templates/researcher-prompt.md.tmpl +0 -20
- package/plugins/cursor-pbr/skills/plan/templates/revision-prompt.md.tmpl +0 -24
- package/plugins/cursor-pbr/skills/quick/SKILL.md +0 -376
- package/plugins/cursor-pbr/skills/resume/SKILL.md +0 -399
- package/plugins/cursor-pbr/skills/review/SKILL.md +0 -654
- package/plugins/cursor-pbr/skills/review/templates/debugger-prompt.md.tmpl +0 -61
- package/plugins/cursor-pbr/skills/review/templates/gap-planner-prompt.md.tmpl +0 -41
- package/plugins/cursor-pbr/skills/review/templates/verifier-prompt.md.tmpl +0 -116
- package/plugins/cursor-pbr/skills/scan/SKILL.md +0 -300
- package/plugins/cursor-pbr/skills/scan/templates/mapper-prompt.md.tmpl +0 -202
- package/plugins/cursor-pbr/skills/setup/SKILL.md +0 -296
- package/plugins/cursor-pbr/skills/shared/commit-planning-docs.md +0 -36
- package/plugins/cursor-pbr/skills/shared/config-loading.md +0 -103
- package/plugins/cursor-pbr/skills/shared/context-budget.md +0 -41
- package/plugins/cursor-pbr/skills/shared/context-loader-task.md +0 -87
- package/plugins/cursor-pbr/skills/shared/digest-select.md +0 -80
- package/plugins/cursor-pbr/skills/shared/domain-probes.md +0 -126
- package/plugins/cursor-pbr/skills/shared/error-recovery-strategies.md +0 -51
- package/plugins/cursor-pbr/skills/shared/error-reporting.md +0 -81
- package/plugins/cursor-pbr/skills/shared/gate-prompts.md +0 -389
- package/plugins/cursor-pbr/skills/shared/phase-argument-parsing.md +0 -46
- package/plugins/cursor-pbr/skills/shared/progress-display.md +0 -53
- package/plugins/cursor-pbr/skills/shared/revision-loop.md +0 -82
- package/plugins/cursor-pbr/skills/shared/state-loading.md +0 -63
- package/plugins/cursor-pbr/skills/shared/state-update.md +0 -162
- package/plugins/cursor-pbr/skills/shared/universal-anti-patterns.md +0 -38
- package/plugins/cursor-pbr/skills/status/SKILL.md +0 -362
- package/plugins/cursor-pbr/skills/statusline/SKILL.md +0 -150
- package/plugins/cursor-pbr/skills/todo/SKILL.md +0 -280
- package/plugins/cursor-pbr/templates/CONTEXT.md.tmpl +0 -53
- package/plugins/cursor-pbr/templates/INTEGRATION-REPORT.md.tmpl +0 -152
- package/plugins/cursor-pbr/templates/RESEARCH-SUMMARY.md.tmpl +0 -98
- package/plugins/cursor-pbr/templates/ROADMAP.md.tmpl +0 -41
- package/plugins/cursor-pbr/templates/SUMMARY.md.tmpl +0 -82
- package/plugins/cursor-pbr/templates/VERIFICATION-DETAIL.md.tmpl +0 -117
- package/plugins/cursor-pbr/templates/codebase/ARCHITECTURE.md.tmpl +0 -98
- package/plugins/cursor-pbr/templates/codebase/CONCERNS.md.tmpl +0 -93
- package/plugins/cursor-pbr/templates/codebase/CONVENTIONS.md.tmpl +0 -104
- package/plugins/cursor-pbr/templates/codebase/INTEGRATIONS.md.tmpl +0 -78
- package/plugins/cursor-pbr/templates/codebase/STACK.md.tmpl +0 -78
- package/plugins/cursor-pbr/templates/codebase/STRUCTURE.md.tmpl +0 -80
- package/plugins/cursor-pbr/templates/codebase/TESTING.md.tmpl +0 -107
- package/plugins/cursor-pbr/templates/continue-here.md.tmpl +0 -74
- package/plugins/cursor-pbr/templates/prompt-partials/phase-project-context.md.tmpl +0 -38
- package/plugins/cursor-pbr/templates/research/ARCHITECTURE.md.tmpl +0 -124
- package/plugins/cursor-pbr/templates/research/STACK.md.tmpl +0 -71
- package/plugins/cursor-pbr/templates/research/SUMMARY.md.tmpl +0 -112
- package/plugins/cursor-pbr/templates/research-outputs/phase-research.md.tmpl +0 -81
- package/plugins/cursor-pbr/templates/research-outputs/project-research.md.tmpl +0 -99
- package/plugins/cursor-pbr/templates/research-outputs/synthesis.md.tmpl +0 -36
- package/plugins/pbr/references/agent-interactions.md +0 -134
- package/plugins/pbr/references/pbr-rules.md +0 -194
- package/plugins/pbr/references/pbr-tools-cli.md +0 -285
- package/plugins/pbr/references/planning-config.md +0 -213
- package/plugins/pbr/references/subagent-coordination.md +0 -119
- package/plugins/pbr/references/ui-formatting.md +0 -444
- package/plugins/pbr/scripts/validate-plugin-structure.js +0 -183
- package/plugins/pbr/skills/milestone/templates/audit-report.md.tmpl +0 -48
- package/plugins/pbr/skills/shared/error-recovery-strategies.md +0 -51
- package/plugins/pbr/skills/shared/progress-display.md +0 -53
- package/plugins/pbr/skills/shared/state-loading.md +0 -62
- package/plugins/pbr/templates/RESEARCH-SUMMARY.md.tmpl +0 -97
- package/plugins/pbr/templates/research/ARCHITECTURE.md.tmpl +0 -124
- package/plugins/pbr/templates/research/STACK.md.tmpl +0 -71
- package/plugins/pbr/templates/research/SUMMARY.md.tmpl +0 -112
- package/plugins/pbr/templates/research-outputs/phase-research.md.tmpl +0 -81
- package/plugins/pbr/templates/research-outputs/project-research.md.tmpl +0 -99
- package/plugins/pbr/templates/research-outputs/synthesis.md.tmpl +0 -36
- /package/plugins/pbr/references/{agent-anti-patterns.md → archive/agent-anti-patterns.md} +0 -0
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: discuss
|
|
3
3
|
description: "Talk through a phase before planning. Identifies gray areas and captures your decisions."
|
|
4
4
|
allowed-tools: Read, Write, Glob, Grep, AskUserQuestion
|
|
5
|
-
argument-hint: "<phase-number>"
|
|
5
|
+
argument-hint: "<phase-number> [--auto] | --project"
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
**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.**
|
|
@@ -19,7 +19,12 @@ argument-hint: "<phase-number>"
|
|
|
19
19
|
|
|
20
20
|
Then proceed to Step 1.
|
|
21
21
|
|
|
22
|
-
# /pbr:discuss — Pre-Planning Discussion
|
|
22
|
+
# /pbr:discuss-phase — Pre-Planning Discussion
|
|
23
|
+
|
|
24
|
+
**References:** `@references/questioning.md`, `@references/ui-brand.md`
|
|
25
|
+
|
|
26
|
+
Reference: `skills/shared/context-budget.md` for the universal orchestrator rules.
|
|
27
|
+
Reference: `skills/shared/context-loader-task.md` for efficient context loading patterns.
|
|
23
28
|
|
|
24
29
|
You are running the **discuss** skill. Your job is to help the user think through a phase BEFORE planning begins. You identify gray areas where the user's preference matters, ask structured questions, and capture every decision in a CONTEXT.md file that the planner must honor.
|
|
25
30
|
|
|
@@ -27,6 +32,22 @@ This skill runs **inline** (no Task delegation).
|
|
|
27
32
|
|
|
28
33
|
---
|
|
29
34
|
|
|
35
|
+
## Multi-Session Sync
|
|
36
|
+
|
|
37
|
+
Before any phase-modifying operations (writing CONTEXT.md, updating STATE.md), acquire a claim:
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
acquireClaim(phaseDir, sessionId)
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
If the claim fails (another session owns this phase), display: "Another session owns this phase. Use `/pbr:progress` to see active claims."
|
|
44
|
+
|
|
45
|
+
On completion or error (including all exit paths), release the claim:
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
releaseClaim(phaseDir, sessionId)
|
|
49
|
+
```
|
|
50
|
+
|
|
30
51
|
## Core Principle
|
|
31
52
|
|
|
32
53
|
**Decisions made here are LOCKED.** The planner cannot override them, even if research suggests a different approach. The planner must implement the locked decision and may note the discrepancy, but must follow the user's choice exactly.
|
|
@@ -37,12 +58,24 @@ This skill runs **inline** (no Task delegation).
|
|
|
37
58
|
|
|
38
59
|
### Step 1: Parse Phase Number and Check for Existing Plans
|
|
39
60
|
|
|
40
|
-
|
|
61
|
+
**CRITICAL (hook-enforced): Write .active-skill NOW.** Write the text "discuss" to `.planning/.active-skill` using the Write tool.
|
|
41
62
|
|
|
42
|
-
|
|
63
|
+
Parse `$ARGUMENTS`:
|
|
64
|
+
- If argument is `--project`: enter PROJECT mode (see Step 1-project below). Skip Steps 2-8.
|
|
65
|
+
- If argument is a phase number: enter PHASE mode (existing flow — continue with Step 1 as-is).
|
|
66
|
+
- If no argument: existing logic applies (read STATE.md for current phase).
|
|
67
|
+
- If `--auto` is present in `$ARGUMENTS`: set `auto_mode = true`. Log: "Auto mode enabled — batching gray area questions"
|
|
68
|
+
|
|
69
|
+
| Argument | Meaning |
|
|
70
|
+
|----------|---------|
|
|
71
|
+
| `3` | Discuss phase 3 |
|
|
72
|
+
| `3 --auto` | Discuss phase 3 with auto mode — batch all gray areas into a single presentation |
|
|
73
|
+
| `--project` | Discuss project-level cross-cutting decisions |
|
|
74
|
+
|
|
75
|
+
**Validation (PHASE mode):**
|
|
43
76
|
- Must be a valid phase number (integer or decimal like `3.1`)
|
|
44
77
|
- If no argument provided, read STATE.md to get the current phase
|
|
45
|
-
- If no current phase and no argument: "Which phase do you want to discuss? Run `/pbr:
|
|
78
|
+
- If no current phase and no argument: "Which phase do you want to discuss? Run `/pbr:progress` to see available phases."
|
|
46
79
|
|
|
47
80
|
**Phase directory resolution:**
|
|
48
81
|
1. List directories in `.planning/phases/`
|
|
@@ -56,17 +89,74 @@ Parse `$ARGUMENTS` to get the phase number.
|
|
|
56
89
|
|
|
57
90
|
Phase {N} not found.
|
|
58
91
|
|
|
59
|
-
**To fix:** Run `/pbr:
|
|
92
|
+
**To fix:** Run `/pbr:progress` to see available phases.
|
|
60
93
|
```
|
|
61
94
|
|
|
62
95
|
**Check for existing plans** (after resolving the phase directory):
|
|
63
96
|
1. Check for `PLAN.md` or `PLAN-*.md` files in the phase directory
|
|
64
97
|
2. If plan files exist:
|
|
65
|
-
- Warn: "Phase {N} already has plans. Decisions from this discussion won't retroactively change them. Consider re-planning with `/pbr:plan {N}` after."
|
|
98
|
+
- Warn: "Phase {N} already has plans. Decisions from this discussion won't retroactively change them. Consider re-planning with `/pbr:plan-phase {N}` after."
|
|
66
99
|
- This is a **warning only** — do not block the discussion
|
|
67
100
|
|
|
101
|
+
### Step 1-project: Project Discussion Mode (--project)
|
|
102
|
+
|
|
103
|
+
When invoked with `--project`, discuss project-level cross-cutting decisions.
|
|
104
|
+
This mode writes to `.planning/PROJECT.md` ## Context section (project-level), NOT a phase directory.
|
|
105
|
+
|
|
106
|
+
**Check for existing project context:**
|
|
107
|
+
1. Read `.planning/PROJECT.md` and check if it has a `## Context` section.
|
|
108
|
+
2. If it has a ## Context section:
|
|
109
|
+
**CRITICAL -- DO NOT SKIP**: Present the following choice to the user via AskUserQuestion before proceeding:
|
|
110
|
+
Ask the user (using the context-handling pattern from
|
|
111
|
+
`skills/shared/gate-prompts.md`):
|
|
112
|
+
question: "PROJECT.md already has a ## Context section. How should we handle it?"
|
|
113
|
+
options: Overwrite | Append | Cancel
|
|
114
|
+
3. If Cancel: stop and display the existing PROJECT.md path.
|
|
115
|
+
4. **Backwards compat:** If `.planning/CONTEXT.md` exists (legacy), read it as the existing context source for Append mode, then write merged result to PROJECT.md ## Context.
|
|
116
|
+
|
|
117
|
+
**Load project context:**
|
|
118
|
+
- Read `.planning/PROJECT.md` (if exists) — project vision, scope, and context (## Context section)
|
|
119
|
+
- Read `.planning/REQUIREMENTS.md` (if exists) — requirements for constraint awareness
|
|
120
|
+
- **Backwards compat:** If PROJECT.md has no ## Context but `.planning/CONTEXT.md` exists, read from the legacy file
|
|
121
|
+
|
|
122
|
+
**Run gray areas for project-level decisions (Steps 2.5-5 pattern):**
|
|
123
|
+
- Identify 3-4 cross-cutting architectural decisions across ALL phases
|
|
124
|
+
- Focus on: technology stack choices, infrastructure, security posture,
|
|
125
|
+
observability approach, deployment strategy, data storage decisions
|
|
126
|
+
- Follow the same Steps 3-5 pattern (gray areas → options → follow-ups)
|
|
127
|
+
|
|
128
|
+
**Write project context to PROJECT.md:**
|
|
129
|
+
1. Read `${CLAUDE_SKILL_DIR}/templates/project-CONTEXT.md.tmpl`
|
|
130
|
+
2. Fill in from discussion decisions:
|
|
131
|
+
- Locked Decisions table: all decisions the user made (not "Let Claude decide")
|
|
132
|
+
- User Constraints: budget, team, timeline, hosting from the conversation
|
|
133
|
+
- Deferred Ideas: anything explicitly ruled out for this project
|
|
134
|
+
- Claude's Discretion: decisions marked "Let Claude decide"
|
|
135
|
+
3. If Append mode: merge new decisions with existing PROJECT.md ## Context content
|
|
136
|
+
**CRITICAL: Write the discussion results to PROJECT.md NOW.**
|
|
137
|
+
|
|
138
|
+
4. Write to `.planning/PROJECT.md` under the `## Context` section with subsections:
|
|
139
|
+
- `### Locked Decisions`
|
|
140
|
+
- `### User Constraints`
|
|
141
|
+
- `### Deferred Ideas`
|
|
142
|
+
|
|
143
|
+
**Update STATE.md pointer:**
|
|
144
|
+
Add under Accumulated Context:
|
|
145
|
+
```
|
|
146
|
+
Project context: .planning/PROJECT.md ## Context ({N} locked decisions, {N} deferred, {N} discretion)
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
**After writing:** Auto-sync to CLAUDE.md is handled by the post-write-dispatch hook.
|
|
150
|
+
Display: `✓ Project context written to PROJECT.md — locked decisions will auto-sync to CLAUDE.md`
|
|
151
|
+
|
|
152
|
+
Skip to Cleanup step. Do NOT run Steps 2-8 of the phase flow.
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
68
156
|
### Step 2: Load Phase Context
|
|
69
157
|
|
|
158
|
+
Reference: `skills/shared/context-loader-task.md` for efficient context loading patterns.
|
|
159
|
+
|
|
70
160
|
Read the following files to understand what this phase needs to accomplish:
|
|
71
161
|
|
|
72
162
|
1. **ROADMAP.md** — Find the phase entry. Extract:
|
|
@@ -85,7 +175,9 @@ Read the following files to understand what this phase needs to accomplish:
|
|
|
85
175
|
3. **REQUIREMENTS.md** (if exists) — Read project requirements relevant to this phase. **CRITICAL**: After reading, display to the user which specific requirements map to this phase. Flag any requirements that could constrain decisions. If the user's discussion decisions later contradict a stated requirement, surface the contradiction immediately — don't wait until planning.
|
|
86
176
|
|
|
87
177
|
4. **CONTEXT.md** (if exists in the phase directory) — Check if a prior discussion already happened
|
|
88
|
-
- If CONTEXT.md exists, inform the user and
|
|
178
|
+
- If CONTEXT.md exists, inform the user and:
|
|
179
|
+
**CRITICAL -- DO NOT SKIP**: Present the following choice to the user via AskUserQuestion before proceeding:
|
|
180
|
+
Use the **context-handling** pattern from `skills/shared/gate-prompts.md`:
|
|
89
181
|
question: "Phase {N} already has a CONTEXT.md from a prior discussion. How should we handle it?"
|
|
90
182
|
|
|
91
183
|
Handle responses:
|
|
@@ -116,7 +208,7 @@ Before jumping into specific gray areas, give the user space to share their ment
|
|
|
116
208
|
|
|
117
209
|
Analyze the phase goal, requirements, and what's already built. Identify **3-4 gray areas** where the user's preference matters. Gray areas fall into these categories:
|
|
118
210
|
|
|
119
|
-
Read
|
|
211
|
+
Read `${CLAUDE_SKILL_DIR}/templates/decision-categories.md` for the category reference table.
|
|
120
212
|
|
|
121
213
|
**How to identify gray areas:**
|
|
122
214
|
1. Look at the phase requirements — where are there multiple valid approaches?
|
|
@@ -128,6 +220,11 @@ Read `skills/discuss/templates/decision-categories.md` for the category referenc
|
|
|
128
220
|
|
|
129
221
|
### Step 4: Present Gray Areas
|
|
130
222
|
|
|
223
|
+
**Smart batching (auto_mode):** When `auto_mode` is true, collect ALL gray areas and present them in a single batch rather than one at a time. Present all gray areas together with their options so the user can respond to everything at once. This reduces interaction rounds while still capturing user decisions. After the user responds, proceed to Step 5 with all decisions.
|
|
224
|
+
|
|
225
|
+
**Standard mode (auto_mode is false or absent):**
|
|
226
|
+
|
|
227
|
+
**CRITICAL -- DO NOT SKIP**: Present the following choice to the user via AskUserQuestion before proceeding:
|
|
131
228
|
Present each gray area to the user using the **gray-area-option** pattern from `skills/shared/gate-prompts.md`. For each gray area:
|
|
132
229
|
|
|
133
230
|
Use AskUserQuestion:
|
|
@@ -149,6 +246,28 @@ If more than 3 concrete options exist for a gray area, present only the top 3 pl
|
|
|
149
246
|
- If the user gives a preference not in the options, accept it
|
|
150
247
|
- If the user says "I don't care", mark it as Claude's Discretion
|
|
151
248
|
|
|
249
|
+
### Step 4b: Advisor Research (optional, for technology decisions)
|
|
250
|
+
|
|
251
|
+
If any gray area involves a **technology choice** (library selection, framework decision, architecture pattern) and the user expresses uncertainty or asks "which is better?", spawn a focused research agent:
|
|
252
|
+
|
|
253
|
+
```
|
|
254
|
+
Task({
|
|
255
|
+
subagent_type: "pbr:advisor-researcher",
|
|
256
|
+
prompt: "<files_to_read>
|
|
257
|
+
1. .planning/PROJECT.md — project context and constraints
|
|
258
|
+
2. .planning/CONTEXT.md — existing locked decisions (if exists)
|
|
259
|
+
</files_to_read>
|
|
260
|
+
Decision area: {gray area title}
|
|
261
|
+
Context: {project constraints, existing stack}
|
|
262
|
+
Options to compare: {options from Step 4}
|
|
263
|
+
Return a structured comparison table with recommendation."
|
|
264
|
+
})
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
After the advisor returns, present the comparison table to the user and let them make the final decision. The user's choice becomes the locked decision — the advisor's recommendation is advisory only.
|
|
268
|
+
|
|
269
|
+
**Skip this step if:** No gray areas involve technology choices, or the user already made confident decisions in Step 4.
|
|
270
|
+
|
|
152
271
|
### Step 5: Deep-Dive Each Selected Area
|
|
153
272
|
|
|
154
273
|
For each gray area where the user made a decision (not "Let Claude decide"), ask **4 follow-up questions** to fully capture their intent.
|
|
@@ -159,6 +278,7 @@ For each gray area where the user made a decision (not "Let Claude decide"), ask
|
|
|
159
278
|
|
|
160
279
|
**CRITICAL — STOP: Do NOT skip this follow-up area.**
|
|
161
280
|
1. **Scope boundary**: "Should {feature} also handle {edge case}?"
|
|
281
|
+
**CRITICAL -- DO NOT SKIP**: Present the following choice to the user via AskUserQuestion before proceeding:
|
|
162
282
|
Use the **yes-no** pattern — this is a binary decision.
|
|
163
283
|
|
|
164
284
|
**CRITICAL — STOP: Do NOT skip this follow-up area.**
|
|
@@ -171,6 +291,7 @@ For each gray area where the user made a decision (not "Let Claude decide"), ask
|
|
|
171
291
|
|
|
172
292
|
**CRITICAL — STOP: Do NOT skip this follow-up area.**
|
|
173
293
|
4. **Future-proofing**: "Should we design this to support {potential future need}, or keep it simple?"
|
|
294
|
+
**CRITICAL -- DO NOT SKIP**: Present the following choice to the user via AskUserQuestion before proceeding:
|
|
174
295
|
Use the **yes-no** pattern:
|
|
175
296
|
question: "Design {feature} to support {future need}, or keep it simple for now?"
|
|
176
297
|
options:
|
|
@@ -187,20 +308,41 @@ For each gray area where the user made a decision (not "Let Claude decide"), ask
|
|
|
187
308
|
|
|
188
309
|
### Step 6: Capture Deferred Ideas
|
|
189
310
|
|
|
311
|
+
Reference: The deferred section prevents scope creep in downstream planning. See CONTEXT.md template.
|
|
312
|
+
|
|
190
313
|
During the conversation, the user may mention ideas they want but not in this phase. Track these separately:
|
|
314
|
+
|
|
191
315
|
- Ideas explicitly deferred by the user ("let's do that later")
|
|
192
316
|
- Ideas that are out of scope for this phase based on ROADMAP.md
|
|
193
317
|
- Ideas the user considered but rejected
|
|
194
318
|
|
|
319
|
+
### Step 6.5: Decision Gate (inline)
|
|
320
|
+
|
|
321
|
+
Before creating the CONTEXT.md artifact, confirm readiness with the user per `@references/questioning.md` decision gate pattern:
|
|
322
|
+
|
|
323
|
+
```
|
|
324
|
+
AskUserQuestion:
|
|
325
|
+
question: "I think I have a clear picture of your decisions for this phase. Ready to capture them in CONTEXT.md?"
|
|
326
|
+
header: "Ready?"
|
|
327
|
+
options:
|
|
328
|
+
- label: "Yes, proceed" description: "Write CONTEXT.md with captured decisions"
|
|
329
|
+
- label: "Keep exploring" description: "I want to share more or discuss further"
|
|
330
|
+
```
|
|
331
|
+
|
|
332
|
+
If "Keep exploring" -- ask what they want to add or identify gaps and probe naturally. Loop until "Yes, proceed" is selected.
|
|
333
|
+
|
|
334
|
+
**Freeform rule:** If the user selects "Keep exploring" and responds with freeform text (not selecting an option), switch to plain text conversation per `@references/questioning.md` freeform rule. Do NOT present another AskUserQuestion until you have processed their freeform response.
|
|
335
|
+
|
|
195
336
|
### Step 7: Write CONTEXT.md
|
|
196
337
|
|
|
338
|
+
**CRITICAL — DO NOT SKIP: Write CONTEXT.md NOW. This file is the sole output of the discuss skill. Skipping it means all decisions are lost.**
|
|
197
339
|
Write the CONTEXT.md file to the phase directory:
|
|
198
340
|
|
|
199
341
|
**Path:** `.planning/phases/{NN}-{phase-name}/CONTEXT.md`
|
|
200
342
|
|
|
201
343
|
**Content:**
|
|
202
344
|
|
|
203
|
-
Read
|
|
345
|
+
Read `${CLAUDE_SKILL_DIR}/templates/CONTEXT.md.tmpl` for the template structure.
|
|
204
346
|
|
|
205
347
|
**Placeholders to fill:**
|
|
206
348
|
- `{N}` -- the phase number
|
|
@@ -210,11 +352,22 @@ Read `skills/discuss/templates/CONTEXT.md.tmpl` for the template structure.
|
|
|
210
352
|
- `{Area}` / `{What Claude can choose}` -- items marked "Let Claude decide"
|
|
211
353
|
- `{2-3 sentences}` -- user's vision summary from the conversation
|
|
212
354
|
- `{Concern}` / `{Context}` -- concerns raised during discussion
|
|
355
|
+
- `<specifics>` -- concrete technical details, patterns, or conventions from the conversation
|
|
356
|
+
- `<code_context>` -- relevant files and modules referenced during discussion
|
|
213
357
|
|
|
214
358
|
**Decision Summary generation:** The `## Decision Summary` section at the top of CONTEXT.md is a compact digest (~300 tokens) of all decisions. For each locked decision, write only the title and the user's choice in one phrase (no scope/quality/integration details). List deferred and discretion items as comma-separated titles only. This summary is injected into agent prompts by the plan skill -- keep it concise.
|
|
215
359
|
|
|
360
|
+
**Downstream awareness:** The CONTEXT.md written here is consumed by:
|
|
361
|
+
|
|
362
|
+
- `/pbr:plan-phase` -- planner reads locked decisions as constraints
|
|
363
|
+
- `/pbr:execute-phase` -- executor receives decisions via planner's plan
|
|
364
|
+
- `/pbr:verify-work` -- verifier checks deliverables against phase intent
|
|
365
|
+
|
|
366
|
+
Ensure all locked decisions are written clearly enough for mechanical consumption.
|
|
367
|
+
|
|
216
368
|
### Step 7.5: Update STATE.md Pointer
|
|
217
369
|
|
|
370
|
+
**CRITICAL — DO NOT SKIP: Update STATE.md pointer to new CONTEXT.md NOW.**
|
|
218
371
|
Update `.planning/STATE.md`'s `## Accumulated Context` section to add a reference to the new CONTEXT.md:
|
|
219
372
|
|
|
220
373
|
Add under the `### Decisions` subsection:
|
|
@@ -222,11 +375,28 @@ Add under the `### Decisions` subsection:
|
|
|
222
375
|
Phase {N} discussion: .planning/phases/{NN}-{slug}/CONTEXT.md ({count} locked, {count} deferred, {count} discretion)
|
|
223
376
|
```
|
|
224
377
|
|
|
225
|
-
This creates a pointer so `/pbr:resume` and `progress-tracker.js` know that phase-specific decisions exist and where to find them.
|
|
378
|
+
This creates a pointer so `/pbr:resume-work` and `progress-tracker.js` know that phase-specific decisions exist and where to find them.
|
|
379
|
+
|
|
380
|
+
### Step 7.7: Write Discussion Log (audit trail)
|
|
381
|
+
|
|
382
|
+
Write `.planning/phases/{NN}-{slug}/DISCUSSION-LOG.md` as an audit trail of the discussion. This file is NOT consumed by agents — it's for human audit only.
|
|
383
|
+
|
|
384
|
+
Read `${CLAUDE_PLUGIN_ROOT}/templates/DISCUSSION-LOG.md.tmpl` for the format.
|
|
385
|
+
|
|
386
|
+
For each decision area discussed:
|
|
387
|
+
- Record all options that were presented
|
|
388
|
+
- Mark which option was selected
|
|
389
|
+
- Include the user's verbatim choice and any notes/rationale
|
|
390
|
+
- Record items delegated to Claude's discretion
|
|
391
|
+
- Record deferred ideas
|
|
392
|
+
|
|
393
|
+
This log is separate from CONTEXT.md (which is the implementation artifact for agents). The discussion log preserves the alternatives considered, not just the final decisions.
|
|
394
|
+
|
|
395
|
+
If `planning.commit_docs` is true, include in the next commit.
|
|
226
396
|
|
|
227
397
|
### Step 8: Confirm and Route
|
|
228
398
|
|
|
229
|
-
After writing CONTEXT.md, display branded output
|
|
399
|
+
After writing CONTEXT.md, display branded output per `@references/ui-brand.md`:
|
|
230
400
|
|
|
231
401
|
```
|
|
232
402
|
╔══════════════════════════════════════════════════════════════╗
|
|
@@ -235,9 +405,7 @@ After writing CONTEXT.md, display branded output:
|
|
|
235
405
|
|
|
236
406
|
**Phase {N}: {name}**
|
|
237
407
|
|
|
238
|
-
Decisions: {count} locked, {count} deferred, {count} discretion
|
|
239
|
-
|
|
240
|
-
|
|
408
|
+
✓ Decisions: {count} locked, {count} deferred, {count} discretion
|
|
241
409
|
|
|
242
410
|
╔══════════════════════════════════════════════════════════════╗
|
|
243
411
|
║ ▶ NEXT UP ║
|
|
@@ -245,19 +413,17 @@ Decisions: {count} locked, {count} deferred, {count} discretion
|
|
|
245
413
|
|
|
246
414
|
**Plan this phase** — your decisions will be honored
|
|
247
415
|
|
|
248
|
-
`/pbr:plan {N}`
|
|
416
|
+
`/pbr:plan-phase {N}`
|
|
249
417
|
|
|
250
418
|
<sub>`/clear` first → fresh context window</sub>
|
|
251
419
|
|
|
252
|
-
|
|
253
|
-
|
|
254
420
|
**Also available:**
|
|
255
|
-
- `/pbr:
|
|
421
|
+
- `/pbr:progress` — see project status
|
|
256
422
|
- `/pbr:explore` — explore ideas further
|
|
257
|
-
|
|
258
|
-
|
|
259
423
|
```
|
|
260
424
|
|
|
425
|
+
**Cleanup:** Delete `.planning/.active-skill` before finishing. This must happen on all paths (success, cancel, and error).
|
|
426
|
+
|
|
261
427
|
---
|
|
262
428
|
|
|
263
429
|
## Decision Categories Reference
|
|
@@ -305,7 +471,8 @@ These come from:
|
|
|
305
471
|
## Edge Cases
|
|
306
472
|
|
|
307
473
|
### Phase already has CONTEXT.md
|
|
308
|
-
-
|
|
474
|
+
- **CRITICAL -- DO NOT SKIP**: Present the following choice to the user via AskUserQuestion before proceeding:
|
|
475
|
+
Use the **context-handling** pattern from `skills/shared/gate-prompts.md` (same as Step 2)
|
|
309
476
|
- If "Overwrite": replace entirely
|
|
310
477
|
- If "Append": add new decisions below existing ones, marking them as "Amendment"
|
|
311
478
|
- If "Cancel": stop the discussion, keep existing CONTEXT.md
|
|
@@ -316,7 +483,7 @@ These come from:
|
|
|
316
483
|
|
|
317
484
|
### User wants to discuss multiple phases
|
|
318
485
|
- Handle one at a time
|
|
319
|
-
- After completing one, suggest: "Want to discuss Phase {N+1} too? Run `/pbr:discuss {N+1}`."
|
|
486
|
+
- After completing one, suggest: "Want to discuss Phase {N+1} too? Run `/pbr:discuss-phase {N+1}`."
|
|
320
487
|
|
|
321
488
|
### User disagrees with all options
|
|
322
489
|
- Ask: "What would you prefer instead?" — this is freeform text, do NOT use AskUserQuestion.
|
|
@@ -330,9 +497,21 @@ These come from:
|
|
|
330
497
|
|
|
331
498
|
---
|
|
332
499
|
|
|
500
|
+
## Error Handling
|
|
501
|
+
|
|
502
|
+
Reference: `skills/shared/error-reporting.md` for error output patterns.
|
|
503
|
+
|
|
504
|
+
If any step fails (file read error, directory not found, write failure):
|
|
505
|
+
|
|
506
|
+
1. Display branded error using the pattern from `error-reporting.md`
|
|
507
|
+
2. Clear `.planning/.active-skill` before exiting
|
|
508
|
+
3. Do NOT leave partial CONTEXT.md files -- write atomically or not at all
|
|
509
|
+
|
|
510
|
+
---
|
|
511
|
+
|
|
333
512
|
## State Integration
|
|
334
513
|
|
|
335
|
-
This skill updates STATE.md's Accumulated Context section with a pointer to the phase CONTEXT.md file. It does NOT change the project position (current phase/plan). STATE.md position is updated when `/pbr:plan` runs.
|
|
514
|
+
This skill updates STATE.md's Accumulated Context section with a pointer to the phase CONTEXT.md file. It does NOT change the project position (current phase/plan). STATE.md position is updated when `/pbr:plan-phase` runs.
|
|
336
515
|
|
|
337
516
|
---
|
|
338
517
|
|
|
@@ -343,6 +522,8 @@ Reference: `skills/shared/commit-planning-docs.md` for the standard commit patte
|
|
|
343
522
|
If `planning.commit_docs: true` in config.json:
|
|
344
523
|
- Commit CONTEXT.md: `docs(planning): capture phase {N} discussion decisions`
|
|
345
524
|
|
|
525
|
+
**Memory capture:** Reference `skills/shared/memory-capture.md` — check researcher output for `<memory_suggestion>` blocks and save any reusable knowledge discovered during research.
|
|
526
|
+
|
|
346
527
|
---
|
|
347
528
|
|
|
348
529
|
## Anti-Patterns
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# Phase {N} Context
|
|
4
4
|
|
|
5
|
-
**Created by:** /pbr:discuss {N}
|
|
5
|
+
**Created by:** /pbr:discuss-phase {N}
|
|
6
6
|
**Date:** {ISO date}
|
|
7
7
|
|
|
8
8
|
## Decision Summary
|
|
@@ -59,3 +59,23 @@ where possible, quoting key phrases they used.}
|
|
|
59
59
|
Things the user raised during discussion that should inform planning:
|
|
60
60
|
|
|
61
61
|
- **{Concern}** -- {Context from the conversation}
|
|
62
|
+
|
|
63
|
+
## Specifics
|
|
64
|
+
|
|
65
|
+
<specifics>
|
|
66
|
+
Concrete technical details, patterns, or conventions the user specified during discussion.
|
|
67
|
+
These are more granular than locked decisions — they describe HOW something should be done.
|
|
68
|
+
|
|
69
|
+
- {Specific detail or pattern from the conversation}
|
|
70
|
+
- {Specific detail or pattern from the conversation}
|
|
71
|
+
</specifics>
|
|
72
|
+
|
|
73
|
+
## Code Context
|
|
74
|
+
|
|
75
|
+
<code_context>
|
|
76
|
+
Relevant files, modules, or code patterns referenced during the discussion.
|
|
77
|
+
Helps the planner and executor understand the codebase context for this phase.
|
|
78
|
+
|
|
79
|
+
- {file path or module}: {why it matters for this phase}
|
|
80
|
+
- {file path or module}: {why it matters for this phase}
|
|
81
|
+
</code_context>
|
|
@@ -5,66 +5,161 @@ allowed-tools: Read, Skill, AskUserQuestion
|
|
|
5
5
|
argument-hint: "<freeform description of what you want to do>"
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
**STOP
|
|
8
|
+
**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 ~3,000 tokens. Begin executing Step 1 immediately.**
|
|
9
9
|
|
|
10
|
-
# /pbr:do
|
|
10
|
+
# /pbr:do -- Freeform Task Router
|
|
11
11
|
|
|
12
|
-
You are running the **do** skill. Your job is to analyze freeform text from the user and route it to the most appropriate PBR skill. You are a dispatcher, not an executor
|
|
12
|
+
You are running the **do** skill. Your job is to analyze freeform text from the user and route it to the most appropriate PBR skill. You are a dispatcher, not an executor -- you never do the work yourself.
|
|
13
13
|
|
|
14
|
-
## Step 0
|
|
14
|
+
## Step 0 -- Immediate Output
|
|
15
15
|
|
|
16
16
|
**Before ANY tool calls**, display this banner:
|
|
17
17
|
|
|
18
18
|
```
|
|
19
19
|
╔══════════════════════════════════════════════════════════════╗
|
|
20
|
-
║ PLAN-BUILD-RUN ►
|
|
20
|
+
║ PLAN-BUILD-RUN ► DO ║
|
|
21
21
|
╚══════════════════════════════════════════════════════════════╝
|
|
22
22
|
```
|
|
23
23
|
|
|
24
24
|
Then proceed to Step 1.
|
|
25
25
|
|
|
26
|
-
## Step 1
|
|
26
|
+
## Step 1 -- Validate Input
|
|
27
27
|
|
|
28
28
|
If `$ARGUMENTS` is empty, ask the user what they want to do via AskUserQuestion:
|
|
29
|
+
|
|
29
30
|
```
|
|
30
31
|
What would you like to do? Describe the task, bug, or idea and I'll route it to the right skill.
|
|
31
32
|
```
|
|
32
33
|
|
|
33
|
-
## Step 2
|
|
34
|
+
## Step 2 -- Analyze and Route
|
|
35
|
+
|
|
36
|
+
### Step 2a -- Gather Context
|
|
37
|
+
|
|
38
|
+
1. Read `.planning/STATE.md` to get `current_phase`, `status`, `phase_slug`.
|
|
39
|
+
2. Check if `.planning/ROADMAP.md` exists (set `hasRoadmap`).
|
|
40
|
+
3. Build context object: `{ activePhase: phase_slug, hasRoadmap: boolean }`.
|
|
41
|
+
|
|
42
|
+
### Step 2b -- Check Config
|
|
43
|
+
|
|
44
|
+
1. Read `.planning/config.json` if it exists.
|
|
45
|
+
2. Check `features.natural_language_routing` (default: `true` if absent).
|
|
46
|
+
3. Check `features.adaptive_ceremony` (default: `true` if absent).
|
|
47
|
+
4. Check `ceremony_level` (default: `"auto"` if absent).
|
|
48
|
+
|
|
49
|
+
### Step 2c -- Intent Classification
|
|
50
|
+
|
|
51
|
+
**When NL routing is enabled** (`features.natural_language_routing` is true or absent):
|
|
34
52
|
|
|
35
|
-
|
|
53
|
+
Score `$ARGUMENTS` against these route keyword groups:
|
|
36
54
|
|
|
37
|
-
|
|
|
38
|
-
|
|
39
|
-
|
|
|
40
|
-
|
|
|
41
|
-
|
|
|
42
|
-
|
|
|
43
|
-
|
|
|
44
|
-
|
|
|
55
|
+
| Route | Keywords | Weight |
|
|
56
|
+
|-------|----------|--------|
|
|
57
|
+
| debug | bug, error, crash, fix, broken, failing, exception, stacktrace, debug | 1.0 |
|
|
58
|
+
| explore | explore, research, investigate, how does, how do, understand, analyze, compare | 1.0 |
|
|
59
|
+
| plan-phase | plan, architect, design, migrate, refactor across, redesign, system, new | 0.9 |
|
|
60
|
+
| quick | add, create, update, change, rename, remove, write test, implement, feature, refactor | 0.85 |
|
|
61
|
+
| note | remember, note, todo, idea, later, don't forget, remind | 1.0 |
|
|
62
|
+
| validate-phase | validate, coverage gaps, test gaps, missing tests, untested, requirement coverage | 1.0 |
|
|
63
|
+
| verify-work | review, check, verify, quality, looks right | 0.9 |
|
|
45
64
|
|
|
46
|
-
**
|
|
65
|
+
**Scoring algorithm:**
|
|
66
|
+
|
|
67
|
+
1. Count how many keywords from each route appear in the lowercased input.
|
|
68
|
+
2. Calculate confidence per route: `(0.5 + 0.5 * (1 - 1/(matches+1))) * weight`.
|
|
69
|
+
3. Apply context boosters:
|
|
70
|
+
- If there's a recent error in context: boost debug by +0.3.
|
|
71
|
+
- If an active phase exists: boost plan-phase by +0.1.
|
|
72
|
+
- If no roadmap exists: reduce plan-phase by -0.2.
|
|
73
|
+
4. Clamp all scores to 0-1.
|
|
74
|
+
|
|
75
|
+
**Routing decision:**
|
|
76
|
+
|
|
77
|
+
- If top confidence >= 0.7: proceed with that route.
|
|
78
|
+
- If top confidence < 0.7: present top 2-3 candidates to user via AskUserQuestion. Example:
|
|
47
79
|
|
|
48
80
|
```
|
|
49
|
-
|
|
50
|
-
- /pbr:
|
|
51
|
-
- /pbr:
|
|
81
|
+
Your request could match several skills:
|
|
82
|
+
- /pbr:quick (confidence: 0.65) -- Self-contained task execution
|
|
83
|
+
- /pbr:debug (confidence: 0.55) -- Systematic bug investigation
|
|
84
|
+
Which would you prefer?
|
|
52
85
|
```
|
|
53
86
|
|
|
54
|
-
|
|
87
|
+
**When NL routing is disabled** (`features.natural_language_routing` is false):
|
|
88
|
+
|
|
89
|
+
Fall back to the original static table -- apply the **first matching** rule:
|
|
90
|
+
|
|
91
|
+
| If the text describes... | Route to |
|
|
92
|
+
|--------------------------|----------|
|
|
93
|
+
| A bug, error, crash, failure, or something broken | `/pbr:debug` |
|
|
94
|
+
| Exploration, research, comparison, or "how does X work" | `/pbr:explore` |
|
|
95
|
+
| A complex task: refactoring, migration, multi-file architecture, system redesign | `/pbr:plan-phase add` |
|
|
96
|
+
| Validation, coverage gaps, missing tests, or untested requirements | `/pbr:validate-phase` |
|
|
97
|
+
| A review or quality concern about existing work | `/pbr:verify-work` |
|
|
98
|
+
| A note, idea, or "remember to..." | `/pbr:note` |
|
|
99
|
+
| A specific, actionable task (add feature, fix typo, update config, write test) | `/pbr:quick` |
|
|
100
|
+
|
|
101
|
+
### Step 2d -- Risk Classification
|
|
102
|
+
|
|
103
|
+
**When adaptive ceremony is enabled** (`features.adaptive_ceremony` is true or absent):
|
|
104
|
+
|
|
105
|
+
Analyze `$ARGUMENTS` for risk signals:
|
|
106
|
+
|
|
107
|
+
| Risk Level | Signal Keywords |
|
|
108
|
+
|------------|----------------|
|
|
109
|
+
| HIGH | migrate, redesign, refactor across, architecture, security, database schema, breaking change, entire, across |
|
|
110
|
+
| MEDIUM | implement, create, integrate, add feature, new endpoint, write test, add, endpoint, api |
|
|
111
|
+
| LOW | typo, rename, config, update, fix typo, comment, readme, docs |
|
|
112
|
+
|
|
113
|
+
**Scoring:** HIGH signals add +3, MEDIUM signals add +1, LOW signals add -1 each. Additional context factors: 8+ files affected (+3), 3+ files (+1), 3+ subsystems (+5), no existing tests (+1).
|
|
114
|
+
|
|
115
|
+
**Risk thresholds:** score >= 4 is HIGH, score >= 1 is MEDIUM, otherwise LOW.
|
|
116
|
+
|
|
117
|
+
**Ceremony override:** If `ceremony_level` is NOT `"auto"`, skip risk classification and use the override directly:
|
|
118
|
+
|
|
119
|
+
| ceremony_level | Ceremony |
|
|
120
|
+
|----------------|----------|
|
|
121
|
+
| low | inline |
|
|
122
|
+
| medium | lightweight-plan |
|
|
123
|
+
| high | full-plan-build-verify |
|
|
124
|
+
|
|
125
|
+
**Risk-to-ceremony mapping** (when `ceremony_level` is `"auto"`):
|
|
126
|
+
|
|
127
|
+
| Risk | Ceremony | Dispatch |
|
|
128
|
+
|------|----------|----------|
|
|
129
|
+
| low | inline | Route to `/pbr:quick` (inline execution, no plan file) |
|
|
130
|
+
| medium | lightweight-plan | Route to `/pbr:quick` (with note to create a lightweight plan) |
|
|
131
|
+
| high | full-plan-build-verify | Route to `/pbr:plan-phase add` (full plan-build-verify cycle) |
|
|
132
|
+
|
|
133
|
+
**When adaptive ceremony is disabled** (`features.adaptive_ceremony` is false):
|
|
134
|
+
|
|
135
|
+
Use the route from Step 2c without ceremony adjustment.
|
|
136
|
+
|
|
137
|
+
## Step 3 -- Confirm and Dispatch
|
|
55
138
|
|
|
56
139
|
Display the routing decision:
|
|
57
140
|
|
|
58
141
|
```
|
|
59
142
|
**Input:** {first 80 chars of arguments}
|
|
143
|
+
**Intent:** {skill} (confidence: {score})
|
|
144
|
+
**Risk:** {low|medium|high} -- {top signal}
|
|
145
|
+
**Ceremony:** {inline|lightweight-plan|full-plan-build-verify}
|
|
60
146
|
**Routing to:** {chosen skill}
|
|
61
|
-
**Reason:** {one-line explanation}
|
|
62
147
|
```
|
|
63
148
|
|
|
64
149
|
Then invoke the chosen skill via the Skill tool, passing `$ARGUMENTS` as the args.
|
|
65
150
|
|
|
66
|
-
**Special case for `/pbr:plan add`**: When routing to plan, check if `.planning/ROADMAP.md` exists first (via Read). If it doesn't, suggest `/pbr:
|
|
151
|
+
**Special case for `/pbr:plan-phase add`**: When routing to plan, check if `.planning/ROADMAP.md` exists first (via Read). If it doesn't, suggest `/pbr:new-project` instead -- the user needs to set up the project before they can add phases.
|
|
67
152
|
|
|
68
|
-
## Step 4
|
|
153
|
+
## Step 4 -- No Follow-Up
|
|
69
154
|
|
|
70
155
|
After invoking the skill, your job is done. The dispatched skill handles everything from here (execution, commits, state updates). Do not add any additional output after the Skill tool call.
|
|
156
|
+
|
|
157
|
+
## Feature Toggles
|
|
158
|
+
|
|
159
|
+
These config properties in `.planning/config.json` control routing behavior:
|
|
160
|
+
|
|
161
|
+
- `features.natural_language_routing: false` -- disables smart intent detection, falls back to static keyword table.
|
|
162
|
+
- `features.adaptive_ceremony: false` -- disables risk-based ceremony selection, uses intent route directly.
|
|
163
|
+
- `ceremony_level: "high"` -- forces full ceremony on everything (overrides risk classification).
|
|
164
|
+
- `ceremony_level: "low"` -- forces inline ceremony on everything.
|
|
165
|
+
- `ceremony_level: "auto"` -- (default) uses risk classification to determine ceremony.
|