@sienklogic/plan-build-run 2.51.0 → 2.53.0
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 +28 -0
- package/package.json +4 -2
- package/plugins/copilot-pbr/agents/audit.agent.md +2 -5
- package/plugins/copilot-pbr/agents/codebase-mapper.agent.md +1 -4
- package/plugins/copilot-pbr/agents/debugger.agent.md +1 -4
- package/plugins/copilot-pbr/agents/dev-sync.agent.md +6 -9
- package/plugins/copilot-pbr/agents/executor.agent.md +1 -6
- package/plugins/copilot-pbr/agents/general.agent.md +1 -4
- package/plugins/copilot-pbr/agents/integration-checker.agent.md +1 -4
- package/plugins/copilot-pbr/agents/plan-checker.agent.md +1 -4
- package/plugins/copilot-pbr/agents/planner.agent.md +1 -4
- package/plugins/copilot-pbr/agents/researcher.agent.md +1 -4
- package/plugins/copilot-pbr/agents/synthesizer.agent.md +1 -4
- package/plugins/copilot-pbr/agents/verifier.agent.md +2 -4
- package/plugins/copilot-pbr/commands/audit.md +5 -0
- package/plugins/copilot-pbr/commands/begin.md +5 -0
- package/plugins/copilot-pbr/commands/build.md +5 -0
- package/plugins/copilot-pbr/commands/config.md +5 -0
- package/plugins/copilot-pbr/commands/continue.md +5 -0
- package/plugins/copilot-pbr/commands/dashboard.md +5 -0
- package/plugins/copilot-pbr/commands/debug.md +5 -0
- package/plugins/copilot-pbr/commands/discuss.md +5 -0
- package/plugins/copilot-pbr/commands/do.md +5 -0
- package/plugins/copilot-pbr/commands/explore.md +5 -0
- package/plugins/copilot-pbr/commands/health.md +5 -0
- package/plugins/copilot-pbr/commands/help.md +5 -0
- package/plugins/copilot-pbr/commands/import.md +5 -0
- package/plugins/copilot-pbr/commands/milestone.md +5 -0
- package/plugins/copilot-pbr/commands/note.md +5 -0
- package/plugins/copilot-pbr/commands/pause.md +5 -0
- package/plugins/copilot-pbr/commands/plan.md +5 -0
- package/plugins/copilot-pbr/commands/quick.md +5 -0
- package/plugins/copilot-pbr/commands/resume.md +5 -0
- package/plugins/copilot-pbr/commands/review.md +5 -0
- package/plugins/copilot-pbr/commands/scan.md +5 -0
- package/plugins/copilot-pbr/commands/setup.md +5 -0
- package/plugins/copilot-pbr/commands/status.md +5 -0
- package/plugins/copilot-pbr/commands/statusline.md +5 -0
- package/plugins/copilot-pbr/commands/todo.md +5 -0
- package/plugins/copilot-pbr/plugin.json +1 -1
- package/plugins/copilot-pbr/references/agent-teams.md +0 -1
- package/plugins/copilot-pbr/references/common-bug-patterns.md +0 -1
- package/plugins/copilot-pbr/references/config-reference.md +0 -1
- package/plugins/copilot-pbr/references/continuation-format.md +0 -1
- package/plugins/copilot-pbr/references/deviation-rules.md +0 -1
- package/plugins/copilot-pbr/references/git-integration.md +0 -1
- package/plugins/copilot-pbr/references/integration-patterns.md +0 -1
- package/plugins/copilot-pbr/references/model-profiles.md +0 -1
- package/plugins/copilot-pbr/references/model-selection.md +0 -1
- package/plugins/copilot-pbr/references/plan-authoring.md +0 -1
- package/plugins/copilot-pbr/references/plan-format.md +0 -1
- package/plugins/copilot-pbr/references/reading-verification.md +0 -1
- package/plugins/copilot-pbr/references/signal-files.md +41 -0
- package/plugins/copilot-pbr/references/stub-patterns.md +0 -1
- package/plugins/copilot-pbr/references/wave-execution.md +0 -1
- package/plugins/copilot-pbr/skills/begin/SKILL.md +74 -52
- package/plugins/copilot-pbr/skills/build/SKILL.md +55 -69
- package/plugins/copilot-pbr/skills/config/SKILL.md +7 -0
- package/plugins/copilot-pbr/skills/continue/SKILL.md +31 -24
- package/plugins/copilot-pbr/skills/dashboard/SKILL.md +8 -7
- package/plugins/copilot-pbr/skills/debug/SKILL.md +11 -0
- package/plugins/copilot-pbr/skills/discuss/SKILL.md +2 -0
- package/plugins/copilot-pbr/skills/do/SKILL.md +2 -0
- package/plugins/copilot-pbr/skills/explore/SKILL.md +7 -1
- package/plugins/copilot-pbr/skills/health/SKILL.md +2 -0
- package/plugins/copilot-pbr/skills/help/SKILL.md +6 -0
- package/plugins/copilot-pbr/skills/import/SKILL.md +9 -0
- package/plugins/copilot-pbr/skills/milestone/SKILL.md +20 -196
- package/plugins/copilot-pbr/skills/note/SKILL.md +2 -0
- package/plugins/copilot-pbr/skills/pause/SKILL.md +5 -0
- package/plugins/copilot-pbr/skills/plan/SKILL.md +87 -119
- package/plugins/copilot-pbr/skills/quick/SKILL.md +13 -8
- package/plugins/copilot-pbr/skills/resume/SKILL.md +4 -0
- package/plugins/copilot-pbr/skills/review/SKILL.md +85 -47
- package/plugins/copilot-pbr/skills/scan/SKILL.md +6 -0
- package/plugins/copilot-pbr/skills/setup/SKILL.md +2 -0
- package/plugins/copilot-pbr/skills/shared/commit-planning-docs.md +0 -1
- package/plugins/copilot-pbr/skills/shared/config-loading.md +0 -1
- package/plugins/copilot-pbr/skills/shared/context-budget.md +0 -1
- package/plugins/copilot-pbr/skills/shared/context-loader-task.md +0 -1
- package/plugins/copilot-pbr/skills/shared/digest-select.md +0 -1
- package/plugins/copilot-pbr/skills/shared/domain-probes.md +0 -1
- package/plugins/copilot-pbr/skills/shared/gate-prompts.md +0 -1
- package/plugins/copilot-pbr/skills/shared/phase-argument-parsing.md +0 -1
- package/plugins/copilot-pbr/skills/shared/revision-loop.md +0 -1
- package/plugins/copilot-pbr/skills/shared/state-update.md +0 -1
- package/plugins/copilot-pbr/skills/shared/universal-anti-patterns.md +1 -2
- package/plugins/copilot-pbr/skills/status/SKILL.md +35 -26
- package/plugins/copilot-pbr/skills/test/SKILL.md +2 -2
- package/plugins/copilot-pbr/skills/todo/SKILL.md +2 -0
- package/plugins/copilot-pbr/templates/CONTEXT.md.tmpl +0 -1
- package/plugins/copilot-pbr/templates/INTEGRATION-REPORT.md.tmpl +0 -1
- package/plugins/copilot-pbr/templates/RESEARCH-SUMMARY.md.tmpl +0 -1
- package/plugins/copilot-pbr/templates/ROADMAP.md.tmpl +0 -1
- package/plugins/copilot-pbr/templates/SUMMARY.md.tmpl +0 -1
- package/plugins/copilot-pbr/templates/VERIFICATION-DETAIL.md.tmpl +0 -1
- package/plugins/copilot-pbr/templates/continue-here.md.tmpl +0 -1
- package/plugins/copilot-pbr/templates/prompt-partials/phase-project-context.md.tmpl +0 -1
- package/plugins/cursor-pbr/.cursor-plugin/plugin.json +1 -1
- package/plugins/cursor-pbr/agents/audit.md +1 -1
- package/plugins/cursor-pbr/agents/codebase-mapper.md +1 -1
- package/plugins/cursor-pbr/agents/debugger.md +1 -1
- package/plugins/cursor-pbr/agents/dev-sync.md +6 -6
- package/plugins/cursor-pbr/agents/executor.md +1 -3
- package/plugins/cursor-pbr/agents/general.md +1 -1
- package/plugins/cursor-pbr/agents/integration-checker.md +2 -2
- package/plugins/cursor-pbr/agents/plan-checker.md +2 -2
- package/plugins/cursor-pbr/agents/planner.md +1 -1
- package/plugins/cursor-pbr/agents/researcher.md +2 -2
- package/plugins/cursor-pbr/agents/synthesizer.md +1 -1
- package/plugins/cursor-pbr/agents/verifier.md +3 -2
- package/plugins/cursor-pbr/commands/audit.md +5 -0
- package/plugins/cursor-pbr/commands/begin.md +5 -0
- package/plugins/cursor-pbr/commands/build.md +5 -0
- package/plugins/cursor-pbr/commands/config.md +5 -0
- package/plugins/cursor-pbr/commands/continue.md +5 -0
- package/plugins/cursor-pbr/commands/dashboard.md +5 -0
- package/plugins/cursor-pbr/commands/debug.md +5 -0
- package/plugins/cursor-pbr/commands/discuss.md +5 -0
- package/plugins/cursor-pbr/commands/do.md +5 -0
- package/plugins/cursor-pbr/commands/explore.md +5 -0
- package/plugins/cursor-pbr/commands/health.md +5 -0
- package/plugins/cursor-pbr/commands/help.md +5 -0
- package/plugins/cursor-pbr/commands/import.md +5 -0
- package/plugins/cursor-pbr/commands/milestone.md +5 -0
- package/plugins/cursor-pbr/commands/note.md +5 -0
- package/plugins/cursor-pbr/commands/pause.md +5 -0
- package/plugins/cursor-pbr/commands/plan.md +5 -0
- package/plugins/cursor-pbr/commands/quick.md +5 -0
- package/plugins/cursor-pbr/commands/resume.md +5 -0
- package/plugins/cursor-pbr/commands/review.md +5 -0
- package/plugins/cursor-pbr/commands/scan.md +5 -0
- package/plugins/cursor-pbr/commands/setup.md +5 -0
- package/plugins/cursor-pbr/commands/status.md +5 -0
- package/plugins/cursor-pbr/commands/statusline.md +5 -0
- package/plugins/cursor-pbr/commands/todo.md +5 -0
- package/plugins/cursor-pbr/hooks/hooks.json +4 -10
- package/plugins/cursor-pbr/references/agent-teams.md +0 -1
- package/plugins/{copilot-pbr/references → cursor-pbr/references/archive}/agent-anti-patterns.md +0 -1
- package/plugins/cursor-pbr/references/{pbr-rules.md → archive/pbr-rules.md} +0 -1
- package/plugins/cursor-pbr/references/common-bug-patterns.md +0 -1
- package/plugins/cursor-pbr/references/config-reference.md +0 -1
- package/plugins/cursor-pbr/references/continuation-format.md +0 -1
- package/plugins/cursor-pbr/references/deviation-rules.md +0 -1
- package/plugins/cursor-pbr/references/git-integration.md +0 -1
- package/plugins/cursor-pbr/references/integration-patterns.md +0 -1
- package/plugins/cursor-pbr/references/model-profiles.md +0 -1
- package/plugins/cursor-pbr/references/model-selection.md +0 -1
- package/plugins/cursor-pbr/references/plan-authoring.md +0 -1
- package/plugins/cursor-pbr/references/plan-format.md +0 -1
- package/plugins/cursor-pbr/references/reading-verification.md +0 -1
- package/plugins/cursor-pbr/references/signal-files.md +41 -0
- package/plugins/cursor-pbr/references/stub-patterns.md +0 -1
- package/plugins/cursor-pbr/references/wave-execution.md +0 -1
- package/plugins/cursor-pbr/skills/begin/SKILL.md +74 -52
- package/plugins/cursor-pbr/skills/build/SKILL.md +58 -70
- package/plugins/cursor-pbr/skills/config/SKILL.md +5 -0
- package/plugins/cursor-pbr/skills/continue/SKILL.md +31 -24
- package/plugins/cursor-pbr/skills/dashboard/SKILL.md +8 -7
- package/plugins/cursor-pbr/skills/debug/SKILL.md +8 -0
- package/plugins/cursor-pbr/skills/discuss/SKILL.md +2 -0
- package/plugins/cursor-pbr/skills/do/SKILL.md +2 -0
- package/plugins/cursor-pbr/skills/explore/SKILL.md +5 -1
- package/plugins/cursor-pbr/skills/health/SKILL.md +2 -0
- package/plugins/cursor-pbr/skills/help/SKILL.md +6 -0
- package/plugins/cursor-pbr/skills/import/SKILL.md +7 -0
- package/plugins/cursor-pbr/skills/milestone/SKILL.md +20 -196
- package/plugins/cursor-pbr/skills/note/SKILL.md +2 -0
- package/plugins/cursor-pbr/skills/pause/SKILL.md +4 -0
- package/plugins/cursor-pbr/skills/plan/SKILL.md +87 -119
- package/plugins/cursor-pbr/skills/quick/SKILL.md +13 -8
- package/plugins/cursor-pbr/skills/resume/SKILL.md +4 -0
- package/plugins/cursor-pbr/skills/review/SKILL.md +85 -47
- package/plugins/cursor-pbr/skills/scan/SKILL.md +5 -0
- package/plugins/cursor-pbr/skills/setup/SKILL.md +2 -0
- package/plugins/cursor-pbr/skills/shared/commit-planning-docs.md +0 -1
- package/plugins/cursor-pbr/skills/shared/config-loading.md +0 -1
- package/plugins/cursor-pbr/skills/shared/context-budget.md +0 -1
- package/plugins/cursor-pbr/skills/shared/context-loader-task.md +0 -1
- package/plugins/cursor-pbr/skills/shared/digest-select.md +0 -1
- package/plugins/cursor-pbr/skills/shared/domain-probes.md +0 -1
- package/plugins/cursor-pbr/skills/shared/gate-prompts.md +0 -1
- package/plugins/cursor-pbr/skills/shared/phase-argument-parsing.md +0 -1
- package/plugins/cursor-pbr/skills/shared/revision-loop.md +0 -1
- package/plugins/cursor-pbr/skills/shared/state-update.md +0 -1
- package/plugins/cursor-pbr/skills/shared/universal-anti-patterns.md +1 -2
- package/plugins/cursor-pbr/skills/status/SKILL.md +35 -26
- package/plugins/cursor-pbr/skills/test/SKILL.md +2 -2
- package/plugins/cursor-pbr/skills/todo/SKILL.md +2 -0
- package/plugins/cursor-pbr/templates/CONTEXT.md.tmpl +0 -1
- package/plugins/cursor-pbr/templates/INTEGRATION-REPORT.md.tmpl +0 -1
- package/plugins/cursor-pbr/templates/RESEARCH-SUMMARY.md.tmpl +0 -1
- package/plugins/cursor-pbr/templates/ROADMAP.md.tmpl +0 -1
- package/plugins/cursor-pbr/templates/SUMMARY.md.tmpl +0 -1
- package/plugins/cursor-pbr/templates/VERIFICATION-DETAIL.md.tmpl +0 -1
- package/plugins/cursor-pbr/templates/continue-here.md.tmpl +0 -1
- package/plugins/cursor-pbr/templates/prompt-partials/phase-project-context.md.tmpl +0 -1
- package/plugins/pbr/.claude-plugin/plugin.json +1 -1
- package/plugins/pbr/agents/executor.md +0 -2
- package/plugins/{cursor-pbr/references → pbr/references/archive}/agent-anti-patterns.md +0 -1
- package/plugins/{copilot-pbr/references → pbr/references/archive}/pbr-rules.md +0 -1
- package/plugins/pbr/references/signal-files.md +41 -0
- package/plugins/pbr/scripts/check-skill-workflow.js +7 -8
- package/plugins/pbr/scripts/check-subagent-output.js +7 -6
- package/plugins/pbr/scripts/context-budget-check.js +13 -1
- package/plugins/pbr/scripts/enforce-pbr-workflow.js +15 -6
- package/plugins/pbr/scripts/lib/core.js +53 -1
- package/plugins/pbr/scripts/log-subagent.js +7 -10
- package/plugins/pbr/scripts/pbr-tools.js +49 -3
- package/plugins/pbr/scripts/progress-tracker.js +13 -3
- package/plugins/pbr/scripts/session-cleanup.js +6 -0
- package/plugins/pbr/scripts/suggest-compact.js +13 -1
- package/plugins/pbr/skills/begin/SKILL.md +13 -13
- package/plugins/pbr/skills/build/SKILL.md +24 -7
- package/plugins/pbr/skills/milestone/SKILL.md +10 -10
- package/plugins/pbr/skills/plan/SKILL.md +9 -9
- package/plugins/pbr/skills/quick/SKILL.md +3 -3
- package/plugins/pbr/skills/review/SKILL.md +6 -6
- /package/plugins/{pbr/references → copilot-pbr/references/archive}/agent-anti-patterns.md +0 -0
- /package/plugins/copilot-pbr/references/{checkpoints.md → archive/checkpoints.md} +0 -0
- /package/plugins/copilot-pbr/references/{context-quality-tiers.md → archive/context-quality-tiers.md} +0 -0
- /package/plugins/{pbr/references → copilot-pbr/references/archive}/pbr-rules.md +0 -0
- /package/plugins/copilot-pbr/references/{verification-patterns.md → archive/verification-patterns.md} +0 -0
- /package/plugins/cursor-pbr/references/{checkpoints.md → archive/checkpoints.md} +0 -0
- /package/plugins/cursor-pbr/references/{context-quality-tiers.md → archive/context-quality-tiers.md} +0 -0
- /package/plugins/cursor-pbr/references/{verification-patterns.md → archive/verification-patterns.md} +0 -0
- /package/plugins/pbr/references/{checkpoints.md → archive/checkpoints.md} +0 -0
- /package/plugins/pbr/references/{context-quality-tiers.md → archive/context-quality-tiers.md} +0 -0
- /package/plugins/pbr/references/{verification-patterns.md → archive/verification-patterns.md} +0 -0
|
@@ -4,6 +4,8 @@ description: "Verify the build matched the plan. Automated checks + walkthrough
|
|
|
4
4
|
argument-hint: "<phase-number> [--auto-fix] [--teams]"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
**STOP — DO NOT READ THIS FILE. You are already reading it. This prompt was injected into your context by Claude Code's plugin system. Using the Read tool on this SKILL.md file wastes ~7,600 tokens. Begin executing Step 1 immediately.**
|
|
8
|
+
|
|
7
9
|
# /pbr:review — Phase Review and Verification
|
|
8
10
|
|
|
9
11
|
You are the orchestrator for `/pbr:review`. This skill verifies that what was built matches what was planned. It runs automated three-layer checks against must-haves, then walks the user through a conversational UAT (user acceptance testing) for each deliverable. Your job is to present findings clearly and help the user decide what's good enough versus what needs fixes.
|
|
@@ -13,7 +15,7 @@ You are the orchestrator for `/pbr:review`. This skill verifies that what was bu
|
|
|
13
15
|
Reference: `skills/shared/context-budget.md` for the universal orchestrator rules.
|
|
14
16
|
|
|
15
17
|
Additionally for this skill:
|
|
16
|
-
- **Minimize** reading
|
|
18
|
+
- **Minimize** reading subagent output — read only VERIFICATION.md frontmatter for summaries
|
|
17
19
|
|
|
18
20
|
## Step 0 — Immediate Output
|
|
19
21
|
|
|
@@ -34,7 +36,7 @@ Where `{N}` is the phase number from `$ARGUMENTS`. Then proceed to Step 1.
|
|
|
34
36
|
|
|
35
37
|
### Event-Driven Auto-Verification
|
|
36
38
|
|
|
37
|
-
When `features.goal_verification` is enabled and depth is "standard" or "comprehensive", event
|
|
39
|
+
When `features.goal_verification` is enabled and depth is "standard" or "comprehensive", the `event-handler.js` hook automatically queues verification after executor completion. The hook writes `.planning/.auto-verify` as a signal file. The build skill's orchestrator detects this signal and spawns the verifier agent.
|
|
38
40
|
|
|
39
41
|
**This is additive**: `/pbr:review` can always be invoked manually regardless of auto-verification settings. If auto-verification already ran, `/pbr:review` re-runs verification (useful for re-checking after fixes).
|
|
40
42
|
|
|
@@ -65,20 +67,22 @@ Execute these steps in order.
|
|
|
65
67
|
|
|
66
68
|
1. Parse `$ARGUMENTS` for phase number and `--auto-fix` flag
|
|
67
69
|
2. Read `.planning/config.json`
|
|
68
|
-
**CRITICAL: Write .active-skill NOW.** Write the text "review" to `.planning/.active-skill` using the Write tool.
|
|
70
|
+
**CRITICAL (hook-enforced): Write .active-skill NOW.** Write the text "review" to `.planning/.active-skill` using the Write tool.
|
|
69
71
|
3. Resolve depth profile: run `node ${PLUGIN_ROOT}/scripts/pbr-tools.js config resolve-depth` to get the effective feature/gate settings for the current depth. Store the result for use in later gating decisions.
|
|
70
72
|
4. Validate:
|
|
71
73
|
- Phase directory exists at `.planning/phases/{NN}-{slug}/`
|
|
72
74
|
- SUMMARY.md files exist (phase has been built)
|
|
73
75
|
- PLAN.md files exist (needed for must-have extraction)
|
|
74
76
|
5. If no phase number given, read current phase from `.planning/STATE.md`
|
|
75
|
-
6. If `.planning/.auto-verify` signal file exists, read it and note the auto-verification was already queued. Delete the signal file after reading (one-shot).
|
|
77
|
+
6. If `.planning/.auto-verify` signal file exists, read it and note the auto-verification was already queued. Delete the signal file after reading (one-shot, same pattern as auto-continue.js).
|
|
76
78
|
|
|
77
79
|
**Validation errors — use branded error boxes:**
|
|
78
80
|
|
|
79
81
|
If no SUMMARY.md files:
|
|
80
82
|
```
|
|
81
|
-
|
|
83
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
84
|
+
║ ERROR ║
|
|
85
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
82
86
|
|
|
83
87
|
Phase {N} hasn't been built yet.
|
|
84
88
|
|
|
@@ -87,7 +91,9 @@ Phase {N} hasn't been built yet.
|
|
|
87
91
|
|
|
88
92
|
If no PLAN.md files:
|
|
89
93
|
```
|
|
90
|
-
|
|
94
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
95
|
+
║ ERROR ║
|
|
96
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
91
97
|
|
|
92
98
|
Phase {N} has no plans.
|
|
93
99
|
|
|
@@ -115,30 +121,35 @@ Check if a VERIFICATION.md already exists from `/pbr:build`'s auto-verification
|
|
|
115
121
|
|
|
116
122
|
### Step 3: Automated Verification (delegated)
|
|
117
123
|
|
|
118
|
-
**Depth profile gate:** Before
|
|
124
|
+
**Depth profile gate:** Before spawning the verifier, resolve the depth profile. If `features.goal_verification` is false in the profile, skip automated verification and proceed directly to Step 5 (Conversational UAT). Note to user: "Automated verification skipped (depth: {depth}). Proceeding to manual review."
|
|
119
125
|
|
|
120
126
|
#### Team Review Mode
|
|
121
127
|
|
|
122
128
|
If `--teams` flag is present OR `config.parallelization.use_teams` is true:
|
|
123
129
|
|
|
124
130
|
1. Create team output directory: `.planning/phases/{NN}-{slug}/team/` (if not exists)
|
|
125
|
-
2. Display to the user:
|
|
131
|
+
2. Display to the user: `◐ Spawning 3 verifiers in parallel (functional, security, performance)...`
|
|
126
132
|
|
|
127
|
-
|
|
133
|
+
Spawn THREE verifier agents in parallel using Task():
|
|
128
134
|
|
|
129
135
|
**Agent 1 -- Functional Reviewer**:
|
|
130
|
-
-
|
|
136
|
+
- subagent_type: "pbr:verifier"
|
|
137
|
+
- Prompt includes: "You are the FUNCTIONAL REVIEWER in a review team. Focus on: must-haves met, code correctness, completeness, integration points. Write output to `.planning/phases/{NN}-{slug}/team/functional-VERIFY.md`."
|
|
131
138
|
|
|
132
139
|
**Agent 2 -- Security Auditor**:
|
|
133
|
-
-
|
|
140
|
+
- subagent_type: "pbr:verifier"
|
|
141
|
+
- Prompt includes: "You are the SECURITY AUDITOR in a review team. Focus on: vulnerabilities, auth bypass paths, injection risks, secrets exposure, permission escalation. Write output to `.planning/phases/{NN}-{slug}/team/security-VERIFY.md`."
|
|
134
142
|
|
|
135
143
|
**Agent 3 -- Performance Analyst**:
|
|
136
|
-
-
|
|
144
|
+
- subagent_type: "pbr:verifier"
|
|
145
|
+
- Prompt includes: "You are the PERFORMANCE ANALYST in a review team. Focus on: N+1 queries, memory leaks, unnecessary allocations, bundle size impact, blocking operations. Write output to `.planning/phases/{NN}-{slug}/team/performance-VERIFY.md`."
|
|
137
146
|
|
|
138
147
|
3. Wait for all three to complete
|
|
139
|
-
4. Display to the user:
|
|
148
|
+
4. Display to the user: `◐ Spawning synthesizer...`
|
|
140
149
|
|
|
141
|
-
|
|
150
|
+
Spawn synthesizer:
|
|
151
|
+
- subagent_type: "pbr:synthesizer"
|
|
152
|
+
- Prompt: "Read all *-VERIFY.md files in `.planning/phases/{NN}-{slug}/team/`. Synthesize into a unified VERIFICATION.md. Merge pass/fail verdicts -- a must-have fails if ANY reviewer flags it. Combine gap lists. Security and performance findings go into dedicated sections."
|
|
142
153
|
5. Proceed to UAT walkthrough with the unified VERIFICATION.md
|
|
143
154
|
|
|
144
155
|
If teams not enabled, proceed with existing single-verifier flow.
|
|
@@ -147,11 +158,19 @@ Reference: `references/agent-teams.md`
|
|
|
147
158
|
|
|
148
159
|
#### Single-Verifier Flow (default)
|
|
149
160
|
|
|
150
|
-
Display to the user:
|
|
161
|
+
Display to the user: `◐ Spawning verifier...`
|
|
151
162
|
|
|
152
|
-
|
|
163
|
+
Spawn a verifier Task() to run three-layer checks:
|
|
153
164
|
|
|
154
|
-
|
|
165
|
+
```
|
|
166
|
+
Task({
|
|
167
|
+
subagent_type: "pbr:verifier",
|
|
168
|
+
// After verifier completes, check for: ## VERIFICATION COMPLETE
|
|
169
|
+
prompt: <verifier prompt>
|
|
170
|
+
})
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
**Path resolution**: Before constructing any agent prompt, resolve `${PLUGIN_ROOT}` to its absolute path. Do not pass the variable literally in prompts — Task() contexts may not expand it. Use the resolved absolute path for any pbr-tools.js or template references included in the prompt.
|
|
155
174
|
|
|
156
175
|
#### Verifier Prompt Template
|
|
157
176
|
|
|
@@ -160,7 +179,7 @@ Read `skills/review/templates/verifier-prompt.md.tmpl` and use its content as th
|
|
|
160
179
|
**Prepend this block to the verifier prompt before sending:**
|
|
161
180
|
```
|
|
162
181
|
<files_to_read>
|
|
163
|
-
CRITICAL: Read these files BEFORE any other action:
|
|
182
|
+
CRITICAL (no hook): Read these files BEFORE any other action:
|
|
164
183
|
1. .planning/phases/{NN}-{slug}/PLAN-*.md — must-haves to verify against
|
|
165
184
|
2. .planning/phases/{NN}-{slug}/SUMMARY-*.md — executor build summaries
|
|
166
185
|
3. .planning/phases/{NN}-{slug}/VERIFICATION.md — prior verification results (if exists)
|
|
@@ -179,7 +198,7 @@ Wait for the verifier to complete.
|
|
|
179
198
|
**After the verifier completes**, read VERIFICATION.md frontmatter and display a quick summary before the full results:
|
|
180
199
|
|
|
181
200
|
```
|
|
182
|
-
Verifier: {passed}/{total} must-haves verified
|
|
201
|
+
✓ Verifier: {passed}/{total} must-haves verified
|
|
183
202
|
```
|
|
184
203
|
|
|
185
204
|
Then show a brief table of must-haves with pass/fail status:
|
|
@@ -187,15 +206,15 @@ Then show a brief table of must-haves with pass/fail status:
|
|
|
187
206
|
```
|
|
188
207
|
| Must-Have | Status |
|
|
189
208
|
|-----------|--------|
|
|
190
|
-
| {name} |
|
|
191
|
-
| {name} |
|
|
209
|
+
| {name} | ✓ |
|
|
210
|
+
| {name} | ✗ |
|
|
192
211
|
```
|
|
193
212
|
|
|
194
213
|
Then display the overall verdict (`PASSED`, `GAPS FOUND`, or `HUMAN NEEDED`) before proceeding to the full results presentation.
|
|
195
214
|
|
|
196
215
|
### Step 3a: Spot-Check Verifier Output
|
|
197
216
|
|
|
198
|
-
CRITICAL: Verify verifier output before proceeding.
|
|
217
|
+
CRITICAL (no hook): Verify verifier output before proceeding.
|
|
199
218
|
|
|
200
219
|
1. **VERIFICATION.md exists**: Check `.planning/phases/{NN}-{slug}/VERIFICATION.md` exists on disk
|
|
201
220
|
2. **Status field present**: Read VERIFICATION.md frontmatter — verify `status` field is present and is one of: pass, fail, partial
|
|
@@ -233,16 +252,16 @@ The same gaps have persisted across {attempt} verification attempts.
|
|
|
233
252
|
Remaining gaps: {count}
|
|
234
253
|
```
|
|
235
254
|
|
|
236
|
-
Use
|
|
255
|
+
Use AskUserQuestion (pattern: multi-option-escalation from `skills/shared/gate-prompts.md`):
|
|
237
256
|
question: "Phase {N} has failed verification {attempt} times with {count} persistent gaps. How should we proceed?"
|
|
238
257
|
header: "Escalate"
|
|
239
258
|
options:
|
|
240
259
|
- label: "Accept gaps" description: "Mark as complete-with-gaps and move on"
|
|
241
260
|
- label: "Re-plan" description: "Go back to /pbr:plan {N} with gap context"
|
|
242
|
-
- label: "Debug" description: "
|
|
261
|
+
- label: "Debug" description: "Spawn /pbr:debug to investigate root causes"
|
|
243
262
|
- label: "Retry" description: "Try one more verification cycle"
|
|
244
263
|
|
|
245
|
-
- **If user selects "Accept gaps":** Follow up with a second
|
|
264
|
+
- **If user selects "Accept gaps":** Follow up with a second AskUserQuestion:
|
|
246
265
|
question: "Accept all gaps or pick specific ones to override?"
|
|
247
266
|
header: "Override?"
|
|
248
267
|
options:
|
|
@@ -349,7 +368,7 @@ If all automated checks and UAT items passed:
|
|
|
349
368
|
4. Update the `Status` column to `verified`
|
|
350
369
|
5. Update the `Completed` column to the current date (YYYY-MM-DD)
|
|
351
370
|
6. Save the file — do NOT skip this step
|
|
352
|
-
2. Update `.planning/STATE.md` **(CRITICAL — update BOTH frontmatter AND body):**
|
|
371
|
+
2. Update `.planning/STATE.md` **(CRITICAL (no hook) — update BOTH frontmatter AND body):**
|
|
353
372
|
- Frontmatter: `status: "verified"`, `progress_percent`, `last_activity`, `last_command`
|
|
354
373
|
- Body `## Current Position`: `Status:` line, `Last activity:` line, `Progress:` bar
|
|
355
374
|
- These MUST stay in sync — see `skills/shared/state-update.md`
|
|
@@ -359,11 +378,12 @@ If all automated checks and UAT items passed:
|
|
|
359
378
|
|
|
360
379
|
Use the branded output from `references/ui-formatting.md`:
|
|
361
380
|
- If more phases remain: use the "Phase Complete" banner template
|
|
362
|
-
- If this was the last phase: use the "Milestone Complete" banner template
|
|
381
|
+
- If this was the last phase in the current milestone: use the "Milestone Complete" banner template
|
|
382
|
+
- **Milestone boundary detection:** Read ROADMAP.md and find the `## Milestone:` section containing the current phase. Check its `**Phases:** start - end` range. If the current phase equals `end`, this is the last phase in the milestone.
|
|
363
383
|
- Always include the "Next Up" routing block
|
|
364
384
|
|
|
365
385
|
4. If `gates.confirm_transition` is true in config AND `features.auto_advance` is NOT true:
|
|
366
|
-
- Use
|
|
386
|
+
- Use AskUserQuestion (pattern: yes-no from `skills/shared/gate-prompts.md`):
|
|
367
387
|
question: "Phase {N} verified. Ready to move to Phase {N+1}?"
|
|
368
388
|
header: "Continue?"
|
|
369
389
|
options:
|
|
@@ -373,9 +393,9 @@ Use the branded output from `references/ui-formatting.md`:
|
|
|
373
393
|
- If "No" or "Other": stop
|
|
374
394
|
|
|
375
395
|
5. **If `features.auto_advance` is `true` AND `mode` is `autonomous` AND more phases remain:**
|
|
376
|
-
- Chain directly to plan
|
|
377
|
-
- This continues the build
|
|
378
|
-
- **If this is the last phase:** HARD STOP — do NOT auto-advance past milestone boundaries
|
|
396
|
+
- Chain directly to plan: `Skill({ skill: "pbr:plan", args: "{N+1}" })`
|
|
397
|
+
- This continues the build→review→plan cycle automatically
|
|
398
|
+
- **If this is the last phase in the current milestone:** HARD STOP — do NOT auto-advance past milestone boundaries. Display: "auto_advance pauses at milestone boundaries — your sign-off is required."
|
|
379
399
|
|
|
380
400
|
#### Gaps Found WITH `--auto-fix`
|
|
381
401
|
|
|
@@ -383,9 +403,16 @@ If gaps were found and `--auto-fix` was specified:
|
|
|
383
403
|
|
|
384
404
|
**Step 6a: Diagnose**
|
|
385
405
|
|
|
386
|
-
Display to the user:
|
|
406
|
+
Display to the user: `◐ Spawning debugger...`
|
|
407
|
+
|
|
408
|
+
Spawn a debugger Task() to analyze each failure:
|
|
387
409
|
|
|
388
|
-
|
|
410
|
+
```
|
|
411
|
+
Task({
|
|
412
|
+
subagent_type: "pbr:debugger",
|
|
413
|
+
prompt: <debugger prompt>
|
|
414
|
+
})
|
|
415
|
+
```
|
|
389
416
|
|
|
390
417
|
##### Debugger Prompt Template
|
|
391
418
|
|
|
@@ -394,7 +421,7 @@ Read `skills/review/templates/debugger-prompt.md.tmpl` and use its content as th
|
|
|
394
421
|
**Prepend this block to the debugger prompt before sending:**
|
|
395
422
|
```
|
|
396
423
|
<files_to_read>
|
|
397
|
-
CRITICAL: Read these files BEFORE any other action:
|
|
424
|
+
CRITICAL (no hook): Read these files BEFORE any other action:
|
|
398
425
|
1. .planning/phases/{NN}-{slug}/VERIFICATION.md — gaps and failure details
|
|
399
426
|
2. .planning/phases/{NN}-{slug}/SUMMARY-*.md — what was built
|
|
400
427
|
3. .planning/phases/{NN}-{slug}/PLAN-*.md — original plan must-haves
|
|
@@ -408,9 +435,16 @@ CRITICAL: Read these files BEFORE any other action:
|
|
|
408
435
|
|
|
409
436
|
**Step 6b: Create Gap-Closure Plans**
|
|
410
437
|
|
|
411
|
-
After receiving the root cause analysis, display to the user:
|
|
438
|
+
After receiving the root cause analysis, display to the user: `◐ Spawning planner (gap closure)...`
|
|
439
|
+
|
|
440
|
+
Spawn the planner in gap-closure mode:
|
|
412
441
|
|
|
413
|
-
|
|
442
|
+
```
|
|
443
|
+
Task({
|
|
444
|
+
subagent_type: "pbr:planner",
|
|
445
|
+
prompt: <gap planner prompt>
|
|
446
|
+
})
|
|
447
|
+
```
|
|
414
448
|
|
|
415
449
|
##### Gap Planner Prompt Template
|
|
416
450
|
|
|
@@ -419,7 +453,7 @@ Read `skills/review/templates/gap-planner-prompt.md.tmpl` and use its content as
|
|
|
419
453
|
**Prepend this block to the gap planner prompt before sending:**
|
|
420
454
|
```
|
|
421
455
|
<files_to_read>
|
|
422
|
-
CRITICAL: Read these files BEFORE any other action:
|
|
456
|
+
CRITICAL (no hook): Read these files BEFORE any other action:
|
|
423
457
|
1. .planning/phases/{NN}-{slug}/VERIFICATION.md — gaps to close
|
|
424
458
|
2. .planning/phases/{NN}-{slug}/PLAN-*.md — existing plans for context
|
|
425
459
|
3. .planning/CONTEXT.md — locked decisions and constraints (if exists)
|
|
@@ -436,8 +470,8 @@ CRITICAL: Read these files BEFORE any other action:
|
|
|
436
470
|
**Step 6c: Validate gap-closure plans (conditional)**
|
|
437
471
|
|
|
438
472
|
If `features.plan_checking` is true in config:
|
|
439
|
-
- Display to the user:
|
|
440
|
-
-
|
|
473
|
+
- Display to the user: `◐ Spawning plan checker...`
|
|
474
|
+
- Spawn plan checker Task() on the new gap-closure plans
|
|
441
475
|
- Same process as `/pbr:plan` Step 6
|
|
442
476
|
|
|
443
477
|
**Step 6d: Present gap-closure plans to user**
|
|
@@ -453,7 +487,7 @@ Plans:
|
|
|
453
487
|
{plan_id}: {name} — fixes: {gap description} ({difficulty})
|
|
454
488
|
{plan_id}: {name} — fixes: {gap description} ({difficulty})
|
|
455
489
|
|
|
456
|
-
Use
|
|
490
|
+
Use AskUserQuestion (pattern: approve-revise-abort from `skills/shared/gate-prompts.md`):
|
|
457
491
|
question: "Approve these {count} gap-closure plans?"
|
|
458
492
|
header: "Approve?"
|
|
459
493
|
options:
|
|
@@ -484,7 +518,7 @@ Phase {N}: {name} — Gaps Found
|
|
|
484
518
|
2. {gap description}
|
|
485
519
|
...
|
|
486
520
|
|
|
487
|
-
Use
|
|
521
|
+
Use AskUserQuestion (pattern: multi-option-gaps from `skills/shared/gate-prompts.md`):
|
|
488
522
|
question: "{count} verification gaps need attention. How should we proceed?"
|
|
489
523
|
header: "Gaps"
|
|
490
524
|
options:
|
|
@@ -549,9 +583,11 @@ After Step 3, also check cross-phase integration:
|
|
|
549
583
|
## Error Handling
|
|
550
584
|
|
|
551
585
|
### Verifier agent fails
|
|
552
|
-
If the verifier
|
|
586
|
+
If the verifier Task() fails, display:
|
|
553
587
|
```
|
|
554
|
-
|
|
588
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
589
|
+
║ ERROR ║
|
|
590
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
555
591
|
|
|
556
592
|
Automated verification failed.
|
|
557
593
|
|
|
@@ -561,7 +597,7 @@ Fall back to manual UAT only (skip automated checks).
|
|
|
561
597
|
|
|
562
598
|
### No must-haves to check
|
|
563
599
|
If plans have empty must_haves:
|
|
564
|
-
- Warn user:
|
|
600
|
+
- Warn user: `⚠ Plans don't have defined must-haves. UAT will be based on plan descriptions only.`
|
|
565
601
|
- Use SUMMARY.md content as the basis for UAT
|
|
566
602
|
|
|
567
603
|
### User can't verify something
|
|
@@ -571,9 +607,11 @@ If user can't verify an item (e.g., needs server running, needs credentials):
|
|
|
571
607
|
- Suggest how to verify later
|
|
572
608
|
|
|
573
609
|
### Debugger fails during auto-fix
|
|
574
|
-
If the debugger
|
|
610
|
+
If the debugger Task() fails, display:
|
|
575
611
|
```
|
|
576
|
-
|
|
612
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
613
|
+
║ ERROR ║
|
|
614
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
577
615
|
|
|
578
616
|
Auto-diagnosis failed.
|
|
579
617
|
|
|
@@ -589,7 +627,7 @@ Ask user: "Would you like to proceed with gap-closure plans without root cause a
|
|
|
589
627
|
|------|---------|------|
|
|
590
628
|
| `.planning/phases/{NN}-{slug}/VERIFICATION.md` | Verification report | Step 3 (created or updated with UAT) |
|
|
591
629
|
| `.planning/phases/{NN}-{slug}/*-PLAN.md` | Gap-closure plans | Step 6b (--auto-fix only) |
|
|
592
|
-
| `.planning/ROADMAP.md` | Status
|
|
630
|
+
| `.planning/ROADMAP.md` | Status → `verified` + Completed date | Step 6 |
|
|
593
631
|
| `.planning/STATE.md` | Updated with review status | Step 6 |
|
|
594
632
|
|
|
595
633
|
---
|
|
@@ -3,6 +3,8 @@ name: scan
|
|
|
3
3
|
description: "Analyze an existing codebase. Maps structure, architecture, conventions, and concerns."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
+
**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.**
|
|
7
|
+
|
|
6
8
|
## Step 0 — Immediate Output
|
|
7
9
|
|
|
8
10
|
**Before ANY tool calls**, display this banner:
|
|
@@ -227,6 +229,7 @@ Top concerns:
|
|
|
227
229
|
Then use the "Next Up" routing block:
|
|
228
230
|
```
|
|
229
231
|
|
|
232
|
+
|
|
230
233
|
╔══════════════════════════════════════════════════════════════╗
|
|
231
234
|
║ ▶ NEXT UP ║
|
|
232
235
|
╚══════════════════════════════════════════════════════════════╝
|
|
@@ -238,10 +241,12 @@ Then use the "Next Up" routing block:
|
|
|
238
241
|
<sub>`/clear` first → fresh context window</sub>
|
|
239
242
|
|
|
240
243
|
|
|
244
|
+
|
|
241
245
|
**Also available:**
|
|
242
246
|
- `/pbr:milestone new` — create a milestone to address concerns
|
|
243
247
|
- `/pbr:status` — see project status
|
|
244
248
|
|
|
249
|
+
|
|
245
250
|
```
|
|
246
251
|
|
|
247
252
|
### Step 7: Git Integration
|
|
@@ -3,6 +3,8 @@ name: setup
|
|
|
3
3
|
description: "Onboarding wizard. Initialize project, select models, verify setup."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
+
**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.**
|
|
7
|
+
|
|
6
8
|
## Step 0 — Immediate Output
|
|
7
9
|
|
|
8
10
|
**Before ANY tool calls**, display this banner:
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
<!-- canonical: ../../../pbr/skills/shared/context-loader-task.md -->
|
|
2
1
|
# Context Loader Task Pattern
|
|
3
2
|
|
|
4
3
|
Standard pattern for spawning a lightweight Task() to build a project briefing before the main skill logic runs. Used by skills that need project context but want to keep the orchestrator lean.
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
<!-- canonical: ../../../pbr/skills/shared/universal-anti-patterns.md -->
|
|
2
1
|
# Universal Anti-Patterns
|
|
3
2
|
|
|
4
3
|
Rules that apply to ALL skills. Individual skills may have additional skill-specific anti-patterns listed in their own SKILL.md.
|
|
@@ -26,7 +25,7 @@ These rules prevent context rot -- quality degradation as the context window fil
|
|
|
26
25
|
|
|
27
26
|
## Task/Subagent Rules (apply to every skill)
|
|
28
27
|
|
|
29
|
-
10. **Never** invoke `Skill()` inside a `Task()` subagent -- the Skill tool is not available in subagent contexts.
|
|
28
|
+
10. **Never** invoke `Skill()` inside a `Task()` subagent -- the Skill tool is not available in subagent contexts. Agents spawned by `Task()` cannot resolve `/pbr:*` skill prefixes, so `Skill({ skill: "pbr:plan" })` will silently fail. Instead, chain skills at the orchestrator level (return control to the orchestrator, then call `Skill()` from there). For subagent work, use `subagent_type: "pbr:{agent}"` which auto-loads agent definitions.
|
|
30
29
|
|
|
31
30
|
## Behavioral Rules (apply to every skill)
|
|
32
31
|
|
|
@@ -3,6 +3,8 @@ name: status
|
|
|
3
3
|
description: "Show current project status and suggest what to do next."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
+
**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.**
|
|
7
|
+
|
|
6
8
|
## Step 0 — Immediate Output
|
|
7
9
|
|
|
8
10
|
**Before ANY tool calls**, display this banner:
|
|
@@ -48,7 +50,9 @@ Read the following files (skip any that don't exist):
|
|
|
48
50
|
1. **`.planning/config.json`** — Project settings
|
|
49
51
|
- If this doesn't exist, display:
|
|
50
52
|
```
|
|
51
|
-
|
|
53
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
54
|
+
║ ERROR ║
|
|
55
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
52
56
|
|
|
53
57
|
No Plan-Build-Run project found.
|
|
54
58
|
|
|
@@ -240,8 +244,8 @@ Generate a 20-character progress bar:
|
|
|
240
244
|
```
|
|
241
245
|
|
|
242
246
|
Use Unicode block characters:
|
|
243
|
-
- Filled: full block
|
|
244
|
-
- Empty: light shade
|
|
247
|
+
- Filled: `█` (full block, U+2588)
|
|
248
|
+
- Empty: `░` (light shade, U+2591)
|
|
245
249
|
|
|
246
250
|
### Status Indicators
|
|
247
251
|
|
|
@@ -263,57 +267,59 @@ Based on the project state, suggest the single most logical next action:
|
|
|
263
267
|
|
|
264
268
|
```
|
|
265
269
|
1. Is there paused work (.continue-here.md)?
|
|
266
|
-
YES
|
|
270
|
+
YES → "Resume your work: `/pbr:resume`"
|
|
267
271
|
|
|
268
272
|
2. Is there a verification with gaps?
|
|
269
|
-
YES
|
|
273
|
+
YES → "Fix verification gaps: `/pbr:plan {N} --gaps`"
|
|
270
274
|
|
|
271
275
|
3. Is the current phase planned but not built?
|
|
272
|
-
YES
|
|
276
|
+
YES → "Build the current phase: `/pbr:build {N}`"
|
|
273
277
|
|
|
274
278
|
4. Is the current phase built but not reviewed?
|
|
275
|
-
YES
|
|
279
|
+
YES → "Review what was built: `/pbr:review {N}`"
|
|
276
280
|
|
|
277
281
|
5. Is the current phase verified (complete)?
|
|
278
|
-
YES
|
|
279
|
-
YES
|
|
280
|
-
YES
|
|
281
|
-
YES
|
|
282
|
-
NO
|
|
283
|
-
NO
|
|
284
|
-
NO
|
|
282
|
+
YES → Is there a next phase?
|
|
283
|
+
YES → Was next phase already planned?
|
|
284
|
+
YES → Does it need re-planning? (dependency phase changed)
|
|
285
|
+
YES → "Re-plan with updated context: `/pbr:plan {N+1}`"
|
|
286
|
+
NO → "Build the next phase: `/pbr:build {N+1}`"
|
|
287
|
+
NO → "Plan the next phase: `/pbr:plan {N+1}`"
|
|
288
|
+
NO → Check for existing `*-MILESTONE-AUDIT.md` in `.planning/`:\n IF audit passed → "All phases complete and audited! `/pbr:milestone complete` to archive and tag."\n IF audit has gaps → "Audit found gaps. `/pbr:milestone gaps` to address them."\n IF no audit → "All phases complete! `/pbr:milestone audit` to verify cross-phase integration (recommended), then `/pbr:milestone complete`."
|
|
285
289
|
|
|
286
290
|
6. Is the current phase not started?
|
|
287
|
-
YES
|
|
288
|
-
YES
|
|
289
|
-
NO
|
|
291
|
+
YES → Has it been discussed?
|
|
292
|
+
YES → "Plan this phase: `/pbr:plan {N}`"
|
|
293
|
+
NO → "Start with a discussion: `/pbr:discuss {N}` or jump to `/pbr:plan {N}`"
|
|
290
294
|
|
|
291
295
|
7. Active debug sessions?
|
|
292
|
-
YES
|
|
296
|
+
YES → "Continue debugging: `/pbr:debug`"
|
|
293
297
|
|
|
294
298
|
8. Nothing active?
|
|
295
|
-
|
|
299
|
+
→ "Start your project: `/pbr:begin`"
|
|
296
300
|
```
|
|
297
301
|
|
|
298
302
|
**If only one reasonable next action exists**, present it with branded routing:
|
|
299
303
|
|
|
300
304
|
```
|
|
301
|
-
---
|
|
302
305
|
|
|
303
|
-
|
|
306
|
+
|
|
307
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
308
|
+
║ ▶ NEXT UP ║
|
|
309
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
304
310
|
|
|
305
311
|
**{brief explanation}**
|
|
306
312
|
|
|
307
313
|
`{suggested command}`
|
|
308
314
|
|
|
309
|
-
|
|
315
|
+
<sub>`/clear` first → fresh context window</sub>
|
|
316
|
+
|
|
310
317
|
|
|
311
|
-
---
|
|
312
318
|
```
|
|
313
319
|
|
|
314
320
|
**If multiple reasonable next actions exist** (2-3 alternatives), use the **action-routing** pattern (see `skills/shared/gate-prompts.md`):
|
|
315
321
|
|
|
316
|
-
|
|
322
|
+
Use AskUserQuestion:
|
|
317
323
|
question: "What would you like to do next?"
|
|
318
324
|
header: "Next Step"
|
|
319
325
|
options:
|
|
@@ -347,7 +353,10 @@ Build options dynamically from the decision tree results. Always include "Someth
|
|
|
347
353
|
|
|
348
354
|
### All phases complete
|
|
349
355
|
- Celebrate briefly: "All phases complete!"
|
|
350
|
-
-
|
|
356
|
+
- Check for existing audit report: look for `*-MILESTONE-AUDIT.md` in `.planning/`
|
|
357
|
+
- **If audit exists and passed:** Suggest `/pbr:milestone complete` to archive (audit already done)
|
|
358
|
+
- **If audit exists with gaps:** Suggest `/pbr:milestone gaps` to address issues
|
|
359
|
+
- **If no audit exists:** Suggest `/pbr:milestone audit` to verify cross-phase integration (recommended first)
|
|
351
360
|
- Then: `/pbr:milestone complete` to archive the milestone and tag it
|
|
352
361
|
- Or: `/pbr:milestone new` to start the next set of features
|
|
353
362
|
|
|
@@ -382,7 +391,7 @@ This skill should be fast. It's a status check, not an analysis.
|
|
|
382
391
|
- Read plan file contents (just check existence)
|
|
383
392
|
- Run Bash commands except for Step 1b (2-3 `pbr-tools` calls only when `local_llm.enabled: true`, skipped entirely otherwise)
|
|
384
393
|
- Modify any files
|
|
385
|
-
-
|
|
394
|
+
- Spawn any Task agents
|
|
386
395
|
|
|
387
396
|
---
|
|
388
397
|
|
|
@@ -4,7 +4,7 @@ description: "Generate tests for completed phase code. Detects test framework an
|
|
|
4
4
|
argument-hint: "<phase-number>"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
**STOP — DO NOT READ THIS FILE. You are already reading it. This prompt was injected into your context by
|
|
7
|
+
**STOP — DO NOT READ THIS FILE. You are already reading it. This prompt was injected into your context by Claude Code's plugin system. Using the Read tool on this SKILL.md file wastes ~7,600 tokens. Begin executing Step 1 immediately.**
|
|
8
8
|
|
|
9
9
|
# /pbr:test — Post-Phase Test Generation
|
|
10
10
|
|
|
@@ -126,7 +126,7 @@ Output: tests/auth/login.test.js
|
|
|
126
126
|
For each target file (or batch of related files), spawn an executor agent:
|
|
127
127
|
|
|
128
128
|
```
|
|
129
|
-
Spawn
|
|
129
|
+
Spawn subagent_type: "pbr:executor"
|
|
130
130
|
|
|
131
131
|
Task: Generate tests for the following file(s):
|
|
132
132
|
|
|
@@ -4,6 +4,8 @@ description: "File-based persistent todos. Add, list, complete — survives sess
|
|
|
4
4
|
argument-hint: "add <description> | list [theme] | done <NNN> | work <NNN>"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
**STOP — DO NOT READ THIS FILE. You are already reading it. This prompt was injected into your context by Claude Code's plugin system. Using the Read tool on this SKILL.md file wastes ~7,600 tokens. Begin executing Step 1 immediately.**
|
|
8
|
+
|
|
7
9
|
## Step 0 — Immediate Output
|
|
8
10
|
|
|
9
11
|
**Before ANY tool calls**, display this banner:
|