@sienklogic/plan-build-run 2.9.1 → 2.11.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 +44 -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/pbr-rules.md +1 -0
- package/plugins/copilot-pbr/references/pbr-tools-cli.md +285 -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 +12 -0
- 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 +54 -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/pbr-rules.md +1 -0
- package/plugins/cursor-pbr/references/pbr-tools-cli.md +285 -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 +12 -0
- 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 +54 -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/pbr-rules.md +1 -0
- package/plugins/pbr/references/pbr-tools-cli.md +285 -0
- package/plugins/pbr/references/ui-formatting.md +37 -54
- 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 +43 -4
- package/plugins/pbr/scripts/validate-task.js +69 -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 +12 -0
- 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 +53 -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
|
@@ -0,0 +1,285 @@
|
|
|
1
|
+
# pbr-tools.js CLI Reference
|
|
2
|
+
|
|
3
|
+
Command-line interface for structured JSON operations on `.planning/` state.
|
|
4
|
+
Skills and agents call this via Bash to avoid token-expensive text parsing.
|
|
5
|
+
|
|
6
|
+
```
|
|
7
|
+
node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js <command> [args]
|
|
8
|
+
```
|
|
9
|
+
|
|
10
|
+
All commands output JSON to stdout. Errors output JSON with an `error` field to stderr (exit code 1).
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## State Commands
|
|
15
|
+
|
|
16
|
+
### `state load`
|
|
17
|
+
|
|
18
|
+
Returns full project state as a single JSON object.
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js state load
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
**Output:**
|
|
25
|
+
```json
|
|
26
|
+
{
|
|
27
|
+
"exists": true,
|
|
28
|
+
"config": { ... }, // config.json contents
|
|
29
|
+
"state": { // STATE.md frontmatter + parsed body
|
|
30
|
+
"version": 2,
|
|
31
|
+
"current_phase": "1",
|
|
32
|
+
"status": "building",
|
|
33
|
+
"progress_percent": 45,
|
|
34
|
+
"last_activity": "2025-01-15",
|
|
35
|
+
"last_command": "/pbr:build",
|
|
36
|
+
"blockers": []
|
|
37
|
+
},
|
|
38
|
+
"roadmap": { // Parsed ROADMAP.md
|
|
39
|
+
"phases": [{ "number": "01", "name": "...", "status": "planned", ... }]
|
|
40
|
+
},
|
|
41
|
+
"phase_count": 3,
|
|
42
|
+
"current_phase": "1",
|
|
43
|
+
"progress": { "phases": [...], "total_plans": 5, "completed_plans": 2, "percentage": 40 }
|
|
44
|
+
}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### `state check-progress`
|
|
48
|
+
|
|
49
|
+
Recalculates progress from filesystem (plan files, summaries, verification).
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js state check-progress
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
**Output:**
|
|
56
|
+
```json
|
|
57
|
+
{
|
|
58
|
+
"phases": [
|
|
59
|
+
{ "directory": "01-setup", "plans": 2, "summaries": 2, "completed": 2, "has_verification": true, "status": "verified" }
|
|
60
|
+
],
|
|
61
|
+
"total_plans": 5,
|
|
62
|
+
"completed_plans": 3,
|
|
63
|
+
"percentage": 60
|
|
64
|
+
}
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### `state update <field> <value>`
|
|
68
|
+
|
|
69
|
+
Atomically updates a single field in STATE.md. Uses file locking.
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js state update current_phase 2
|
|
73
|
+
node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js state update status building
|
|
74
|
+
node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js state update last_activity now # auto-timestamps
|
|
75
|
+
node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js state update plans_complete 3
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
**Valid fields:** `current_phase`, `status`, `plans_complete`, `last_activity`
|
|
79
|
+
|
|
80
|
+
**Output:** `{ "success": true, "field": "status", "value": "building" }`
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## Config Commands
|
|
85
|
+
|
|
86
|
+
### `config validate`
|
|
87
|
+
|
|
88
|
+
Validates `config.json` against the JSON schema. Detects both schema violations and semantic conflicts.
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js config validate
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
**Output:**
|
|
95
|
+
```json
|
|
96
|
+
{
|
|
97
|
+
"valid": true,
|
|
98
|
+
"errors": [],
|
|
99
|
+
"warnings": ["features.auto_continue=true with mode=interactive: auto_continue only fires in autonomous mode"]
|
|
100
|
+
}
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### `config resolve-depth [dir]`
|
|
104
|
+
|
|
105
|
+
Resolves the effective depth profile by merging base profile with user overrides.
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js config resolve-depth
|
|
109
|
+
node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js config resolve-depth /path/to/.planning
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
**Output:** Full depth profile object with all resolved values (research rounds, plan detail level, verification depth, etc.)
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
## Plan & Phase Commands
|
|
117
|
+
|
|
118
|
+
### `plan-index <phase>`
|
|
119
|
+
|
|
120
|
+
Returns plan inventory for a phase, grouped by wave.
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js plan-index 1
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
**Output:**
|
|
127
|
+
```json
|
|
128
|
+
{
|
|
129
|
+
"phase": "01-setup",
|
|
130
|
+
"total_plans": 3,
|
|
131
|
+
"plans": [
|
|
132
|
+
{
|
|
133
|
+
"file": "PLAN-01.md",
|
|
134
|
+
"plan_id": "01",
|
|
135
|
+
"wave": 1,
|
|
136
|
+
"type": "feature",
|
|
137
|
+
"autonomous": true,
|
|
138
|
+
"depends_on": [],
|
|
139
|
+
"gap_closure": false,
|
|
140
|
+
"has_summary": true,
|
|
141
|
+
"must_haves_count": 4
|
|
142
|
+
}
|
|
143
|
+
],
|
|
144
|
+
"waves": { "wave_1": ["01", "02"], "wave_2": ["03"] }
|
|
145
|
+
}
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
### `phase-info <phase>`
|
|
149
|
+
|
|
150
|
+
Comprehensive single-phase status combining roadmap, filesystem, and plan data.
|
|
151
|
+
|
|
152
|
+
```bash
|
|
153
|
+
node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js phase-info 1
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
**Output:**
|
|
157
|
+
```json
|
|
158
|
+
{
|
|
159
|
+
"phase": "01-setup",
|
|
160
|
+
"name": "setup",
|
|
161
|
+
"goal": "Initialize project infrastructure",
|
|
162
|
+
"roadmap_status": "building",
|
|
163
|
+
"filesystem_status": "partial",
|
|
164
|
+
"plans": [...],
|
|
165
|
+
"plan_count": 3,
|
|
166
|
+
"summaries": [{ "file": "SUMMARY-01.md", "plan": "01", "status": "complete" }],
|
|
167
|
+
"completed": 1,
|
|
168
|
+
"verification": null,
|
|
169
|
+
"has_context": false
|
|
170
|
+
}
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
### `must-haves <phase>`
|
|
174
|
+
|
|
175
|
+
Collects all must-haves from phase plans — truths, artifacts, and key links.
|
|
176
|
+
|
|
177
|
+
```bash
|
|
178
|
+
node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js must-haves 1
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
**Output:**
|
|
182
|
+
```json
|
|
183
|
+
{
|
|
184
|
+
"phase": "01-setup",
|
|
185
|
+
"plans": {
|
|
186
|
+
"01": { "truths": ["..."], "artifacts": ["..."], "key_links": ["..."] }
|
|
187
|
+
},
|
|
188
|
+
"all": { "truths": [...], "artifacts": [...], "key_links": [...] },
|
|
189
|
+
"total": 12
|
|
190
|
+
}
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
---
|
|
194
|
+
|
|
195
|
+
## Frontmatter Command
|
|
196
|
+
|
|
197
|
+
### `frontmatter <filepath>`
|
|
198
|
+
|
|
199
|
+
Parses a markdown file's YAML frontmatter and returns as JSON.
|
|
200
|
+
|
|
201
|
+
```bash
|
|
202
|
+
node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js frontmatter .planning/phases/01-setup/PLAN-01.md
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
**Output:** The frontmatter fields as a JSON object. Returns `{ "error": "File not found: ..." }` if the file doesn't exist.
|
|
206
|
+
|
|
207
|
+
---
|
|
208
|
+
|
|
209
|
+
## Roadmap Commands
|
|
210
|
+
|
|
211
|
+
### `roadmap update-status <phase> <status>`
|
|
212
|
+
|
|
213
|
+
Updates the Status column for a phase in ROADMAP.md's Phase Overview table. Uses file locking. Warns on invalid status transitions but does not block them.
|
|
214
|
+
|
|
215
|
+
```bash
|
|
216
|
+
node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js roadmap update-status 1 building
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
**Valid statuses:** `pending`, `planned`, `building`, `built`, `partial`, `needs_fixes`, `verified`, `skipped`
|
|
220
|
+
|
|
221
|
+
**Output:** `{ "success": true, "old_status": "planned", "new_status": "building" }`
|
|
222
|
+
|
|
223
|
+
### `roadmap update-plans <phase> <complete> <total>`
|
|
224
|
+
|
|
225
|
+
Updates the Plans column (e.g., "2/5") for a phase in ROADMAP.md.
|
|
226
|
+
|
|
227
|
+
```bash
|
|
228
|
+
node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js roadmap update-plans 1 2 5
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
**Output:** `{ "success": true, "old_plans": "1/5", "new_plans": "2/5" }`
|
|
232
|
+
|
|
233
|
+
---
|
|
234
|
+
|
|
235
|
+
## History Commands
|
|
236
|
+
|
|
237
|
+
### `history append <type> <title> [body]`
|
|
238
|
+
|
|
239
|
+
Appends a record to HISTORY.md. Creates the file if it doesn't exist.
|
|
240
|
+
|
|
241
|
+
```bash
|
|
242
|
+
node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js history append milestone "v1.0 Release" "Initial release with core features"
|
|
243
|
+
node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js history append phase "01-setup Complete" "3 plans executed, all verified"
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
**Types:** `milestone`, `phase`
|
|
247
|
+
|
|
248
|
+
**Output:** `{ "success": true }`
|
|
249
|
+
|
|
250
|
+
### `history load`
|
|
251
|
+
|
|
252
|
+
Loads all HISTORY.md records as structured JSON.
|
|
253
|
+
|
|
254
|
+
```bash
|
|
255
|
+
node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js history load
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
**Output:**
|
|
259
|
+
```json
|
|
260
|
+
{
|
|
261
|
+
"records": [
|
|
262
|
+
{ "type": "milestone", "title": "v1.0 Release", "date": "2025-01-15", "body": "..." }
|
|
263
|
+
],
|
|
264
|
+
"line_count": 42
|
|
265
|
+
}
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
Returns `null` if HISTORY.md doesn't exist.
|
|
269
|
+
|
|
270
|
+
---
|
|
271
|
+
|
|
272
|
+
## Event Command
|
|
273
|
+
|
|
274
|
+
### `event <category> <event> [JSON-details]`
|
|
275
|
+
|
|
276
|
+
Logs a structured event to `.planning/logs/events.jsonl`.
|
|
277
|
+
|
|
278
|
+
```bash
|
|
279
|
+
node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js event build plan-complete '{"plan":"01","phase":"01-setup"}'
|
|
280
|
+
node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js event error hook-failure '{"script":"validate-task.js"}'
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
**Output:** `{ "logged": true, "category": "build", "event": "plan-complete" }`
|
|
284
|
+
|
|
285
|
+
If the JSON-details argument is not valid JSON, it's stored as `{ "raw": "<the string>" }`.
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
<!-- canonical: ../../pbr/references/ui-formatting.md -->
|
|
2
1
|
# Plan-Build-Run UI Brand & Formatting Reference
|
|
3
2
|
|
|
4
3
|
Consistent output formatting for all Plan-Build-Run skills. Every skill that produces user-facing output should follow these patterns.
|
|
@@ -8,9 +7,9 @@ Consistent output formatting for all Plan-Build-Run skills. Every skill that pro
|
|
|
8
7
|
Use for major workflow transitions. Always use `PLAN-BUILD-RUN` prefix.
|
|
9
8
|
|
|
10
9
|
```
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
10
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
11
|
+
║ PLAN-BUILD-RUN ► {STAGE NAME} ║
|
|
12
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
14
13
|
```
|
|
15
14
|
|
|
16
15
|
**Stage names (uppercase):**
|
|
@@ -22,7 +21,7 @@ Use for major workflow transitions. Always use `PLAN-BUILD-RUN` prefix.
|
|
|
22
21
|
- `EXECUTING WAVE {N}`
|
|
23
22
|
- `VERIFYING`
|
|
24
23
|
- `PHASE {N} COMPLETE ✓`
|
|
25
|
-
- `MILESTONE COMPLETE
|
|
24
|
+
- `MILESTONE COMPLETE`
|
|
26
25
|
- `SCANNING CODEBASE`
|
|
27
26
|
- `DEBUGGING`
|
|
28
27
|
|
|
@@ -34,9 +33,9 @@ Use for major workflow transitions. Always use `PLAN-BUILD-RUN` prefix.
|
|
|
34
33
|
|
|
35
34
|
Format:
|
|
36
35
|
```
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
36
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
37
|
+
║ PLAN-BUILD-RUN ► {SKILL NAME} ║
|
|
38
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
40
39
|
```
|
|
41
40
|
|
|
42
41
|
**Skill names (uppercase):**
|
|
@@ -156,7 +155,7 @@ For research agents:
|
|
|
156
155
|
|
|
157
156
|
## Checkpoint Boxes
|
|
158
157
|
|
|
159
|
-
User action required. Use double-line box drawing, 62-character width.
|
|
158
|
+
User action required. Use double-line box drawing, 62-character inner width.
|
|
160
159
|
|
|
161
160
|
```
|
|
162
161
|
╔══════════════════════════════════════════════════════════════╗
|
|
@@ -165,9 +164,7 @@ User action required. Use double-line box drawing, 62-character width.
|
|
|
165
164
|
|
|
166
165
|
{Content}
|
|
167
166
|
|
|
168
|
-
──────────────────────────────────────────────────────────────
|
|
169
167
|
→ {ACTION PROMPT}
|
|
170
|
-
──────────────────────────────────────────────────────────────
|
|
171
168
|
```
|
|
172
169
|
|
|
173
170
|
**Types:**
|
|
@@ -261,25 +258,21 @@ Use plain conversational prompts for these cases instead.
|
|
|
261
258
|
Always present at end of major completions (phase complete, milestone complete, project init).
|
|
262
259
|
|
|
263
260
|
```
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
261
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
262
|
+
║ ▶ NEXT UP ║
|
|
263
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
267
264
|
|
|
268
265
|
**{Identifier}: {Name}** — {one-line description}
|
|
269
266
|
|
|
270
267
|
`{copy-paste command}`
|
|
271
268
|
|
|
272
269
|
<sub>`/clear` first → fresh context window</sub>
|
|
273
|
-
|
|
274
|
-
───────────────────────────────────────────────────────────────
|
|
270
|
+
```
|
|
275
271
|
|
|
276
272
|
**Also available:**
|
|
277
273
|
- `/pbr:alternative-1` — description
|
|
278
274
|
- `/pbr:alternative-2` — description
|
|
279
275
|
|
|
280
|
-
───────────────────────────────────────────────────────────────
|
|
281
|
-
```
|
|
282
|
-
|
|
283
276
|
**Shorter routing (for minor completions):**
|
|
284
277
|
```
|
|
285
278
|
What's next?
|
|
@@ -334,18 +327,18 @@ Use tables for structured data:
|
|
|
334
327
|
### Phase Complete
|
|
335
328
|
|
|
336
329
|
```
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
330
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
331
|
+
║ PLAN-BUILD-RUN ► PHASE {N} COMPLETE ✓ ║
|
|
332
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
340
333
|
|
|
341
334
|
**Phase {N}: {Name}**
|
|
342
335
|
|
|
343
336
|
{X} plans executed
|
|
344
337
|
Goal verified ✓
|
|
345
338
|
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
339
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
340
|
+
║ ▶ NEXT UP ║
|
|
341
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
349
342
|
|
|
350
343
|
**Phase {N+1}: {Name}** — {Goal from ROADMAP.md}
|
|
351
344
|
|
|
@@ -353,30 +346,26 @@ Goal verified ✓
|
|
|
353
346
|
|
|
354
347
|
<sub>/clear first → fresh context window</sub>
|
|
355
348
|
|
|
356
|
-
───────────────────────────────────────────────────────────────
|
|
357
|
-
|
|
358
349
|
**Also available:**
|
|
359
350
|
- /pbr:plan {N+1} — skip discussion, plan directly
|
|
360
351
|
- /pbr:review {N} — manual acceptance testing before continuing
|
|
361
|
-
|
|
362
|
-
───────────────────────────────────────────────────────────────
|
|
363
352
|
```
|
|
364
353
|
|
|
365
354
|
### Milestone Complete
|
|
366
355
|
|
|
367
356
|
```
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
357
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
358
|
+
║ PLAN-BUILD-RUN ► MILESTONE COMPLETE ║
|
|
359
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
371
360
|
|
|
372
361
|
**{version}**
|
|
373
362
|
|
|
374
363
|
{N} phases completed
|
|
375
364
|
All phase goals verified ✓
|
|
376
365
|
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
366
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
367
|
+
║ ▶ NEXT UP ║
|
|
368
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
380
369
|
|
|
381
370
|
**Audit milestone** — verify requirements, cross-phase integration, E2E flows
|
|
382
371
|
|
|
@@ -384,21 +373,17 @@ All phase goals verified ✓
|
|
|
384
373
|
|
|
385
374
|
<sub>/clear first → fresh context window</sub>
|
|
386
375
|
|
|
387
|
-
───────────────────────────────────────────────────────────────
|
|
388
|
-
|
|
389
376
|
**Also available:**
|
|
390
377
|
- /pbr:review — manual acceptance testing
|
|
391
|
-
- /pbr:milestone complete —
|
|
392
|
-
|
|
393
|
-
───────────────────────────────────────────────────────────────
|
|
378
|
+
- /pbr:milestone complete — archive milestone after audit passes
|
|
394
379
|
```
|
|
395
380
|
|
|
396
381
|
### Gaps Found
|
|
397
382
|
|
|
398
383
|
```
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
384
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
385
|
+
║ PLAN-BUILD-RUN ► PHASE {N} GAPS FOUND ⚠ ║
|
|
386
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
402
387
|
|
|
403
388
|
**Phase {N}: {Name}**
|
|
404
389
|
|
|
@@ -409,9 +394,9 @@ Report: .planning/phases/{phase_dir}/VERIFICATION.md
|
|
|
409
394
|
|
|
410
395
|
{Extract gap summaries from VERIFICATION.md}
|
|
411
396
|
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
397
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
398
|
+
║ ▶ NEXT UP ║
|
|
399
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
415
400
|
|
|
416
401
|
**Plan gap closure** — create additional plans to complete the phase
|
|
417
402
|
|
|
@@ -419,13 +404,9 @@ Report: .planning/phases/{phase_dir}/VERIFICATION.md
|
|
|
419
404
|
|
|
420
405
|
<sub>/clear first → fresh context window</sub>
|
|
421
406
|
|
|
422
|
-
───────────────────────────────────────────────────────────────
|
|
423
|
-
|
|
424
407
|
**Also available:**
|
|
425
408
|
- cat .planning/phases/{phase_dir}/VERIFICATION.md — see full report
|
|
426
409
|
- /pbr:review {N} — manual testing before planning
|
|
427
|
-
|
|
428
|
-
───────────────────────────────────────────────────────────────
|
|
429
410
|
```
|
|
430
411
|
|
|
431
412
|
---
|
|
@@ -435,9 +416,9 @@ Report: .planning/phases/{phase_dir}/VERIFICATION.md
|
|
|
435
416
|
Use for session lifecycle transitions (pause/resume):
|
|
436
417
|
|
|
437
418
|
```
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
419
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
420
|
+
║ PLAN-BUILD-RUN ► SESSION RESTORED ✓ ║
|
|
421
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
441
422
|
|
|
442
423
|
Position: Phase {N} — {phase name}, Plan {M}
|
|
443
424
|
Paused: {ISO datetime}
|
|
@@ -453,10 +434,11 @@ Other session banners: `SESSION SAVED ✓` (pause), `RESUMING SESSION` (resume s
|
|
|
453
434
|
## Anti-Patterns
|
|
454
435
|
|
|
455
436
|
Do NOT:
|
|
456
|
-
- Use varying box/banner widths
|
|
457
|
-
-
|
|
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
|
|
458
440
|
- Skip `PLAN-BUILD-RUN ►` prefix in stage banners
|
|
459
|
-
- Use random emoji (only
|
|
441
|
+
- Use random emoji (only for milestone complete, `✓` for phase complete)
|
|
460
442
|
- Skip the "Next Up" block after major completions
|
|
461
443
|
- Reference non-Plan-Build-Run commands (always use `/pbr:*` commands)
|
|
462
444
|
- Use non-Plan-Build-Run branding in banners
|
|
@@ -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 ► STARTING PROJECT ║
|
|
25
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
26
26
|
```
|
|
27
27
|
|
|
28
28
|
Then proceed to Step 1.
|
|
@@ -165,6 +165,8 @@ Use the **yes-no** pattern from `skills/shared/gate-prompts.md`:
|
|
|
165
165
|
|
|
166
166
|
**After gathering preferences:**
|
|
167
167
|
|
|
168
|
+
**CRITICAL: You MUST create the .planning/ directory and write config.json NOW. Do not proceed without this.**
|
|
169
|
+
|
|
168
170
|
1. Read the config template from `skills/begin/templates/config.json.tmpl`
|
|
169
171
|
2. Apply the user's choices to the template
|
|
170
172
|
3. Create `.planning/` directory
|
|
@@ -172,6 +174,8 @@ Use the **yes-no** pattern from `skills/shared/gate-prompts.md`:
|
|
|
172
174
|
|
|
173
175
|
**IMPORTANT**: This step MUST happen BEFORE research (Step 5) because depth controls how many researchers to spawn.
|
|
174
176
|
|
|
177
|
+
**CRITICAL: Write .active-skill NOW.** Write the text "begin" to `.planning/.active-skill` using the Write tool. Verify the file exists before proceeding.
|
|
178
|
+
|
|
175
179
|
---
|
|
176
180
|
|
|
177
181
|
### Step 4: Research Decision (inline)
|
|
@@ -206,7 +210,7 @@ Use the **yes-no** pattern from `skills/shared/gate-prompts.md`:
|
|
|
206
210
|
|
|
207
211
|
Spawn parallel agents for research. Each researcher writes to `.planning/research/`.
|
|
208
212
|
|
|
209
|
-
**Create
|
|
213
|
+
**CRITICAL: Create .planning/research/ directory NOW before spawning researchers. Do NOT skip this step.**
|
|
210
214
|
|
|
211
215
|
**For each research topic, invoke the @researcher agent:**
|
|
212
216
|
|
|
@@ -324,6 +328,9 @@ Each requirement must be:
|
|
|
324
328
|
- **Specific** — not vague ("fast" is bad, "page loads in <2s" is good)
|
|
325
329
|
|
|
326
330
|
**7e. Write REQUIREMENTS.md:**
|
|
331
|
+
|
|
332
|
+
**CRITICAL: Write REQUIREMENTS.md NOW. The roadmap planner depends on this file.**
|
|
333
|
+
|
|
327
334
|
Read the template from `skills/begin/templates/REQUIREMENTS.md.tmpl` and write `.planning/REQUIREMENTS.md` with:
|
|
328
335
|
- All v1 requirements grouped by category
|
|
329
336
|
- All v2 requirements with deferral reasons
|
|
@@ -374,6 +381,10 @@ Read `skills/begin/templates/roadmap-prompt.md.tmpl` for the prompt structure.
|
|
|
374
381
|
|
|
375
382
|
Write the project state files from templates:
|
|
376
383
|
|
|
384
|
+
**CRITICAL: You MUST write all 5 state initialization files (Steps 9a-9e). Do NOT skip any.**
|
|
385
|
+
|
|
386
|
+
**CRITICAL: Write PROJECT.md NOW. Do NOT skip this step.**
|
|
387
|
+
|
|
377
388
|
**9a. Write PROJECT.md:**
|
|
378
389
|
1. Read `skills/begin/templates/PROJECT.md.tmpl`
|
|
379
390
|
2. Fill in:
|
|
@@ -386,6 +397,8 @@ Write the project state files from templates:
|
|
|
386
397
|
3. Write to `.planning/PROJECT.md`
|
|
387
398
|
4. Ensure the `## Milestones` section is filled in with the project name and phase count from the roadmap
|
|
388
399
|
|
|
400
|
+
**CRITICAL: Write STATE.md NOW. Do NOT skip this step.**
|
|
401
|
+
|
|
389
402
|
**9b. Write STATE.md:**
|
|
390
403
|
1. Read `skills/begin/templates/STATE.md.tmpl`
|
|
391
404
|
2. Fill in:
|
|
@@ -398,6 +411,8 @@ Write the project state files from templates:
|
|
|
398
411
|
4. Fill in the `## Milestone` section with the project name and total phase count
|
|
399
412
|
5. **STATE.md size limit**: Follow size limit enforcement rules in `skills/shared/state-update.md` (150 lines max).
|
|
400
413
|
|
|
414
|
+
**CRITICAL: Write CONTEXT.md NOW. Do NOT skip this step.**
|
|
415
|
+
|
|
401
416
|
**9c. Write CONTEXT.md:**
|
|
402
417
|
Create `.planning/CONTEXT.md` from information gathered during questioning:
|
|
403
418
|
|
|
@@ -422,6 +437,8 @@ Create `.planning/CONTEXT.md` from information gathered during questioning:
|
|
|
422
437
|
| {feature} | {reason} |
|
|
423
438
|
```
|
|
424
439
|
|
|
440
|
+
**CRITICAL: Write HISTORY.md NOW. Do NOT skip this step.**
|
|
441
|
+
|
|
425
442
|
**9d. Write HISTORY.md:**
|
|
426
443
|
Create `.planning/HISTORY.md` with an initial entry:
|
|
427
444
|
|
|
@@ -435,6 +452,8 @@ Create `.planning/HISTORY.md` with an initial entry:
|
|
|
435
452
|
- Roadmap: {N} phases planned
|
|
436
453
|
```
|
|
437
454
|
|
|
455
|
+
**CRITICAL: Create phase directories NOW. Do NOT skip this step.**
|
|
456
|
+
|
|
438
457
|
**9e. Create phase directories:**
|
|
439
458
|
For each phase in the roadmap, create the directory structure:
|
|
440
459
|
```
|
|
@@ -478,6 +497,10 @@ If `gates.confirm_project` is true in config:
|
|
|
478
497
|
|
|
479
498
|
---
|
|
480
499
|
|
|
500
|
+
## Cleanup
|
|
501
|
+
|
|
502
|
+
Delete `.planning/.active-skill` if it exists. This must happen on all paths (success, partial, and failure) before reporting results.
|
|
503
|
+
|
|
481
504
|
## Completion
|
|
482
505
|
|
|
483
506
|
After all steps complete, present the final summary:
|
|
@@ -485,9 +508,9 @@ After all steps complete, present the final summary:
|
|
|
485
508
|
Use the branded stage banner from `references/ui-formatting.md`:
|
|
486
509
|
|
|
487
510
|
```
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
511
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
512
|
+
║ PLAN-BUILD-RUN ► PROJECT INITIALIZED ║
|
|
513
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
491
514
|
|
|
492
515
|
**{name}**
|
|
493
516
|
|