@sienklogic/plan-build-run 2.50.0 → 2.52.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 +27 -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 -4
- 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-anti-patterns.md +0 -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/pbr-rules.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/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 +79 -93
- 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 -1
- 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-anti-patterns.md +0 -1
- package/plugins/cursor-pbr/references/agent-teams.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/pbr-rules.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/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 +81 -93
- 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/scripts/context-budget-check.js +13 -1
- package/plugins/pbr/scripts/lib/core.js +53 -1
- 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 +48 -31
- 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
|
@@ -3,6 +3,8 @@ name: review
|
|
|
3
3
|
description: "Verify the build matched the plan. Automated checks + walkthrough with you."
|
|
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
|
# /pbr:review — Phase Review and Verification
|
|
7
9
|
|
|
8
10
|
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.
|
|
@@ -12,7 +14,7 @@ You are the orchestrator for `/pbr:review`. This skill verifies that what was bu
|
|
|
12
14
|
Reference: `skills/shared/context-budget.md` for the universal orchestrator rules.
|
|
13
15
|
|
|
14
16
|
Additionally for this skill:
|
|
15
|
-
- **Minimize** reading
|
|
17
|
+
- **Minimize** reading subagent output — read only VERIFICATION.md frontmatter for summaries
|
|
16
18
|
|
|
17
19
|
## Step 0 — Immediate Output
|
|
18
20
|
|
|
@@ -33,7 +35,7 @@ Where `{N}` is the phase number from `$ARGUMENTS`. Then proceed to Step 1.
|
|
|
33
35
|
|
|
34
36
|
### Event-Driven Auto-Verification
|
|
35
37
|
|
|
36
|
-
When `features.goal_verification` is enabled and depth is "standard" or "comprehensive", event
|
|
38
|
+
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.
|
|
37
39
|
|
|
38
40
|
**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).
|
|
39
41
|
|
|
@@ -64,20 +66,22 @@ Execute these steps in order.
|
|
|
64
66
|
|
|
65
67
|
1. Parse `$ARGUMENTS` for phase number and `--auto-fix` flag
|
|
66
68
|
2. Read `.planning/config.json`
|
|
67
|
-
**CRITICAL: Write .active-skill NOW.** Write the text "review" to `.planning/.active-skill` using the Write tool.
|
|
69
|
+
**CRITICAL (hook-enforced): Write .active-skill NOW.** Write the text "review" to `.planning/.active-skill` using the Write tool.
|
|
68
70
|
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.
|
|
69
71
|
4. Validate:
|
|
70
72
|
- Phase directory exists at `.planning/phases/{NN}-{slug}/`
|
|
71
73
|
- SUMMARY.md files exist (phase has been built)
|
|
72
74
|
- PLAN.md files exist (needed for must-have extraction)
|
|
73
75
|
5. If no phase number given, read current phase from `.planning/STATE.md`
|
|
74
|
-
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).
|
|
76
|
+
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).
|
|
75
77
|
|
|
76
78
|
**Validation errors — use branded error boxes:**
|
|
77
79
|
|
|
78
80
|
If no SUMMARY.md files:
|
|
79
81
|
```
|
|
80
|
-
|
|
82
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
83
|
+
║ ERROR ║
|
|
84
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
81
85
|
|
|
82
86
|
Phase {N} hasn't been built yet.
|
|
83
87
|
|
|
@@ -86,7 +90,9 @@ Phase {N} hasn't been built yet.
|
|
|
86
90
|
|
|
87
91
|
If no PLAN.md files:
|
|
88
92
|
```
|
|
89
|
-
|
|
93
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
94
|
+
║ ERROR ║
|
|
95
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
90
96
|
|
|
91
97
|
Phase {N} has no plans.
|
|
92
98
|
|
|
@@ -114,30 +120,35 @@ Check if a VERIFICATION.md already exists from `/pbr:build`'s auto-verification
|
|
|
114
120
|
|
|
115
121
|
### Step 3: Automated Verification (delegated)
|
|
116
122
|
|
|
117
|
-
**Depth profile gate:** Before
|
|
123
|
+
**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."
|
|
118
124
|
|
|
119
125
|
#### Team Review Mode
|
|
120
126
|
|
|
121
127
|
If `--teams` flag is present OR `config.parallelization.use_teams` is true:
|
|
122
128
|
|
|
123
129
|
1. Create team output directory: `.planning/phases/{NN}-{slug}/team/` (if not exists)
|
|
124
|
-
2. Display to the user:
|
|
130
|
+
2. Display to the user: `◐ Spawning 3 verifiers in parallel (functional, security, performance)...`
|
|
125
131
|
|
|
126
|
-
|
|
132
|
+
Spawn THREE verifier agents in parallel using Task():
|
|
127
133
|
|
|
128
134
|
**Agent 1 -- Functional Reviewer**:
|
|
129
|
-
-
|
|
135
|
+
- subagent_type: "pbr:verifier"
|
|
136
|
+
- 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`."
|
|
130
137
|
|
|
131
138
|
**Agent 2 -- Security Auditor**:
|
|
132
|
-
-
|
|
139
|
+
- subagent_type: "pbr:verifier"
|
|
140
|
+
- 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`."
|
|
133
141
|
|
|
134
142
|
**Agent 3 -- Performance Analyst**:
|
|
135
|
-
-
|
|
143
|
+
- subagent_type: "pbr:verifier"
|
|
144
|
+
- 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`."
|
|
136
145
|
|
|
137
146
|
3. Wait for all three to complete
|
|
138
|
-
4. Display to the user:
|
|
147
|
+
4. Display to the user: `◐ Spawning synthesizer...`
|
|
139
148
|
|
|
140
|
-
|
|
149
|
+
Spawn synthesizer:
|
|
150
|
+
- subagent_type: "pbr:synthesizer"
|
|
151
|
+
- 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."
|
|
141
152
|
5. Proceed to UAT walkthrough with the unified VERIFICATION.md
|
|
142
153
|
|
|
143
154
|
If teams not enabled, proceed with existing single-verifier flow.
|
|
@@ -146,11 +157,19 @@ Reference: `references/agent-teams.md`
|
|
|
146
157
|
|
|
147
158
|
#### Single-Verifier Flow (default)
|
|
148
159
|
|
|
149
|
-
Display to the user:
|
|
160
|
+
Display to the user: `◐ Spawning verifier...`
|
|
150
161
|
|
|
151
|
-
|
|
162
|
+
Spawn a verifier Task() to run three-layer checks:
|
|
152
163
|
|
|
153
|
-
|
|
164
|
+
```
|
|
165
|
+
Task({
|
|
166
|
+
subagent_type: "pbr:verifier",
|
|
167
|
+
// After verifier completes, check for: ## VERIFICATION COMPLETE
|
|
168
|
+
prompt: <verifier prompt>
|
|
169
|
+
})
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
**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.
|
|
154
173
|
|
|
155
174
|
#### Verifier Prompt Template
|
|
156
175
|
|
|
@@ -159,7 +178,7 @@ Read `skills/review/templates/verifier-prompt.md.tmpl` and use its content as th
|
|
|
159
178
|
**Prepend this block to the verifier prompt before sending:**
|
|
160
179
|
```
|
|
161
180
|
<files_to_read>
|
|
162
|
-
CRITICAL: Read these files BEFORE any other action:
|
|
181
|
+
CRITICAL (no hook): Read these files BEFORE any other action:
|
|
163
182
|
1. .planning/phases/{NN}-{slug}/PLAN-*.md — must-haves to verify against
|
|
164
183
|
2. .planning/phases/{NN}-{slug}/SUMMARY-*.md — executor build summaries
|
|
165
184
|
3. .planning/phases/{NN}-{slug}/VERIFICATION.md — prior verification results (if exists)
|
|
@@ -178,7 +197,7 @@ Wait for the verifier to complete.
|
|
|
178
197
|
**After the verifier completes**, read VERIFICATION.md frontmatter and display a quick summary before the full results:
|
|
179
198
|
|
|
180
199
|
```
|
|
181
|
-
Verifier: {passed}/{total} must-haves verified
|
|
200
|
+
✓ Verifier: {passed}/{total} must-haves verified
|
|
182
201
|
```
|
|
183
202
|
|
|
184
203
|
Then show a brief table of must-haves with pass/fail status:
|
|
@@ -186,15 +205,15 @@ Then show a brief table of must-haves with pass/fail status:
|
|
|
186
205
|
```
|
|
187
206
|
| Must-Have | Status |
|
|
188
207
|
|-----------|--------|
|
|
189
|
-
| {name} |
|
|
190
|
-
| {name} |
|
|
208
|
+
| {name} | ✓ |
|
|
209
|
+
| {name} | ✗ |
|
|
191
210
|
```
|
|
192
211
|
|
|
193
212
|
Then display the overall verdict (`PASSED`, `GAPS FOUND`, or `HUMAN NEEDED`) before proceeding to the full results presentation.
|
|
194
213
|
|
|
195
214
|
### Step 3a: Spot-Check Verifier Output
|
|
196
215
|
|
|
197
|
-
CRITICAL: Verify verifier output before proceeding.
|
|
216
|
+
CRITICAL (no hook): Verify verifier output before proceeding.
|
|
198
217
|
|
|
199
218
|
1. **VERIFICATION.md exists**: Check `.planning/phases/{NN}-{slug}/VERIFICATION.md` exists on disk
|
|
200
219
|
2. **Status field present**: Read VERIFICATION.md frontmatter — verify `status` field is present and is one of: pass, fail, partial
|
|
@@ -232,16 +251,16 @@ The same gaps have persisted across {attempt} verification attempts.
|
|
|
232
251
|
Remaining gaps: {count}
|
|
233
252
|
```
|
|
234
253
|
|
|
235
|
-
Use
|
|
254
|
+
Use AskUserQuestion (pattern: multi-option-escalation from `skills/shared/gate-prompts.md`):
|
|
236
255
|
question: "Phase {N} has failed verification {attempt} times with {count} persistent gaps. How should we proceed?"
|
|
237
256
|
header: "Escalate"
|
|
238
257
|
options:
|
|
239
258
|
- label: "Accept gaps" description: "Mark as complete-with-gaps and move on"
|
|
240
259
|
- label: "Re-plan" description: "Go back to /pbr:plan {N} with gap context"
|
|
241
|
-
- label: "Debug" description: "
|
|
260
|
+
- label: "Debug" description: "Spawn /pbr:debug to investigate root causes"
|
|
242
261
|
- label: "Retry" description: "Try one more verification cycle"
|
|
243
262
|
|
|
244
|
-
- **If user selects "Accept gaps":** Follow up with a second
|
|
263
|
+
- **If user selects "Accept gaps":** Follow up with a second AskUserQuestion:
|
|
245
264
|
question: "Accept all gaps or pick specific ones to override?"
|
|
246
265
|
header: "Override?"
|
|
247
266
|
options:
|
|
@@ -348,7 +367,7 @@ If all automated checks and UAT items passed:
|
|
|
348
367
|
4. Update the `Status` column to `verified`
|
|
349
368
|
5. Update the `Completed` column to the current date (YYYY-MM-DD)
|
|
350
369
|
6. Save the file — do NOT skip this step
|
|
351
|
-
2. Update `.planning/STATE.md` **(CRITICAL — update BOTH frontmatter AND body):**
|
|
370
|
+
2. Update `.planning/STATE.md` **(CRITICAL (no hook) — update BOTH frontmatter AND body):**
|
|
352
371
|
- Frontmatter: `status: "verified"`, `progress_percent`, `last_activity`, `last_command`
|
|
353
372
|
- Body `## Current Position`: `Status:` line, `Last activity:` line, `Progress:` bar
|
|
354
373
|
- These MUST stay in sync — see `skills/shared/state-update.md`
|
|
@@ -358,11 +377,12 @@ If all automated checks and UAT items passed:
|
|
|
358
377
|
|
|
359
378
|
Use the branded output from `references/ui-formatting.md`:
|
|
360
379
|
- If more phases remain: use the "Phase Complete" banner template
|
|
361
|
-
- If this was the last phase: use the "Milestone Complete" banner template
|
|
380
|
+
- If this was the last phase in the current milestone: use the "Milestone Complete" banner template
|
|
381
|
+
- **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.
|
|
362
382
|
- Always include the "Next Up" routing block
|
|
363
383
|
|
|
364
384
|
4. If `gates.confirm_transition` is true in config AND `features.auto_advance` is NOT true:
|
|
365
|
-
- Use
|
|
385
|
+
- Use AskUserQuestion (pattern: yes-no from `skills/shared/gate-prompts.md`):
|
|
366
386
|
question: "Phase {N} verified. Ready to move to Phase {N+1}?"
|
|
367
387
|
header: "Continue?"
|
|
368
388
|
options:
|
|
@@ -372,9 +392,9 @@ Use the branded output from `references/ui-formatting.md`:
|
|
|
372
392
|
- If "No" or "Other": stop
|
|
373
393
|
|
|
374
394
|
5. **If `features.auto_advance` is `true` AND `mode` is `autonomous` AND more phases remain:**
|
|
375
|
-
- Chain directly to plan
|
|
376
|
-
- This continues the build
|
|
377
|
-
- **If this is the last phase:** HARD STOP — do NOT auto-advance past milestone boundaries
|
|
395
|
+
- Chain directly to plan: `Skill({ skill: "pbr:plan", args: "{N+1}" })`
|
|
396
|
+
- This continues the build→review→plan cycle automatically
|
|
397
|
+
- **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."
|
|
378
398
|
|
|
379
399
|
#### Gaps Found WITH `--auto-fix`
|
|
380
400
|
|
|
@@ -382,9 +402,16 @@ If gaps were found and `--auto-fix` was specified:
|
|
|
382
402
|
|
|
383
403
|
**Step 6a: Diagnose**
|
|
384
404
|
|
|
385
|
-
Display to the user:
|
|
405
|
+
Display to the user: `◐ Spawning debugger...`
|
|
406
|
+
|
|
407
|
+
Spawn a debugger Task() to analyze each failure:
|
|
386
408
|
|
|
387
|
-
|
|
409
|
+
```
|
|
410
|
+
Task({
|
|
411
|
+
subagent_type: "pbr:debugger",
|
|
412
|
+
prompt: <debugger prompt>
|
|
413
|
+
})
|
|
414
|
+
```
|
|
388
415
|
|
|
389
416
|
##### Debugger Prompt Template
|
|
390
417
|
|
|
@@ -393,7 +420,7 @@ Read `skills/review/templates/debugger-prompt.md.tmpl` and use its content as th
|
|
|
393
420
|
**Prepend this block to the debugger prompt before sending:**
|
|
394
421
|
```
|
|
395
422
|
<files_to_read>
|
|
396
|
-
CRITICAL: Read these files BEFORE any other action:
|
|
423
|
+
CRITICAL (no hook): Read these files BEFORE any other action:
|
|
397
424
|
1. .planning/phases/{NN}-{slug}/VERIFICATION.md — gaps and failure details
|
|
398
425
|
2. .planning/phases/{NN}-{slug}/SUMMARY-*.md — what was built
|
|
399
426
|
3. .planning/phases/{NN}-{slug}/PLAN-*.md — original plan must-haves
|
|
@@ -407,9 +434,16 @@ CRITICAL: Read these files BEFORE any other action:
|
|
|
407
434
|
|
|
408
435
|
**Step 6b: Create Gap-Closure Plans**
|
|
409
436
|
|
|
410
|
-
After receiving the root cause analysis, display to the user:
|
|
437
|
+
After receiving the root cause analysis, display to the user: `◐ Spawning planner (gap closure)...`
|
|
438
|
+
|
|
439
|
+
Spawn the planner in gap-closure mode:
|
|
411
440
|
|
|
412
|
-
|
|
441
|
+
```
|
|
442
|
+
Task({
|
|
443
|
+
subagent_type: "pbr:planner",
|
|
444
|
+
prompt: <gap planner prompt>
|
|
445
|
+
})
|
|
446
|
+
```
|
|
413
447
|
|
|
414
448
|
##### Gap Planner Prompt Template
|
|
415
449
|
|
|
@@ -418,7 +452,7 @@ Read `skills/review/templates/gap-planner-prompt.md.tmpl` and use its content as
|
|
|
418
452
|
**Prepend this block to the gap planner prompt before sending:**
|
|
419
453
|
```
|
|
420
454
|
<files_to_read>
|
|
421
|
-
CRITICAL: Read these files BEFORE any other action:
|
|
455
|
+
CRITICAL (no hook): Read these files BEFORE any other action:
|
|
422
456
|
1. .planning/phases/{NN}-{slug}/VERIFICATION.md — gaps to close
|
|
423
457
|
2. .planning/phases/{NN}-{slug}/PLAN-*.md — existing plans for context
|
|
424
458
|
3. .planning/CONTEXT.md — locked decisions and constraints (if exists)
|
|
@@ -435,8 +469,8 @@ CRITICAL: Read these files BEFORE any other action:
|
|
|
435
469
|
**Step 6c: Validate gap-closure plans (conditional)**
|
|
436
470
|
|
|
437
471
|
If `features.plan_checking` is true in config:
|
|
438
|
-
- Display to the user:
|
|
439
|
-
-
|
|
472
|
+
- Display to the user: `◐ Spawning plan checker...`
|
|
473
|
+
- Spawn plan checker Task() on the new gap-closure plans
|
|
440
474
|
- Same process as `/pbr:plan` Step 6
|
|
441
475
|
|
|
442
476
|
**Step 6d: Present gap-closure plans to user**
|
|
@@ -452,7 +486,7 @@ Plans:
|
|
|
452
486
|
{plan_id}: {name} — fixes: {gap description} ({difficulty})
|
|
453
487
|
{plan_id}: {name} — fixes: {gap description} ({difficulty})
|
|
454
488
|
|
|
455
|
-
Use
|
|
489
|
+
Use AskUserQuestion (pattern: approve-revise-abort from `skills/shared/gate-prompts.md`):
|
|
456
490
|
question: "Approve these {count} gap-closure plans?"
|
|
457
491
|
header: "Approve?"
|
|
458
492
|
options:
|
|
@@ -483,7 +517,7 @@ Phase {N}: {name} — Gaps Found
|
|
|
483
517
|
2. {gap description}
|
|
484
518
|
...
|
|
485
519
|
|
|
486
|
-
Use
|
|
520
|
+
Use AskUserQuestion (pattern: multi-option-gaps from `skills/shared/gate-prompts.md`):
|
|
487
521
|
question: "{count} verification gaps need attention. How should we proceed?"
|
|
488
522
|
header: "Gaps"
|
|
489
523
|
options:
|
|
@@ -548,9 +582,11 @@ After Step 3, also check cross-phase integration:
|
|
|
548
582
|
## Error Handling
|
|
549
583
|
|
|
550
584
|
### Verifier agent fails
|
|
551
|
-
If the verifier
|
|
585
|
+
If the verifier Task() fails, display:
|
|
552
586
|
```
|
|
553
|
-
|
|
587
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
588
|
+
║ ERROR ║
|
|
589
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
554
590
|
|
|
555
591
|
Automated verification failed.
|
|
556
592
|
|
|
@@ -560,7 +596,7 @@ Fall back to manual UAT only (skip automated checks).
|
|
|
560
596
|
|
|
561
597
|
### No must-haves to check
|
|
562
598
|
If plans have empty must_haves:
|
|
563
|
-
- Warn user:
|
|
599
|
+
- Warn user: `⚠ Plans don't have defined must-haves. UAT will be based on plan descriptions only.`
|
|
564
600
|
- Use SUMMARY.md content as the basis for UAT
|
|
565
601
|
|
|
566
602
|
### User can't verify something
|
|
@@ -570,9 +606,11 @@ If user can't verify an item (e.g., needs server running, needs credentials):
|
|
|
570
606
|
- Suggest how to verify later
|
|
571
607
|
|
|
572
608
|
### Debugger fails during auto-fix
|
|
573
|
-
If the debugger
|
|
609
|
+
If the debugger Task() fails, display:
|
|
574
610
|
```
|
|
575
|
-
|
|
611
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
612
|
+
║ ERROR ║
|
|
613
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
576
614
|
|
|
577
615
|
Auto-diagnosis failed.
|
|
578
616
|
|
|
@@ -588,7 +626,7 @@ Ask user: "Would you like to proceed with gap-closure plans without root cause a
|
|
|
588
626
|
|------|---------|------|
|
|
589
627
|
| `.planning/phases/{NN}-{slug}/VERIFICATION.md` | Verification report | Step 3 (created or updated with UAT) |
|
|
590
628
|
| `.planning/phases/{NN}-{slug}/*-PLAN.md` | Gap-closure plans | Step 6b (--auto-fix only) |
|
|
591
|
-
| `.planning/ROADMAP.md` | Status
|
|
629
|
+
| `.planning/ROADMAP.md` | Status → `verified` + Completed date | Step 6 |
|
|
592
630
|
| `.planning/STATE.md` | Updated with review status | Step 6 |
|
|
593
631
|
|
|
594
632
|
---
|
|
@@ -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
|
╚══════════════════════════════════════════════════════════════╝
|
|
@@ -237,10 +240,13 @@ Then use the "Next Up" routing block:
|
|
|
237
240
|
|
|
238
241
|
<sub>`/clear` first → fresh context window</sub>
|
|
239
242
|
|
|
243
|
+
|
|
244
|
+
|
|
240
245
|
**Also available:**
|
|
241
246
|
- `/pbr:milestone new` — create a milestone to address concerns
|
|
242
247
|
- `/pbr:status` — see project status
|
|
243
248
|
|
|
249
|
+
|
|
244
250
|
```
|
|
245
251
|
|
|
246
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
|
|
|
@@ -3,7 +3,7 @@ name: test
|
|
|
3
3
|
description: "Generate tests for completed phase code. Detects test framework and targets key files."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
**STOP — DO NOT READ THIS FILE. You are already reading it. This prompt was injected into your context by
|
|
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
7
|
|
|
8
8
|
# /pbr:test — Post-Phase Test Generation
|
|
9
9
|
|
|
@@ -125,7 +125,7 @@ Output: tests/auth/login.test.js
|
|
|
125
125
|
For each target file (or batch of related files), spawn an executor agent:
|
|
126
126
|
|
|
127
127
|
```
|
|
128
|
-
Spawn
|
|
128
|
+
Spawn subagent_type: "pbr:executor"
|
|
129
129
|
|
|
130
130
|
Task: Generate tests for the following file(s):
|
|
131
131
|
|
|
@@ -3,6 +3,8 @@ name: todo
|
|
|
3
3
|
description: "File-based persistent todos. Add, list, complete — survives sessions."
|
|
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:
|