@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,181 +1,198 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: todo
|
|
3
|
-
description: "File-based persistent todos. Add, list, complete — survives sessions."
|
|
4
|
-
allowed-tools: Read, Write, Bash, Glob, Grep
|
|
5
|
-
argument-hint: "add <description> | list [theme] | done <NNN>"
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
##
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
{
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
**
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
───────────────────────────────────────────────────────────────
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
```
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
1
|
+
---
|
|
2
|
+
name: todo
|
|
3
|
+
description: "File-based persistent todos. Add, list, complete — survives sessions."
|
|
4
|
+
allowed-tools: Read, Write, Bash, Glob, Grep
|
|
5
|
+
argument-hint: "add <description> | list [theme] | done <NNN>"
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
**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.**
|
|
9
|
+
|
|
10
|
+
## Step 0 — Immediate Output
|
|
11
|
+
|
|
12
|
+
**Before ANY tool calls**, display this banner:
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
16
|
+
PLAN-BUILD-RUN ► TODO
|
|
17
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Then proceed to Step 1.
|
|
21
|
+
|
|
22
|
+
# /pbr:todo — Persistent File-Based Todos
|
|
23
|
+
|
|
24
|
+
## Why File-Based
|
|
25
|
+
|
|
26
|
+
Native Claude Code Tasks are session-scoped — they vanish when the conversation ends. Plan-Build-Run todos are individual `.md` files in `.planning/todos/` that persist across sessions, context resets, and compactions.
|
|
27
|
+
|
|
28
|
+
## Subcommands
|
|
29
|
+
|
|
30
|
+
Parse `$ARGUMENTS` to determine the subcommand:
|
|
31
|
+
|
|
32
|
+
### `add <description>`
|
|
33
|
+
|
|
34
|
+
1. Ensure `.planning/todos/pending/` directory exists
|
|
35
|
+
2. Generate NNN: scan **both** `.planning/todos/pending/` and `.planning/todos/done/` for the highest existing number, then increment by 1 (zero-padded to 3 digits)
|
|
36
|
+
3. Generate slug: take the first ~4 meaningful words from the description, lowercase, hyphen-separated (e.g., "Add rate limiting to login" → `add-rate-limiting-login`)
|
|
37
|
+
4. Infer theme from description (e.g., "auth" → security, "test" → testing, "UI" → frontend, "refactor" → quality)
|
|
38
|
+
5. Check for duplicates — read existing pending todos, if a similar one exists, ask user via AskUserQuestion
|
|
39
|
+
6. Create `.planning/todos/pending/{NNN}-{slug}.md`:
|
|
40
|
+
|
|
41
|
+
```yaml
|
|
42
|
+
---
|
|
43
|
+
title: "{description}"
|
|
44
|
+
status: pending
|
|
45
|
+
priority: P2
|
|
46
|
+
source: conversation
|
|
47
|
+
created: {YYYY-MM-DD}
|
|
48
|
+
theme: {inferred-theme}
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## Goal
|
|
52
|
+
|
|
53
|
+
{description expanded into a clear goal statement}
|
|
54
|
+
|
|
55
|
+
## Scope
|
|
56
|
+
|
|
57
|
+
{any relevant context from the current conversation, or bullet points of what's in/out of scope}
|
|
58
|
+
|
|
59
|
+
## Acceptance Criteria
|
|
60
|
+
|
|
61
|
+
- [ ] {primary acceptance criterion derived from description}
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
7. Update STATE.md Pending Todos section
|
|
65
|
+
|
|
66
|
+
If the Write fails, display:
|
|
67
|
+
```
|
|
68
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
69
|
+
║ ERROR ║
|
|
70
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
71
|
+
|
|
72
|
+
Failed to write todo file.
|
|
73
|
+
|
|
74
|
+
**To fix:** Check that `.planning/todos/pending/` exists and is writable.
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
8. Confirm with branded output:
|
|
78
|
+
```
|
|
79
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
80
|
+
PLAN-BUILD-RUN ► TODO ADDED ✓
|
|
81
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
82
|
+
|
|
83
|
+
**Todo {NNN}:** {description}
|
|
84
|
+
|
|
85
|
+
───────────────────────────────────────────────────────────────
|
|
86
|
+
|
|
87
|
+
## ▶ Next Up
|
|
88
|
+
|
|
89
|
+
**Work on it now** or see your task list
|
|
90
|
+
|
|
91
|
+
`/pbr:quick`
|
|
92
|
+
|
|
93
|
+
<sub>`/clear` first → fresh context window</sub>
|
|
94
|
+
|
|
95
|
+
───────────────────────────────────────────────────────────────
|
|
96
|
+
|
|
97
|
+
**Also available:**
|
|
98
|
+
- `/pbr:todo list` — see all pending todos
|
|
99
|
+
- `/pbr:status` — see project status
|
|
100
|
+
|
|
101
|
+
───────────────────────────────────────────────────────────────
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### `list [theme]`
|
|
105
|
+
|
|
106
|
+
1. Read all files in `.planning/todos/pending/`
|
|
107
|
+
2. Parse frontmatter from each
|
|
108
|
+
3. If theme filter provided, filter by theme
|
|
109
|
+
4. Display as table:
|
|
110
|
+
|
|
111
|
+
```
|
|
112
|
+
Pending Todos:
|
|
113
|
+
| # | Title | Priority | Theme | Created |
|
|
114
|
+
|---|-------|----------|-------|---------|
|
|
115
|
+
| 074 | Status-line customization options | P2 | capability | 2026-02-10 |
|
|
116
|
+
| 075 | Add WebSearch/WebFetch/Context7 to researcher | P2 | capability | 2026-02-10 |
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
5. Offer actions with branded routing:
|
|
120
|
+
```
|
|
121
|
+
───────────────────────────────────────────────────────────────
|
|
122
|
+
|
|
123
|
+
## ▶ Next Up
|
|
124
|
+
|
|
125
|
+
**Pick a todo** — mark one done or start working
|
|
126
|
+
|
|
127
|
+
`/pbr:todo done <NNN>`
|
|
128
|
+
|
|
129
|
+
───────────────────────────────────────────────────────────────
|
|
130
|
+
|
|
131
|
+
**Also available:**
|
|
132
|
+
- `/pbr:quick` — work on one now
|
|
133
|
+
- `/pbr:status` — see project status
|
|
134
|
+
|
|
135
|
+
───────────────────────────────────────────────────────────────
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
### `done <NNN>`
|
|
139
|
+
|
|
140
|
+
1. Find `.planning/todos/pending/{NNN}-*.md` (match by number prefix)
|
|
141
|
+
2. If not found, display:
|
|
142
|
+
```
|
|
143
|
+
╔══════════════════════════════════════════════════════════════╗
|
|
144
|
+
║ ERROR ║
|
|
145
|
+
╚══════════════════════════════════════════════════════════════╝
|
|
146
|
+
|
|
147
|
+
Todo {NNN} not found in pending todos.
|
|
148
|
+
|
|
149
|
+
**To fix:** Run `/pbr:todo list` to see available numbers.
|
|
150
|
+
```
|
|
151
|
+
3. Ensure `.planning/todos/done/` directory exists (create if needed)
|
|
152
|
+
4. Read the pending file content
|
|
153
|
+
5. Update frontmatter in the content: set `status: done` and add `completed: {YYYY-MM-DD}`
|
|
154
|
+
6. Write the updated content to `.planning/todos/done/{NNN}-{slug}.md`
|
|
155
|
+
7. Delete the original file from `.planning/todos/pending/` (use `rm` via Bash)
|
|
156
|
+
8. Update STATE.md
|
|
157
|
+
9. Confirm with branded output:
|
|
158
|
+
```
|
|
159
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
160
|
+
PLAN-BUILD-RUN ► TODO COMPLETED ✓
|
|
161
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
162
|
+
|
|
163
|
+
**Todo {NNN}:** {title}
|
|
164
|
+
|
|
165
|
+
───────────────────────────────────────────────────────────────
|
|
166
|
+
|
|
167
|
+
## ▶ Next Up
|
|
168
|
+
|
|
169
|
+
**See remaining tasks**
|
|
170
|
+
|
|
171
|
+
`/pbr:todo list`
|
|
172
|
+
|
|
173
|
+
<sub>`/clear` first → fresh context window</sub>
|
|
174
|
+
|
|
175
|
+
───────────────────────────────────────────────────────────────
|
|
176
|
+
|
|
177
|
+
**Also available:**
|
|
178
|
+
- `/pbr:continue` — execute next logical step
|
|
179
|
+
- `/pbr:status` — see project status
|
|
180
|
+
|
|
181
|
+
───────────────────────────────────────────────────────────────
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
### No arguments
|
|
185
|
+
|
|
186
|
+
Show a brief summary: count of pending todos, grouped by theme, plus usage hint.
|
|
187
|
+
|
|
188
|
+
## State Integration
|
|
189
|
+
|
|
190
|
+
After any todo operation, update the "Pending Todos" section of STATE.md with the current count and list.
|
|
191
|
+
|
|
192
|
+
## Git Integration
|
|
193
|
+
|
|
194
|
+
Reference: `skills/shared/commit-planning-docs.md` for the standard commit pattern.
|
|
195
|
+
|
|
196
|
+
If `planning.commit_docs: true` in config, commit todo changes:
|
|
197
|
+
- `docs(planning): add todo {NNN}`
|
|
198
|
+
- `docs(planning): complete todo {NNN}`
|
|
@@ -1,52 +1,52 @@
|
|
|
1
|
-
# CONTEXT.md Template
|
|
2
|
-
|
|
3
|
-
> Referenced by: begin skill (Step 9c), discuss skill, plan skill
|
|
4
|
-
> Created during /pbr:begin. Updated by /pbr:discuss and /pbr:plan --assumptions.
|
|
5
|
-
|
|
6
|
-
## Structure
|
|
7
|
-
|
|
8
|
-
```markdown
|
|
9
|
-
# Project Context
|
|
10
|
-
|
|
11
|
-
## Locked Decisions
|
|
12
|
-
|
|
13
|
-
{Technology choices, architecture decisions, and constraints that are NON-NEGOTIABLE.
|
|
14
|
-
These MUST be honored by every plan and executor — no exceptions.}
|
|
15
|
-
|
|
16
|
-
| Decision | Rationale | Locked By |
|
|
17
|
-
|----------|-----------|-----------|
|
|
18
|
-
| {e.g., "Use TypeScript"} | {User preference, team skill} | User |
|
|
19
|
-
| {e.g., "PostgreSQL via Supabase"} | {Existing infrastructure} | User |
|
|
20
|
-
|
|
21
|
-
## User Constraints
|
|
22
|
-
|
|
23
|
-
{Budget, timeline, skill level, hosting, team size — factors that shape planning}
|
|
24
|
-
|
|
25
|
-
- {e.g., "Solo developer, no team"}
|
|
26
|
-
- {e.g., "Deploy to Hetzner VPS"}
|
|
27
|
-
- {e.g., "Must work offline"}
|
|
28
|
-
|
|
29
|
-
## Deferred Ideas
|
|
30
|
-
|
|
31
|
-
{Features explicitly moved to v2 or out-of-scope. Plans MUST NOT include these.}
|
|
32
|
-
|
|
33
|
-
| Idea | Reason Deferred |
|
|
34
|
-
|------|----------------|
|
|
35
|
-
| {feature} | {reason} |
|
|
36
|
-
|
|
37
|
-
## Claude's Discretion Areas
|
|
38
|
-
|
|
39
|
-
{Areas where the planner can make implementation choices without asking the user.
|
|
40
|
-
Document the choice made and rationale when exercised.}
|
|
41
|
-
|
|
42
|
-
| Area | Choice Made | Rationale |
|
|
43
|
-
|------|------------|-----------|
|
|
44
|
-
| {e.g., "State management library"} | {e.g., "Zustand"} | {e.g., "Lightweight, fits project size"} |
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
## Rules
|
|
48
|
-
|
|
49
|
-
- Locked decisions are immutable once set — only the user can change them
|
|
50
|
-
- Deferred ideas must NEVER appear in plans
|
|
51
|
-
- Discretion areas are documented when the planner exercises choice
|
|
52
|
-
- Phase-level CONTEXT.md files (in phase directories) override project-level for that phase
|
|
1
|
+
# CONTEXT.md Template
|
|
2
|
+
|
|
3
|
+
> Referenced by: begin skill (Step 9c), discuss skill, plan skill
|
|
4
|
+
> Created during /pbr:begin. Updated by /pbr:discuss and /pbr:plan --assumptions.
|
|
5
|
+
|
|
6
|
+
## Structure
|
|
7
|
+
|
|
8
|
+
```markdown
|
|
9
|
+
# Project Context
|
|
10
|
+
|
|
11
|
+
## Locked Decisions
|
|
12
|
+
|
|
13
|
+
{Technology choices, architecture decisions, and constraints that are NON-NEGOTIABLE.
|
|
14
|
+
These MUST be honored by every plan and executor — no exceptions.}
|
|
15
|
+
|
|
16
|
+
| Decision | Rationale | Locked By |
|
|
17
|
+
|----------|-----------|-----------|
|
|
18
|
+
| {e.g., "Use TypeScript"} | {User preference, team skill} | User |
|
|
19
|
+
| {e.g., "PostgreSQL via Supabase"} | {Existing infrastructure} | User |
|
|
20
|
+
|
|
21
|
+
## User Constraints
|
|
22
|
+
|
|
23
|
+
{Budget, timeline, skill level, hosting, team size — factors that shape planning}
|
|
24
|
+
|
|
25
|
+
- {e.g., "Solo developer, no team"}
|
|
26
|
+
- {e.g., "Deploy to Hetzner VPS"}
|
|
27
|
+
- {e.g., "Must work offline"}
|
|
28
|
+
|
|
29
|
+
## Deferred Ideas
|
|
30
|
+
|
|
31
|
+
{Features explicitly moved to v2 or out-of-scope. Plans MUST NOT include these.}
|
|
32
|
+
|
|
33
|
+
| Idea | Reason Deferred |
|
|
34
|
+
|------|----------------|
|
|
35
|
+
| {feature} | {reason} |
|
|
36
|
+
|
|
37
|
+
## Claude's Discretion Areas
|
|
38
|
+
|
|
39
|
+
{Areas where the planner can make implementation choices without asking the user.
|
|
40
|
+
Document the choice made and rationale when exercised.}
|
|
41
|
+
|
|
42
|
+
| Area | Choice Made | Rationale |
|
|
43
|
+
|------|------------|-----------|
|
|
44
|
+
| {e.g., "State management library"} | {e.g., "Zustand"} | {e.g., "Lightweight, fits project size"} |
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Rules
|
|
48
|
+
|
|
49
|
+
- Locked decisions are immutable once set — only the user can change them
|
|
50
|
+
- Deferred ideas must NEVER appear in plans
|
|
51
|
+
- Discretion areas are documented when the planner exercises choice
|
|
52
|
+
- Phase-level CONTEXT.md files (in phase directories) override project-level for that phase
|