@sienklogic/plan-build-run 2.1.0 → 2.1.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 +51 -49
- package/CLAUDE.md +48 -32
- package/LICENSE +2 -1
- package/README.md +771 -87
- package/agents/pbr-audit.md +266 -0
- package/agents/pbr-codebase-mapper.md +236 -0
- package/agents/pbr-debugger.md +312 -0
- package/agents/pbr-dev-sync.md +220 -0
- package/agents/pbr-executor.md +559 -0
- package/agents/pbr-general.md +191 -0
- package/agents/pbr-integration-checker.md +237 -0
- package/agents/pbr-nyquist-auditor.md +252 -0
- package/agents/pbr-plan-checker.md +312 -0
- package/agents/pbr-planner.md +495 -0
- package/agents/pbr-researcher.md +314 -0
- package/agents/pbr-roadmapper.md +346 -0
- package/agents/pbr-synthesizer.md +271 -0
- package/agents/pbr-verifier.md +495 -0
- package/bin/install.js +2752 -0
- package/commands/pbr/add-phase.md +75 -0
- package/commands/pbr/add-todo.md +8 -0
- package/commands/pbr/audit-milestone.md +8 -0
- package/commands/pbr/audit.md +5 -0
- package/commands/pbr/check-todos.md +8 -0
- package/commands/pbr/complete-milestone.md +8 -0
- package/commands/pbr/config.md +5 -0
- package/commands/pbr/continue.md +5 -0
- package/commands/pbr/dashboard.md +5 -0
- package/commands/pbr/debug.md +5 -0
- package/commands/pbr/discuss-phase.md +6 -0
- package/commands/pbr/do.md +5 -0
- package/commands/pbr/execute-phase.md +6 -0
- package/commands/pbr/explore.md +5 -0
- package/commands/pbr/health.md +5 -0
- package/commands/pbr/help.md +5 -0
- package/commands/pbr/import.md +5 -0
- package/commands/pbr/insert-phase.md +65 -0
- package/commands/pbr/join-discord.md +11 -0
- package/commands/pbr/list-phase-assumptions.md +69 -0
- package/commands/pbr/map-codebase.md +6 -0
- package/commands/pbr/new-milestone.md +8 -0
- package/commands/pbr/new-project.md +6 -0
- package/commands/pbr/note.md +5 -0
- package/commands/pbr/pause-work.md +5 -0
- package/commands/pbr/plan-milestone-gaps.md +7 -0
- package/commands/pbr/plan-phase.md +6 -0
- package/commands/pbr/progress.md +6 -0
- package/commands/pbr/quick.md +5 -0
- package/commands/pbr/reapply-patches.md +40 -0
- package/commands/pbr/remove-phase.md +66 -0
- package/commands/pbr/research-phase.md +59 -0
- package/commands/pbr/resume-work.md +5 -0
- package/commands/pbr/set-profile.md +6 -0
- package/commands/pbr/settings.md +5 -0
- package/commands/pbr/setup.md +5 -0
- package/commands/pbr/statusline.md +5 -0
- package/commands/pbr/test.md +5 -0
- package/commands/pbr/undo.md +5 -0
- package/commands/pbr/update.md +37 -0
- package/commands/pbr/verify-work.md +6 -0
- package/dashboard/bin/cli.cjs +85 -0
- package/dashboard/eslint.config.js +37 -0
- package/dashboard/index.html +20 -0
- package/dashboard/package.json +28 -23
- package/dashboard/server/index.js +134 -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 +21 -0
- package/dashboard/server/routes/memory.js +107 -0
- package/dashboard/server/routes/planning.js +234 -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/status.js +25 -0
- package/dashboard/server/routes/telemetry.js +171 -0
- package/dashboard/server/services/file-watcher.js +105 -0
- package/dashboard/server/services/planning-reader.js +679 -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 +147 -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 +16 -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/LiveFeed.jsx +274 -0
- package/dashboard/src/pages/MemoryPage.jsx +107 -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/RoadmapPage.jsx +251 -0
- package/dashboard/src/pages/Telemetry.jsx +113 -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/hooks/dist/auto-continue.js +201 -0
- package/hooks/dist/block-skill-self-read.js +77 -0
- package/hooks/dist/branding-audit.js +232 -0
- package/hooks/dist/check-agent-state-write.js +63 -0
- package/hooks/dist/check-config-change.js +188 -0
- package/hooks/dist/check-dangerous-commands.js +184 -0
- package/hooks/dist/check-doc-sprawl.js +102 -0
- package/hooks/dist/check-phase-boundary.js +190 -0
- package/hooks/dist/check-plan-format.js +654 -0
- package/hooks/dist/check-roadmap-sync.js +491 -0
- package/hooks/dist/check-skill-workflow.js +353 -0
- package/hooks/dist/check-state-sync.js +612 -0
- package/hooks/dist/check-subagent-output.js +754 -0
- package/hooks/dist/check-summary-gate.js +198 -0
- package/hooks/dist/context-bridge.js +342 -0
- package/hooks/dist/context-budget-check.js +441 -0
- package/hooks/dist/enforce-pbr-workflow.js +277 -0
- package/hooks/dist/event-handler.js +217 -0
- package/hooks/dist/event-logger.js +92 -0
- package/hooks/dist/hook-logger.js +80 -0
- package/hooks/dist/hook-server-client.js +341 -0
- package/hooks/dist/hook-server.js +336 -0
- package/hooks/dist/hooks-schema.json +85 -0
- package/hooks/dist/hooks.json +288 -0
- package/hooks/dist/instructions-loaded.js +107 -0
- package/hooks/dist/intercept-plan-mode.js +48 -0
- package/hooks/dist/log-notification.js +87 -0
- package/hooks/dist/log-subagent.js +303 -0
- package/hooks/dist/log-tool-failure.js +140 -0
- package/hooks/dist/milestone-learnings.js +290 -0
- package/hooks/dist/post-bash-triage.js +151 -0
- package/hooks/dist/post-write-dispatch.js +227 -0
- package/hooks/dist/post-write-quality.js +207 -0
- package/hooks/dist/pre-bash-dispatch.js +137 -0
- package/hooks/dist/pre-write-dispatch.js +156 -0
- package/hooks/dist/progress-tracker.js +742 -0
- package/hooks/dist/prompt-routing.js +152 -0
- package/hooks/dist/run-hook.js +144 -0
- package/hooks/dist/session-cleanup.js +455 -0
- package/hooks/dist/session-tracker.js +78 -0
- package/hooks/dist/status-line.js +471 -0
- package/hooks/dist/suggest-compact.js +220 -0
- package/hooks/dist/sync-context-to-claude.js +100 -0
- package/hooks/dist/task-completed.js +167 -0
- package/hooks/dist/track-context-budget.js +317 -0
- package/hooks/dist/validate-commit.js +265 -0
- package/hooks/dist/validate-plugin-structure.js +193 -0
- package/hooks/dist/validate-skill-args.js +219 -0
- package/hooks/dist/validate-task.js +256 -0
- package/hooks/dist/worktree-create.js +144 -0
- package/hooks/dist/worktree-remove.js +147 -0
- package/package.json +53 -40
- package/plan-build-run/bin/config-schema.json +406 -0
- package/plan-build-run/bin/dashboard-launch.cjs +114 -0
- package/plan-build-run/bin/event-logger.cjs +92 -0
- package/plan-build-run/bin/lib/alternatives.cjs +198 -0
- package/plan-build-run/bin/lib/build.cjs +717 -0
- package/plan-build-run/bin/lib/circuit-state.cjs +133 -0
- package/plan-build-run/bin/lib/commands.cjs +482 -0
- package/plan-build-run/bin/lib/config.cjs +681 -0
- package/plan-build-run/bin/lib/context.cjs +216 -0
- package/plan-build-run/bin/lib/core.cjs +1548 -0
- package/plan-build-run/bin/lib/frontmatter.cjs +299 -0
- package/plan-build-run/bin/lib/gates/advisories.cjs +129 -0
- package/plan-build-run/bin/lib/gates/build-dependency.cjs +100 -0
- package/plan-build-run/bin/lib/gates/build-executor.cjs +79 -0
- package/plan-build-run/bin/lib/gates/doc-existence.cjs +46 -0
- package/plan-build-run/bin/lib/gates/helpers.cjs +74 -0
- package/plan-build-run/bin/lib/gates/milestone-complete.cjs +120 -0
- package/plan-build-run/bin/lib/gates/plan-executor.cjs +36 -0
- package/plan-build-run/bin/lib/gates/quick-executor.cjs +76 -0
- package/plan-build-run/bin/lib/gates/review-planner.cjs +61 -0
- package/plan-build-run/bin/lib/gates/review-verifier.cjs +69 -0
- package/plan-build-run/bin/lib/history.cjs +147 -0
- package/plan-build-run/bin/lib/init.cjs +304 -0
- package/plan-build-run/bin/lib/learnings.cjs +312 -0
- package/plan-build-run/bin/lib/local-llm/health.cjs +12 -0
- package/plan-build-run/bin/lib/local-llm/index.cjs +89 -0
- package/plan-build-run/bin/lib/local-llm/metrics.cjs +20 -0
- package/plan-build-run/bin/lib/local-llm/operations/classify-artifact.cjs +4 -0
- package/plan-build-run/bin/lib/local-llm/operations/classify-commit.cjs +4 -0
- package/plan-build-run/bin/lib/local-llm/operations/classify-error.cjs +4 -0
- package/plan-build-run/bin/lib/local-llm/operations/classify-file-intent.cjs +4 -0
- package/plan-build-run/bin/lib/local-llm/operations/triage-test-output.cjs +12 -0
- package/plan-build-run/bin/lib/local-llm/operations/validate-task.cjs +4 -0
- package/plan-build-run/bin/lib/migrate.cjs +248 -0
- package/plan-build-run/bin/lib/milestone.cjs +245 -0
- package/plan-build-run/bin/lib/phase.cjs +1021 -0
- package/plan-build-run/bin/lib/preview.cjs +174 -0
- package/plan-build-run/bin/lib/reference.cjs +234 -0
- package/plan-build-run/bin/lib/roadmap.cjs +909 -0
- package/plan-build-run/bin/lib/skill-section.cjs +98 -0
- package/plan-build-run/bin/lib/spot-check.cjs +116 -0
- package/plan-build-run/bin/lib/state.cjs +641 -0
- package/plan-build-run/bin/lib/step-verify.cjs +149 -0
- package/plan-build-run/bin/lib/template.cjs +222 -0
- package/plan-build-run/bin/lib/todo.cjs +300 -0
- package/plan-build-run/bin/lib/verify.cjs +820 -0
- package/plan-build-run/bin/pbr-tools.cjs +1287 -0
- package/plan-build-run/references/CLAUDE.md +7 -0
- package/plan-build-run/references/agent-contracts.md +324 -0
- package/plan-build-run/references/agent-teams.md +54 -0
- package/plan-build-run/references/behavioral-contexts.md +53 -0
- package/plan-build-run/references/checkpoints.md +776 -0
- package/plan-build-run/references/config-reference.md +363 -0
- package/plan-build-run/references/continuation-format.md +249 -0
- package/plan-build-run/references/debugging/CLAUDE.md +7 -0
- package/plan-build-run/references/decimal-phase-calculation.md +65 -0
- package/plan-build-run/references/git-integration.md +248 -0
- package/plan-build-run/references/git-planning-commit.md +38 -0
- package/plan-build-run/references/model-profile-resolution.md +34 -0
- package/plan-build-run/references/model-profiles.md +92 -0
- package/plan-build-run/references/model-selection.md +53 -0
- package/plan-build-run/references/phase-argument-parsing.md +61 -0
- package/plan-build-run/references/plan-authoring.md +246 -0
- package/plan-build-run/references/plan-format.md +351 -0
- package/plan-build-run/references/planning-config.md +200 -0
- package/plan-build-run/references/questioning.md +162 -0
- package/plan-build-run/references/reading-verification.md +93 -0
- package/plan-build-run/references/stub-patterns.md +160 -0
- package/plan-build-run/references/tdd.md +263 -0
- package/plan-build-run/references/ui-brand.md +187 -0
- package/plan-build-run/references/verification-overrides.md +38 -0
- package/plan-build-run/references/verification-patterns.md +612 -0
- package/plan-build-run/references/wave-execution.md +52 -0
- package/plan-build-run/skills/audit/SKILL.md +348 -0
- package/plan-build-run/skills/begin/SKILL.md +891 -0
- package/{plugins/cursor-pbr → plan-build-run}/skills/begin/templates/PROJECT.md.tmpl +0 -1
- package/{plugins/cursor-pbr → plan-build-run}/skills/begin/templates/REQUIREMENTS.md.tmpl +0 -1
- package/{plugins/cursor-pbr → plan-build-run}/skills/begin/templates/STATE.md.tmpl +1 -3
- package/{plugins/cursor-pbr → plan-build-run}/skills/begin/templates/config.json.tmpl +7 -2
- package/plan-build-run/skills/begin/templates/project-CONTEXT.md.tmpl +19 -0
- package/plan-build-run/skills/begin/templates/researcher-prompt.md.tmpl +47 -0
- package/plan-build-run/skills/begin/templates/roadmap-prompt.md.tmpl +49 -0
- package/plan-build-run/skills/begin/templates/synthesis-prompt.md.tmpl +44 -0
- package/plan-build-run/skills/build/SKILL.md +1007 -0
- package/plan-build-run/skills/build/templates/continuation-prompt.md.tmpl +26 -0
- package/plan-build-run/skills/build/templates/executor-prompt.md.tmpl +70 -0
- package/plan-build-run/skills/build/templates/inline-verifier-prompt.md.tmpl +33 -0
- package/plan-build-run/skills/config/SKILL.md +342 -0
- package/plan-build-run/skills/continue/SKILL.md +190 -0
- package/plan-build-run/skills/dashboard/SKILL.md +12 -0
- package/plan-build-run/skills/debug/SKILL.md +539 -0
- package/plan-build-run/skills/debug/templates/continuation-prompt.md.tmpl +27 -0
- package/plan-build-run/skills/debug/templates/initial-investigation-prompt.md.tmpl +34 -0
- package/plan-build-run/skills/discuss/SKILL.md +440 -0
- package/{plugins/cursor-pbr → plan-build-run}/skills/discuss/templates/CONTEXT.md.tmpl +1 -2
- package/{plugins/cursor-pbr → plan-build-run}/skills/discuss/templates/decision-categories.md +0 -1
- package/plan-build-run/skills/discuss/templates/project-CONTEXT.md.tmpl +19 -0
- package/plan-build-run/skills/do/SKILL.md +70 -0
- package/plan-build-run/skills/explore/SKILL.md +443 -0
- package/plan-build-run/skills/health/SKILL.md +332 -0
- package/{plugins/cursor-pbr → plan-build-run}/skills/health/templates/check-pattern.md.tmpl +0 -1
- package/{plugins/cursor-pbr → plan-build-run}/skills/health/templates/output-format.md.tmpl +0 -1
- package/plan-build-run/skills/help/SKILL.md +236 -0
- package/plan-build-run/skills/import/SKILL.md +816 -0
- package/plan-build-run/skills/milestone/SKILL.md +659 -0
- package/plan-build-run/skills/milestone/templates/audit-output.md.tmpl +76 -0
- package/{plugins/cursor-pbr → plan-build-run}/skills/milestone/templates/audit-report.md.tmpl +0 -1
- package/plan-build-run/skills/milestone/templates/complete-output.md.tmpl +32 -0
- package/plan-build-run/skills/milestone/templates/edge-cases.md +54 -0
- package/plan-build-run/skills/milestone/templates/gaps-output.md.tmpl +25 -0
- package/plan-build-run/skills/milestone/templates/integration-checker-prompt.md.tmpl +25 -0
- package/plan-build-run/skills/milestone/templates/new-output.md.tmpl +29 -0
- package/{plugins/cursor-pbr → plan-build-run}/skills/milestone/templates/stats-file.md.tmpl +0 -1
- package/plan-build-run/skills/note/SKILL.md +221 -0
- package/plan-build-run/skills/pause/SKILL.md +259 -0
- package/{plugins/cursor-pbr → plan-build-run}/skills/pause/templates/continue-here.md.tmpl +0 -1
- package/plan-build-run/skills/plan/SKILL.md +700 -0
- package/plan-build-run/skills/plan/decimal-phase-calc.md +98 -0
- package/{plugins/cursor-pbr → plan-build-run}/skills/plan/templates/checker-prompt.md.tmpl +0 -1
- package/plan-build-run/skills/plan/templates/completion-output.md.tmpl +27 -0
- package/{plugins/cursor-pbr → plan-build-run}/skills/plan/templates/gap-closure-prompt.md.tmpl +0 -1
- package/{plugins/cursor-pbr → plan-build-run}/skills/plan/templates/planner-prompt.md.tmpl +1 -2
- package/plan-build-run/skills/plan/templates/prompt-partials/phase-project-context.md.tmpl +21 -0
- package/{plugins/cursor-pbr → plan-build-run}/skills/plan/templates/researcher-prompt.md.tmpl +0 -1
- package/{plugins/cursor-pbr → plan-build-run}/skills/plan/templates/revision-prompt.md.tmpl +0 -1
- package/plan-build-run/skills/profile/SKILL.md +173 -0
- package/plan-build-run/skills/quick/SKILL.md +440 -0
- package/plan-build-run/skills/resume/SKILL.md +404 -0
- package/plan-build-run/skills/review/SKILL.md +711 -0
- package/{plugins/cursor-pbr → plan-build-run}/skills/review/templates/debugger-prompt.md.tmpl +0 -1
- package/{plugins/cursor-pbr → plan-build-run}/skills/review/templates/gap-planner-prompt.md.tmpl +0 -1
- package/{plugins/cursor-pbr → plan-build-run}/skills/review/templates/verifier-prompt.md.tmpl +0 -1
- package/plan-build-run/skills/scan/SKILL.md +326 -0
- package/{plugins/cursor-pbr → plan-build-run}/skills/scan/templates/mapper-prompt.md.tmpl +1 -2
- package/plan-build-run/skills/setup/SKILL.md +236 -0
- package/plan-build-run/skills/shared/commit-planning-docs.md +43 -0
- package/plan-build-run/skills/shared/config-loading.md +102 -0
- package/plan-build-run/skills/shared/context-budget.md +92 -0
- package/plan-build-run/skills/shared/context-loader-task.md +93 -0
- package/plan-build-run/skills/shared/digest-select.md +79 -0
- package/plan-build-run/skills/shared/domain-probes.md +125 -0
- package/plan-build-run/skills/shared/error-reporting.md +67 -0
- package/plan-build-run/skills/shared/gate-prompts.md +390 -0
- package/plan-build-run/skills/shared/phase-argument-parsing.md +45 -0
- package/plan-build-run/skills/shared/revision-loop.md +81 -0
- package/plan-build-run/skills/shared/state-update.md +153 -0
- package/plan-build-run/skills/shared/universal-anti-patterns.md +59 -0
- package/plan-build-run/skills/status/SKILL.md +485 -0
- package/plan-build-run/skills/statusline/SKILL.md +151 -0
- package/plan-build-run/skills/test/SKILL.md +212 -0
- package/plan-build-run/skills/todo/SKILL.md +301 -0
- package/plan-build-run/skills/undo/SKILL.md +216 -0
- package/plan-build-run/templates/CLAUDE.md +7 -0
- package/plan-build-run/templates/DEBUG.md +164 -0
- package/plan-build-run/templates/UAT.md +247 -0
- package/plan-build-run/templates/VALIDATION.md +76 -0
- package/plan-build-run/templates/codebase/architecture.md +255 -0
- package/plan-build-run/templates/codebase/concerns.md +310 -0
- package/plan-build-run/templates/codebase/conventions.md +307 -0
- package/plan-build-run/templates/codebase/integrations.md +280 -0
- package/plan-build-run/templates/codebase/stack.md +186 -0
- package/plan-build-run/templates/codebase/structure.md +285 -0
- package/plan-build-run/templates/codebase/testing.md +480 -0
- package/plan-build-run/templates/config.json +37 -0
- package/plan-build-run/templates/context.md +297 -0
- package/plan-build-run/templates/continue-here.md +78 -0
- package/plan-build-run/templates/crud-flow-verification.md +277 -0
- package/plan-build-run/templates/debug-subagent-prompt.md +91 -0
- package/plan-build-run/templates/deferred-items.md +19 -0
- package/plan-build-run/templates/discovery.md +146 -0
- package/plan-build-run/templates/milestone-archive.md +123 -0
- package/plan-build-run/templates/milestone.md +115 -0
- package/plan-build-run/templates/phase-prompt.md +569 -0
- package/plan-build-run/templates/planner-subagent-prompt.md +117 -0
- package/plan-build-run/templates/project.md +184 -0
- package/plan-build-run/templates/requirements.md +231 -0
- package/plan-build-run/templates/research-outputs/ARCHITECTURE.md.tmpl +86 -0
- package/plan-build-run/templates/research-outputs/FEATURES.md.tmpl +77 -0
- package/plan-build-run/templates/research-outputs/PITFALLS.md.tmpl +65 -0
- package/plan-build-run/templates/research-outputs/STACK.md.tmpl +80 -0
- package/plan-build-run/templates/research-project/ARCHITECTURE.md +204 -0
- package/plan-build-run/templates/research-project/FEATURES.md +147 -0
- package/plan-build-run/templates/research-project/PITFALLS.md +200 -0
- package/plan-build-run/templates/research-project/STACK.md +120 -0
- package/plan-build-run/templates/research-project/SUMMARY.md +170 -0
- package/plan-build-run/templates/research.md +552 -0
- package/plan-build-run/templates/retrospective.md +54 -0
- package/plan-build-run/templates/roadmap.md +202 -0
- package/plan-build-run/templates/seed.md +16 -0
- package/plan-build-run/templates/state.md +176 -0
- package/plan-build-run/templates/summary-complex.md +59 -0
- package/plan-build-run/templates/summary-minimal.md +41 -0
- package/plan-build-run/templates/summary-standard.md +48 -0
- package/plan-build-run/templates/summary.md +248 -0
- package/plan-build-run/templates/user-setup.md +311 -0
- package/plan-build-run/templates/verification-report.md +322 -0
- package/plan-build-run/workflows/add-phase.md +111 -0
- package/plan-build-run/workflows/add-todo.md +157 -0
- package/plan-build-run/workflows/audit-milestone.md +241 -0
- package/plan-build-run/workflows/check-todos.md +176 -0
- package/plan-build-run/workflows/complete-milestone.md +644 -0
- package/plan-build-run/workflows/diagnose-issues.md +219 -0
- package/plan-build-run/workflows/discovery-phase.md +289 -0
- package/plan-build-run/workflows/discuss-phase.md +429 -0
- package/plan-build-run/workflows/execute-phase.md +439 -0
- package/plan-build-run/workflows/execute-plan.md +437 -0
- package/plan-build-run/workflows/explore.md +150 -0
- package/plan-build-run/workflows/help.md +470 -0
- package/plan-build-run/workflows/insert-phase.md +129 -0
- package/plan-build-run/workflows/list-phase-assumptions.md +178 -0
- package/plan-build-run/workflows/map-codebase.md +327 -0
- package/plan-build-run/workflows/new-milestone.md +373 -0
- package/plan-build-run/workflows/new-project.md +1009 -0
- package/plan-build-run/workflows/note.md +90 -0
- package/plan-build-run/workflows/pause-work.md +122 -0
- package/plan-build-run/workflows/plan-milestone-gaps.md +256 -0
- package/plan-build-run/workflows/plan-phase.md +376 -0
- package/plan-build-run/workflows/progress.md +431 -0
- package/plan-build-run/workflows/quick.md +230 -0
- package/plan-build-run/workflows/remove-phase.md +154 -0
- package/plan-build-run/workflows/research-phase.md +74 -0
- package/plan-build-run/workflows/resume-project.md +306 -0
- package/plan-build-run/workflows/set-profile.md +80 -0
- package/plan-build-run/workflows/settings.md +145 -0
- package/plan-build-run/workflows/transition.md +539 -0
- package/plan-build-run/workflows/update.md +212 -0
- package/plan-build-run/workflows/verify-phase.md +226 -0
- package/plan-build-run/workflows/verify-work.md +465 -0
- package/plugins/codex-pbr/.codex/config.toml +101 -0
- package/plugins/codex-pbr/AGENTS.md +653 -0
- package/plugins/codex-pbr/README.md +116 -0
- package/plugins/codex-pbr/agents/audit.md +240 -0
- package/plugins/codex-pbr/agents/codebase-mapper.md +225 -0
- package/plugins/codex-pbr/agents/debugger.md +300 -0
- package/plugins/codex-pbr/agents/dev-sync.md +198 -0
- package/plugins/codex-pbr/agents/executor.md +549 -0
- package/plugins/codex-pbr/agents/general.md +151 -0
- package/plugins/codex-pbr/agents/integration-checker.md +230 -0
- package/plugins/codex-pbr/agents/nyquist-auditor.md +244 -0
- package/plugins/codex-pbr/agents/plan-checker.md +306 -0
- package/plugins/codex-pbr/agents/planner.md +464 -0
- package/plugins/codex-pbr/agents/researcher.md +304 -0
- package/plugins/codex-pbr/agents/roadmapper.md +339 -0
- package/plugins/codex-pbr/agents/synthesizer.md +267 -0
- package/plugins/codex-pbr/agents/verifier.md +488 -0
- package/plugins/codex-pbr/commands/add-phase.md +75 -0
- package/plugins/codex-pbr/commands/add-todo.md +8 -0
- package/plugins/codex-pbr/commands/audit-milestone.md +8 -0
- package/plugins/codex-pbr/commands/audit.md +5 -0
- package/plugins/codex-pbr/commands/check-todos.md +8 -0
- package/plugins/codex-pbr/commands/complete-milestone.md +8 -0
- package/plugins/codex-pbr/commands/config.md +5 -0
- package/plugins/codex-pbr/commands/continue.md +5 -0
- package/plugins/codex-pbr/commands/dashboard.md +5 -0
- package/plugins/codex-pbr/commands/debug.md +5 -0
- package/plugins/codex-pbr/commands/discuss-phase.md +6 -0
- package/plugins/codex-pbr/commands/do.md +5 -0
- package/plugins/codex-pbr/commands/execute-phase.md +6 -0
- package/plugins/codex-pbr/commands/explore.md +5 -0
- package/plugins/codex-pbr/commands/health.md +5 -0
- package/plugins/codex-pbr/commands/help.md +5 -0
- package/plugins/codex-pbr/commands/import.md +5 -0
- package/plugins/codex-pbr/commands/insert-phase.md +65 -0
- package/plugins/codex-pbr/commands/join-discord.md +11 -0
- package/plugins/codex-pbr/commands/list-phase-assumptions.md +69 -0
- package/plugins/codex-pbr/commands/map-codebase.md +6 -0
- package/plugins/codex-pbr/commands/new-milestone.md +8 -0
- package/plugins/codex-pbr/commands/new-project.md +6 -0
- package/plugins/codex-pbr/commands/note.md +5 -0
- package/plugins/codex-pbr/commands/pause-work.md +5 -0
- package/plugins/codex-pbr/commands/plan-milestone-gaps.md +7 -0
- package/plugins/codex-pbr/commands/plan-phase.md +6 -0
- package/plugins/codex-pbr/commands/progress.md +6 -0
- package/plugins/codex-pbr/commands/quick.md +5 -0
- package/plugins/codex-pbr/commands/reapply-patches.md +40 -0
- package/plugins/codex-pbr/commands/remove-phase.md +66 -0
- package/plugins/codex-pbr/commands/research-phase.md +59 -0
- package/plugins/codex-pbr/commands/resume-work.md +5 -0
- package/plugins/codex-pbr/commands/set-profile.md +6 -0
- package/plugins/codex-pbr/commands/settings.md +5 -0
- package/plugins/codex-pbr/commands/setup.md +5 -0
- package/plugins/codex-pbr/commands/statusline.md +5 -0
- package/plugins/codex-pbr/commands/test.md +5 -0
- package/plugins/codex-pbr/commands/undo.md +5 -0
- package/plugins/codex-pbr/commands/update.md +37 -0
- package/plugins/codex-pbr/commands/verify-work.md +6 -0
- package/plugins/codex-pbr/references/agent-contracts.md +324 -0
- package/plugins/codex-pbr/references/agent-teams.md +54 -0
- package/plugins/codex-pbr/references/common-bug-patterns.md +13 -0
- package/plugins/codex-pbr/references/config-reference.md +587 -0
- package/plugins/codex-pbr/references/continuation-format.md +212 -0
- package/plugins/codex-pbr/references/deviation-rules.md +112 -0
- package/plugins/codex-pbr/references/git-integration.md +284 -0
- package/plugins/codex-pbr/references/integration-patterns.md +117 -0
- package/plugins/codex-pbr/references/model-profiles.md +143 -0
- package/plugins/codex-pbr/references/model-selection.md +31 -0
- package/plugins/codex-pbr/references/pbr-tools-cli.md +400 -0
- package/plugins/codex-pbr/references/plan-authoring.md +246 -0
- package/plugins/codex-pbr/references/plan-format.md +351 -0
- package/plugins/codex-pbr/references/questioning.md +303 -0
- package/plugins/codex-pbr/references/reading-verification.md +127 -0
- package/plugins/codex-pbr/references/signal-files.md +41 -0
- package/plugins/codex-pbr/references/stub-patterns.md +160 -0
- package/plugins/codex-pbr/references/tmux-setup.md +286 -0
- package/plugins/codex-pbr/references/ui-formatting.md +449 -0
- package/plugins/codex-pbr/references/wave-execution.md +95 -0
- package/plugins/codex-pbr/skills/audit/SKILL.md +346 -0
- package/plugins/codex-pbr/skills/begin/SKILL.md +886 -0
- package/plugins/codex-pbr/skills/build/SKILL.md +992 -0
- package/plugins/codex-pbr/skills/config/SKILL.md +341 -0
- package/plugins/codex-pbr/skills/continue/SKILL.md +172 -0
- package/plugins/codex-pbr/skills/dashboard/SKILL.md +56 -0
- package/plugins/codex-pbr/skills/debug/SKILL.md +537 -0
- package/plugins/codex-pbr/skills/discuss/SKILL.md +438 -0
- package/plugins/codex-pbr/skills/do/SKILL.md +68 -0
- package/plugins/codex-pbr/skills/explore/SKILL.md +441 -0
- package/plugins/codex-pbr/skills/health/SKILL.md +330 -0
- package/plugins/codex-pbr/skills/help/SKILL.md +231 -0
- package/plugins/codex-pbr/skills/import/SKILL.md +814 -0
- package/plugins/codex-pbr/skills/milestone/SKILL.md +637 -0
- package/plugins/codex-pbr/skills/note/SKILL.md +219 -0
- package/plugins/codex-pbr/skills/pause/SKILL.md +258 -0
- package/plugins/codex-pbr/skills/plan/SKILL.md +689 -0
- package/plugins/codex-pbr/skills/profile/SKILL.md +171 -0
- package/plugins/codex-pbr/skills/quick/SKILL.md +437 -0
- package/plugins/codex-pbr/skills/resume/SKILL.md +403 -0
- package/plugins/codex-pbr/skills/review/SKILL.md +693 -0
- package/plugins/codex-pbr/skills/scan/SKILL.md +325 -0
- package/plugins/codex-pbr/skills/setup/SKILL.md +235 -0
- package/plugins/codex-pbr/skills/shared/commit-planning-docs.md +43 -0
- package/plugins/codex-pbr/skills/shared/config-loading.md +102 -0
- package/plugins/codex-pbr/skills/shared/context-budget.md +92 -0
- package/plugins/codex-pbr/skills/shared/context-loader-task.md +93 -0
- package/plugins/codex-pbr/skills/shared/digest-select.md +79 -0
- package/plugins/codex-pbr/skills/shared/domain-probes.md +125 -0
- package/plugins/codex-pbr/skills/shared/error-reporting.md +59 -0
- package/plugins/codex-pbr/skills/shared/gate-prompts.md +390 -0
- package/plugins/codex-pbr/skills/shared/phase-argument-parsing.md +45 -0
- package/plugins/codex-pbr/skills/shared/revision-loop.md +81 -0
- package/plugins/codex-pbr/skills/shared/state-update.md +153 -0
- package/plugins/codex-pbr/skills/shared/universal-anti-patterns.md +59 -0
- package/plugins/codex-pbr/skills/status/SKILL.md +484 -0
- package/plugins/codex-pbr/skills/statusline/SKILL.md +149 -0
- package/plugins/codex-pbr/skills/test/SKILL.md +210 -0
- package/plugins/codex-pbr/skills/todo/SKILL.md +281 -0
- package/plugins/codex-pbr/skills/undo/SKILL.md +214 -0
- package/plugins/codex-pbr/templates/CONTEXT.md.tmpl +52 -0
- package/plugins/codex-pbr/templates/INTEGRATION-REPORT.md.tmpl +167 -0
- package/plugins/codex-pbr/templates/PROJECT.md.tmpl +111 -0
- package/plugins/codex-pbr/templates/REQUIREMENTS.md.tmpl +96 -0
- package/plugins/codex-pbr/templates/ROADMAP.md.tmpl +105 -0
- package/plugins/codex-pbr/templates/SUMMARY-complex.md.tmpl +112 -0
- package/plugins/codex-pbr/templates/SUMMARY-minimal.md.tmpl +48 -0
- package/plugins/codex-pbr/templates/SUMMARY.md.tmpl +81 -0
- package/plugins/codex-pbr/templates/VERIFICATION-DETAIL.md.tmpl +119 -0
- package/plugins/codex-pbr/templates/codebase/ARCHITECTURE.md.tmpl +98 -0
- package/plugins/codex-pbr/templates/codebase/CONCERNS.md.tmpl +93 -0
- package/plugins/codex-pbr/templates/codebase/CONVENTIONS.md.tmpl +104 -0
- package/plugins/codex-pbr/templates/codebase/INTEGRATIONS.md.tmpl +78 -0
- package/plugins/codex-pbr/templates/codebase/STACK.md.tmpl +78 -0
- package/plugins/codex-pbr/templates/codebase/STRUCTURE.md.tmpl +80 -0
- package/plugins/codex-pbr/templates/codebase/TESTING.md.tmpl +107 -0
- package/plugins/codex-pbr/templates/continue-here.md.tmpl +73 -0
- package/plugins/codex-pbr/templates/pr-body.md.tmpl +22 -0
- package/plugins/codex-pbr/templates/project-CONTEXT.md.tmpl +43 -0
- package/plugins/codex-pbr/templates/prompt-partials/phase-project-context.md.tmpl +37 -0
- package/plugins/codex-pbr/templates/research-outputs/ARCHITECTURE.md.tmpl +91 -0
- package/plugins/codex-pbr/templates/research-outputs/FEATURES.md.tmpl +64 -0
- package/plugins/codex-pbr/templates/research-outputs/PITFALLS.md.tmpl +50 -0
- package/plugins/codex-pbr/templates/research-outputs/STACK.md.tmpl +63 -0
- package/plugins/codex-pbr/templates/research-outputs/SUMMARY.md.tmpl +98 -0
- package/plugins/copilot-pbr/CHANGELOG.md +19 -0
- package/plugins/copilot-pbr/README.md +139 -0
- package/plugins/copilot-pbr/agents/audit.agent.md +240 -0
- package/plugins/copilot-pbr/agents/codebase-mapper.agent.md +225 -0
- package/plugins/copilot-pbr/agents/debugger.agent.md +300 -0
- package/plugins/copilot-pbr/agents/dev-sync.agent.md +198 -0
- package/plugins/copilot-pbr/agents/executor.agent.md +549 -0
- package/plugins/copilot-pbr/agents/general.agent.md +151 -0
- package/plugins/copilot-pbr/agents/integration-checker.agent.md +230 -0
- package/plugins/copilot-pbr/agents/nyquist-auditor.agent.md +244 -0
- package/plugins/copilot-pbr/agents/plan-checker.agent.md +306 -0
- package/plugins/copilot-pbr/agents/planner.agent.md +464 -0
- package/plugins/copilot-pbr/agents/researcher.agent.md +304 -0
- package/plugins/copilot-pbr/agents/roadmapper.agent.md +339 -0
- package/plugins/copilot-pbr/agents/synthesizer.agent.md +267 -0
- package/plugins/copilot-pbr/agents/verifier.agent.md +488 -0
- package/plugins/copilot-pbr/commands/add-phase.md +75 -0
- package/plugins/copilot-pbr/commands/add-todo.md +8 -0
- package/plugins/copilot-pbr/commands/audit-milestone.md +8 -0
- package/plugins/copilot-pbr/commands/audit.md +5 -0
- package/plugins/copilot-pbr/commands/check-todos.md +8 -0
- package/plugins/copilot-pbr/commands/complete-milestone.md +8 -0
- package/plugins/copilot-pbr/commands/config.md +5 -0
- package/plugins/copilot-pbr/commands/continue.md +5 -0
- package/plugins/copilot-pbr/commands/dashboard.md +5 -0
- package/plugins/copilot-pbr/commands/debug.md +5 -0
- package/plugins/copilot-pbr/commands/discuss-phase.md +6 -0
- package/plugins/copilot-pbr/commands/do.md +5 -0
- package/plugins/copilot-pbr/commands/execute-phase.md +6 -0
- package/plugins/copilot-pbr/commands/explore.md +5 -0
- package/plugins/copilot-pbr/commands/health.md +5 -0
- package/plugins/copilot-pbr/commands/help.md +5 -0
- package/plugins/copilot-pbr/commands/import.md +5 -0
- package/plugins/copilot-pbr/commands/insert-phase.md +65 -0
- package/plugins/copilot-pbr/commands/join-discord.md +11 -0
- package/plugins/copilot-pbr/commands/list-phase-assumptions.md +69 -0
- package/plugins/copilot-pbr/commands/map-codebase.md +6 -0
- package/plugins/copilot-pbr/commands/new-milestone.md +8 -0
- package/plugins/copilot-pbr/commands/new-project.md +6 -0
- package/plugins/copilot-pbr/commands/note.md +5 -0
- package/plugins/copilot-pbr/commands/pause-work.md +5 -0
- package/plugins/copilot-pbr/commands/plan-milestone-gaps.md +7 -0
- package/plugins/copilot-pbr/commands/plan-phase.md +6 -0
- package/plugins/copilot-pbr/commands/progress.md +6 -0
- package/plugins/copilot-pbr/commands/quick.md +5 -0
- package/plugins/copilot-pbr/commands/reapply-patches.md +40 -0
- package/plugins/copilot-pbr/commands/remove-phase.md +66 -0
- package/plugins/copilot-pbr/commands/research-phase.md +59 -0
- package/plugins/copilot-pbr/commands/resume-work.md +5 -0
- package/plugins/copilot-pbr/commands/set-profile.md +6 -0
- package/plugins/copilot-pbr/commands/settings.md +5 -0
- package/plugins/copilot-pbr/commands/setup.md +5 -0
- package/plugins/copilot-pbr/commands/statusline.md +5 -0
- package/plugins/copilot-pbr/commands/test.md +5 -0
- package/plugins/copilot-pbr/commands/undo.md +5 -0
- package/plugins/copilot-pbr/commands/update.md +37 -0
- package/plugins/copilot-pbr/commands/verify-work.md +6 -0
- package/plugins/copilot-pbr/hooks/hooks.json +309 -0
- package/plugins/copilot-pbr/plugin.json +30 -0
- package/plugins/copilot-pbr/references/agent-contracts.md +324 -0
- package/plugins/copilot-pbr/references/agent-teams.md +54 -0
- package/plugins/copilot-pbr/references/common-bug-patterns.md +13 -0
- package/plugins/copilot-pbr/references/config-reference.md +587 -0
- package/plugins/copilot-pbr/references/continuation-format.md +212 -0
- package/plugins/copilot-pbr/references/deviation-rules.md +112 -0
- package/plugins/copilot-pbr/references/git-integration.md +284 -0
- package/plugins/copilot-pbr/references/integration-patterns.md +117 -0
- package/plugins/copilot-pbr/references/model-profiles.md +143 -0
- package/plugins/copilot-pbr/references/model-selection.md +31 -0
- package/plugins/copilot-pbr/references/pbr-tools-cli.md +400 -0
- package/plugins/copilot-pbr/references/plan-authoring.md +246 -0
- package/plugins/copilot-pbr/references/plan-format.md +351 -0
- package/plugins/copilot-pbr/references/questioning.md +303 -0
- package/plugins/copilot-pbr/references/reading-verification.md +127 -0
- package/plugins/copilot-pbr/references/signal-files.md +41 -0
- package/plugins/copilot-pbr/references/stub-patterns.md +160 -0
- package/plugins/copilot-pbr/references/tmux-setup.md +286 -0
- package/plugins/copilot-pbr/references/ui-formatting.md +449 -0
- package/plugins/copilot-pbr/references/wave-execution.md +95 -0
- package/plugins/copilot-pbr/rules/pbr-workflow.mdc +48 -0
- package/plugins/copilot-pbr/setup.ps1 +93 -0
- package/plugins/copilot-pbr/setup.sh +93 -0
- package/plugins/copilot-pbr/skills/audit/SKILL.md +346 -0
- package/plugins/copilot-pbr/skills/begin/SKILL.md +886 -0
- package/plugins/copilot-pbr/skills/build/SKILL.md +992 -0
- package/plugins/copilot-pbr/skills/config/SKILL.md +341 -0
- package/plugins/copilot-pbr/skills/continue/SKILL.md +172 -0
- package/plugins/copilot-pbr/skills/dashboard/SKILL.md +56 -0
- package/plugins/copilot-pbr/skills/debug/SKILL.md +537 -0
- package/plugins/copilot-pbr/skills/discuss/SKILL.md +438 -0
- package/plugins/copilot-pbr/skills/do/SKILL.md +68 -0
- package/plugins/copilot-pbr/skills/explore/SKILL.md +441 -0
- package/plugins/copilot-pbr/skills/health/SKILL.md +330 -0
- package/plugins/copilot-pbr/skills/help/SKILL.md +231 -0
- package/plugins/copilot-pbr/skills/import/SKILL.md +814 -0
- package/plugins/copilot-pbr/skills/milestone/SKILL.md +637 -0
- package/plugins/copilot-pbr/skills/note/SKILL.md +219 -0
- package/plugins/copilot-pbr/skills/pause/SKILL.md +258 -0
- package/plugins/copilot-pbr/skills/plan/SKILL.md +689 -0
- package/plugins/copilot-pbr/skills/profile/SKILL.md +171 -0
- package/plugins/copilot-pbr/skills/quick/SKILL.md +437 -0
- package/plugins/copilot-pbr/skills/resume/SKILL.md +403 -0
- package/plugins/copilot-pbr/skills/review/SKILL.md +693 -0
- package/plugins/copilot-pbr/skills/scan/SKILL.md +325 -0
- package/plugins/copilot-pbr/skills/setup/SKILL.md +235 -0
- package/plugins/copilot-pbr/skills/shared/commit-planning-docs.md +43 -0
- package/plugins/copilot-pbr/skills/shared/config-loading.md +102 -0
- package/plugins/copilot-pbr/skills/shared/context-budget.md +92 -0
- package/plugins/copilot-pbr/skills/shared/context-loader-task.md +93 -0
- package/plugins/copilot-pbr/skills/shared/digest-select.md +79 -0
- package/plugins/copilot-pbr/skills/shared/domain-probes.md +125 -0
- package/plugins/copilot-pbr/skills/shared/error-reporting.md +59 -0
- package/plugins/copilot-pbr/skills/shared/gate-prompts.md +390 -0
- package/plugins/copilot-pbr/skills/shared/phase-argument-parsing.md +45 -0
- package/plugins/copilot-pbr/skills/shared/revision-loop.md +81 -0
- package/plugins/copilot-pbr/skills/shared/state-update.md +153 -0
- package/plugins/copilot-pbr/skills/shared/universal-anti-patterns.md +59 -0
- package/plugins/copilot-pbr/skills/status/SKILL.md +484 -0
- package/plugins/copilot-pbr/skills/statusline/SKILL.md +149 -0
- package/plugins/copilot-pbr/skills/test/SKILL.md +210 -0
- package/plugins/copilot-pbr/skills/todo/SKILL.md +281 -0
- package/plugins/copilot-pbr/skills/undo/SKILL.md +214 -0
- package/plugins/copilot-pbr/templates/CONTEXT.md.tmpl +52 -0
- package/plugins/copilot-pbr/templates/INTEGRATION-REPORT.md.tmpl +167 -0
- package/plugins/copilot-pbr/templates/PROJECT.md.tmpl +111 -0
- package/plugins/copilot-pbr/templates/REQUIREMENTS.md.tmpl +96 -0
- package/plugins/copilot-pbr/templates/ROADMAP.md.tmpl +105 -0
- package/plugins/copilot-pbr/templates/SUMMARY-complex.md.tmpl +112 -0
- package/plugins/copilot-pbr/templates/SUMMARY-minimal.md.tmpl +48 -0
- package/plugins/copilot-pbr/templates/SUMMARY.md.tmpl +81 -0
- package/plugins/copilot-pbr/templates/VERIFICATION-DETAIL.md.tmpl +119 -0
- package/plugins/copilot-pbr/templates/codebase/ARCHITECTURE.md.tmpl +98 -0
- package/plugins/copilot-pbr/templates/codebase/CONCERNS.md.tmpl +93 -0
- package/plugins/copilot-pbr/templates/codebase/CONVENTIONS.md.tmpl +104 -0
- package/plugins/copilot-pbr/templates/codebase/INTEGRATIONS.md.tmpl +78 -0
- package/plugins/copilot-pbr/templates/codebase/STACK.md.tmpl +78 -0
- package/plugins/copilot-pbr/templates/codebase/STRUCTURE.md.tmpl +80 -0
- package/plugins/copilot-pbr/templates/codebase/TESTING.md.tmpl +107 -0
- package/plugins/copilot-pbr/templates/continue-here.md.tmpl +73 -0
- package/plugins/copilot-pbr/templates/pr-body.md.tmpl +22 -0
- package/plugins/copilot-pbr/templates/project-CONTEXT.md.tmpl +43 -0
- package/plugins/copilot-pbr/templates/prompt-partials/phase-project-context.md.tmpl +37 -0
- package/plugins/copilot-pbr/templates/research-outputs/ARCHITECTURE.md.tmpl +91 -0
- package/plugins/copilot-pbr/templates/research-outputs/FEATURES.md.tmpl +64 -0
- package/plugins/copilot-pbr/templates/research-outputs/PITFALLS.md.tmpl +50 -0
- package/plugins/copilot-pbr/templates/research-outputs/STACK.md.tmpl +63 -0
- package/plugins/copilot-pbr/templates/research-outputs/SUMMARY.md.tmpl +98 -0
- package/plugins/cursor-pbr/.cursor-plugin/plugin.json +13 -3
- package/plugins/cursor-pbr/README.md +32 -7
- package/plugins/cursor-pbr/agents/audit.md +242 -0
- package/plugins/cursor-pbr/agents/codebase-mapper.md +134 -15
- package/plugins/cursor-pbr/agents/debugger.md +160 -26
- package/plugins/cursor-pbr/agents/dev-sync.md +200 -0
- package/plugins/cursor-pbr/agents/executor.md +354 -39
- package/plugins/cursor-pbr/agents/general.md +70 -4
- package/plugins/cursor-pbr/agents/integration-checker.md +171 -26
- package/plugins/cursor-pbr/agents/nyquist-auditor.md +246 -0
- package/plugins/cursor-pbr/agents/plan-checker.md +152 -42
- package/plugins/cursor-pbr/agents/planner.md +315 -29
- package/plugins/cursor-pbr/agents/researcher.md +174 -30
- package/plugins/cursor-pbr/agents/roadmapper.md +341 -0
- package/plugins/cursor-pbr/agents/synthesizer.md +191 -23
- package/plugins/cursor-pbr/agents/verifier.md +320 -23
- package/plugins/cursor-pbr/commands/add-phase.md +75 -0
- package/plugins/cursor-pbr/commands/add-todo.md +8 -0
- package/plugins/cursor-pbr/commands/audit-milestone.md +8 -0
- package/plugins/cursor-pbr/commands/audit.md +5 -0
- package/plugins/cursor-pbr/commands/check-todos.md +8 -0
- package/plugins/cursor-pbr/commands/complete-milestone.md +8 -0
- package/plugins/cursor-pbr/commands/config.md +5 -0
- package/plugins/cursor-pbr/commands/continue.md +5 -0
- package/plugins/cursor-pbr/commands/dashboard.md +5 -0
- package/plugins/cursor-pbr/commands/debug.md +5 -0
- package/plugins/cursor-pbr/commands/discuss-phase.md +6 -0
- package/plugins/cursor-pbr/commands/do.md +5 -0
- package/plugins/cursor-pbr/commands/execute-phase.md +6 -0
- package/plugins/cursor-pbr/commands/explore.md +5 -0
- package/plugins/cursor-pbr/commands/health.md +5 -0
- package/plugins/cursor-pbr/commands/help.md +5 -0
- package/plugins/cursor-pbr/commands/import.md +5 -0
- package/plugins/cursor-pbr/commands/insert-phase.md +65 -0
- package/plugins/cursor-pbr/commands/join-discord.md +11 -0
- package/plugins/cursor-pbr/commands/list-phase-assumptions.md +69 -0
- package/plugins/cursor-pbr/commands/map-codebase.md +6 -0
- package/plugins/cursor-pbr/commands/new-milestone.md +8 -0
- package/plugins/cursor-pbr/commands/new-project.md +6 -0
- package/plugins/cursor-pbr/commands/note.md +5 -0
- package/plugins/cursor-pbr/commands/pause-work.md +5 -0
- package/plugins/cursor-pbr/commands/plan-milestone-gaps.md +7 -0
- package/plugins/cursor-pbr/commands/plan-phase.md +6 -0
- package/plugins/cursor-pbr/commands/progress.md +6 -0
- package/plugins/cursor-pbr/commands/quick.md +5 -0
- package/plugins/cursor-pbr/commands/reapply-patches.md +40 -0
- package/plugins/cursor-pbr/commands/remove-phase.md +66 -0
- package/plugins/cursor-pbr/commands/research-phase.md +59 -0
- package/plugins/cursor-pbr/commands/resume-work.md +5 -0
- package/plugins/cursor-pbr/commands/set-profile.md +6 -0
- package/plugins/cursor-pbr/commands/settings.md +5 -0
- package/plugins/cursor-pbr/commands/setup.md +5 -0
- package/plugins/cursor-pbr/commands/statusline.md +5 -0
- package/plugins/cursor-pbr/commands/test.md +5 -0
- package/plugins/cursor-pbr/commands/undo.md +5 -0
- package/plugins/cursor-pbr/commands/update.md +37 -0
- package/plugins/cursor-pbr/commands/verify-work.md +6 -0
- package/plugins/cursor-pbr/hooks/hooks.json +96 -28
- package/plugins/cursor-pbr/references/agent-contracts.md +324 -0
- package/plugins/cursor-pbr/references/agent-teams.md +3 -4
- package/plugins/cursor-pbr/references/common-bug-patterns.md +0 -1
- package/plugins/cursor-pbr/references/config-reference.md +155 -10
- package/plugins/cursor-pbr/references/continuation-format.md +0 -1
- package/plugins/cursor-pbr/references/deviation-rules.md +0 -1
- package/plugins/cursor-pbr/references/git-integration.md +80 -23
- package/plugins/cursor-pbr/references/integration-patterns.md +0 -1
- package/plugins/cursor-pbr/references/model-profiles.md +51 -8
- package/plugins/cursor-pbr/references/model-selection.md +1 -2
- package/plugins/cursor-pbr/references/pbr-tools-cli.md +400 -0
- package/plugins/cursor-pbr/references/plan-authoring.md +65 -1
- package/plugins/cursor-pbr/references/plan-format.md +72 -9
- package/plugins/cursor-pbr/references/questioning.md +138 -50
- package/plugins/cursor-pbr/references/reading-verification.md +3 -4
- package/plugins/cursor-pbr/references/signal-files.md +41 -0
- package/plugins/cursor-pbr/references/stub-patterns.md +0 -1
- package/plugins/cursor-pbr/references/tmux-setup.md +286 -0
- package/plugins/cursor-pbr/references/ui-formatting.md +67 -80
- package/plugins/cursor-pbr/references/wave-execution.md +0 -1
- package/plugins/cursor-pbr/rules/pbr-workflow.mdc +6 -6
- package/plugins/cursor-pbr/setup.ps1 +1 -1
- package/plugins/cursor-pbr/setup.sh +1 -1
- package/plugins/cursor-pbr/skills/audit/SKILL.md +347 -0
- package/plugins/cursor-pbr/skills/begin/SKILL.md +461 -141
- package/plugins/cursor-pbr/skills/build/SKILL.md +420 -329
- package/plugins/cursor-pbr/skills/config/SKILL.md +107 -19
- package/plugins/cursor-pbr/skills/continue/SKILL.md +49 -36
- package/plugins/cursor-pbr/skills/dashboard/SKILL.md +57 -0
- package/plugins/cursor-pbr/skills/debug/SKILL.md +60 -34
- package/plugins/cursor-pbr/skills/discuss/SKILL.md +125 -30
- package/plugins/cursor-pbr/skills/do/SKILL.md +69 -0
- package/plugins/cursor-pbr/skills/explore/SKILL.md +90 -23
- package/plugins/cursor-pbr/skills/health/SKILL.md +144 -31
- package/plugins/cursor-pbr/skills/help/SKILL.md +124 -45
- package/plugins/cursor-pbr/skills/import/SKILL.md +346 -30
- package/plugins/cursor-pbr/skills/milestone/SKILL.md +189 -252
- package/plugins/cursor-pbr/skills/note/SKILL.md +47 -55
- package/plugins/cursor-pbr/skills/pause/SKILL.md +28 -16
- package/plugins/cursor-pbr/skills/plan/SKILL.md +305 -263
- package/plugins/cursor-pbr/skills/profile/SKILL.md +172 -0
- package/plugins/cursor-pbr/skills/quick/SKILL.md +106 -20
- package/plugins/cursor-pbr/skills/resume/SKILL.md +31 -27
- package/plugins/cursor-pbr/skills/review/SKILL.md +212 -167
- package/plugins/cursor-pbr/skills/scan/SKILL.md +47 -23
- package/plugins/cursor-pbr/skills/setup/SKILL.md +158 -173
- package/plugins/cursor-pbr/skills/shared/commit-planning-docs.md +8 -1
- package/plugins/cursor-pbr/skills/shared/config-loading.md +1 -2
- package/plugins/cursor-pbr/skills/shared/context-budget.md +56 -5
- package/plugins/cursor-pbr/skills/shared/context-loader-task.md +9 -3
- package/plugins/cursor-pbr/skills/shared/digest-select.md +2 -3
- package/plugins/cursor-pbr/skills/shared/domain-probes.md +1 -2
- package/plugins/cursor-pbr/skills/shared/error-reporting.md +38 -59
- package/plugins/cursor-pbr/skills/shared/gate-prompts.md +4 -3
- package/plugins/cursor-pbr/skills/shared/phase-argument-parsing.md +6 -7
- package/plugins/cursor-pbr/skills/shared/revision-loop.md +0 -1
- package/plugins/cursor-pbr/skills/shared/state-update.md +38 -47
- package/plugins/cursor-pbr/skills/shared/universal-anti-patterns.md +34 -9
- package/plugins/cursor-pbr/skills/status/SKILL.md +174 -52
- package/plugins/cursor-pbr/skills/statusline/SKILL.md +150 -0
- package/plugins/cursor-pbr/skills/test/SKILL.md +211 -0
- package/plugins/cursor-pbr/skills/todo/SKILL.md +118 -31
- package/plugins/cursor-pbr/skills/undo/SKILL.md +215 -0
- package/plugins/cursor-pbr/templates/CONTEXT.md.tmpl +1 -2
- package/plugins/cursor-pbr/templates/INTEGRATION-REPORT.md.tmpl +18 -3
- package/plugins/cursor-pbr/templates/PROJECT.md.tmpl +111 -0
- package/plugins/cursor-pbr/templates/REQUIREMENTS.md.tmpl +96 -0
- package/plugins/cursor-pbr/templates/ROADMAP.md.tmpl +80 -16
- package/plugins/cursor-pbr/templates/SUMMARY-complex.md.tmpl +112 -0
- package/plugins/cursor-pbr/templates/SUMMARY-minimal.md.tmpl +48 -0
- package/plugins/cursor-pbr/templates/SUMMARY.md.tmpl +0 -1
- package/plugins/cursor-pbr/templates/VERIFICATION-DETAIL.md.tmpl +13 -11
- package/plugins/cursor-pbr/templates/codebase/ARCHITECTURE.md.tmpl +98 -0
- package/plugins/cursor-pbr/templates/codebase/CONCERNS.md.tmpl +93 -0
- package/plugins/cursor-pbr/templates/codebase/CONVENTIONS.md.tmpl +104 -0
- package/plugins/cursor-pbr/templates/codebase/INTEGRATIONS.md.tmpl +78 -0
- package/plugins/cursor-pbr/templates/codebase/STACK.md.tmpl +78 -0
- package/plugins/cursor-pbr/templates/codebase/STRUCTURE.md.tmpl +80 -0
- package/plugins/cursor-pbr/templates/codebase/TESTING.md.tmpl +107 -0
- package/plugins/cursor-pbr/templates/continue-here.md.tmpl +0 -1
- package/plugins/cursor-pbr/templates/pr-body.md.tmpl +22 -0
- package/plugins/cursor-pbr/templates/project-CONTEXT.md.tmpl +43 -0
- package/plugins/cursor-pbr/templates/prompt-partials/phase-project-context.md.tmpl +0 -1
- package/plugins/cursor-pbr/templates/research-outputs/ARCHITECTURE.md.tmpl +91 -0
- package/plugins/cursor-pbr/templates/research-outputs/FEATURES.md.tmpl +64 -0
- package/plugins/cursor-pbr/templates/research-outputs/PITFALLS.md.tmpl +50 -0
- package/plugins/cursor-pbr/templates/research-outputs/STACK.md.tmpl +63 -0
- package/plugins/cursor-pbr/templates/research-outputs/SUMMARY.md.tmpl +98 -0
- package/plugins/pbr/.claude-plugin/plugin.json +7 -2
- package/plugins/pbr/UI-CONSISTENCY-GAPS.md +1 -1
- package/plugins/pbr/agents/audit.md +247 -0
- package/plugins/pbr/agents/codebase-mapper.md +151 -18
- package/plugins/pbr/agents/debugger.md +180 -28
- package/plugins/pbr/agents/dev-sync.md +206 -0
- package/plugins/pbr/agents/executor.md +365 -40
- package/plugins/pbr/agents/general.md +70 -5
- package/plugins/pbr/agents/integration-checker.md +174 -27
- package/plugins/pbr/agents/nyquist-auditor.md +252 -0
- package/plugins/pbr/agents/plan-checker.md +153 -43
- package/plugins/pbr/agents/planner.md +340 -28
- package/plugins/pbr/agents/researcher.md +210 -34
- package/plugins/pbr/agents/roadmapper.md +346 -0
- package/plugins/pbr/agents/synthesizer.md +193 -26
- package/plugins/pbr/agents/verifier.md +402 -23
- package/plugins/pbr/commands/add-phase.md +75 -0
- package/plugins/pbr/commands/add-todo.md +8 -0
- package/plugins/pbr/commands/audit-milestone.md +8 -0
- package/plugins/pbr/commands/audit.md +5 -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 +2 -2
- package/plugins/pbr/commands/continue.md +1 -1
- package/plugins/pbr/commands/dashboard.md +5 -0
- package/plugins/pbr/commands/debug.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/explore.md +1 -1
- package/plugins/pbr/commands/health.md +1 -1
- package/plugins/pbr/commands/help.md +1 -1
- package/plugins/pbr/commands/import.md +1 -1
- package/plugins/pbr/commands/insert-phase.md +65 -0
- package/plugins/pbr/commands/join-discord.md +11 -0
- package/plugins/pbr/commands/list-phase-assumptions.md +69 -0
- package/plugins/pbr/commands/map-codebase.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/note.md +1 -1
- 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/progress.md +6 -0
- package/plugins/pbr/commands/quick.md +1 -1
- package/plugins/pbr/commands/reapply-patches.md +40 -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/set-profile.md +6 -0
- package/plugins/pbr/commands/settings.md +5 -0
- package/plugins/pbr/commands/setup.md +2 -2
- package/plugins/pbr/commands/statusline.md +5 -0
- package/plugins/pbr/commands/test.md +5 -0
- package/plugins/pbr/commands/undo.md +5 -0
- package/plugins/pbr/commands/update.md +37 -0
- package/plugins/pbr/commands/verify-work.md +6 -0
- package/plugins/pbr/dashboard/package-lock.json +6 -0
- package/plugins/pbr/hooks/hooks.json +97 -18
- package/plugins/pbr/references/agent-contracts.md +324 -0
- package/plugins/pbr/references/agent-teams.md +3 -3
- package/plugins/pbr/references/{checkpoints.md → archive/checkpoints.md} +32 -0
- package/plugins/pbr/references/archive/context-quality-tiers.md +45 -0
- package/plugins/{cursor-pbr/references → pbr/references/archive}/pbr-rules.md +4 -4
- package/plugins/pbr/references/archive/verification-patterns.md +277 -0
- package/plugins/pbr/references/config-reference.md +179 -9
- package/plugins/pbr/references/git-integration.md +80 -22
- package/plugins/pbr/references/model-profiles.md +62 -7
- package/plugins/pbr/references/model-selection.md +1 -1
- package/plugins/pbr/references/pbr-tools-cli.md +400 -0
- package/plugins/pbr/references/plan-authoring.md +65 -0
- package/plugins/pbr/references/plan-format.md +72 -8
- package/plugins/pbr/references/questioning.md +138 -49
- package/plugins/pbr/references/reading-verification.md +3 -3
- package/plugins/pbr/references/signal-files.md +41 -0
- package/plugins/pbr/references/tmux-setup.md +286 -0
- package/plugins/pbr/references/ui-formatting.md +67 -79
- package/plugins/pbr/scripts/auto-continue.js +113 -6
- package/plugins/pbr/scripts/block-skill-self-read.js +77 -0
- package/plugins/pbr/scripts/branding-audit.js +231 -0
- package/plugins/pbr/scripts/check-agent-state-write.js +63 -0
- package/plugins/pbr/scripts/check-config-change.js +188 -0
- package/plugins/pbr/scripts/check-cross-plugin-sync.js +93 -0
- package/plugins/pbr/scripts/check-dangerous-commands.js +49 -1
- package/plugins/pbr/scripts/check-phase-boundary.js +2 -8
- package/plugins/pbr/scripts/check-plan-format.js +414 -30
- package/plugins/pbr/scripts/check-roadmap-sync.js +178 -9
- package/plugins/pbr/scripts/check-skill-workflow.js +109 -18
- package/plugins/pbr/scripts/check-state-sync.js +156 -20
- package/plugins/pbr/scripts/check-subagent-output.js +581 -14
- package/plugins/pbr/scripts/check-summary-gate.js +1 -1
- package/plugins/pbr/scripts/config-schema.json +157 -2
- package/plugins/pbr/scripts/context-bridge.js +342 -0
- package/plugins/pbr/scripts/context-budget-check.js +89 -9
- package/plugins/pbr/scripts/enforce-pbr-workflow.js +277 -0
- package/plugins/pbr/scripts/event-handler.js +72 -6
- package/plugins/pbr/scripts/hook-server-client.js +258 -0
- package/plugins/pbr/scripts/hook-server.js +334 -0
- package/plugins/pbr/scripts/hooks-schema.json +5 -1
- package/plugins/pbr/scripts/instructions-loaded.js +107 -0
- package/plugins/pbr/scripts/intercept-plan-mode.js +47 -0
- package/plugins/pbr/scripts/lib/alternatives.js +203 -0
- package/plugins/pbr/scripts/lib/build.js +719 -0
- package/plugins/pbr/scripts/lib/circuit-state.js +133 -0
- package/plugins/pbr/scripts/lib/config.js +288 -0
- package/plugins/pbr/scripts/lib/context.js +246 -0
- package/plugins/pbr/scripts/lib/core.js +934 -0
- package/plugins/pbr/scripts/lib/gates/advisories.js +129 -0
- package/plugins/pbr/scripts/lib/gates/build-dependency.js +100 -0
- package/plugins/pbr/scripts/lib/gates/build-executor.js +79 -0
- package/plugins/pbr/scripts/lib/gates/doc-existence.js +46 -0
- package/plugins/pbr/scripts/lib/gates/helpers.js +74 -0
- package/plugins/pbr/scripts/lib/gates/milestone-complete.js +120 -0
- package/plugins/pbr/scripts/lib/gates/plan-executor.js +36 -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/history.js +150 -0
- package/plugins/pbr/scripts/lib/init.js +302 -0
- package/plugins/pbr/scripts/lib/learnings.js +312 -0
- package/plugins/pbr/scripts/lib/migrate.js +169 -0
- package/plugins/pbr/scripts/lib/phase.js +935 -0
- package/plugins/pbr/scripts/lib/preview.js +174 -0
- package/plugins/pbr/scripts/lib/reference.js +236 -0
- package/plugins/pbr/scripts/lib/roadmap.js +784 -0
- package/plugins/pbr/scripts/lib/skill-section.js +99 -0
- package/plugins/pbr/scripts/lib/spot-check.js +118 -0
- package/plugins/pbr/scripts/lib/state.js +534 -0
- package/plugins/pbr/scripts/lib/step-verify.js +149 -0
- package/plugins/pbr/scripts/lib/todo.js +300 -0
- package/plugins/pbr/scripts/local-llm/client.js +237 -0
- package/plugins/pbr/scripts/local-llm/health.js +220 -0
- package/plugins/pbr/scripts/local-llm/metrics.js +340 -0
- package/plugins/pbr/scripts/local-llm/operations/classify-artifact.js +76 -0
- package/plugins/pbr/scripts/local-llm/operations/classify-commit.js +137 -0
- package/plugins/pbr/scripts/local-llm/operations/classify-error.js +75 -0
- package/plugins/pbr/scripts/local-llm/operations/classify-file-intent.js +171 -0
- package/plugins/pbr/scripts/local-llm/operations/score-source.js +72 -0
- package/plugins/pbr/scripts/local-llm/operations/summarize-context.js +62 -0
- package/plugins/pbr/scripts/local-llm/operations/triage-test-output.js +72 -0
- package/plugins/pbr/scripts/local-llm/operations/validate-task.js +59 -0
- package/plugins/pbr/scripts/local-llm/router.js +101 -0
- package/plugins/pbr/scripts/local-llm/shadow.js +60 -0
- package/plugins/pbr/scripts/local-llm/threshold-tuner.js +118 -0
- package/plugins/pbr/scripts/log-subagent.js +90 -13
- package/plugins/pbr/scripts/log-tool-failure.js +39 -5
- package/plugins/pbr/scripts/milestone-learnings.js +290 -0
- package/plugins/pbr/scripts/package.json +1 -0
- package/plugins/pbr/scripts/pbr-tools.js +1143 -1232
- package/plugins/pbr/scripts/post-bash-triage.js +151 -0
- package/plugins/pbr/scripts/post-write-dispatch.js +181 -25
- package/plugins/pbr/scripts/post-write-quality.js +3 -3
- package/plugins/pbr/scripts/pre-bash-dispatch.js +56 -2
- package/plugins/pbr/scripts/pre-write-dispatch.js +69 -19
- package/plugins/pbr/scripts/progress-tracker.js +428 -19
- package/plugins/pbr/scripts/run-hook.js +49 -8
- package/plugins/pbr/scripts/session-cleanup.js +99 -5
- package/plugins/pbr/scripts/session-tracker.js +78 -0
- package/plugins/pbr/scripts/status-line.js +179 -27
- package/plugins/pbr/scripts/suggest-compact.js +108 -7
- package/plugins/pbr/scripts/sync-context-to-claude.js +100 -0
- package/plugins/pbr/scripts/task-completed.js +123 -1
- 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 +237 -89
- package/plugins/pbr/scripts/validate-commit.js +76 -11
- package/plugins/pbr/scripts/validate-skill-args.js +151 -0
- package/plugins/pbr/scripts/validate-task.js +167 -17
- 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 +348 -0
- package/plugins/pbr/skills/begin/SKILL.md +412 -118
- package/plugins/pbr/skills/begin/templates/STATE.md.tmpl +1 -2
- package/plugins/pbr/skills/begin/templates/config.json.tmpl +8 -2
- package/plugins/pbr/skills/begin/templates/researcher-prompt.md.tmpl +28 -0
- package/plugins/pbr/skills/begin/templates/roadmap-prompt.md.tmpl +19 -0
- package/plugins/pbr/skills/begin/templates/synthesis-prompt.md.tmpl +33 -5
- package/plugins/pbr/skills/build/SKILL.md +503 -307
- package/plugins/pbr/skills/build/templates/continuation-prompt.md.tmpl +26 -0
- package/plugins/pbr/skills/build/templates/executor-prompt.md.tmpl +70 -0
- package/plugins/pbr/skills/build/templates/inline-verifier-prompt.md.tmpl +33 -0
- package/plugins/pbr/skills/config/SKILL.md +104 -18
- package/plugins/pbr/skills/continue/SKILL.md +92 -22
- package/plugins/pbr/skills/dashboard/SKILL.md +58 -0
- package/plugins/pbr/skills/debug/SKILL.md +57 -33
- 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 +123 -30
- package/plugins/pbr/skills/discuss/templates/CONTEXT.md.tmpl +1 -1
- package/plugins/pbr/skills/do/SKILL.md +70 -0
- package/plugins/pbr/skills/explore/SKILL.md +92 -24
- package/plugins/pbr/skills/health/SKILL.md +143 -32
- package/plugins/pbr/skills/help/SKILL.md +122 -45
- package/plugins/pbr/skills/import/SKILL.md +341 -29
- package/plugins/pbr/skills/milestone/SKILL.md +187 -252
- 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/note/SKILL.md +45 -55
- package/plugins/pbr/skills/pause/SKILL.md +26 -16
- package/plugins/pbr/skills/plan/SKILL.md +264 -258
- package/plugins/pbr/skills/plan/templates/completion-output.md.tmpl +27 -0
- package/plugins/pbr/skills/plan/templates/planner-prompt.md.tmpl +1 -1
- package/plugins/pbr/skills/profile/SKILL.md +173 -0
- package/plugins/pbr/skills/quick/SKILL.md +104 -20
- package/plugins/pbr/skills/resume/SKILL.md +29 -27
- package/plugins/pbr/skills/review/SKILL.md +172 -136
- package/plugins/pbr/skills/scan/SKILL.md +41 -19
- package/plugins/pbr/skills/scan/templates/mapper-prompt.md.tmpl +1 -1
- package/plugins/pbr/skills/setup/SKILL.md +160 -177
- package/plugins/pbr/skills/shared/commit-planning-docs.md +8 -0
- package/plugins/pbr/skills/shared/context-budget.md +67 -2
- package/plugins/pbr/skills/shared/context-loader-task.md +9 -2
- 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 -58
- package/plugins/pbr/skills/shared/gate-prompts.md +4 -2
- package/plugins/pbr/skills/shared/phase-argument-parsing.md +6 -6
- package/plugins/pbr/skills/shared/state-update.md +36 -44
- package/plugins/pbr/skills/shared/universal-anti-patterns.md +36 -10
- package/plugins/pbr/skills/status/SKILL.md +161 -43
- package/plugins/pbr/skills/statusline/SKILL.md +151 -0
- package/plugins/pbr/skills/test/SKILL.md +212 -0
- package/plugins/pbr/skills/todo/SKILL.md +117 -32
- package/plugins/pbr/skills/undo/SKILL.md +216 -0
- package/plugins/pbr/templates/CONTEXT.md.tmpl +1 -1
- package/plugins/pbr/templates/INTEGRATION-REPORT.md.tmpl +18 -2
- package/plugins/pbr/templates/PROJECT.md.tmpl +111 -0
- package/plugins/pbr/templates/REQUIREMENTS.md.tmpl +96 -0
- package/plugins/pbr/templates/ROADMAP.md.tmpl +80 -15
- package/plugins/pbr/templates/SUMMARY-complex.md.tmpl +112 -0
- package/plugins/pbr/templates/SUMMARY-minimal.md.tmpl +48 -0
- package/plugins/pbr/templates/VERIFICATION-DETAIL.md.tmpl +13 -10
- package/plugins/pbr/templates/pr-body.md.tmpl +22 -0
- package/plugins/pbr/templates/project-CONTEXT.md.tmpl +43 -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/generate-derivatives.js +581 -0
- package/scripts/run-tests.cjs +29 -0
- package/dashboard/bin/cli.js +0 -25
- package/dashboard/public/css/layout.css +0 -406
- package/dashboard/public/css/status-colors.css +0 -98
- package/dashboard/public/js/htmx-title.js +0 -5
- package/dashboard/public/js/sidebar-toggle.js +0 -20
- package/dashboard/src/app.js +0 -78
- package/dashboard/src/middleware/errorHandler.js +0 -52
- package/dashboard/src/middleware/notFoundHandler.js +0 -9
- package/dashboard/src/repositories/planning.repository.js +0 -128
- package/dashboard/src/routes/events.routes.js +0 -40
- package/dashboard/src/routes/index.routes.js +0 -31
- package/dashboard/src/routes/pages.routes.js +0 -252
- package/dashboard/src/server.js +0 -42
- package/dashboard/src/services/dashboard.service.js +0 -286
- package/dashboard/src/services/phase.service.js +0 -226
- package/dashboard/src/services/project.service.js +0 -57
- package/dashboard/src/services/roadmap.service.js +0 -171
- package/dashboard/src/services/sse.service.js +0 -58
- package/dashboard/src/services/todo.service.js +0 -254
- package/dashboard/src/services/watcher.service.js +0 -48
- package/dashboard/src/views/coming-soon.ejs +0 -11
- package/dashboard/src/views/error.ejs +0 -13
- package/dashboard/src/views/index.ejs +0 -5
- package/dashboard/src/views/layout.ejs +0 -1
- package/dashboard/src/views/partials/dashboard-content.ejs +0 -77
- package/dashboard/src/views/partials/footer.ejs +0 -3
- package/dashboard/src/views/partials/head.ejs +0 -21
- package/dashboard/src/views/partials/header.ejs +0 -12
- package/dashboard/src/views/partials/layout-bottom.ejs +0 -15
- package/dashboard/src/views/partials/layout-top.ejs +0 -8
- package/dashboard/src/views/partials/phase-content.ejs +0 -189
- package/dashboard/src/views/partials/phase-doc-content.ejs +0 -38
- package/dashboard/src/views/partials/phases-content.ejs +0 -117
- package/dashboard/src/views/partials/roadmap-content.ejs +0 -142
- package/dashboard/src/views/partials/sidebar.ejs +0 -38
- package/dashboard/src/views/partials/todo-create-content.ejs +0 -53
- package/dashboard/src/views/partials/todo-detail-content.ejs +0 -38
- package/dashboard/src/views/partials/todos-content.ejs +0 -53
- 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/cursor-pbr/references/agent-anti-patterns.md +0 -25
- package/plugins/cursor-pbr/references/agent-interactions.md +0 -135
- package/plugins/cursor-pbr/references/checkpoints.md +0 -158
- package/plugins/cursor-pbr/references/planning-config.md +0 -214
- package/plugins/cursor-pbr/references/subagent-coordination.md +0 -120
- package/plugins/cursor-pbr/references/verification-patterns.md +0 -199
- 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/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/shared/progress-display.md +0 -54
- package/plugins/cursor-pbr/skills/shared/state-loading.md +0 -63
- package/plugins/cursor-pbr/templates/RESEARCH-SUMMARY.md.tmpl +0 -98
- package/plugins/pbr/commands/begin.md +0 -5
- package/plugins/pbr/commands/build.md +0 -5
- package/plugins/pbr/commands/discuss.md +0 -5
- package/plugins/pbr/commands/milestone.md +0 -5
- package/plugins/pbr/commands/pause.md +0 -5
- package/plugins/pbr/commands/plan.md +0 -5
- package/plugins/pbr/commands/resume.md +0 -5
- package/plugins/pbr/commands/review.md +0 -5
- package/plugins/pbr/commands/scan.md +0 -5
- package/plugins/pbr/commands/status.md +0 -5
- package/plugins/pbr/commands/todo.md +0 -5
- package/plugins/pbr/references/agent-interactions.md +0 -134
- package/plugins/pbr/references/pbr-rules.md +0 -193
- package/plugins/pbr/references/planning-config.md +0 -213
- package/plugins/pbr/references/subagent-coordination.md +0 -119
- package/plugins/pbr/references/verification-patterns.md +0 -198
- 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
|
@@ -1,19 +1,23 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: plan
|
|
3
3
|
description: "Create a detailed plan for a phase. Research, plan, and verify before building."
|
|
4
|
-
argument-hint: "<phase-number> [--skip-research] [--assumptions] [--gaps] | add | insert <N> | remove <N>"
|
|
4
|
+
argument-hint: "<phase-number> [--skip-research] [--assumptions] [--gaps] [--model <model>] | add | insert <N> | remove <N>"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
**STOP — DO NOT READ THIS FILE. You are already reading it. This prompt was injected into your context by Claude Code's plugin system. Using the Read tool on this SKILL.md file wastes ~7,600 tokens. Begin executing Step 1 immediately.**
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
# /pbr:plan-phase — Phase Planning
|
|
10
|
+
|
|
11
|
+
**References:** `@references/questioning.md`, `@references/ui-brand.md`
|
|
12
|
+
|
|
13
|
+
You are the orchestrator for `/pbr:plan-phase`. This skill creates detailed, executable plans for a specific phase. Plans are the bridge between the roadmap and actual code — they must be specific enough for an executor agent to follow mechanically. Your job is to stay lean, delegate heavy work to Task() agents, and keep the user's main context window clean.
|
|
10
14
|
|
|
11
15
|
## Context Budget
|
|
12
16
|
|
|
13
17
|
Reference: `skills/shared/context-budget.md` for the universal orchestrator rules.
|
|
14
18
|
|
|
15
19
|
Additionally for this skill:
|
|
16
|
-
- **Minimize** reading
|
|
20
|
+
- **Minimize** reading subagent output — read only plan frontmatter for summaries
|
|
17
21
|
- **Delegate** all research and planning work to agents — the orchestrator routes, it doesn't plan
|
|
18
22
|
|
|
19
23
|
## Step 0 — Immediate Output
|
|
@@ -21,16 +25,32 @@ Additionally for this skill:
|
|
|
21
25
|
**Before ANY tool calls**, display this banner:
|
|
22
26
|
|
|
23
27
|
```
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
28
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
29
|
+
║ PLAN-BUILD-RUN ► PLANNING PHASE {N} ║
|
|
30
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
27
31
|
```
|
|
28
32
|
|
|
29
33
|
Where `{N}` is the phase number from `$ARGUMENTS`. Then proceed to Step 1.
|
|
30
34
|
|
|
35
|
+
## Multi-Session Sync
|
|
36
|
+
|
|
37
|
+
Before any phase-modifying operations (writing PLAN files, updating STATE.md/ROADMAP.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
|
+
|
|
31
51
|
## Prerequisites
|
|
32
52
|
|
|
33
|
-
- `.planning/config.json` exists (run `/pbr:
|
|
53
|
+
- `.planning/config.json` exists (run `/pbr:new-project` first)
|
|
34
54
|
- `.planning/ROADMAP.md` exists with at least one phase
|
|
35
55
|
- `.planning/REQUIREMENTS.md` exists
|
|
36
56
|
|
|
@@ -42,7 +62,7 @@ Parse `$ARGUMENTS` according to `skills/shared/phase-argument-parsing.md`.
|
|
|
42
62
|
|
|
43
63
|
### Standard Invocation
|
|
44
64
|
|
|
45
|
-
`/pbr:plan <N>` — Plan phase N
|
|
65
|
+
`/pbr:plan-phase <N>` — Plan phase N
|
|
46
66
|
|
|
47
67
|
Parse the phase number and optional flags:
|
|
48
68
|
|
|
@@ -53,7 +73,9 @@ Parse the phase number and optional flags:
|
|
|
53
73
|
| `3 --assumptions` | Surface assumptions before planning phase 3 |
|
|
54
74
|
| `3 --gaps` | Create gap-closure plans for phase 3 (from VERIFICATION.md) |
|
|
55
75
|
| `3 --teams` | Plan phase 3 using specialist agent teams |
|
|
76
|
+
| `3 --model opus` | Use opus for all researcher, planner, and checker spawns in phase 3 |
|
|
56
77
|
| (no number) | Use current phase from STATE.md |
|
|
78
|
+
| `3 --preview` | Preview what planning would produce for phase 3 without spawning agents |
|
|
57
79
|
|
|
58
80
|
### Subcommands
|
|
59
81
|
|
|
@@ -63,9 +85,9 @@ Parse the phase number and optional flags:
|
|
|
63
85
|
| `insert <N>` | Insert a new phase at position N (uses decimal numbering) |
|
|
64
86
|
| `remove <N>` | Remove phase N from the roadmap |
|
|
65
87
|
|
|
66
|
-
### Freeform Text Guard
|
|
88
|
+
### Freeform Text Guard — CRITICAL
|
|
67
89
|
|
|
68
|
-
**Before
|
|
90
|
+
**STOP. Before ANY context loading or Step 1 work**, you MUST check whether `$ARGUMENTS` looks like freeform text rather than a valid invocation. This check is non-negotiable. Valid patterns are:
|
|
69
91
|
|
|
70
92
|
- Empty (no arguments)
|
|
71
93
|
- A phase number: integer (`3`, `03`) or decimal (`3.1`)
|
|
@@ -76,14 +98,14 @@ Parse the phase number and optional flags:
|
|
|
76
98
|
If `$ARGUMENTS` does NOT match any of these patterns — i.e., it contains freeform words that are not a recognized subcommand or flag — then **stop execution** and respond:
|
|
77
99
|
|
|
78
100
|
```
|
|
79
|
-
`/pbr:plan` expects a phase number or subcommand.
|
|
101
|
+
`/pbr:plan-phase` expects a phase number or subcommand.
|
|
80
102
|
|
|
81
103
|
Usage:
|
|
82
|
-
/pbr:plan <N> Plan phase N
|
|
83
|
-
/pbr:plan <N> --gaps Create gap-closure plans
|
|
84
|
-
/pbr:plan add Add a new phase
|
|
85
|
-
/pbr:plan insert <N> Insert a phase at position N
|
|
86
|
-
/pbr:plan remove <N> Remove phase N
|
|
104
|
+
/pbr:plan-phase <N> Plan phase N
|
|
105
|
+
/pbr:plan-phase <N> --gaps Create gap-closure plans
|
|
106
|
+
/pbr:plan-phase add Add a new phase
|
|
107
|
+
/pbr:plan-phase insert <N> Insert a phase at position N
|
|
108
|
+
/pbr:plan-phase remove <N> Remove phase N
|
|
87
109
|
```
|
|
88
110
|
|
|
89
111
|
Then suggest the appropriate skill based on the text content:
|
|
@@ -92,16 +114,18 @@ Then suggest the appropriate skill based on the text content:
|
|
|
92
114
|
|---------------------------|---------|
|
|
93
115
|
| A task, idea, or feature request | `/pbr:todo` to capture it, or `/pbr:explore` to investigate |
|
|
94
116
|
| A bug or debugging request | `/pbr:debug` to investigate the issue |
|
|
95
|
-
| A review or quality concern | `/pbr:
|
|
117
|
+
| A review or quality concern | `/pbr:verify-work` to assess existing work |
|
|
96
118
|
| Anything else | `/pbr:explore` for open-ended work |
|
|
97
119
|
|
|
98
120
|
Do NOT proceed with planning. The user needs to use the correct skill.
|
|
99
121
|
|
|
122
|
+
**Self-check**: If you reach Step 1 without having matched a valid argument pattern above, you have a bug. Stop immediately and show the usage block.
|
|
123
|
+
|
|
100
124
|
---
|
|
101
125
|
|
|
102
126
|
## Orchestration Flow: Standard Planning
|
|
103
127
|
|
|
104
|
-
Execute these steps in order for standard `/pbr:plan <N>` invocations.
|
|
128
|
+
Execute these steps in order for standard `/pbr:plan-phase <N>` invocations.
|
|
105
129
|
|
|
106
130
|
---
|
|
107
131
|
|
|
@@ -110,17 +134,48 @@ Execute these steps in order for standard `/pbr:plan <N>` invocations.
|
|
|
110
134
|
Reference: `skills/shared/config-loading.md` for the tooling shortcut (`state load`, `plan-index`, `phase-info`) and config field reference.
|
|
111
135
|
|
|
112
136
|
1. Parse `$ARGUMENTS` for phase number and flags
|
|
137
|
+
- If `--model <value>` is present in `$ARGUMENTS`, extract the value (sonnet, opus, haiku, inherit). Store as `override_model`. When spawning researcher, planner, and plan-checker Task() agents, use `override_model` instead of the config-derived model values. If an invalid value is provided, display an error and list valid values.
|
|
113
138
|
2. Read `.planning/config.json` for settings (see config-loading.md for field reference)
|
|
139
|
+
**CRITICAL (hook-enforced): Write .active-skill NOW.** Write the text "plan" to `.planning/.active-skill` using the Write tool.
|
|
114
140
|
3. Resolve depth profile: run `node ${PLUGIN_ROOT}/scripts/pbr-tools.js config resolve-depth` to get the effective feature/gate settings for the current depth. Store the result for use in later gating decisions.
|
|
115
141
|
4. Validate:
|
|
116
142
|
- Phase exists in ROADMAP.md
|
|
117
143
|
- Phase directory exists at `.planning/phases/{NN}-{slug}/`
|
|
118
144
|
- Phase does not already have PLAN.md files (unless user confirms re-planning)
|
|
119
145
|
5. If no phase number given, read current phase from `.planning/STATE.md`
|
|
120
|
-
6. **CONTEXT.md existence check**: If the phase is non-trivial (has 2+ requirements or success criteria), check whether a CONTEXT.md exists at EITHER `.planning/CONTEXT.md` (project-level) OR `.planning/phases/{NN}-{slug}/CONTEXT.md` (phase-level). If NEITHER exists, warn: "Phase {N} has no CONTEXT.md. Consider running `/pbr:discuss {N}` first to capture your preferences. Continue anyway?" If user says no, stop. If yes, continue. If at least one exists, proceed without warning.
|
|
146
|
+
6. **CONTEXT.md existence check**: If the phase is non-trivial (has 2+ requirements or success criteria), check whether a CONTEXT.md exists at EITHER `.planning/CONTEXT.md` (project-level) OR `.planning/phases/{NN}-{slug}/CONTEXT.md` (phase-level). If NEITHER exists, warn: "Phase {N} has no CONTEXT.md. Consider running `/pbr:discuss-phase {N}` first to capture your preferences. Continue anyway?" If user says no, stop. If yes, continue. If at least one exists, proceed without warning.
|
|
147
|
+
|
|
148
|
+
#### --preview mode
|
|
149
|
+
|
|
150
|
+
If `--preview` is present in `$ARGUMENTS`:
|
|
151
|
+
|
|
152
|
+
1. Detect the `--preview` flag and extract the phase number.
|
|
153
|
+
2. Render the following dry-run banner:
|
|
154
|
+
|
|
155
|
+
```
|
|
156
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
157
|
+
║ DRY RUN — /pbr:plan-phase {N} --preview ║
|
|
158
|
+
║ No researchers or planners will be spawned ║
|
|
159
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
3. Show the 5 steps that would occur:
|
|
163
|
+
|
|
164
|
+
1. Parse ROADMAP.md for phase {N} goal, dependencies, and requirements
|
|
165
|
+
2. Spawn researcher agents to investigate codebase and gather context
|
|
166
|
+
3. Spawn planner agent to write PLAN files based on research
|
|
167
|
+
4. Run plan-checker to validate structure and completeness
|
|
168
|
+
5. Present plans for your approval before building
|
|
169
|
+
|
|
170
|
+
4. Show estimated agent spawns: ~2-4 agents (1-2 researchers + 1 planner + 1 plan-checker)
|
|
171
|
+
5. Show output location: `.planning/phases/{NN}-{slug}/PLAN-NN.md`
|
|
172
|
+
|
|
173
|
+
6. **STOP** — do not proceed to Step 2.
|
|
174
|
+
|
|
175
|
+
---
|
|
121
176
|
|
|
122
177
|
**If phase already has plans:**
|
|
123
|
-
- Use
|
|
178
|
+
- Use AskUserQuestion (pattern: yes-no from `skills/shared/gate-prompts.md`):
|
|
124
179
|
question: "Phase {N} already has plans. Re-plan from scratch?"
|
|
125
180
|
header: "Re-plan?"
|
|
126
181
|
options:
|
|
@@ -133,7 +188,9 @@ Reference: `skills/shared/config-loading.md` for the tooling shortcut (`state lo
|
|
|
133
188
|
|
|
134
189
|
### Step 2: Load Context (inline)
|
|
135
190
|
|
|
136
|
-
|
|
191
|
+
**Init-first pattern**: When spawning agents, pass the output of `node plugins/pbr/scripts/pbr-tools.js init plan-phase {N}` as context rather than having the agent read multiple files separately. This reduces file reads and prevents context-loading failures.
|
|
192
|
+
|
|
193
|
+
Read context file PATHS and metadata. Build lean context bundles for subagent prompts — include paths and one-line descriptions, NOT full file bodies. Agents have the Read tool and will pull file contents on-demand.
|
|
137
194
|
|
|
138
195
|
```
|
|
139
196
|
1. Read .planning/ROADMAP.md — extract current phase goal, dependencies, requirements
|
|
@@ -157,34 +214,7 @@ Collect all of this into a context bundle that will be passed to agents.
|
|
|
157
214
|
|
|
158
215
|
**IMPORTANT**: This step is FREE (no agents). It happens entirely inline.
|
|
159
216
|
|
|
160
|
-
Before spawning any agents, present
|
|
161
|
-
|
|
162
|
-
```
|
|
163
|
-
Phase {N}: {Name}
|
|
164
|
-
Goal: {from roadmap}
|
|
165
|
-
|
|
166
|
-
My assumptions about this phase:
|
|
167
|
-
|
|
168
|
-
1. **Approach**: I'm assuming we'll {approach}
|
|
169
|
-
- Correct? [yes/no/adjust]
|
|
170
|
-
|
|
171
|
-
2. **Key technology**: I'm assuming we'll use {tech}
|
|
172
|
-
- Correct? [yes/no/adjust]
|
|
173
|
-
|
|
174
|
-
3. **Architecture**: I'm assuming {architectural assumption}
|
|
175
|
-
- Correct? [yes/no/adjust]
|
|
176
|
-
|
|
177
|
-
4. **Scope boundary**: I'm assuming {scope assumption}
|
|
178
|
-
- Correct? [yes/no/adjust]
|
|
179
|
-
```
|
|
180
|
-
|
|
181
|
-
For each assumption the user corrects:
|
|
182
|
-
- Record the correction
|
|
183
|
-
- These corrections become additional CONTEXT.md entries
|
|
184
|
-
|
|
185
|
-
After all assumptions are confirmed/corrected:
|
|
186
|
-
- Update `.planning/CONTEXT.md` with any new locked decisions
|
|
187
|
-
- Continue to Step 4
|
|
217
|
+
Before spawning any agents, present 4 assumptions to the user — one each for: approach (how the phase will be implemented), key technology, architecture, and scope boundary. For each, ask the user to confirm or correct. Record corrections as new CONTEXT.md locked decisions. After all assumptions are confirmed/corrected, continue to Step 4.
|
|
188
218
|
|
|
189
219
|
---
|
|
190
220
|
|
|
@@ -201,17 +231,24 @@ To check: run `node ${PLUGIN_ROOT}/scripts/pbr-tools.js config resolve-depth` an
|
|
|
201
231
|
|
|
202
232
|
**If research is needed:**
|
|
203
233
|
|
|
204
|
-
Display to the user:
|
|
234
|
+
Display to the user: `◆ Spawning researcher...`
|
|
205
235
|
|
|
206
|
-
|
|
236
|
+
Spawn a researcher Task():
|
|
207
237
|
|
|
208
|
-
|
|
238
|
+
```
|
|
239
|
+
Task({
|
|
240
|
+
subagent_type: "pbr:researcher",
|
|
241
|
+
prompt: <phase research prompt>
|
|
242
|
+
})
|
|
243
|
+
|
|
244
|
+
NOTE: The pbr:researcher subagent type auto-loads the agent definition. Do NOT inline it.
|
|
245
|
+
```
|
|
209
246
|
|
|
210
|
-
**Path resolution**: Before constructing the agent prompt, resolve
|
|
247
|
+
**Path resolution**: Before constructing the agent prompt, resolve `${PLUGIN_ROOT}` to its absolute path. Do not pass the variable literally in prompts — Task() contexts may not expand it. Use the resolved absolute path for any pbr-tools.js or template references included in the prompt.
|
|
211
248
|
|
|
212
249
|
#### Phase Research Prompt Template
|
|
213
250
|
|
|
214
|
-
Read
|
|
251
|
+
Read `${CLAUDE_SKILL_DIR}/templates/researcher-prompt.md.tmpl` and use it as the prompt template for spawning the researcher agent. Fill in the placeholders with phase-specific context:
|
|
215
252
|
- `{NN}` - phase number (zero-padded)
|
|
216
253
|
- `{phase name}` - phase name from roadmap
|
|
217
254
|
- `{goal from roadmap}` - phase goal statement
|
|
@@ -219,65 +256,73 @@ Read `skills/plan/templates/researcher-prompt.md.tmpl` and use it as the prompt
|
|
|
219
256
|
- `{dependencies from roadmap}` - dependency list
|
|
220
257
|
- Fill `<project_context>` and `<prior_work>` blocks per the shared partial (`templates/prompt-partials/phase-project-context.md.tmpl`): Decision Summary for context, manifest table for prior work
|
|
221
258
|
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
259
|
+
**Prepend this block to the researcher prompt before sending:**
|
|
260
|
+
```
|
|
261
|
+
<files_to_read>
|
|
262
|
+
CRITICAL (no hook): Read these files BEFORE any other action:
|
|
263
|
+
1. .planning/ROADMAP.md — phase goals, dependencies, and structure
|
|
264
|
+
2. .planning/REQUIREMENTS.md — scoped requirements for this phase (if exists)
|
|
265
|
+
</files_to_read>
|
|
266
|
+
```
|
|
229
267
|
|
|
230
|
-
|
|
231
|
-
2. For each seed file, read its frontmatter and check the `trigger` field
|
|
232
|
-
3. A seed matches if ANY of these are true:
|
|
233
|
-
- `trigger` equals the phase slug (e.g., `trigger: authentication`) — **preferred**
|
|
234
|
-
- `trigger` is a substring of the phase directory name (e.g., `trigger: auth` matches `03-authentication`)
|
|
235
|
-
- `trigger` equals the current phase number as integer (e.g., `trigger: 3`) — backward compatible but NOT recommended for new seeds (breaks with decimal phases like 3.1)
|
|
236
|
-
- `trigger` equals `*` (always matches)
|
|
237
|
-
4. If matching seeds are found, present them to the user:
|
|
238
|
-
```
|
|
239
|
-
Found {N} seeds related to Phase {NN}:
|
|
240
|
-
- {seed_name}: {seed description}
|
|
241
|
-
- {seed_name}: {seed description}
|
|
242
|
-
```
|
|
268
|
+
Wait for the researcher to complete before proceeding.
|
|
243
269
|
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
- label: "Yes, all" description: "Include all {N} matching seeds"
|
|
249
|
-
- label: "Let me pick" description: "Choose which seeds to include"
|
|
250
|
-
- label: "No" description: "Proceed without seeds"
|
|
251
|
-
5. If "Yes, all": include all matching seed content in the planner's context
|
|
252
|
-
6. If "Let me pick": present individual seeds for selection
|
|
253
|
-
7. If "No" or "Other": proceed without seeds
|
|
254
|
-
8. If no matching seeds found: proceed silently
|
|
270
|
+
After the researcher completes, check the Task() output for a completion marker:
|
|
271
|
+
- If `## RESEARCH COMPLETE` is present: proceed to planner
|
|
272
|
+
- If `## RESEARCH BLOCKED` is present: warn the user that research could not complete, ask if they want to proceed with limited context or stop
|
|
273
|
+
- If neither marker is present: warn that researcher may not have completed successfully, but proceed
|
|
255
274
|
|
|
256
275
|
---
|
|
257
276
|
|
|
258
|
-
### Step 4.
|
|
277
|
+
### Step 4.5: Pre-Planner Briefing (delegated)
|
|
259
278
|
|
|
260
|
-
|
|
279
|
+
**CRITICAL (no hook): Run pre-planner briefing before spawning the planner. Do NOT skip this step.**
|
|
261
280
|
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
281
|
+
Consolidate seed scanning and deferred idea surfacing into a single lightweight Task():
|
|
282
|
+
|
|
283
|
+
```
|
|
284
|
+
Task({
|
|
285
|
+
subagent_type: "pbr:general",
|
|
286
|
+
model: "haiku",
|
|
287
|
+
prompt: "Pre-planner briefing for Phase {NN} ({phase-slug}).
|
|
288
|
+
|
|
289
|
+
1. SEED SCANNING:
|
|
290
|
+
Run: `node ${PLUGIN_ROOT}/scripts/pbr-tools.js seeds match {phase-slug} {phase-number}`
|
|
291
|
+
If `matched` is non-empty, output a ## Seeds section listing each seed name, description, and content.
|
|
292
|
+
If empty, output: ## Seeds\nNo matching seeds found.
|
|
293
|
+
|
|
294
|
+
2. DEFERRED IDEAS:
|
|
295
|
+
Read `.planning/CONTEXT.md`. If it has a section containing 'deferred' or 'ideas' (case-insensitive),
|
|
296
|
+
extract items that mention Phase {NN} or keywords matching the phase slug.
|
|
297
|
+
If relevant items found, output a ## Deferred Ideas section listing them.
|
|
298
|
+
If none found, output: ## Deferred Ideas\nNo relevant deferred items.
|
|
299
|
+
|
|
300
|
+
Output format: Return both sections as markdown. End with ## BRIEFING COMPLETE."
|
|
301
|
+
})
|
|
302
|
+
```
|
|
279
303
|
|
|
280
|
-
|
|
304
|
+
After the Task() completes:
|
|
305
|
+
- If `## Seeds` section contains matches:
|
|
306
|
+
- If `gates.confirm_seeds` is `true` in config: present them to the user via AskUserQuestion (pattern: yes-no-pick from `skills/shared/gate-prompts.md`):
|
|
307
|
+
question: "Include these {N} seeds in planning?"
|
|
308
|
+
header: "Seeds?"
|
|
309
|
+
options:
|
|
310
|
+
- label: "Yes, all" description: "Include all {N} matching seeds"
|
|
311
|
+
- label: "Let me pick" description: "Choose which seeds to include"
|
|
312
|
+
- label: "No" description: "Proceed without seeds"
|
|
313
|
+
- If "Yes, all": include seed content in planner context
|
|
314
|
+
- If "Let me pick": present individual seeds for selection
|
|
315
|
+
- If "No": proceed without seeds
|
|
316
|
+
- If `gates.confirm_seeds` is `false` (default): automatically include all matching seeds in planner context without prompting. Log: "Including {N} seeds automatically (gates.confirm_seeds=false)."
|
|
317
|
+
|
|
318
|
+
- If `## Deferred Ideas` section has items:
|
|
319
|
+
- If `gates.confirm_deferred` is `true` in config: present via AskUserQuestion (pattern: yes-no from `skills/shared/gate-prompts.md`):
|
|
320
|
+
question: "Include these deferred ideas in planning context?"
|
|
321
|
+
- If "Yes": append to planner context under `Deferred ideas to consider:`
|
|
322
|
+
- If "No": proceed without changes
|
|
323
|
+
- If `gates.confirm_deferred` is `false` (default): automatically append deferred ideas to planner context without prompting. Log: "Including deferred ideas automatically (gates.confirm_deferred=false)."
|
|
324
|
+
|
|
325
|
+
- If both sections are empty: proceed silently to Step 5 (no AskUserQuestion needed)
|
|
281
326
|
|
|
282
327
|
---
|
|
283
328
|
|
|
@@ -285,48 +330,51 @@ This is a lightweight relevance filter — do NOT invoke an agent for this. Just
|
|
|
285
330
|
|
|
286
331
|
#### Team Mode (--teams)
|
|
287
332
|
|
|
288
|
-
|
|
333
|
+
If `--teams` flag is set OR `config.parallelization.use_teams` is true, spawn 3 parallel planner agents (architect, security, test) then a synthesizer to merge their outputs. See `references/agent-teams.md` for agent role definitions, output paths (`.planning/phases/{NN}-{slug}/team/`), and prompt content for each role.
|
|
289
334
|
|
|
290
|
-
If `--teams`
|
|
335
|
+
If `--teams` is NOT set and `config.parallelization.use_teams` is false or unset, proceed with the single-planner flow below.
|
|
336
|
+
|
|
337
|
+
#### Single-Planner Flow (default)
|
|
291
338
|
|
|
292
|
-
|
|
293
|
-
2. Display to the user: `Spawning 3 planners in parallel (architect, security, test)...`
|
|
339
|
+
**Learnings injection (opt-in):** Check for planning and estimation learnings before spawning the planner:
|
|
294
340
|
|
|
295
|
-
|
|
341
|
+
```bash
|
|
342
|
+
node {resolved_plugin_root}/scripts/pbr-tools.js learnings query --tags "estimation,planning,process" 2>/dev/null
|
|
343
|
+
```
|
|
296
344
|
|
|
297
|
-
|
|
298
|
-
- Invoke `@planner` with: "You are the ARCHITECT role in a planning team. Focus on: structure, file boundaries, dependency ordering, wave assignment. Write your output to `.planning/phases/{NN}-{slug}/team/architect-PLAN.md`. Do NOT write final PLAN.md files -- your output will be synthesized."
|
|
299
|
-
- Include phase goal, research doc paths, CONTEXT.md path in the prompt
|
|
345
|
+
If non-empty JSON array returned:
|
|
300
346
|
|
|
301
|
-
|
|
302
|
-
- Invoke `@planner` with: "You are the SECURITY REVIEWER role in a planning team. Focus on: authentication checks, input validation tasks, secrets handling, permission boundaries. Write your output to `.planning/phases/{NN}-{slug}/team/security-PLAN.md`. Do NOT write final PLAN.md files."
|
|
303
|
-
- Include same context as Agent 1
|
|
347
|
+
- Write to temp file and note as `{learnings_temp_path}`:
|
|
304
348
|
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
349
|
+
```bash
|
|
350
|
+
node {resolved_plugin_root}/scripts/pbr-tools.js learnings query --tags "estimation,planning,process" > /tmp/pbr-learnings-$$.md
|
|
351
|
+
```
|
|
308
352
|
|
|
309
|
-
|
|
310
|
-
4. Display to the user: `Spawning synthesizer...`
|
|
353
|
+
- Add as an additional `files_to_read` item in the planner prompt below
|
|
311
354
|
|
|
312
|
-
|
|
313
|
-
5. Proceed to plan checking as normal
|
|
355
|
+
If no learnings or command fails: omit.
|
|
314
356
|
|
|
315
|
-
|
|
357
|
+
Display to the user: `◆ Spawning planner...`
|
|
316
358
|
|
|
317
|
-
|
|
359
|
+
Spawn the planner Task() with all context inlined:
|
|
318
360
|
|
|
319
|
-
|
|
361
|
+
```
|
|
362
|
+
Task({
|
|
363
|
+
subagent_type: "pbr:planner",
|
|
364
|
+
prompt: <planning prompt>
|
|
365
|
+
})
|
|
320
366
|
|
|
321
|
-
|
|
367
|
+
NOTE: The pbr:planner subagent type auto-loads the agent definition.
|
|
322
368
|
|
|
323
|
-
|
|
369
|
+
After planner completes, check for completion markers: `## PLANNING COMPLETE`, `## PLANNING FAILED`, or `## PLANNING INCONCLUSIVE`. Route accordingly. Do NOT inline it.
|
|
370
|
+
```
|
|
324
371
|
|
|
325
|
-
**Path resolution**: Before constructing the agent prompt, resolve
|
|
372
|
+
**Path resolution**: Before constructing the agent prompt, resolve `${PLUGIN_ROOT}` to its absolute path. Do not pass the variable literally in prompts — Task() contexts may not expand it. Use the resolved absolute path for any pbr-tools.js or template references included in the prompt.
|
|
326
373
|
|
|
327
374
|
#### Planning Prompt Template
|
|
328
375
|
|
|
329
|
-
Read
|
|
376
|
+
Read `${CLAUDE_SKILL_DIR}/templates/planner-prompt.md.tmpl` and use it as the prompt template for spawning the planner agent. Fill in all placeholder blocks with phase-specific context:
|
|
377
|
+
|
|
330
378
|
- `<phase_context>` - phase number, directory, goal, requirements, dependencies, success criteria
|
|
331
379
|
- `<project_context>` - locked decisions, user constraints, deferred ideas, phase-specific decisions
|
|
332
380
|
- `<prior_work>` - manifest table of preceding phase SUMMARY.md file paths with status and one-line exports (NOT full bodies)
|
|
@@ -334,16 +382,50 @@ Read `skills/plan/templates/planner-prompt.md.tmpl` and use it as the prompt tem
|
|
|
334
382
|
- `<config>` - max tasks, parallelization, TDD mode from config.json
|
|
335
383
|
- `<planning_instructions>` - phase-specific planning rules and output path
|
|
336
384
|
|
|
385
|
+
**Prepend this block to the planner prompt before sending:**
|
|
386
|
+
|
|
387
|
+
```
|
|
388
|
+
<files_to_read>
|
|
389
|
+
CRITICAL (no hook): Read these files BEFORE any other action:
|
|
390
|
+
1. .planning/CONTEXT.md — locked decisions and constraints (if exists)
|
|
391
|
+
2. .planning/ROADMAP.md — phase goals, dependencies, and structure
|
|
392
|
+
3. .planning/phases/{NN}-{slug}/RESEARCH.md — research findings (if exists)
|
|
393
|
+
{if learnings_temp_path exists}4. {learnings_temp_path} — cross-project learnings (estimation and planning patterns from past PBR projects){/if}
|
|
394
|
+
</files_to_read>
|
|
395
|
+
```
|
|
396
|
+
|
|
397
|
+
If `{learnings_temp_path}` was produced in the learnings injection step above, replace `{if...}{/if}` with the actual line. If no learnings were found, omit item 4 entirely.
|
|
398
|
+
|
|
337
399
|
Wait for the planner to complete.
|
|
338
400
|
|
|
339
|
-
After the planner returns, read the plan files it created to extract counts. Display a completion summary:
|
|
401
|
+
After the planner returns, read the plan files it created to extract counts. Display a completion summary using standardized status symbols (see `@references/ui-brand.md`):
|
|
340
402
|
|
|
341
403
|
```
|
|
342
|
-
Planner created {N} plan(s) across {M} wave(s)
|
|
404
|
+
✓ Planner created {N} plan(s) across {M} wave(s)
|
|
343
405
|
```
|
|
344
406
|
|
|
345
407
|
Where `{N}` is the number of PLAN.md files written and `{M}` is the number of distinct wave values across those plans (from frontmatter).
|
|
346
408
|
|
|
409
|
+
Present a wave execution table using standardized symbols:
|
|
410
|
+
|
|
411
|
+
```
|
|
412
|
+
Wave 1: ○ Plan 01, ○ Plan 02
|
|
413
|
+
Wave 2: ○ Plan 03
|
|
414
|
+
```
|
|
415
|
+
|
|
416
|
+
Use `○` (pending) for all plans at this stage since none have been executed yet.
|
|
417
|
+
|
|
418
|
+
### Step 5b: Spot-Check Planner Output
|
|
419
|
+
|
|
420
|
+
CRITICAL (no hook): Verify planner output before proceeding.
|
|
421
|
+
|
|
422
|
+
1. **PLAN files exist**: Check `.planning/phases/{NN}-{slug}/PLAN-*.md` files exist on disk
|
|
423
|
+
2. **Valid frontmatter**: Read first 20 lines of each PLAN file — verify `depends_on`, `files_modified`, `must_haves` fields present
|
|
424
|
+
3. **Task structure**: Verify at least one `<task>` block exists in each plan file
|
|
425
|
+
4. **Plan count matches**: Number of PLAN files matches what the planner reported
|
|
426
|
+
|
|
427
|
+
If ANY spot-check fails, present the user with options: **Retry** / **Continue anyway** / **Abort**
|
|
428
|
+
|
|
347
429
|
---
|
|
348
430
|
|
|
349
431
|
### Step 6: Plan Validation (delegated, conditional)
|
|
@@ -355,27 +437,43 @@ To check: use the resolved depth profile from Step 1. The profile consolidates t
|
|
|
355
437
|
|
|
356
438
|
**If validation is enabled:**
|
|
357
439
|
|
|
358
|
-
Display to the user:
|
|
440
|
+
Display to the user: `◆ Spawning plan checker...`
|
|
441
|
+
|
|
442
|
+
Spawn the plan checker Task():
|
|
359
443
|
|
|
360
|
-
|
|
444
|
+
```
|
|
445
|
+
Task({
|
|
446
|
+
subagent_type: "pbr:plan-checker",
|
|
447
|
+
prompt: <checker prompt>
|
|
448
|
+
})
|
|
361
449
|
|
|
362
|
-
|
|
450
|
+
NOTE: The pbr:plan-checker subagent type auto-loads the agent definition. Do NOT inline it.
|
|
451
|
+
```
|
|
363
452
|
|
|
364
|
-
**Path resolution**: Before constructing the agent prompt, resolve
|
|
453
|
+
**Path resolution**: Before constructing the agent prompt, resolve `${PLUGIN_ROOT}` to its absolute path. Do not pass the variable literally in prompts — Task() contexts may not expand it. Use the resolved absolute path for any pbr-tools.js or template references included in the prompt.
|
|
365
454
|
|
|
366
455
|
#### Checker Prompt Template
|
|
367
456
|
|
|
368
|
-
Read
|
|
457
|
+
Read `${CLAUDE_SKILL_DIR}/templates/checker-prompt.md.tmpl` and use it as the prompt template for spawning the plan checker agent. Fill in the placeholders:
|
|
369
458
|
- `<plans_to_check>` - manifest table of PLAN.md file paths (checker reads each via Read tool)
|
|
370
459
|
- `<phase_context>` - phase goal and requirement IDs
|
|
371
460
|
- `<context>` - file paths to project-level and phase-level CONTEXT.md files (checker reads via Read tool)
|
|
372
461
|
|
|
462
|
+
**Prepend this block to the checker prompt before sending:**
|
|
463
|
+
```
|
|
464
|
+
<files_to_read>
|
|
465
|
+
CRITICAL (no hook): Read these files BEFORE any other action:
|
|
466
|
+
1. .planning/phases/{NN}-{slug}/PLAN-*.md — plan files to validate
|
|
467
|
+
2. .planning/CONTEXT.md — locked decisions to check against (if exists)
|
|
468
|
+
</files_to_read>
|
|
469
|
+
```
|
|
470
|
+
|
|
373
471
|
**Process checker results:**
|
|
374
472
|
|
|
375
473
|
After the plan checker returns, display its result:
|
|
376
474
|
|
|
377
|
-
- If `VERIFICATION PASSED`: display
|
|
378
|
-
- If issues found: display
|
|
475
|
+
- If `VERIFICATION PASSED`: display `✓ Plan checker: all plans passed` and proceed to Step 8
|
|
476
|
+
- If issues found: display `⚠ Plan checker found {N} issue(s) — entering revision loop` and proceed to Step 7
|
|
379
477
|
|
|
380
478
|
---
|
|
381
479
|
|
|
@@ -384,7 +482,7 @@ After the plan checker returns, display its result:
|
|
|
384
482
|
Reference: `skills/shared/revision-loop.md` for the full Check-Revise-Escalate pattern.
|
|
385
483
|
|
|
386
484
|
Follow the revision loop pattern with:
|
|
387
|
-
- **Producer**: planner (re-
|
|
485
|
+
- **Producer**: planner (re-spawned with `${CLAUDE_SKILL_DIR}/templates/revision-prompt.md.tmpl`)
|
|
388
486
|
- **Checker**: plan-checker (back to Step 6)
|
|
389
487
|
- **Escalation**: present issues to user, offer "Proceed anyway" or "Adjust approach" (re-enter Step 5)
|
|
390
488
|
|
|
@@ -398,34 +496,15 @@ Follow the revision loop pattern with:
|
|
|
398
496
|
|
|
399
497
|
**If approval is needed:**
|
|
400
498
|
|
|
401
|
-
Present a summary of all plans to the user:
|
|
402
|
-
|
|
403
|
-
```
|
|
404
|
-
Phase {N}: {name}
|
|
405
|
-
Plans: {count}
|
|
406
|
-
|
|
407
|
-
Plan {phase}-01: {plan name} (Wave {W}, {task_count} tasks)
|
|
408
|
-
Must-haves: {list truths}
|
|
409
|
-
Files: {list files_modified}
|
|
410
|
-
Tasks:
|
|
411
|
-
1. {task name}
|
|
412
|
-
2. {task name}
|
|
413
|
-
|
|
414
|
-
Plan {phase}-02: {plan name} (Wave {W}, {task_count} tasks)
|
|
415
|
-
...
|
|
416
|
-
|
|
417
|
-
Wave execution order:
|
|
418
|
-
Wave 1: Plan 01, Plan 02 (parallel)
|
|
419
|
-
Wave 2: Plan 03 (depends on 01, 02)
|
|
499
|
+
Present a summary of all plans to the user. For each plan include: plan name, wave, task count, must-haves, files_modified. For each task include the task name. Add a wave execution order summary (Wave 1: Plan 01, 02 (parallel), Wave 2: Plan 03, etc.).
|
|
420
500
|
|
|
421
|
-
Use
|
|
501
|
+
Use AskUserQuestion (pattern: approve-revise-abort from `skills/shared/gate-prompts.md`):
|
|
422
502
|
question: "Approve these {count} plans for Phase {N}?"
|
|
423
503
|
header: "Approve?"
|
|
424
504
|
options:
|
|
425
505
|
- label: "Approve" description: "Proceed to build phase"
|
|
426
506
|
- label: "Request changes" description: "Discuss adjustments before proceeding"
|
|
427
507
|
- label: "Abort" description: "Cancel planning for this phase"
|
|
428
|
-
```
|
|
429
508
|
|
|
430
509
|
**If user selects 'Request changes' or 'Other':**
|
|
431
510
|
- Discuss what needs to change
|
|
@@ -433,17 +512,20 @@ Use the approve-revise-abort pattern from `skills/shared/gate-prompts.md`:
|
|
|
433
512
|
- Or make small inline edits to plan files directly
|
|
434
513
|
|
|
435
514
|
**If user selects 'Approve':**
|
|
436
|
-
- **CONTEXT.md compliance reporting**:
|
|
515
|
+
- **CONTEXT.md compliance reporting**: Check locked decisions from BOTH sources:
|
|
516
|
+
a. Project-level: `.planning/CONTEXT.md` (if exists) — cross-cutting decisions for all phases
|
|
517
|
+
b. Phase-level: `.planning/phases/{NN}-{slug}/CONTEXT.md` (if exists) — phase-specific decisions
|
|
518
|
+
Phase-level decisions override project-level for the same decision area.
|
|
519
|
+
|
|
520
|
+
Collect ALL locked decisions from both files (deduplicate identical decision text).
|
|
521
|
+
Compare against the generated plan tasks. Print:
|
|
522
|
+
`CONTEXT.md compliance: {M}/{N} locked decisions mapped to tasks`
|
|
523
|
+
where M = locked decisions reflected in at least one task action, N = total unique locked decisions.
|
|
524
|
+
If any locked decisions are unmapped, list them as warnings.
|
|
525
|
+
If neither CONTEXT.md exists: skip this check silently.
|
|
437
526
|
- **Dependency fingerprinting**: For each dependency phase (phases that this phase depends on, per ROADMAP.md):
|
|
438
527
|
1. Find all SUMMARY.md files in the dependency phase directory
|
|
439
|
-
2. Compute a
|
|
440
|
-
3. Add a `dependency_fingerprints` field to each plan's YAML frontmatter:
|
|
441
|
-
```yaml
|
|
442
|
-
dependency_fingerprints:
|
|
443
|
-
"01-01": "len:4856-mod:2025-02-08T09:40"
|
|
444
|
-
"01-02": "len:4375-mod:2025-02-08T09:43"
|
|
445
|
-
```
|
|
446
|
-
4. This allows the build skill to detect if dependency phases were re-built after this plan was created
|
|
528
|
+
2. Compute a fingerprint string for each: `"len:{bytes}-mod:{mtime}"` and add as a `dependency_fingerprints` map in each plan's YAML frontmatter — this allows the build skill to detect stale plans if dependencies were rebuilt.
|
|
447
529
|
- **Update ROADMAP.md Progress table** (REQUIRED — do this BEFORE updating STATE.md):
|
|
448
530
|
|
|
449
531
|
**Tooling shortcut**: Use the CLI for atomic updates:
|
|
@@ -460,9 +542,11 @@ Use the approve-revise-abort pattern from `skills/shared/gate-prompts.md`:
|
|
|
460
542
|
4. Update the `Plans Complete` column to `0/{N}` where N = number of plan files just created
|
|
461
543
|
5. Update the `Status` column to `planned`
|
|
462
544
|
6. Save the file — do NOT skip this step
|
|
463
|
-
- Update STATE.md
|
|
464
|
-
|
|
465
|
-
-
|
|
545
|
+
- Update STATE.md via CLI **(CRITICAL (no hook) — update BOTH frontmatter AND body)**: set `status: "planned"`, `plans_total`, `last_command` in frontmatter AND update `Status:`, `Plan:` lines in body `## Current Position`
|
|
546
|
+
|
|
547
|
+
**Tooling shortcut**: `node ${PLUGIN_ROOT}/scripts/pbr-tools.js state patch '{"status":"planned","last_command":"/pbr:plan-phase {N}"}'`
|
|
548
|
+
- **If `features.auto_advance` is `true` AND `mode` is `autonomous`:** Chain directly to build: `Skill({ skill: "pbr:build", args: "{N}" })`. This continues the build→review→plan→build cycle automatically.
|
|
549
|
+
- **Otherwise:** Suggest next action: `/pbr:execute-phase {N}`
|
|
466
550
|
|
|
467
551
|
---
|
|
468
552
|
|
|
@@ -470,6 +554,8 @@ Use the approve-revise-abort pattern from `skills/shared/gate-prompts.md`:
|
|
|
470
554
|
|
|
471
555
|
### Subcommand: `add`
|
|
472
556
|
|
|
557
|
+
**CRITICAL (hook-enforced): Write .active-skill NOW.** Write the text "plan" to `.planning/.active-skill` using the Write tool.
|
|
558
|
+
|
|
473
559
|
1. Read `.planning/ROADMAP.md`
|
|
474
560
|
2. Calculate next phase number (last phase + 1)
|
|
475
561
|
3. Ask user: "What's the goal for this new phase?"
|
|
@@ -478,11 +564,14 @@ Use the approve-revise-abort pattern from `skills/shared/gate-prompts.md`:
|
|
|
478
564
|
6. Append phase to ROADMAP.md
|
|
479
565
|
7. Create phase directory: `.planning/phases/{NN}-{slug}/`
|
|
480
566
|
8. Update STATE.md if needed
|
|
481
|
-
9. Suggest: `/pbr:plan {N}` to plan the new phase
|
|
567
|
+
9. Suggest: `/pbr:plan-phase {N}` to plan the new phase
|
|
568
|
+
10. Delete `.planning/.active-skill` if it exists.
|
|
482
569
|
|
|
483
570
|
### Subcommand: `insert <N>`
|
|
484
571
|
|
|
485
|
-
Reference:
|
|
572
|
+
Reference: `${CLAUDE_SKILL_DIR}/decimal-phase-calc.md` for decimal numbering rules.
|
|
573
|
+
|
|
574
|
+
**CRITICAL (hook-enforced): Write .active-skill NOW.** Write the text "plan" to `.planning/.active-skill` using the Write tool.
|
|
486
575
|
|
|
487
576
|
1. Read `.planning/ROADMAP.md`
|
|
488
577
|
2. Calculate decimal phase number:
|
|
@@ -493,7 +582,8 @@ Reference: `skills/plan/decimal-phase-calc.md` for decimal numbering rules.
|
|
|
493
582
|
4. Insert phase into ROADMAP.md at the correct position
|
|
494
583
|
5. Create phase directory: `.planning/phases/{NN.M}-{slug}/`
|
|
495
584
|
6. Update dependencies of subsequent phases if affected
|
|
496
|
-
7. Suggest: `/pbr:plan {N.M}` to plan the new phase
|
|
585
|
+
7. Suggest: `/pbr:plan-phase {N.M}` to plan the new phase
|
|
586
|
+
8. Delete `.planning/.active-skill` if it exists.
|
|
497
587
|
|
|
498
588
|
### Subcommand: `remove <N>`
|
|
499
589
|
|
|
@@ -502,13 +592,15 @@ Reference: `skills/plan/decimal-phase-calc.md` for decimal numbering rules.
|
|
|
502
592
|
- Phase must exist
|
|
503
593
|
- Phase must be in `pending` or `not started` status (cannot remove completed/in-progress phases)
|
|
504
594
|
- No other phases depend on this phase (or user confirms breaking dependencies)
|
|
505
|
-
3.
|
|
506
|
-
4.
|
|
595
|
+
3. **CRITICAL (hook-enforced): Write .active-skill NOW.** Write the text "plan" to `.planning/.active-skill` using the Write tool.
|
|
596
|
+
4. Confirm with user: "Remove Phase {N}: {name}? This will delete the phase directory and renumber subsequent phases."
|
|
597
|
+
5. If confirmed:
|
|
507
598
|
- Delete `.planning/phases/{NN}-{slug}/` directory
|
|
508
599
|
- Remove phase from ROADMAP.md
|
|
509
600
|
- Renumber subsequent phases (N+1 becomes N, etc.)
|
|
510
601
|
- Update all `depends_on` references in ROADMAP.md
|
|
511
602
|
- Update STATE.md if needed
|
|
603
|
+
6. Delete `.planning/.active-skill` if it exists.
|
|
512
604
|
|
|
513
605
|
---
|
|
514
606
|
|
|
@@ -517,11 +609,11 @@ Reference: `skills/plan/decimal-phase-calc.md` for decimal numbering rules.
|
|
|
517
609
|
When invoked with `--gaps`:
|
|
518
610
|
|
|
519
611
|
1. Read `.planning/phases/{NN}-{slug}/VERIFICATION.md`
|
|
520
|
-
- If no VERIFICATION.md exists: tell user "No verification report found. Run `/pbr:
|
|
612
|
+
- If no VERIFICATION.md exists: tell user "No verification report found. Run `/pbr:verify-work {N}` first."
|
|
521
613
|
2. Extract all gaps from the verification report
|
|
522
|
-
3.
|
|
614
|
+
3. Spawn planner Task() in Gap Closure mode:
|
|
523
615
|
|
|
524
|
-
Read
|
|
616
|
+
Read `${CLAUDE_SKILL_DIR}/templates/gap-closure-prompt.md.tmpl` and use it as the prompt template for the gap closure planner. Fill in the placeholders:
|
|
525
617
|
- `<verification_report>` - inline the FULL VERIFICATION.md content
|
|
526
618
|
- `<existing_plans>` - inline all existing PLAN.md files for the phase
|
|
527
619
|
- `<gap_closure_instructions>` - specify output path and gap_closure frontmatter flag
|
|
@@ -529,120 +621,70 @@ Read `skills/plan/templates/gap-closure-prompt.md.tmpl` and use it as the prompt
|
|
|
529
621
|
4. After gap-closure plans are created:
|
|
530
622
|
- Run plan checker (if enabled)
|
|
531
623
|
- Present to user for approval
|
|
532
|
-
- Suggest: `/pbr:
|
|
624
|
+
- Suggest: `/pbr:execute-phase {N} --gaps-only`
|
|
533
625
|
|
|
534
626
|
---
|
|
535
627
|
|
|
536
628
|
## Error Handling
|
|
537
629
|
|
|
538
630
|
### Phase not found
|
|
539
|
-
If the specified phase doesn't exist in ROADMAP.md,
|
|
540
|
-
```
|
|
541
|
-
ERROR
|
|
542
|
-
|
|
543
|
-
Phase {N} not found in ROADMAP.md.
|
|
631
|
+
If the specified phase doesn't exist in ROADMAP.md, use conversational recovery:
|
|
544
632
|
|
|
545
|
-
|
|
546
|
-
|
|
633
|
+
1. Run: `node ${PLUGIN_ROOT}/scripts/pbr-tools.js suggest-alternatives phase-not-found {slug}`
|
|
634
|
+
2. Parse the JSON response to get `available` phases and `suggestions` (closest matches).
|
|
635
|
+
3. Display: "Phase '{slug}' not found. Did you mean one of these?"
|
|
636
|
+
- List `suggestions` (if any) as numbered options.
|
|
637
|
+
- Offer "Show all phases" to list `available`.
|
|
638
|
+
4. Use AskUserQuestion (pattern: yes-no-pick from `skills/shared/gate-prompts.md`) to let the user pick a phase or abort.
|
|
639
|
+
- If user picks a valid phase slug: re-run with that slug.
|
|
640
|
+
- If user chooses to abort: stop cleanly with a friendly message.
|
|
547
641
|
|
|
548
642
|
### Missing prerequisites
|
|
549
|
-
If REQUIREMENTS.md or ROADMAP.md don't exist,
|
|
550
|
-
```
|
|
551
|
-
ERROR
|
|
643
|
+
If REQUIREMENTS.md or ROADMAP.md don't exist, use conversational recovery:
|
|
552
644
|
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
645
|
+
1. Run: `node ${PLUGIN_ROOT}/scripts/pbr-tools.js suggest-alternatives missing-prereq {phase}`
|
|
646
|
+
2. Parse the JSON response to get `existing_summaries`, `missing_summaries`, and `suggested_action`.
|
|
647
|
+
3. Display what is already complete and what is missing.
|
|
648
|
+
4. Use AskUserQuestion to offer: "Run /pbr:execute-phase {prerequisite-phase} first, or continue anyway?"
|
|
649
|
+
- If user chooses to continue: proceed with planning (note missing prereqs in plan frontmatter).
|
|
650
|
+
- If user chooses to build first: stop and display the suggested build command.
|
|
557
651
|
|
|
558
652
|
### Research agent fails
|
|
559
|
-
If the researcher
|
|
653
|
+
If the researcher Task() fails, display:
|
|
560
654
|
```
|
|
561
|
-
Research agent failed. Planning without phase-specific research.
|
|
562
|
-
This may result in less accurate plans.
|
|
655
|
+
⚠ Research agent failed. Planning without phase-specific research.
|
|
656
|
+
This may result in less accurate plans.
|
|
563
657
|
```
|
|
564
658
|
Continue to the planning step.
|
|
565
659
|
|
|
566
660
|
### Planner agent fails
|
|
567
|
-
If the planner
|
|
568
|
-
```
|
|
569
|
-
ERROR
|
|
570
|
-
|
|
571
|
-
Planner agent failed for Phase {N}.
|
|
572
|
-
|
|
573
|
-
**To fix:**
|
|
574
|
-
- Try again with `/pbr:plan {N} --skip-research`
|
|
575
|
-
- Check `.planning/CONTEXT.md` for conflicting constraints
|
|
576
|
-
```
|
|
661
|
+
If the planner Task() fails, display a branded error box — see `skills/shared/error-reporting.md`, pattern: Planner agent failure.
|
|
577
662
|
|
|
578
663
|
### Checker loops forever
|
|
579
|
-
After 3 revision iterations without passing, display:
|
|
580
|
-
```
|
|
581
|
-
ERROR
|
|
582
|
-
|
|
583
|
-
Plan checker failed to pass after 3 revision iterations for Phase {N}.
|
|
584
|
-
|
|
585
|
-
**To fix:**
|
|
586
|
-
- Review the remaining issues below and decide whether to proceed or revise manually
|
|
587
|
-
- Run `/pbr:plan {N}` to restart planning from scratch
|
|
588
|
-
```
|
|
589
|
-
|
|
664
|
+
After 3 revision iterations without passing, display a branded error box — see `skills/shared/error-reporting.md`, pattern: Checker loops.
|
|
590
665
|
Present remaining issues and ask user to decide: proceed or intervene.
|
|
591
666
|
|
|
592
667
|
---
|
|
593
668
|
|
|
594
|
-
## Files Created/Modified by /pbr:plan
|
|
669
|
+
## Files Created/Modified by /pbr:plan-phase
|
|
595
670
|
|
|
596
671
|
| File | Purpose | When |
|
|
597
672
|
|------|---------|------|
|
|
598
673
|
| `.planning/phases/{NN}-{slug}/RESEARCH.md` | Phase-specific research | Step 4 |
|
|
599
|
-
| `.planning/phases/{NN}-{slug}/{
|
|
674
|
+
| `.planning/phases/{NN}-{slug}/{NN}-{MM}-PLAN.md` | Executable plan files | Step 5 |
|
|
600
675
|
| `.planning/CONTEXT.md` | Updated with assumptions | Step 3 (--assumptions) |
|
|
601
|
-
| `.planning/ROADMAP.md` | Plans Complete + Status
|
|
676
|
+
| `.planning/ROADMAP.md` | Plans Complete + Status → `planned`; updated for add/insert/remove | Step 8, Subcommands |
|
|
602
677
|
| `.planning/STATE.md` | Updated with plan status | Step 8 |
|
|
603
678
|
|
|
604
679
|
---
|
|
605
680
|
|
|
606
|
-
##
|
|
607
|
-
|
|
608
|
-
After planning completes, present:
|
|
609
|
-
|
|
610
|
-
Use the branded stage banner from `references/ui-formatting.md`:
|
|
611
|
-
|
|
612
|
-
```
|
|
613
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
614
|
-
PLAN-BUILD-RUN ► PLANNING PHASE {N}
|
|
615
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
616
|
-
|
|
617
|
-
**Phase {N}: {name}** — {plan_count} plans created
|
|
618
|
-
|
|
619
|
-
Plans:
|
|
620
|
-
{phase}-01: {name} (Wave 1, {task_count} tasks)
|
|
621
|
-
{phase}-02: {name} (Wave 1, {task_count} tasks)
|
|
622
|
-
{phase}-03: {name} (Wave 2, {task_count} tasks)
|
|
623
|
-
|
|
624
|
-
Wave execution:
|
|
625
|
-
Wave 1: Plans 01, 02 (parallel)
|
|
626
|
-
Wave 2: Plan 03
|
|
627
|
-
```
|
|
628
|
-
|
|
629
|
-
Then use the "Next Up" routing block:
|
|
630
|
-
```
|
|
631
|
-
---
|
|
632
|
-
|
|
633
|
-
## Next Up
|
|
634
|
-
|
|
635
|
-
**Build Phase {N}** — execute these plans
|
|
681
|
+
## Cleanup
|
|
636
682
|
|
|
637
|
-
|
|
683
|
+
Delete `.planning/.active-skill` if it exists. This must happen on all paths (success, partial, and failure) before reporting results.
|
|
638
684
|
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
---
|
|
685
|
+
## Completion
|
|
642
686
|
|
|
643
|
-
|
|
644
|
-
- /pbr:plan {N} --assumptions — review assumptions first
|
|
645
|
-
- /pbr:discuss {N} — talk through details before building
|
|
687
|
+
After planning completes, present:
|
|
646
688
|
|
|
647
|
-
|
|
648
|
-
|
|
689
|
+
Use the branded stage banner and next-up block from `${CLAUDE_SKILL_DIR}/templates/completion-output.md.tmpl`.
|
|
690
|
+
Fill in: `{N}` (phase number), `{phase-name}`, `{plan_count}`, `{plan_list_lines}` (one line per plan with wave and task count), `{wave_table_lines}` (one line per wave).
|