@sienklogic/plan-build-run 2.53.0 → 2.55.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 +34 -0
- package/package.json +2 -2
- package/plugins/codex-pbr/agents/audit.md +223 -0
- package/plugins/codex-pbr/agents/codebase-mapper.md +196 -0
- package/plugins/codex-pbr/agents/debugger.md +245 -0
- package/plugins/codex-pbr/agents/dev-sync.md +142 -0
- package/plugins/codex-pbr/agents/executor.md +429 -0
- package/plugins/codex-pbr/agents/general.md +131 -0
- package/plugins/codex-pbr/agents/integration-checker.md +178 -0
- package/plugins/codex-pbr/agents/plan-checker.md +253 -0
- package/plugins/codex-pbr/agents/planner.md +343 -0
- package/plugins/codex-pbr/agents/researcher.md +253 -0
- package/plugins/codex-pbr/agents/synthesizer.md +183 -0
- package/plugins/codex-pbr/agents/verifier.md +352 -0
- package/plugins/codex-pbr/commands/audit.md +5 -0
- package/plugins/codex-pbr/commands/begin.md +5 -0
- package/plugins/codex-pbr/commands/build.md +5 -0
- package/plugins/codex-pbr/commands/config.md +5 -0
- package/plugins/codex-pbr/commands/continue.md +5 -0
- package/plugins/codex-pbr/commands/dashboard.md +5 -0
- package/plugins/codex-pbr/commands/debug.md +5 -0
- package/plugins/codex-pbr/commands/discuss.md +5 -0
- package/plugins/codex-pbr/commands/do.md +5 -0
- package/plugins/codex-pbr/commands/explore.md +5 -0
- package/plugins/codex-pbr/commands/health.md +5 -0
- package/plugins/codex-pbr/commands/help.md +5 -0
- package/plugins/codex-pbr/commands/import.md +5 -0
- package/plugins/codex-pbr/commands/milestone.md +5 -0
- package/plugins/codex-pbr/commands/note.md +5 -0
- package/plugins/codex-pbr/commands/pause.md +5 -0
- package/plugins/codex-pbr/commands/plan.md +5 -0
- package/plugins/codex-pbr/commands/quick.md +5 -0
- package/plugins/codex-pbr/commands/resume.md +5 -0
- package/plugins/codex-pbr/commands/review.md +5 -0
- package/plugins/codex-pbr/commands/scan.md +5 -0
- package/plugins/codex-pbr/commands/setup.md +5 -0
- package/plugins/codex-pbr/commands/status.md +5 -0
- package/plugins/codex-pbr/commands/statusline.md +5 -0
- package/plugins/codex-pbr/commands/test.md +5 -0
- package/plugins/codex-pbr/commands/todo.md +5 -0
- package/plugins/codex-pbr/commands/undo.md +5 -0
- package/plugins/codex-pbr/references/agent-contracts.md +324 -0
- package/plugins/codex-pbr/references/agent-teams.md +54 -0
- package/plugins/codex-pbr/references/common-bug-patterns.md +13 -0
- package/plugins/codex-pbr/references/config-reference.md +552 -0
- package/plugins/codex-pbr/references/continuation-format.md +212 -0
- package/plugins/codex-pbr/references/deviation-rules.md +112 -0
- package/plugins/codex-pbr/references/git-integration.md +256 -0
- package/plugins/codex-pbr/references/integration-patterns.md +117 -0
- package/plugins/codex-pbr/references/model-profiles.md +99 -0
- package/plugins/codex-pbr/references/model-selection.md +31 -0
- package/plugins/codex-pbr/references/pbr-tools-cli.md +400 -0
- package/plugins/codex-pbr/references/plan-authoring.md +246 -0
- package/plugins/codex-pbr/references/plan-format.md +313 -0
- package/plugins/codex-pbr/references/questioning.md +235 -0
- package/plugins/codex-pbr/references/reading-verification.md +127 -0
- package/plugins/codex-pbr/references/signal-files.md +41 -0
- package/plugins/codex-pbr/references/stub-patterns.md +160 -0
- package/plugins/codex-pbr/references/ui-formatting.md +444 -0
- package/plugins/codex-pbr/references/wave-execution.md +95 -0
- package/plugins/codex-pbr/skills/audit/SKILL.md +346 -0
- package/plugins/codex-pbr/skills/begin/SKILL.md +800 -0
- package/plugins/codex-pbr/skills/build/SKILL.md +958 -0
- package/plugins/codex-pbr/skills/config/SKILL.md +267 -0
- package/plugins/codex-pbr/skills/continue/SKILL.md +172 -0
- package/plugins/codex-pbr/skills/dashboard/SKILL.md +44 -0
- package/plugins/codex-pbr/skills/debug/SKILL.md +530 -0
- package/plugins/codex-pbr/skills/discuss/SKILL.md +355 -0
- package/plugins/codex-pbr/skills/do/SKILL.md +68 -0
- package/plugins/codex-pbr/skills/explore/SKILL.md +407 -0
- package/plugins/codex-pbr/skills/health/SKILL.md +300 -0
- package/plugins/codex-pbr/skills/help/SKILL.md +229 -0
- package/plugins/codex-pbr/skills/import/SKILL.md +538 -0
- package/plugins/codex-pbr/skills/milestone/SKILL.md +620 -0
- package/plugins/codex-pbr/skills/note/SKILL.md +215 -0
- package/plugins/codex-pbr/skills/pause/SKILL.md +258 -0
- package/plugins/codex-pbr/skills/plan/SKILL.md +650 -0
- package/plugins/codex-pbr/skills/quick/SKILL.md +417 -0
- package/plugins/codex-pbr/skills/resume/SKILL.md +403 -0
- package/plugins/codex-pbr/skills/review/SKILL.md +669 -0
- package/plugins/codex-pbr/skills/scan/SKILL.md +325 -0
- package/plugins/codex-pbr/skills/setup/SKILL.md +169 -0
- package/plugins/codex-pbr/skills/shared/commit-planning-docs.md +35 -0
- package/plugins/codex-pbr/skills/shared/config-loading.md +102 -0
- package/plugins/codex-pbr/skills/shared/context-budget.md +77 -0
- package/plugins/codex-pbr/skills/shared/context-loader-task.md +86 -0
- package/plugins/codex-pbr/skills/shared/digest-select.md +79 -0
- package/plugins/codex-pbr/skills/shared/domain-probes.md +125 -0
- package/plugins/codex-pbr/skills/shared/error-reporting.md +59 -0
- package/plugins/codex-pbr/skills/shared/gate-prompts.md +388 -0
- package/plugins/codex-pbr/skills/shared/phase-argument-parsing.md +45 -0
- package/plugins/codex-pbr/skills/shared/revision-loop.md +81 -0
- package/plugins/codex-pbr/skills/shared/state-update.md +169 -0
- package/plugins/codex-pbr/skills/shared/universal-anti-patterns.md +43 -0
- package/plugins/codex-pbr/skills/status/SKILL.md +449 -0
- package/plugins/codex-pbr/skills/statusline/SKILL.md +149 -0
- package/plugins/codex-pbr/skills/test/SKILL.md +210 -0
- package/plugins/codex-pbr/skills/todo/SKILL.md +281 -0
- package/plugins/codex-pbr/skills/undo/SKILL.md +172 -0
- package/plugins/codex-pbr/templates/CONTEXT.md.tmpl +52 -0
- package/plugins/codex-pbr/templates/INTEGRATION-REPORT.md.tmpl +167 -0
- package/plugins/codex-pbr/templates/RESEARCH-SUMMARY.md.tmpl +97 -0
- package/plugins/codex-pbr/templates/ROADMAP.md.tmpl +47 -0
- package/plugins/codex-pbr/templates/SUMMARY-complex.md.tmpl +95 -0
- package/plugins/codex-pbr/templates/SUMMARY-minimal.md.tmpl +48 -0
- package/plugins/codex-pbr/templates/SUMMARY.md.tmpl +81 -0
- package/plugins/codex-pbr/templates/VERIFICATION-DETAIL.md.tmpl +117 -0
- package/plugins/codex-pbr/templates/codebase/ARCHITECTURE.md.tmpl +98 -0
- package/plugins/codex-pbr/templates/codebase/CONCERNS.md.tmpl +93 -0
- package/plugins/codex-pbr/templates/codebase/CONVENTIONS.md.tmpl +104 -0
- package/plugins/codex-pbr/templates/codebase/INTEGRATIONS.md.tmpl +78 -0
- package/plugins/codex-pbr/templates/codebase/STACK.md.tmpl +78 -0
- package/plugins/codex-pbr/templates/codebase/STRUCTURE.md.tmpl +80 -0
- package/plugins/codex-pbr/templates/codebase/TESTING.md.tmpl +107 -0
- package/plugins/codex-pbr/templates/continue-here.md.tmpl +73 -0
- package/plugins/codex-pbr/templates/pr-body.md.tmpl +22 -0
- package/plugins/codex-pbr/templates/prompt-partials/phase-project-context.md.tmpl +37 -0
- package/plugins/codex-pbr/templates/research/ARCHITECTURE.md.tmpl +124 -0
- package/plugins/codex-pbr/templates/research/STACK.md.tmpl +71 -0
- package/plugins/codex-pbr/templates/research/SUMMARY.md.tmpl +112 -0
- package/plugins/codex-pbr/templates/research-outputs/phase-research.md.tmpl +81 -0
- package/plugins/codex-pbr/templates/research-outputs/project-research.md.tmpl +99 -0
- package/plugins/codex-pbr/templates/research-outputs/synthesis.md.tmpl +36 -0
- package/plugins/copilot-pbr/commands/setup.md +1 -1
- package/plugins/copilot-pbr/commands/undo.md +5 -0
- package/plugins/copilot-pbr/plugin.json +1 -1
- package/plugins/copilot-pbr/skills/begin/SKILL.md +170 -17
- package/plugins/copilot-pbr/skills/build/SKILL.md +73 -8
- package/plugins/copilot-pbr/skills/plan/SKILL.md +67 -17
- package/plugins/copilot-pbr/skills/review/SKILL.md +12 -1
- package/plugins/copilot-pbr/skills/setup/SKILL.md +66 -214
- package/plugins/copilot-pbr/skills/shared/context-budget.md +27 -0
- package/plugins/copilot-pbr/skills/status/SKILL.md +44 -2
- package/plugins/copilot-pbr/skills/undo/SKILL.md +172 -0
- package/plugins/cursor-pbr/.cursor-plugin/plugin.json +1 -1
- package/plugins/cursor-pbr/commands/setup.md +1 -1
- package/plugins/cursor-pbr/commands/undo.md +5 -0
- package/plugins/cursor-pbr/skills/begin/SKILL.md +170 -17
- package/plugins/cursor-pbr/skills/build/SKILL.md +73 -8
- package/plugins/cursor-pbr/skills/plan/SKILL.md +67 -17
- package/plugins/cursor-pbr/skills/review/SKILL.md +12 -1
- package/plugins/cursor-pbr/skills/setup/SKILL.md +66 -214
- package/plugins/cursor-pbr/skills/shared/context-budget.md +27 -0
- package/plugins/cursor-pbr/skills/status/SKILL.md +44 -2
- package/plugins/cursor-pbr/skills/undo/SKILL.md +173 -0
- package/plugins/jules-pbr/AGENTS.md +600 -0
- package/plugins/pbr/.claude-plugin/plugin.json +1 -1
- package/plugins/pbr/commands/setup.md +1 -1
- package/plugins/pbr/commands/undo.md +5 -0
- package/plugins/pbr/scripts/config-schema.json +5 -1
- package/plugins/pbr/scripts/lib/alternatives.js +203 -0
- package/plugins/pbr/scripts/lib/preview.js +174 -0
- package/plugins/pbr/scripts/lib/skill-section.js +99 -0
- package/plugins/pbr/scripts/lib/step-verify.js +149 -0
- package/plugins/pbr/scripts/pbr-tools.js +122 -2
- package/plugins/pbr/scripts/validate-commit.js +2 -2
- package/plugins/pbr/skills/begin/SKILL.md +170 -17
- package/plugins/pbr/skills/begin/templates/config.json.tmpl +5 -1
- package/plugins/pbr/skills/build/SKILL.md +73 -8
- package/plugins/pbr/skills/plan/SKILL.md +67 -17
- package/plugins/pbr/skills/review/SKILL.md +12 -1
- package/plugins/pbr/skills/setup/SKILL.md +66 -214
- package/plugins/pbr/skills/shared/context-budget.md +27 -0
- package/plugins/pbr/skills/status/SKILL.md +44 -2
- package/plugins/pbr/skills/undo/SKILL.md +174 -0
|
@@ -0,0 +1,444 @@
|
|
|
1
|
+
# Plan-Build-Run UI Brand & Formatting Reference
|
|
2
|
+
|
|
3
|
+
Consistent output formatting for all Plan-Build-Run skills. Every skill that produces user-facing output should follow these patterns.
|
|
4
|
+
|
|
5
|
+
## Stage Banners
|
|
6
|
+
|
|
7
|
+
Use for major workflow transitions. Always use `PLAN-BUILD-RUN` prefix.
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
11
|
+
║ PLAN-BUILD-RUN ► {STAGE NAME} ║
|
|
12
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
**Stage names (uppercase):**
|
|
16
|
+
- `QUESTIONING`
|
|
17
|
+
- `RESEARCHING`
|
|
18
|
+
- `DEFINING REQUIREMENTS`
|
|
19
|
+
- `CREATING ROADMAP`
|
|
20
|
+
- `PLANNING PHASE {N}`
|
|
21
|
+
- `EXECUTING WAVE {N}`
|
|
22
|
+
- `VERIFYING`
|
|
23
|
+
- `PHASE {N} COMPLETE ✓`
|
|
24
|
+
- `MILESTONE COMPLETE`
|
|
25
|
+
- `SCANNING CODEBASE`
|
|
26
|
+
- `DEBUGGING`
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Invocation Banners
|
|
31
|
+
|
|
32
|
+
**Every skill MUST display a branded banner as its very first output, BEFORE any file reads, state loading, or processing.** This is the user's immediate confirmation that their command was received.
|
|
33
|
+
|
|
34
|
+
Format:
|
|
35
|
+
```
|
|
36
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
37
|
+
║ PLAN-BUILD-RUN ► {SKILL NAME} ║
|
|
38
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
**Skill names (uppercase):**
|
|
42
|
+
- `STARTING PROJECT` (begin)
|
|
43
|
+
- `PLANNING PHASE {N}` (plan)
|
|
44
|
+
- `BUILDING PHASE {N}` (build)
|
|
45
|
+
- `REVIEWING PHASE {N}` (review)
|
|
46
|
+
- `QUICK TASK` (quick)
|
|
47
|
+
- `NEXT STEP` (continue)
|
|
48
|
+
- `PROJECT STATUS` (status)
|
|
49
|
+
- `RESUMING SESSION` (resume)
|
|
50
|
+
- `PAUSING SESSION` (pause)
|
|
51
|
+
- `HEALTH CHECK` (health)
|
|
52
|
+
- `SETUP` (setup)
|
|
53
|
+
- `CONFIGURATION` (config)
|
|
54
|
+
- `COMMAND REFERENCE` (help)
|
|
55
|
+
- `DISCUSSION` (discuss)
|
|
56
|
+
- `EXPLORING` (explore)
|
|
57
|
+
- `NOTE` (note)
|
|
58
|
+
- `TODO` (todo)
|
|
59
|
+
- `DEBUGGING` (debug)
|
|
60
|
+
- `SCANNING CODEBASE` (scan)
|
|
61
|
+
- `MILESTONE` (milestone)
|
|
62
|
+
- `IMPORTING PLAN` (import)
|
|
63
|
+
|
|
64
|
+
**Rules:**
|
|
65
|
+
1. The banner MUST be output BEFORE any tool calls (Read, Glob, Bash, Task)
|
|
66
|
+
2. The banner MUST be the first text the user sees
|
|
67
|
+
3. After the banner, optionally show a 1-line context summary (e.g., "Phase 3 of 7 — API Layer")
|
|
68
|
+
4. Then proceed to Step 1 (state loading, argument parsing, etc.)
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## Headers
|
|
73
|
+
|
|
74
|
+
Use these patterns for consistent visual hierarchy within sections:
|
|
75
|
+
|
|
76
|
+
```
|
|
77
|
+
## Phase 3: Authentication <- Phase-level header
|
|
78
|
+
### Plan 01: Database Schema <- Plan-level header
|
|
79
|
+
#### Task 1: Create User Table <- Task-level header
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## Status Indicators
|
|
85
|
+
|
|
86
|
+
| Status | Indicator | Usage |
|
|
87
|
+
|--------|-----------|-------|
|
|
88
|
+
| Complete | `✓` | Completed items, passed checks |
|
|
89
|
+
| Failed | `✗` | Failed verification, missing items |
|
|
90
|
+
| Pending | `○` | Not yet started |
|
|
91
|
+
| In Progress | `◐` | Currently executing |
|
|
92
|
+
| Needs Human | `?` | Requires human verification |
|
|
93
|
+
| Warning | `⚠` | Warnings, non-blocking issues |
|
|
94
|
+
| Blocked | `⊘` | Blocked by dependency |
|
|
95
|
+
| Auto-approved | `⚡` | Automatically approved (gates) |
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
## Progress Display
|
|
100
|
+
|
|
101
|
+
**Phase/milestone level:**
|
|
102
|
+
```
|
|
103
|
+
Progress: ████████░░ 80%
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
**Phase progress (detailed):**
|
|
107
|
+
```
|
|
108
|
+
Phase 3 of 5: Authentication
|
|
109
|
+
Progress: [████████░░░░░░░░░░░░] 40%
|
|
110
|
+
Plans: 2/5 complete
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
**Build progress (wave tracking):**
|
|
114
|
+
```
|
|
115
|
+
Wave 1: ✓ Plan 01, ✓ Plan 02
|
|
116
|
+
Wave 2: ◐ Plan 03 (executing)
|
|
117
|
+
Wave 3: ○ Plan 04
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
**Task level:**
|
|
121
|
+
```
|
|
122
|
+
Tasks: 2/4 complete
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
## Spawning Indicators
|
|
128
|
+
|
|
129
|
+
Show when agents are being launched:
|
|
130
|
+
|
|
131
|
+
```
|
|
132
|
+
◐ Spawning executor...
|
|
133
|
+
|
|
134
|
+
◐ Spawning 4 executors in parallel...
|
|
135
|
+
→ Plan 01: Database Schema
|
|
136
|
+
→ Plan 02: Auth Service
|
|
137
|
+
→ Plan 03: API Routes
|
|
138
|
+
→ Plan 04: Test Suite
|
|
139
|
+
|
|
140
|
+
✓ Plan 01 complete (2m 14s)
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
For research agents:
|
|
144
|
+
```
|
|
145
|
+
◐ Spawning 4 researchers in parallel...
|
|
146
|
+
→ Stack research
|
|
147
|
+
→ Features research
|
|
148
|
+
→ Architecture research
|
|
149
|
+
→ Pitfalls research
|
|
150
|
+
|
|
151
|
+
✓ Researcher complete: STACK.md written
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
## Checkpoint Boxes
|
|
157
|
+
|
|
158
|
+
User action required. Use double-line box drawing, 62-character inner width.
|
|
159
|
+
|
|
160
|
+
```
|
|
161
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
162
|
+
║ CHECKPOINT: {Type} ║
|
|
163
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
164
|
+
|
|
165
|
+
{Content}
|
|
166
|
+
|
|
167
|
+
→ {ACTION PROMPT}
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
**Types:**
|
|
171
|
+
- `CHECKPOINT: Verification Required` → `→ Type "approved" or describe issues`
|
|
172
|
+
- `CHECKPOINT: Decision Required` → `→ Select: option-a / option-b`
|
|
173
|
+
- `CHECKPOINT: Action Required` → `→ Type "done" when complete`
|
|
174
|
+
|
|
175
|
+
---
|
|
176
|
+
|
|
177
|
+
## AskUserQuestion Patterns
|
|
178
|
+
|
|
179
|
+
Structured prompts for user decision points. All gate checks use AskUserQuestion instead of
|
|
180
|
+
plain-text "Type approved" prompts. See `skills/shared/gate-prompts.md` for the full
|
|
181
|
+
pattern catalog (21 named AskUserQuestion patterns).
|
|
182
|
+
|
|
183
|
+
### Structure
|
|
184
|
+
|
|
185
|
+
```
|
|
186
|
+
AskUserQuestion:
|
|
187
|
+
question: "{contextual question}"
|
|
188
|
+
header: "{max 12 chars}"
|
|
189
|
+
options:
|
|
190
|
+
- label: "{Option 1}" description: "{What happens}"
|
|
191
|
+
- label: "{Option 2}" description: "{What happens}"
|
|
192
|
+
multiSelect: false
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
### Rules
|
|
196
|
+
|
|
197
|
+
- **Max 4 options** per call. Split into 2-step flow if more are needed.
|
|
198
|
+
- **Header max 12 characters.** Single word preferred (e.g., "Approve?", "Confirm", "Scope").
|
|
199
|
+
- **multiSelect: false** always. Plan-Build-Run gates require single selection.
|
|
200
|
+
- **Handle "Other"**: Users may type freeform text instead of selecting. Skills must handle this gracefully.
|
|
201
|
+
- **Orchestrator only**: AskUserQuestion cannot be called from subagents.
|
|
202
|
+
|
|
203
|
+
### Common Patterns
|
|
204
|
+
|
|
205
|
+
**Approval gate** (approve-revise-abort):
|
|
206
|
+
```
|
|
207
|
+
question: "Approve these plans?"
|
|
208
|
+
header: "Approve?"
|
|
209
|
+
options:
|
|
210
|
+
- label: "Approve" description: "Proceed with execution"
|
|
211
|
+
- label: "Request changes" description: "Discuss adjustments before proceeding"
|
|
212
|
+
- label: "Abort" description: "Cancel this operation"
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
**Simple confirmation** (yes-no):
|
|
216
|
+
```
|
|
217
|
+
question: "Re-plan this phase with gap context?"
|
|
218
|
+
header: "Confirm"
|
|
219
|
+
options:
|
|
220
|
+
- label: "Yes" description: "Create gap-closure plans"
|
|
221
|
+
- label: "No" description: "Skip re-planning"
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
**Category selection** (settings-category-select):
|
|
225
|
+
```
|
|
226
|
+
question: "What would you like to configure?"
|
|
227
|
+
header: "Configure"
|
|
228
|
+
options:
|
|
229
|
+
- label: "Depth" description: "quick/standard/comprehensive"
|
|
230
|
+
- label: "Model profile" description: "quality/balanced/budget/adaptive"
|
|
231
|
+
- label: "Features" description: "Toggle workflow features and gates"
|
|
232
|
+
- label: "Git settings" description: "branching strategy, commit mode"
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
**Dynamic routing** (action-routing):
|
|
236
|
+
```
|
|
237
|
+
question: "What would you like to do next?"
|
|
238
|
+
header: "Next Step"
|
|
239
|
+
options:
|
|
240
|
+
- label: "/pbr:build 3" description: "Execute phase 3 plans"
|
|
241
|
+
- label: "/pbr:review 2" description: "Verify phase 2 results"
|
|
242
|
+
- label: "Something else" description: "Enter a different command"
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
### When NOT to Use
|
|
246
|
+
|
|
247
|
+
Do not use AskUserQuestion for:
|
|
248
|
+
- Freeform text input (symptom descriptions, task descriptions, open questions)
|
|
249
|
+
- Socratic discussion (explore, discuss follow-ups)
|
|
250
|
+
- Situations with unbounded response space
|
|
251
|
+
|
|
252
|
+
Use plain conversational prompts for these cases instead.
|
|
253
|
+
|
|
254
|
+
---
|
|
255
|
+
|
|
256
|
+
## Next Up Block
|
|
257
|
+
|
|
258
|
+
Always present at end of major completions (phase complete, milestone complete, project init).
|
|
259
|
+
|
|
260
|
+
```
|
|
261
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
262
|
+
║ ▶ NEXT UP ║
|
|
263
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
264
|
+
|
|
265
|
+
**{Identifier}: {Name}** — {one-line description}
|
|
266
|
+
|
|
267
|
+
`{copy-paste command}`
|
|
268
|
+
|
|
269
|
+
<sub>`/clear` first → fresh context window</sub>
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
**Also available:**
|
|
273
|
+
- `/pbr:alternative-1` — description
|
|
274
|
+
- `/pbr:alternative-2` — description
|
|
275
|
+
|
|
276
|
+
**Shorter routing (for minor completions):**
|
|
277
|
+
```
|
|
278
|
+
What's next?
|
|
279
|
+
→ /pbr:plan 4 — plan the next phase
|
|
280
|
+
→ /pbr:review 3 — review what was just built
|
|
281
|
+
→ /pbr:status — see full project status
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
---
|
|
285
|
+
|
|
286
|
+
## Error Box
|
|
287
|
+
|
|
288
|
+
```
|
|
289
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
290
|
+
║ ERROR ║
|
|
291
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
292
|
+
|
|
293
|
+
{Error description}
|
|
294
|
+
|
|
295
|
+
**To fix:** {Resolution steps}
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
---
|
|
299
|
+
|
|
300
|
+
## Tables
|
|
301
|
+
|
|
302
|
+
Use tables for structured data:
|
|
303
|
+
|
|
304
|
+
```markdown
|
|
305
|
+
| Phase | Status | Plans | Progress |
|
|
306
|
+
|-------|--------|-------|----------|
|
|
307
|
+
| 1. Foundation | ✓ Complete | 3/3 | 100% |
|
|
308
|
+
| 2. Database | ✓ Complete | 2/2 | 100% |
|
|
309
|
+
| 3. Auth | ◐ Building | 1/3 | 33% |
|
|
310
|
+
| 4. Frontend | ○ Pending | 0/4 | 0% |
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
---
|
|
314
|
+
|
|
315
|
+
## Cost/Token Warnings
|
|
316
|
+
|
|
317
|
+
```
|
|
318
|
+
⚠ Budget check: This operation will spawn 4 agents (~400k tokens)
|
|
319
|
+
Estimated: ~20% of 5-hour window
|
|
320
|
+
Continue? [/pbr:config to adjust depth first]
|
|
321
|
+
```
|
|
322
|
+
|
|
323
|
+
---
|
|
324
|
+
|
|
325
|
+
## Completion Summary Templates
|
|
326
|
+
|
|
327
|
+
### Phase Complete
|
|
328
|
+
|
|
329
|
+
```
|
|
330
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
331
|
+
║ PLAN-BUILD-RUN ► PHASE {N} COMPLETE ✓ ║
|
|
332
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
333
|
+
|
|
334
|
+
**Phase {N}: {Name}**
|
|
335
|
+
|
|
336
|
+
{X} plans executed
|
|
337
|
+
Goal verified ✓
|
|
338
|
+
|
|
339
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
340
|
+
║ ▶ NEXT UP ║
|
|
341
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
342
|
+
|
|
343
|
+
**Phase {N+1}: {Name}** — {Goal from ROADMAP.md}
|
|
344
|
+
|
|
345
|
+
/pbr:discuss {N+1} — gather context and clarify approach
|
|
346
|
+
|
|
347
|
+
<sub>/clear first → fresh context window</sub>
|
|
348
|
+
|
|
349
|
+
**Also available:**
|
|
350
|
+
- /pbr:plan {N+1} — skip discussion, plan directly
|
|
351
|
+
- /pbr:review {N} — manual acceptance testing before continuing
|
|
352
|
+
```
|
|
353
|
+
|
|
354
|
+
### Milestone Complete
|
|
355
|
+
|
|
356
|
+
```
|
|
357
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
358
|
+
║ PLAN-BUILD-RUN ► MILESTONE COMPLETE ║
|
|
359
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
360
|
+
|
|
361
|
+
**{version}**
|
|
362
|
+
|
|
363
|
+
{N} phases completed
|
|
364
|
+
All phase goals verified ✓
|
|
365
|
+
|
|
366
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
367
|
+
║ ▶ NEXT UP ║
|
|
368
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
369
|
+
|
|
370
|
+
**Audit milestone** — verify requirements, cross-phase integration, E2E flows
|
|
371
|
+
|
|
372
|
+
/pbr:milestone audit
|
|
373
|
+
|
|
374
|
+
<sub>/clear first → fresh context window</sub>
|
|
375
|
+
|
|
376
|
+
**Also available:**
|
|
377
|
+
- /pbr:review — manual acceptance testing
|
|
378
|
+
- /pbr:milestone complete — archive milestone after audit passes
|
|
379
|
+
```
|
|
380
|
+
|
|
381
|
+
### Gaps Found
|
|
382
|
+
|
|
383
|
+
```
|
|
384
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
385
|
+
║ PLAN-BUILD-RUN ► PHASE {N} GAPS FOUND ⚠ ║
|
|
386
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
387
|
+
|
|
388
|
+
**Phase {N}: {Name}**
|
|
389
|
+
|
|
390
|
+
Score: {X}/{Y} must-haves verified
|
|
391
|
+
Report: .planning/phases/{phase_dir}/VERIFICATION.md
|
|
392
|
+
|
|
393
|
+
### What's Missing
|
|
394
|
+
|
|
395
|
+
{Extract gap summaries from VERIFICATION.md}
|
|
396
|
+
|
|
397
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
398
|
+
║ ▶ NEXT UP ║
|
|
399
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
400
|
+
|
|
401
|
+
**Plan gap closure** — create additional plans to complete the phase
|
|
402
|
+
|
|
403
|
+
/pbr:plan {N} --gaps
|
|
404
|
+
|
|
405
|
+
<sub>/clear first → fresh context window</sub>
|
|
406
|
+
|
|
407
|
+
**Also available:**
|
|
408
|
+
- cat .planning/phases/{phase_dir}/VERIFICATION.md — see full report
|
|
409
|
+
- /pbr:review {N} — manual testing before planning
|
|
410
|
+
```
|
|
411
|
+
|
|
412
|
+
---
|
|
413
|
+
|
|
414
|
+
## Session Banners
|
|
415
|
+
|
|
416
|
+
Use for session lifecycle transitions (pause/resume):
|
|
417
|
+
|
|
418
|
+
```
|
|
419
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
420
|
+
║ PLAN-BUILD-RUN ► SESSION RESTORED ✓ ║
|
|
421
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
422
|
+
|
|
423
|
+
Position: Phase {N} — {phase name}, Plan {M}
|
|
424
|
+
Paused: {ISO datetime}
|
|
425
|
+
Duration: {time since pause}
|
|
426
|
+
|
|
427
|
+
{Summary of where work left off}
|
|
428
|
+
```
|
|
429
|
+
|
|
430
|
+
Other session banners: `SESSION SAVED ✓` (pause), `RESUMING SESSION` (resume start).
|
|
431
|
+
|
|
432
|
+
---
|
|
433
|
+
|
|
434
|
+
## Anti-Patterns
|
|
435
|
+
|
|
436
|
+
Do NOT:
|
|
437
|
+
- Use varying box/banner widths — always 62-character inner width
|
|
438
|
+
- Use `━━━` heavy bars or `───` thin dividers for banners/sections — use `╔═╗║╚═╝` boxes
|
|
439
|
+
- Mix banner styles (`===`, `---`, `***`) with double-line boxes
|
|
440
|
+
- Skip `PLAN-BUILD-RUN ►` prefix in stage banners
|
|
441
|
+
- Use random emoji (only for milestone complete, `✓` for phase complete)
|
|
442
|
+
- Skip the "Next Up" block after major completions
|
|
443
|
+
- Reference non-Plan-Build-Run commands (always use `/pbr:*` commands)
|
|
444
|
+
- Use non-Plan-Build-Run branding in banners
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
# Wave-Based Execution
|
|
2
|
+
|
|
3
|
+
How Plan-Build-Run parallelizes plan execution within a phase while respecting dependencies.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## What Are Waves?
|
|
8
|
+
|
|
9
|
+
Waves are dependency-based groupings of plans within a phase. Plans in the same wave have no dependencies on each other and can execute in parallel. Plans in later waves depend on earlier waves completing first.
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
Wave 1: [plan-01, plan-02] (no dependencies, can run in parallel)
|
|
13
|
+
Wave 2: [plan-03] (depends on wave 1 plans)
|
|
14
|
+
Wave 3: [plan-04, plan-05] (depends on wave 2)
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## How Wave Numbers Are Assigned
|
|
18
|
+
|
|
19
|
+
Wave numbers come from the `depends_on` field in each plan's YAML frontmatter:
|
|
20
|
+
|
|
21
|
+
```yaml
|
|
22
|
+
---
|
|
23
|
+
plan: "03-01"
|
|
24
|
+
wave: 1
|
|
25
|
+
depends_on: [] # No dependencies → Wave 1
|
|
26
|
+
---
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
```yaml
|
|
30
|
+
---
|
|
31
|
+
plan: "03-03"
|
|
32
|
+
wave: 2
|
|
33
|
+
depends_on: [03-01] # Depends on Wave 1 plan → Wave 2
|
|
34
|
+
---
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
**Rules**:
|
|
38
|
+
- Wave 1 plans must have `depends_on: []`
|
|
39
|
+
- Wave 2+ plans must depend only on plans from earlier waves
|
|
40
|
+
- No plan depends on a plan in the same wave (that would require sequential execution within the wave)
|
|
41
|
+
|
|
42
|
+
## Execution Order
|
|
43
|
+
|
|
44
|
+
1. All Wave 1 plans execute (in parallel if enabled)
|
|
45
|
+
2. Wait for all Wave 1 plans to complete
|
|
46
|
+
3. All Wave 2 plans execute (in parallel if enabled)
|
|
47
|
+
4. Repeat until all waves complete
|
|
48
|
+
|
|
49
|
+
## Parallelization Config
|
|
50
|
+
|
|
51
|
+
Controlled by `config.json`:
|
|
52
|
+
|
|
53
|
+
```json
|
|
54
|
+
{
|
|
55
|
+
"parallelization": {
|
|
56
|
+
"enabled": true,
|
|
57
|
+
"plan_level": true,
|
|
58
|
+
"max_concurrent_agents": 3
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
| Setting | Effect |
|
|
64
|
+
|---------|--------|
|
|
65
|
+
| `enabled: false` | All plans execute sequentially, regardless of wave |
|
|
66
|
+
| `plan_level: true` | Plans within a wave run in parallel |
|
|
67
|
+
| `max_concurrent_agents` | Cap on simultaneous executor agents (default: 3) |
|
|
68
|
+
|
|
69
|
+
When `enabled: false` or `plan_level: false`, plans execute one at a time within each wave, in plan ID order.
|
|
70
|
+
|
|
71
|
+
## Git Lock Handling
|
|
72
|
+
|
|
73
|
+
When multiple executors run in parallel, git lock conflicts can occur. Executors handle this with a retry pattern:
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
git commit -m "message" || (sleep 2 && git commit -m "message") || (sleep 2 && git commit -m "message")
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
Maximum 3 attempts with 2-second delays between retries.
|
|
80
|
+
|
|
81
|
+
## Checkpoint Manifest
|
|
82
|
+
|
|
83
|
+
The build skill tracks wave progress in `.checkpoint-manifest.json`:
|
|
84
|
+
|
|
85
|
+
```json
|
|
86
|
+
{
|
|
87
|
+
"plans": ["03-01", "03-02", "03-03"],
|
|
88
|
+
"checkpoints_resolved": ["03-01", "03-02"],
|
|
89
|
+
"wave": 2,
|
|
90
|
+
"commit_log": [...],
|
|
91
|
+
"last_good_commit": "abc1234"
|
|
92
|
+
}
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
On crash/resume, the manifest tells the build skill which plans are complete and which wave to resume from.
|