@sienklogic/plan-build-run 2.0.0 → 2.0.1

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 (225) 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/pbr/.claude-plugin/plugin.json +13 -13
  53. package/plugins/pbr/UI-CONSISTENCY-GAPS.md +61 -61
  54. package/plugins/pbr/agents/codebase-mapper.md +279 -271
  55. package/plugins/pbr/agents/debugger.md +281 -281
  56. package/plugins/pbr/agents/executor.md +428 -407
  57. package/plugins/pbr/agents/general.md +164 -164
  58. package/plugins/pbr/agents/integration-checker.md +169 -141
  59. package/plugins/pbr/agents/plan-checker.md +296 -280
  60. package/plugins/pbr/agents/planner.md +358 -358
  61. package/plugins/pbr/agents/researcher.md +363 -363
  62. package/plugins/pbr/agents/synthesizer.md +230 -230
  63. package/plugins/pbr/agents/verifier.md +489 -454
  64. package/plugins/pbr/commands/begin.md +5 -5
  65. package/plugins/pbr/commands/build.md +5 -5
  66. package/plugins/pbr/commands/config.md +5 -5
  67. package/plugins/pbr/commands/continue.md +5 -5
  68. package/plugins/pbr/commands/debug.md +5 -5
  69. package/plugins/pbr/commands/discuss.md +5 -5
  70. package/plugins/pbr/commands/explore.md +5 -5
  71. package/plugins/pbr/commands/health.md +5 -5
  72. package/plugins/pbr/commands/help.md +5 -5
  73. package/plugins/pbr/commands/import.md +5 -5
  74. package/plugins/pbr/commands/milestone.md +5 -5
  75. package/plugins/pbr/commands/note.md +5 -5
  76. package/plugins/pbr/commands/pause.md +5 -5
  77. package/plugins/pbr/commands/plan.md +5 -5
  78. package/plugins/pbr/commands/quick.md +5 -5
  79. package/plugins/pbr/commands/resume.md +5 -5
  80. package/plugins/pbr/commands/review.md +5 -5
  81. package/plugins/pbr/commands/scan.md +5 -5
  82. package/plugins/pbr/commands/setup.md +5 -5
  83. package/plugins/pbr/commands/status.md +5 -5
  84. package/plugins/pbr/commands/todo.md +5 -5
  85. package/plugins/pbr/contexts/dev.md +27 -27
  86. package/plugins/pbr/contexts/research.md +28 -28
  87. package/plugins/pbr/contexts/review.md +36 -36
  88. package/plugins/pbr/hooks/hooks.json +183 -183
  89. package/plugins/pbr/references/agent-anti-patterns.md +24 -24
  90. package/plugins/pbr/references/agent-interactions.md +134 -134
  91. package/plugins/pbr/references/agent-teams.md +54 -54
  92. package/plugins/pbr/references/checkpoints.md +157 -157
  93. package/plugins/pbr/references/common-bug-patterns.md +13 -13
  94. package/plugins/pbr/references/config-reference.md +441 -0
  95. package/plugins/pbr/references/continuation-format.md +212 -212
  96. package/plugins/pbr/references/deviation-rules.md +112 -112
  97. package/plugins/pbr/references/git-integration.md +226 -226
  98. package/plugins/pbr/references/integration-patterns.md +117 -117
  99. package/plugins/pbr/references/model-profiles.md +99 -99
  100. package/plugins/pbr/references/model-selection.md +31 -31
  101. package/plugins/pbr/references/pbr-rules.md +193 -193
  102. package/plugins/pbr/references/plan-authoring.md +181 -181
  103. package/plugins/pbr/references/plan-format.md +287 -283
  104. package/plugins/pbr/references/planning-config.md +213 -213
  105. package/plugins/pbr/references/questioning.md +214 -214
  106. package/plugins/pbr/references/reading-verification.md +127 -127
  107. package/plugins/pbr/references/stub-patterns.md +160 -160
  108. package/plugins/pbr/references/subagent-coordination.md +119 -119
  109. package/plugins/pbr/references/ui-formatting.md +461 -399
  110. package/plugins/pbr/references/verification-patterns.md +198 -198
  111. package/plugins/pbr/references/wave-execution.md +95 -95
  112. package/plugins/pbr/scripts/auto-continue.js +80 -80
  113. package/plugins/pbr/scripts/check-dangerous-commands.js +136 -136
  114. package/plugins/pbr/scripts/check-doc-sprawl.js +102 -102
  115. package/plugins/pbr/scripts/check-phase-boundary.js +196 -196
  116. package/plugins/pbr/scripts/check-plan-format.js +270 -270
  117. package/plugins/pbr/scripts/check-roadmap-sync.js +322 -252
  118. package/plugins/pbr/scripts/check-skill-workflow.js +262 -262
  119. package/plugins/pbr/scripts/check-state-sync.js +476 -476
  120. package/plugins/pbr/scripts/check-subagent-output.js +144 -144
  121. package/plugins/pbr/scripts/config-schema.json +251 -251
  122. package/plugins/pbr/scripts/context-budget-check.js +287 -287
  123. package/plugins/pbr/scripts/event-handler.js +151 -151
  124. package/plugins/pbr/scripts/event-logger.js +92 -92
  125. package/plugins/pbr/scripts/hook-logger.js +80 -76
  126. package/plugins/pbr/scripts/hooks-schema.json +79 -79
  127. package/plugins/pbr/scripts/log-subagent.js +164 -152
  128. package/plugins/pbr/scripts/log-tool-failure.js +88 -88
  129. package/plugins/pbr/scripts/pbr-tools.js +1378 -1301
  130. package/plugins/pbr/scripts/post-write-dispatch.js +66 -66
  131. package/plugins/pbr/scripts/post-write-quality.js +207 -207
  132. package/plugins/pbr/scripts/pre-bash-dispatch.js +86 -56
  133. package/plugins/pbr/scripts/pre-write-dispatch.js +97 -62
  134. package/plugins/pbr/scripts/progress-tracker.js +281 -228
  135. package/plugins/pbr/scripts/run-hook.js +92 -0
  136. package/plugins/pbr/scripts/session-cleanup.js +254 -254
  137. package/plugins/pbr/scripts/status-line.js +288 -285
  138. package/plugins/pbr/scripts/suggest-compact.js +119 -119
  139. package/plugins/pbr/scripts/task-completed.js +45 -45
  140. package/plugins/pbr/scripts/track-context-budget.js +149 -119
  141. package/plugins/pbr/scripts/validate-commit.js +200 -200
  142. package/plugins/pbr/scripts/validate-plugin-structure.js +183 -172
  143. package/plugins/pbr/scripts/validate-task.js +106 -0
  144. package/plugins/pbr/skills/begin/SKILL.md +594 -545
  145. package/plugins/pbr/skills/begin/templates/PROJECT.md.tmpl +33 -33
  146. package/plugins/pbr/skills/begin/templates/REQUIREMENTS.md.tmpl +18 -18
  147. package/plugins/pbr/skills/begin/templates/STATE.md.tmpl +49 -49
  148. package/plugins/pbr/skills/begin/templates/config.json.tmpl +64 -63
  149. package/plugins/pbr/skills/begin/templates/researcher-prompt.md.tmpl +19 -19
  150. package/plugins/pbr/skills/begin/templates/roadmap-prompt.md.tmpl +30 -30
  151. package/plugins/pbr/skills/begin/templates/synthesis-prompt.md.tmpl +16 -16
  152. package/plugins/pbr/skills/build/SKILL.md +943 -962
  153. package/plugins/pbr/skills/config/SKILL.md +256 -241
  154. package/plugins/pbr/skills/continue/SKILL.md +164 -127
  155. package/plugins/pbr/skills/debug/SKILL.md +515 -489
  156. package/plugins/pbr/skills/debug/templates/continuation-prompt.md.tmpl +16 -16
  157. package/plugins/pbr/skills/debug/templates/initial-investigation-prompt.md.tmpl +27 -27
  158. package/plugins/pbr/skills/discuss/SKILL.md +347 -338
  159. package/plugins/pbr/skills/discuss/templates/CONTEXT.md.tmpl +61 -61
  160. package/plugins/pbr/skills/discuss/templates/decision-categories.md +9 -9
  161. package/plugins/pbr/skills/explore/SKILL.md +378 -362
  162. package/plugins/pbr/skills/health/SKILL.md +221 -186
  163. package/plugins/pbr/skills/health/templates/check-pattern.md.tmpl +30 -30
  164. package/plugins/pbr/skills/health/templates/output-format.md.tmpl +63 -63
  165. package/plugins/pbr/skills/help/SKILL.md +155 -140
  166. package/plugins/pbr/skills/import/SKILL.md +504 -490
  167. package/plugins/pbr/skills/milestone/SKILL.md +704 -673
  168. package/plugins/pbr/skills/milestone/templates/audit-report.md.tmpl +48 -48
  169. package/plugins/pbr/skills/milestone/templates/stats-file.md.tmpl +30 -30
  170. package/plugins/pbr/skills/note/SKILL.md +231 -212
  171. package/plugins/pbr/skills/pause/SKILL.md +249 -235
  172. package/plugins/pbr/skills/pause/templates/continue-here.md.tmpl +71 -71
  173. package/plugins/pbr/skills/plan/SKILL.md +685 -628
  174. package/plugins/pbr/skills/plan/decimal-phase-calc.md +98 -98
  175. package/plugins/pbr/skills/plan/templates/checker-prompt.md.tmpl +21 -21
  176. package/plugins/pbr/skills/plan/templates/gap-closure-prompt.md.tmpl +32 -32
  177. package/plugins/pbr/skills/plan/templates/planner-prompt.md.tmpl +38 -38
  178. package/plugins/pbr/skills/plan/templates/researcher-prompt.md.tmpl +19 -19
  179. package/plugins/pbr/skills/plan/templates/revision-prompt.md.tmpl +23 -23
  180. package/plugins/pbr/skills/quick/SKILL.md +354 -335
  181. package/plugins/pbr/skills/resume/SKILL.md +402 -388
  182. package/plugins/pbr/skills/review/SKILL.md +686 -652
  183. package/plugins/pbr/skills/review/templates/debugger-prompt.md.tmpl +60 -60
  184. package/plugins/pbr/skills/review/templates/gap-planner-prompt.md.tmpl +40 -40
  185. package/plugins/pbr/skills/review/templates/verifier-prompt.md.tmpl +115 -115
  186. package/plugins/pbr/skills/scan/SKILL.md +304 -269
  187. package/plugins/pbr/skills/scan/templates/mapper-prompt.md.tmpl +201 -201
  188. package/plugins/pbr/skills/setup/SKILL.md +253 -227
  189. package/plugins/pbr/skills/shared/commit-planning-docs.md +35 -35
  190. package/plugins/pbr/skills/shared/config-loading.md +102 -102
  191. package/plugins/pbr/skills/shared/context-budget.md +40 -40
  192. package/plugins/pbr/skills/shared/context-loader-task.md +86 -86
  193. package/plugins/pbr/skills/shared/digest-select.md +79 -79
  194. package/plugins/pbr/skills/shared/domain-probes.md +125 -125
  195. package/plugins/pbr/skills/shared/error-reporting.md +79 -79
  196. package/plugins/pbr/skills/shared/gate-prompts.md +388 -388
  197. package/plugins/pbr/skills/shared/phase-argument-parsing.md +45 -45
  198. package/plugins/pbr/skills/shared/progress-display.md +53 -53
  199. package/plugins/pbr/skills/shared/revision-loop.md +81 -81
  200. package/plugins/pbr/skills/shared/state-loading.md +62 -62
  201. package/plugins/pbr/skills/shared/state-update.md +161 -161
  202. package/plugins/pbr/skills/shared/universal-anti-patterns.md +33 -33
  203. package/plugins/pbr/skills/status/SKILL.md +367 -353
  204. package/plugins/pbr/skills/todo/SKILL.md +198 -181
  205. package/plugins/pbr/templates/CONTEXT.md.tmpl +52 -52
  206. package/plugins/pbr/templates/INTEGRATION-REPORT.md.tmpl +151 -151
  207. package/plugins/pbr/templates/RESEARCH-SUMMARY.md.tmpl +97 -97
  208. package/plugins/pbr/templates/ROADMAP.md.tmpl +40 -40
  209. package/plugins/pbr/templates/SUMMARY.md.tmpl +81 -81
  210. package/plugins/pbr/templates/VERIFICATION-DETAIL.md.tmpl +116 -116
  211. package/plugins/pbr/templates/codebase/ARCHITECTURE.md.tmpl +98 -98
  212. package/plugins/pbr/templates/codebase/CONCERNS.md.tmpl +93 -93
  213. package/plugins/pbr/templates/codebase/CONVENTIONS.md.tmpl +104 -104
  214. package/plugins/pbr/templates/codebase/INTEGRATIONS.md.tmpl +78 -78
  215. package/plugins/pbr/templates/codebase/STACK.md.tmpl +78 -78
  216. package/plugins/pbr/templates/codebase/STRUCTURE.md.tmpl +80 -80
  217. package/plugins/pbr/templates/codebase/TESTING.md.tmpl +107 -107
  218. package/plugins/pbr/templates/continue-here.md.tmpl +73 -73
  219. package/plugins/pbr/templates/prompt-partials/phase-project-context.md.tmpl +37 -37
  220. package/plugins/pbr/templates/research/ARCHITECTURE.md.tmpl +124 -124
  221. package/plugins/pbr/templates/research/STACK.md.tmpl +71 -71
  222. package/plugins/pbr/templates/research/SUMMARY.md.tmpl +112 -112
  223. package/plugins/pbr/templates/research-outputs/phase-research.md.tmpl +81 -81
  224. package/plugins/pbr/templates/research-outputs/project-research.md.tmpl +99 -99
  225. package/plugins/pbr/templates/research-outputs/synthesis.md.tmpl +36 -36
@@ -1,125 +1,125 @@
1
- # Domain-Aware Probing Patterns
2
-
3
- Shared reference for `/pbr:explore`, `/pbr:begin`, and `/pbr:discuss`.
4
-
5
- When the user mentions a technology area, use these probes to ask insightful follow-up questions. Don't run through them as a checklist — pick the 2-3 most relevant based on context. The goal is to surface hidden assumptions and trade-offs the user may not have considered yet.
6
-
7
- ---
8
-
9
- ## Authentication
10
-
11
- | User mentions | Agent probes with domain knowledge |
12
- |---|---|
13
- | "login" or "auth" | OAuth (which providers?), JWT, or session-based? Do you need social login or just email/password? |
14
- | "users" or "accounts" | MFA required? Password reset flow? Email verification? |
15
- | "sessions" | Session duration and refresh strategy? Server-side sessions or stateless tokens? |
16
- | "roles" or "permissions" | RBAC, ABAC, or simple role checks? How many distinct roles? |
17
- | "API keys" | Key rotation strategy? Scoped permissions per key? Rate limiting per key? |
18
-
19
- ---
20
-
21
- ## Real-Time Updates
22
-
23
- | User mentions | Agent probes with domain knowledge |
24
- |---|---|
25
- | "real-time" or "live updates" | WebSockets, SSE, or polling? What specifically needs to be real-time vs. eventual? |
26
- | "notifications" | Push notifications (browser/mobile), in-app only, or both? Persistence and read receipts? |
27
- | "collaboration" or "multiplayer" | Conflict resolution strategy? Operational transforms or CRDTs? Expected concurrent users? |
28
- | "chat" or "messaging" | Message history and search? Typing indicators? Read receipts? |
29
- | "streaming" | Reconnection strategy? What happens when the connection drops — queue or discard? |
30
-
31
- ---
32
-
33
- ## Dashboard
34
-
35
- | User mentions | Agent probes with domain knowledge |
36
- |---|---|
37
- | "dashboard" | What data sources feed it? How many distinct views? |
38
- | "charts" or "graphs" | Interactive or static? Drill-down capability? Export to CSV/PDF? |
39
- | "metrics" or "KPIs" | Refresh strategy — real-time, periodic polling, or on-demand? Acceptable staleness? |
40
- | "admin panel" | Role-based visibility? Which actions beyond viewing (edit, delete, approve)? |
41
- | "mobile" or "responsive" | Simplified mobile view or full parity? Touch interactions for charts? |
42
-
43
- ---
44
-
45
- ## API Design
46
-
47
- | User mentions | Agent probes with domain knowledge |
48
- |---|---|
49
- | "API" | REST, GraphQL, or RPC-style? Internal only or public-facing? |
50
- | "endpoints" or "routes" | Versioning strategy (URL path, header, query param)? Breaking change policy? |
51
- | "pagination" | Cursor-based or offset? Expected result set sizes? Stable ordering guarantee? |
52
- | "rate limiting" | Per-user, per-IP, or per-API-key? Burst allowance? How to communicate limits to clients? |
53
- | "errors" | Structured error format? Error codes vs. messages? How much detail in production errors? |
54
-
55
- ---
56
-
57
- ## Database
58
-
59
- | User mentions | Agent probes with domain knowledge |
60
- |---|---|
61
- | "database" or "storage" | SQL or NoSQL? What drives the choice — relational integrity, flexibility, scale? |
62
- | "ORM" or "queries" | ORM (which one?) or raw queries? Query builder as middle ground? |
63
- | "migrations" | Migration tool? Rollback strategy? How do you handle data migrations vs. schema migrations? |
64
- | "seeding" or "test data" | Seed data for development? Realistic fake data or minimal fixtures? |
65
- | "scale" or "performance" | Read/write ratio? Read replicas? Connection pooling strategy? |
66
-
67
- ---
68
-
69
- ## Search
70
-
71
- | User mentions | Agent probes with domain knowledge |
72
- |---|---|
73
- | "search" | Full-text or exact match? Dedicated search engine (Elasticsearch, Meilisearch) or database-level? |
74
- | "filtering" or "facets" | Faceted filtering? How many filter dimensions? Combined filters (AND/OR)? |
75
- | "autocomplete" or "typeahead" | Debounce strategy? Minimum character threshold? Result ranking? |
76
- | "indexing" | Index size and update frequency? Real-time indexing or batch? Acceptable index lag? |
77
- | "fuzzy" or "typo tolerance" | Fuzzy matching? Synonym support? Language-specific stemming? |
78
-
79
- ---
80
-
81
- ## File Upload/Storage
82
-
83
- | User mentions | Agent probes with domain knowledge |
84
- |---|---|
85
- | "upload" or "file upload" | Local filesystem or cloud (S3, GCS, Azure Blob)? Direct upload or through server? |
86
- | "images" or "media" | Processing pipeline — resize, compress, thumbnail generation? Format conversion? |
87
- | "size limits" | Max file size? Max total storage per user? What happens when limits are hit? |
88
- | "CDN" | CDN for delivery? Cache invalidation for updated files? Signed URLs for access control? |
89
- | "documents" or "attachments" | Virus scanning? Preview generation? Versioning of uploaded files? |
90
-
91
- ---
92
-
93
- ## Caching
94
-
95
- | User mentions | Agent probes with domain knowledge |
96
- |---|---|
97
- | "caching" or "performance" | Where to cache — browser, CDN, application layer, database query cache? |
98
- | "invalidation" | Invalidation strategy — TTL, event-driven, or manual? Cache-aside vs. write-through? |
99
- | "stale data" | Acceptable staleness window? Stale-while-revalidate pattern? |
100
- | "Redis" or "Memcached" | Cache topology — single node or clustered? Persistence needed or pure cache? |
101
- | "CDN" or "edge" | Edge caching for static assets? Dynamic content at the edge? Cache key strategy? |
102
-
103
- ---
104
-
105
- ## Testing
106
-
107
- | User mentions | Agent probes with domain knowledge |
108
- |---|---|
109
- | "testing" or "tests" | Unit, integration, and E2E balance? Where do you invest most testing effort? |
110
- | "mocking" or "stubs" | Mock external services or use test containers? Database mocking strategy? |
111
- | "CI" or "pipeline" | Tests in CI? Parallel test execution? Test-on-PR or test-on-push? |
112
- | "coverage" | Coverage targets? Coverage as gate or advisory? Which metrics (line, branch, function)? |
113
- | "E2E" or "browser testing" | Playwright, Cypress, or other? Headed vs. headless? Visual regression testing? |
114
-
115
- ---
116
-
117
- ## Deployment
118
-
119
- | User mentions | Agent probes with domain knowledge |
120
- |---|---|
121
- | "deploy" or "hosting" | Container, serverless, or traditional VM/VPS? Managed platform (Vercel, Railway) or self-hosted? |
122
- | "CI/CD" or "pipeline" | GitHub Actions, GitLab CI, or other? Deploy on merge to main or manual trigger? |
123
- | "environments" | How many environments (dev, staging, prod)? Environment parity strategy? |
124
- | "rollback" | Rollback strategy? Blue-green, canary, or instant rollback? Database rollback considerations? |
125
- | "secrets" or "config" | Secret management — env vars, vault, or platform-native? Per-environment config strategy? |
1
+ # Domain-Aware Probing Patterns
2
+
3
+ Shared reference for `/pbr:explore`, `/pbr:begin`, and `/pbr:discuss`.
4
+
5
+ When the user mentions a technology area, use these probes to ask insightful follow-up questions. Don't run through them as a checklist — pick the 2-3 most relevant based on context. The goal is to surface hidden assumptions and trade-offs the user may not have considered yet.
6
+
7
+ ---
8
+
9
+ ## Authentication
10
+
11
+ | User mentions | Agent probes with domain knowledge |
12
+ |---|---|
13
+ | "login" or "auth" | OAuth (which providers?), JWT, or session-based? Do you need social login or just email/password? |
14
+ | "users" or "accounts" | MFA required? Password reset flow? Email verification? |
15
+ | "sessions" | Session duration and refresh strategy? Server-side sessions or stateless tokens? |
16
+ | "roles" or "permissions" | RBAC, ABAC, or simple role checks? How many distinct roles? |
17
+ | "API keys" | Key rotation strategy? Scoped permissions per key? Rate limiting per key? |
18
+
19
+ ---
20
+
21
+ ## Real-Time Updates
22
+
23
+ | User mentions | Agent probes with domain knowledge |
24
+ |---|---|
25
+ | "real-time" or "live updates" | WebSockets, SSE, or polling? What specifically needs to be real-time vs. eventual? |
26
+ | "notifications" | Push notifications (browser/mobile), in-app only, or both? Persistence and read receipts? |
27
+ | "collaboration" or "multiplayer" | Conflict resolution strategy? Operational transforms or CRDTs? Expected concurrent users? |
28
+ | "chat" or "messaging" | Message history and search? Typing indicators? Read receipts? |
29
+ | "streaming" | Reconnection strategy? What happens when the connection drops — queue or discard? |
30
+
31
+ ---
32
+
33
+ ## Dashboard
34
+
35
+ | User mentions | Agent probes with domain knowledge |
36
+ |---|---|
37
+ | "dashboard" | What data sources feed it? How many distinct views? |
38
+ | "charts" or "graphs" | Interactive or static? Drill-down capability? Export to CSV/PDF? |
39
+ | "metrics" or "KPIs" | Refresh strategy — real-time, periodic polling, or on-demand? Acceptable staleness? |
40
+ | "admin panel" | Role-based visibility? Which actions beyond viewing (edit, delete, approve)? |
41
+ | "mobile" or "responsive" | Simplified mobile view or full parity? Touch interactions for charts? |
42
+
43
+ ---
44
+
45
+ ## API Design
46
+
47
+ | User mentions | Agent probes with domain knowledge |
48
+ |---|---|
49
+ | "API" | REST, GraphQL, or RPC-style? Internal only or public-facing? |
50
+ | "endpoints" or "routes" | Versioning strategy (URL path, header, query param)? Breaking change policy? |
51
+ | "pagination" | Cursor-based or offset? Expected result set sizes? Stable ordering guarantee? |
52
+ | "rate limiting" | Per-user, per-IP, or per-API-key? Burst allowance? How to communicate limits to clients? |
53
+ | "errors" | Structured error format? Error codes vs. messages? How much detail in production errors? |
54
+
55
+ ---
56
+
57
+ ## Database
58
+
59
+ | User mentions | Agent probes with domain knowledge |
60
+ |---|---|
61
+ | "database" or "storage" | SQL or NoSQL? What drives the choice — relational integrity, flexibility, scale? |
62
+ | "ORM" or "queries" | ORM (which one?) or raw queries? Query builder as middle ground? |
63
+ | "migrations" | Migration tool? Rollback strategy? How do you handle data migrations vs. schema migrations? |
64
+ | "seeding" or "test data" | Seed data for development? Realistic fake data or minimal fixtures? |
65
+ | "scale" or "performance" | Read/write ratio? Read replicas? Connection pooling strategy? |
66
+
67
+ ---
68
+
69
+ ## Search
70
+
71
+ | User mentions | Agent probes with domain knowledge |
72
+ |---|---|
73
+ | "search" | Full-text or exact match? Dedicated search engine (Elasticsearch, Meilisearch) or database-level? |
74
+ | "filtering" or "facets" | Faceted filtering? How many filter dimensions? Combined filters (AND/OR)? |
75
+ | "autocomplete" or "typeahead" | Debounce strategy? Minimum character threshold? Result ranking? |
76
+ | "indexing" | Index size and update frequency? Real-time indexing or batch? Acceptable index lag? |
77
+ | "fuzzy" or "typo tolerance" | Fuzzy matching? Synonym support? Language-specific stemming? |
78
+
79
+ ---
80
+
81
+ ## File Upload/Storage
82
+
83
+ | User mentions | Agent probes with domain knowledge |
84
+ |---|---|
85
+ | "upload" or "file upload" | Local filesystem or cloud (S3, GCS, Azure Blob)? Direct upload or through server? |
86
+ | "images" or "media" | Processing pipeline — resize, compress, thumbnail generation? Format conversion? |
87
+ | "size limits" | Max file size? Max total storage per user? What happens when limits are hit? |
88
+ | "CDN" | CDN for delivery? Cache invalidation for updated files? Signed URLs for access control? |
89
+ | "documents" or "attachments" | Virus scanning? Preview generation? Versioning of uploaded files? |
90
+
91
+ ---
92
+
93
+ ## Caching
94
+
95
+ | User mentions | Agent probes with domain knowledge |
96
+ |---|---|
97
+ | "caching" or "performance" | Where to cache — browser, CDN, application layer, database query cache? |
98
+ | "invalidation" | Invalidation strategy — TTL, event-driven, or manual? Cache-aside vs. write-through? |
99
+ | "stale data" | Acceptable staleness window? Stale-while-revalidate pattern? |
100
+ | "Redis" or "Memcached" | Cache topology — single node or clustered? Persistence needed or pure cache? |
101
+ | "CDN" or "edge" | Edge caching for static assets? Dynamic content at the edge? Cache key strategy? |
102
+
103
+ ---
104
+
105
+ ## Testing
106
+
107
+ | User mentions | Agent probes with domain knowledge |
108
+ |---|---|
109
+ | "testing" or "tests" | Unit, integration, and E2E balance? Where do you invest most testing effort? |
110
+ | "mocking" or "stubs" | Mock external services or use test containers? Database mocking strategy? |
111
+ | "CI" or "pipeline" | Tests in CI? Parallel test execution? Test-on-PR or test-on-push? |
112
+ | "coverage" | Coverage targets? Coverage as gate or advisory? Which metrics (line, branch, function)? |
113
+ | "E2E" or "browser testing" | Playwright, Cypress, or other? Headed vs. headless? Visual regression testing? |
114
+
115
+ ---
116
+
117
+ ## Deployment
118
+
119
+ | User mentions | Agent probes with domain knowledge |
120
+ |---|---|
121
+ | "deploy" or "hosting" | Container, serverless, or traditional VM/VPS? Managed platform (Vercel, Railway) or self-hosted? |
122
+ | "CI/CD" or "pipeline" | GitHub Actions, GitLab CI, or other? Deploy on merge to main or manual trigger? |
123
+ | "environments" | How many environments (dev, staging, prod)? Environment parity strategy? |
124
+ | "rollback" | Rollback strategy? Blue-green, canary, or instant rollback? Database rollback considerations? |
125
+ | "secrets" or "config" | Secret management — env vars, vault, or platform-native? Per-environment config strategy? |
@@ -1,79 +1,79 @@
1
- # Error Reporting Fragment
2
-
3
- Standard error display formats for all skills. Reference `references/ui-formatting.md` for the full brand guide.
4
-
5
- ## Recoverable Error
6
-
7
- For errors that don't halt the workflow — skill can suggest a fix or retry:
8
-
9
- ```
10
- ⚠ Warning: {short description}
11
-
12
- {1-2 line explanation of what went wrong}
13
-
14
- To fix: {actionable instruction}
15
- ```
16
-
17
- Example:
18
- ```
19
- ⚠ Warning: STATE.md is 180 lines (limit: 150)
20
-
21
- The state file has grown beyond the recommended size, which increases context usage on load.
22
-
23
- To fix: Run /pbr:health to compact the Accumulated Context section.
24
- ```
25
-
26
- ## Fatal Error
27
-
28
- For errors that stop execution — skill cannot continue:
29
-
30
- ```
31
- ✗ Error: {short description}
32
-
33
- {1-2 line explanation}
34
-
35
- What to try:
36
- 1. {first suggestion}
37
- 2. {second suggestion}
38
- 3. {fallback — often /pbr:health or manual fix}
39
- ```
40
-
41
- Example:
42
- ```
43
- ✗ Error: PLAN.md not found for phase 03
44
-
45
- No plan files exist in .planning/phases/03-auth/. The executor cannot run without a plan.
46
-
47
- What to try:
48
- 1. Run /pbr:plan 3 to create a plan first
49
- 2. Check if the phase directory exists: ls .planning/phases/03-*
50
- 3. Run /pbr:health to check planning directory integrity
51
- ```
52
-
53
- ## Validation Error
54
-
55
- For format or schema validation failures (config, plan format, commit message):
56
-
57
- ```
58
- ✗ Validation failed: {what was validated}
59
-
60
- Issues:
61
- - {specific issue 1}
62
- - {specific issue 2}
63
-
64
- Expected format: {brief format description or example}
65
- ```
66
-
67
- ## Hook Block Message
68
-
69
- For PreToolUse hooks that reject a tool call:
70
-
71
- ```
72
- Blocked: {short reason}
73
-
74
- {explanation}
75
-
76
- {how to fix or alternative approach}
77
- ```
78
-
79
- This format is used by validate-commit.js and check-dangerous-commands.js. The `decision: "block"` and `reason` fields in the JSON output follow this pattern.
1
+ # Error Reporting Fragment
2
+
3
+ Standard error display formats for all skills. Reference `references/ui-formatting.md` for the full brand guide.
4
+
5
+ ## Recoverable Error
6
+
7
+ For errors that don't halt the workflow — skill can suggest a fix or retry:
8
+
9
+ ```
10
+ ⚠ Warning: {short description}
11
+
12
+ {1-2 line explanation of what went wrong}
13
+
14
+ To fix: {actionable instruction}
15
+ ```
16
+
17
+ Example:
18
+ ```
19
+ ⚠ Warning: STATE.md is 180 lines (limit: 150)
20
+
21
+ The state file has grown beyond the recommended size, which increases context usage on load.
22
+
23
+ To fix: Run /pbr:health to compact the Accumulated Context section.
24
+ ```
25
+
26
+ ## Fatal Error
27
+
28
+ For errors that stop execution — skill cannot continue:
29
+
30
+ ```
31
+ ✗ Error: {short description}
32
+
33
+ {1-2 line explanation}
34
+
35
+ What to try:
36
+ 1. {first suggestion}
37
+ 2. {second suggestion}
38
+ 3. {fallback — often /pbr:health or manual fix}
39
+ ```
40
+
41
+ Example:
42
+ ```
43
+ ✗ Error: PLAN.md not found for phase 03
44
+
45
+ No plan files exist in .planning/phases/03-auth/. The executor cannot run without a plan.
46
+
47
+ What to try:
48
+ 1. Run /pbr:plan 3 to create a plan first
49
+ 2. Check if the phase directory exists: ls .planning/phases/03-*
50
+ 3. Run /pbr:health to check planning directory integrity
51
+ ```
52
+
53
+ ## Validation Error
54
+
55
+ For format or schema validation failures (config, plan format, commit message):
56
+
57
+ ```
58
+ ✗ Validation failed: {what was validated}
59
+
60
+ Issues:
61
+ - {specific issue 1}
62
+ - {specific issue 2}
63
+
64
+ Expected format: {brief format description or example}
65
+ ```
66
+
67
+ ## Hook Block Message
68
+
69
+ For PreToolUse hooks that reject a tool call:
70
+
71
+ ```
72
+ Blocked: {short reason}
73
+
74
+ {explanation}
75
+
76
+ {how to fix or alternative approach}
77
+ ```
78
+
79
+ This format is used by validate-commit.js and check-dangerous-commands.js. The `decision: "block"` and `reason` fields in the JSON output follow this pattern.