@sienklogic/plan-build-run 2.0.0 → 2.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +56 -56
- package/CLAUDE.md +149 -149
- package/LICENSE +21 -21
- package/README.md +247 -247
- package/dashboard/bin/cli.js +25 -25
- package/dashboard/package.json +34 -34
- package/dashboard/public/css/layout.css +406 -406
- package/dashboard/public/css/status-colors.css +98 -98
- package/dashboard/public/js/htmx-title.js +5 -5
- package/dashboard/public/js/sidebar-toggle.js +20 -20
- package/dashboard/src/app.js +78 -78
- package/dashboard/src/middleware/errorHandler.js +52 -52
- package/dashboard/src/middleware/notFoundHandler.js +9 -9
- package/dashboard/src/repositories/planning.repository.js +128 -128
- package/dashboard/src/routes/events.routes.js +40 -40
- package/dashboard/src/routes/index.routes.js +31 -31
- package/dashboard/src/routes/pages.routes.js +245 -195
- package/dashboard/src/server.js +42 -42
- package/dashboard/src/services/dashboard.service.js +222 -222
- package/dashboard/src/services/phase.service.js +220 -167
- package/dashboard/src/services/project.service.js +57 -57
- package/dashboard/src/services/roadmap.service.js +171 -171
- package/dashboard/src/services/sse.service.js +58 -58
- package/dashboard/src/services/todo.service.js +254 -254
- package/dashboard/src/services/watcher.service.js +48 -48
- package/dashboard/src/views/coming-soon.ejs +11 -11
- package/dashboard/src/views/error.ejs +13 -13
- package/dashboard/src/views/index.ejs +5 -5
- package/dashboard/src/views/layout.ejs +1 -1
- package/dashboard/src/views/partials/dashboard-content.ejs +77 -77
- package/dashboard/src/views/partials/footer.ejs +3 -3
- package/dashboard/src/views/partials/head.ejs +21 -21
- package/dashboard/src/views/partials/header.ejs +12 -12
- package/dashboard/src/views/partials/layout-bottom.ejs +15 -15
- package/dashboard/src/views/partials/layout-top.ejs +8 -8
- package/dashboard/src/views/partials/phase-content.ejs +188 -181
- package/dashboard/src/views/partials/phase-doc-content.ejs +38 -0
- package/dashboard/src/views/partials/phases-content.ejs +117 -117
- package/dashboard/src/views/partials/roadmap-content.ejs +142 -142
- package/dashboard/src/views/partials/sidebar.ejs +38 -38
- package/dashboard/src/views/partials/todo-create-content.ejs +53 -53
- package/dashboard/src/views/partials/todo-detail-content.ejs +38 -38
- package/dashboard/src/views/partials/todos-content.ejs +53 -53
- package/dashboard/src/views/phase-detail.ejs +5 -5
- package/dashboard/src/views/phase-doc.ejs +5 -0
- package/dashboard/src/views/phases.ejs +5 -5
- package/dashboard/src/views/roadmap.ejs +5 -5
- package/dashboard/src/views/todo-create.ejs +5 -5
- package/dashboard/src/views/todo-detail.ejs +5 -5
- package/dashboard/src/views/todos.ejs +5 -5
- package/package.json +57 -57
- package/plugins/cursor-pbr/.cursor-plugin/plugin.json +22 -0
- package/plugins/cursor-pbr/agents/.gitkeep +0 -0
- package/plugins/cursor-pbr/assets/.gitkeep +0 -0
- package/plugins/cursor-pbr/hooks/hooks.json +11 -0
- package/plugins/cursor-pbr/references/.gitkeep +0 -0
- package/plugins/cursor-pbr/rules/.gitkeep +0 -0
- package/plugins/cursor-pbr/skills/.gitkeep +0 -0
- package/plugins/cursor-pbr/templates/.gitkeep +0 -0
- package/plugins/pbr/.claude-plugin/plugin.json +13 -13
- package/plugins/pbr/UI-CONSISTENCY-GAPS.md +61 -61
- package/plugins/pbr/agents/codebase-mapper.md +279 -271
- package/plugins/pbr/agents/debugger.md +281 -281
- package/plugins/pbr/agents/executor.md +428 -407
- package/plugins/pbr/agents/general.md +164 -164
- package/plugins/pbr/agents/integration-checker.md +169 -141
- package/plugins/pbr/agents/plan-checker.md +296 -280
- package/plugins/pbr/agents/planner.md +358 -358
- package/plugins/pbr/agents/researcher.md +363 -363
- package/plugins/pbr/agents/synthesizer.md +230 -230
- package/plugins/pbr/agents/verifier.md +489 -454
- package/plugins/pbr/commands/begin.md +5 -5
- package/plugins/pbr/commands/build.md +5 -5
- package/plugins/pbr/commands/config.md +5 -5
- package/plugins/pbr/commands/continue.md +5 -5
- package/plugins/pbr/commands/debug.md +5 -5
- package/plugins/pbr/commands/discuss.md +5 -5
- package/plugins/pbr/commands/explore.md +5 -5
- package/plugins/pbr/commands/health.md +5 -5
- package/plugins/pbr/commands/help.md +5 -5
- package/plugins/pbr/commands/import.md +5 -5
- package/plugins/pbr/commands/milestone.md +5 -5
- package/plugins/pbr/commands/note.md +5 -5
- package/plugins/pbr/commands/pause.md +5 -5
- package/plugins/pbr/commands/plan.md +5 -5
- package/plugins/pbr/commands/quick.md +5 -5
- package/plugins/pbr/commands/resume.md +5 -5
- package/plugins/pbr/commands/review.md +5 -5
- package/plugins/pbr/commands/scan.md +5 -5
- package/plugins/pbr/commands/setup.md +5 -5
- package/plugins/pbr/commands/status.md +5 -5
- package/plugins/pbr/commands/todo.md +5 -5
- package/plugins/pbr/contexts/dev.md +27 -27
- package/plugins/pbr/contexts/research.md +28 -28
- package/plugins/pbr/contexts/review.md +36 -36
- package/plugins/pbr/hooks/hooks.json +183 -183
- package/plugins/pbr/references/agent-anti-patterns.md +24 -24
- package/plugins/pbr/references/agent-interactions.md +134 -134
- package/plugins/pbr/references/agent-teams.md +54 -54
- package/plugins/pbr/references/checkpoints.md +157 -157
- package/plugins/pbr/references/common-bug-patterns.md +13 -13
- package/plugins/pbr/references/config-reference.md +441 -0
- package/plugins/pbr/references/continuation-format.md +212 -212
- package/plugins/pbr/references/deviation-rules.md +112 -112
- package/plugins/pbr/references/git-integration.md +226 -226
- package/plugins/pbr/references/integration-patterns.md +117 -117
- package/plugins/pbr/references/model-profiles.md +99 -99
- package/plugins/pbr/references/model-selection.md +31 -31
- package/plugins/pbr/references/pbr-rules.md +193 -193
- package/plugins/pbr/references/plan-authoring.md +181 -181
- package/plugins/pbr/references/plan-format.md +287 -283
- package/plugins/pbr/references/planning-config.md +213 -213
- package/plugins/pbr/references/questioning.md +214 -214
- package/plugins/pbr/references/reading-verification.md +127 -127
- package/plugins/pbr/references/stub-patterns.md +160 -160
- package/plugins/pbr/references/subagent-coordination.md +119 -119
- package/plugins/pbr/references/ui-formatting.md +461 -399
- package/plugins/pbr/references/verification-patterns.md +198 -198
- package/plugins/pbr/references/wave-execution.md +95 -95
- package/plugins/pbr/scripts/auto-continue.js +80 -80
- package/plugins/pbr/scripts/check-dangerous-commands.js +136 -136
- package/plugins/pbr/scripts/check-doc-sprawl.js +102 -102
- package/plugins/pbr/scripts/check-phase-boundary.js +196 -196
- package/plugins/pbr/scripts/check-plan-format.js +270 -270
- package/plugins/pbr/scripts/check-roadmap-sync.js +322 -252
- package/plugins/pbr/scripts/check-skill-workflow.js +262 -262
- package/plugins/pbr/scripts/check-state-sync.js +476 -476
- package/plugins/pbr/scripts/check-subagent-output.js +144 -144
- package/plugins/pbr/scripts/config-schema.json +251 -251
- package/plugins/pbr/scripts/context-budget-check.js +287 -287
- package/plugins/pbr/scripts/event-handler.js +151 -151
- package/plugins/pbr/scripts/event-logger.js +92 -92
- package/plugins/pbr/scripts/hook-logger.js +80 -76
- package/plugins/pbr/scripts/hooks-schema.json +79 -79
- package/plugins/pbr/scripts/log-subagent.js +164 -152
- package/plugins/pbr/scripts/log-tool-failure.js +88 -88
- package/plugins/pbr/scripts/pbr-tools.js +1378 -1301
- package/plugins/pbr/scripts/post-write-dispatch.js +66 -66
- package/plugins/pbr/scripts/post-write-quality.js +207 -207
- package/plugins/pbr/scripts/pre-bash-dispatch.js +86 -56
- package/plugins/pbr/scripts/pre-write-dispatch.js +97 -62
- package/plugins/pbr/scripts/progress-tracker.js +281 -228
- package/plugins/pbr/scripts/run-hook.js +92 -0
- package/plugins/pbr/scripts/session-cleanup.js +254 -254
- package/plugins/pbr/scripts/status-line.js +288 -285
- package/plugins/pbr/scripts/suggest-compact.js +119 -119
- package/plugins/pbr/scripts/task-completed.js +45 -45
- package/plugins/pbr/scripts/track-context-budget.js +149 -119
- package/plugins/pbr/scripts/validate-commit.js +200 -200
- package/plugins/pbr/scripts/validate-plugin-structure.js +183 -172
- package/plugins/pbr/scripts/validate-task.js +106 -0
- package/plugins/pbr/skills/begin/SKILL.md +594 -545
- package/plugins/pbr/skills/begin/templates/PROJECT.md.tmpl +33 -33
- package/plugins/pbr/skills/begin/templates/REQUIREMENTS.md.tmpl +18 -18
- package/plugins/pbr/skills/begin/templates/STATE.md.tmpl +49 -49
- package/plugins/pbr/skills/begin/templates/config.json.tmpl +64 -63
- package/plugins/pbr/skills/begin/templates/researcher-prompt.md.tmpl +19 -19
- package/plugins/pbr/skills/begin/templates/roadmap-prompt.md.tmpl +30 -30
- package/plugins/pbr/skills/begin/templates/synthesis-prompt.md.tmpl +16 -16
- package/plugins/pbr/skills/build/SKILL.md +943 -962
- package/plugins/pbr/skills/config/SKILL.md +256 -241
- package/plugins/pbr/skills/continue/SKILL.md +164 -127
- package/plugins/pbr/skills/debug/SKILL.md +515 -489
- package/plugins/pbr/skills/debug/templates/continuation-prompt.md.tmpl +16 -16
- package/plugins/pbr/skills/debug/templates/initial-investigation-prompt.md.tmpl +27 -27
- package/plugins/pbr/skills/discuss/SKILL.md +347 -338
- package/plugins/pbr/skills/discuss/templates/CONTEXT.md.tmpl +61 -61
- package/plugins/pbr/skills/discuss/templates/decision-categories.md +9 -9
- package/plugins/pbr/skills/explore/SKILL.md +378 -362
- package/plugins/pbr/skills/health/SKILL.md +221 -186
- package/plugins/pbr/skills/health/templates/check-pattern.md.tmpl +30 -30
- package/plugins/pbr/skills/health/templates/output-format.md.tmpl +63 -63
- package/plugins/pbr/skills/help/SKILL.md +155 -140
- package/plugins/pbr/skills/import/SKILL.md +504 -490
- package/plugins/pbr/skills/milestone/SKILL.md +704 -673
- package/plugins/pbr/skills/milestone/templates/audit-report.md.tmpl +48 -48
- package/plugins/pbr/skills/milestone/templates/stats-file.md.tmpl +30 -30
- package/plugins/pbr/skills/note/SKILL.md +231 -212
- package/plugins/pbr/skills/pause/SKILL.md +249 -235
- package/plugins/pbr/skills/pause/templates/continue-here.md.tmpl +71 -71
- package/plugins/pbr/skills/plan/SKILL.md +685 -628
- package/plugins/pbr/skills/plan/decimal-phase-calc.md +98 -98
- package/plugins/pbr/skills/plan/templates/checker-prompt.md.tmpl +21 -21
- package/plugins/pbr/skills/plan/templates/gap-closure-prompt.md.tmpl +32 -32
- package/plugins/pbr/skills/plan/templates/planner-prompt.md.tmpl +38 -38
- package/plugins/pbr/skills/plan/templates/researcher-prompt.md.tmpl +19 -19
- package/plugins/pbr/skills/plan/templates/revision-prompt.md.tmpl +23 -23
- package/plugins/pbr/skills/quick/SKILL.md +354 -335
- package/plugins/pbr/skills/resume/SKILL.md +402 -388
- package/plugins/pbr/skills/review/SKILL.md +686 -652
- package/plugins/pbr/skills/review/templates/debugger-prompt.md.tmpl +60 -60
- package/plugins/pbr/skills/review/templates/gap-planner-prompt.md.tmpl +40 -40
- package/plugins/pbr/skills/review/templates/verifier-prompt.md.tmpl +115 -115
- package/plugins/pbr/skills/scan/SKILL.md +304 -269
- package/plugins/pbr/skills/scan/templates/mapper-prompt.md.tmpl +201 -201
- package/plugins/pbr/skills/setup/SKILL.md +253 -227
- package/plugins/pbr/skills/shared/commit-planning-docs.md +35 -35
- package/plugins/pbr/skills/shared/config-loading.md +102 -102
- package/plugins/pbr/skills/shared/context-budget.md +40 -40
- package/plugins/pbr/skills/shared/context-loader-task.md +86 -86
- package/plugins/pbr/skills/shared/digest-select.md +79 -79
- package/plugins/pbr/skills/shared/domain-probes.md +125 -125
- package/plugins/pbr/skills/shared/error-reporting.md +79 -79
- package/plugins/pbr/skills/shared/gate-prompts.md +388 -388
- package/plugins/pbr/skills/shared/phase-argument-parsing.md +45 -45
- package/plugins/pbr/skills/shared/progress-display.md +53 -53
- package/plugins/pbr/skills/shared/revision-loop.md +81 -81
- package/plugins/pbr/skills/shared/state-loading.md +62 -62
- package/plugins/pbr/skills/shared/state-update.md +161 -161
- package/plugins/pbr/skills/shared/universal-anti-patterns.md +33 -33
- package/plugins/pbr/skills/status/SKILL.md +367 -353
- package/plugins/pbr/skills/todo/SKILL.md +198 -181
- package/plugins/pbr/templates/CONTEXT.md.tmpl +52 -52
- package/plugins/pbr/templates/INTEGRATION-REPORT.md.tmpl +151 -151
- package/plugins/pbr/templates/RESEARCH-SUMMARY.md.tmpl +97 -97
- package/plugins/pbr/templates/ROADMAP.md.tmpl +40 -40
- package/plugins/pbr/templates/SUMMARY.md.tmpl +81 -81
- package/plugins/pbr/templates/VERIFICATION-DETAIL.md.tmpl +116 -116
- package/plugins/pbr/templates/codebase/ARCHITECTURE.md.tmpl +98 -98
- package/plugins/pbr/templates/codebase/CONCERNS.md.tmpl +93 -93
- package/plugins/pbr/templates/codebase/CONVENTIONS.md.tmpl +104 -104
- package/plugins/pbr/templates/codebase/INTEGRATIONS.md.tmpl +78 -78
- package/plugins/pbr/templates/codebase/STACK.md.tmpl +78 -78
- package/plugins/pbr/templates/codebase/STRUCTURE.md.tmpl +80 -80
- package/plugins/pbr/templates/codebase/TESTING.md.tmpl +107 -107
- package/plugins/pbr/templates/continue-here.md.tmpl +73 -73
- package/plugins/pbr/templates/prompt-partials/phase-project-context.md.tmpl +37 -37
- package/plugins/pbr/templates/research/ARCHITECTURE.md.tmpl +124 -124
- package/plugins/pbr/templates/research/STACK.md.tmpl +71 -71
- package/plugins/pbr/templates/research/SUMMARY.md.tmpl +112 -112
- package/plugins/pbr/templates/research-outputs/phase-research.md.tmpl +81 -81
- package/plugins/pbr/templates/research-outputs/project-research.md.tmpl +99 -99
- package/plugins/pbr/templates/research-outputs/synthesis.md.tmpl +36 -36
|
@@ -1,161 +1,161 @@
|
|
|
1
|
-
# STATE.md Update Pattern
|
|
2
|
-
|
|
3
|
-
Standard pattern for updating `.planning/STATE.md`. Include this fragment in skills that modify project state.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## When to Update STATE.md
|
|
8
|
-
|
|
9
|
-
| Event | What to Update |
|
|
10
|
-
|-------|---------------|
|
|
11
|
-
| Phase status changes (planned, building, verified) | Current Position section |
|
|
12
|
-
| Plan completes or fails | Plan counter, status, last activity |
|
|
13
|
-
| New decision made | Accumulated Context > Decisions |
|
|
14
|
-
| Blocker discovered or resolved | Accumulated Context > Blockers/Concerns |
|
|
15
|
-
| Session starts or ends | Session Continuity section |
|
|
16
|
-
| Milestone boundary | Milestone section |
|
|
17
|
-
|
|
18
|
-
---
|
|
19
|
-
|
|
20
|
-
## Section Format
|
|
21
|
-
|
|
22
|
-
STATE.md has 5 sections. Always preserve this order:
|
|
23
|
-
|
|
24
|
-
### 1. Project Reference (lines 4-7)
|
|
25
|
-
```
|
|
26
|
-
## Project Reference
|
|
27
|
-
See: .planning/PROJECT.md (updated {date})
|
|
28
|
-
**Core value:** {one-liner from PROJECT.md}
|
|
29
|
-
**Current focus:** Phase {N} - {name}
|
|
30
|
-
```
|
|
31
|
-
Update `Current focus` when phase changes.
|
|
32
|
-
|
|
33
|
-
### 2. Current Position (lines 9-14)
|
|
34
|
-
```
|
|
35
|
-
## Current Position
|
|
36
|
-
Phase: {N} of {total} ({Phase name})
|
|
37
|
-
Plan: {completed} of {total_plans} in current phase
|
|
38
|
-
Status: {Ready to plan | Planning | Building | Reviewing | Verified}
|
|
39
|
-
Last activity: {YYYY-MM-DD} -- {brief description}
|
|
40
|
-
Progress: [{progress_bar}] {percent}%
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
**Progress bar format:** 20 characters using `█` (done) and `░` (remaining).
|
|
44
|
-
```
|
|
45
|
-
Phase 3 of 10 = 20% → [████░░░░░░░░░░░░░░░░] 20%
|
|
46
|
-
Phase 7 of 10 = 70% → [██████████████░░░░░░] 70%
|
|
47
|
-
```
|
|
48
|
-
Calculation: `filled = Math.round((completed_phases / total_phases) * 20)`
|
|
49
|
-
|
|
50
|
-
### 3. Accumulated Context (lines 16-25)
|
|
51
|
-
```
|
|
52
|
-
## Accumulated Context
|
|
53
|
-
|
|
54
|
-
### Decisions
|
|
55
|
-
{Active decisions relevant to current work}
|
|
56
|
-
|
|
57
|
-
### Pending Todos
|
|
58
|
-
{Outstanding items, or "None"}
|
|
59
|
-
|
|
60
|
-
### Blockers/Concerns
|
|
61
|
-
{Active blockers, or "None"}
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
### 4. Milestone (lines 27-30)
|
|
65
|
-
```
|
|
66
|
-
## Milestone
|
|
67
|
-
Current: {project_name} {version}
|
|
68
|
-
Phases: {start}-{end}
|
|
69
|
-
Status: {In progress | Complete}
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
### 5. Session Continuity (lines 32-35)
|
|
73
|
-
```
|
|
74
|
-
## Session Continuity
|
|
75
|
-
Last session: {ISO timestamp}
|
|
76
|
-
Stopped at: {brief description of last action}
|
|
77
|
-
Resume file: {path or "None"}
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
---
|
|
81
|
-
|
|
82
|
-
## Size Limit Enforcement
|
|
83
|
-
|
|
84
|
-
**Hard limit: 150 lines.** After every STATE.md write, check the line count. If over 150 lines, compact:
|
|
85
|
-
|
|
86
|
-
1. **Collapse completed phase entries** to one-liners:
|
|
87
|
-
```
|
|
88
|
-
Phase 1: verified 2026-02-08
|
|
89
|
-
Phase 2: verified 2026-02-09
|
|
90
|
-
```
|
|
91
|
-
2. **Remove decisions already captured in CONTEXT.md** — avoid duplication between STATE.md and phase CONTEXT.md files
|
|
92
|
-
3. **Remove old session entries** — keep only the current session's continuity data
|
|
93
|
-
4. **Keep these always:** current phase detail, active blockers, core value statement, milestone info
|
|
94
|
-
|
|
95
|
-
If still over 150 lines after compaction, the Accumulated Context section has grown too large. Move non-critical decisions to the phase's CONTEXT.md file.
|
|
96
|
-
|
|
97
|
-
---
|
|
98
|
-
|
|
99
|
-
## HISTORY.md Archival
|
|
100
|
-
|
|
101
|
-
When a milestone completes or a phase is verified, archive historical context to `.planning/HISTORY.md` to keep STATE.md lean:
|
|
102
|
-
|
|
103
|
-
### What to Archive
|
|
104
|
-
|
|
105
|
-
| Trigger | What moves to HISTORY.md |
|
|
106
|
-
|---------|-------------------------|
|
|
107
|
-
| Phase verified | One-liner summary: "Phase {N} ({name}): verified {date}" |
|
|
108
|
-
| Milestone complete | Full milestone record: name, phases covered, key decisions |
|
|
109
|
-
| Accumulated Context > 20 lines | Decisions from completed phases (keep only current-phase decisions in STATE.md) |
|
|
110
|
-
|
|
111
|
-
### How to Archive
|
|
112
|
-
|
|
113
|
-
Use `pbr-tools.js history append`:
|
|
114
|
-
```
|
|
115
|
-
node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js history append phase "Phase 3 (Auth)" "Verified 2026-02-10. Key decisions: JWT + httpOnly cookies, Discord OAuth."
|
|
116
|
-
node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js history append milestone "v1.0 User Auth" "Phases 1-4. All verified. Core auth flow complete."
|
|
117
|
-
```
|
|
118
|
-
|
|
119
|
-
### After Archiving
|
|
120
|
-
|
|
121
|
-
Remove the archived content from STATE.md. The Accumulated Context section should contain ONLY:
|
|
122
|
-
- Decisions relevant to the **current** phase
|
|
123
|
-
- Active (unresolved) blockers
|
|
124
|
-
- Pending todos for the current milestone
|
|
125
|
-
|
|
126
|
-
Historical decisions live in HISTORY.md and per-phase SUMMARY.md files.
|
|
127
|
-
|
|
128
|
-
---
|
|
129
|
-
|
|
130
|
-
## Common Update Scenarios
|
|
131
|
-
|
|
132
|
-
### After build completes
|
|
133
|
-
```
|
|
134
|
-
Plan: {N} of {total} in current phase
|
|
135
|
-
Status: Building → Reviewing (if all plans done) or Building (if more plans remain)
|
|
136
|
-
Last activity: {date} -- Built plan {plan_id}
|
|
137
|
-
```
|
|
138
|
-
|
|
139
|
-
### After review/verification passes
|
|
140
|
-
```
|
|
141
|
-
Status: Verified
|
|
142
|
-
Last activity: {date} -- Phase {N} verified
|
|
143
|
-
Progress: [{updated bar}] {new percent}%
|
|
144
|
-
```
|
|
145
|
-
Also update **Current focus** to point to the next phase.
|
|
146
|
-
|
|
147
|
-
### After pause
|
|
148
|
-
```
|
|
149
|
-
## Session Continuity
|
|
150
|
-
Last session: {timestamp}
|
|
151
|
-
Stopped at: {what was in progress}
|
|
152
|
-
Resume file: .planning/.pause-state.json
|
|
153
|
-
```
|
|
154
|
-
|
|
155
|
-
### After milestone completion
|
|
156
|
-
```
|
|
157
|
-
## Milestone
|
|
158
|
-
Current: {project_name} {next_version}
|
|
159
|
-
Phases: {new_start}-{new_end}
|
|
160
|
-
Status: In progress
|
|
161
|
-
```
|
|
1
|
+
# STATE.md Update Pattern
|
|
2
|
+
|
|
3
|
+
Standard pattern for updating `.planning/STATE.md`. Include this fragment in skills that modify project state.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## When to Update STATE.md
|
|
8
|
+
|
|
9
|
+
| Event | What to Update |
|
|
10
|
+
|-------|---------------|
|
|
11
|
+
| Phase status changes (planned, building, verified) | Current Position section |
|
|
12
|
+
| Plan completes or fails | Plan counter, status, last activity |
|
|
13
|
+
| New decision made | Accumulated Context > Decisions |
|
|
14
|
+
| Blocker discovered or resolved | Accumulated Context > Blockers/Concerns |
|
|
15
|
+
| Session starts or ends | Session Continuity section |
|
|
16
|
+
| Milestone boundary | Milestone section |
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Section Format
|
|
21
|
+
|
|
22
|
+
STATE.md has 5 sections. Always preserve this order:
|
|
23
|
+
|
|
24
|
+
### 1. Project Reference (lines 4-7)
|
|
25
|
+
```
|
|
26
|
+
## Project Reference
|
|
27
|
+
See: .planning/PROJECT.md (updated {date})
|
|
28
|
+
**Core value:** {one-liner from PROJECT.md}
|
|
29
|
+
**Current focus:** Phase {N} - {name}
|
|
30
|
+
```
|
|
31
|
+
Update `Current focus` when phase changes.
|
|
32
|
+
|
|
33
|
+
### 2. Current Position (lines 9-14)
|
|
34
|
+
```
|
|
35
|
+
## Current Position
|
|
36
|
+
Phase: {N} of {total} ({Phase name})
|
|
37
|
+
Plan: {completed} of {total_plans} in current phase
|
|
38
|
+
Status: {Ready to plan | Planning | Building | Reviewing | Verified}
|
|
39
|
+
Last activity: {YYYY-MM-DD} -- {brief description}
|
|
40
|
+
Progress: [{progress_bar}] {percent}%
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
**Progress bar format:** 20 characters using `█` (done) and `░` (remaining).
|
|
44
|
+
```
|
|
45
|
+
Phase 3 of 10 = 20% → [████░░░░░░░░░░░░░░░░] 20%
|
|
46
|
+
Phase 7 of 10 = 70% → [██████████████░░░░░░] 70%
|
|
47
|
+
```
|
|
48
|
+
Calculation: `filled = Math.round((completed_phases / total_phases) * 20)`
|
|
49
|
+
|
|
50
|
+
### 3. Accumulated Context (lines 16-25)
|
|
51
|
+
```
|
|
52
|
+
## Accumulated Context
|
|
53
|
+
|
|
54
|
+
### Decisions
|
|
55
|
+
{Active decisions relevant to current work}
|
|
56
|
+
|
|
57
|
+
### Pending Todos
|
|
58
|
+
{Outstanding items, or "None"}
|
|
59
|
+
|
|
60
|
+
### Blockers/Concerns
|
|
61
|
+
{Active blockers, or "None"}
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### 4. Milestone (lines 27-30)
|
|
65
|
+
```
|
|
66
|
+
## Milestone
|
|
67
|
+
Current: {project_name} {version}
|
|
68
|
+
Phases: {start}-{end}
|
|
69
|
+
Status: {In progress | Complete}
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### 5. Session Continuity (lines 32-35)
|
|
73
|
+
```
|
|
74
|
+
## Session Continuity
|
|
75
|
+
Last session: {ISO timestamp}
|
|
76
|
+
Stopped at: {brief description of last action}
|
|
77
|
+
Resume file: {path or "None"}
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## Size Limit Enforcement
|
|
83
|
+
|
|
84
|
+
**Hard limit: 150 lines.** After every STATE.md write, check the line count. If over 150 lines, compact:
|
|
85
|
+
|
|
86
|
+
1. **Collapse completed phase entries** to one-liners:
|
|
87
|
+
```
|
|
88
|
+
Phase 1: verified 2026-02-08
|
|
89
|
+
Phase 2: verified 2026-02-09
|
|
90
|
+
```
|
|
91
|
+
2. **Remove decisions already captured in CONTEXT.md** — avoid duplication between STATE.md and phase CONTEXT.md files
|
|
92
|
+
3. **Remove old session entries** — keep only the current session's continuity data
|
|
93
|
+
4. **Keep these always:** current phase detail, active blockers, core value statement, milestone info
|
|
94
|
+
|
|
95
|
+
If still over 150 lines after compaction, the Accumulated Context section has grown too large. Move non-critical decisions to the phase's CONTEXT.md file.
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
## HISTORY.md Archival
|
|
100
|
+
|
|
101
|
+
When a milestone completes or a phase is verified, archive historical context to `.planning/HISTORY.md` to keep STATE.md lean:
|
|
102
|
+
|
|
103
|
+
### What to Archive
|
|
104
|
+
|
|
105
|
+
| Trigger | What moves to HISTORY.md |
|
|
106
|
+
|---------|-------------------------|
|
|
107
|
+
| Phase verified | One-liner summary: "Phase {N} ({name}): verified {date}" |
|
|
108
|
+
| Milestone complete | Full milestone record: name, phases covered, key decisions |
|
|
109
|
+
| Accumulated Context > 20 lines | Decisions from completed phases (keep only current-phase decisions in STATE.md) |
|
|
110
|
+
|
|
111
|
+
### How to Archive
|
|
112
|
+
|
|
113
|
+
Use `pbr-tools.js history append`:
|
|
114
|
+
```
|
|
115
|
+
node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js history append phase "Phase 3 (Auth)" "Verified 2026-02-10. Key decisions: JWT + httpOnly cookies, Discord OAuth."
|
|
116
|
+
node ${CLAUDE_PLUGIN_ROOT}/scripts/pbr-tools.js history append milestone "v1.0 User Auth" "Phases 1-4. All verified. Core auth flow complete."
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
### After Archiving
|
|
120
|
+
|
|
121
|
+
Remove the archived content from STATE.md. The Accumulated Context section should contain ONLY:
|
|
122
|
+
- Decisions relevant to the **current** phase
|
|
123
|
+
- Active (unresolved) blockers
|
|
124
|
+
- Pending todos for the current milestone
|
|
125
|
+
|
|
126
|
+
Historical decisions live in HISTORY.md and per-phase SUMMARY.md files.
|
|
127
|
+
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
## Common Update Scenarios
|
|
131
|
+
|
|
132
|
+
### After build completes
|
|
133
|
+
```
|
|
134
|
+
Plan: {N} of {total} in current phase
|
|
135
|
+
Status: Building → Reviewing (if all plans done) or Building (if more plans remain)
|
|
136
|
+
Last activity: {date} -- Built plan {plan_id}
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
### After review/verification passes
|
|
140
|
+
```
|
|
141
|
+
Status: Verified
|
|
142
|
+
Last activity: {date} -- Phase {N} verified
|
|
143
|
+
Progress: [{updated bar}] {new percent}%
|
|
144
|
+
```
|
|
145
|
+
Also update **Current focus** to point to the next phase.
|
|
146
|
+
|
|
147
|
+
### After pause
|
|
148
|
+
```
|
|
149
|
+
## Session Continuity
|
|
150
|
+
Last session: {timestamp}
|
|
151
|
+
Stopped at: {what was in progress}
|
|
152
|
+
Resume file: .planning/.pause-state.json
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
### After milestone completion
|
|
156
|
+
```
|
|
157
|
+
## Milestone
|
|
158
|
+
Current: {project_name} {next_version}
|
|
159
|
+
Phases: {new_start}-{new_end}
|
|
160
|
+
Status: In progress
|
|
161
|
+
```
|
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
# Universal Anti-Patterns
|
|
2
|
-
|
|
3
|
-
Rules that apply to ALL skills. Individual skills may have additional skill-specific anti-patterns listed in their own SKILL.md.
|
|
4
|
-
|
|
5
|
-
> Referenced by: all skills with Context Budget or Anti-Patterns sections
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## Context Budget Rules (apply to every skill)
|
|
10
|
-
|
|
11
|
-
These rules prevent context rot -- quality degradation as the context window fills up.
|
|
12
|
-
|
|
13
|
-
1. **Never** read agent definition files (`agents/*.md`) -- `subagent_type` auto-loads them. Reading agent definitions into the orchestrator wastes main context for content that is automatically injected into subagent sessions.
|
|
14
|
-
2. **Never** inline large files into Task() prompts -- tell agents to read files from disk instead. Agents have their own 200k token context windows.
|
|
15
|
-
3. **Minimize** reading subagent output into main context -- read only frontmatter, status fields, or summaries. Never read full SUMMARY.md, VERIFICATION.md, or RESEARCH.md bodies into the orchestrator unless specifically needed for inline presentation.
|
|
16
|
-
4. **Delegate** heavy work to Task() subagents -- the orchestrator routes, it does not build, analyze, research, investigate, or verify.
|
|
17
|
-
5. **Proactive pause warning**: If you have already consumed significant context (large file reads, multiple subagent results), warn the user: "Context budget is getting heavy. Consider running `/pbr:pause` to checkpoint progress." Suggest pause proactively rather than waiting for compaction.
|
|
18
|
-
|
|
19
|
-
## File Reading Rules (apply to every skill)
|
|
20
|
-
|
|
21
|
-
6. **Never** read full SUMMARY.md bodies from prior phases -- read frontmatter only (unless the skill specifically requires body content for presentation).
|
|
22
|
-
7. **Never** read full PLAN.md files from other phases -- only current phase plans.
|
|
23
|
-
8. **Never** read `.planning/logs/` files -- only the health skill reads these.
|
|
24
|
-
9. **Do not** re-read full file contents when frontmatter is sufficient -- frontmatter contains status, key_files, commits, and provides fields.
|
|
25
|
-
|
|
26
|
-
## Behavioral Rules (apply to every skill)
|
|
27
|
-
|
|
28
|
-
10. **Do not** re-litigate decisions that are already locked in CONTEXT.md -- respect locked decisions unconditionally.
|
|
29
|
-
11. **Do not** create artifacts the user did not approve -- always confirm before writing new planning documents.
|
|
30
|
-
12. **Do not** modify files outside the skill's stated scope -- check the "Files Created/Modified" table in each skill.
|
|
31
|
-
13. **Do not** suggest multiple next actions without clear priority -- one primary suggestion, alternatives listed secondary.
|
|
32
|
-
14. **Do not** use `git add .` or `git add -A` -- stage specific files only.
|
|
33
|
-
15. **Do not** include sensitive information (API keys, passwords, tokens) in planning documents or commits.
|
|
1
|
+
# Universal Anti-Patterns
|
|
2
|
+
|
|
3
|
+
Rules that apply to ALL skills. Individual skills may have additional skill-specific anti-patterns listed in their own SKILL.md.
|
|
4
|
+
|
|
5
|
+
> Referenced by: all skills with Context Budget or Anti-Patterns sections
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Context Budget Rules (apply to every skill)
|
|
10
|
+
|
|
11
|
+
These rules prevent context rot -- quality degradation as the context window fills up.
|
|
12
|
+
|
|
13
|
+
1. **Never** read agent definition files (`agents/*.md`) -- `subagent_type` auto-loads them. Reading agent definitions into the orchestrator wastes main context for content that is automatically injected into subagent sessions.
|
|
14
|
+
2. **Never** inline large files into Task() prompts -- tell agents to read files from disk instead. Agents have their own 200k token context windows.
|
|
15
|
+
3. **Minimize** reading subagent output into main context -- read only frontmatter, status fields, or summaries. Never read full SUMMARY.md, VERIFICATION.md, or RESEARCH.md bodies into the orchestrator unless specifically needed for inline presentation.
|
|
16
|
+
4. **Delegate** heavy work to Task() subagents -- the orchestrator routes, it does not build, analyze, research, investigate, or verify.
|
|
17
|
+
5. **Proactive pause warning**: If you have already consumed significant context (large file reads, multiple subagent results), warn the user: "Context budget is getting heavy. Consider running `/pbr:pause` to checkpoint progress." Suggest pause proactively rather than waiting for compaction.
|
|
18
|
+
|
|
19
|
+
## File Reading Rules (apply to every skill)
|
|
20
|
+
|
|
21
|
+
6. **Never** read full SUMMARY.md bodies from prior phases -- read frontmatter only (unless the skill specifically requires body content for presentation).
|
|
22
|
+
7. **Never** read full PLAN.md files from other phases -- only current phase plans.
|
|
23
|
+
8. **Never** read `.planning/logs/` files -- only the health skill reads these.
|
|
24
|
+
9. **Do not** re-read full file contents when frontmatter is sufficient -- frontmatter contains status, key_files, commits, and provides fields.
|
|
25
|
+
|
|
26
|
+
## Behavioral Rules (apply to every skill)
|
|
27
|
+
|
|
28
|
+
10. **Do not** re-litigate decisions that are already locked in CONTEXT.md -- respect locked decisions unconditionally.
|
|
29
|
+
11. **Do not** create artifacts the user did not approve -- always confirm before writing new planning documents.
|
|
30
|
+
12. **Do not** modify files outside the skill's stated scope -- check the "Files Created/Modified" table in each skill.
|
|
31
|
+
13. **Do not** suggest multiple next actions without clear priority -- one primary suggestion, alternatives listed secondary.
|
|
32
|
+
14. **Do not** use `git add .` or `git add -A` -- stage specific files only.
|
|
33
|
+
15. **Do not** include sensitive information (API keys, passwords, tokens) in planning documents or commits.
|