@sienklogic/plan-build-run 2.12.0 → 2.12.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 +1102 -234
- package/CLAUDE.md +54 -34
- package/LICENSE +2 -1
- package/README.md +261 -182
- 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 +591 -0
- package/agents/pbr-general.md +191 -0
- package/agents/pbr-integration-checker.md +237 -0
- package/agents/pbr-intel-updater.md +296 -0
- package/agents/pbr-nyquist-auditor.md +252 -0
- package/agents/pbr-plan-checker.md +312 -0
- package/agents/pbr-planner.md +539 -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-ui-checker.md +202 -0
- package/agents/pbr-ui-researcher.md +223 -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/autonomous.md +5 -0
- package/commands/pbr/begin.md +5 -0
- package/commands/pbr/build.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/discuss.md +5 -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/intel.md +5 -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/milestone.md +5 -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/pause.md +5 -0
- package/commands/pbr/plan-milestone-gaps.md +7 -0
- package/commands/pbr/plan-phase.md +6 -0
- package/commands/pbr/plan.md +5 -0
- package/commands/pbr/profile-user.md +5 -0
- package/commands/pbr/profile.md +5 -0
- package/commands/pbr/progress.md +6 -0
- package/commands/pbr/quick.md +5 -0
- package/commands/pbr/reapply-patches.md +47 -0
- package/commands/pbr/release.md +6 -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/resume.md +5 -0
- package/commands/pbr/review.md +5 -0
- package/commands/pbr/scan.md +5 -0
- package/commands/pbr/session-report.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/ship.md +5 -0
- package/commands/pbr/status.md +5 -0
- package/commands/pbr/statusline.md +5 -0
- package/commands/pbr/test.md +5 -0
- package/commands/pbr/todo.md +5 -0
- package/commands/pbr/ui-phase.md +5 -0
- package/commands/pbr/ui-review.md +5 -0
- package/commands/pbr/undo.md +5 -0
- package/commands/pbr/update.md +37 -0
- package/commands/pbr/validate-phase.md +5 -0
- package/commands/pbr/verify-work.md +6 -0
- package/dashboard/bin/cli.cjs +96 -0
- package/dashboard/bin/stop.cjs +129 -0
- package/dashboard/eslint.config.js +37 -0
- package/dashboard/index.html +20 -0
- package/dashboard/package.json +28 -23
- package/dashboard/server/index.js +136 -0
- package/dashboard/server/lib/frontmatter.js +92 -0
- package/dashboard/server/middleware/static.js +35 -0
- package/dashboard/server/package.json +16 -0
- package/dashboard/server/routes/agents.js +213 -0
- package/dashboard/server/routes/config.js +64 -0
- package/dashboard/server/routes/health.js +95 -0
- package/dashboard/server/routes/memory.js +107 -0
- package/dashboard/server/routes/planning.js +234 -0
- package/dashboard/server/routes/progress.js +77 -0
- package/dashboard/server/routes/projects.js +36 -0
- package/dashboard/server/routes/requirements.js +40 -0
- package/dashboard/server/routes/roadmap.js +69 -0
- package/dashboard/server/routes/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 +741 -0
- package/dashboard/server/test/cli.test.js +34 -0
- package/dashboard/server/test/frontmatter.test.js +104 -0
- package/dashboard/server/test/isolation.test.js +32 -0
- package/dashboard/server/test/planning-reader.test.js +151 -0
- package/dashboard/server/test/routes.test.js +91 -0
- package/dashboard/server/test/ws.test.js +81 -0
- package/dashboard/server/ws.js +96 -0
- package/dashboard/src/App.jsx +154 -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 +18 -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/OnboardingPage.jsx +117 -0
- package/dashboard/src/pages/Overview.jsx +360 -0
- package/dashboard/src/pages/PhaseDetailView.jsx +216 -0
- package/dashboard/src/pages/PlanningPage.jsx +181 -0
- package/dashboard/src/pages/ProgressPage.jsx +249 -0
- package/dashboard/src/pages/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 +277 -0
- package/hooks/dist/block-skill-self-read.js +80 -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 +185 -0
- package/hooks/dist/check-doc-sprawl.js +102 -0
- package/hooks/dist/check-phase-boundary.js +191 -0
- package/hooks/dist/check-plan-format.js +227 -0
- package/hooks/dist/check-roadmap-sync.js +503 -0
- package/hooks/dist/check-skill-workflow.js +354 -0
- package/hooks/dist/check-state-sync.js +637 -0
- package/hooks/dist/check-subagent-output.js +401 -0
- package/hooks/dist/check-summary-gate.js +199 -0
- package/hooks/dist/context-bridge.js +406 -0
- package/hooks/dist/context-budget-check.js +442 -0
- package/hooks/dist/context-quality.js +271 -0
- package/hooks/dist/enforce-pbr-workflow.js +277 -0
- package/hooks/dist/event-handler.js +203 -0
- package/hooks/dist/event-logger.js +125 -0
- package/hooks/dist/hook-logger.js +112 -0
- package/hooks/dist/hook-server-client.js +342 -0
- package/hooks/dist/hook-server.js +352 -0
- package/hooks/dist/hooks-schema.json +85 -0
- package/hooks/dist/hooks.json +309 -0
- package/hooks/dist/instructions-loaded.js +107 -0
- package/hooks/dist/intel-queue.js +152 -0
- package/hooks/dist/intercept-plan-mode.js +50 -0
- package/hooks/dist/log-notification.js +125 -0
- package/hooks/dist/log-subagent.js +306 -0
- package/hooks/dist/log-tool-failure.js +140 -0
- package/hooks/dist/milestone-learnings.js +569 -0
- package/hooks/dist/pbr-tools.js +5 -0
- package/hooks/dist/post-bash-triage.js +152 -0
- package/hooks/dist/post-compact.js +135 -0
- package/hooks/dist/post-write-dispatch.js +277 -0
- package/hooks/dist/post-write-quality.js +208 -0
- package/hooks/dist/pre-bash-dispatch.js +158 -0
- package/hooks/dist/pre-write-dispatch.js +165 -0
- package/hooks/dist/progress-tracker.js +198 -0
- package/hooks/dist/prompt-routing.js +209 -0
- package/hooks/dist/run-hook.js +144 -0
- package/hooks/dist/session-cleanup.js +617 -0
- package/hooks/dist/session-tracker.js +124 -0
- package/hooks/dist/status-line.js +793 -0
- package/hooks/dist/suggest-compact.js +296 -0
- package/hooks/dist/sync-context-to-claude.js +100 -0
- package/hooks/dist/task-completed.js +206 -0
- package/hooks/dist/track-context-budget.js +405 -0
- package/hooks/dist/trust-tracker.js +193 -0
- package/hooks/dist/validate-commit.js +270 -0
- package/hooks/dist/validate-skill-args.js +222 -0
- package/hooks/dist/validate-task.js +272 -0
- package/hooks/dist/worktree-create.js +144 -0
- package/hooks/dist/worktree-remove.js +147 -0
- package/package.json +59 -40
- package/plan-build-run/bin/config-schema.json +1416 -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/auto-cleanup.cjs +7 -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 +770 -0
- package/plan-build-run/bin/lib/context.cjs +216 -0
- package/plan-build-run/bin/lib/contextual-help.cjs +207 -0
- package/plan-build-run/bin/lib/core.cjs +1563 -0
- package/plan-build-run/bin/lib/decisions.cjs +194 -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 +115 -0
- package/plan-build-run/bin/lib/gates/build-executor.cjs +104 -0
- package/plan-build-run/bin/lib/gates/doc-existence.cjs +46 -0
- package/plan-build-run/bin/lib/gates/helpers.cjs +93 -0
- package/plan-build-run/bin/lib/gates/inline-execution.cjs +185 -0
- package/plan-build-run/bin/lib/gates/milestone-complete.cjs +136 -0
- package/plan-build-run/bin/lib/gates/milestone-summary.cjs +119 -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/graph-cli.cjs +89 -0
- package/plan-build-run/bin/lib/graph.cjs +554 -0
- package/plan-build-run/bin/lib/health-phase06.cjs +120 -0
- package/plan-build-run/bin/lib/health.cjs +133 -0
- package/plan-build-run/bin/lib/history.cjs +147 -0
- package/plan-build-run/bin/lib/hypothesis-runner.cjs +127 -0
- package/plan-build-run/bin/lib/impact-analysis.cjs +319 -0
- package/plan-build-run/bin/lib/incidents.cjs +190 -0
- package/plan-build-run/bin/lib/init.cjs +367 -0
- package/plan-build-run/bin/lib/intel.cjs +653 -0
- package/plan-build-run/bin/lib/learnings.cjs +511 -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 +298 -0
- package/plan-build-run/bin/lib/milestone.cjs +306 -0
- package/plan-build-run/bin/lib/negative-knowledge.cjs +194 -0
- package/plan-build-run/bin/lib/onboarding-generator.cjs +288 -0
- package/plan-build-run/bin/lib/parse-args.cjs +134 -0
- package/plan-build-run/bin/lib/patterns.cjs +272 -0
- package/plan-build-run/bin/lib/phase.cjs +1021 -0
- package/plan-build-run/bin/lib/post-hoc.cjs +160 -0
- package/plan-build-run/bin/lib/preview.cjs +174 -0
- package/plan-build-run/bin/lib/progress-visualization.cjs +296 -0
- package/plan-build-run/bin/lib/quick-init.cjs +131 -0
- package/plan-build-run/bin/lib/reference.cjs +234 -0
- package/plan-build-run/bin/lib/requirements.cjs +153 -0
- package/plan-build-run/bin/lib/reverse-spec.cjs +259 -0
- package/plan-build-run/bin/lib/roadmap.cjs +1097 -0
- package/plan-build-run/bin/lib/security-scan.cjs +200 -0
- package/plan-build-run/bin/lib/skill-section.cjs +98 -0
- package/plan-build-run/bin/lib/spec-diff.cjs +209 -0
- package/plan-build-run/bin/lib/spec-engine.cjs +189 -0
- package/plan-build-run/bin/lib/spot-check.cjs +510 -0
- package/plan-build-run/bin/lib/state.cjs +1050 -0
- package/plan-build-run/bin/lib/status-render.cjs +527 -0
- package/plan-build-run/bin/lib/step-verify.cjs +149 -0
- package/plan-build-run/bin/lib/suggest-next.cjs +316 -0
- package/plan-build-run/bin/lib/team-composer.cjs +85 -0
- package/plan-build-run/bin/lib/team-coordinator.cjs +151 -0
- package/plan-build-run/bin/lib/template.cjs +222 -0
- package/plan-build-run/bin/lib/templates.cjs +362 -0
- package/plan-build-run/bin/lib/test-selection.cjs +163 -0
- package/plan-build-run/bin/lib/todo.cjs +300 -0
- package/plan-build-run/bin/lib/validation.cjs +187 -0
- package/plan-build-run/bin/lib/verify.cjs +1451 -0
- package/plan-build-run/bin/pbr-tools.cjs +1877 -0
- package/plan-build-run/references/CLAUDE.md +7 -0
- package/plan-build-run/references/agent-contracts.md +326 -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 +613 -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 +309 -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 +182 -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 +127 -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 +347 -0
- package/plan-build-run/skills/autonomous/SKILL.md +460 -0
- package/plan-build-run/skills/begin/SKILL.md +926 -0
- package/plan-build-run/skills/begin/templates/PROJECT.md.tmpl +33 -0
- package/plan-build-run/skills/begin/templates/REQUIREMENTS.md.tmpl +18 -0
- package/plan-build-run/skills/begin/templates/STATE.md.tmpl +48 -0
- package/plan-build-run/skills/begin/templates/config.json.tmpl +451 -0
- 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 +1655 -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 +357 -0
- package/plan-build-run/skills/continue/SKILL.md +266 -0
- package/plan-build-run/skills/dashboard/SKILL.md +12 -0
- package/plan-build-run/skills/debug/SKILL.md +573 -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 +489 -0
- package/plan-build-run/skills/discuss/templates/CONTEXT.md.tmpl +61 -0
- package/plan-build-run/skills/discuss/templates/decision-categories.md +9 -0
- package/plan-build-run/skills/discuss/templates/project-CONTEXT.md.tmpl +19 -0
- package/plan-build-run/skills/do/SKILL.md +165 -0
- package/plan-build-run/skills/explore/SKILL.md +449 -0
- package/plan-build-run/skills/health/SKILL.md +332 -0
- package/plan-build-run/skills/health/templates/check-pattern.md.tmpl +30 -0
- package/plan-build-run/skills/health/templates/output-format.md.tmpl +63 -0
- package/plan-build-run/skills/help/SKILL.md +236 -0
- package/plan-build-run/skills/import/SKILL.md +827 -0
- package/plan-build-run/skills/intel/SKILL.md +131 -0
- package/plan-build-run/skills/milestone/SKILL.md +825 -0
- package/plan-build-run/skills/milestone/templates/audit-output.md.tmpl +76 -0
- 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/plan-build-run/skills/milestone/templates/stats-file.md.tmpl +30 -0
- package/plan-build-run/skills/note/SKILL.md +221 -0
- package/plan-build-run/skills/pause/SKILL.md +259 -0
- package/plan-build-run/skills/pause/templates/continue-here.md.tmpl +71 -0
- package/plan-build-run/skills/plan/SKILL.md +852 -0
- package/plan-build-run/skills/plan/decimal-phase-calc.md +98 -0
- package/plan-build-run/skills/plan/templates/checker-prompt.md.tmpl +21 -0
- package/plan-build-run/skills/plan/templates/completion-output.md.tmpl +27 -0
- package/plan-build-run/skills/plan/templates/gap-closure-prompt.md.tmpl +32 -0
- package/plan-build-run/skills/plan/templates/planner-prompt.md.tmpl +38 -0
- package/plan-build-run/skills/plan/templates/prompt-partials/phase-project-context.md.tmpl +21 -0
- package/plan-build-run/skills/plan/templates/researcher-prompt.md.tmpl +19 -0
- package/plan-build-run/skills/plan/templates/revision-prompt.md.tmpl +23 -0
- package/plan-build-run/skills/profile/SKILL.md +173 -0
- package/plan-build-run/skills/profile-user/SKILL.md +220 -0
- package/plan-build-run/skills/quick/SKILL.md +727 -0
- package/plan-build-run/skills/release/SKILL.md +206 -0
- package/plan-build-run/skills/resume/SKILL.md +499 -0
- package/plan-build-run/skills/review/SKILL.md +763 -0
- package/plan-build-run/skills/review/templates/debugger-prompt.md.tmpl +60 -0
- package/plan-build-run/skills/review/templates/gap-planner-prompt.md.tmpl +40 -0
- package/plan-build-run/skills/review/templates/verifier-prompt.md.tmpl +115 -0
- package/plan-build-run/skills/scan/SKILL.md +330 -0
- package/plan-build-run/skills/scan/templates/mapper-prompt.md.tmpl +201 -0
- package/plan-build-run/skills/session-report/SKILL.md +128 -0
- package/plan-build-run/skills/setup/SKILL.md +246 -0
- package/plan-build-run/skills/shared/agent-type-resolution.md +20 -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 +105 -0
- package/plan-build-run/skills/shared/context-loader-task.md +91 -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 +59 -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 +154 -0
- package/plan-build-run/skills/shared/universal-anti-patterns.md +59 -0
- package/plan-build-run/skills/ship/SKILL.md +154 -0
- package/plan-build-run/skills/status/SKILL.md +520 -0
- package/plan-build-run/skills/statusline/SKILL.md +151 -0
- package/plan-build-run/skills/test/SKILL.md +254 -0
- package/plan-build-run/skills/todo/SKILL.md +285 -0
- package/plan-build-run/skills/ui-phase/SKILL.md +177 -0
- package/plan-build-run/skills/ui-review/SKILL.md +204 -0
- package/plan-build-run/skills/undo/SKILL.md +216 -0
- package/plan-build-run/skills/validate-phase/SKILL.md +358 -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/pbr/.claude-plugin/plugin.json +1 -1
- package/plugins/pbr/CLAUDE.md +19 -0
- package/plugins/pbr/UI-CONSISTENCY-GAPS.md +1 -1
- package/plugins/pbr/agents/audit.md +285 -0
- package/plugins/pbr/agents/codebase-mapper.md +110 -18
- package/plugins/pbr/agents/debugger.md +231 -29
- package/plugins/pbr/agents/dev-sync.md +206 -0
- package/plugins/pbr/agents/executor.md +601 -39
- package/plugins/pbr/agents/general.md +71 -6
- package/plugins/pbr/agents/integration-checker.md +146 -30
- package/plugins/pbr/agents/intel-updater.md +333 -0
- package/plugins/pbr/agents/nyquist-auditor.md +253 -0
- package/plugins/pbr/agents/plan-checker.md +177 -60
- package/plugins/pbr/agents/planner.md +404 -42
- package/plugins/pbr/agents/researcher.md +239 -36
- package/plugins/pbr/agents/roadmapper.md +384 -0
- package/plugins/pbr/agents/synthesizer.md +169 -26
- package/plugins/pbr/agents/ui-checker.md +203 -0
- package/plugins/pbr/agents/ui-researcher.md +224 -0
- package/plugins/pbr/agents/verifier.md +452 -48
- 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/autonomous.md +5 -0
- package/plugins/pbr/commands/begin.md +1 -1
- package/plugins/pbr/commands/build.md +1 -1
- 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 +1 -1
- package/plugins/pbr/commands/debug.md +1 -1
- package/plugins/pbr/commands/discuss-phase.md +6 -0
- package/plugins/pbr/commands/discuss.md +1 -1
- 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 +2 -2
- package/plugins/pbr/commands/insert-phase.md +65 -0
- package/plugins/pbr/commands/intel.md +5 -0
- package/plugins/pbr/commands/join-discord.md +11 -0
- package/plugins/pbr/commands/list-phase-assumptions.md +69 -0
- package/plugins/pbr/commands/map-codebase.md +6 -0
- package/plugins/pbr/commands/milestone.md +1 -1
- 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/pause.md +1 -1
- package/plugins/pbr/commands/plan-milestone-gaps.md +7 -0
- package/plugins/pbr/commands/plan-phase.md +6 -0
- package/plugins/pbr/commands/plan.md +1 -1
- package/plugins/pbr/commands/profile-user.md +5 -0
- package/plugins/pbr/commands/profile.md +5 -0
- package/plugins/pbr/commands/progress.md +6 -0
- package/plugins/pbr/commands/quick.md +2 -2
- package/plugins/pbr/commands/reapply-patches.md +47 -0
- package/plugins/pbr/commands/release.md +6 -0
- package/plugins/pbr/commands/remove-phase.md +66 -0
- package/plugins/pbr/commands/research-phase.md +59 -0
- package/plugins/pbr/commands/resume-work.md +5 -0
- package/plugins/pbr/commands/resume.md +1 -1
- package/plugins/pbr/commands/review.md +1 -1
- package/plugins/pbr/commands/scan.md +1 -1
- package/plugins/pbr/commands/session-report.md +5 -0
- package/plugins/pbr/commands/set-profile.md +6 -0
- package/plugins/pbr/commands/settings.md +5 -0
- package/plugins/pbr/commands/setup.md +2 -2
- package/plugins/pbr/commands/ship.md +5 -0
- package/plugins/pbr/commands/status.md +1 -1
- package/plugins/pbr/commands/statusline.md +1 -1
- package/plugins/pbr/commands/test.md +5 -0
- package/plugins/pbr/commands/todo.md +2 -2
- package/plugins/pbr/commands/ui-phase.md +5 -0
- package/plugins/pbr/commands/ui-review.md +5 -0
- package/plugins/pbr/commands/undo.md +5 -0
- package/plugins/pbr/commands/update.md +37 -0
- package/plugins/pbr/commands/validate-phase.md +5 -0
- package/plugins/pbr/commands/verify-work.md +6 -0
- package/plugins/pbr/dashboard/package-lock.json +6 -0
- package/plugins/pbr/hooks/hooks.json +102 -13
- package/plugins/pbr/references/agent-contracts.md +37 -8
- package/plugins/pbr/references/agent-teams.md +3 -3
- package/plugins/pbr/references/archive/checkpoints.md +189 -0
- package/plugins/pbr/references/archive/context-quality-tiers.md +45 -0
- package/plugins/pbr/references/archive/pbr-rules.md +194 -0
- package/plugins/pbr/references/archive/verification-patterns.md +277 -0
- package/plugins/pbr/references/config-reference.md +182 -10
- package/plugins/pbr/references/continuation-format.md +1 -0
- package/plugins/pbr/references/deviation-rules.md +12 -0
- package/plugins/pbr/references/git-integration.md +110 -27
- package/plugins/pbr/references/hook-ordering.md +89 -0
- package/plugins/pbr/references/limitations.md +106 -0
- package/plugins/pbr/references/model-profiles.md +90 -7
- package/plugins/pbr/references/model-selection.md +1 -1
- package/plugins/pbr/references/node-repair.md +48 -0
- package/plugins/pbr/references/pbr-tools-cli.md +132 -2
- package/plugins/pbr/references/plan-authoring.md +65 -0
- package/plugins/pbr/references/plan-format.md +161 -10
- package/plugins/pbr/references/pretooluse-jsonl-behavior.md +58 -0
- package/plugins/pbr/references/questioning.md +138 -49
- package/plugins/pbr/references/reading-verification.md +4 -4
- package/plugins/pbr/references/signal-files.md +41 -0
- package/plugins/pbr/references/tmux-setup.md +288 -0
- package/plugins/pbr/references/ui-brand.md +449 -0
- package/plugins/pbr/references/worktree-sparse-checkout.md +86 -0
- package/plugins/pbr/scripts/architecture-guard.js +257 -0
- package/plugins/pbr/scripts/audit-checks/behavioral-compliance.js +2098 -0
- package/plugins/pbr/scripts/audit-checks/error-analysis.js +895 -0
- package/plugins/pbr/scripts/audit-checks/feature-verification.js +723 -0
- package/plugins/pbr/scripts/audit-checks/index.js +433 -0
- package/plugins/pbr/scripts/audit-checks/infrastructure.js +816 -0
- package/plugins/pbr/scripts/audit-checks/quality-metrics.js +452 -0
- package/plugins/pbr/scripts/audit-checks/session-quality.js +980 -0
- package/plugins/pbr/scripts/audit-checks/si-agent-hook-config-checks.js +467 -0
- package/plugins/pbr/scripts/audit-checks/si-cross-cutting-checks.js +272 -0
- package/plugins/pbr/scripts/audit-checks/si-skill-checks.js +424 -0
- package/plugins/pbr/scripts/audit-checks/workflow-compliance.js +1210 -0
- package/plugins/pbr/scripts/audit-dimensions.js +552 -0
- package/plugins/pbr/scripts/auto-continue.js +211 -32
- package/plugins/pbr/scripts/block-skill-self-read.js +85 -0
- package/plugins/pbr/scripts/check-agent-state-write.js +74 -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 +9 -5
- package/plugins/pbr/scripts/check-direct-state-write.js +37 -0
- package/plugins/pbr/scripts/check-phase-boundary.js +2 -8
- package/plugins/pbr/scripts/check-plan-format.js +149 -274
- package/plugins/pbr/scripts/check-roadmap-sync.js +167 -10
- package/plugins/pbr/scripts/check-skill-workflow.js +38 -34
- package/plugins/pbr/scripts/check-state-sync.js +344 -216
- package/plugins/pbr/scripts/check-subagent-output.js +294 -283
- package/plugins/pbr/scripts/check-summary-gate.js +1 -1
- package/plugins/pbr/scripts/config-schema.json +1252 -95
- package/plugins/pbr/scripts/context-bridge.js +439 -0
- package/plugins/pbr/scripts/context-budget-check.js +89 -9
- package/plugins/pbr/scripts/context-quality.js +272 -0
- package/plugins/pbr/scripts/enforce-pbr-workflow.js +277 -0
- package/plugins/pbr/scripts/event-handler.js +129 -77
- package/plugins/pbr/scripts/event-logger.js +61 -26
- package/plugins/pbr/scripts/feedback-loop.js +172 -0
- package/plugins/pbr/scripts/graph-update.js +199 -0
- package/plugins/pbr/scripts/hook-logger.js +76 -35
- 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/intel-queue.js +152 -0
- package/plugins/pbr/scripts/intent-router.cjs +147 -0
- package/plugins/pbr/scripts/intercept-plan-mode.js +52 -0
- package/plugins/pbr/scripts/lib/alternatives.js +203 -0
- package/plugins/pbr/scripts/lib/auto-cleanup.js +221 -0
- package/plugins/pbr/scripts/lib/auto-verify.js +103 -0
- package/plugins/pbr/scripts/lib/autonomy.js +91 -0
- package/plugins/pbr/scripts/lib/build.js +719 -0
- package/plugins/pbr/scripts/lib/ci-fix-loop.js +228 -0
- package/plugins/pbr/scripts/lib/circuit-state.js +133 -0
- package/plugins/pbr/scripts/lib/config.js +901 -0
- package/plugins/pbr/scripts/lib/context.js +254 -0
- package/plugins/pbr/scripts/lib/convention-detector.js +413 -0
- package/plugins/pbr/scripts/lib/core.js +939 -0
- package/plugins/pbr/scripts/lib/dashboard-launch.js +170 -0
- package/plugins/pbr/scripts/lib/decision-extraction.js +267 -0
- package/plugins/pbr/scripts/lib/dependency-break.js +147 -0
- package/plugins/pbr/scripts/lib/format-validators.js +947 -0
- package/plugins/pbr/scripts/lib/gates/advisories.js +129 -0
- package/plugins/pbr/scripts/lib/gates/build-dependency.js +115 -0
- package/plugins/pbr/scripts/lib/gates/build-executor.js +104 -0
- package/plugins/pbr/scripts/lib/gates/doc-existence.js +46 -0
- package/plugins/pbr/scripts/lib/gates/helpers.js +141 -0
- package/plugins/pbr/scripts/lib/gates/inline-execution.js +185 -0
- package/plugins/pbr/scripts/lib/gates/milestone-complete.js +136 -0
- package/plugins/pbr/scripts/lib/gates/milestone-summary.js +119 -0
- package/plugins/pbr/scripts/lib/gates/multi-phase-loader.js +147 -0
- package/plugins/pbr/scripts/lib/gates/plan-executor.js +36 -0
- package/plugins/pbr/scripts/lib/gates/quick-executor.js +76 -0
- package/plugins/pbr/scripts/lib/gates/review-planner.js +61 -0
- package/plugins/pbr/scripts/lib/gates/review-verifier.js +69 -0
- package/plugins/pbr/scripts/lib/gates/rich-agent-context.js +143 -0
- package/plugins/pbr/scripts/lib/health-checks.js +215 -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 +432 -0
- package/plugins/pbr/scripts/lib/migrate.js +169 -0
- package/plugins/pbr/scripts/lib/parse-args.js +134 -0
- package/plugins/pbr/scripts/lib/pattern-routing.js +55 -0
- package/plugins/pbr/scripts/lib/phase.js +935 -0
- package/plugins/pbr/scripts/lib/pre-research.js +133 -0
- package/plugins/pbr/scripts/lib/preview.js +174 -0
- package/plugins/pbr/scripts/lib/quick-init.js +131 -0
- package/plugins/pbr/scripts/lib/reference.js +236 -0
- package/plugins/pbr/scripts/lib/resolve-root.js +66 -0
- package/plugins/pbr/scripts/lib/roadmap.js +784 -0
- package/plugins/pbr/scripts/lib/session-briefing.js +879 -0
- package/plugins/pbr/scripts/lib/skill-section.js +99 -0
- package/plugins/pbr/scripts/lib/smart-next-task.js +225 -0
- package/plugins/pbr/scripts/lib/snapshot-manager.js +225 -0
- package/plugins/pbr/scripts/lib/spot-check.js +509 -0
- package/plugins/pbr/scripts/lib/state.js +565 -0
- package/plugins/pbr/scripts/lib/status-render.js +511 -0
- package/plugins/pbr/scripts/lib/step-verify.js +149 -0
- package/plugins/pbr/scripts/lib/subagent-validators.js +1010 -0
- package/plugins/pbr/scripts/lib/suggest-next.js +316 -0
- package/plugins/pbr/scripts/lib/tech-debt-scanner.js +116 -0
- package/plugins/pbr/scripts/lib/test-cache.js +54 -0
- package/plugins/pbr/scripts/lib/todo.js +300 -0
- package/plugins/pbr/scripts/lib/trust-gate.js +84 -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 +129 -26
- package/plugins/pbr/scripts/log-tool-failure.js +57 -4
- package/plugins/pbr/scripts/milestone-learnings.js +569 -0
- package/plugins/pbr/scripts/package.json +1 -0
- package/plugins/pbr/scripts/pbr-tools.js +1361 -1214
- package/plugins/pbr/scripts/post-bash-triage.js +163 -0
- package/plugins/pbr/scripts/post-compact.js +135 -0
- package/plugins/pbr/scripts/post-hoc.js +286 -0
- package/plugins/pbr/scripts/post-write-dispatch.js +315 -30
- package/plugins/pbr/scripts/post-write-quality.js +3 -3
- package/plugins/pbr/scripts/pre-bash-dispatch.js +81 -4
- package/plugins/pbr/scripts/pre-write-dispatch.js +76 -20
- package/plugins/pbr/scripts/progress-tracker.js +145 -291
- package/plugins/pbr/scripts/quick-status.js +179 -0
- package/plugins/pbr/scripts/record-incident.js +37 -0
- package/plugins/pbr/scripts/risk-classifier.cjs +123 -0
- package/plugins/pbr/scripts/run-hook.js +49 -8
- package/plugins/pbr/scripts/session-cleanup.js +379 -7
- package/plugins/pbr/scripts/session-tracker.js +124 -0
- package/plugins/pbr/scripts/status-line.js +540 -27
- package/plugins/pbr/scripts/suggest-compact.js +183 -7
- package/plugins/pbr/scripts/sync-context-to-claude.js +100 -0
- package/plugins/pbr/scripts/task-completed.js +125 -3
- 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 +326 -100
- package/plugins/pbr/scripts/trust-tracker.js +193 -0
- package/plugins/pbr/scripts/validate-commit.js +76 -11
- package/plugins/pbr/scripts/validate-skill-args.js +18 -14
- package/plugins/pbr/scripts/validate-task.js +93 -626
- package/plugins/pbr/scripts/worktree-create.js +144 -0
- package/plugins/pbr/scripts/worktree-remove.js +147 -0
- package/plugins/pbr/skills/audit/SKILL.md +478 -0
- package/plugins/pbr/skills/autonomous/SKILL.md +460 -0
- package/plugins/pbr/skills/begin/SKILL.md +447 -142
- package/plugins/pbr/skills/begin/templates/STATE.md.tmpl +1 -2
- package/plugins/pbr/skills/begin/templates/config.json.tmpl +423 -36
- package/plugins/pbr/skills/begin/templates/researcher-prompt.md.tmpl +28 -0
- package/plugins/pbr/skills/begin/templates/roadmap-prompt.md.tmpl +26 -3
- package/plugins/pbr/skills/begin/templates/synthesis-prompt.md.tmpl +33 -5
- package/plugins/pbr/skills/build/SKILL.md +1010 -327
- package/plugins/pbr/skills/build/templates/continuation-prompt.md.tmpl +26 -0
- package/plugins/pbr/skills/build/templates/executor-prompt.md.tmpl +77 -0
- package/plugins/pbr/skills/build/templates/inline-verifier-prompt.md.tmpl +33 -0
- package/plugins/pbr/skills/config/SKILL.md +108 -9
- package/plugins/pbr/skills/continue/SKILL.md +118 -19
- package/plugins/pbr/skills/dashboard/SKILL.md +21 -9
- package/plugins/pbr/skills/debug/SKILL.md +62 -10
- 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 +155 -23
- package/plugins/pbr/skills/discuss/templates/CONTEXT.md.tmpl +21 -1
- package/plugins/pbr/skills/do/SKILL.md +119 -24
- package/plugins/pbr/skills/explore/SKILL.md +83 -16
- package/plugins/pbr/skills/health/SKILL.md +74 -17
- package/plugins/pbr/skills/help/SKILL.md +123 -39
- package/plugins/pbr/skills/import/SKILL.md +327 -13
- package/plugins/pbr/skills/intel/SKILL.md +131 -0
- package/plugins/pbr/skills/milestone/SKILL.md +342 -260
- 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 +10 -2
- package/plugins/pbr/skills/pause/SKILL.md +51 -7
- package/plugins/pbr/skills/pause/templates/continue-here.md.tmpl +33 -52
- package/plugins/pbr/skills/plan/SKILL.md +418 -268
- package/plugins/pbr/skills/plan/templates/checker-prompt.md.tmpl +5 -2
- package/plugins/pbr/skills/plan/templates/completion-output.md.tmpl +27 -0
- package/plugins/pbr/skills/plan/templates/revision-prompt.md.tmpl +21 -5
- package/plugins/pbr/skills/profile/SKILL.md +183 -0
- package/plugins/pbr/skills/profile-user/SKILL.md +224 -0
- package/plugins/pbr/skills/quick/SKILL.md +440 -95
- package/plugins/pbr/skills/release/SKILL.md +206 -0
- package/plugins/pbr/skills/resume/SKILL.md +122 -27
- package/plugins/pbr/skills/review/SKILL.md +219 -154
- package/plugins/pbr/skills/review/templates/verifier-prompt.md.tmpl +7 -0
- package/plugins/pbr/skills/scan/SKILL.md +36 -12
- package/plugins/pbr/skills/scan/templates/mapper-prompt.md.tmpl +1 -1
- package/plugins/pbr/skills/session-report/SKILL.md +128 -0
- package/plugins/pbr/skills/setup/SKILL.md +149 -202
- package/plugins/pbr/skills/shared/agent-context-enrichment.md +21 -0
- package/plugins/pbr/skills/shared/agent-type-resolution.md +20 -0
- package/plugins/pbr/skills/shared/commit-planning-docs.md +8 -0
- package/plugins/pbr/skills/shared/context-budget.md +66 -1
- package/plugins/pbr/skills/shared/context-loader-task.md +15 -8
- package/plugins/pbr/skills/shared/digest-select.md +2 -2
- package/plugins/pbr/skills/shared/domain-probes.md +1 -1
- package/plugins/pbr/skills/shared/error-reporting.md +38 -60
- package/plugins/pbr/skills/shared/gate-prompts.md +4 -2
- package/plugins/pbr/skills/shared/memory-capture.md +48 -0
- package/plugins/pbr/skills/shared/phase-argument-parsing.md +4 -4
- package/plugins/pbr/skills/shared/revision-loop.md +24 -6
- package/plugins/pbr/skills/shared/state-update.md +47 -54
- package/plugins/pbr/skills/shared/universal-anti-patterns.md +27 -4
- package/plugins/pbr/skills/ship/SKILL.md +154 -0
- package/plugins/pbr/skills/status/SKILL.md +201 -53
- package/plugins/pbr/skills/test/SKILL.md +254 -0
- package/plugins/pbr/skills/todo/SKILL.md +13 -11
- package/plugins/pbr/skills/ui-phase/SKILL.md +179 -0
- package/plugins/pbr/skills/ui-review/SKILL.md +206 -0
- package/plugins/pbr/skills/undo/SKILL.md +218 -0
- package/plugins/pbr/skills/validate-phase/SKILL.md +358 -0
- package/plugins/pbr/templates/CONTEXT.md.tmpl +45 -20
- package/plugins/pbr/templates/DISCOVERY.md.tmpl +29 -0
- package/plugins/pbr/templates/HANDOFF.json.tmpl +30 -0
- package/plugins/pbr/templates/INTEGRATION-REPORT.md.tmpl +18 -2
- package/plugins/pbr/templates/KNOWLEDGE.md.tmpl +39 -0
- package/plugins/pbr/templates/MILESTONE-AUDIT.md.tmpl +44 -0
- package/plugins/pbr/templates/PROJECT.md.tmpl +126 -0
- package/plugins/pbr/templates/REQUIREMENTS.md.tmpl +96 -0
- package/plugins/pbr/templates/RETROSPECTIVE.md.tmpl +43 -0
- package/plugins/pbr/templates/ROADMAP.md.tmpl +108 -14
- package/plugins/pbr/templates/SUMMARY-complex.md.tmpl +133 -0
- package/plugins/pbr/templates/SUMMARY-minimal.md.tmpl +55 -0
- package/plugins/pbr/templates/SUMMARY.md.tmpl +21 -0
- package/plugins/pbr/templates/VERIFICATION-DETAIL.md.tmpl +49 -13
- package/plugins/pbr/templates/project-CONTEXT.md.tmpl +59 -0
- package/plugins/pbr/templates/research-outputs/ARCHITECTURE.md.tmpl +91 -0
- package/plugins/pbr/templates/research-outputs/FEATURES.md.tmpl +64 -0
- package/plugins/pbr/templates/research-outputs/PITFALLS.md.tmpl +50 -0
- package/plugins/pbr/templates/research-outputs/STACK.md.tmpl +63 -0
- package/plugins/pbr/templates/research-outputs/SUMMARY.md.tmpl +98 -0
- package/scripts/build-hooks.js +61 -0
- package/scripts/check-ci.js +100 -0
- package/scripts/clean-changelog.js +362 -0
- package/scripts/generate-derivatives.js +581 -0
- package/scripts/posttest.js +93 -0
- package/scripts/release.js +196 -0
- package/scripts/run-tests.cjs +29 -0
- package/dashboard/bin/cli.js +0 -25
- package/dashboard/public/css/layout.css +0 -472
- 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 -130
- 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 -308
- package/dashboard/src/server.js +0 -42
- package/dashboard/src/services/dashboard.service.js +0 -309
- package/dashboard/src/services/milestone.service.js +0 -154
- 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/milestone-detail.ejs +0 -5
- package/dashboard/src/views/milestones.ejs +0 -5
- 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 -27
- 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/milestone-detail-content.ejs +0 -19
- package/dashboard/src/views/partials/milestones-content.ejs +0 -44
- 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 -46
- 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/copilot-pbr/CHANGELOG.md +0 -19
- package/plugins/copilot-pbr/README.md +0 -129
- package/plugins/copilot-pbr/agents/codebase-mapper.agent.md +0 -151
- package/plugins/copilot-pbr/agents/debugger.agent.md +0 -172
- package/plugins/copilot-pbr/agents/executor.agent.md +0 -267
- package/plugins/copilot-pbr/agents/general.agent.md +0 -88
- package/plugins/copilot-pbr/agents/integration-checker.agent.md +0 -119
- package/plugins/copilot-pbr/agents/plan-checker.agent.md +0 -199
- package/plugins/copilot-pbr/agents/planner.agent.md +0 -238
- package/plugins/copilot-pbr/agents/researcher.agent.md +0 -186
- package/plugins/copilot-pbr/agents/synthesizer.agent.md +0 -126
- package/plugins/copilot-pbr/agents/verifier.agent.md +0 -228
- package/plugins/copilot-pbr/hooks/hooks.json +0 -144
- package/plugins/copilot-pbr/plugin.json +0 -30
- package/plugins/copilot-pbr/references/agent-anti-patterns.md +0 -25
- package/plugins/copilot-pbr/references/agent-contracts.md +0 -297
- package/plugins/copilot-pbr/references/agent-interactions.md +0 -135
- package/plugins/copilot-pbr/references/agent-teams.md +0 -55
- package/plugins/copilot-pbr/references/checkpoints.md +0 -158
- package/plugins/copilot-pbr/references/common-bug-patterns.md +0 -14
- package/plugins/copilot-pbr/references/config-reference.md +0 -442
- package/plugins/copilot-pbr/references/continuation-format.md +0 -213
- package/plugins/copilot-pbr/references/deviation-rules.md +0 -113
- package/plugins/copilot-pbr/references/git-integration.md +0 -227
- package/plugins/copilot-pbr/references/integration-patterns.md +0 -118
- package/plugins/copilot-pbr/references/model-profiles.md +0 -100
- package/plugins/copilot-pbr/references/model-selection.md +0 -32
- package/plugins/copilot-pbr/references/pbr-rules.md +0 -195
- package/plugins/copilot-pbr/references/pbr-tools-cli.md +0 -285
- package/plugins/copilot-pbr/references/plan-authoring.md +0 -182
- package/plugins/copilot-pbr/references/plan-format.md +0 -288
- package/plugins/copilot-pbr/references/planning-config.md +0 -214
- package/plugins/copilot-pbr/references/questioning.md +0 -215
- package/plugins/copilot-pbr/references/reading-verification.md +0 -128
- package/plugins/copilot-pbr/references/stub-patterns.md +0 -161
- package/plugins/copilot-pbr/references/subagent-coordination.md +0 -120
- package/plugins/copilot-pbr/references/ui-formatting.md +0 -444
- package/plugins/copilot-pbr/references/verification-patterns.md +0 -199
- package/plugins/copilot-pbr/references/wave-execution.md +0 -96
- package/plugins/copilot-pbr/rules/pbr-workflow.mdc +0 -48
- package/plugins/copilot-pbr/setup.ps1 +0 -93
- package/plugins/copilot-pbr/setup.sh +0 -93
- package/plugins/copilot-pbr/skills/begin/SKILL.md +0 -589
- package/plugins/copilot-pbr/skills/begin/templates/PROJECT.md.tmpl +0 -34
- package/plugins/copilot-pbr/skills/begin/templates/REQUIREMENTS.md.tmpl +0 -19
- package/plugins/copilot-pbr/skills/begin/templates/STATE.md.tmpl +0 -50
- package/plugins/copilot-pbr/skills/begin/templates/config.json.tmpl +0 -64
- package/plugins/copilot-pbr/skills/begin/templates/researcher-prompt.md.tmpl +0 -20
- package/plugins/copilot-pbr/skills/begin/templates/roadmap-prompt.md.tmpl +0 -31
- package/plugins/copilot-pbr/skills/begin/templates/synthesis-prompt.md.tmpl +0 -17
- package/plugins/copilot-pbr/skills/build/SKILL.md +0 -955
- package/plugins/copilot-pbr/skills/config/SKILL.md +0 -250
- package/plugins/copilot-pbr/skills/continue/SKILL.md +0 -159
- package/plugins/copilot-pbr/skills/dashboard/SKILL.md +0 -43
- package/plugins/copilot-pbr/skills/debug/SKILL.md +0 -508
- package/plugins/copilot-pbr/skills/debug/templates/continuation-prompt.md.tmpl +0 -17
- package/plugins/copilot-pbr/skills/debug/templates/initial-investigation-prompt.md.tmpl +0 -28
- package/plugins/copilot-pbr/skills/discuss/SKILL.md +0 -353
- package/plugins/copilot-pbr/skills/discuss/templates/CONTEXT.md.tmpl +0 -62
- package/plugins/copilot-pbr/skills/discuss/templates/decision-categories.md +0 -10
- package/plugins/copilot-pbr/skills/do/SKILL.md +0 -66
- package/plugins/copilot-pbr/skills/explore/SKILL.md +0 -373
- package/plugins/copilot-pbr/skills/health/SKILL.md +0 -274
- package/plugins/copilot-pbr/skills/health/templates/check-pattern.md.tmpl +0 -31
- package/plugins/copilot-pbr/skills/health/templates/output-format.md.tmpl +0 -64
- package/plugins/copilot-pbr/skills/help/SKILL.md +0 -152
- package/plugins/copilot-pbr/skills/import/SKILL.md +0 -502
- package/plugins/copilot-pbr/skills/milestone/SKILL.md +0 -745
- package/plugins/copilot-pbr/skills/milestone/templates/audit-report.md.tmpl +0 -49
- package/plugins/copilot-pbr/skills/milestone/templates/stats-file.md.tmpl +0 -31
- package/plugins/copilot-pbr/skills/note/SKILL.md +0 -213
- package/plugins/copilot-pbr/skills/pause/SKILL.md +0 -247
- package/plugins/copilot-pbr/skills/pause/templates/continue-here.md.tmpl +0 -72
- package/plugins/copilot-pbr/skills/plan/SKILL.md +0 -662
- package/plugins/copilot-pbr/skills/plan/templates/checker-prompt.md.tmpl +0 -22
- package/plugins/copilot-pbr/skills/plan/templates/gap-closure-prompt.md.tmpl +0 -33
- package/plugins/copilot-pbr/skills/plan/templates/planner-prompt.md.tmpl +0 -39
- package/plugins/copilot-pbr/skills/plan/templates/researcher-prompt.md.tmpl +0 -20
- package/plugins/copilot-pbr/skills/plan/templates/revision-prompt.md.tmpl +0 -24
- package/plugins/copilot-pbr/skills/quick/SKILL.md +0 -376
- package/plugins/copilot-pbr/skills/resume/SKILL.md +0 -399
- package/plugins/copilot-pbr/skills/review/SKILL.md +0 -653
- package/plugins/copilot-pbr/skills/review/templates/debugger-prompt.md.tmpl +0 -61
- package/plugins/copilot-pbr/skills/review/templates/gap-planner-prompt.md.tmpl +0 -41
- package/plugins/copilot-pbr/skills/review/templates/verifier-prompt.md.tmpl +0 -116
- package/plugins/copilot-pbr/skills/scan/SKILL.md +0 -299
- package/plugins/copilot-pbr/skills/scan/templates/mapper-prompt.md.tmpl +0 -202
- package/plugins/copilot-pbr/skills/setup/SKILL.md +0 -296
- package/plugins/copilot-pbr/skills/shared/commit-planning-docs.md +0 -36
- package/plugins/copilot-pbr/skills/shared/config-loading.md +0 -103
- package/plugins/copilot-pbr/skills/shared/context-budget.md +0 -41
- package/plugins/copilot-pbr/skills/shared/context-loader-task.md +0 -87
- package/plugins/copilot-pbr/skills/shared/digest-select.md +0 -80
- package/plugins/copilot-pbr/skills/shared/domain-probes.md +0 -126
- package/plugins/copilot-pbr/skills/shared/error-reporting.md +0 -81
- package/plugins/copilot-pbr/skills/shared/gate-prompts.md +0 -389
- package/plugins/copilot-pbr/skills/shared/phase-argument-parsing.md +0 -46
- package/plugins/copilot-pbr/skills/shared/progress-display.md +0 -53
- package/plugins/copilot-pbr/skills/shared/revision-loop.md +0 -82
- package/plugins/copilot-pbr/skills/shared/state-loading.md +0 -63
- package/plugins/copilot-pbr/skills/shared/state-update.md +0 -162
- package/plugins/copilot-pbr/skills/shared/universal-anti-patterns.md +0 -38
- package/plugins/copilot-pbr/skills/status/SKILL.md +0 -362
- package/plugins/copilot-pbr/skills/statusline/SKILL.md +0 -149
- package/plugins/copilot-pbr/skills/todo/SKILL.md +0 -279
- package/plugins/copilot-pbr/templates/CONTEXT.md.tmpl +0 -53
- package/plugins/copilot-pbr/templates/INTEGRATION-REPORT.md.tmpl +0 -152
- package/plugins/copilot-pbr/templates/RESEARCH-SUMMARY.md.tmpl +0 -98
- package/plugins/copilot-pbr/templates/ROADMAP.md.tmpl +0 -41
- package/plugins/copilot-pbr/templates/SUMMARY.md.tmpl +0 -82
- package/plugins/copilot-pbr/templates/VERIFICATION-DETAIL.md.tmpl +0 -117
- package/plugins/copilot-pbr/templates/codebase/ARCHITECTURE.md.tmpl +0 -98
- package/plugins/copilot-pbr/templates/codebase/CONCERNS.md.tmpl +0 -93
- package/plugins/copilot-pbr/templates/codebase/CONVENTIONS.md.tmpl +0 -104
- package/plugins/copilot-pbr/templates/codebase/INTEGRATIONS.md.tmpl +0 -78
- package/plugins/copilot-pbr/templates/codebase/STACK.md.tmpl +0 -78
- package/plugins/copilot-pbr/templates/codebase/STRUCTURE.md.tmpl +0 -80
- package/plugins/copilot-pbr/templates/codebase/TESTING.md.tmpl +0 -107
- package/plugins/copilot-pbr/templates/continue-here.md.tmpl +0 -74
- package/plugins/copilot-pbr/templates/prompt-partials/phase-project-context.md.tmpl +0 -38
- package/plugins/copilot-pbr/templates/research/ARCHITECTURE.md.tmpl +0 -124
- package/plugins/copilot-pbr/templates/research/STACK.md.tmpl +0 -71
- package/plugins/copilot-pbr/templates/research/SUMMARY.md.tmpl +0 -112
- package/plugins/copilot-pbr/templates/research-outputs/phase-research.md.tmpl +0 -81
- package/plugins/copilot-pbr/templates/research-outputs/project-research.md.tmpl +0 -99
- package/plugins/copilot-pbr/templates/research-outputs/synthesis.md.tmpl +0 -36
- package/plugins/cursor-pbr/.cursor-plugin/plugin.json +0 -32
- package/plugins/cursor-pbr/CHANGELOG.md +0 -15
- package/plugins/cursor-pbr/README.md +0 -118
- package/plugins/cursor-pbr/agents/codebase-mapper.md +0 -150
- package/plugins/cursor-pbr/agents/debugger.md +0 -171
- package/plugins/cursor-pbr/agents/executor.md +0 -266
- package/plugins/cursor-pbr/agents/general.md +0 -87
- package/plugins/cursor-pbr/agents/integration-checker.md +0 -118
- package/plugins/cursor-pbr/agents/plan-checker.md +0 -198
- package/plugins/cursor-pbr/agents/planner.md +0 -237
- package/plugins/cursor-pbr/agents/researcher.md +0 -185
- package/plugins/cursor-pbr/agents/synthesizer.md +0 -125
- package/plugins/cursor-pbr/agents/verifier.md +0 -227
- package/plugins/cursor-pbr/assets/.gitkeep +0 -0
- package/plugins/cursor-pbr/assets/logo.svg +0 -21
- package/plugins/cursor-pbr/hooks/hooks.json +0 -203
- package/plugins/cursor-pbr/references/agent-anti-patterns.md +0 -25
- package/plugins/cursor-pbr/references/agent-contracts.md +0 -297
- package/plugins/cursor-pbr/references/agent-interactions.md +0 -135
- package/plugins/cursor-pbr/references/agent-teams.md +0 -55
- package/plugins/cursor-pbr/references/checkpoints.md +0 -158
- package/plugins/cursor-pbr/references/common-bug-patterns.md +0 -14
- package/plugins/cursor-pbr/references/config-reference.md +0 -442
- package/plugins/cursor-pbr/references/continuation-format.md +0 -213
- package/plugins/cursor-pbr/references/deviation-rules.md +0 -113
- package/plugins/cursor-pbr/references/git-integration.md +0 -227
- package/plugins/cursor-pbr/references/integration-patterns.md +0 -118
- package/plugins/cursor-pbr/references/model-profiles.md +0 -100
- package/plugins/cursor-pbr/references/model-selection.md +0 -32
- package/plugins/cursor-pbr/references/pbr-rules.md +0 -195
- package/plugins/cursor-pbr/references/pbr-tools-cli.md +0 -285
- package/plugins/cursor-pbr/references/plan-authoring.md +0 -182
- package/plugins/cursor-pbr/references/plan-format.md +0 -288
- package/plugins/cursor-pbr/references/planning-config.md +0 -214
- package/plugins/cursor-pbr/references/questioning.md +0 -215
- package/plugins/cursor-pbr/references/reading-verification.md +0 -128
- package/plugins/cursor-pbr/references/stub-patterns.md +0 -161
- package/plugins/cursor-pbr/references/subagent-coordination.md +0 -120
- package/plugins/cursor-pbr/references/ui-formatting.md +0 -444
- package/plugins/cursor-pbr/references/verification-patterns.md +0 -199
- package/plugins/cursor-pbr/references/wave-execution.md +0 -96
- package/plugins/cursor-pbr/rules/pbr-workflow.mdc +0 -48
- package/plugins/cursor-pbr/setup.ps1 +0 -78
- package/plugins/cursor-pbr/setup.sh +0 -83
- package/plugins/cursor-pbr/skills/begin/SKILL.md +0 -589
- package/plugins/cursor-pbr/skills/begin/templates/PROJECT.md.tmpl +0 -34
- package/plugins/cursor-pbr/skills/begin/templates/REQUIREMENTS.md.tmpl +0 -19
- package/plugins/cursor-pbr/skills/begin/templates/STATE.md.tmpl +0 -50
- package/plugins/cursor-pbr/skills/begin/templates/config.json.tmpl +0 -64
- package/plugins/cursor-pbr/skills/begin/templates/researcher-prompt.md.tmpl +0 -20
- package/plugins/cursor-pbr/skills/begin/templates/roadmap-prompt.md.tmpl +0 -31
- package/plugins/cursor-pbr/skills/begin/templates/synthesis-prompt.md.tmpl +0 -17
- package/plugins/cursor-pbr/skills/build/SKILL.md +0 -956
- package/plugins/cursor-pbr/skills/config/SKILL.md +0 -252
- package/plugins/cursor-pbr/skills/continue/SKILL.md +0 -159
- package/plugins/cursor-pbr/skills/dashboard/SKILL.md +0 -44
- package/plugins/cursor-pbr/skills/debug/SKILL.md +0 -512
- package/plugins/cursor-pbr/skills/debug/templates/continuation-prompt.md.tmpl +0 -17
- package/plugins/cursor-pbr/skills/debug/templates/initial-investigation-prompt.md.tmpl +0 -28
- package/plugins/cursor-pbr/skills/discuss/SKILL.md +0 -354
- package/plugins/cursor-pbr/skills/discuss/templates/CONTEXT.md.tmpl +0 -62
- package/plugins/cursor-pbr/skills/discuss/templates/decision-categories.md +0 -10
- package/plugins/cursor-pbr/skills/do/SKILL.md +0 -67
- package/plugins/cursor-pbr/skills/explore/SKILL.md +0 -376
- package/plugins/cursor-pbr/skills/health/SKILL.md +0 -274
- package/plugins/cursor-pbr/skills/health/templates/check-pattern.md.tmpl +0 -31
- package/plugins/cursor-pbr/skills/health/templates/output-format.md.tmpl +0 -64
- package/plugins/cursor-pbr/skills/help/SKILL.md +0 -152
- package/plugins/cursor-pbr/skills/import/SKILL.md +0 -505
- package/plugins/cursor-pbr/skills/milestone/SKILL.md +0 -746
- package/plugins/cursor-pbr/skills/milestone/templates/audit-report.md.tmpl +0 -49
- package/plugins/cursor-pbr/skills/milestone/templates/stats-file.md.tmpl +0 -31
- package/plugins/cursor-pbr/skills/note/SKILL.md +0 -214
- package/plugins/cursor-pbr/skills/pause/SKILL.md +0 -248
- package/plugins/cursor-pbr/skills/pause/templates/continue-here.md.tmpl +0 -72
- package/plugins/cursor-pbr/skills/plan/SKILL.md +0 -663
- package/plugins/cursor-pbr/skills/plan/templates/checker-prompt.md.tmpl +0 -22
- package/plugins/cursor-pbr/skills/plan/templates/gap-closure-prompt.md.tmpl +0 -33
- package/plugins/cursor-pbr/skills/plan/templates/planner-prompt.md.tmpl +0 -39
- package/plugins/cursor-pbr/skills/plan/templates/researcher-prompt.md.tmpl +0 -20
- package/plugins/cursor-pbr/skills/plan/templates/revision-prompt.md.tmpl +0 -24
- package/plugins/cursor-pbr/skills/quick/SKILL.md +0 -376
- package/plugins/cursor-pbr/skills/resume/SKILL.md +0 -399
- package/plugins/cursor-pbr/skills/review/SKILL.md +0 -654
- package/plugins/cursor-pbr/skills/review/templates/debugger-prompt.md.tmpl +0 -61
- package/plugins/cursor-pbr/skills/review/templates/gap-planner-prompt.md.tmpl +0 -41
- package/plugins/cursor-pbr/skills/review/templates/verifier-prompt.md.tmpl +0 -116
- package/plugins/cursor-pbr/skills/scan/SKILL.md +0 -300
- package/plugins/cursor-pbr/skills/scan/templates/mapper-prompt.md.tmpl +0 -202
- package/plugins/cursor-pbr/skills/setup/SKILL.md +0 -296
- package/plugins/cursor-pbr/skills/shared/commit-planning-docs.md +0 -36
- package/plugins/cursor-pbr/skills/shared/config-loading.md +0 -103
- package/plugins/cursor-pbr/skills/shared/context-budget.md +0 -41
- package/plugins/cursor-pbr/skills/shared/context-loader-task.md +0 -87
- package/plugins/cursor-pbr/skills/shared/digest-select.md +0 -80
- package/plugins/cursor-pbr/skills/shared/domain-probes.md +0 -126
- package/plugins/cursor-pbr/skills/shared/error-reporting.md +0 -81
- package/plugins/cursor-pbr/skills/shared/gate-prompts.md +0 -389
- package/plugins/cursor-pbr/skills/shared/phase-argument-parsing.md +0 -46
- package/plugins/cursor-pbr/skills/shared/progress-display.md +0 -53
- package/plugins/cursor-pbr/skills/shared/revision-loop.md +0 -82
- package/plugins/cursor-pbr/skills/shared/state-loading.md +0 -63
- package/plugins/cursor-pbr/skills/shared/state-update.md +0 -162
- package/plugins/cursor-pbr/skills/shared/universal-anti-patterns.md +0 -38
- package/plugins/cursor-pbr/skills/status/SKILL.md +0 -362
- package/plugins/cursor-pbr/skills/statusline/SKILL.md +0 -150
- package/plugins/cursor-pbr/skills/todo/SKILL.md +0 -280
- package/plugins/cursor-pbr/templates/CONTEXT.md.tmpl +0 -53
- package/plugins/cursor-pbr/templates/INTEGRATION-REPORT.md.tmpl +0 -152
- package/plugins/cursor-pbr/templates/RESEARCH-SUMMARY.md.tmpl +0 -98
- package/plugins/cursor-pbr/templates/ROADMAP.md.tmpl +0 -41
- package/plugins/cursor-pbr/templates/SUMMARY.md.tmpl +0 -82
- package/plugins/cursor-pbr/templates/VERIFICATION-DETAIL.md.tmpl +0 -117
- package/plugins/cursor-pbr/templates/codebase/ARCHITECTURE.md.tmpl +0 -98
- package/plugins/cursor-pbr/templates/codebase/CONCERNS.md.tmpl +0 -93
- package/plugins/cursor-pbr/templates/codebase/CONVENTIONS.md.tmpl +0 -104
- package/plugins/cursor-pbr/templates/codebase/INTEGRATIONS.md.tmpl +0 -78
- package/plugins/cursor-pbr/templates/codebase/STACK.md.tmpl +0 -78
- package/plugins/cursor-pbr/templates/codebase/STRUCTURE.md.tmpl +0 -80
- package/plugins/cursor-pbr/templates/codebase/TESTING.md.tmpl +0 -107
- package/plugins/cursor-pbr/templates/continue-here.md.tmpl +0 -74
- package/plugins/cursor-pbr/templates/prompt-partials/phase-project-context.md.tmpl +0 -38
- package/plugins/cursor-pbr/templates/research/ARCHITECTURE.md.tmpl +0 -124
- package/plugins/cursor-pbr/templates/research/STACK.md.tmpl +0 -71
- package/plugins/cursor-pbr/templates/research/SUMMARY.md.tmpl +0 -112
- package/plugins/cursor-pbr/templates/research-outputs/phase-research.md.tmpl +0 -81
- package/plugins/cursor-pbr/templates/research-outputs/project-research.md.tmpl +0 -99
- package/plugins/cursor-pbr/templates/research-outputs/synthesis.md.tmpl +0 -36
- package/plugins/pbr/references/agent-interactions.md +0 -134
- package/plugins/pbr/references/checkpoints.md +0 -157
- package/plugins/pbr/references/pbr-rules.md +0 -194
- package/plugins/pbr/references/planning-config.md +0 -213
- package/plugins/pbr/references/subagent-coordination.md +0 -119
- package/plugins/pbr/references/ui-formatting.md +0 -444
- package/plugins/pbr/references/verification-patterns.md +0 -198
- package/plugins/pbr/scripts/validate-plugin-structure.js +0 -183
- package/plugins/pbr/skills/milestone/templates/audit-report.md.tmpl +0 -48
- package/plugins/pbr/skills/shared/progress-display.md +0 -53
- package/plugins/pbr/skills/shared/state-loading.md +0 -62
- package/plugins/pbr/templates/RESEARCH-SUMMARY.md.tmpl +0 -97
- package/plugins/pbr/templates/research/ARCHITECTURE.md.tmpl +0 -124
- package/plugins/pbr/templates/research/STACK.md.tmpl +0 -71
- package/plugins/pbr/templates/research/SUMMARY.md.tmpl +0 -112
- package/plugins/pbr/templates/research-outputs/phase-research.md.tmpl +0 -81
- package/plugins/pbr/templates/research-outputs/project-research.md.tmpl +0 -99
- package/plugins/pbr/templates/research-outputs/synthesis.md.tmpl +0 -36
- /package/plugins/pbr/references/{agent-anti-patterns.md → archive/agent-anti-patterns.md} +0 -0
|
@@ -0,0 +1,852 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: plan
|
|
3
|
+
description: "Create a detailed plan for a phase. Research, plan, and verify before building."
|
|
4
|
+
allowed-tools: Read, Write, Bash, Glob, Grep, WebFetch, WebSearch, Task, AskUserQuestion, Skill
|
|
5
|
+
argument-hint: "<phase-number> [--skip-research] [--assumptions] [--gaps] [--model <model>] [--auto] [--through <N>] [--prd <file>] | add | insert <N> | remove <N>"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
**STOP — DO NOT READ THIS FILE. You are already reading it. This prompt was injected into your context by Claude Code's plugin system. Using the Read tool on this SKILL.md file wastes ~7,600 tokens. Begin executing Step 1 immediately.**
|
|
9
|
+
|
|
10
|
+
# /pbr:plan-phase — Phase Planning
|
|
11
|
+
|
|
12
|
+
**References:** `@references/questioning.md`, `@references/ui-brand.md`
|
|
13
|
+
|
|
14
|
+
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() subagents, and keep the user's main context window clean.
|
|
15
|
+
|
|
16
|
+
## Context Budget
|
|
17
|
+
|
|
18
|
+
Reference: `skills/shared/context-budget.md` for the universal orchestrator rules.
|
|
19
|
+
Reference: `skills/shared/agent-type-resolution.md` for agent type fallback when spawning Task() subagents.
|
|
20
|
+
|
|
21
|
+
Additionally for this skill:
|
|
22
|
+
- **Minimize** reading subagent output — read only plan frontmatter for summaries. Exception: if `context_window_tokens` in `.planning/config.json` is >= 500000, reading full plan bodies is permitted when content is needed for inline decisions.
|
|
23
|
+
- **Delegate** all research and planning work to subagents — the orchestrator routes, it doesn't plan
|
|
24
|
+
|
|
25
|
+
## Step 0 — Immediate Output
|
|
26
|
+
|
|
27
|
+
**Before ANY tool calls**, display this banner:
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
31
|
+
║ PLAN-BUILD-RUN ► PLANNING PHASE {N} ║
|
|
32
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Where `{N}` is the phase number from `$ARGUMENTS`. Then proceed to Step 1.
|
|
36
|
+
|
|
37
|
+
## Multi-Session Sync
|
|
38
|
+
|
|
39
|
+
Before any phase-modifying operations (writing PLAN files, updating STATE.md/ROADMAP.md), acquire a claim:
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
acquireClaim(phaseDir, sessionId)
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
If the claim fails (another session owns this phase), display: "Another session owns this phase. Use `/pbr:progress` to see active claims."
|
|
46
|
+
|
|
47
|
+
On completion or error (including all exit paths), release the claim:
|
|
48
|
+
|
|
49
|
+
```
|
|
50
|
+
releaseClaim(phaseDir, sessionId)
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## Prerequisites
|
|
54
|
+
|
|
55
|
+
- `.planning/config.json` exists (run `/pbr:new-project` first)
|
|
56
|
+
- `.planning/ROADMAP.md` exists with at least one phase
|
|
57
|
+
- `.planning/REQUIREMENTS.md` exists
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## Argument Parsing
|
|
62
|
+
|
|
63
|
+
Parse `$ARGUMENTS` according to `skills/shared/phase-argument-parsing.md`.
|
|
64
|
+
|
|
65
|
+
### Standard Invocation
|
|
66
|
+
|
|
67
|
+
`/pbr:plan-phase <N>` — Plan phase N
|
|
68
|
+
|
|
69
|
+
Parse the phase number and optional flags:
|
|
70
|
+
|
|
71
|
+
| Argument | Meaning |
|
|
72
|
+
|----------|---------|
|
|
73
|
+
| `3` | Plan phase 3 |
|
|
74
|
+
| `3 --skip-research` | Plan phase 3, skip research step |
|
|
75
|
+
| `3 --assumptions` | Surface assumptions before planning phase 3 |
|
|
76
|
+
| `3 --gaps` | Create gap-closure plans for phase 3 (from VERIFICATION.md) |
|
|
77
|
+
| `3 --teams` | Plan phase 3 using specialist agent teams |
|
|
78
|
+
| `3 --model opus` | Use opus for all researcher, planner, and checker spawns in phase 3 |
|
|
79
|
+
| (no number) | Use current phase from STATE.md |
|
|
80
|
+
| `3 --preview` | Preview what planning would produce for phase 3 without spawning agents |
|
|
81
|
+
| `3 --audit` | Plan phase 3, then force full plan-checker validation |
|
|
82
|
+
| `3 --auto` | Plan phase 3 with auto mode — suppress confirmation gates, auto-advance on success |
|
|
83
|
+
| `1 --through 3` | Plan phases 1 through 3 in a single planner session (requires planning.multi_phase: true) |
|
|
84
|
+
| `3 --prd path/to/prd.md` | Plan phase 3 using a PRD file as input — skip discussion, generate CONTEXT.md from PRD |
|
|
85
|
+
|
|
86
|
+
### Subcommands
|
|
87
|
+
|
|
88
|
+
| Subcommand | Meaning |
|
|
89
|
+
|------------|---------|
|
|
90
|
+
| `add` | Append a new phase to the end of the roadmap |
|
|
91
|
+
| `insert <N>` | Insert a new phase at position N (uses decimal numbering) |
|
|
92
|
+
| `remove <N>` | Remove phase N from the roadmap |
|
|
93
|
+
|
|
94
|
+
### Freeform Text Guard — CRITICAL
|
|
95
|
+
|
|
96
|
+
**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:
|
|
97
|
+
|
|
98
|
+
- Empty (no arguments)
|
|
99
|
+
- A phase number: integer (`3`, `03`) or decimal (`3.1`)
|
|
100
|
+
- A subcommand: `add`, `insert <N>`, `remove <N>`
|
|
101
|
+
- A phase number followed by flags: `3 --skip-research`, `3 --assumptions`, `3 --gaps`, `3 --teams`, `3 --auto`, `3 --prd <file>`
|
|
102
|
+
- A phase number followed by --through and another number: `1 --through 3`
|
|
103
|
+
- The word `check` (legacy alias)
|
|
104
|
+
|
|
105
|
+
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:
|
|
106
|
+
|
|
107
|
+
```
|
|
108
|
+
`/pbr:plan-phase` expects a phase number or subcommand.
|
|
109
|
+
|
|
110
|
+
Usage:
|
|
111
|
+
/pbr:plan-phase <N> Plan phase N
|
|
112
|
+
/pbr:plan-phase <N> --gaps Create gap-closure plans
|
|
113
|
+
/pbr:plan-phase add Add a new phase
|
|
114
|
+
/pbr:plan-phase insert <N> Insert a phase at position N
|
|
115
|
+
/pbr:plan-phase remove <N> Remove phase N
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
Then suggest the appropriate skill based on the text content:
|
|
119
|
+
|
|
120
|
+
| If the text looks like... | Suggest |
|
|
121
|
+
|---------------------------|---------|
|
|
122
|
+
| A task, idea, or feature request | `/pbr:todo` to capture it, or `/pbr:explore` to investigate |
|
|
123
|
+
| A bug or debugging request | `/pbr:debug` to investigate the issue |
|
|
124
|
+
| A review or quality concern | `/pbr:verify-work` to assess existing work |
|
|
125
|
+
| Anything else | `/pbr:explore` for open-ended work |
|
|
126
|
+
|
|
127
|
+
Do NOT proceed with planning. The user needs to use the correct skill.
|
|
128
|
+
|
|
129
|
+
**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.
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## Orchestration Flow: Standard Planning
|
|
134
|
+
|
|
135
|
+
Execute these steps in order for standard `/pbr:plan-phase <N>` invocations.
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
### Step 1: Parse and Validate (inline)
|
|
140
|
+
|
|
141
|
+
Reference: `skills/shared/config-loading.md` for the tooling shortcut (`state load`, `plan-index`, `phase-info`) and config field reference.
|
|
142
|
+
|
|
143
|
+
1. Parse `$ARGUMENTS` for phase number and flags
|
|
144
|
+
- 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.
|
|
145
|
+
- If `--auto` is present in `$ARGUMENTS`: set `auto_mode = true`. Log: "Auto mode enabled — suppressing confirmation gates"
|
|
146
|
+
- If `--through <M>` is present:
|
|
147
|
+
a. Read `planning.multi_phase` from config
|
|
148
|
+
b. If `planning.multi_phase` is `false` or unset: display error:
|
|
149
|
+
"`--through` requires `planning.multi_phase: true` in config. Set it with: `/pbr:config set planning.multi_phase true`"
|
|
150
|
+
Then STOP.
|
|
151
|
+
c. Parse start phase (N) and end phase (M). Validate both exist in ROADMAP.md.
|
|
152
|
+
d. Store `through_phases = [N, N+1, ..., M]`
|
|
153
|
+
e. Log: "Multi-phase planning: phases {N} through {M}"
|
|
154
|
+
- If `--prd <file>` is present in `$ARGUMENTS`:
|
|
155
|
+
a. Extract the file path from the argument
|
|
156
|
+
b. Set `prd_mode = true`
|
|
157
|
+
c. Log: "PRD express path — will generate CONTEXT.md from PRD, skip discussion"
|
|
158
|
+
2. Read `.planning/config.json` for settings (see config-loading.md for field reference)
|
|
159
|
+
**Speculative mode guard:** If `$ARGUMENTS` contains `--speculative` or `--no-state-update`, SKIP the `.active-skill` write below — the autonomous orchestrator owns `.active-skill` during speculative planning.
|
|
160
|
+
**CRITICAL (hook-enforced): Write .active-skill NOW.** Write the text "plan" to `.planning/.active-skill` using the Write tool.
|
|
161
|
+
3. Resolve depth profile: run `node ${CLAUDE_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.
|
|
162
|
+
4. Validate:
|
|
163
|
+
- Phase exists in ROADMAP.md
|
|
164
|
+
- Phase directory exists at `.planning/phases/{NN}-{slug}/`
|
|
165
|
+
- Phase does not already have PLAN.md files (unless user confirms re-planning)
|
|
166
|
+
5. If no phase number given, read current phase from `.planning/STATE.md`
|
|
167
|
+
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.
|
|
168
|
+
|
|
169
|
+
#### --prd express path
|
|
170
|
+
|
|
171
|
+
If `prd_mode` is `true`:
|
|
172
|
+
|
|
173
|
+
1. Read the PRD file specified by the `--prd` argument
|
|
174
|
+
2. Parse the PRD content, looking for these sections (case-insensitive):
|
|
175
|
+
- **Requirements** / **Functional Requirements** / **User Stories**
|
|
176
|
+
- **Scope** / **In Scope** / **Out of Scope**
|
|
177
|
+
- **Constraints** / **Technical Constraints**
|
|
178
|
+
- **Decisions** / **Architecture Decisions** / **Design Decisions**
|
|
179
|
+
- **Goals** / **Objectives**
|
|
180
|
+
**CRITICAL — DO NOT SKIP: Write CONTEXT.md from the PRD NOW. The planner agent requires this file for locked decisions.**
|
|
181
|
+
3. Generate `.planning/phases/{NN}-{slug}/CONTEXT.md` from the PRD:
|
|
182
|
+
```markdown
|
|
183
|
+
---
|
|
184
|
+
source: prd
|
|
185
|
+
prd_file: "{original file path}"
|
|
186
|
+
generated: "{ISO timestamp}"
|
|
187
|
+
---
|
|
188
|
+
# Phase {N} Context (from PRD)
|
|
189
|
+
|
|
190
|
+
## Decision Summary
|
|
191
|
+
{Extracted decisions from PRD, each as a locked decision}
|
|
192
|
+
|
|
193
|
+
## Scope
|
|
194
|
+
{Extracted scope boundaries}
|
|
195
|
+
|
|
196
|
+
## Constraints
|
|
197
|
+
{Extracted constraints}
|
|
198
|
+
|
|
199
|
+
## Requirements Mapping
|
|
200
|
+
{Map PRD requirements to phase REQ-IDs where possible}
|
|
201
|
+
|
|
202
|
+
## Deferred Ideas
|
|
203
|
+
{Any out-of-scope items from the PRD}
|
|
204
|
+
```
|
|
205
|
+
4. Log: "Generated CONTEXT.md from PRD ({line_count} lines)"
|
|
206
|
+
5. **Skip Step 6 (CONTEXT.md existence check)** — we just created one
|
|
207
|
+
6. **Skip Steps 3 and 4** (assumption surfacing and research) — the PRD provides the context
|
|
208
|
+
7. Proceed directly to **Step 5** (planning) with the PRD-derived context
|
|
209
|
+
|
|
210
|
+
---
|
|
211
|
+
|
|
212
|
+
#### --preview mode
|
|
213
|
+
|
|
214
|
+
If `--preview` is present in `$ARGUMENTS`:
|
|
215
|
+
|
|
216
|
+
1. Detect the `--preview` flag and extract the phase number.
|
|
217
|
+
2. Render the following dry-run banner:
|
|
218
|
+
|
|
219
|
+
```
|
|
220
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
221
|
+
║ DRY RUN — /pbr:plan-phase {N} --preview ║
|
|
222
|
+
║ No researchers or planners will be spawned ║
|
|
223
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
3. Show the 5 steps that would occur:
|
|
227
|
+
|
|
228
|
+
1. Parse ROADMAP.md for phase {N} goal, dependencies, and requirements
|
|
229
|
+
2. Spawn researcher agents to investigate codebase and gather context
|
|
230
|
+
3. Spawn planner agent to write PLAN files based on research
|
|
231
|
+
4. Run plan-checker to validate structure and completeness
|
|
232
|
+
5. Present plans for your approval before building
|
|
233
|
+
|
|
234
|
+
4. Show estimated agent spawns: ~2-4 agents (1-2 researchers + 1 planner + 1 plan-checker)
|
|
235
|
+
5. Show output location: `.planning/phases/{NN}-{slug}/PLAN-NN.md`
|
|
236
|
+
|
|
237
|
+
6. **STOP** — do not proceed to Step 2.
|
|
238
|
+
|
|
239
|
+
---
|
|
240
|
+
|
|
241
|
+
**If phase already has plans:**
|
|
242
|
+
- Use AskUserQuestion (pattern: yes-no from `skills/shared/gate-prompts.md`):
|
|
243
|
+
question: "Phase {N} already has plans. Re-plan from scratch?"
|
|
244
|
+
header: "Re-plan?"
|
|
245
|
+
options:
|
|
246
|
+
- label: "Yes" description: "Delete existing plans and create new ones"
|
|
247
|
+
- label: "No" description: "Keep existing plans unchanged"
|
|
248
|
+
- If "Yes": delete existing PLAN.md files in the phase directory
|
|
249
|
+
- If "No" or "Other": stop
|
|
250
|
+
|
|
251
|
+
---
|
|
252
|
+
|
|
253
|
+
### Step 2: Load Context (inline)
|
|
254
|
+
|
|
255
|
+
**Init-first pattern**: When spawning agents, pass the output of `node plugins/pbr/scripts/pbr-tools.cjs init plan-phase {N}` as context rather than having the agent read multiple files separately. This reduces file reads and prevents context-loading failures.
|
|
256
|
+
|
|
257
|
+
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.
|
|
258
|
+
|
|
259
|
+
```
|
|
260
|
+
1. Read .planning/ROADMAP.md — extract current phase goal, dependencies, **Requirements:** (REQ-IDs), and **Success Criteria:**
|
|
261
|
+
2. Read .planning/REQUIREMENTS.md — extract requirements mapped to this phase
|
|
262
|
+
3. Read .planning/CONTEXT.md (if exists) — extract only the `## Decision Summary` section (everything from `## Decision Summary` to the next `##` heading). If no Decision Summary section exists (legacy CONTEXT.md), fall back to extracting the full `## Decisions (LOCKED...)` and `## Deferred Ideas` sections.
|
|
263
|
+
4. Read .planning/phases/{NN}-{slug}/CONTEXT.md (if exists) — extract only the `## Decision Summary` section. Fall back to full locked decisions + deferred sections if no Decision Summary exists.
|
|
264
|
+
5. Read .planning/config.json — extract feature flags, depth, model settings
|
|
265
|
+
6. List prior SUMMARY.md file paths and extract frontmatter metadata only (status, provides, key_files). Do NOT read full SUMMARY bodies — agents pull these on-demand via Read tool.
|
|
266
|
+
7. Read .planning/research/SUMMARY.md (if exists) — extract research findings
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
**Digest-select depth for prior SUMMARYs (Step 6):**
|
|
270
|
+
|
|
271
|
+
Reference: `skills/shared/digest-select.md` for the full depth rules and examples. In short: direct dependencies get frontmatter + key decisions, transitive get frontmatter only, 2+ back get skipped.
|
|
272
|
+
|
|
273
|
+
Collect all of this into a context bundle that will be passed to subagents.
|
|
274
|
+
|
|
275
|
+
---
|
|
276
|
+
|
|
277
|
+
### Step 3: Assumption Surfacing (inline, if `--assumptions` flag)
|
|
278
|
+
|
|
279
|
+
**IMPORTANT**: This step is FREE (no subagents). It happens entirely inline.
|
|
280
|
+
|
|
281
|
+
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.
|
|
282
|
+
|
|
283
|
+
---
|
|
284
|
+
|
|
285
|
+
### Step 4: Phase Research (delegated, conditional)
|
|
286
|
+
|
|
287
|
+
**Skip this step if ANY of these are true:**
|
|
288
|
+
- `--skip-research` flag is set
|
|
289
|
+
- `--gaps` flag is set
|
|
290
|
+
- Depth profile has `features.research_phase: false`
|
|
291
|
+
|
|
292
|
+
To check: run `node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js config resolve-depth` and read `profile["features.research_phase"]`. This replaces checking `features.research_phase` and `depth` separately -- the depth profile already incorporates both.
|
|
293
|
+
|
|
294
|
+
**Conditional research (standard/balanced mode):** When the profile has `features.research_phase: true`, also check whether `.planning/codebase/` or `.planning/research/` already contains relevant context for this phase. If substantial context exists (>3 files in codebase/ or a RESEARCH.md mentioning this phase's technologies), skip research and note: "Skipping research -- existing context found in {directory}." This implements the balanced mode's "conditional research" behavior.
|
|
295
|
+
|
|
296
|
+
**If research is needed:**
|
|
297
|
+
|
|
298
|
+
Display to the user: `◆ Spawning researcher...`
|
|
299
|
+
|
|
300
|
+
**Parallel research optimization (1M context):** If `context_window_tokens` in `.planning/config.json` is >= 500000, spawn the researcher Task() AND the pre-planner briefing Task() (Step 4.5) in parallel using `run_in_background: true` for both. Both are independent -- the researcher analyzes technologies while the briefing scans seeds and deferred items. Wait for both to complete before proceeding to the planner.
|
|
301
|
+
|
|
302
|
+
Display: `◆ Spawning researcher + pre-planner briefing in parallel (1M context)...`
|
|
303
|
+
|
|
304
|
+
If `context_window_tokens` < 500000, maintain the existing sequential flow: researcher first, then pre-planner briefing.
|
|
305
|
+
|
|
306
|
+
Spawn a researcher Task():
|
|
307
|
+
|
|
308
|
+
```
|
|
309
|
+
Task({
|
|
310
|
+
subagent_type: "pbr:researcher",
|
|
311
|
+
prompt: <phase research prompt>
|
|
312
|
+
})
|
|
313
|
+
|
|
314
|
+
NOTE: The pbr:researcher subagent type auto-loads the agent definition. Do NOT inline it.
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
**Path resolution**: Before constructing the agent prompt, resolve `${CLAUDE_PLUGIN_ROOT}` to its absolute path. Do not pass the variable literally in prompts — Task() contexts may not expand it. Use the resolved absolute path for any pbr-tools.cjs or template references included in the prompt.
|
|
318
|
+
|
|
319
|
+
#### Phase Research Prompt Template
|
|
320
|
+
|
|
321
|
+
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:
|
|
322
|
+
- `{NN}` - phase number (zero-padded)
|
|
323
|
+
- `{phase name}` - phase name from roadmap
|
|
324
|
+
- `{goal from roadmap}` - phase goal statement
|
|
325
|
+
- `{REQ-IDs mapped to this phase}` - requirement IDs
|
|
326
|
+
- `{dependencies from roadmap}` - dependency list
|
|
327
|
+
- 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
|
|
328
|
+
|
|
329
|
+
**Prepend this block to the researcher prompt before sending:**
|
|
330
|
+
```
|
|
331
|
+
<files_to_read>
|
|
332
|
+
CRITICAL (no hook): Read these files BEFORE any other action:
|
|
333
|
+
1. .planning/ROADMAP.md — phase goals, dependencies, and structure
|
|
334
|
+
2. .planning/REQUIREMENTS.md — scoped requirements for this phase (if exists)
|
|
335
|
+
</files_to_read>
|
|
336
|
+
```
|
|
337
|
+
|
|
338
|
+
Wait for the researcher to complete before proceeding.
|
|
339
|
+
|
|
340
|
+
After the researcher completes, check the Task() output for a completion marker:
|
|
341
|
+
- If `## RESEARCH COMPLETE` is present: proceed to planner
|
|
342
|
+
- If `## RESEARCH BLOCKED` is present: warn the user that research could not complete, ask if they want to proceed with limited context or stop
|
|
343
|
+
- If neither marker is present: warn that researcher may not have completed successfully, but proceed
|
|
344
|
+
|
|
345
|
+
---
|
|
346
|
+
|
|
347
|
+
### Step 4.5: Pre-Planner Briefing (delegated)
|
|
348
|
+
|
|
349
|
+
**CRITICAL (no hook): Run pre-planner briefing before spawning the planner. Do NOT skip this step.**
|
|
350
|
+
|
|
351
|
+
**Note:** If `context_window_tokens` >= 500000, this step was already spawned in parallel with the researcher in Step 4. Skip spawning it again -- just read the results.
|
|
352
|
+
|
|
353
|
+
Consolidate seed scanning and deferred idea surfacing into a single lightweight Task():
|
|
354
|
+
|
|
355
|
+
```
|
|
356
|
+
Task({
|
|
357
|
+
subagent_type: "pbr:general",
|
|
358
|
+
model: "haiku",
|
|
359
|
+
prompt: "Pre-planner briefing for Phase {NN} ({phase-slug}).
|
|
360
|
+
|
|
361
|
+
1. SEED SCANNING:
|
|
362
|
+
Run: `node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js seeds match {phase-slug} {phase-number}`
|
|
363
|
+
If `matched` is non-empty, output a ## Seeds section listing each seed name, description, and content.
|
|
364
|
+
If empty, output: ## Seeds\nNo matching seeds found.
|
|
365
|
+
|
|
366
|
+
2. DEFERRED IDEAS:
|
|
367
|
+
Collect deferred items from three sources:
|
|
368
|
+
|
|
369
|
+
a. **Project CONTEXT.md**: Read `.planning/CONTEXT.md`. Check for `<deferred>` XML tags (preferred)
|
|
370
|
+
OR `## Deferred` / `## Deferred Ideas` markdown headers (backward compat).
|
|
371
|
+
Extract items that mention Phase {NN} or keywords matching the phase slug.
|
|
372
|
+
|
|
373
|
+
b. **Phase CONTEXT.md**: Read `.planning/phases/{NN}-{slug}/CONTEXT.md` (if exists).
|
|
374
|
+
Check for `<deferred>` XML tags OR markdown deferred headers. Extract relevant items.
|
|
375
|
+
|
|
376
|
+
c. **Prior phase SUMMARY.md files**: Read SUMMARY-*.md files from the prior phase directory
|
|
377
|
+
(`.planning/phases/{prior_phase_dir}/SUMMARY-*.md`, where prior_phase_dir is phase N-1).
|
|
378
|
+
Extract the `deferred:` field from each SUMMARY frontmatter. List any deferred items
|
|
379
|
+
from the prior phase that might now be in scope for this phase.
|
|
380
|
+
|
|
381
|
+
Output a ## Deferred Ideas section with sub-sections:
|
|
382
|
+
- 'From project CONTEXT.md:' (items from project-level deferred, or 'None')
|
|
383
|
+
- 'From phase CONTEXT.md:' (items from current phase deferred, or 'None')
|
|
384
|
+
- 'From prior phase:' (items from prior phase SUMMARY.md deferred fields, or 'None')
|
|
385
|
+
If all three sources are empty, output: ## Deferred Ideas\nNo relevant deferred items.
|
|
386
|
+
|
|
387
|
+
Output format: Return both sections as markdown. End with ## BRIEFING COMPLETE."
|
|
388
|
+
})
|
|
389
|
+
```
|
|
390
|
+
|
|
391
|
+
After the Task() completes:
|
|
392
|
+
- If `## Seeds` section contains matches:
|
|
393
|
+
- 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`):
|
|
394
|
+
question: "Include these {N} seeds in planning?"
|
|
395
|
+
header: "Seeds?"
|
|
396
|
+
options:
|
|
397
|
+
- label: "Yes, all" description: "Include all {N} matching seeds"
|
|
398
|
+
- label: "Let me pick" description: "Choose which seeds to include"
|
|
399
|
+
- label: "No" description: "Proceed without seeds"
|
|
400
|
+
- If "Yes, all": include seed content in planner context
|
|
401
|
+
- If "Let me pick": present individual seeds for selection
|
|
402
|
+
- If "No": proceed without seeds
|
|
403
|
+
- 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)."
|
|
404
|
+
|
|
405
|
+
- If `## Deferred Ideas` section has items:
|
|
406
|
+
- If `gates.confirm_deferred` is `true` in config: present via AskUserQuestion (pattern: yes-no from `skills/shared/gate-prompts.md`):
|
|
407
|
+
question: "Include these deferred ideas in planning context?"
|
|
408
|
+
- If "Yes": append to planner context under `Deferred ideas to consider:`
|
|
409
|
+
- If "No": proceed without changes
|
|
410
|
+
- 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)."
|
|
411
|
+
|
|
412
|
+
- If both sections are empty: proceed silently to Step 5 (no AskUserQuestion needed)
|
|
413
|
+
|
|
414
|
+
---
|
|
415
|
+
|
|
416
|
+
### Step 5: Planning (delegated)
|
|
417
|
+
|
|
418
|
+
#### Team Mode (--teams)
|
|
419
|
+
|
|
420
|
+
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.
|
|
421
|
+
|
|
422
|
+
If `--teams` is NOT set and `config.parallelization.use_teams` is false or unset, proceed with the single-planner flow below.
|
|
423
|
+
|
|
424
|
+
#### Multi-Phase Flow (--through)
|
|
425
|
+
|
|
426
|
+
If `through_phases` is set (from Step 1 --through parsing):
|
|
427
|
+
|
|
428
|
+
1. For each phase P in `through_phases` (in order):
|
|
429
|
+
a. Load phase P's context: goal, requirements, dependencies from ROADMAP.md
|
|
430
|
+
b. Load phase P's CONTEXT.md (if exists)
|
|
431
|
+
c. If P > first phase: include prior phase plans as accumulated context
|
|
432
|
+
- For each already-planned phase in this session, include:
|
|
433
|
+
- Plan frontmatter summary (provides, files_modified, must_haves)
|
|
434
|
+
- This gives the planner visibility into cross-phase dependencies
|
|
435
|
+
d. Spawn planner Task() with multi-phase instructions:
|
|
436
|
+
|
|
437
|
+
Add to the planner prompt's `<planning_instructions>` block:
|
|
438
|
+
```
|
|
439
|
+
MULTI-PHASE CONTEXT: This is phase {P} of {N} in a multi-phase planning session ({start} through {end}).
|
|
440
|
+
Prior phases planned in this session: {list of phase numbers and their provides}
|
|
441
|
+
|
|
442
|
+
CROSS-PHASE CONFLICT DETECTION:
|
|
443
|
+
- Check files_modified in your plans against files_modified from prior phases
|
|
444
|
+
- If overlap detected: add a warning comment in the plan frontmatter: `cross_phase_conflict: ["{file} also modified in phase {X}"]`
|
|
445
|
+
- Ensure depends_on includes the conflicting prior phase plan
|
|
446
|
+
```
|
|
447
|
+
|
|
448
|
+
e. Wait for planner to complete
|
|
449
|
+
f. Read the created plan frontmatters (provides, files_modified) to build accumulated context
|
|
450
|
+
g. Display: "Phase {P} planned ({N} plans). Proceeding to phase {P+1}..."
|
|
451
|
+
|
|
452
|
+
2. After all phases planned, display summary:
|
|
453
|
+
```
|
|
454
|
+
Multi-phase planning complete: {total_plans} plans across phases {start}-{end}
|
|
455
|
+
Cross-phase conflicts detected: {count} (see plan frontmatter for details)
|
|
456
|
+
```
|
|
457
|
+
|
|
458
|
+
3. Skip to Step 5b (spot-check) -- run spot-check across ALL phase directories that were planned.
|
|
459
|
+
|
|
460
|
+
#### Single-Planner Flow (default)
|
|
461
|
+
|
|
462
|
+
**Learnings injection (opt-in):** Check for planning and estimation learnings before spawning the planner:
|
|
463
|
+
|
|
464
|
+
```bash
|
|
465
|
+
node {resolved_plugin_root}/scripts/pbr-tools.cjs learnings query --tags "estimation,planning,process" 2>/dev/null
|
|
466
|
+
```
|
|
467
|
+
|
|
468
|
+
If non-empty JSON array returned:
|
|
469
|
+
|
|
470
|
+
- Write to temp file and note as `{learnings_temp_path}`:
|
|
471
|
+
|
|
472
|
+
```bash
|
|
473
|
+
node {resolved_plugin_root}/scripts/pbr-tools.cjs learnings query --tags "estimation,planning,process" > /tmp/pbr-learnings-$$.md
|
|
474
|
+
```
|
|
475
|
+
|
|
476
|
+
- Add as an additional `files_to_read` item in the planner prompt below
|
|
477
|
+
|
|
478
|
+
If no learnings or command fails: omit.
|
|
479
|
+
|
|
480
|
+
Display to the user: `◆ Spawning planner...`
|
|
481
|
+
|
|
482
|
+
Spawn the planner Task() with all context inlined:
|
|
483
|
+
|
|
484
|
+
```
|
|
485
|
+
Task({
|
|
486
|
+
subagent_type: "pbr:planner",
|
|
487
|
+
prompt: <planning prompt>
|
|
488
|
+
})
|
|
489
|
+
|
|
490
|
+
NOTE: The pbr:planner subagent type auto-loads the agent definition.
|
|
491
|
+
|
|
492
|
+
After planner completes, check for completion markers: `## PLANNING COMPLETE`, `## PLANNING FAILED`, or `## PLANNING INCONCLUSIVE`. Route accordingly. Do NOT inline it.
|
|
493
|
+
|
|
494
|
+
**Memory capture:** Reference `skills/shared/memory-capture.md` — check planner output for `<memory_suggestion>` blocks and save any reusable knowledge discovered during planning.
|
|
495
|
+
```
|
|
496
|
+
|
|
497
|
+
**Path resolution**: Before constructing the agent prompt, resolve `${CLAUDE_PLUGIN_ROOT}` to its absolute path. Do not pass the variable literally in prompts — Task() contexts may not expand it. Use the resolved absolute path for any pbr-tools.cjs or template references included in the prompt.
|
|
498
|
+
|
|
499
|
+
#### Planning Prompt Template
|
|
500
|
+
|
|
501
|
+
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:
|
|
502
|
+
|
|
503
|
+
- `<phase_context>` - phase number, directory, goal, requirements, dependencies, success criteria
|
|
504
|
+
- `<project_context>` - locked decisions, user constraints, deferred ideas, phase-specific decisions
|
|
505
|
+
- `<prior_work>` - manifest table of preceding phase SUMMARY.md file paths with status and one-line exports (NOT full bodies)
|
|
506
|
+
- `<research>` - file path to RESEARCH.md if it exists (NOT inlined content)
|
|
507
|
+
- `<config>` - max tasks, parallelization, TDD mode from config.json
|
|
508
|
+
- `<planning_instructions>` - phase-specific planning rules and output path
|
|
509
|
+
|
|
510
|
+
**Prepend this block to the planner prompt before sending:**
|
|
511
|
+
|
|
512
|
+
```
|
|
513
|
+
<files_to_read>
|
|
514
|
+
CRITICAL (no hook): Read these files BEFORE any other action:
|
|
515
|
+
1. .planning/CONTEXT.md — locked decisions and constraints (if exists)
|
|
516
|
+
2. .planning/ROADMAP.md — phase goals, dependencies, and structure
|
|
517
|
+
3. .planning/phases/{NN}-{slug}/RESEARCH.md — research findings (if exists)
|
|
518
|
+
4. .planning/phases/{NN}-{slug}/CONTEXT.md — phase-level decisions and deferred items (if exists)
|
|
519
|
+
5. .planning/phases/{prior_phase_dir}/SUMMARY-*.md — prior phase summaries with deferred items (if prior phase exists)
|
|
520
|
+
{if learnings_temp_path exists}6. {learnings_temp_path} — cross-project learnings (estimation and planning patterns from past PBR projects){/if}
|
|
521
|
+
</files_to_read>
|
|
522
|
+
```
|
|
523
|
+
|
|
524
|
+
Items 4-5 provide the planner with deferred items from the current phase CONTEXT.md and from prior phase SUMMARY.md files, enabling the deferred-items forward path. 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 6 entirely. If no prior phase exists, omit item 5.
|
|
525
|
+
|
|
526
|
+
Wait for the planner to complete.
|
|
527
|
+
|
|
528
|
+
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`):
|
|
529
|
+
|
|
530
|
+
```
|
|
531
|
+
✓ Planner created {N} plan(s) across {M} wave(s)
|
|
532
|
+
```
|
|
533
|
+
|
|
534
|
+
Where `{N}` is the number of PLAN.md files written and `{M}` is the number of distinct wave values across those plans (from frontmatter).
|
|
535
|
+
|
|
536
|
+
Present a wave execution table using standardized symbols:
|
|
537
|
+
|
|
538
|
+
```
|
|
539
|
+
Wave 1: ○ Plan 01, ○ Plan 02
|
|
540
|
+
Wave 2: ○ Plan 03
|
|
541
|
+
```
|
|
542
|
+
|
|
543
|
+
Use `○` (pending) for all plans at this stage since none have been executed yet.
|
|
544
|
+
|
|
545
|
+
### Step 5b: Spot-Check Planner Output
|
|
546
|
+
|
|
547
|
+
CRITICAL (no hook): Verify planner output before proceeding.
|
|
548
|
+
|
|
549
|
+
1. **PLAN files exist**: Check `.planning/phases/{NN}-{slug}/PLAN-*.md` files exist on disk
|
|
550
|
+
2. **Valid frontmatter**: Read first 20 lines of each PLAN file — verify `depends_on`, `files_modified`, `must_haves` fields present
|
|
551
|
+
3. **Task structure**: Verify at least one `<task>` block exists in each plan file
|
|
552
|
+
4. **Plan count matches**: Number of PLAN files matches what the planner reported
|
|
553
|
+
|
|
554
|
+
If ANY spot-check fails, present the user with options: **Retry** / **Continue anyway** / **Abort**
|
|
555
|
+
|
|
556
|
+
---
|
|
557
|
+
|
|
558
|
+
### Step 6: Plan Validation (delegated, conditional)
|
|
559
|
+
|
|
560
|
+
**Skip this step if:**
|
|
561
|
+
- Depth profile has `features.plan_checking: false` AND `--audit` flag is NOT set AND `features.inline_verify` is `true` in config (planner self-validates)
|
|
562
|
+
|
|
563
|
+
To check: use the resolved depth profile from Step 1. The profile consolidates the depth setting and any user overrides into a single boolean.
|
|
564
|
+
|
|
565
|
+
**Force validation:** If `--audit` flag is set, ALWAYS spawn the plan-checker agent regardless of depth profile or inline_verify setting. Display: `◆ Audit mode: spawning plan checker (--audit flag)`
|
|
566
|
+
|
|
567
|
+
**Inline verify mode:** If `features.inline_verify` is `true` and `--audit` is NOT set, skip plan-checker spawn — the planner agent has already self-validated. Display: `✓ Planner self-validated (inline_verify enabled). Use --audit to force full plan-checker.`
|
|
568
|
+
|
|
569
|
+
**If validation is enabled:**
|
|
570
|
+
|
|
571
|
+
Display to the user: `◆ Spawning plan checker...`
|
|
572
|
+
|
|
573
|
+
Spawn the plan checker Task():
|
|
574
|
+
|
|
575
|
+
```
|
|
576
|
+
Task({
|
|
577
|
+
subagent_type: "pbr:plan-checker",
|
|
578
|
+
prompt: <checker prompt>
|
|
579
|
+
})
|
|
580
|
+
|
|
581
|
+
NOTE: The pbr:plan-checker subagent type auto-loads the agent definition. Do NOT inline it.
|
|
582
|
+
```
|
|
583
|
+
|
|
584
|
+
**Path resolution**: Before constructing the agent prompt, resolve `${CLAUDE_PLUGIN_ROOT}` to its absolute path. Do not pass the variable literally in prompts — Task() contexts may not expand it. Use the resolved absolute path for any pbr-tools.cjs or template references included in the prompt.
|
|
585
|
+
|
|
586
|
+
#### Checker Prompt Template
|
|
587
|
+
|
|
588
|
+
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:
|
|
589
|
+
- `<plans_to_check>` - manifest table of PLAN.md file paths (checker reads each via Read tool)
|
|
590
|
+
- `<phase_context>` - phase goal and requirement IDs
|
|
591
|
+
- `<context>` - file paths to project-level and phase-level CONTEXT.md files (checker reads via Read tool)
|
|
592
|
+
|
|
593
|
+
**Prepend this block to the checker prompt before sending:**
|
|
594
|
+
```
|
|
595
|
+
<files_to_read>
|
|
596
|
+
CRITICAL (no hook): Read these files BEFORE any other action:
|
|
597
|
+
1. .planning/phases/{NN}-{slug}/PLAN-*.md — plan files to validate
|
|
598
|
+
2. .planning/CONTEXT.md — locked decisions to check against (if exists)
|
|
599
|
+
</files_to_read>
|
|
600
|
+
```
|
|
601
|
+
|
|
602
|
+
**Process checker results:**
|
|
603
|
+
|
|
604
|
+
After the plan checker returns, display its result:
|
|
605
|
+
|
|
606
|
+
- If `VERIFICATION PASSED`: display `✓ Plan checker: all plans passed` and proceed to Step 8
|
|
607
|
+
- If issues found: display `⚠ Plan checker found {N} issue(s) — entering revision loop` and proceed to Step 7
|
|
608
|
+
|
|
609
|
+
---
|
|
610
|
+
|
|
611
|
+
### Step 7: Revision Loop (max 3 iterations)
|
|
612
|
+
|
|
613
|
+
Reference: `skills/shared/revision-loop.md` for the full Check-Revise-Escalate pattern.
|
|
614
|
+
|
|
615
|
+
**YAML Issue Parsing:** After the plan-checker returns with issues, parse the YAML `issues:` block from the checker output (located under the `## Issues` heading). Count BLOCKER and WARNING issues separately.
|
|
616
|
+
|
|
617
|
+
**Issue Count Tracking:** Track `issue_count` per iteration. If the current iteration's `issue_count >= prev_issue_count` (count did not decrease), break early with:
|
|
618
|
+
`⚠ Revision loop stalled (issue count not decreasing). Escalating to user.`
|
|
619
|
+
|
|
620
|
+
**Iteration Display:** At the start of each iteration, display:
|
|
621
|
+
`◆ Revision iteration {N}/3 — {blocker_count} blockers, {warning_count} warnings`
|
|
622
|
+
|
|
623
|
+
Follow the revision loop pattern with:
|
|
624
|
+
- **Producer**: planner (re-spawned with `${CLAUDE_SKILL_DIR}/templates/revision-prompt.md.tmpl` — pass the YAML issues block verbatim in the `<checker_issues>` section)
|
|
625
|
+
- **Checker**: plan-checker (back to Step 6)
|
|
626
|
+
- **Early exit**: if issue count does not decrease between iterations, stop the loop and escalate
|
|
627
|
+
- **Escalation**: present issues to user, offer "Proceed anyway" or "Adjust approach" (re-enter Step 5)
|
|
628
|
+
|
|
629
|
+
```
|
|
630
|
+
prev_issue_count = Infinity
|
|
631
|
+
|
|
632
|
+
LOOP (iteration = 1 to 3):
|
|
633
|
+
1. Parse YAML issues from checker output
|
|
634
|
+
2. Count: blocker_count = issues where severity == "BLOCKER"
|
|
635
|
+
warning_count = issues where severity == "WARNING"
|
|
636
|
+
issue_count = blocker_count + warning_count
|
|
637
|
+
3. Display: ◆ Revision iteration {iteration}/3 — {blocker_count} blockers, {warning_count} warnings
|
|
638
|
+
4. If issue_count >= prev_issue_count:
|
|
639
|
+
→ Display stall warning, escalate to user
|
|
640
|
+
5. prev_issue_count = issue_count
|
|
641
|
+
6. Read revision-prompt.md.tmpl, fill in YAML issues block
|
|
642
|
+
7. Re-spawn planner with revision prompt
|
|
643
|
+
8. Re-run plan-checker (Step 6)
|
|
644
|
+
9. If checker returns PASSED → exit loop, proceed to Step 8
|
|
645
|
+
```
|
|
646
|
+
|
|
647
|
+
---
|
|
648
|
+
|
|
649
|
+
### Step 8: User Approval (inline, conditional)
|
|
650
|
+
|
|
651
|
+
**Skip if:**
|
|
652
|
+
- `gates.confirm_plan` is `false` in config
|
|
653
|
+
- `mode` is `autonomous` in config
|
|
654
|
+
- `auto_mode` is `true` — proceed as if user selected "Approve"
|
|
655
|
+
|
|
656
|
+
**If approval is needed:**
|
|
657
|
+
|
|
658
|
+
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.).
|
|
659
|
+
|
|
660
|
+
Use AskUserQuestion (pattern: approve-revise-abort from `skills/shared/gate-prompts.md`):
|
|
661
|
+
question: "Approve these {count} plans for Phase {N}?"
|
|
662
|
+
header: "Approve?"
|
|
663
|
+
options:
|
|
664
|
+
- label: "Approve" description: "Proceed to build phase"
|
|
665
|
+
- label: "Request changes" description: "Discuss adjustments before proceeding"
|
|
666
|
+
- label: "Abort" description: "Cancel planning for this phase"
|
|
667
|
+
|
|
668
|
+
**If user selects 'Request changes' or 'Other':**
|
|
669
|
+
- Discuss what needs to change
|
|
670
|
+
- Re-enter Step 5 with updated context/constraints
|
|
671
|
+
- Or make small inline edits to plan files directly
|
|
672
|
+
|
|
673
|
+
**If user selects 'Approve':**
|
|
674
|
+
- **CONTEXT.md compliance reporting**: Check locked decisions from BOTH sources:
|
|
675
|
+
a. Project-level: `.planning/CONTEXT.md` (if exists) — cross-cutting decisions for all phases
|
|
676
|
+
b. Phase-level: `.planning/phases/{NN}-{slug}/CONTEXT.md` (if exists) — phase-specific decisions
|
|
677
|
+
Phase-level decisions override project-level for the same decision area.
|
|
678
|
+
|
|
679
|
+
Collect ALL locked decisions from both files (deduplicate identical decision text).
|
|
680
|
+
Compare against the generated plan tasks. Print:
|
|
681
|
+
`CONTEXT.md compliance: {M}/{N} locked decisions mapped to tasks`
|
|
682
|
+
where M = locked decisions reflected in at least one task action, N = total unique locked decisions.
|
|
683
|
+
If any locked decisions are unmapped, list them as warnings.
|
|
684
|
+
If neither CONTEXT.md exists: skip this check silently.
|
|
685
|
+
- **Dependency fingerprinting**: For each dependency phase (phases that this phase depends on, per ROADMAP.md):
|
|
686
|
+
1. Find all SUMMARY.md files in the dependency phase directory
|
|
687
|
+
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.
|
|
688
|
+
- **Speculative mode guard:** If `$ARGUMENTS` contains `--speculative` or `--no-state-update`, SKIP all `state update` CLI calls in this section. Do NOT update STATE.md `status`, `current_phase`, or `plans_total` — the autonomous orchestrator manages state exclusively during speculative runs. Also SKIP the ROADMAP.md progress table update below.
|
|
689
|
+
- **Update ROADMAP.md Progress table** (REQUIRED — do this BEFORE updating STATE.md):
|
|
690
|
+
|
|
691
|
+
> Note: Use CLI for atomic writes — direct Write bypasses file locking.
|
|
692
|
+
|
|
693
|
+
```bash
|
|
694
|
+
node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js roadmap update-plans {phase} 0 {N}
|
|
695
|
+
node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js roadmap update-status {phase} planned
|
|
696
|
+
node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js state update status planned
|
|
697
|
+
node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js state update last_activity now
|
|
698
|
+
```
|
|
699
|
+
- 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`
|
|
700
|
+
|
|
701
|
+
**Tooling shortcut**: `node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js state patch '{"status":"planned","last_command":"/pbr:plan-phase {N}"}'`
|
|
702
|
+
- **If `auto_mode` is `true`:** Set `features.auto_advance = true` and `mode = autonomous` behavior for the remainder of this invocation. Chain directly to build: `Skill({ skill: "pbr:build", args: "{N} --auto" })`. This continues the plan→build→review cycle automatically.
|
|
703
|
+
- **Else 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.
|
|
704
|
+
- **Otherwise:** Suggest next action: `/pbr:execute-phase {N}`
|
|
705
|
+
|
|
706
|
+
---
|
|
707
|
+
|
|
708
|
+
## Orchestration Flow: Subcommands
|
|
709
|
+
|
|
710
|
+
### Subcommand: `add`
|
|
711
|
+
|
|
712
|
+
**Speculative mode guard:** If `$ARGUMENTS` contains `--speculative` or `--no-state-update`, SKIP the `.active-skill` write below — the autonomous orchestrator owns `.active-skill` during speculative planning.
|
|
713
|
+
**CRITICAL (hook-enforced): Write .active-skill NOW.** Write the text "plan" to `.planning/.active-skill` using the Write tool.
|
|
714
|
+
|
|
715
|
+
1. Read `.planning/ROADMAP.md`
|
|
716
|
+
2. Calculate next phase number (last phase + 1)
|
|
717
|
+
3. Ask user: "What's the goal for this new phase?"
|
|
718
|
+
4. Ask user: "What requirements does it address?" (show available unassigned REQ-IDs)
|
|
719
|
+
5. Ask user: "What phases does it depend on?"
|
|
720
|
+
6. Append phase to ROADMAP.md
|
|
721
|
+
7. Create phase directory: `.planning/phases/{NN}-{slug}/`
|
|
722
|
+
8. Update STATE.md if needed
|
|
723
|
+
9. Suggest: `/pbr:plan-phase {N}` to plan the new phase
|
|
724
|
+
10. **Speculative mode guard:** If `--speculative` is present, skip the delete below (nothing was written).
|
|
725
|
+
Delete `.planning/.active-skill` if it exists.
|
|
726
|
+
|
|
727
|
+
### Subcommand: `insert <N>`
|
|
728
|
+
|
|
729
|
+
Reference: `${CLAUDE_SKILL_DIR}/decimal-phase-calc.md` for decimal numbering rules.
|
|
730
|
+
|
|
731
|
+
**Speculative mode guard:** If `$ARGUMENTS` contains `--speculative` or `--no-state-update`, SKIP the `.active-skill` write below — the autonomous orchestrator owns `.active-skill` during speculative planning.
|
|
732
|
+
**CRITICAL (hook-enforced): Write .active-skill NOW.** Write the text "plan" to `.planning/.active-skill` using the Write tool.
|
|
733
|
+
|
|
734
|
+
1. Read `.planning/ROADMAP.md`
|
|
735
|
+
2. Calculate decimal phase number:
|
|
736
|
+
- If inserting at position 3: becomes 3.1
|
|
737
|
+
- If 3.1 already exists: becomes 3.2
|
|
738
|
+
- Etc. (see decimal-phase-calc.md)
|
|
739
|
+
3. Ask user for phase goal, requirements, dependencies
|
|
740
|
+
4. Insert phase into ROADMAP.md at the correct position
|
|
741
|
+
5. Create phase directory: `.planning/phases/{NN.M}-{slug}/`
|
|
742
|
+
6. Update dependencies of subsequent phases if affected
|
|
743
|
+
7. Suggest: `/pbr:plan-phase {N.M}` to plan the new phase
|
|
744
|
+
8. **Speculative mode guard:** If `--speculative` is present, skip the delete below (nothing was written).
|
|
745
|
+
Delete `.planning/.active-skill` if it exists.
|
|
746
|
+
|
|
747
|
+
### Subcommand: `remove <N>`
|
|
748
|
+
|
|
749
|
+
1. Read `.planning/ROADMAP.md`
|
|
750
|
+
2. Validate:
|
|
751
|
+
- Phase must exist
|
|
752
|
+
- Phase must be in `pending` or `not started` status (cannot remove completed/in-progress phases)
|
|
753
|
+
- No other phases depend on this phase (or user confirms breaking dependencies)
|
|
754
|
+
3. **Speculative mode guard:** If `$ARGUMENTS` contains `--speculative` or `--no-state-update`, SKIP the `.active-skill` write below — the autonomous orchestrator owns `.active-skill` during speculative planning.
|
|
755
|
+
**CRITICAL (hook-enforced): Write .active-skill NOW.** Write the text "plan" to `.planning/.active-skill` using the Write tool.
|
|
756
|
+
4. Confirm with user: "Remove Phase {N}: {name}? This will delete the phase directory and renumber subsequent phases."
|
|
757
|
+
5. If confirmed:
|
|
758
|
+
- Delete `.planning/phases/{NN}-{slug}/` directory
|
|
759
|
+
- Remove phase from ROADMAP.md
|
|
760
|
+
- Renumber subsequent phases (N+1 becomes N, etc.)
|
|
761
|
+
- Update all `depends_on` references in ROADMAP.md
|
|
762
|
+
- Update STATE.md if needed
|
|
763
|
+
6. **Speculative mode guard:** If `--speculative` is present, skip the delete below (nothing was written).
|
|
764
|
+
Delete `.planning/.active-skill` if it exists.
|
|
765
|
+
|
|
766
|
+
---
|
|
767
|
+
|
|
768
|
+
## Orchestration Flow: Gap Closure (`--gaps`)
|
|
769
|
+
|
|
770
|
+
When invoked with `--gaps`:
|
|
771
|
+
|
|
772
|
+
1. Read `.planning/phases/{NN}-{slug}/VERIFICATION.md`
|
|
773
|
+
- If no VERIFICATION.md exists: tell user "No verification report found. Run `/pbr:verify-work {N}` first."
|
|
774
|
+
2. Extract all gaps from the verification report
|
|
775
|
+
3. Spawn planner Task() in Gap Closure mode:
|
|
776
|
+
|
|
777
|
+
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:
|
|
778
|
+
- `<verification_report>` - inline the FULL VERIFICATION.md content
|
|
779
|
+
- `<existing_plans>` - inline all existing PLAN.md files for the phase
|
|
780
|
+
- `<gap_closure_instructions>` - specify output path and gap_closure frontmatter flag
|
|
781
|
+
|
|
782
|
+
4. After gap-closure plans are created:
|
|
783
|
+
- Run plan checker (if enabled)
|
|
784
|
+
- Present to user for approval
|
|
785
|
+
- Suggest: `/pbr:execute-phase {N} --gaps-only`
|
|
786
|
+
|
|
787
|
+
---
|
|
788
|
+
|
|
789
|
+
## Error Handling
|
|
790
|
+
|
|
791
|
+
### Phase not found
|
|
792
|
+
If the specified phase doesn't exist in ROADMAP.md, use conversational recovery:
|
|
793
|
+
|
|
794
|
+
1. Run: `node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js suggest-alternatives phase-not-found {slug}`
|
|
795
|
+
2. Parse the JSON response to get `available` phases and `suggestions` (closest matches).
|
|
796
|
+
3. Display: "Phase '{slug}' not found. Did you mean one of these?"
|
|
797
|
+
- List `suggestions` (if any) as numbered options.
|
|
798
|
+
- Offer "Show all phases" to list `available`.
|
|
799
|
+
4. Use AskUserQuestion (pattern: yes-no-pick from `skills/shared/gate-prompts.md`) to let the user pick a phase or abort.
|
|
800
|
+
- If user picks a valid phase slug: re-run with that slug.
|
|
801
|
+
- If user chooses to abort: stop cleanly with a friendly message.
|
|
802
|
+
|
|
803
|
+
### Missing prerequisites
|
|
804
|
+
If REQUIREMENTS.md or ROADMAP.md don't exist, use conversational recovery:
|
|
805
|
+
|
|
806
|
+
1. Run: `node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js suggest-alternatives missing-prereq {phase}`
|
|
807
|
+
2. Parse the JSON response to get `existing_summaries`, `missing_summaries`, and `suggested_action`.
|
|
808
|
+
3. Display what is already complete and what is missing.
|
|
809
|
+
4. Use AskUserQuestion to offer: "Run /pbr:execute-phase {prerequisite-phase} first, or continue anyway?"
|
|
810
|
+
- If user chooses to continue: proceed with planning (note missing prereqs in plan frontmatter).
|
|
811
|
+
- If user chooses to build first: stop and display the suggested build command.
|
|
812
|
+
|
|
813
|
+
### Research agent fails
|
|
814
|
+
If the researcher Task() fails, display:
|
|
815
|
+
```
|
|
816
|
+
⚠ Research agent failed. Planning without phase-specific research.
|
|
817
|
+
This may result in less accurate plans.
|
|
818
|
+
```
|
|
819
|
+
Continue to the planning step.
|
|
820
|
+
|
|
821
|
+
### Planner agent fails
|
|
822
|
+
If the planner Task() fails, display a branded error box — see `skills/shared/error-reporting.md`, pattern: Planner agent failure.
|
|
823
|
+
|
|
824
|
+
### Checker loops forever
|
|
825
|
+
After 3 revision iterations without passing, display a branded error box — see `skills/shared/error-reporting.md`, pattern: Checker loops.
|
|
826
|
+
Present remaining issues and ask user to decide: proceed or intervene.
|
|
827
|
+
|
|
828
|
+
---
|
|
829
|
+
|
|
830
|
+
## Files Created/Modified by /pbr:plan-phase
|
|
831
|
+
|
|
832
|
+
| File | Purpose | When |
|
|
833
|
+
|------|---------|------|
|
|
834
|
+
| `.planning/phases/{NN}-{slug}/RESEARCH.md` | Phase-specific research | Step 4 |
|
|
835
|
+
| `.planning/phases/{NN}-{slug}/{NN}-{MM}-PLAN.md` | Executable plan files | Step 5 |
|
|
836
|
+
| `.planning/CONTEXT.md` | Updated with assumptions | Step 3 (--assumptions) |
|
|
837
|
+
| `.planning/ROADMAP.md` | Plans Complete + Status → `planned`; updated for add/insert/remove | Step 8, Subcommands |
|
|
838
|
+
| `.planning/STATE.md` | Updated with plan status | Step 8 |
|
|
839
|
+
|
|
840
|
+
---
|
|
841
|
+
|
|
842
|
+
## Cleanup
|
|
843
|
+
|
|
844
|
+
**Speculative mode guard:** If `--speculative` is present, skip the delete below (nothing was written).
|
|
845
|
+
Delete `.planning/.active-skill` if it exists. This must happen on all paths (success, partial, and failure) before reporting results.
|
|
846
|
+
|
|
847
|
+
## Completion
|
|
848
|
+
|
|
849
|
+
After planning completes, present:
|
|
850
|
+
|
|
851
|
+
Use the branded stage banner and next-up block from `${CLAUDE_SKILL_DIR}/templates/completion-output.md.tmpl`.
|
|
852
|
+
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).
|