@sienklogic/plan-build-run 2.18.1 → 2.19.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1265 -296
- package/CLAUDE.md +56 -34
- 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 +142 -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 +213 -0
- package/dashboard/server/routes/config.js +64 -0
- package/dashboard/server/routes/health.js +95 -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 +214 -0
- package/dashboard/server/services/file-watcher.js +105 -0
- package/dashboard/server/services/planning-reader.js +741 -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 +55 -40
- package/plan-build-run/bin/config-schema.json +1420 -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 +100 -0
- package/plugins/pbr/agents/audit.md +205 -89
- package/plugins/pbr/agents/codebase-mapper.md +158 -23
- package/plugins/pbr/agents/debugger.md +222 -30
- package/plugins/pbr/agents/dev-sync.md +206 -0
- package/plugins/pbr/agents/executor.md +717 -39
- package/plugins/pbr/agents/general.md +71 -6
- package/plugins/pbr/agents/integration-checker.md +146 -30
- package/plugins/pbr/agents/intel-updater.md +332 -0
- package/plugins/pbr/agents/nyquist-auditor.md +253 -0
- package/plugins/pbr/agents/plan-checker.md +270 -61
- package/plugins/pbr/agents/planner.md +440 -42
- package/plugins/pbr/agents/researcher.md +223 -36
- package/plugins/pbr/agents/roadmapper.md +397 -0
- package/plugins/pbr/agents/synthesizer.md +170 -26
- package/plugins/pbr/agents/ui-checker.md +203 -0
- package/plugins/pbr/agents/ui-researcher.md +224 -0
- package/plugins/pbr/agents/verifier.md +495 -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 +59 -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 +162 -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 +241 -0
- package/plugins/pbr/dist/check-read-first.js +345 -0
- package/plugins/pbr/dist/check-roadmap-sync.js +503 -0
- package/plugins/pbr/dist/check-skill-workflow.js +354 -0
- package/plugins/pbr/dist/check-state-sync.js +658 -0
- package/plugins/pbr/dist/check-subagent-output.js +452 -0
- package/plugins/pbr/dist/check-summary-gate.js +199 -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 +202 -0
- package/plugins/pbr/dist/event-logger.js +125 -0
- package/plugins/pbr/dist/feedback-loop.js +172 -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 +606 -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 +349 -0
- package/plugins/pbr/dist/log-tool-failure.js +140 -0
- package/plugins/pbr/dist/milestone-learnings.js +569 -0
- package/plugins/pbr/dist/pbr-tools.js +2044 -0
- package/plugins/pbr/dist/post-bash-triage.js +154 -0
- package/plugins/pbr/dist/post-compact.js +135 -0
- package/plugins/pbr/dist/post-hoc.js +286 -0
- package/plugins/pbr/dist/post-write-dispatch.js +279 -0
- package/plugins/pbr/dist/post-write-quality.js +208 -0
- package/plugins/pbr/dist/pre-bash-dispatch.js +218 -0
- package/plugins/pbr/dist/pre-skill-dispatch.js +114 -0
- package/plugins/pbr/dist/pre-task-dispatch.js +297 -0
- package/plugins/pbr/dist/pre-write-dispatch.js +234 -0
- package/plugins/pbr/dist/progress-tracker.js +198 -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 +144 -0
- package/plugins/pbr/dist/session-cleanup.js +683 -0
- package/plugins/pbr/dist/session-tracker.js +124 -0
- package/plugins/pbr/dist/status-line.js +847 -0
- package/plugins/pbr/dist/suggest-compact.js +315 -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 +271 -0
- package/plugins/pbr/dist/validate-skill-args.js +222 -0
- package/plugins/pbr/dist/validate-task.js +301 -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 +143 -60
- package/plugins/pbr/references/agent-contracts.md +40 -9
- 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/behavioral-contexts.md +53 -0
- package/plugins/pbr/references/checkpoints.md +723 -104
- package/plugins/pbr/references/config-reference.md +472 -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/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 +161 -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/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 +59 -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 +452 -0
- package/plugins/pbr/scripts/audit-checks/session-quality.js +980 -0
- package/plugins/pbr/scripts/audit-checks/si-agent-hook-config-checks.js +466 -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 +1211 -0
- package/plugins/pbr/scripts/audit-dimensions.js +556 -0
- package/plugins/pbr/scripts/auto-continue.js +198 -31
- 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 +162 -0
- 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 +166 -277
- package/plugins/pbr/scripts/check-read-first.js +345 -0
- package/plugins/pbr/scripts/check-roadmap-sync.js +167 -10
- package/plugins/pbr/scripts/check-skill-workflow.js +24 -27
- package/plugins/pbr/scripts/check-state-sync.js +339 -215
- package/plugins/pbr/scripts/check-subagent-output.js +338 -276
- package/plugins/pbr/scripts/check-summary-gate.js +2 -1
- package/plugins/pbr/scripts/config-schema.json +1247 -95
- package/plugins/pbr/scripts/context-bridge.js +425 -0
- package/plugins/pbr/scripts/context-budget-check.js +169 -14
- 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 +128 -77
- package/plugins/pbr/scripts/event-logger.js +58 -25
- package/plugins/pbr/scripts/feedback-loop.js +172 -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 +606 -0
- package/plugins/pbr/scripts/hooks-schema.json +13 -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 +103 -0
- package/plugins/pbr/scripts/lib/autonomy.js +91 -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/circuit-state.js +133 -0
- package/plugins/pbr/scripts/lib/commands.js +483 -0
- package/plugins/pbr/scripts/lib/completion.js +377 -0
- package/plugins/pbr/scripts/lib/compound.js +216 -0
- package/plugins/pbr/scripts/lib/config.js +1315 -0
- package/plugins/pbr/scripts/lib/context.js +254 -0
- package/plugins/pbr/scripts/lib/contextual-help.js +207 -0
- package/plugins/pbr/scripts/lib/convention-detector.js +413 -0
- package/plugins/pbr/scripts/lib/core.js +1569 -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 +1050 -0
- package/plugins/pbr/scripts/lib/frontmatter.js +302 -0
- package/plugins/pbr/scripts/lib/gates/advisories.js +129 -0
- package/plugins/pbr/scripts/lib/gates/build-dependency.js +115 -0
- package/plugins/pbr/scripts/lib/gates/build-executor.js +104 -0
- package/plugins/pbr/scripts/lib/gates/doc-existence.js +46 -0
- package/plugins/pbr/scripts/lib/gates/helpers.js +93 -0
- package/plugins/pbr/scripts/lib/gates/inline-execution.js +185 -0
- package/plugins/pbr/scripts/lib/gates/milestone-complete.js +136 -0
- package/plugins/pbr/scripts/lib/gates/milestone-summary.js +119 -0
- package/plugins/pbr/scripts/lib/gates/multi-phase-loader.js +147 -0
- package/plugins/pbr/scripts/lib/gates/plan-executor.js +36 -0
- package/plugins/pbr/scripts/lib/gates/plan-validation.js +114 -0
- package/plugins/pbr/scripts/lib/gates/quick-executor.js +76 -0
- package/plugins/pbr/scripts/lib/gates/review-planner.js +61 -0
- package/plugins/pbr/scripts/lib/gates/review-verifier.js +69 -0
- package/plugins/pbr/scripts/lib/gates/rich-agent-context.js +143 -0
- package/plugins/pbr/scripts/lib/gates/user-confirmation.js +93 -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/health-checks.js +107 -0
- package/plugins/pbr/scripts/lib/health-phase06.js +120 -0
- package/plugins/pbr/scripts/lib/health.js +133 -0
- package/plugins/pbr/scripts/lib/help.js +151 -0
- package/plugins/pbr/scripts/lib/history.js +150 -0
- package/plugins/pbr/scripts/lib/hypothesis-runner.js +127 -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/local-llm/client.js +237 -0
- package/plugins/pbr/scripts/lib/local-llm/health.js +12 -0
- package/plugins/pbr/scripts/lib/local-llm/index.js +89 -0
- package/plugins/pbr/scripts/lib/local-llm/metrics.js +20 -0
- package/plugins/pbr/scripts/lib/local-llm/operations/classify-artifact.js +4 -0
- package/plugins/pbr/scripts/lib/local-llm/operations/classify-commit.js +4 -0
- package/plugins/pbr/scripts/lib/local-llm/operations/classify-error.js +4 -0
- package/plugins/pbr/scripts/lib/local-llm/operations/classify-file-intent.js +4 -0
- package/plugins/pbr/scripts/lib/local-llm/operations/score-source.js +72 -0
- package/plugins/pbr/scripts/lib/local-llm/operations/summarize-context.js +62 -0
- package/plugins/pbr/scripts/lib/local-llm/operations/triage-test-output.js +12 -0
- package/plugins/pbr/scripts/lib/local-llm/operations/validate-task.js +4 -0
- package/plugins/pbr/scripts/lib/local-llm/router.js +101 -0
- package/plugins/pbr/scripts/lib/local-llm/shadow.js +60 -0
- package/plugins/pbr/scripts/lib/local-llm/threshold-tuner.js +118 -0
- package/plugins/pbr/scripts/lib/migrate.js +298 -0
- package/plugins/pbr/scripts/lib/milestone.js +306 -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 +1027 -0
- package/plugins/pbr/scripts/lib/pid-lock.js +154 -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 +133 -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 +1113 -0
- package/plugins/pbr/scripts/lib/security-scan.js +200 -0
- package/plugins/pbr/scripts/lib/session-briefing.js +895 -0
- package/plugins/pbr/scripts/lib/skill-section.js +99 -0
- package/plugins/pbr/scripts/lib/smart-next-task.js +207 -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 +642 -0
- package/plugins/pbr/scripts/lib/state-queue.js +171 -0
- package/plugins/pbr/scripts/lib/state.js +1187 -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 +1059 -0
- package/plugins/pbr/scripts/lib/suggest-next.js +435 -0
- package/plugins/pbr/scripts/lib/team-composer.js +87 -0
- package/plugins/pbr/scripts/lib/team-coordinator.js +153 -0
- package/plugins/pbr/scripts/lib/tech-debt-scanner.js +116 -0
- package/plugins/pbr/scripts/lib/template.js +222 -0
- package/plugins/pbr/scripts/lib/templates.js +362 -0
- package/plugins/pbr/scripts/lib/test-cache.js +54 -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/trust-gate.js +84 -0
- package/plugins/pbr/scripts/lib/verify.js +1473 -0
- package/plugins/pbr/scripts/lib/wiring-check.js +196 -0
- package/plugins/pbr/scripts/log-notification.js +131 -0
- package/plugins/pbr/scripts/log-subagent.js +203 -18
- package/plugins/pbr/scripts/log-tool-failure.js +60 -8
- package/plugins/pbr/scripts/milestone-learnings.js +569 -0
- package/plugins/pbr/scripts/package.json +1 -0
- package/plugins/pbr/scripts/pbr-tools.js +1833 -1167
- package/plugins/pbr/scripts/post-bash-triage.js +154 -0
- package/plugins/pbr/scripts/post-compact.js +135 -0
- package/plugins/pbr/scripts/post-hoc.js +286 -0
- package/plugins/pbr/scripts/post-write-dispatch.js +237 -31
- package/plugins/pbr/scripts/post-write-quality.js +4 -3
- package/plugins/pbr/scripts/pre-bash-dispatch.js +155 -23
- package/plugins/pbr/scripts/pre-skill-dispatch.js +114 -0
- package/plugins/pbr/scripts/pre-task-dispatch.js +297 -0
- package/plugins/pbr/scripts/pre-write-dispatch.js +171 -47
- package/plugins/pbr/scripts/progress-tracker.js +144 -307
- 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 +62 -10
- package/plugins/pbr/scripts/session-cleanup.js +458 -29
- package/plugins/pbr/scripts/session-tracker.js +124 -0
- package/plugins/pbr/scripts/status-line.js +591 -32
- package/plugins/pbr/scripts/suggest-compact.js +203 -7
- 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 +131 -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 +163 -0
- package/plugins/pbr/scripts/track-context-budget.js +368 -99
- 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 +97 -26
- package/plugins/pbr/scripts/validate-skill-args.js +87 -15
- package/plugins/pbr/scripts/validate-task.js +112 -626
- 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 +545 -0
- package/plugins/pbr/skills/backlog/SKILL.md +56 -0
- package/plugins/pbr/skills/begin/SKILL.md +507 -153
- package/plugins/pbr/skills/begin/templates/STATE.md.tmpl +1 -2
- package/plugins/pbr/skills/begin/templates/config.json.tmpl +415 -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 +1040 -354
- 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/config/SKILL.md +111 -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 +206 -25
- 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 +44 -117
- package/plugins/pbr/skills/help/SKILL.md +83 -101
- 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 +421 -263
- 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 +53 -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 +5 -2
- package/plugins/pbr/skills/plan/templates/completion-output.md.tmpl +27 -0
- package/plugins/pbr/skills/plan/templates/planner-prompt.md.tmpl +27 -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 +226 -0
- package/plugins/pbr/skills/quick/SKILL.md +434 -100
- package/plugins/pbr/skills/release/SKILL.md +206 -0
- package/plugins/pbr/skills/resume/SKILL.md +169 -46
- package/plugins/pbr/skills/review/SKILL.md +217 -164
- package/plugins/pbr/skills/review/templates/verifier-prompt.md.tmpl +7 -0
- package/plugins/pbr/skills/scan/SKILL.md +151 -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 +149 -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/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 +47 -54
- 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 +80 -0
- package/plugins/pbr/skills/status/SKILL.md +184 -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 +49 -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 -636
- 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 -244
- package/dashboard/src/services/sse.service.js +0 -58
- package/dashboard/src/services/todo.service.js +0 -263
- 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 -6
- package/dashboard/src/views/partials/layout-top.ejs +0 -15
- 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 -155
- 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 -94
- 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 -172
- 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 -199
- 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 -156
- 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 -274
- 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 -170
- package/plugins/copilot-pbr/skills/import/SKILL.md +0 -502
- package/plugins/copilot-pbr/skills/milestone/SKILL.md +0 -745
- 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-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 -171
- 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 -198
- 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 -213
- 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 -274
- 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 -170
- package/plugins/cursor-pbr/skills/import/SKILL.md +0 -505
- package/plugins/cursor-pbr/skills/milestone/SKILL.md +0 -746
- 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-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/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
|
@@ -27,9 +27,17 @@ This skill **spawns Task(subagent_type: "pbr:debugger")** for investigation work
|
|
|
27
27
|
|
|
28
28
|
---
|
|
29
29
|
|
|
30
|
+
## References
|
|
31
|
+
|
|
32
|
+
- `references/questioning.md` — Investigation questioning patterns: progressive depth, exploratory questions, concrete options (not open-ended)
|
|
33
|
+
- `references/ui-brand.md` — Status symbols, banners, error boxes for issue reporting
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
30
37
|
## Context Budget
|
|
31
38
|
|
|
32
39
|
Reference: `skills/shared/context-budget.md` for the universal orchestrator rules.
|
|
40
|
+
Reference: `skills/shared/agent-type-resolution.md` for agent type fallback when spawning Task() subagents.
|
|
33
41
|
|
|
34
42
|
Additionally for this skill:
|
|
35
43
|
- **Never** perform investigation work yourself — delegate ALL analysis to the debugger subagent
|
|
@@ -48,6 +56,8 @@ Additionally for this skill:
|
|
|
48
56
|
|
|
49
57
|
### Step 1: Ensure Debug Directory Exists
|
|
50
58
|
|
|
59
|
+
**CRITICAL (no hook) -- DO NOT SKIP: Create debug directory before any file writes.**
|
|
60
|
+
|
|
51
61
|
Before any file operations, ensure both directories exist by running:
|
|
52
62
|
|
|
53
63
|
```bash
|
|
@@ -76,6 +86,7 @@ Read each file's frontmatter to check status:
|
|
|
76
86
|
|
|
77
87
|
**If active sessions found:**
|
|
78
88
|
|
|
89
|
+
**CRITICAL -- DO NOT SKIP**: Present the following choice to the user via AskUserQuestion before proceeding:
|
|
79
90
|
Use the **debug-session-select** pattern from `skills/shared/gate-prompts.md`:
|
|
80
91
|
question: "Found active debug sessions. Which would you like?"
|
|
81
92
|
|
|
@@ -92,6 +103,31 @@ Handle responses:
|
|
|
92
103
|
**If no active sessions found:**
|
|
93
104
|
- Go to **New Session Flow** (Step 3a)
|
|
94
105
|
|
|
106
|
+
### Step 2b: UAT Gap Intake (conditional)
|
|
107
|
+
|
|
108
|
+
**Trigger:** If `$ARGUMENTS` contains `--from-uat`, OR if no arguments provided and UAT.md gaps exist for the current phase.
|
|
109
|
+
|
|
110
|
+
When triggered:
|
|
111
|
+
|
|
112
|
+
1. Read the current phase's VERIFICATION.md (or UAT.md if it exists):
|
|
113
|
+
- Look for `status: gaps_found` in frontmatter
|
|
114
|
+
- Parse the gaps section for individual gap entries
|
|
115
|
+
2. For each gap entry, extract:
|
|
116
|
+
- Gap description (symptom)
|
|
117
|
+
- Expected vs. actual behavior
|
|
118
|
+
- Affected files/components
|
|
119
|
+
3. Pre-fill the debug session with UAT context:
|
|
120
|
+
- **Issue title**: derived from the first/primary gap description
|
|
121
|
+
- **Symptoms**: populated from gap details (expected, actual, scope)
|
|
122
|
+
- **Category**: set to the gap's category if available (e.g., "test", "integration")
|
|
123
|
+
- **Context**: include the phase context and related plan information
|
|
124
|
+
4. Skip the symptom-gathering questions in Step 3a (symptoms are already populated from UAT gaps)
|
|
125
|
+
5. Proceed directly to **Generate Session ID** and **Create Debug File** with the pre-filled data
|
|
126
|
+
|
|
127
|
+
**If `--from-uat` is specified but no gaps exist:**
|
|
128
|
+
- Display: "No UAT/verification gaps found for the current phase. Starting a standard debug session."
|
|
129
|
+
- Fall through to normal Step 3a flow
|
|
130
|
+
|
|
95
131
|
### Step 3a: New Session Flow
|
|
96
132
|
|
|
97
133
|
#### Gather Symptoms
|
|
@@ -121,10 +157,16 @@ If `$ARGUMENTS` is empty or minimal:
|
|
|
121
157
|
1. Scan `.planning/debug/` for existing files
|
|
122
158
|
2. Extract NNN prefixes
|
|
123
159
|
3. Next number = highest + 1 (start at 001)
|
|
124
|
-
4. Generate slug from issue title
|
|
160
|
+
4. Generate slug from issue title via CLI:
|
|
161
|
+
```bash
|
|
162
|
+
node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js slug-generate "{issue title}"
|
|
163
|
+
```
|
|
164
|
+
Parse the JSON output to get the `slug` field.
|
|
125
165
|
|
|
126
166
|
#### Create Debug File
|
|
127
167
|
|
|
168
|
+
**CRITICAL (no hook) -- DO NOT SKIP: Write debug session file to disk.**
|
|
169
|
+
|
|
128
170
|
Create `.planning/debug/{NNN}-{slug}.md`:
|
|
129
171
|
|
|
130
172
|
```markdown
|
|
@@ -181,11 +223,11 @@ category: "{runtime|build|test|config|integration|unknown}"
|
|
|
181
223
|
|
|
182
224
|
#### Spawn Debugger
|
|
183
225
|
|
|
184
|
-
Display to the user:
|
|
226
|
+
Display to the user: `◆ Spawning debugger...`
|
|
185
227
|
|
|
186
228
|
Spawn `Task(subagent_type: "pbr:debugger")` with the prompt template.
|
|
187
229
|
|
|
188
|
-
Read
|
|
230
|
+
Read `${CLAUDE_SKILL_DIR}/templates/initial-investigation-prompt.md.tmpl` for the spawn prompt. Fill in the `{NNN}`, `{slug}`, and symptom placeholders with values from the debug file created above.
|
|
189
231
|
|
|
190
232
|
### Step 3b: Resume Flow
|
|
191
233
|
|
|
@@ -205,15 +247,28 @@ Last state:
|
|
|
205
247
|
Continuing investigation...
|
|
206
248
|
```
|
|
207
249
|
|
|
208
|
-
4. **Increment the round counter** (resuming counts as a new round). Display to the user:
|
|
250
|
+
4. **Increment the round counter** (resuming counts as a new round). Display to the user: `◆ Spawning debugger (resuming session #{NNN}, round {N})...`
|
|
209
251
|
|
|
210
252
|
Spawn `Task(subagent_type: "pbr:debugger")` with the continuation prompt template.
|
|
211
253
|
|
|
212
|
-
Read
|
|
254
|
+
Read `${CLAUDE_SKILL_DIR}/templates/continuation-prompt.md.tmpl` for the spawn prompt. Fill in the `{NNN}`, `{slug}`, and `{paste investigation log...}` placeholders with data from the debug file.
|
|
213
255
|
|
|
214
256
|
### Step 4: Handle Debugger Results
|
|
215
257
|
|
|
216
|
-
When the debugger agent completes,
|
|
258
|
+
When the debugger agent completes, first check for completion markers in the Task() output before routing:
|
|
259
|
+
|
|
260
|
+
| Marker in Task() Output | Route To |
|
|
261
|
+
|--------------------------|----------|
|
|
262
|
+
| `## DEBUG COMPLETE` | ROOT CAUSE FOUND + FIX path |
|
|
263
|
+
| `## ROOT CAUSE FOUND` | ROOT CAUSE FOUND (no fix) path |
|
|
264
|
+
| `## DEBUG SESSION PAUSED` | CHECKPOINT path |
|
|
265
|
+
| No marker found | INCONCLUSIVE path |
|
|
266
|
+
|
|
267
|
+
**Spot-check:** Before routing, verify `.planning/debug/{NNN}-{slug}.md` exists and was recently updated (modified timestamp is newer than the Task() spawn time). If the debug file was not updated, warn: `⚠ Debug file not updated by agent — results may be incomplete.`
|
|
268
|
+
|
|
269
|
+
**Memory capture:** Reference `skills/shared/memory-capture.md` — check debugger output for `<memory_suggestion>` blocks and save any reusable knowledge discovered during debugging.
|
|
270
|
+
|
|
271
|
+
Display: `✓ Debug session complete — {N} hypotheses tested` (read the hypothesis count from the debug file's Hypotheses table).
|
|
217
272
|
|
|
218
273
|
The debugger returns one of four outcomes:
|
|
219
274
|
|
|
@@ -252,7 +307,7 @@ Actions:
|
|
|
252
307
|
|
|
253
308
|
**Continue your workflow** — the bug is fixed
|
|
254
309
|
|
|
255
|
-
`/pbr:
|
|
310
|
+
`/pbr:progress`
|
|
256
311
|
|
|
257
312
|
<sub>`/clear` first → fresh context window</sub>
|
|
258
313
|
|
|
@@ -260,7 +315,7 @@ Actions:
|
|
|
260
315
|
|
|
261
316
|
**Also available:**
|
|
262
317
|
- `/pbr:continue` — execute next logical step
|
|
263
|
-
- `/pbr:
|
|
318
|
+
- `/pbr:verify-work {N}` — verify the current phase
|
|
264
319
|
|
|
265
320
|
|
|
266
321
|
```
|
|
@@ -297,8 +352,8 @@ Actions:
|
|
|
297
352
|
|
|
298
353
|
|
|
299
354
|
**Also available:**
|
|
300
|
-
- `/pbr:plan` — for complex fixes that need planning
|
|
301
|
-
- `/pbr:
|
|
355
|
+
- `/pbr:plan-phase` — for complex fixes that need planning
|
|
356
|
+
- `/pbr:progress` — see project status
|
|
302
357
|
|
|
303
358
|
|
|
304
359
|
```
|
|
@@ -317,11 +372,12 @@ Investigation progress:
|
|
|
317
372
|
Actions:
|
|
318
373
|
1. Update debug file with findings so far
|
|
319
374
|
2. Present checkpoint to user
|
|
320
|
-
3.
|
|
375
|
+
3. **CRITICAL -- DO NOT SKIP**: Present the following choice to the user via AskUserQuestion before proceeding:
|
|
376
|
+
Use the **debug-checkpoint** pattern from `skills/shared/gate-prompts.md`:
|
|
321
377
|
question: "Investigation has reached a checkpoint. How should we proceed?"
|
|
322
378
|
|
|
323
379
|
Handle responses:
|
|
324
|
-
- "Continue": **Increment the round counter** (e.g., round 1 becomes round 2). Then display
|
|
380
|
+
- "Continue": **Increment the round counter** (e.g., round 1 becomes round 2). Then display `◆ Spawning debugger (continuing investigation, round {N})...` and spawn another `Task(subagent_type: "pbr:debugger")` with updated context from the debug file
|
|
325
381
|
- "More info": **Increment the round counter.** Ask the user freeform what additional context they have, then update the debug file and spawn another debugger
|
|
326
382
|
- "New approach": **Increment the round counter.** Ask the user freeform what alternative angle to try, then update hypotheses and spawn another debugger
|
|
327
383
|
|
|
@@ -463,6 +519,8 @@ If `planning.commit_docs: true` in config.json:
|
|
|
463
519
|
|
|
464
520
|
---
|
|
465
521
|
|
|
522
|
+
Reference: `skills/shared/error-reporting.md` for branded error output patterns.
|
|
523
|
+
|
|
466
524
|
## Edge Cases
|
|
467
525
|
|
|
468
526
|
### User provides a stack trace or error in arguments
|
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
<!-- Source: skills/debug/SKILL.md | Purpose: Spawn prompt for continuation debugger investigation -->
|
|
2
2
|
You are debugger. Continue investigating the following issue.
|
|
3
3
|
|
|
4
|
+
<files_to_read>
|
|
5
|
+
CRITICAL: Read these files BEFORE any other action:
|
|
6
|
+
1. .planning/debug/{NNN}-{slug}.md — the debug session file with all prior findings
|
|
7
|
+
2. .planning/CONTEXT.md — locked decisions and constraints (if exists)
|
|
8
|
+
3. .planning/STATE.md — current project state (if exists)
|
|
9
|
+
</files_to_read>
|
|
10
|
+
|
|
4
11
|
Debug file: .planning/debug/{NNN}-{slug}.md
|
|
5
12
|
Mode: continuation
|
|
6
13
|
|
|
@@ -13,4 +20,8 @@ Instructions:
|
|
|
13
20
|
3. Formulate NEW hypotheses based on prior findings
|
|
14
21
|
4. Continue systematic investigation
|
|
15
22
|
5. Update the debug file
|
|
16
|
-
6. Return
|
|
23
|
+
6. Return one of these markers as a heading in your response:
|
|
24
|
+
- `## DEBUG COMPLETE` — root cause found + fix applied
|
|
25
|
+
- `## ROOT CAUSE FOUND` — root cause identified, no fix applied
|
|
26
|
+
- `## DEBUG SESSION PAUSED` — checkpoint, need user input
|
|
27
|
+
- If no root cause found after exhausting hypotheses, return without a marker (treated as INCONCLUSIVE)
|
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
<!-- Source: skills/debug/SKILL.md | Purpose: Spawn prompt for initial debugger investigation -->
|
|
2
2
|
You are debugger. Investigate the following issue systematically.
|
|
3
3
|
|
|
4
|
+
<files_to_read>
|
|
5
|
+
CRITICAL: Read these files BEFORE any other action:
|
|
6
|
+
1. .planning/debug/{NNN}-{slug}.md — the debug session file with symptoms and context
|
|
7
|
+
2. .planning/CONTEXT.md — locked decisions and constraints (if exists)
|
|
8
|
+
3. .planning/STATE.md — current project state (if exists)
|
|
9
|
+
</files_to_read>
|
|
10
|
+
|
|
4
11
|
Debug file: .planning/debug/{NNN}-{slug}.md
|
|
5
12
|
Mode: initial_investigation
|
|
6
13
|
|
|
@@ -20,8 +27,8 @@ Instructions:
|
|
|
20
27
|
c. Execute the test
|
|
21
28
|
d. Record the result (confirmed, rejected, inconclusive)
|
|
22
29
|
4. Update the debug file with findings
|
|
23
|
-
5. Return one of:
|
|
24
|
-
-
|
|
25
|
-
-
|
|
26
|
-
-
|
|
27
|
-
-
|
|
30
|
+
5. Return one of these markers as a heading in your response:
|
|
31
|
+
- `## DEBUG COMPLETE` — root cause found + fix applied: {cause} + {what was changed}
|
|
32
|
+
- `## ROOT CAUSE FOUND` — root cause identified, no fix applied (if find_root_cause_only mode): {cause}
|
|
33
|
+
- `## DEBUG SESSION PAUSED` — checkpoint, need user input: {what was found, what to investigate next}
|
|
34
|
+
- If no root cause found after exhausting hypotheses, return without a marker (treated as INCONCLUSIVE)
|
|
@@ -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:
|
|
@@ -82,10 +172,12 @@ Read the following files to understand what this phase needs to accomplish:
|
|
|
82
172
|
- What patterns have been established (`patterns` field)
|
|
83
173
|
- What decisions were already made (`key_decisions` field)
|
|
84
174
|
|
|
85
|
-
3. **REQUIREMENTS.md** (if exists) — Read project requirements relevant to this phase
|
|
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
|