@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.
Files changed (233) hide show
  1. package/CHANGELOG.md +56 -56
  2. package/CLAUDE.md +149 -149
  3. package/LICENSE +21 -21
  4. package/README.md +247 -247
  5. package/dashboard/bin/cli.js +25 -25
  6. package/dashboard/package.json +34 -34
  7. package/dashboard/public/css/layout.css +406 -406
  8. package/dashboard/public/css/status-colors.css +98 -98
  9. package/dashboard/public/js/htmx-title.js +5 -5
  10. package/dashboard/public/js/sidebar-toggle.js +20 -20
  11. package/dashboard/src/app.js +78 -78
  12. package/dashboard/src/middleware/errorHandler.js +52 -52
  13. package/dashboard/src/middleware/notFoundHandler.js +9 -9
  14. package/dashboard/src/repositories/planning.repository.js +128 -128
  15. package/dashboard/src/routes/events.routes.js +40 -40
  16. package/dashboard/src/routes/index.routes.js +31 -31
  17. package/dashboard/src/routes/pages.routes.js +245 -195
  18. package/dashboard/src/server.js +42 -42
  19. package/dashboard/src/services/dashboard.service.js +222 -222
  20. package/dashboard/src/services/phase.service.js +220 -167
  21. package/dashboard/src/services/project.service.js +57 -57
  22. package/dashboard/src/services/roadmap.service.js +171 -171
  23. package/dashboard/src/services/sse.service.js +58 -58
  24. package/dashboard/src/services/todo.service.js +254 -254
  25. package/dashboard/src/services/watcher.service.js +48 -48
  26. package/dashboard/src/views/coming-soon.ejs +11 -11
  27. package/dashboard/src/views/error.ejs +13 -13
  28. package/dashboard/src/views/index.ejs +5 -5
  29. package/dashboard/src/views/layout.ejs +1 -1
  30. package/dashboard/src/views/partials/dashboard-content.ejs +77 -77
  31. package/dashboard/src/views/partials/footer.ejs +3 -3
  32. package/dashboard/src/views/partials/head.ejs +21 -21
  33. package/dashboard/src/views/partials/header.ejs +12 -12
  34. package/dashboard/src/views/partials/layout-bottom.ejs +15 -15
  35. package/dashboard/src/views/partials/layout-top.ejs +8 -8
  36. package/dashboard/src/views/partials/phase-content.ejs +188 -181
  37. package/dashboard/src/views/partials/phase-doc-content.ejs +38 -0
  38. package/dashboard/src/views/partials/phases-content.ejs +117 -117
  39. package/dashboard/src/views/partials/roadmap-content.ejs +142 -142
  40. package/dashboard/src/views/partials/sidebar.ejs +38 -38
  41. package/dashboard/src/views/partials/todo-create-content.ejs +53 -53
  42. package/dashboard/src/views/partials/todo-detail-content.ejs +38 -38
  43. package/dashboard/src/views/partials/todos-content.ejs +53 -53
  44. package/dashboard/src/views/phase-detail.ejs +5 -5
  45. package/dashboard/src/views/phase-doc.ejs +5 -0
  46. package/dashboard/src/views/phases.ejs +5 -5
  47. package/dashboard/src/views/roadmap.ejs +5 -5
  48. package/dashboard/src/views/todo-create.ejs +5 -5
  49. package/dashboard/src/views/todo-detail.ejs +5 -5
  50. package/dashboard/src/views/todos.ejs +5 -5
  51. package/package.json +57 -57
  52. package/plugins/cursor-pbr/.cursor-plugin/plugin.json +22 -0
  53. package/plugins/cursor-pbr/agents/.gitkeep +0 -0
  54. package/plugins/cursor-pbr/assets/.gitkeep +0 -0
  55. package/plugins/cursor-pbr/hooks/hooks.json +11 -0
  56. package/plugins/cursor-pbr/references/.gitkeep +0 -0
  57. package/plugins/cursor-pbr/rules/.gitkeep +0 -0
  58. package/plugins/cursor-pbr/skills/.gitkeep +0 -0
  59. package/plugins/cursor-pbr/templates/.gitkeep +0 -0
  60. package/plugins/pbr/.claude-plugin/plugin.json +13 -13
  61. package/plugins/pbr/UI-CONSISTENCY-GAPS.md +61 -61
  62. package/plugins/pbr/agents/codebase-mapper.md +279 -271
  63. package/plugins/pbr/agents/debugger.md +281 -281
  64. package/plugins/pbr/agents/executor.md +428 -407
  65. package/plugins/pbr/agents/general.md +164 -164
  66. package/plugins/pbr/agents/integration-checker.md +169 -141
  67. package/plugins/pbr/agents/plan-checker.md +296 -280
  68. package/plugins/pbr/agents/planner.md +358 -358
  69. package/plugins/pbr/agents/researcher.md +363 -363
  70. package/plugins/pbr/agents/synthesizer.md +230 -230
  71. package/plugins/pbr/agents/verifier.md +489 -454
  72. package/plugins/pbr/commands/begin.md +5 -5
  73. package/plugins/pbr/commands/build.md +5 -5
  74. package/plugins/pbr/commands/config.md +5 -5
  75. package/plugins/pbr/commands/continue.md +5 -5
  76. package/plugins/pbr/commands/debug.md +5 -5
  77. package/plugins/pbr/commands/discuss.md +5 -5
  78. package/plugins/pbr/commands/explore.md +5 -5
  79. package/plugins/pbr/commands/health.md +5 -5
  80. package/plugins/pbr/commands/help.md +5 -5
  81. package/plugins/pbr/commands/import.md +5 -5
  82. package/plugins/pbr/commands/milestone.md +5 -5
  83. package/plugins/pbr/commands/note.md +5 -5
  84. package/plugins/pbr/commands/pause.md +5 -5
  85. package/plugins/pbr/commands/plan.md +5 -5
  86. package/plugins/pbr/commands/quick.md +5 -5
  87. package/plugins/pbr/commands/resume.md +5 -5
  88. package/plugins/pbr/commands/review.md +5 -5
  89. package/plugins/pbr/commands/scan.md +5 -5
  90. package/plugins/pbr/commands/setup.md +5 -5
  91. package/plugins/pbr/commands/status.md +5 -5
  92. package/plugins/pbr/commands/todo.md +5 -5
  93. package/plugins/pbr/contexts/dev.md +27 -27
  94. package/plugins/pbr/contexts/research.md +28 -28
  95. package/plugins/pbr/contexts/review.md +36 -36
  96. package/plugins/pbr/hooks/hooks.json +183 -183
  97. package/plugins/pbr/references/agent-anti-patterns.md +24 -24
  98. package/plugins/pbr/references/agent-interactions.md +134 -134
  99. package/plugins/pbr/references/agent-teams.md +54 -54
  100. package/plugins/pbr/references/checkpoints.md +157 -157
  101. package/plugins/pbr/references/common-bug-patterns.md +13 -13
  102. package/plugins/pbr/references/config-reference.md +441 -0
  103. package/plugins/pbr/references/continuation-format.md +212 -212
  104. package/plugins/pbr/references/deviation-rules.md +112 -112
  105. package/plugins/pbr/references/git-integration.md +226 -226
  106. package/plugins/pbr/references/integration-patterns.md +117 -117
  107. package/plugins/pbr/references/model-profiles.md +99 -99
  108. package/plugins/pbr/references/model-selection.md +31 -31
  109. package/plugins/pbr/references/pbr-rules.md +193 -193
  110. package/plugins/pbr/references/plan-authoring.md +181 -181
  111. package/plugins/pbr/references/plan-format.md +287 -283
  112. package/plugins/pbr/references/planning-config.md +213 -213
  113. package/plugins/pbr/references/questioning.md +214 -214
  114. package/plugins/pbr/references/reading-verification.md +127 -127
  115. package/plugins/pbr/references/stub-patterns.md +160 -160
  116. package/plugins/pbr/references/subagent-coordination.md +119 -119
  117. package/plugins/pbr/references/ui-formatting.md +461 -399
  118. package/plugins/pbr/references/verification-patterns.md +198 -198
  119. package/plugins/pbr/references/wave-execution.md +95 -95
  120. package/plugins/pbr/scripts/auto-continue.js +80 -80
  121. package/plugins/pbr/scripts/check-dangerous-commands.js +136 -136
  122. package/plugins/pbr/scripts/check-doc-sprawl.js +102 -102
  123. package/plugins/pbr/scripts/check-phase-boundary.js +196 -196
  124. package/plugins/pbr/scripts/check-plan-format.js +270 -270
  125. package/plugins/pbr/scripts/check-roadmap-sync.js +322 -252
  126. package/plugins/pbr/scripts/check-skill-workflow.js +262 -262
  127. package/plugins/pbr/scripts/check-state-sync.js +476 -476
  128. package/plugins/pbr/scripts/check-subagent-output.js +144 -144
  129. package/plugins/pbr/scripts/config-schema.json +251 -251
  130. package/plugins/pbr/scripts/context-budget-check.js +287 -287
  131. package/plugins/pbr/scripts/event-handler.js +151 -151
  132. package/plugins/pbr/scripts/event-logger.js +92 -92
  133. package/plugins/pbr/scripts/hook-logger.js +80 -76
  134. package/plugins/pbr/scripts/hooks-schema.json +79 -79
  135. package/plugins/pbr/scripts/log-subagent.js +164 -152
  136. package/plugins/pbr/scripts/log-tool-failure.js +88 -88
  137. package/plugins/pbr/scripts/pbr-tools.js +1378 -1301
  138. package/plugins/pbr/scripts/post-write-dispatch.js +66 -66
  139. package/plugins/pbr/scripts/post-write-quality.js +207 -207
  140. package/plugins/pbr/scripts/pre-bash-dispatch.js +86 -56
  141. package/plugins/pbr/scripts/pre-write-dispatch.js +97 -62
  142. package/plugins/pbr/scripts/progress-tracker.js +281 -228
  143. package/plugins/pbr/scripts/run-hook.js +92 -0
  144. package/plugins/pbr/scripts/session-cleanup.js +254 -254
  145. package/plugins/pbr/scripts/status-line.js +288 -285
  146. package/plugins/pbr/scripts/suggest-compact.js +119 -119
  147. package/plugins/pbr/scripts/task-completed.js +45 -45
  148. package/plugins/pbr/scripts/track-context-budget.js +149 -119
  149. package/plugins/pbr/scripts/validate-commit.js +200 -200
  150. package/plugins/pbr/scripts/validate-plugin-structure.js +183 -172
  151. package/plugins/pbr/scripts/validate-task.js +106 -0
  152. package/plugins/pbr/skills/begin/SKILL.md +594 -545
  153. package/plugins/pbr/skills/begin/templates/PROJECT.md.tmpl +33 -33
  154. package/plugins/pbr/skills/begin/templates/REQUIREMENTS.md.tmpl +18 -18
  155. package/plugins/pbr/skills/begin/templates/STATE.md.tmpl +49 -49
  156. package/plugins/pbr/skills/begin/templates/config.json.tmpl +64 -63
  157. package/plugins/pbr/skills/begin/templates/researcher-prompt.md.tmpl +19 -19
  158. package/plugins/pbr/skills/begin/templates/roadmap-prompt.md.tmpl +30 -30
  159. package/plugins/pbr/skills/begin/templates/synthesis-prompt.md.tmpl +16 -16
  160. package/plugins/pbr/skills/build/SKILL.md +943 -962
  161. package/plugins/pbr/skills/config/SKILL.md +256 -241
  162. package/plugins/pbr/skills/continue/SKILL.md +164 -127
  163. package/plugins/pbr/skills/debug/SKILL.md +515 -489
  164. package/plugins/pbr/skills/debug/templates/continuation-prompt.md.tmpl +16 -16
  165. package/plugins/pbr/skills/debug/templates/initial-investigation-prompt.md.tmpl +27 -27
  166. package/plugins/pbr/skills/discuss/SKILL.md +347 -338
  167. package/plugins/pbr/skills/discuss/templates/CONTEXT.md.tmpl +61 -61
  168. package/plugins/pbr/skills/discuss/templates/decision-categories.md +9 -9
  169. package/plugins/pbr/skills/explore/SKILL.md +378 -362
  170. package/plugins/pbr/skills/health/SKILL.md +221 -186
  171. package/plugins/pbr/skills/health/templates/check-pattern.md.tmpl +30 -30
  172. package/plugins/pbr/skills/health/templates/output-format.md.tmpl +63 -63
  173. package/plugins/pbr/skills/help/SKILL.md +155 -140
  174. package/plugins/pbr/skills/import/SKILL.md +504 -490
  175. package/plugins/pbr/skills/milestone/SKILL.md +704 -673
  176. package/plugins/pbr/skills/milestone/templates/audit-report.md.tmpl +48 -48
  177. package/plugins/pbr/skills/milestone/templates/stats-file.md.tmpl +30 -30
  178. package/plugins/pbr/skills/note/SKILL.md +231 -212
  179. package/plugins/pbr/skills/pause/SKILL.md +249 -235
  180. package/plugins/pbr/skills/pause/templates/continue-here.md.tmpl +71 -71
  181. package/plugins/pbr/skills/plan/SKILL.md +685 -628
  182. package/plugins/pbr/skills/plan/decimal-phase-calc.md +98 -98
  183. package/plugins/pbr/skills/plan/templates/checker-prompt.md.tmpl +21 -21
  184. package/plugins/pbr/skills/plan/templates/gap-closure-prompt.md.tmpl +32 -32
  185. package/plugins/pbr/skills/plan/templates/planner-prompt.md.tmpl +38 -38
  186. package/plugins/pbr/skills/plan/templates/researcher-prompt.md.tmpl +19 -19
  187. package/plugins/pbr/skills/plan/templates/revision-prompt.md.tmpl +23 -23
  188. package/plugins/pbr/skills/quick/SKILL.md +354 -335
  189. package/plugins/pbr/skills/resume/SKILL.md +402 -388
  190. package/plugins/pbr/skills/review/SKILL.md +686 -652
  191. package/plugins/pbr/skills/review/templates/debugger-prompt.md.tmpl +60 -60
  192. package/plugins/pbr/skills/review/templates/gap-planner-prompt.md.tmpl +40 -40
  193. package/plugins/pbr/skills/review/templates/verifier-prompt.md.tmpl +115 -115
  194. package/plugins/pbr/skills/scan/SKILL.md +304 -269
  195. package/plugins/pbr/skills/scan/templates/mapper-prompt.md.tmpl +201 -201
  196. package/plugins/pbr/skills/setup/SKILL.md +253 -227
  197. package/plugins/pbr/skills/shared/commit-planning-docs.md +35 -35
  198. package/plugins/pbr/skills/shared/config-loading.md +102 -102
  199. package/plugins/pbr/skills/shared/context-budget.md +40 -40
  200. package/plugins/pbr/skills/shared/context-loader-task.md +86 -86
  201. package/plugins/pbr/skills/shared/digest-select.md +79 -79
  202. package/plugins/pbr/skills/shared/domain-probes.md +125 -125
  203. package/plugins/pbr/skills/shared/error-reporting.md +79 -79
  204. package/plugins/pbr/skills/shared/gate-prompts.md +388 -388
  205. package/plugins/pbr/skills/shared/phase-argument-parsing.md +45 -45
  206. package/plugins/pbr/skills/shared/progress-display.md +53 -53
  207. package/plugins/pbr/skills/shared/revision-loop.md +81 -81
  208. package/plugins/pbr/skills/shared/state-loading.md +62 -62
  209. package/plugins/pbr/skills/shared/state-update.md +161 -161
  210. package/plugins/pbr/skills/shared/universal-anti-patterns.md +33 -33
  211. package/plugins/pbr/skills/status/SKILL.md +367 -353
  212. package/plugins/pbr/skills/todo/SKILL.md +198 -181
  213. package/plugins/pbr/templates/CONTEXT.md.tmpl +52 -52
  214. package/plugins/pbr/templates/INTEGRATION-REPORT.md.tmpl +151 -151
  215. package/plugins/pbr/templates/RESEARCH-SUMMARY.md.tmpl +97 -97
  216. package/plugins/pbr/templates/ROADMAP.md.tmpl +40 -40
  217. package/plugins/pbr/templates/SUMMARY.md.tmpl +81 -81
  218. package/plugins/pbr/templates/VERIFICATION-DETAIL.md.tmpl +116 -116
  219. package/plugins/pbr/templates/codebase/ARCHITECTURE.md.tmpl +98 -98
  220. package/plugins/pbr/templates/codebase/CONCERNS.md.tmpl +93 -93
  221. package/plugins/pbr/templates/codebase/CONVENTIONS.md.tmpl +104 -104
  222. package/plugins/pbr/templates/codebase/INTEGRATIONS.md.tmpl +78 -78
  223. package/plugins/pbr/templates/codebase/STACK.md.tmpl +78 -78
  224. package/plugins/pbr/templates/codebase/STRUCTURE.md.tmpl +80 -80
  225. package/plugins/pbr/templates/codebase/TESTING.md.tmpl +107 -107
  226. package/plugins/pbr/templates/continue-here.md.tmpl +73 -73
  227. package/plugins/pbr/templates/prompt-partials/phase-project-context.md.tmpl +37 -37
  228. package/plugins/pbr/templates/research/ARCHITECTURE.md.tmpl +124 -124
  229. package/plugins/pbr/templates/research/STACK.md.tmpl +71 -71
  230. package/plugins/pbr/templates/research/SUMMARY.md.tmpl +112 -112
  231. package/plugins/pbr/templates/research-outputs/phase-research.md.tmpl +81 -81
  232. package/plugins/pbr/templates/research-outputs/project-research.md.tmpl +99 -99
  233. package/plugins/pbr/templates/research-outputs/synthesis.md.tmpl +36 -36
@@ -1,235 +1,249 @@
1
- ---
2
- name: pause
3
- description: "Save your current session state for later resumption."
4
- allowed-tools: Read, Write, Bash, Glob
5
- ---
6
-
7
- # /pbr:pause Save Session State
8
-
9
- You are running the **pause** skill. Your job is to capture the current session state so the user can resume exactly where they left off in a future conversation. This creates a `.continue-here.md` handoff file with everything the next session needs.
10
-
11
- This skill runs **inline** (no Task delegation).
12
-
13
- ---
14
-
15
- ## Core Principle
16
-
17
- **Capture everything the next session needs to hit the ground running.** The resume skill will read this file cold, with zero prior context. Write it as if you're handing off to a colleague who has never seen this project.
18
-
19
- ---
20
-
21
- ## Flow
22
-
23
- ### Step 1: Read Current State
24
-
25
- **Flag: `--checkpoint`**
26
-
27
- If `$ARGUMENTS` contains `--checkpoint`:
28
- - Perform a lightweight state dump without full session analysis
29
- - Write a minimal .continue-here.md with just: Position, git status, and suggested next action
30
- - Skip the detailed "Completed This Session" analysis (saves time)
31
- - Useful for quick manual checkpoints at any point
32
-
33
- Read the following files to understand where things stand:
34
-
35
- 1. **`.planning/STATE.md`** — Current position
36
- - Extract: current phase, current plan, progress, blockers
37
- - If STATE.md doesn't exist, display:
38
- ```
39
- ╔══════════════════════════════════════════════════════════════╗
40
- ║ ERROR ║
41
- ╚══════════════════════════════════════════════════════════════╝
42
-
43
- No Plan-Build-Run project state found. Nothing to pause.
44
-
45
- **To fix:** Run `/pbr:begin` to initialize a project first.
46
- ```
47
-
48
- 2. **`.planning/config.json`** — Project settings
49
- - Extract: project name, feature toggles
50
-
51
- 3. **`.planning/ROADMAP.md`** Phase overview
52
- - Extract: current phase name, total phases
53
-
54
- ### Step 2: Determine Current Phase Directory
55
-
56
- From STATE.md, get the current phase number and find its directory:
57
- 1. List directories in `.planning/phases/`
58
- 2. Match the current phase number to a directory
59
- 3. If no match: use the most recently modified phase directory
60
-
61
- ### Step 3: Gather Session State
62
-
63
- Collect the following information:
64
-
65
- #### Current Position
66
- - Phase number and name
67
- - Plan number (if mid-phase) or "between plans"
68
- - Status: in-progress, between-plans, between-phases, planning, reviewing
69
-
70
- #### Work Completed This Session
71
- Scan the current phase directory for SUMMARY.md files:
72
- - Read each SUMMARY.md frontmatter
73
- - Note which ones were created/modified recently (check timestamps or git log)
74
- - For recently completed plans: extract the plan name and brief status
75
-
76
- Also check git log for recent commits:
77
- ```bash
78
- git log --oneline -20 --since="8 hours ago"
79
- ```
80
- This gives a reasonable window for "this session's work."
81
-
82
- #### Remaining Work
83
- Scan for plan files without corresponding SUMMARY.md files:
84
- - These are plans that haven't been executed yet
85
- - List them with brief descriptions from their frontmatter
86
-
87
- #### Key Decisions Made
88
- Check for:
89
- - Recent CONTEXT.md files (from `/pbr:discuss`)
90
- - Key decisions in recent SUMMARY.md files
91
- - Any deviations noted in summaries
92
-
93
- #### Blockers or Concerns
94
- From STATE.md blockers section and any:
95
- - Failed verifications
96
- - Checkpoint stops
97
- - Active debug sessions
98
- - Unresolved issues noted in summaries
99
-
100
- #### What to Do Next
101
- Determine the logical next action (same routing logic as `/pbr:status`):
102
- - If mid-plan execution: "Continue building phase N"
103
- - If between plans in a phase: "Execute next plan (plan M)"
104
- - If phase complete, not reviewed: "Review phase N"
105
- - If phase reviewed, has gaps: "Fix gaps in phase N"
106
- - If phase complete: "Plan phase N+1"
107
-
108
- ### Step 4: Write .continue-here.md
109
-
110
- Write the handoff file to the current phase directory:
111
-
112
- **Path:** `.planning/phases/{NN}-{phase-name}/.continue-here.md`
113
-
114
- **Content:**
115
-
116
- Read `skills/pause/templates/continue-here.md.tmpl` for the handoff file format. Fill in all `{variable}` placeholders with actual session data gathered in Steps 1-3.
117
-
118
- ### Step 5: Update STATE.md
119
-
120
- Update the Session Continuity section of STATE.md:
121
-
122
- ```markdown
123
- ### Session Continuity
124
-
125
- **Last paused:** {ISO datetime}
126
- **Position:** Phase {N}, Plan {M}
127
- **Continue file:** .planning/phases/{NN}-{phase-name}/.continue-here.md
128
- **Next action:** {suggested command}
129
- ```
130
-
131
- If the Session Continuity section doesn't exist, create it at the end of STATE.md.
132
-
133
- ### Step 6: Commit as WIP
134
-
135
- Reference: `skills/shared/commit-planning-docs.md` for the standard commit pattern.
136
-
137
- If `planning.commit_docs: true` in config.json:
138
-
139
- ```bash
140
- git add .planning/phases/{NN}-{phase-name}/.continue-here.md
141
- git add .planning/STATE.md
142
- git commit -m "wip: pause at phase {N} plan {M}"
143
- ```
144
-
145
- **Commit rules:**
146
- - Always use `wip:` prefix for pause commits
147
- - Include phase and plan numbers
148
- - Stage only the continue-here and STATE.md files
149
- - Do NOT stage any code changes (those should already be committed by the executor)
150
-
151
- ### Step 7: Confirm to User
152
-
153
- Display branded confirmation:
154
-
155
- ```
156
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
157
- PLAN-BUILD-RUN ► SESSION SAVED ✓
158
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
159
-
160
- Position: Phase {N} {phase name}, Plan {M}
161
- Completed: {count} plans this session
162
- Remaining: {count} plans in this phase
163
-
164
- ───────────────────────────────────────────────────────────────
165
-
166
- ## ▶ Next Up
167
-
168
- **Resume in your next session**
169
-
170
- `/pbr:resume`
171
-
172
- <sub>`/clear` first → fresh context window</sub>
173
-
174
- ───────────────────────────────────────────────────────────────
175
- ```
176
-
177
- ---
178
-
179
- ## What Gets Captured
180
-
181
- | Information | Source | Why It Matters |
182
- |-------------|--------|---------------|
183
- | Phase + plan position | STATE.md | Know where to start |
184
- | Completed work | SUMMARY.md files, git log | Know what's already done |
185
- | Remaining work | Plan files without summaries | Know what's left |
186
- | Decisions | CONTEXT.md, SUMMARY.md | Preserve user preferences |
187
- | Blockers | STATE.md, verification files | Don't repeat failed approaches |
188
- | Next steps | Routing logic | Immediate action on resume |
189
-
190
- ---
191
-
192
- ## Edge Cases
193
-
194
- ### No work was done this session
195
- - Still write the continue-here file
196
- - "Completed This Session" section says: "No plans completed (discussion/planning only)"
197
- - Capture any decisions or context from the conversation
198
-
199
- ### Multiple phases were worked on
200
- - Write .continue-here.md in the MOST RECENT phase directory
201
- - Reference the other phases in the "Completed This Session" section
202
- - Next steps should focus on the current position
203
-
204
- ### Mid-task pause (executor was interrupted)
205
- - Note which task was in progress
206
- - Warn: "Task {name} was in progress when paused. It may need to be re-executed."
207
- - Check git log to see if any partial commits exist
208
-
209
- ### .continue-here.md already exists
210
- - **Always REPLACE** the existing file entirely never append
211
- - Appending causes stale data from previous sessions to persist, which confuses resume
212
- - The old .continue-here.md content is superseded by the current state
213
- - No need to ask the user — the current session state is always more accurate
214
-
215
- ### STATE.md doesn't exist
216
- - Warn: "No STATE.md found. Creating a minimal pause file."
217
- - Write .continue-here.md based on git log and file system scan only
218
- - Don't try to update STATE.md
219
-
220
- ### No git history (fresh project)
221
- - Skip the git log step
222
- - Estimate session work from file modification times
223
- - Still write the continue-here file
224
-
225
- ---
226
-
227
- ## Anti-Patterns
228
-
229
- 1. **DO NOT** include full file contents in .continue-here.md keep it concise
230
- 2. **DO NOT** stage code files in the WIP commit — only planning docs
231
- 3. **DO NOT** skip the commit the WIP commit is how `/pbr:resume` finds the pause point
232
- 4. **DO NOT** write multiple .continue-here.md files — one per pause
233
- 5. **DO NOT** include sensitive information (API keys, passwords) in the handoff
234
- 6. **DO NOT** modify any code files — this skill only writes planning docs
235
- 7. **DO NOT** skip the "Next Steps" section — it's the most important part for resumption
1
+ ---
2
+ name: pause
3
+ description: "Save your current session state for later resumption."
4
+ allowed-tools: Read, Write, Bash, Glob
5
+ ---
6
+
7
+ **STOPDO 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.**
8
+
9
+ ## Step 0 Immediate Output
10
+
11
+ **Before ANY tool calls**, display this banner:
12
+
13
+ ```
14
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
15
+ PLAN-BUILD-RUN ► PAUSING SESSION
16
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
17
+ ```
18
+
19
+ Then proceed to Step 1.
20
+
21
+ # /pbr:pause — Save Session State
22
+
23
+ You are running the **pause** skill. Your job is to capture the current session state so the user can resume exactly where they left off in a future conversation. This creates a `.continue-here.md` handoff file with everything the next session needs.
24
+
25
+ This skill runs **inline** (no Task delegation).
26
+
27
+ ---
28
+
29
+ ## Core Principle
30
+
31
+ **Capture everything the next session needs to hit the ground running.** The resume skill will read this file cold, with zero prior context. Write it as if you're handing off to a colleague who has never seen this project.
32
+
33
+ ---
34
+
35
+ ## Flow
36
+
37
+ ### Step 1: Read Current State
38
+
39
+ **Flag: `--checkpoint`**
40
+
41
+ If `$ARGUMENTS` contains `--checkpoint`:
42
+ - Perform a lightweight state dump without full session analysis
43
+ - Write a minimal .continue-here.md with just: Position, git status, and suggested next action
44
+ - Skip the detailed "Completed This Session" analysis (saves time)
45
+ - Useful for quick manual checkpoints at any point
46
+
47
+ Read the following files to understand where things stand:
48
+
49
+ 1. **`.planning/STATE.md`** Current position
50
+ - Extract: current phase, current plan, progress, blockers
51
+ - If STATE.md doesn't exist, display:
52
+ ```
53
+ ╔══════════════════════════════════════════════════════════════╗
54
+ ║ ERROR ║
55
+ ╚══════════════════════════════════════════════════════════════╝
56
+
57
+ No Plan-Build-Run project state found. Nothing to pause.
58
+
59
+ **To fix:** Run `/pbr:begin` to initialize a project first.
60
+ ```
61
+
62
+ 2. **`.planning/config.json`** — Project settings
63
+ - Extract: project name, feature toggles
64
+
65
+ 3. **`.planning/ROADMAP.md`** — Phase overview
66
+ - Extract: current phase name, total phases
67
+
68
+ ### Step 2: Determine Current Phase Directory
69
+
70
+ From STATE.md, get the current phase number and find its directory:
71
+ 1. List directories in `.planning/phases/`
72
+ 2. Match the current phase number to a directory
73
+ 3. If no match: use the most recently modified phase directory
74
+
75
+ ### Step 3: Gather Session State
76
+
77
+ Collect the following information:
78
+
79
+ #### Current Position
80
+ - Phase number and name
81
+ - Plan number (if mid-phase) or "between plans"
82
+ - Status: in-progress, between-plans, between-phases, planning, reviewing
83
+
84
+ #### Work Completed This Session
85
+ Scan the current phase directory for SUMMARY.md files:
86
+ - Read each SUMMARY.md frontmatter
87
+ - Note which ones were created/modified recently (check timestamps or git log)
88
+ - For recently completed plans: extract the plan name and brief status
89
+
90
+ Also check git log for recent commits:
91
+ ```bash
92
+ git log --oneline -20 --since="8 hours ago"
93
+ ```
94
+ This gives a reasonable window for "this session's work."
95
+
96
+ #### Remaining Work
97
+ Scan for plan files without corresponding SUMMARY.md files:
98
+ - These are plans that haven't been executed yet
99
+ - List them with brief descriptions from their frontmatter
100
+
101
+ #### Key Decisions Made
102
+ Check for:
103
+ - Recent CONTEXT.md files (from `/pbr:discuss`)
104
+ - Key decisions in recent SUMMARY.md files
105
+ - Any deviations noted in summaries
106
+
107
+ #### Blockers or Concerns
108
+ From STATE.md blockers section and any:
109
+ - Failed verifications
110
+ - Checkpoint stops
111
+ - Active debug sessions
112
+ - Unresolved issues noted in summaries
113
+
114
+ #### What to Do Next
115
+ Determine the logical next action (same routing logic as `/pbr:status`):
116
+ - If mid-plan execution: "Continue building phase N"
117
+ - If between plans in a phase: "Execute next plan (plan M)"
118
+ - If phase complete, not reviewed: "Review phase N"
119
+ - If phase reviewed, has gaps: "Fix gaps in phase N"
120
+ - If phase complete: "Plan phase N+1"
121
+
122
+ ### Step 4: Write .continue-here.md
123
+
124
+ Write the handoff file to the current phase directory:
125
+
126
+ **Path:** `.planning/phases/{NN}-{phase-name}/.continue-here.md`
127
+
128
+ **Content:**
129
+
130
+ Read `skills/pause/templates/continue-here.md.tmpl` for the handoff file format. Fill in all `{variable}` placeholders with actual session data gathered in Steps 1-3.
131
+
132
+ ### Step 5: Update STATE.md
133
+
134
+ Update the Session Continuity section of STATE.md:
135
+
136
+ ```markdown
137
+ ### Session Continuity
138
+
139
+ **Last paused:** {ISO datetime}
140
+ **Position:** Phase {N}, Plan {M}
141
+ **Continue file:** .planning/phases/{NN}-{phase-name}/.continue-here.md
142
+ **Next action:** {suggested command}
143
+ ```
144
+
145
+ If the Session Continuity section doesn't exist, create it at the end of STATE.md.
146
+
147
+ ### Step 6: Commit as WIP
148
+
149
+ Reference: `skills/shared/commit-planning-docs.md` for the standard commit pattern.
150
+
151
+ If `planning.commit_docs: true` in config.json:
152
+
153
+ ```bash
154
+ git add .planning/phases/{NN}-{phase-name}/.continue-here.md
155
+ git add .planning/STATE.md
156
+ git commit -m "wip(planning): save session state — phase {N} plan {M}"
157
+ ```
158
+
159
+ **Commit rules:**
160
+ - Always use `wip(planning):` prefix for pause commits
161
+ - Include phase and plan numbers
162
+ - Stage only the continue-here and STATE.md files
163
+ - Do NOT stage any code changes (those should already be committed by the executor)
164
+
165
+ ### Step 7: Confirm to User
166
+
167
+ Display branded confirmation:
168
+
169
+ ```
170
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
171
+ PLAN-BUILD-RUN ► SESSION SAVED ✓
172
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
173
+
174
+ Position: Phase {N} — {phase name}, Plan {M}
175
+ Completed: {count} plans this session
176
+ Remaining: {count} plans in this phase
177
+
178
+ ───────────────────────────────────────────────────────────────
179
+
180
+ ## ▶ Next Up
181
+
182
+ **Resume in your next session**
183
+
184
+ `/pbr:resume`
185
+
186
+ <sub>`/clear` first fresh context window</sub>
187
+
188
+ ───────────────────────────────────────────────────────────────
189
+ ```
190
+
191
+ ---
192
+
193
+ ## What Gets Captured
194
+
195
+ | Information | Source | Why It Matters |
196
+ |-------------|--------|---------------|
197
+ | Phase + plan position | STATE.md | Know where to start |
198
+ | Completed work | SUMMARY.md files, git log | Know what's already done |
199
+ | Remaining work | Plan files without summaries | Know what's left |
200
+ | Decisions | CONTEXT.md, SUMMARY.md | Preserve user preferences |
201
+ | Blockers | STATE.md, verification files | Don't repeat failed approaches |
202
+ | Next steps | Routing logic | Immediate action on resume |
203
+
204
+ ---
205
+
206
+ ## Edge Cases
207
+
208
+ ### No work was done this session
209
+ - Still write the continue-here file
210
+ - "Completed This Session" section says: "No plans completed (discussion/planning only)"
211
+ - Capture any decisions or context from the conversation
212
+
213
+ ### Multiple phases were worked on
214
+ - Write .continue-here.md in the MOST RECENT phase directory
215
+ - Reference the other phases in the "Completed This Session" section
216
+ - Next steps should focus on the current position
217
+
218
+ ### Mid-task pause (executor was interrupted)
219
+ - Note which task was in progress
220
+ - Warn: "Task {name} was in progress when paused. It may need to be re-executed."
221
+ - Check git log to see if any partial commits exist
222
+
223
+ ### .continue-here.md already exists
224
+ - **Always REPLACE** the existing file entirely — never append
225
+ - Appending causes stale data from previous sessions to persist, which confuses resume
226
+ - The old .continue-here.md content is superseded by the current state
227
+ - No need to ask the user — the current session state is always more accurate
228
+
229
+ ### STATE.md doesn't exist
230
+ - Warn: "No STATE.md found. Creating a minimal pause file."
231
+ - Write .continue-here.md based on git log and file system scan only
232
+ - Don't try to update STATE.md
233
+
234
+ ### No git history (fresh project)
235
+ - Skip the git log step
236
+ - Estimate session work from file modification times
237
+ - Still write the continue-here file
238
+
239
+ ---
240
+
241
+ ## Anti-Patterns
242
+
243
+ 1. **DO NOT** include full file contents in .continue-here.md — keep it concise
244
+ 2. **DO NOT** stage code files in the WIP commit — only planning docs
245
+ 3. **DO NOT** skip the commit when `planning.commit_docs` is enabled — the WIP commit preserves the pause state in version control and ensures `.continue-here.md` is not lost if working tree changes occur
246
+ 4. **DO NOT** write multiple .continue-here.md files — one per pause
247
+ 5. **DO NOT** include sensitive information (API keys, passwords) in the handoff
248
+ 6. **DO NOT** modify any code files — this skill only writes planning docs
249
+ 7. **DO NOT** skip the "Next Steps" section — it's the most important part for resumption
@@ -1,71 +1,71 @@
1
- # Template: Continue Here Handoff File
2
- # Used by: pause/SKILL.md (Step 4)
3
- # Output path: .planning/phases/{NN}-{phase-name}/.continue-here.md
4
- # Variables: {datetime}, {hours}, {phase}, {plan}, {status}, {session work}, {remaining}, {decisions}, {blockers}, {context}, {next steps}
5
-
6
- # Continue Here
7
-
8
- **Paused:** {ISO datetime}
9
- **Session duration:** ~{estimated hours} (based on git log timestamps)
10
-
11
- ## Position
12
-
13
- Phase: {N} -- {name}
14
- Plan: {M} of {total} (or "between plans" / "phase complete")
15
- Status: {in-progress / between-plans / reviewing / planning}
16
-
17
- ## Completed This Session
18
-
19
- {List of work done, with commit references where available}
20
-
21
- - Plan {A}: {summary} (commit: {short hash})
22
- - Plan {B}: {summary} (commit: {short hash})
23
- - Quick task: {description} (commit: {short hash})
24
-
25
- {If nothing was completed:}
26
- - No plans completed this session (discussion/planning only)
27
-
28
- ## Remaining
29
-
30
- {What still needs to be done in this phase}
31
-
32
- - Plan {C}: {brief description from plan frontmatter}
33
- - Plan {D}: {brief description from plan frontmatter}
34
-
35
- {If phase is complete:}
36
- - Phase {N} is complete. Next: {review or next phase}
37
-
38
- ## Decisions Made
39
-
40
- {Key decisions from this session that affect future work}
41
-
42
- - {decision 1}: {brief description}
43
- - {decision 2}: {brief description}
44
-
45
- {If no notable decisions:}
46
- - No major decisions this session
47
-
48
- ## Blockers
49
-
50
- {Any issues preventing progress}
51
-
52
- - {blocker description}
53
-
54
- {If no blockers:}
55
- - None
56
-
57
- ## Context Notes
58
-
59
- {Any additional context that would help the next session}
60
-
61
- - {note about something tricky}
62
- - {note about something to watch out for}
63
- - {note about user preferences expressed during this session}
64
-
65
- ## Next Steps
66
-
67
- {Ordered list of what to do when resuming}
68
-
69
- 1. {Specific first action with command}
70
- 2. {Following action}
71
- 3. {And so on}
1
+ # Template: Continue Here Handoff File
2
+ # Used by: pause/SKILL.md (Step 4)
3
+ # Output path: .planning/phases/{NN}-{phase-name}/.continue-here.md
4
+ # Variables: {datetime}, {hours}, {phase}, {plan}, {status}, {session work}, {remaining}, {decisions}, {blockers}, {context}, {next steps}
5
+
6
+ # Continue Here
7
+
8
+ **Paused:** {ISO datetime}
9
+ **Session duration:** ~{estimated hours} (based on git log timestamps)
10
+
11
+ ## Position
12
+
13
+ Phase: {N} -- {name}
14
+ Plan: {M} of {total} (or "between plans" / "phase complete")
15
+ Status: {in-progress / between-plans / reviewing / planning}
16
+
17
+ ## Completed This Session
18
+
19
+ {List of work done, with commit references where available}
20
+
21
+ - Plan {A}: {summary} (commit: {short hash})
22
+ - Plan {B}: {summary} (commit: {short hash})
23
+ - Quick task: {description} (commit: {short hash})
24
+
25
+ {If nothing was completed:}
26
+ - No plans completed this session (discussion/planning only)
27
+
28
+ ## Remaining
29
+
30
+ {What still needs to be done in this phase}
31
+
32
+ - Plan {C}: {brief description from plan frontmatter}
33
+ - Plan {D}: {brief description from plan frontmatter}
34
+
35
+ {If phase is complete:}
36
+ - Phase {N} is complete. Next: {review or next phase}
37
+
38
+ ## Decisions Made
39
+
40
+ {Key decisions from this session that affect future work}
41
+
42
+ - {decision 1}: {brief description}
43
+ - {decision 2}: {brief description}
44
+
45
+ {If no notable decisions:}
46
+ - No major decisions this session
47
+
48
+ ## Blockers
49
+
50
+ {Any issues preventing progress}
51
+
52
+ - {blocker description}
53
+
54
+ {If no blockers:}
55
+ - None
56
+
57
+ ## Context Notes
58
+
59
+ {Any additional context that would help the next session}
60
+
61
+ - {note about something tricky}
62
+ - {note about something to watch out for}
63
+ - {note about user preferences expressed during this session}
64
+
65
+ ## Next Steps
66
+
67
+ {Ordered list of what to do when resuming}
68
+
69
+ 1. {Specific first action with command}
70
+ 2. {Following action}
71
+ 3. {And so on}