@sienklogic/plan-build-run 2.10.0 → 2.12.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 +51 -0
- package/package.json +1 -1
- package/plugins/copilot-pbr/agents/codebase-mapper.agent.md +42 -0
- package/plugins/copilot-pbr/agents/debugger.agent.md +4 -1
- package/plugins/copilot-pbr/agents/executor.agent.md +31 -1
- package/plugins/copilot-pbr/agents/integration-checker.agent.md +33 -2
- package/plugins/copilot-pbr/agents/planner.agent.md +58 -1
- package/plugins/copilot-pbr/agents/researcher.agent.md +23 -0
- package/plugins/copilot-pbr/agents/synthesizer.agent.md +24 -0
- package/plugins/copilot-pbr/agents/verifier.agent.md +35 -1
- package/plugins/copilot-pbr/plugin.json +1 -1
- package/plugins/copilot-pbr/references/agent-contracts.md +297 -0
- package/plugins/copilot-pbr/references/ui-formatting.md +38 -56
- package/plugins/copilot-pbr/skills/begin/SKILL.md +30 -7
- package/plugins/copilot-pbr/skills/build/SKILL.md +28 -31
- package/plugins/copilot-pbr/skills/config/SKILL.md +9 -12
- package/plugins/copilot-pbr/skills/continue/SKILL.md +6 -6
- package/plugins/copilot-pbr/skills/dashboard/SKILL.md +3 -3
- package/plugins/copilot-pbr/skills/debug/SKILL.md +23 -26
- package/plugins/copilot-pbr/skills/discuss/SKILL.md +20 -10
- package/plugins/copilot-pbr/skills/do/SKILL.md +3 -3
- package/plugins/copilot-pbr/skills/explore/SKILL.md +11 -14
- package/plugins/copilot-pbr/skills/health/SKILL.md +75 -19
- package/plugins/copilot-pbr/skills/help/SKILL.md +6 -6
- package/plugins/copilot-pbr/skills/import/SKILL.md +22 -18
- package/plugins/copilot-pbr/skills/milestone/SKILL.md +90 -48
- package/plugins/copilot-pbr/skills/note/SKILL.md +3 -3
- package/plugins/copilot-pbr/skills/pause/SKILL.md +11 -10
- package/plugins/copilot-pbr/skills/plan/SKILL.md +22 -9
- package/plugins/copilot-pbr/skills/plan/templates/planner-prompt.md.tmpl +1 -1
- package/plugins/copilot-pbr/skills/quick/SKILL.md +9 -12
- package/plugins/copilot-pbr/skills/resume/SKILL.md +9 -9
- package/plugins/copilot-pbr/skills/review/SKILL.md +17 -12
- package/plugins/copilot-pbr/skills/scan/SKILL.md +9 -11
- package/plugins/copilot-pbr/skills/setup/SKILL.md +31 -8
- package/plugins/copilot-pbr/skills/shared/error-reporting.md +2 -1
- package/plugins/copilot-pbr/skills/shared/progress-display.md +0 -1
- package/plugins/copilot-pbr/skills/shared/universal-anti-patterns.md +10 -6
- package/plugins/copilot-pbr/skills/status/SKILL.md +3 -3
- package/plugins/copilot-pbr/skills/statusline/SKILL.md +12 -8
- package/plugins/copilot-pbr/skills/todo/SKILL.md +51 -28
- package/plugins/cursor-pbr/.cursor-plugin/plugin.json +1 -1
- package/plugins/cursor-pbr/agents/codebase-mapper.md +42 -0
- package/plugins/cursor-pbr/agents/debugger.md +4 -1
- package/plugins/cursor-pbr/agents/executor.md +31 -1
- package/plugins/cursor-pbr/agents/integration-checker.md +33 -2
- package/plugins/cursor-pbr/agents/planner.md +58 -1
- package/plugins/cursor-pbr/agents/researcher.md +23 -0
- package/plugins/cursor-pbr/agents/synthesizer.md +24 -0
- package/plugins/cursor-pbr/agents/verifier.md +35 -1
- package/plugins/cursor-pbr/references/agent-contracts.md +297 -0
- package/plugins/cursor-pbr/references/ui-formatting.md +38 -56
- package/plugins/cursor-pbr/skills/begin/SKILL.md +30 -7
- package/plugins/cursor-pbr/skills/build/SKILL.md +28 -31
- package/plugins/cursor-pbr/skills/config/SKILL.md +9 -10
- package/plugins/cursor-pbr/skills/continue/SKILL.md +6 -6
- package/plugins/cursor-pbr/skills/dashboard/SKILL.md +3 -3
- package/plugins/cursor-pbr/skills/debug/SKILL.md +23 -23
- package/plugins/cursor-pbr/skills/discuss/SKILL.md +20 -10
- package/plugins/cursor-pbr/skills/do/SKILL.md +3 -3
- package/plugins/cursor-pbr/skills/explore/SKILL.md +11 -12
- package/plugins/cursor-pbr/skills/health/SKILL.md +75 -19
- package/plugins/cursor-pbr/skills/help/SKILL.md +6 -6
- package/plugins/cursor-pbr/skills/import/SKILL.md +22 -16
- package/plugins/cursor-pbr/skills/milestone/SKILL.md +90 -48
- package/plugins/cursor-pbr/skills/note/SKILL.md +3 -3
- package/plugins/cursor-pbr/skills/pause/SKILL.md +11 -9
- package/plugins/cursor-pbr/skills/plan/SKILL.md +22 -9
- package/plugins/cursor-pbr/skills/plan/templates/planner-prompt.md.tmpl +1 -1
- package/plugins/cursor-pbr/skills/quick/SKILL.md +9 -12
- package/plugins/cursor-pbr/skills/resume/SKILL.md +9 -9
- package/plugins/cursor-pbr/skills/review/SKILL.md +17 -12
- package/plugins/cursor-pbr/skills/scan/SKILL.md +9 -10
- package/plugins/cursor-pbr/skills/setup/SKILL.md +31 -8
- package/plugins/cursor-pbr/skills/shared/error-reporting.md +2 -1
- package/plugins/cursor-pbr/skills/shared/progress-display.md +0 -1
- package/plugins/cursor-pbr/skills/shared/universal-anti-patterns.md +10 -6
- package/plugins/cursor-pbr/skills/status/SKILL.md +3 -3
- package/plugins/cursor-pbr/skills/statusline/SKILL.md +12 -8
- package/plugins/cursor-pbr/skills/todo/SKILL.md +51 -28
- package/plugins/pbr/.claude-plugin/plugin.json +1 -1
- package/plugins/pbr/agents/codebase-mapper.md +42 -0
- package/plugins/pbr/agents/debugger.md +4 -1
- package/plugins/pbr/agents/executor.md +31 -1
- package/plugins/pbr/agents/integration-checker.md +34 -2
- package/plugins/pbr/agents/planner.md +58 -1
- package/plugins/pbr/agents/researcher.md +23 -0
- package/plugins/pbr/agents/synthesizer.md +24 -0
- package/plugins/pbr/agents/verifier.md +36 -1
- package/plugins/pbr/references/agent-contracts.md +297 -0
- package/plugins/pbr/references/ui-formatting.md +37 -54
- package/plugins/pbr/scripts/check-roadmap-sync.js +9 -1
- package/plugins/pbr/scripts/check-skill-workflow.js +11 -0
- package/plugins/pbr/scripts/check-state-sync.js +58 -0
- package/plugins/pbr/scripts/check-subagent-output.js +75 -6
- package/plugins/pbr/scripts/log-tool-failure.js +1 -1
- package/plugins/pbr/scripts/progress-tracker.js +14 -0
- package/plugins/pbr/scripts/track-context-budget.js +10 -1
- package/plugins/pbr/scripts/validate-task.js +81 -17
- package/plugins/pbr/skills/begin/SKILL.md +36 -11
- package/plugins/pbr/skills/build/SKILL.md +37 -25
- package/plugins/pbr/skills/config/SKILL.md +12 -10
- package/plugins/pbr/skills/continue/SKILL.md +11 -9
- package/plugins/pbr/skills/dashboard/SKILL.md +3 -3
- package/plugins/pbr/skills/debug/SKILL.md +29 -23
- package/plugins/pbr/skills/discuss/SKILL.md +20 -10
- package/plugins/pbr/skills/do/SKILL.md +3 -3
- package/plugins/pbr/skills/explore/SKILL.md +14 -12
- package/plugins/pbr/skills/health/SKILL.md +76 -20
- package/plugins/pbr/skills/help/SKILL.md +8 -6
- package/plugins/pbr/skills/import/SKILL.md +25 -16
- package/plugins/pbr/skills/milestone/SKILL.md +88 -45
- package/plugins/pbr/skills/note/SKILL.md +3 -3
- package/plugins/pbr/skills/pause/SKILL.md +13 -9
- package/plugins/pbr/skills/plan/SKILL.md +28 -13
- package/plugins/pbr/skills/plan/templates/planner-prompt.md.tmpl +1 -1
- package/plugins/pbr/skills/quick/SKILL.md +12 -10
- package/plugins/pbr/skills/resume/SKILL.md +11 -9
- package/plugins/pbr/skills/review/SKILL.md +35 -24
- package/plugins/pbr/skills/scan/SKILL.md +12 -10
- package/plugins/pbr/skills/setup/SKILL.md +30 -7
- package/plugins/pbr/skills/shared/error-reporting.md +2 -0
- package/plugins/pbr/skills/shared/universal-anti-patterns.md +10 -6
- package/plugins/pbr/skills/status/SKILL.md +8 -6
- package/plugins/pbr/skills/statusline/SKILL.md +12 -8
- package/plugins/pbr/skills/todo/SKILL.md +51 -28
|
@@ -8,9 +8,9 @@ description: "Save your current session state for later resumption."
|
|
|
8
8
|
**Before ANY tool calls**, display this banner:
|
|
9
9
|
|
|
10
10
|
```
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
12
|
+
║ PLAN-BUILD-RUN ► PAUSING SESSION ║
|
|
13
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
14
14
|
```
|
|
15
15
|
|
|
16
16
|
Then proceed to Step 1.
|
|
@@ -118,6 +118,8 @@ Determine the logical next action (same routing logic as `/pbr:status`):
|
|
|
118
118
|
|
|
119
119
|
### Step 4: Write .continue-here.md
|
|
120
120
|
|
|
121
|
+
**CRITICAL: Write pause state NOW before displaying confirmation. Do NOT skip this step.**
|
|
122
|
+
|
|
121
123
|
Write the handoff file to the current phase directory:
|
|
122
124
|
|
|
123
125
|
**Path:** `.planning/phases/{NN}-{phase-name}/.continue-here.md`
|
|
@@ -164,17 +166,18 @@ git commit -m "wip(planning): save session state — phase {N} plan {M}"
|
|
|
164
166
|
Display branded confirmation:
|
|
165
167
|
|
|
166
168
|
```
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
169
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
170
|
+
║ PLAN-BUILD-RUN ► SESSION SAVED ✓ ║
|
|
171
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
170
172
|
|
|
171
173
|
Position: Phase {N} — {phase name}, Plan {M}
|
|
172
174
|
Completed: {count} plans this session
|
|
173
175
|
Remaining: {count} plans in this phase
|
|
174
176
|
|
|
175
|
-
───────────────────────────────────────────────────────────────
|
|
176
177
|
|
|
177
|
-
|
|
178
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
179
|
+
║ ▶ NEXT UP ║
|
|
180
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
178
181
|
|
|
179
182
|
**Resume in your next session**
|
|
180
183
|
|
|
@@ -182,7 +185,6 @@ Remaining: {count} plans in this phase
|
|
|
182
185
|
|
|
183
186
|
<sub>`/clear` first → fresh context window</sub>
|
|
184
187
|
|
|
185
|
-
───────────────────────────────────────────────────────────────
|
|
186
188
|
```
|
|
187
189
|
|
|
188
190
|
---
|
|
@@ -21,9 +21,9 @@ Additionally for this skill:
|
|
|
21
21
|
**Before ANY tool calls**, display this banner:
|
|
22
22
|
|
|
23
23
|
```
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
25
|
+
║ PLAN-BUILD-RUN ► PLANNING PHASE {N} ║
|
|
26
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
27
27
|
```
|
|
28
28
|
|
|
29
29
|
Where `{N}` is the phase number from `$ARGUMENTS`. Then proceed to Step 1.
|
|
@@ -113,6 +113,7 @@ Reference: `skills/shared/config-loading.md` for the tooling shortcut (`state lo
|
|
|
113
113
|
|
|
114
114
|
1. Parse `$ARGUMENTS` for phase number and flags
|
|
115
115
|
2. Read `.planning/config.json` for settings (see config-loading.md for field reference)
|
|
116
|
+
**CRITICAL: Write .active-skill NOW.** Write the text "plan" to `.planning/.active-skill` using the Write tool.
|
|
116
117
|
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.
|
|
117
118
|
4. Validate:
|
|
118
119
|
- Phase exists in ROADMAP.md
|
|
@@ -472,6 +473,8 @@ Use the approve-revise-abort pattern from `skills/shared/gate-prompts.md`:
|
|
|
472
473
|
|
|
473
474
|
### Subcommand: `add`
|
|
474
475
|
|
|
476
|
+
**CRITICAL: Write .active-skill NOW.** Write the text "plan" to `.planning/.active-skill` using the Write tool.
|
|
477
|
+
|
|
475
478
|
1. Read `.planning/ROADMAP.md`
|
|
476
479
|
2. Calculate next phase number (last phase + 1)
|
|
477
480
|
3. Ask user: "What's the goal for this new phase?"
|
|
@@ -481,11 +484,14 @@ Use the approve-revise-abort pattern from `skills/shared/gate-prompts.md`:
|
|
|
481
484
|
7. Create phase directory: `.planning/phases/{NN}-{slug}/`
|
|
482
485
|
8. Update STATE.md if needed
|
|
483
486
|
9. Suggest: `/pbr:plan {N}` to plan the new phase
|
|
487
|
+
10. Delete `.planning/.active-skill` if it exists.
|
|
484
488
|
|
|
485
489
|
### Subcommand: `insert <N>`
|
|
486
490
|
|
|
487
491
|
Reference: `skills/plan/decimal-phase-calc.md` for decimal numbering rules.
|
|
488
492
|
|
|
493
|
+
**CRITICAL: Write .active-skill NOW.** Write the text "plan" to `.planning/.active-skill` using the Write tool.
|
|
494
|
+
|
|
489
495
|
1. Read `.planning/ROADMAP.md`
|
|
490
496
|
2. Calculate decimal phase number:
|
|
491
497
|
- If inserting at position 3: becomes 3.1
|
|
@@ -496,6 +502,7 @@ Reference: `skills/plan/decimal-phase-calc.md` for decimal numbering rules.
|
|
|
496
502
|
5. Create phase directory: `.planning/phases/{NN.M}-{slug}/`
|
|
497
503
|
6. Update dependencies of subsequent phases if affected
|
|
498
504
|
7. Suggest: `/pbr:plan {N.M}` to plan the new phase
|
|
505
|
+
8. Delete `.planning/.active-skill` if it exists.
|
|
499
506
|
|
|
500
507
|
### Subcommand: `remove <N>`
|
|
501
508
|
|
|
@@ -504,13 +511,15 @@ Reference: `skills/plan/decimal-phase-calc.md` for decimal numbering rules.
|
|
|
504
511
|
- Phase must exist
|
|
505
512
|
- Phase must be in `pending` or `not started` status (cannot remove completed/in-progress phases)
|
|
506
513
|
- No other phases depend on this phase (or user confirms breaking dependencies)
|
|
507
|
-
3.
|
|
508
|
-
4.
|
|
514
|
+
3. **CRITICAL: Write .active-skill NOW.** Write the text "plan" to `.planning/.active-skill` using the Write tool.
|
|
515
|
+
4. Confirm with user: "Remove Phase {N}: {name}? This will delete the phase directory and renumber subsequent phases."
|
|
516
|
+
5. If confirmed:
|
|
509
517
|
- Delete `.planning/phases/{NN}-{slug}/` directory
|
|
510
518
|
- Remove phase from ROADMAP.md
|
|
511
519
|
- Renumber subsequent phases (N+1 becomes N, etc.)
|
|
512
520
|
- Update all `depends_on` references in ROADMAP.md
|
|
513
521
|
- Update STATE.md if needed
|
|
522
|
+
6. Delete `.planning/.active-skill` if it exists.
|
|
514
523
|
|
|
515
524
|
---
|
|
516
525
|
|
|
@@ -598,13 +607,17 @@ Present remaining issues and ask user to decide: proceed or intervene.
|
|
|
598
607
|
| File | Purpose | When |
|
|
599
608
|
|------|---------|------|
|
|
600
609
|
| `.planning/phases/{NN}-{slug}/RESEARCH.md` | Phase-specific research | Step 4 |
|
|
601
|
-
| `.planning/phases/{NN}-{slug}/
|
|
610
|
+
| `.planning/phases/{NN}-{slug}/PLAN-{NN}.md` | Executable plan files | Step 5 |
|
|
602
611
|
| `.planning/CONTEXT.md` | Updated with assumptions | Step 3 (--assumptions) |
|
|
603
612
|
| `.planning/ROADMAP.md` | Plans Complete + Status -> `planned`; updated for add/insert/remove | Step 8, Subcommands |
|
|
604
613
|
| `.planning/STATE.md` | Updated with plan status | Step 8 |
|
|
605
614
|
|
|
606
615
|
---
|
|
607
616
|
|
|
617
|
+
## Cleanup
|
|
618
|
+
|
|
619
|
+
Delete `.planning/.active-skill` if it exists. This must happen on all paths (success, partial, and failure) before reporting results.
|
|
620
|
+
|
|
608
621
|
## Completion
|
|
609
622
|
|
|
610
623
|
After planning completes, present:
|
|
@@ -612,9 +625,9 @@ After planning completes, present:
|
|
|
612
625
|
Use the branded stage banner from `references/ui-formatting.md`:
|
|
613
626
|
|
|
614
627
|
```
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
628
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
629
|
+
║ PLAN-BUILD-RUN ► PLANNING PHASE {N} ║
|
|
630
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
618
631
|
|
|
619
632
|
**Phase {N}: {name}** — {plan_count} plans created
|
|
620
633
|
|
|
@@ -32,7 +32,7 @@ Key rules:
|
|
|
32
32
|
4. Every task needs all 5 elements: name, files, action, verify, done
|
|
33
33
|
5. Honor all locked decisions from CONTEXT.md
|
|
34
34
|
6. Do NOT include deferred ideas
|
|
35
|
-
7. Write plan files to: .planning/phases/{NN}-{slug}/
|
|
35
|
+
7. Write plan files to: .planning/phases/{NN}-{slug}/PLAN-{plan_num}.md
|
|
36
36
|
8. If any task requires env vars, API keys, or external service setup, note it in the task's <action> — the executor will generate USER-SETUP.md automatically
|
|
37
37
|
|
|
38
38
|
Use the Write tool to create each plan file.
|
|
@@ -18,9 +18,9 @@ This skill **spawns a single Task(agent_type: "pbr:executor")** for execution.
|
|
|
18
18
|
**Before ANY tool calls**, display this banner:
|
|
19
19
|
|
|
20
20
|
```
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
22
|
+
║ PLAN-BUILD-RUN ► QUICK TASK ║
|
|
23
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
24
24
|
```
|
|
25
25
|
|
|
26
26
|
Then proceed to Step 1.
|
|
@@ -249,17 +249,17 @@ Display results to the user with branded output:
|
|
|
249
249
|
|
|
250
250
|
**If completed:**
|
|
251
251
|
```
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
252
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
253
|
+
║ PLAN-BUILD-RUN ► QUICK TASK COMPLETE ✓ ║
|
|
254
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
255
255
|
|
|
256
256
|
**Quick Task {NNN}:** {description}
|
|
257
257
|
Commit: {hash} — {commit message}
|
|
258
258
|
Files: {list of files changed}
|
|
259
259
|
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
260
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
261
|
+
║ ▶ NEXT UP ║
|
|
262
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
263
263
|
|
|
264
264
|
**Continue your workflow** — task complete
|
|
265
265
|
|
|
@@ -267,13 +267,10 @@ Files: {list of files changed}
|
|
|
267
267
|
|
|
268
268
|
<sub>`/clear` first → fresh context window</sub>
|
|
269
269
|
|
|
270
|
-
───────────────────────────────────────────────────────────────
|
|
271
|
-
|
|
272
270
|
**Also available:**
|
|
273
271
|
- `/pbr:continue` — execute next logical step
|
|
274
272
|
- `/pbr:todo list` — see pending todos
|
|
275
273
|
|
|
276
|
-
───────────────────────────────────────────────────────────────
|
|
277
274
|
```
|
|
278
275
|
|
|
279
276
|
**If partial:**
|
|
@@ -8,9 +8,9 @@ description: "Pick up where you left off. Restores context and suggests next act
|
|
|
8
8
|
**Before ANY tool calls**, display this banner:
|
|
9
9
|
|
|
10
10
|
```
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
12
|
+
║ PLAN-BUILD-RUN ► RESUMING SESSION ║
|
|
13
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
14
14
|
```
|
|
15
15
|
|
|
16
16
|
Then proceed to Step 1.
|
|
@@ -144,9 +144,9 @@ Use the selected pause point for the rest of the resume flow.
|
|
|
144
144
|
3. Display the resume context using the branded banner:
|
|
145
145
|
|
|
146
146
|
```
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
147
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
148
|
+
║ PLAN-BUILD-RUN ► SESSION RESTORED ✓ ║
|
|
149
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
150
150
|
|
|
151
151
|
Resuming session from {pause date}
|
|
152
152
|
|
|
@@ -179,9 +179,10 @@ Blockers:
|
|
|
179
179
|
|
|
180
180
|
**If only one clear next action exists**, present it with branded routing:
|
|
181
181
|
```
|
|
182
|
-
───────────────────────────────────────────────────────────────
|
|
183
182
|
|
|
184
|
-
|
|
183
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
184
|
+
║ ▶ NEXT UP ║
|
|
185
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
185
186
|
|
|
186
187
|
**{explanation from continue-here}**
|
|
187
188
|
|
|
@@ -189,7 +190,6 @@ Blockers:
|
|
|
189
190
|
|
|
190
191
|
<sub>`/clear` first → fresh context window</sub>
|
|
191
192
|
|
|
192
|
-
───────────────────────────────────────────────────────────────
|
|
193
193
|
```
|
|
194
194
|
|
|
195
195
|
**If multiple reasonable actions exist** (e.g., the continue-here suggests one thing but the filesystem state suggests another), use the **action-routing** pattern (see `skills/shared/gate-prompts.md`):
|
|
@@ -20,9 +20,9 @@ Additionally for this skill:
|
|
|
20
20
|
**Before ANY tool calls**, display this banner:
|
|
21
21
|
|
|
22
22
|
```
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
24
|
+
║ PLAN-BUILD-RUN ► REVIEWING PHASE {N} ║
|
|
25
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
26
26
|
```
|
|
27
27
|
|
|
28
28
|
Where `{N}` is the phase number from `$ARGUMENTS`. Then proceed to Step 1.
|
|
@@ -63,6 +63,7 @@ Execute these steps in order.
|
|
|
63
63
|
|
|
64
64
|
1. Parse `$ARGUMENTS` for phase number and `--auto-fix` flag
|
|
65
65
|
2. Read `.planning/config.json`
|
|
66
|
+
**CRITICAL: Write .active-skill NOW.** Write the text "review" to `.planning/.active-skill` using the Write tool.
|
|
66
67
|
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.
|
|
67
68
|
4. Validate:
|
|
68
69
|
- Phase directory exists at `.planning/phases/{NN}-{slug}/`
|
|
@@ -536,6 +537,10 @@ Ask user: "Would you like to proceed with gap-closure plans without root cause a
|
|
|
536
537
|
|
|
537
538
|
---
|
|
538
539
|
|
|
540
|
+
## Cleanup
|
|
541
|
+
|
|
542
|
+
Delete `.planning/.active-skill` if it exists. This must happen on all paths (success, partial, and failure) before reporting results.
|
|
543
|
+
|
|
539
544
|
## Completion
|
|
540
545
|
|
|
541
546
|
After review completes, always present a clear next action:
|
|
@@ -544,9 +549,9 @@ After review completes, always present a clear next action:
|
|
|
544
549
|
|
|
545
550
|
Display the "Phase Complete" banner inline:
|
|
546
551
|
```
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
552
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
553
|
+
║ PLAN-BUILD-RUN ► PHASE {N} COMPLETE ║
|
|
554
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
550
555
|
|
|
551
556
|
**Phase {N}: {Name}**
|
|
552
557
|
|
|
@@ -577,9 +582,9 @@ Then the branded "Next Up" block:
|
|
|
577
582
|
|
|
578
583
|
**If gaps remain:**
|
|
579
584
|
```
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
585
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
586
|
+
║ PLAN-BUILD-RUN ► PHASE {N} GAPS FOUND ║
|
|
587
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
583
588
|
|
|
584
589
|
**Phase {N}: {name}** — {count} gaps remaining
|
|
585
590
|
|
|
@@ -606,9 +611,9 @@ Then the branded "Next Up" block:
|
|
|
606
611
|
|
|
607
612
|
Display the "Milestone Complete" banner inline:
|
|
608
613
|
```
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
614
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
615
|
+
║ PLAN-BUILD-RUN ► MILESTONE COMPLETE ║
|
|
616
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
612
617
|
|
|
613
618
|
{N} phases completed
|
|
614
619
|
All phase goals verified
|
|
@@ -8,9 +8,9 @@ description: "Analyze an existing codebase. Maps structure, architecture, conven
|
|
|
8
8
|
**Before ANY tool calls**, display this banner:
|
|
9
9
|
|
|
10
10
|
```
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
12
|
+
║ PLAN-BUILD-RUN ► SCANNING CODEBASE ║
|
|
13
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
14
14
|
```
|
|
15
15
|
|
|
16
16
|
Then proceed to Step 1.
|
|
@@ -177,9 +177,9 @@ Agent that failed: {focus_area} mapper
|
|
|
177
177
|
Read key findings from each file (frontmatter or first section) and display using the branded stage banner from `references/ui-formatting.md`:
|
|
178
178
|
|
|
179
179
|
```
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
180
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
181
|
+
║ PLAN-BUILD-RUN ► SCAN COMPLETE ✓ ║
|
|
182
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
183
183
|
|
|
184
184
|
Project: {type} ({scale})
|
|
185
185
|
Stack: {primary language} + {framework}
|
|
@@ -206,9 +206,10 @@ Top concerns:
|
|
|
206
206
|
|
|
207
207
|
Then use the "Next Up" routing block:
|
|
208
208
|
```
|
|
209
|
-
───────────────────────────────────────────────────────────────
|
|
210
209
|
|
|
211
|
-
|
|
210
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
211
|
+
║ ▶ NEXT UP ║
|
|
212
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
212
213
|
|
|
213
214
|
**Start a project** — use the scan results to plan your work
|
|
214
215
|
|
|
@@ -216,13 +217,11 @@ Then use the "Next Up" routing block:
|
|
|
216
217
|
|
|
217
218
|
<sub>`/clear` first → fresh context window</sub>
|
|
218
219
|
|
|
219
|
-
───────────────────────────────────────────────────────────────
|
|
220
220
|
|
|
221
221
|
**Also available:**
|
|
222
222
|
- `/pbr:milestone new` — create a milestone to address concerns
|
|
223
223
|
- `/pbr:status` — see project status
|
|
224
224
|
|
|
225
|
-
───────────────────────────────────────────────────────────────
|
|
226
225
|
```
|
|
227
226
|
|
|
228
227
|
### Step 7: Git Integration
|
|
@@ -8,9 +8,9 @@ description: "Onboarding wizard. Initialize project, select models, verify setup
|
|
|
8
8
|
**Before ANY tool calls**, display this banner:
|
|
9
9
|
|
|
10
10
|
```
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
12
|
+
║ PLAN-BUILD-RUN ► SETUP ║
|
|
13
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
14
14
|
```
|
|
15
15
|
|
|
16
16
|
Then proceed to Step 1.
|
|
@@ -21,14 +21,29 @@ You are running the **setup** skill. This is an interactive onboarding wizard th
|
|
|
21
21
|
|
|
22
22
|
---
|
|
23
23
|
|
|
24
|
-
## Step 1: Detect Project State
|
|
24
|
+
## Step 1: Detect Project State — Idempotency Guard
|
|
25
25
|
|
|
26
26
|
Check if `.planning/` directory exists in the current working directory.
|
|
27
27
|
|
|
28
28
|
**If `.planning/` exists**:
|
|
29
|
-
-
|
|
30
|
-
-
|
|
31
|
-
|
|
29
|
+
- Check for existing core files: `STATE.md`, `ROADMAP.md`, `config.json`
|
|
30
|
+
- If ANY of these exist, present a checkpoint:
|
|
31
|
+
|
|
32
|
+
Use AskUserQuestion:
|
|
33
|
+
question: "Existing project detected with {list of found files}. How should we proceed?"
|
|
34
|
+
header: "Setup"
|
|
35
|
+
options:
|
|
36
|
+
- label: "Resume" description: "Keep existing .planning/ and review configuration (recommended)"
|
|
37
|
+
- label: "Reset" description: "Archive current .planning/ to .planning.bak/ and start fresh"
|
|
38
|
+
- label: "Abort" description: "Cancel setup — keep everything as-is"
|
|
39
|
+
|
|
40
|
+
- If "Resume": Tell the user: "Keeping existing project. Reviewing configuration." Skip to Step 3 (model selection)
|
|
41
|
+
- If "Reset": Run `mv .planning .planning.bak` (creating a backup), then proceed with fresh setup below
|
|
42
|
+
- If "Abort": Display "Setup cancelled. Run `/pbr:status` to see current project state." and stop
|
|
43
|
+
|
|
44
|
+
- If `.planning/` exists but has NONE of the core files (empty or only has subdirs):
|
|
45
|
+
- Tell the user: "Found empty .planning/ directory. Proceeding with initialization."
|
|
46
|
+
- Continue to fresh setup below
|
|
32
47
|
|
|
33
48
|
**If `.planning/` does NOT exist**:
|
|
34
49
|
- Ask the user:
|
|
@@ -48,10 +63,14 @@ If "No", display: "Run `/pbr:begin` when you're ready to start a project. It inc
|
|
|
48
63
|
|
|
49
64
|
If "Yes", create the minimal `.planning/` structure:
|
|
50
65
|
|
|
66
|
+
**CRITICAL: Create .planning/ directory structure NOW. Do NOT skip this step.**
|
|
67
|
+
|
|
51
68
|
```bash
|
|
52
69
|
mkdir -p .planning/phases .planning/todos/pending .planning/todos/done .planning/logs .planning/research
|
|
53
70
|
```
|
|
54
71
|
|
|
72
|
+
**CRITICAL: Write .planning/config.json NOW. Do NOT skip this step.**
|
|
73
|
+
|
|
55
74
|
Create `.planning/config.json` with defaults:
|
|
56
75
|
```json
|
|
57
76
|
{
|
|
@@ -120,6 +139,8 @@ Create `.planning/config.json` with defaults:
|
|
|
120
139
|
}
|
|
121
140
|
```
|
|
122
141
|
|
|
142
|
+
**CRITICAL: Write .planning/STATE.md NOW. Do NOT skip this step.**
|
|
143
|
+
|
|
123
144
|
Create `.planning/STATE.md`:
|
|
124
145
|
```markdown
|
|
125
146
|
---
|
|
@@ -240,11 +261,13 @@ This project uses [Plan-Build-Run](https://github.com/SienkLogic/plan-build-run)
|
|
|
240
261
|
|
|
241
262
|
## Step 5: Verification
|
|
242
263
|
|
|
264
|
+
**CRITICAL: Run validation checks NOW to confirm setup succeeded. Do NOT skip this step.**
|
|
265
|
+
|
|
243
266
|
Run a quick health check:
|
|
244
267
|
|
|
245
268
|
1. Verify `.planning/config.json` is valid JSON
|
|
246
269
|
2. Verify `.planning/STATE.md` exists and is parseable
|
|
247
|
-
3. Verify hook scripts are accessible: `node ${
|
|
270
|
+
3. Verify hook scripts are accessible: `node ${PLUGIN_ROOT}/scripts/progress-tracker.js` from the project directory
|
|
248
271
|
4. Check that `npm test` works (if package.json exists)
|
|
249
272
|
|
|
250
273
|
Display results:
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
<!-- canonical: ../../../pbr/skills/shared/error-reporting.md -->
|
|
2
1
|
# Error Reporting Fragment
|
|
3
2
|
|
|
4
3
|
Standard error display formats for all skills. Reference `references/ui-formatting.md` for the full brand guide.
|
|
@@ -78,3 +77,5 @@ Blocked: {short reason}
|
|
|
78
77
|
```
|
|
79
78
|
|
|
80
79
|
This format is used by validate-commit.js and check-dangerous-commands.js. The `decision: "block"` and `reason` fields in the JSON output follow this pattern.
|
|
80
|
+
|
|
81
|
+
Block reasons should always include a "To fix:" line with actionable guidance so the user or agent knows how to resolve the block.
|
|
@@ -24,11 +24,15 @@ These rules prevent context rot -- quality degradation as the context window fil
|
|
|
24
24
|
8. **Never** read `.planning/logs/` files -- only the health skill reads these.
|
|
25
25
|
9. **Do not** re-read full file contents when frontmatter is sufficient -- frontmatter contains status, key_files, commits, and provides fields.
|
|
26
26
|
|
|
27
|
+
## Task/Subagent Rules (apply to every skill)
|
|
28
|
+
|
|
29
|
+
10. **Never** invoke `Skill()` inside a `Task()` subagent -- the Skill tool is not available in subagent contexts. Subagents 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
|
+
|
|
27
31
|
## Behavioral Rules (apply to every skill)
|
|
28
32
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
11. **Do not** re-litigate decisions that are already locked in CONTEXT.md -- respect locked decisions unconditionally.
|
|
34
|
+
12. **Do not** create artifacts the user did not approve -- always confirm before writing new planning documents.
|
|
35
|
+
13. **Do not** modify files outside the skill's stated scope -- check the "Files Created/Modified" table in each skill.
|
|
36
|
+
14. **Do not** suggest multiple next actions without clear priority -- one primary suggestion, alternatives listed secondary.
|
|
37
|
+
15. **Do not** use `git add .` or `git add -A` -- stage specific files only.
|
|
38
|
+
16. **Do not** include sensitive information (API keys, passwords, tokens) in planning documents or commits.
|
|
@@ -8,9 +8,9 @@ description: "Show current project status and suggest what to do next."
|
|
|
8
8
|
**Before ANY tool calls**, display this banner:
|
|
9
9
|
|
|
10
10
|
```
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
12
|
+
║ PLAN-BUILD-RUN ► PROJECT STATUS ║
|
|
13
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
14
14
|
```
|
|
15
15
|
|
|
16
16
|
Then proceed to Step 1.
|
|
@@ -11,9 +11,9 @@ argument-hint: "[install | uninstall | preview]"
|
|
|
11
11
|
**Before ANY tool calls**, display this banner:
|
|
12
12
|
|
|
13
13
|
```
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
15
|
+
║ PLAN-BUILD-RUN ► STATUS LINE ║
|
|
16
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
17
17
|
```
|
|
18
18
|
|
|
19
19
|
Then proceed to Step 1.
|
|
@@ -77,9 +77,12 @@ If "Install":
|
|
|
77
77
|
|
|
78
78
|
**CRITICAL: Use Read tool to read the file, then Write to update it. Do NOT use sed or other text manipulation on JSON files.**
|
|
79
79
|
|
|
80
|
+
**CRITICAL: Back up settings.json NOW.** Write the original content to `~/.claude/settings.json.bak` before making any changes.
|
|
81
|
+
|
|
80
82
|
1. Read `~/.claude/settings.json`
|
|
81
|
-
2.
|
|
82
|
-
3.
|
|
83
|
+
2. Write the original content to `~/.claude/settings.json.bak`
|
|
84
|
+
3. Parse the JSON
|
|
85
|
+
4. Set `statusLine` to:
|
|
83
86
|
```json
|
|
84
87
|
{
|
|
85
88
|
"type": "command",
|
|
@@ -87,7 +90,7 @@ If "Install":
|
|
|
87
90
|
}
|
|
88
91
|
```
|
|
89
92
|
Where `SCRIPT_PATH` is the resolved absolute path from Step 1. Use forward slashes even on Windows.
|
|
90
|
-
|
|
93
|
+
5. Write the updated JSON back (preserve all other settings, use 2-space indentation)
|
|
91
94
|
|
|
92
95
|
### Step 4: Verify and confirm
|
|
93
96
|
|
|
@@ -114,8 +117,9 @@ Customize per-project via .planning/config.json:
|
|
|
114
117
|
|
|
115
118
|
1. Read `~/.claude/settings.json`
|
|
116
119
|
2. If no `statusLine` key: inform user "No status line configured." and stop
|
|
117
|
-
3.
|
|
118
|
-
4.
|
|
120
|
+
3. **CRITICAL: Back up settings.json NOW.** Write the original content to `~/.claude/settings.json.bak` before making any changes.
|
|
121
|
+
4. Remove the `statusLine` key from the JSON
|
|
122
|
+
5. Write the updated file
|
|
119
123
|
5. Display: `✓ PBR status line removed. Restart Claude Code to take effect.`
|
|
120
124
|
|
|
121
125
|
---
|