@sienklogic/plan-build-run 2.22.0 → 2.22.2

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.
Files changed (64) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/package.json +1 -1
  3. package/plugins/copilot-pbr/hooks/hooks.json +0 -12
  4. package/plugins/copilot-pbr/plugin.json +1 -1
  5. package/plugins/copilot-pbr/skills/begin/SKILL.md +2 -41
  6. package/plugins/copilot-pbr/skills/build/SKILL.md +4 -84
  7. package/plugins/copilot-pbr/skills/config/SKILL.md +1 -1
  8. package/plugins/copilot-pbr/skills/continue/SKILL.md +1 -1
  9. package/plugins/copilot-pbr/skills/help/SKILL.md +30 -0
  10. package/plugins/copilot-pbr/skills/milestone/SKILL.md +1 -1
  11. package/plugins/copilot-pbr/skills/quick/SKILL.md +4 -1
  12. package/plugins/copilot-pbr/skills/review/SKILL.md +4 -96
  13. package/plugins/copilot-pbr/skills/setup/SKILL.md +17 -6
  14. package/plugins/cursor-pbr/.cursor-plugin/plugin.json +1 -1
  15. package/plugins/cursor-pbr/hooks/hooks.json +0 -10
  16. package/plugins/cursor-pbr/skills/begin/SKILL.md +2 -41
  17. package/plugins/cursor-pbr/skills/build/SKILL.md +4 -84
  18. package/plugins/cursor-pbr/skills/config/SKILL.md +1 -1
  19. package/plugins/cursor-pbr/skills/continue/SKILL.md +1 -1
  20. package/plugins/cursor-pbr/skills/help/SKILL.md +30 -0
  21. package/plugins/cursor-pbr/skills/milestone/SKILL.md +1 -1
  22. package/plugins/cursor-pbr/skills/quick/SKILL.md +4 -1
  23. package/plugins/cursor-pbr/skills/review/SKILL.md +4 -96
  24. package/plugins/cursor-pbr/skills/setup/SKILL.md +17 -6
  25. package/plugins/pbr/.claude-plugin/plugin.json +1 -1
  26. package/plugins/pbr/hooks/hooks.json +0 -10
  27. package/plugins/pbr/scripts/check-cross-plugin-sync.js +1 -1
  28. package/plugins/pbr/scripts/check-phase-boundary.js +2 -2
  29. package/plugins/pbr/scripts/check-roadmap-sync.js +1 -1
  30. package/plugins/pbr/scripts/check-subagent-output.js +1 -1
  31. package/plugins/pbr/scripts/log-tool-failure.js +1 -1
  32. package/plugins/pbr/scripts/post-write-dispatch.js +8 -0
  33. package/plugins/pbr/scripts/pre-bash-dispatch.js +2 -2
  34. package/plugins/pbr/scripts/validate-task.js +1 -1
  35. package/plugins/pbr/skills/begin/SKILL.md +2 -44
  36. package/plugins/pbr/skills/build/SKILL.md +4 -99
  37. package/plugins/pbr/skills/config/SKILL.md +1 -1
  38. package/plugins/pbr/skills/continue/SKILL.md +1 -1
  39. package/plugins/pbr/skills/help/SKILL.md +30 -0
  40. package/plugins/pbr/skills/milestone/SKILL.md +1 -1
  41. package/plugins/pbr/skills/quick/SKILL.md +4 -1
  42. package/plugins/pbr/skills/review/SKILL.md +4 -102
  43. package/plugins/pbr/skills/setup/SKILL.md +17 -6
  44. package/plugins/copilot-pbr/references/agent-interactions.md +0 -135
  45. package/plugins/copilot-pbr/references/planning-config.md +0 -214
  46. package/plugins/copilot-pbr/references/subagent-coordination.md +0 -120
  47. package/plugins/copilot-pbr/skills/shared/error-recovery-strategies.md +0 -51
  48. package/plugins/copilot-pbr/skills/shared/error-reporting.md +0 -81
  49. package/plugins/copilot-pbr/skills/shared/progress-display.md +0 -53
  50. package/plugins/copilot-pbr/skills/shared/state-loading.md +0 -63
  51. package/plugins/cursor-pbr/references/agent-interactions.md +0 -135
  52. package/plugins/cursor-pbr/references/planning-config.md +0 -214
  53. package/plugins/cursor-pbr/references/subagent-coordination.md +0 -120
  54. package/plugins/cursor-pbr/skills/shared/error-recovery-strategies.md +0 -51
  55. package/plugins/cursor-pbr/skills/shared/error-reporting.md +0 -81
  56. package/plugins/cursor-pbr/skills/shared/progress-display.md +0 -53
  57. package/plugins/cursor-pbr/skills/shared/state-loading.md +0 -63
  58. package/plugins/pbr/references/agent-interactions.md +0 -134
  59. package/plugins/pbr/references/planning-config.md +0 -213
  60. package/plugins/pbr/references/subagent-coordination.md +0 -119
  61. package/plugins/pbr/skills/shared/error-recovery-strategies.md +0 -51
  62. package/plugins/pbr/skills/shared/error-reporting.md +0 -81
  63. package/plugins/pbr/skills/shared/progress-display.md +0 -53
  64. package/plugins/pbr/skills/shared/state-loading.md +0 -62
@@ -117,6 +117,23 @@ Display the following reference to the user:
117
117
  | `/pbr:dashboard --port <N>` | Launch dashboard on a specific port. |
118
118
  | `/pbr:statusline` | Install or configure the PBR status line in Claude Code. |
119
119
 
120
+ ## Choose Your Command
121
+
122
+ Not sure which command to use? Follow this guide:
123
+
124
+ | I want to... | Command |
125
+ |--------------|---------|
126
+ | Start a new project | `/pbr:begin` |
127
+ | Fix a bug or investigate an error | `/pbr:debug` |
128
+ | Think through an idea or approach | `/pbr:explore` |
129
+ | Do a small task (≤3 files) | `/pbr:quick` |
130
+ | Plan a complex change (4+ files) | `/pbr:plan <N>` |
131
+ | See where I am and what's next | `/pbr:status` |
132
+ | Auto-execute the next step | `/pbr:continue` |
133
+ | Describe something and let PBR route it | `/pbr:do <description>` |
134
+ | Lock decisions for a specific phase | `/pbr:discuss <N>` |
135
+ | Check project health | `/pbr:health` |
136
+
120
137
  ## Typical Workflow
121
138
 
122
139
  ```
@@ -130,6 +147,19 @@ Display the following reference to the user:
130
147
  /pbr:milestone complete ← Archive when done
131
148
  ```
132
149
 
150
+ **Shortcut**: After `/pbr:begin`, run `/pbr:continue` repeatedly — it auto-advances through plan → build → review → next phase, stopping at milestones and errors.
151
+
152
+ ## status vs continue vs do
153
+
154
+ | | `/pbr:status` | `/pbr:continue` | `/pbr:do <text>` |
155
+ |-|---------------|-----------------|-------------------|
156
+ | **Purpose** | Dashboard — show progress, suggest next | Auto-execute the next logical step | Route freeform text to a skill |
157
+ | **Reads state?** | Yes (full scan) | Yes (minimal) | No |
158
+ | **Modifies files?** | Never | Yes (via delegation) | Depends on routed skill |
159
+ | **Asks questions?** | If multiple options | Never — fully automatic | Only if ambiguous |
160
+ | **Use when...** | You want to see where you are before deciding | You trust PBR to pick and run the next step | You'd rather describe a task in plain English |
161
+ | **Hard stops** | N/A | Milestones, checkpoints, errors, verification gaps | N/A |
162
+
133
163
  ## Quick Reference
134
164
 
135
165
  - **Context strategy**: `aggressive` (delegate everything) | `balanced` | `minimal` (run inline)
@@ -235,7 +235,7 @@ Dry-run of milestone completion — shows what would happen without making any c
235
235
  6. **Display summary:**
236
236
  ```
237
237
  ╔══════════════════════════════════════════════════════════════╗
238
- ║ MILESTONE PREVIEW — v{version}
238
+ PLAN-BUILD-RUN ► MILESTONE PREVIEW — v{version}
239
239
  ╚══════════════════════════════════════════════════════════════╝
240
240
 
241
241
  Phases to archive: {count}
@@ -275,7 +275,10 @@ Files: {list of files changed}
275
275
 
276
276
  **If partial:**
277
277
  ```
278
- ⚠ Quick Task {NNN}: {description}
278
+ ╔══════════════════════════════════════════════════════════════╗
279
+ ║ PLAN-BUILD-RUN ► QUICK TASK {NNN} PARTIAL ⚠ ║
280
+ ╚══════════════════════════════════════════════════════════════╝
281
+
279
282
  Completed: {N} of {M} tasks
280
283
  Failed task: {task name} — {failure reason}
281
284
 
@@ -543,103 +543,11 @@ Delete `.planning/.active-skill` if it exists. This must happen on all paths (su
543
543
 
544
544
  ## Completion
545
545
 
546
- After review completes, always present a clear next action:
546
+ After review completes, always present a clear next action using the completion banners from Read `references/ui-formatting.md` § "Completion Summary Templates":
547
547
 
548
- **If verified (not final phase):**
549
-
550
- Display the "Phase Complete" banner inline:
551
- ```
552
- ╔══════════════════════════════════════════════════════════════╗
553
- ║ PLAN-BUILD-RUN ► PHASE {N} COMPLETE ║
554
- ╚══════════════════════════════════════════════════════════════╝
555
-
556
- **Phase {N}: {Name}**
557
-
558
- {X} plans executed
559
- Goal verified
560
- ```
561
-
562
- Then the branded "Next Up" block:
563
- ```
564
- ---
565
-
566
- ## Next Up
567
-
568
- **Phase {N+1}: {Name}** — {Goal from ROADMAP.md}
569
-
570
- `/pbr:plan {N+1}`
571
-
572
- `/clear` first for a fresh context window
573
-
574
- ---
575
-
576
- **Also available:**
577
- - `/pbr:discuss {N+1}` — talk through details before planning
578
- - `/pbr:status` — see full project status
579
-
580
- ---
581
- ```
582
-
583
- **If gaps remain:**
584
- ```
585
- ╔══════════════════════════════════════════════════════════════╗
586
- ║ PLAN-BUILD-RUN ► PHASE {N} GAPS FOUND ║
587
- ╚══════════════════════════════════════════════════════════════╝
588
-
589
- **Phase {N}: {name}** — {count} gaps remaining
590
-
591
- ---
592
-
593
- ## Next Up
594
-
595
- **Fix gaps** — diagnose and create fix plans
596
-
597
- `/pbr:review {N} --auto-fix`
598
-
599
- `/clear` first for a fresh context window
600
-
601
- ---
602
-
603
- **Also available:**
604
- - `/pbr:plan {N} --gaps` — create fix plans manually
605
- - Fix manually, then `/pbr:review {N}`
606
-
607
- ---
608
- ```
609
-
610
- **If final phase:**
611
-
612
- Display the "Milestone Complete" banner inline:
613
- ```
614
- ╔══════════════════════════════════════════════════════════════╗
615
- ║ PLAN-BUILD-RUN ► MILESTONE COMPLETE ║
616
- ╚══════════════════════════════════════════════════════════════╝
617
-
618
- {N} phases completed
619
- All phase goals verified
620
- ```
621
-
622
- Then:
623
- ```
624
- ---
625
-
626
- ## Next Up
627
-
628
- **Audit milestone** — verify cross-phase integration
629
-
630
- `/pbr:milestone audit`
631
-
632
- `/clear` first for a fresh context window
633
-
634
- ---
635
-
636
- **Also available:**
637
- - `/pbr:milestone complete` — archive this milestone and tag it
638
- - `/pbr:milestone new` — start planning next features
639
- - `/pbr:status` — see final project status
640
-
641
- ---
642
- ```
548
+ - **If verified (not final phase):** Use the "Phase Complete" template. Fill in phase number, name, plan count, and next phase details.
549
+ - **If gaps remain:** Use the "Gaps Found" template. Fill in phase number, name, gap count, and gap summaries.
550
+ - **If final phase:** Use the "Milestone Complete" template. Fill in phase count.
643
551
 
644
552
  ---
645
553
 
@@ -273,18 +273,29 @@ Run a quick health check:
273
273
  Display results:
274
274
 
275
275
  ```
276
- Setup Complete!
276
+ ╔══════════════════════════════════════════════════════════════╗
277
+ ║ PLAN-BUILD-RUN ► SETUP COMPLETE ✓ ║
278
+ ╚══════════════════════════════════════════════════════════════╝
277
279
 
278
280
  Project: {cwd basename}
279
281
  Model profile: {balanced/quality/budget}
280
282
  Depth: {quick/standard/comprehensive}
281
283
  Features: {list of enabled non-default features}
282
284
 
283
- Next steps:
284
- /pbr:begin — Full project setup with requirements and roadmap
285
- /pbr:scan — Analyze existing codebase (if adding to existing project)
286
- /pbr:help — Command reference
287
- /pbr:configFine-tune individual settings
285
+ ╔══════════════════════════════════════════════════════════════╗
286
+ NEXT UP ║
287
+ ╚══════════════════════════════════════════════════════════════╝
288
+
289
+ **Start your project** define requirements and create a roadmap
290
+
291
+ `/pbr:begin`
292
+
293
+ <sub>`/clear` first → fresh context window</sub>
294
+
295
+ **Also available:**
296
+ - `/pbr:scan` — analyze existing codebase (if adding to existing project)
297
+ - `/pbr:config` — fine-tune individual settings
298
+ - `/pbr:help` — command reference
288
299
  ```
289
300
 
290
301
  ---
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pbr",
3
- "version": "2.22.0",
3
+ "version": "2.22.2",
4
4
  "description": "Plan-Build-Run — Structured development workflow for Claude Code. Solves context rot through disciplined subagent delegation, structured planning, atomic execution, and goal-backward verification.",
5
5
  "author": {
6
6
  "name": "SienkLogic",
@@ -24,16 +24,6 @@
24
24
  }
25
25
  ]
26
26
  },
27
- {
28
- "matcher": "Write|Edit",
29
- "hooks": [
30
- {
31
- "type": "command",
32
- "command": "node -e \"var r=process.env.CLAUDE_PLUGIN_ROOT||'',m=r.match(/^\\/([a-zA-Z])\\/(.*)/);if(m)r=m[1]+String.fromCharCode(58)+String.fromCharCode(92)+m[2];require(require('path').resolve(r,'scripts','run-hook.js'))\" post-write-quality.js",
33
- "statusMessage": "Running quality checks..."
34
- }
35
- ]
36
- },
37
27
  {
38
28
  "matcher": "Task",
39
29
  "hooks": [
@@ -65,7 +65,7 @@ function checkCrossPluginSync(data) {
65
65
  return null;
66
66
  }
67
67
 
68
- const msg = `Advisory: Cross-plugin sync may be needed. Changed pbr files without cursor-pbr/copilot-pbr counterparts:\n${missingCounterparts.map(f => ` - ${f}`).join('\n')}`;
68
+ const msg = `[Advisory] Cross-plugin sync required. These pbr files were changed without matching cursor-pbr/copilot-pbr updates:\n${missingCounterparts.map(f => ` - ${f}`).join('\n')}\nTo fix: copy each changed file to the matching path in plugins/cursor-pbr/ and plugins/copilot-pbr/, applying plugin-specific adjustments. Run: npm test -- tests/cross-plugin-compat.test.js to verify.`;
69
69
  logHook('check-cross-plugin-sync', 'PreToolUse', 'warn', { missingCounterparts });
70
70
 
71
71
  return { additionalContext: msg };
@@ -102,7 +102,7 @@ function main() {
102
102
  process.exit(2);
103
103
  } else {
104
104
  const output = {
105
- additionalContext: `Warning: editing phase ${filePhase} file but current phase is ${currentPhase}. Ensure this cross-phase edit is intentional.`
105
+ additionalContext: `[Advisory] Cross-phase edit: modifying phase ${filePhase} file while current phase is ${currentPhase}. If unintentional: check STATE.md to confirm correct phase. If intentional (e.g. backfilling docs): no action needed. To suppress: set safety.enforce_phase_boundaries: false in config.json.`
106
106
  };
107
107
  process.stdout.write(JSON.stringify(output));
108
108
  }
@@ -181,7 +181,7 @@ function checkBoundary(data) {
181
181
  return {
182
182
  exitCode: 0,
183
183
  output: {
184
- additionalContext: `Warning: editing phase ${filePhase} file but current phase is ${currentPhase}. Ensure this cross-phase edit is intentional.`
184
+ additionalContext: `[Advisory] Cross-phase edit: modifying phase ${filePhase} file while current phase is ${currentPhase}. If unintentional: check STATE.md to confirm correct phase. If intentional (e.g. backfilling docs): no action needed. To suppress: set safety.enforce_phase_boundaries: false in config.json.`
185
185
  }
186
186
  };
187
187
  }
@@ -121,7 +121,7 @@ function main() {
121
121
  if (!stateInfo || !stateInfo.phase || !stateInfo.status) {
122
122
  logHook('check-roadmap-sync', 'PostToolUse', 'skip', { reason: 'could not parse STATE.md' });
123
123
  const output = {
124
- additionalContext: '[Roadmap Sync] Could not parse phase/status from STATE.md ensure it contains **Phase**: and **Status**: fields.'
124
+ additionalContext: '[Roadmap Sync — WARN] Could not parse STATE.md: missing **Phase**: or **Status**: fields. Expected format: "**Phase**: 3 of 8" and "**Status**: Planning". To fix: run /pbr:health for a guided repair, or manually add the missing fields to .planning/STATE.md.'
125
125
  };
126
126
  process.stdout.write(JSON.stringify(output));
127
127
  process.exit(0);
@@ -436,7 +436,7 @@ function main() {
436
436
  found: 'none'
437
437
  });
438
438
  const output = {
439
- additionalContext: `Warning: Agent ${agentType} completed but no ${outputSpec.description} was found. The agent may have failed silently. Check agent output for errors.`
439
+ additionalContext: `[WARN] Agent ${agentType} completed but no ${outputSpec.description} was found. Likely causes: (1) agent hit an error mid-run, (2) wrong working directory. To fix: re-run the parent skill — the executor gate will block until the output is present. Check the Task() output above for error details.`
440
440
  };
441
441
  process.stdout.write(JSON.stringify(output));
442
442
  } else if (skillWarnings.length > 0) {
@@ -55,7 +55,7 @@ async function main() {
55
55
  // Provide recovery hints for Bash failures (most common actionable failure)
56
56
  if (toolName === 'Bash' && !isInterrupt) {
57
57
  const output = {
58
- additionalContext: 'Bash command failed. If this is a recurring issue, consider using /pbr:debug for systematic investigation.'
58
+ additionalContext: '[Tool Failure] Bash command failed. To investigate: check the error output above for permission/path issues. For recurring failures: /pbr:debug for systematic investigation.'
59
59
  };
60
60
  process.stdout.write(JSON.stringify(output));
61
61
  }
@@ -21,6 +21,7 @@
21
21
  const { checkPlanWrite, checkStateWrite } = require('./check-plan-format');
22
22
  const { checkSync } = require('./check-roadmap-sync');
23
23
  const { checkStateSync } = require('./check-state-sync');
24
+ const { checkQuality } = require('./post-write-quality');
24
25
 
25
26
  // Conditionally import validateRoadmap (may not exist yet if PLAN-01 hasn't landed)
26
27
  let validateRoadmap;
@@ -109,6 +110,13 @@ function main() {
109
110
  process.exit(0);
110
111
  }
111
112
 
113
+ // Quality checks (Prettier, tsc, console.log detection) — consolidated from post-write-quality.js
114
+ const qualityResult = checkQuality(data);
115
+ if (qualityResult) {
116
+ process.stdout.write(JSON.stringify(qualityResult.output));
117
+ process.exit(0);
118
+ }
119
+
112
120
  process.exit(0);
113
121
  } catch (_e) {
114
122
  // Don't block on parse errors
@@ -88,12 +88,12 @@ function main() {
88
88
  // Warn about touching production config files
89
89
  if (/\b(production|prod)\b.*\.(json|ya?ml|env|conf|cfg)\b/i.test(command) ||
90
90
  /\.(json|ya?ml|env|conf|cfg)\b.*\b(production|prod)\b/i.test(command)) {
91
- warnings.push('command references production config files');
91
+ warnings.push('command references production config files — verify you are not in a live environment');
92
92
  }
93
93
 
94
94
  // Warn about database operations
95
95
  if (/\b(DROP|TRUNCATE|DELETE\s+FROM|ALTER\s+TABLE)\b/i.test(command)) {
96
- warnings.push('destructive database operation detected — verify target');
96
+ warnings.push('destructive database operation (DROP/TRUNCATE/DELETE/ALTER) — verify correct database is targeted and a backup exists');
97
97
  }
98
98
 
99
99
  if (warnings.length > 0) {
@@ -49,7 +49,7 @@ function checkTask(data) {
49
49
 
50
50
  // Check description exists and is non-empty
51
51
  if (!description || (typeof description === 'string' && !description.trim())) {
52
- warnings.push('Task() called without a description. Descriptions help track agent purpose.');
52
+ warnings.push('Task() called without a description. Descriptions are required for audit logging and skill enforcement. Add a short description (3-5 words), e.g.: "Build phase 3 executor".');
53
53
  } else if (typeof description === 'string') {
54
54
  // Check description length
55
55
  if (description.length > MAX_DESCRIPTION_LENGTH) {
@@ -530,51 +530,9 @@ Delete `.planning/.active-skill` if it exists. This must happen on all paths (su
530
530
 
531
531
  ## Completion
532
532
 
533
- After all steps complete, present the final summary:
533
+ After all steps complete, present the final summary using the stage banner format from Read `references/ui-formatting.md`:
534
534
 
535
- Use the branded stage banner from `references/ui-formatting.md`:
536
-
537
- ```
538
- ╔══════════════════════════════════════════════════════════════╗
539
- ║ PLAN-BUILD-RUN ► PROJECT INITIALIZED ✓ ║
540
- ╚══════════════════════════════════════════════════════════════╝
541
-
542
- **{name}**
543
-
544
- {core value one-liner}
545
-
546
- Roadmap: {N} phases
547
- 1. {Phase 1 name}
548
- 2. {Phase 2 name}
549
- ...
550
-
551
- Requirements: {N} committed, {M} deferred, {K} out-of-scope
552
- ```
553
-
554
- Then use the "Next Up" routing block:
555
- ```
556
-
557
-
558
- ╔══════════════════════════════════════════════════════════════╗
559
- ║ ▶ NEXT UP ║
560
- ╚══════════════════════════════════════════════════════════════╝
561
-
562
- **Phase 1: {Name}** — {one-line goal}
563
-
564
- `/pbr:discuss 1`
565
-
566
- <sub>`/clear` first → fresh context window</sub>
567
-
568
-
569
-
570
- **Also available:**
571
- - `/pbr:explore` — open-ended exploration before planning
572
- - `/pbr:plan 1` — jump straight to planning Phase 1
573
- - `/pbr:milestone new` — add a second milestone with new phases
574
- - `/pbr:config` — adjust workflow settings
575
-
576
-
577
- ```
535
+ Display the `PROJECT INITIALIZED ✓` banner with project name, core value, phase list, and requirement counts. Then display the "Next Up" block (see § "Next Up Block" in ui-formatting.md) pointing to `/pbr:discuss 1` with alternatives: `/pbr:explore`, `/pbr:plan 1`, `/pbr:milestone new`, `/pbr:config`.
578
536
 
579
537
  ---
580
538
 
@@ -809,106 +809,11 @@ Total files modified: {count}
809
809
  Deviations: {count}
810
810
  ```
811
811
 
812
- Then present the appropriate branded banner:
812
+ Then present the appropriate branded banner from Read `references/ui-formatting.md` § "Completion Summary Templates":
813
813
 
814
- **If `passed` + more phases:**
815
- ```
816
- ╔══════════════════════════════════════════════════════════════╗
817
- ║ PLAN-BUILD-RUN ► PHASE {N} COMPLETE ✓ ║
818
- ╚══════════════════════════════════════════════════════════════╝
819
-
820
- **Phase {N}: {Name}**
821
-
822
- {X} plans executed
823
- Goal verified ✓
824
-
825
-
826
-
827
- ╔══════════════════════════════════════════════════════════════╗
828
- ║ ▶ NEXT UP ║
829
- ╚══════════════════════════════════════════════════════════════╝
830
-
831
- **Phase {N+1}: {Name}** — {Goal from ROADMAP.md}
832
-
833
- `/pbr:plan {N+1}`
834
-
835
- <sub>`/clear` first → fresh context window</sub>
836
-
837
-
838
-
839
- **Also available:**
840
- - `/pbr:review {N}` — manual acceptance testing before continuing
841
- - `/pbr:discuss {N+1}` — talk through the next phase before planning
842
- - `/pbr:status` — see full project status
843
-
844
-
845
- ```
846
-
847
- **If `passed` + last phase:**
848
- ```
849
- ╔══════════════════════════════════════════════════════════════╗
850
- ║ PLAN-BUILD-RUN ► MILESTONE COMPLETE 🎉 ║
851
- ╚══════════════════════════════════════════════════════════════╝
852
-
853
- {N} phases completed
854
- All phase goals verified ✓
855
-
856
-
857
-
858
- ╔══════════════════════════════════════════════════════════════╗
859
- ║ ▶ NEXT UP ║
860
- ╚══════════════════════════════════════════════════════════════╝
861
-
862
- **Audit milestone** — verify requirements, cross-phase integration, E2E flows
863
-
864
- `/pbr:milestone audit`
865
-
866
- <sub>`/clear` first → fresh context window</sub>
867
-
868
-
869
-
870
- **Also available:**
871
- - `/pbr:review` — manual acceptance testing
872
- - `/pbr:milestone complete` — archive milestone after audit passes
873
-
874
-
875
- ```
876
-
877
- **If `gaps_found`:**
878
- ```
879
- ╔══════════════════════════════════════════════════════════════╗
880
- ║ PLAN-BUILD-RUN ► PHASE {N} GAPS FOUND ⚠ ║
881
- ╚══════════════════════════════════════════════════════════════╝
882
-
883
- **Phase {N}: {Name}**
884
-
885
- Score: {X}/{Y} must-haves verified
886
- Report: .planning/phases/{phase_dir}/VERIFICATION.md
887
-
888
- ### What's Missing
889
-
890
- {Extract gap summaries from VERIFICATION.md}
891
-
892
-
893
-
894
- ╔══════════════════════════════════════════════════════════════╗
895
- ║ ▶ NEXT UP ║
896
- ╚══════════════════════════════════════════════════════════════╝
897
-
898
- **Plan gap closure** — create additional plans to complete the phase
899
-
900
- `/pbr:plan {N} --gaps`
901
-
902
- <sub>`/clear` first → fresh context window</sub>
903
-
904
-
905
-
906
- **Also available:**
907
- - `cat .planning/phases/{phase_dir}/VERIFICATION.md` — see full report
908
- - `/pbr:review {N}` — manual testing before planning
909
-
910
-
911
- ```
814
+ - **If `passed` + more phases:** Use the "Phase Complete" template. Fill in phase number, name, plan count, and next phase details.
815
+ - **If `passed` + last phase:** Use the "Milestone Complete" template. Fill in phase count.
816
+ - **If `gaps_found`:** Use the "Gaps Found" template. Fill in phase number, name, score, and gap summaries from VERIFICATION.md.
912
817
 
913
818
  **8g. Display USER-SETUP.md (conditional):**
914
819
 
@@ -26,7 +26,7 @@ Reads and writes `.planning/config.json`. Interactive configuration with AskUser
26
26
 
27
27
  ## References
28
28
 
29
- - `references/planning-config.md` — Full config.json schema (54 fields, 16 feature toggles, validation rules)
29
+ - `references/config-reference.md` — Full config.json schema (54 fields, 16 feature toggles, validation rules)
30
30
  - `references/model-profiles.md` — Model selection guide for agent spawning
31
31
 
32
32
  ## Flow
@@ -8,7 +8,7 @@ allowed-tools: Read, Write, Bash, Glob, Grep, Task, Skill
8
8
 
9
9
  # /pbr:continue — Action-Oriented Resumption
10
10
 
11
- You are running the **continue** skill. Unlike `/pbr:resume` which shows status and suggests actions, `/pbr:continue` determines and EXECUTES the next logical step automatically.
11
+ You are running the **continue** skill. Unlike `/pbr:status` which shows the dashboard and suggests the next action, `/pbr:continue` determines and EXECUTES the next logical step automatically. Stops safely at milestones, checkpoints, errors, and verification gaps.
12
12
 
13
13
  This skill runs **inline** and may delegate to other skills via Task().
14
14
 
@@ -120,6 +120,23 @@ Display the following reference to the user:
120
120
  | `/pbr:dashboard --port <N>` | Launch dashboard on a specific port. |
121
121
  | `/pbr:statusline` | Install or configure the PBR status line in Claude Code. |
122
122
 
123
+ ## Choose Your Command
124
+
125
+ Not sure which command to use? Follow this guide:
126
+
127
+ | I want to... | Command |
128
+ |--------------|---------|
129
+ | Start a new project | `/pbr:begin` |
130
+ | Fix a bug or investigate an error | `/pbr:debug` |
131
+ | Think through an idea or approach | `/pbr:explore` |
132
+ | Do a small task (≤3 files) | `/pbr:quick` |
133
+ | Plan a complex change (4+ files) | `/pbr:plan <N>` |
134
+ | See where I am and what's next | `/pbr:status` |
135
+ | Auto-execute the next step | `/pbr:continue` |
136
+ | Describe something and let PBR route it | `/pbr:do <description>` |
137
+ | Lock decisions for a specific phase | `/pbr:discuss <N>` |
138
+ | Check project health | `/pbr:health` |
139
+
123
140
  ## Typical Workflow
124
141
 
125
142
  ```
@@ -133,6 +150,19 @@ Display the following reference to the user:
133
150
  /pbr:milestone complete ← Archive when done
134
151
  ```
135
152
 
153
+ **Shortcut**: After `/pbr:begin`, run `/pbr:continue` repeatedly — it auto-advances through plan → build → review → next phase, stopping at milestones and errors.
154
+
155
+ ## status vs continue vs do
156
+
157
+ | | `/pbr:status` | `/pbr:continue` | `/pbr:do <text>` |
158
+ |-|---------------|-----------------|-------------------|
159
+ | **Purpose** | Dashboard — show progress, suggest next | Auto-execute the next logical step | Route freeform text to a skill |
160
+ | **Reads state?** | Yes (full scan) | Yes (minimal) | No |
161
+ | **Modifies files?** | Never | Yes (via delegation) | Depends on routed skill |
162
+ | **Asks questions?** | If multiple options | Never — fully automatic | Only if ambiguous |
163
+ | **Use when...** | You want to see where you are before deciding | You trust PBR to pick and run the next step | You'd rather describe a task in plain English |
164
+ | **Hard stops** | N/A | Milestones, checkpoints, errors, verification gaps | N/A |
165
+
136
166
  ## Quick Reference
137
167
 
138
168
  - **Context strategy**: `aggressive` (delegate everything) | `balanced` | `minimal` (run inline)
@@ -239,7 +239,7 @@ Dry-run of milestone completion — shows what would happen without making any c
239
239
  6. **Display summary:**
240
240
  ```
241
241
  ╔══════════════════════════════════════════════════════════════╗
242
- ║ MILESTONE PREVIEW — v{version}
242
+ PLAN-BUILD-RUN ► MILESTONE PREVIEW — v{version}
243
243
  ╚══════════════════════════════════════════════════════════════╝
244
244
 
245
245
  Phases to archive: {count}
@@ -281,7 +281,10 @@ Files: {list of files changed}
281
281
 
282
282
  **If partial:**
283
283
  ```
284
- ⚠ Quick Task {NNN}: {description}
284
+ ╔══════════════════════════════════════════════════════════════╗
285
+ ║ PLAN-BUILD-RUN ► QUICK TASK {NNN} PARTIAL ⚠ ║
286
+ ╚══════════════════════════════════════════════════════════════╝
287
+
285
288
  Completed: {N} of {M} tasks
286
289
  Failed task: {task name} — {failure reason}
287
290