@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
|
@@ -12,9 +12,9 @@ argument-hint: "<phase-number>"
|
|
|
12
12
|
**Before ANY tool calls**, display this banner:
|
|
13
13
|
|
|
14
14
|
```
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
16
|
+
║ PLAN-BUILD-RUN ► DISCUSSION ║
|
|
17
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
18
18
|
```
|
|
19
19
|
|
|
20
20
|
Then proceed to Step 1.
|
|
@@ -153,17 +153,23 @@ If more than 3 concrete options exist for a gray area, present only the top 3 pl
|
|
|
153
153
|
|
|
154
154
|
For each gray area where the user made a decision (not "Let Claude decide"), ask **4 follow-up questions** to fully capture their intent.
|
|
155
155
|
|
|
156
|
+
**CRITICAL — STOP: Do NOT skip ANY of the 4 follow-up areas below. All 4 MUST be asked for each gray area where the user made a decision.**
|
|
157
|
+
|
|
156
158
|
**Follow-up question types:**
|
|
157
159
|
|
|
160
|
+
**CRITICAL — STOP: Do NOT skip this follow-up area.**
|
|
158
161
|
1. **Scope boundary**: "Should {feature} also handle {edge case}?"
|
|
159
162
|
Use the **yes-no** pattern — this is a binary decision.
|
|
160
163
|
|
|
164
|
+
**CRITICAL — STOP: Do NOT skip this follow-up area.**
|
|
161
165
|
2. **Quality level**: "How polished should this be?"
|
|
162
166
|
Do NOT use AskUserQuestion — this is freeform. Let the user describe their quality expectations in their own words.
|
|
163
167
|
|
|
168
|
+
**CRITICAL — STOP: Do NOT skip this follow-up area.**
|
|
164
169
|
3. **Integration**: "How should this interact with {existing component}?"
|
|
165
170
|
Do NOT use AskUserQuestion — this is freeform. The answer depends on the specific component and context.
|
|
166
171
|
|
|
172
|
+
**CRITICAL — STOP: Do NOT skip this follow-up area.**
|
|
167
173
|
4. **Future-proofing**: "Should we design this to support {potential future need}, or keep it simple?"
|
|
168
174
|
Use the **yes-no** pattern:
|
|
169
175
|
question: "Design {feature} to support {future need}, or keep it simple for now?"
|
|
@@ -177,6 +183,8 @@ For each gray area where the user made a decision (not "Let Claude decide"), ask
|
|
|
177
183
|
- If the user gives a short answer, capture it as-is
|
|
178
184
|
- If the user says "you decide" on a follow-up, move that specific sub-decision to Claude's Discretion
|
|
179
185
|
|
|
186
|
+
**Completion check:** After all follow-up questions for all gray areas, verify that all 4 follow-up areas produced output for each decided gray area. If any area was missed, go back and ask it before proceeding to Step 6.
|
|
187
|
+
|
|
180
188
|
### Step 6: Capture Deferred Ideas
|
|
181
189
|
|
|
182
190
|
During the conversation, the user may mention ideas they want but not in this phase. Track these separately:
|
|
@@ -221,17 +229,19 @@ This creates a pointer so `/pbr:resume` and `progress-tracker.js` know that phas
|
|
|
221
229
|
After writing CONTEXT.md, display branded output:
|
|
222
230
|
|
|
223
231
|
```
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
232
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
233
|
+
║ PLAN-BUILD-RUN ► DISCUSSION CAPTURED ✓ ║
|
|
234
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
227
235
|
|
|
228
236
|
**Phase {N}: {name}**
|
|
229
237
|
|
|
230
238
|
Decisions: {count} locked, {count} deferred, {count} discretion
|
|
231
239
|
|
|
232
|
-
───────────────────────────────────────────────────────────────
|
|
233
240
|
|
|
234
|
-
|
|
241
|
+
|
|
242
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
243
|
+
║ ▶ NEXT UP ║
|
|
244
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
235
245
|
|
|
236
246
|
**Plan this phase** — your decisions will be honored
|
|
237
247
|
|
|
@@ -239,13 +249,13 @@ Decisions: {count} locked, {count} deferred, {count} discretion
|
|
|
239
249
|
|
|
240
250
|
<sub>`/clear` first → fresh context window</sub>
|
|
241
251
|
|
|
242
|
-
|
|
252
|
+
|
|
243
253
|
|
|
244
254
|
**Also available:**
|
|
245
255
|
- `/pbr:status` — see project status
|
|
246
256
|
- `/pbr:explore` — explore ideas further
|
|
247
257
|
|
|
248
|
-
|
|
258
|
+
|
|
249
259
|
```
|
|
250
260
|
|
|
251
261
|
---
|
|
@@ -16,9 +16,9 @@ You are running the **do** skill. Your job is to analyze freeform text from the
|
|
|
16
16
|
**Before ANY tool calls**, display this banner:
|
|
17
17
|
|
|
18
18
|
```
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
20
|
+
║ PLAN-BUILD-RUN ► ROUTING ║
|
|
21
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
22
22
|
```
|
|
23
23
|
|
|
24
24
|
Then proceed to Step 1.
|
|
@@ -12,9 +12,9 @@ argument-hint: "[topic]"
|
|
|
12
12
|
**Before ANY tool calls**, display this banner:
|
|
13
13
|
|
|
14
14
|
```
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
16
|
+
║ PLAN-BUILD-RUN ► EXPLORING ║
|
|
17
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
18
18
|
```
|
|
19
19
|
|
|
20
20
|
Then proceed to Step 1.
|
|
@@ -178,7 +178,7 @@ Suggest specific outputs with reasoning. Present no more than 4 suggestions —
|
|
|
178
178
|
| Phase decision | Clarifies an existing phase | Write/append to phase `CONTEXT.md` |
|
|
179
179
|
| Research question | Needs deeper investigation | `.planning/research/questions.md` |
|
|
180
180
|
| New phase | Big enough for its own phase | Append to `ROADMAP.md` |
|
|
181
|
-
| Note | Not actionable yet, worth remembering | `.planning/notes/{slug}.md` |
|
|
181
|
+
| Note | Not actionable yet, worth remembering | `.planning/notes/{YYYY-MM-DD}-{slug}.md` |
|
|
182
182
|
| Quick capture | One-liner idea, no context needed | Suggest `/pbr:note <text>` to the user |
|
|
183
183
|
| Seed | Idea with trigger conditions | `.planning/seeds/SEED-{NNN}-{slug}.md` |
|
|
184
184
|
|
|
@@ -218,15 +218,17 @@ Create only the approved artifacts. A single explore session can produce multipl
|
|
|
218
218
|
After creating artifacts (or if user chose "Skip"), display:
|
|
219
219
|
|
|
220
220
|
```
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
221
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
222
|
+
║ PLAN-BUILD-RUN ► EXPLORATION CAPTURED ✓ ║
|
|
223
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
224
224
|
|
|
225
225
|
{count} artifacts created: {list of artifact types}
|
|
226
226
|
|
|
227
|
-
───────────────────────────────────────────────────────────────
|
|
228
227
|
|
|
229
|
-
|
|
228
|
+
|
|
229
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
230
|
+
║ ▶ NEXT UP ║
|
|
231
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
230
232
|
|
|
231
233
|
**{Primary route based on what was created}**
|
|
232
234
|
|
|
@@ -242,14 +244,14 @@ After creating artifacts (or if user chose "Skip"), display:
|
|
|
242
244
|
|
|
243
245
|
<sub>`/clear` first → fresh context window</sub>
|
|
244
246
|
|
|
245
|
-
|
|
247
|
+
|
|
246
248
|
|
|
247
249
|
**Also available:**
|
|
248
250
|
- `/pbr:status` — see project status
|
|
249
251
|
- `/pbr:continue` — execute next logical step
|
|
250
252
|
- `/pbr:milestone new` — start a new milestone with new phases
|
|
251
253
|
|
|
252
|
-
|
|
254
|
+
|
|
253
255
|
```
|
|
254
256
|
|
|
255
257
|
---
|
|
@@ -292,7 +294,7 @@ Append to `.planning/ROADMAP.md` following the existing phase format. Assign the
|
|
|
292
294
|
|
|
293
295
|
### Note
|
|
294
296
|
|
|
295
|
-
Write to `.planning/notes/{
|
|
297
|
+
Write to `.planning/notes/{YYYY-MM-DD}-{slug}.md` where the date prefix is today's date in ISO format. Scan `.planning/notes/` to avoid filename collisions — if a file with the same date and slug exists, append `-2` (or increment).
|
|
296
298
|
|
|
297
299
|
```markdown
|
|
298
300
|
---
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: health
|
|
3
3
|
description: "Check planning directory integrity. Find and fix corrupted state."
|
|
4
|
-
allowed-tools: Read, Bash, Glob, Grep
|
|
4
|
+
allowed-tools: Read, Write, Bash, Glob, Grep, AskUserQuestion
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
**STOP — DO NOT READ THIS FILE. You are already reading it. This prompt was injected into your context by Claude Code's plugin system. Using the Read tool on this SKILL.md file wastes ~7,600 tokens. Begin executing Step 1 immediately.**
|
|
@@ -11,9 +11,9 @@ allowed-tools: Read, Bash, Glob, Grep
|
|
|
11
11
|
**Before ANY tool calls**, display this banner:
|
|
12
12
|
|
|
13
13
|
```
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
15
|
+
║ PLAN-BUILD-RUN ► HEALTH CHECK ║
|
|
16
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
17
17
|
```
|
|
18
18
|
|
|
19
19
|
Then proceed to Step 1.
|
|
@@ -22,7 +22,7 @@ Then proceed to Step 1.
|
|
|
22
22
|
|
|
23
23
|
You are running the **health** skill. Your job is to validate the integrity of the `.planning/` directory, report problems, and suggest targeted fixes. You never auto-repair anything.
|
|
24
24
|
|
|
25
|
-
This skill runs **inline
|
|
25
|
+
This skill runs **inline**. It is read-only by default, but offers an optional **auto-fix** flow for common corruption patterns (see the Auto-Fix section below).
|
|
26
26
|
|
|
27
27
|
---
|
|
28
28
|
|
|
@@ -152,6 +152,58 @@ Glob for `.planning/phases/**/.PROGRESS-*` and `.planning/phases/**/.checkpoint-
|
|
|
152
152
|
|
|
153
153
|
---
|
|
154
154
|
|
|
155
|
+
## Auto-Fix for Common Corruption Patterns
|
|
156
|
+
|
|
157
|
+
After running all 10 checks and collecting results, if any of the following auto-fixable issues were found, offer to fix them.
|
|
158
|
+
|
|
159
|
+
### Auto-Fixable Patterns
|
|
160
|
+
|
|
161
|
+
| Pattern | Detection | Fix Action |
|
|
162
|
+
|---------|-----------|------------|
|
|
163
|
+
| Missing STATE.md frontmatter | Check 5 finds STATE.md without `---` block | Regenerate frontmatter from ROADMAP.md phase data (current_phase, total_phases, status) |
|
|
164
|
+
| STATE.md phase_slug mismatch | Check 5/7 finds phase_slug doesn't match current phase directory name | Correct phase_slug to match the actual directory name in `.planning/phases/` |
|
|
165
|
+
| Missing config.json | Check 1/2 finds no `.planning/config.json` | Create with default config template (same as `/pbr:setup` defaults) |
|
|
166
|
+
| Orphaned .active-skill file | Check 10 or general scan finds `.planning/.active-skill` older than 1 hour | Delete the stale `.active-skill` file |
|
|
167
|
+
| Empty phases directory | Check 3 finds `.planning/phases/` missing | Create the directory: `mkdir -p .planning/phases` |
|
|
168
|
+
| STATE.md over 150 lines | Check 5 finds STATE.md exceeds 150 lines | Compact the `## Accumulated Context` section, keeping only the last 3 entries |
|
|
169
|
+
|
|
170
|
+
### Auto-Fix Flow
|
|
171
|
+
|
|
172
|
+
After displaying health check results, if any auto-fixable issues were detected:
|
|
173
|
+
|
|
174
|
+
1. Count the auto-fixable issues and present:
|
|
175
|
+
|
|
176
|
+
Use AskUserQuestion:
|
|
177
|
+
question: "Found {N} auto-fixable issues. How should we handle them?"
|
|
178
|
+
header: "Fix?"
|
|
179
|
+
options:
|
|
180
|
+
- label: "Fix all" description: "Apply all {N} fixes automatically"
|
|
181
|
+
- label: "Review each" description: "Show each fix and confirm individually"
|
|
182
|
+
- label: "Skip" description: "Do nothing — just report"
|
|
183
|
+
|
|
184
|
+
2. If "Fix all": Apply all fixes in order, then display a summary:
|
|
185
|
+
```
|
|
186
|
+
Auto-fix results:
|
|
187
|
+
- Fixed: {description of fix 1}
|
|
188
|
+
- Fixed: {description of fix 2}
|
|
189
|
+
...
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
3. If "Review each": For each fixable issue, display:
|
|
193
|
+
```
|
|
194
|
+
Issue: {description}
|
|
195
|
+
Fix: {what will be done}
|
|
196
|
+
```
|
|
197
|
+
Then ask via AskUserQuestion (yes/no): "Apply this fix?"
|
|
198
|
+
- If yes: apply and display `- Fixed: {description}`
|
|
199
|
+
- If no: skip and display `- Skipped: {description}`
|
|
200
|
+
|
|
201
|
+
4. If "Skip": Do nothing, continue to the rest of the output.
|
|
202
|
+
|
|
203
|
+
**Note:** When auto-fix is active, the health skill is no longer strictly read-only. The `allowed-tools` frontmatter must include `Write` and `AskUserQuestion` for auto-fix to work. Update the frontmatter accordingly.
|
|
204
|
+
|
|
205
|
+
---
|
|
206
|
+
|
|
155
207
|
## Bonus: Recent Decisions
|
|
156
208
|
|
|
157
209
|
After all checks, look for `.planning/logs/decisions.jsonl`. If it exists, display the last 5 entries as `- {date}: {summary} (phase {N})`. If it does not exist, skip silently.
|
|
@@ -164,15 +216,17 @@ After all checks complete, display the branded result:
|
|
|
164
216
|
|
|
165
217
|
**If all checks passed (0 failures):**
|
|
166
218
|
```
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
219
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
220
|
+
║ PLAN-BUILD-RUN ► HEALTH CHECK PASSED ✓ ║
|
|
221
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
170
222
|
|
|
171
223
|
{N} checks passed, {M} warnings
|
|
172
224
|
|
|
173
|
-
───────────────────────────────────────────────────────────────
|
|
174
225
|
|
|
175
|
-
|
|
226
|
+
|
|
227
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
228
|
+
║ ▶ NEXT UP ║
|
|
229
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
176
230
|
|
|
177
231
|
**Continue your workflow** — planning directory is healthy
|
|
178
232
|
|
|
@@ -180,40 +234,42 @@ After all checks complete, display the branded result:
|
|
|
180
234
|
|
|
181
235
|
<sub>`/clear` first → fresh context window</sub>
|
|
182
236
|
|
|
183
|
-
|
|
237
|
+
|
|
184
238
|
|
|
185
239
|
**Also available:**
|
|
186
240
|
- `/pbr:continue` — execute next logical step
|
|
187
241
|
- `/pbr:config` — adjust settings
|
|
188
242
|
|
|
189
|
-
|
|
243
|
+
|
|
190
244
|
```
|
|
191
245
|
|
|
192
246
|
**If failures found:**
|
|
193
247
|
```
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
248
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
249
|
+
║ PLAN-BUILD-RUN ► HEALTH CHECK FAILED ⚠ ║
|
|
250
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
197
251
|
|
|
198
252
|
{N} checks passed, {F} failures, {M} warnings
|
|
199
253
|
|
|
200
|
-
───────────────────────────────────────────────────────────────
|
|
201
254
|
|
|
202
|
-
|
|
255
|
+
|
|
256
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
257
|
+
║ ▶ NEXT UP ║
|
|
258
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
203
259
|
|
|
204
260
|
**Fix the failures** listed above, then re-run
|
|
205
261
|
|
|
206
262
|
`/pbr:health`
|
|
207
263
|
|
|
208
|
-
|
|
264
|
+
|
|
209
265
|
```
|
|
210
266
|
|
|
211
267
|
---
|
|
212
268
|
|
|
213
269
|
## Anti-Patterns
|
|
214
270
|
|
|
215
|
-
1. **DO NOT** modify
|
|
216
|
-
2. **DO NOT** auto-repair anything — present fixes and let the user decide
|
|
271
|
+
1. **DO NOT** modify files without user consent — auto-fix requires explicit user approval via AskUserQuestion
|
|
272
|
+
2. **DO NOT** auto-repair anything silently — always present fixes and let the user decide
|
|
217
273
|
3. **DO NOT** skip checks that depend on missing files — report the dependency failure and continue
|
|
218
274
|
4. **DO NOT** treat warnings as failures in the summary count — only count FAIL items
|
|
219
275
|
5. **DO NOT** read full plan/summary contents — frontmatter and existence checks are sufficient
|
|
@@ -11,9 +11,9 @@ allowed-tools: Read
|
|
|
11
11
|
**Before ANY tool calls**, display this banner:
|
|
12
12
|
|
|
13
13
|
```
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
15
|
+
║ PLAN-BUILD-RUN ► COMMAND REFERENCE ║
|
|
16
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
17
17
|
```
|
|
18
18
|
|
|
19
19
|
Then proceed to Step 1.
|
|
@@ -137,16 +137,18 @@ Skills automatically activate the appropriate context: `/pbr:build` uses dev con
|
|
|
137
137
|
## Getting Started
|
|
138
138
|
|
|
139
139
|
```
|
|
140
|
-
───────────────────────────────────────────────────────────────
|
|
141
140
|
|
|
142
|
-
|
|
141
|
+
|
|
142
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
143
|
+
║ ▶ NEXT UP ║
|
|
144
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
143
145
|
|
|
144
146
|
→ `/pbr:begin` — start a new project
|
|
145
147
|
→ `/pbr:status` — check current project status
|
|
146
148
|
→ `/pbr:config` — configure workflow settings
|
|
147
149
|
→ `/pbr:help <command>` — detailed help for a specific command
|
|
148
150
|
|
|
149
|
-
|
|
151
|
+
|
|
150
152
|
```
|
|
151
153
|
|
|
152
154
|
## Getting Help
|
|
@@ -12,9 +12,9 @@ argument-hint: "<phase-number> [--from <filepath>] [--skip-checker]"
|
|
|
12
12
|
**Before ANY tool calls**, display this banner:
|
|
13
13
|
|
|
14
14
|
```
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
16
|
+
║ PLAN-BUILD-RUN ► IMPORTING PLAN ║
|
|
17
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
18
18
|
```
|
|
19
19
|
|
|
20
20
|
Then proceed to Step 1.
|
|
@@ -51,11 +51,12 @@ Reference: `skills/shared/config-loading.md` for the tooling shortcut and config
|
|
|
51
51
|
1. Parse `$ARGUMENTS` for phase number
|
|
52
52
|
2. Parse optional `--from <filepath>` flag (path to the external document to import)
|
|
53
53
|
3. Parse optional `--skip-checker` flag (skip plan validation step)
|
|
54
|
-
4.
|
|
54
|
+
4. **CRITICAL: Write .active-skill NOW.** Write the text "import" to `.planning/.active-skill` using the Write tool.
|
|
55
|
+
5. Validate:
|
|
55
56
|
- Phase exists in ROADMAP.md
|
|
56
57
|
- Phase directory exists at `.planning/phases/{NN}-{slug}/`
|
|
57
|
-
|
|
58
|
-
|
|
58
|
+
6. If no phase number given, read current phase from `.planning/STATE.md`
|
|
59
|
+
7. Check for existing plans in the phase directory (glob for `*-PLAN.md`)
|
|
59
60
|
- If plans exist: ask user via AskUserQuestion: "Phase {N} already has plans. Replace them with imported plans?"
|
|
60
61
|
- If yes: note that existing plans will be overwritten in Step 7
|
|
61
62
|
- If no: stop
|
|
@@ -323,7 +324,7 @@ Follow the revision loop with:
|
|
|
323
324
|
|
|
324
325
|
### Step 7: Write PLAN.md Files (inline)
|
|
325
326
|
|
|
326
|
-
Write each plan to `.planning/phases/{NN}-{slug}/
|
|
327
|
+
Write each plan to `.planning/phases/{NN}-{slug}/PLAN-{plan_num}.md`.
|
|
327
328
|
|
|
328
329
|
If existing plans are being replaced (user confirmed in Step 1):
|
|
329
330
|
- Delete existing `*-PLAN.md` files in the phase directory before writing new ones
|
|
@@ -381,14 +382,18 @@ docs({phase}): import plans for phase {N} ({count} plans, {wave_count} waves)
|
|
|
381
382
|
|
|
382
383
|
---
|
|
383
384
|
|
|
384
|
-
### Step 10:
|
|
385
|
+
### Step 10: Cleanup
|
|
386
|
+
|
|
387
|
+
Delete `.planning/.active-skill` if it exists. This must happen on all paths (success, partial, and failure) before reporting results.
|
|
388
|
+
|
|
389
|
+
### Step 11: Confirm (inline)
|
|
385
390
|
|
|
386
391
|
Present a summary of the import using the branded banner:
|
|
387
392
|
|
|
388
393
|
```
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
394
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
395
|
+
║ PLAN-BUILD-RUN ► IMPORT COMPLETE ✓ ║
|
|
396
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
392
397
|
|
|
393
398
|
**Phase {N}: {name}** — {plan_count} plans imported
|
|
394
399
|
|
|
@@ -407,9 +412,11 @@ Wave execution order:
|
|
|
407
412
|
Must-haves coverage: {count} truths across {plan_count} plans
|
|
408
413
|
Requirements traced: {count}/{total} REQ-IDs covered
|
|
409
414
|
|
|
410
|
-
───────────────────────────────────────────────────────────────
|
|
411
415
|
|
|
412
|
-
|
|
416
|
+
|
|
417
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
418
|
+
║ ▶ NEXT UP ║
|
|
419
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
413
420
|
|
|
414
421
|
**Build Phase {N}** — execute these imported plans
|
|
415
422
|
|
|
@@ -417,19 +424,21 @@ Requirements traced: {count}/{total} REQ-IDs covered
|
|
|
417
424
|
|
|
418
425
|
<sub>`/clear` first → fresh context window</sub>
|
|
419
426
|
|
|
420
|
-
|
|
427
|
+
|
|
421
428
|
|
|
422
429
|
**Also available:**
|
|
423
430
|
- `/pbr:plan {N}` — re-plan from scratch if import needs rework
|
|
424
431
|
- `/pbr:discuss {N}` — talk through details before building
|
|
425
432
|
|
|
426
|
-
|
|
433
|
+
|
|
427
434
|
```
|
|
428
435
|
|
|
429
436
|
---
|
|
430
437
|
|
|
431
438
|
## Error Handling
|
|
432
439
|
|
|
440
|
+
**IMPORTANT:** On ALL error exits below, delete `.planning/.active-skill` if it exists before displaying the error message.
|
|
441
|
+
|
|
433
442
|
### Phase not found
|
|
434
443
|
If the specified phase does not exist in ROADMAP.md, display:
|
|
435
444
|
```
|
|
@@ -498,7 +507,7 @@ Present remaining issues and ask user to decide: proceed or intervene.
|
|
|
498
507
|
|
|
499
508
|
| File | Purpose | When |
|
|
500
509
|
|------|---------|------|
|
|
501
|
-
| `.planning/phases/{NN}-{slug}/
|
|
510
|
+
| `.planning/phases/{NN}-{slug}/PLAN-{NN}.md` | Imported plan files | Step 7 |
|
|
502
511
|
| `.planning/ROADMAP.md` | Plans Complete + Status updated to `planned` | Step 8a |
|
|
503
512
|
| `.planning/STATE.md` | Updated with plan status and import source | Step 8b |
|
|
504
513
|
| `.planning/CONTEXT.md` | Updated if blockers surfaced new locked decisions | Step 8d |
|