@pi-unipi/unipi 3.0.0-alpha.2 → 3.0.0-alpha.21

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 (359) hide show
  1. package/CHANGELOG.md +292 -0
  2. package/README.md +8 -11
  3. package/docs/prefix-cache-architecture.md +14 -0
  4. package/package.json +22 -24
  5. package/packages/ask-user/README.md +55 -107
  6. package/packages/ask-user/ask-ui.ts +306 -732
  7. package/packages/ask-user/clipboard.ts +50 -0
  8. package/packages/ask-user/config.ts +74 -78
  9. package/packages/ask-user/package.json +2 -2
  10. package/packages/ask-user/questions.ts +151 -0
  11. package/packages/ask-user/skills/ask-user/SKILL.md +59 -133
  12. package/packages/ask-user/tools.ts +198 -432
  13. package/packages/autocomplete/package.json +1 -1
  14. package/packages/autocomplete/src/constants.ts +38 -43
  15. package/packages/autocomplete/src/sorting.ts +8 -0
  16. package/packages/background-tasks/package.json +2 -2
  17. package/packages/background-tasks/src/config.ts +0 -73
  18. package/packages/background-tasks/src/index.ts +20 -16
  19. package/packages/background-tasks/src/registry.ts +1 -171
  20. package/packages/background-tasks/src/types.ts +0 -32
  21. package/packages/btw/README.md +13 -56
  22. package/packages/btw/extensions/btw.ts +403 -1796
  23. package/packages/btw/package.json +5 -2
  24. package/packages/btw/skills/btw/SKILL.md +7 -143
  25. package/packages/compactor/README.md +56 -287
  26. package/packages/compactor/package.json +5 -9
  27. package/packages/compactor/skills/compactor/SKILL.md +13 -20
  28. package/packages/compactor/src/card.ts +90 -0
  29. package/packages/compactor/src/commands/index.ts +73 -130
  30. package/packages/compactor/src/compaction/compact-args.ts +5 -3
  31. package/packages/compactor/src/compaction/filter-noise.ts +1 -1
  32. package/packages/compactor/src/compaction/hooks.ts +487 -311
  33. package/packages/compactor/src/compaction/source.ts +178 -0
  34. package/packages/compactor/src/compaction/summarize.ts +586 -52
  35. package/packages/compactor/src/config/manager.ts +130 -127
  36. package/packages/compactor/src/config/schema.ts +32 -48
  37. package/packages/compactor/src/index.ts +40 -431
  38. package/packages/compactor/src/info-screen.ts +44 -190
  39. package/packages/compactor/src/session/recall-blocks.ts +1 -1
  40. package/packages/compactor/src/stats.ts +76 -0
  41. package/packages/compactor/src/tools/context-budget.ts +17 -34
  42. package/packages/compactor/src/tools/ctx-doctor.ts +45 -36
  43. package/packages/compactor/src/tools/register.ts +29 -269
  44. package/packages/compactor/src/types.ts +47 -186
  45. package/packages/core/README.md +25 -0
  46. package/packages/core/child-agent.ts +1 -0
  47. package/packages/core/command-echo.ts +63 -0
  48. package/packages/core/compaction-context.ts +41 -0
  49. package/packages/core/constants.ts +8 -38
  50. package/packages/core/events.ts +0 -53
  51. package/packages/core/fusion-status.ts +4 -0
  52. package/packages/core/global.d.ts +10 -0
  53. package/packages/core/harness-messages.ts +392 -0
  54. package/packages/core/index.ts +14 -0
  55. package/packages/core/kanboard-status.ts +49 -0
  56. package/packages/core/long-horizon-owner-status.ts +46 -0
  57. package/packages/core/model-cache.ts +81 -7
  58. package/packages/core/package.json +6 -3
  59. package/packages/core/src/attach/detect.ts +163 -0
  60. package/packages/core/src/child-agent/child-args.ts +31 -0
  61. package/packages/core/src/child-agent/delivery.ts +41 -0
  62. package/packages/core/src/child-agent/index.ts +5 -0
  63. package/packages/core/src/child-agent/readers.ts +203 -0
  64. package/packages/core/src/child-agent/runtime.ts +584 -0
  65. package/packages/core/src/evidence.ts +78 -0
  66. package/packages/core/src/hints/browser.ts +278 -0
  67. package/packages/core/src/hints/crab-data.ts +19 -0
  68. package/packages/core/src/hints/index.ts +865 -0
  69. package/packages/core/src/hints/lines.ts +607 -0
  70. package/packages/core/src/hints/store.ts +120 -0
  71. package/packages/core/src/jev/chatter.ts +24 -0
  72. package/packages/core/src/jev/settings.ts +177 -14
  73. package/packages/core/src/package-colors.ts +2 -0
  74. package/packages/core/src/settings/catalog.ts +39 -15
  75. package/packages/core/src/settings/engine.ts +48 -2
  76. package/packages/core/src/settings/hub.ts +83 -20
  77. package/packages/core/src/settings/open.ts +49 -0
  78. package/packages/core/src/settings/schema.ts +27 -7
  79. package/packages/core/src/tui/hub-kit.ts +18 -5
  80. package/packages/core/src/tui/kit.ts +198 -0
  81. package/packages/core/src/tui/progress.ts +73 -0
  82. package/packages/core/src/turn/arbiter.ts +290 -0
  83. package/packages/footer/README.md +4 -6
  84. package/packages/footer/package.json +3 -3
  85. package/packages/footer/src/glance-editor.ts +19 -11
  86. package/packages/footer/src/help.ts +1 -1
  87. package/packages/footer/src/index.ts +36 -3
  88. package/packages/footer/src/presets.ts +3 -4
  89. package/packages/footer/src/rendering/icons.ts +0 -20
  90. package/packages/footer/src/segments/compactor.ts +52 -142
  91. package/packages/footer/src/segments/status-ext.ts +0 -1
  92. package/packages/fusion/README.md +14 -4
  93. package/packages/fusion/package.json +4 -3
  94. package/packages/fusion/src/child-args.ts +1 -0
  95. package/packages/fusion/src/index.ts +161 -8
  96. package/packages/fusion/src/pi-settings.ts +57 -0
  97. package/packages/fusion/src/picker.ts +186 -51
  98. package/packages/fusion/src/preset.ts +56 -2
  99. package/packages/fusion/src/prompts.ts +1 -1
  100. package/packages/fusion/src/sidekick-runtime.ts +1 -420
  101. package/packages/fusion/src/tools.ts +107 -128
  102. package/packages/fusion/src/transcript.ts +27 -85
  103. package/packages/info-screen/package.json +2 -2
  104. package/packages/input-shortcuts/README.md +18 -30
  105. package/packages/input-shortcuts/package.json +2 -2
  106. package/packages/input-shortcuts/src/burst.ts +88 -0
  107. package/packages/input-shortcuts/src/chord-overlay.ts +20 -70
  108. package/packages/input-shortcuts/src/cleared-input.ts +97 -0
  109. package/packages/input-shortcuts/src/index.ts +99 -193
  110. package/packages/input-shortcuts/src/last-response.ts +40 -0
  111. package/packages/input-shortcuts/src/registers.ts +8 -23
  112. package/packages/input-shortcuts/src/types.ts +4 -16
  113. package/packages/input-shortcuts/src/undo-redo.ts +59 -47
  114. package/packages/kanboard/README.md +51 -47
  115. package/packages/kanboard/index.ts +293 -55
  116. package/packages/kanboard/package.json +8 -8
  117. package/packages/kanboard/skills/kanboard/SKILL.md +61 -27
  118. package/packages/kanboard/src/badges.ts +93 -0
  119. package/packages/kanboard/src/bin.ts +4 -2
  120. package/packages/kanboard/src/commands.ts +218 -84
  121. package/packages/kanboard/src/debug.ts +20 -0
  122. package/packages/kanboard/src/guard.ts +267 -109
  123. package/packages/kanboard/src/monitor.ts +330 -0
  124. package/packages/kanboard/src/notice-buffer.ts +74 -0
  125. package/packages/kanboard/src/progress.ts +27 -0
  126. package/packages/kanboard/src/reminders.ts +234 -0
  127. package/packages/kanboard/src/settings.ts +69 -15
  128. package/packages/kanboard/src/shapes.ts +5 -0
  129. package/packages/long-horizon/index.ts +190 -13
  130. package/packages/long-horizon/package.json +3 -3
  131. package/packages/long-horizon/src/commands.ts +103 -7
  132. package/packages/long-horizon/src/compaction-brief.ts +35 -0
  133. package/packages/long-horizon/src/engine/continuation.ts +84 -15
  134. package/packages/long-horizon/src/engine/goal-state.ts +64 -13
  135. package/packages/long-horizon/src/engine/nudge-stash.ts +71 -0
  136. package/packages/long-horizon/src/engine/ralph.ts +3 -2
  137. package/packages/long-horizon/src/engine/runaway.ts +68 -11
  138. package/packages/long-horizon/src/engine/verifier.ts +19 -0
  139. package/packages/long-horizon/src/gate.ts +37 -12
  140. package/packages/long-horizon/src/judge/resolve.ts +1 -0
  141. package/packages/long-horizon/src/owner.ts +35 -2
  142. package/packages/long-horizon/src/progress.ts +87 -0
  143. package/packages/long-horizon/src/prompts/goal.ts +1 -1
  144. package/packages/long-horizon/src/runtime.ts +172 -18
  145. package/packages/long-horizon/src/settings.ts +54 -39
  146. package/packages/long-horizon/src/tools/goal.ts +6 -0
  147. package/packages/long-horizon/src/tools/graph.ts +1 -1
  148. package/packages/long-horizon/src/tools/swarm.ts +3 -3
  149. package/packages/mcp/package.json +2 -2
  150. package/packages/memory/commands.ts +7 -2
  151. package/packages/memory/index.ts +210 -32
  152. package/packages/memory/package.json +3 -3
  153. package/packages/memory/save-session.ts +264 -0
  154. package/packages/memory/settings.ts +17 -0
  155. package/packages/memory/tools.ts +253 -203
  156. package/packages/notify/package.json +2 -2
  157. package/packages/skill-registry/README.md +53 -16
  158. package/packages/skill-registry/index.ts +230 -0
  159. package/packages/skill-registry/package.json +19 -8
  160. package/packages/skill-registry/src/editor.ts +206 -0
  161. package/packages/skill-registry/src/judge.ts +289 -0
  162. package/packages/skill-registry/src/registry.ts +87 -0
  163. package/packages/skill-registry/src/settings.ts +259 -0
  164. package/packages/skill-registry/src/vault.ts +80 -0
  165. package/packages/subagents/README.md +39 -119
  166. package/packages/subagents/package.json +6 -13
  167. package/packages/subagents/skills/subagents/SKILL.md +18 -42
  168. package/packages/subagents/src/agents.ts +213 -0
  169. package/packages/subagents/src/cards.ts +182 -0
  170. package/packages/subagents/src/index.ts +609 -1084
  171. package/packages/subagents/src/manager.ts +429 -0
  172. package/packages/subagents/src/profiles.ts +130 -0
  173. package/packages/subagents/src/transcript.ts +154 -0
  174. package/packages/subagents/src/ui.ts +389 -0
  175. package/packages/unipi/bundled.js +39756 -45569
  176. package/packages/unipi/index.ts +55 -10
  177. package/packages/updater/package.json +2 -2
  178. package/packages/utility/README.md +76 -69
  179. package/packages/utility/package.json +2 -2
  180. package/packages/utility/skills/image/SKILL.md +37 -0
  181. package/packages/utility/skills/utility/SKILL.md +17 -60
  182. package/packages/utility/src/answer/extract.ts +128 -0
  183. package/packages/utility/src/answer/index.ts +213 -0
  184. package/packages/utility/src/answer/reply.ts +133 -0
  185. package/packages/utility/src/answer/web.ts +167 -0
  186. package/packages/utility/src/attach/index.ts +205 -0
  187. package/packages/utility/src/commands.ts +38 -142
  188. package/packages/utility/src/diagnostics/engine.ts +50 -5
  189. package/packages/utility/src/image/index.ts +33 -0
  190. package/packages/utility/src/image/models.ts +221 -0
  191. package/packages/{image/src → utility/src/image}/recognize.ts +2 -2
  192. package/packages/utility/src/image/settings.ts +178 -0
  193. package/packages/{image/src/image-source.ts → utility/src/image/source.ts} +1 -1
  194. package/packages/utility/src/image/tools.ts +168 -0
  195. package/packages/utility/src/image/transports.ts +186 -0
  196. package/packages/utility/src/index.ts +68 -389
  197. package/packages/utility/src/lifecycle/cleanup.ts +116 -311
  198. package/packages/utility/src/rename/gate.ts +102 -0
  199. package/packages/utility/src/rename/index.ts +191 -0
  200. package/packages/utility/src/rename/session.ts +170 -0
  201. package/packages/utility/src/render/delegated.ts +285 -0
  202. package/packages/utility/src/render/harness.ts +683 -0
  203. package/packages/utility/src/render/parse.ts +156 -0
  204. package/packages/utility/src/render/pi-settings.ts +38 -0
  205. package/packages/utility/src/render/reply-bg.ts +307 -0
  206. package/packages/utility/src/render/simple.ts +724 -0
  207. package/packages/utility/src/render/spacing.ts +235 -0
  208. package/packages/utility/src/render/styled.ts +251 -0
  209. package/packages/utility/src/render/tools.ts +353 -0
  210. package/packages/utility/src/settings.ts +166 -233
  211. package/packages/utility/src/types.ts +1 -222
  212. package/packages/watchdog/index.ts +17 -6
  213. package/packages/watchdog/package.json +3 -3
  214. package/packages/watchdog/src/config.ts +3 -2
  215. package/packages/web-api/package.json +2 -2
  216. package/packages/workflow/README.md +3 -0
  217. package/packages/workflow/index.ts +0 -2
  218. package/packages/workflow/package.json +2 -2
  219. package/packages/workflow/src/permission/decide.ts +6 -4
  220. package/packages/workflow/src/permission/index.ts +17 -7
  221. package/packages/workflow/src/permission/settings.ts +39 -4
  222. package/packages/workflow/src/plan/index.ts +19 -4
  223. package/packages/background-tasks/extensions/delegate-child.ts +0 -1
  224. package/packages/background-tasks/src/context-parent-snapshot.ts +0 -142
  225. package/packages/background-tasks/src/context-token-budget.ts +0 -903
  226. package/packages/background-tasks/src/context-visible-conversation-v2.ts +0 -551
  227. package/packages/background-tasks/src/delegate/artifacts.ts +0 -487
  228. package/packages/background-tasks/src/delegate/budget.ts +0 -415
  229. package/packages/background-tasks/src/delegate/hook-contract-evidence.json +0 -18
  230. package/packages/background-tasks/src/delegate/hook-contract.ts +0 -154
  231. package/packages/background-tasks/src/delegate/launch.ts +0 -484
  232. package/packages/background-tasks/src/delegate/result-package.ts +0 -459
  233. package/packages/background-tasks/src/delegate/runner.ts +0 -430
  234. package/packages/background-tasks/src/delegate/seed.ts +0 -423
  235. package/packages/background-tasks/src/delegate/types.ts +0 -323
  236. package/packages/background-tasks/src/delegate-child-extension.ts +0 -978
  237. package/packages/background-tasks/src/delegate-extension.ts +0 -654
  238. package/packages/background-tasks/src/fixtures/delegate-context-incident.json +0 -17
  239. package/packages/compactor/skills/compactor-detail/SKILL.md +0 -116
  240. package/packages/compactor/skills/compactor-doctor/SKILL.md +0 -71
  241. package/packages/compactor/skills/compactor-stats/SKILL.md +0 -51
  242. package/packages/compactor/src/compaction/build-sections.ts +0 -76
  243. package/packages/compactor/src/compaction/extract/goals.ts +0 -36
  244. package/packages/compactor/src/compaction/extract/preferences.ts +0 -40
  245. package/packages/compactor/src/compaction/format.ts +0 -53
  246. package/packages/compactor/src/compaction/merge.ts +0 -143
  247. package/packages/compactor/src/config/presets.ts +0 -160
  248. package/packages/compactor/src/executor/executor.ts +0 -233
  249. package/packages/compactor/src/executor/runtime.ts +0 -115
  250. package/packages/compactor/src/security/evaluator.ts +0 -89
  251. package/packages/compactor/src/security/policy.ts +0 -96
  252. package/packages/compactor/src/security/scanner.ts +0 -65
  253. package/packages/compactor/src/session/auto-inject.ts +0 -60
  254. package/packages/compactor/src/session/db.ts +0 -325
  255. package/packages/compactor/src/session/extract.ts +0 -144
  256. package/packages/compactor/src/session/resume-inject.ts +0 -64
  257. package/packages/compactor/src/session/snapshot.ts +0 -327
  258. package/packages/compactor/src/tools/ctx-batch-execute.ts +0 -41
  259. package/packages/compactor/src/tools/ctx-execute-file.ts +0 -23
  260. package/packages/compactor/src/tools/ctx-execute.ts +0 -23
  261. package/packages/compactor/src/tools/ctx-stats.ts +0 -96
  262. package/packages/image/README.md +0 -99
  263. package/packages/image/package.json +0 -61
  264. package/packages/image/skills/image/SKILL.md +0 -76
  265. package/packages/image/src/generate.ts +0 -256
  266. package/packages/image/src/index.ts +0 -135
  267. package/packages/image/src/models.ts +0 -519
  268. package/packages/image/src/openai-images-api.ts +0 -282
  269. package/packages/image/src/register-providers.ts +0 -209
  270. package/packages/image/src/settings.ts +0 -173
  271. package/packages/image/src/tools.ts +0 -326
  272. package/packages/input-shortcuts/src/clipboard.ts +0 -119
  273. package/packages/kanboard/src/runner.ts +0 -817
  274. package/packages/skill-registry/skills/auto/SKILL.md +0 -465
  275. package/packages/skill-registry/skills/brainstorm/SKILL.md +0 -219
  276. package/packages/skill-registry/skills/chore-create/SKILL.md +0 -315
  277. package/packages/skill-registry/skills/chore-execute/SKILL.md +0 -314
  278. package/packages/skill-registry/skills/consolidate/SKILL.md +0 -142
  279. package/packages/skill-registry/skills/consultant/SKILL.md +0 -97
  280. package/packages/skill-registry/skills/debug/SKILL.md +0 -228
  281. package/packages/skill-registry/skills/document/SKILL.md +0 -120
  282. package/packages/skill-registry/skills/fix/SKILL.md +0 -212
  283. package/packages/skill-registry/skills/gather-context/SKILL.md +0 -145
  284. package/packages/skill-registry/skills/plan/SKILL.md +0 -231
  285. package/packages/skill-registry/skills/quick-fix/SKILL.md +0 -135
  286. package/packages/skill-registry/skills/quick-work/SKILL.md +0 -110
  287. package/packages/skill-registry/skills/research/SKILL.md +0 -251
  288. package/packages/skill-registry/skills/review-work/SKILL.md +0 -187
  289. package/packages/skill-registry/skills/scan-issues/SKILL.md +0 -195
  290. package/packages/skill-registry/skills/work/SKILL.md +0 -218
  291. package/packages/skill-registry/skills/worktree-create/SKILL.md +0 -69
  292. package/packages/skill-registry/skills/worktree-list/SKILL.md +0 -78
  293. package/packages/skill-registry/skills/worktree-merge/SKILL.md +0 -89
  294. package/packages/subagents/agents/delegate.md +0 -14
  295. package/packages/subagents/agents/oracle.md +0 -78
  296. package/packages/subagents/agents/researcher.md +0 -52
  297. package/packages/subagents/agents/reviewer.md +0 -80
  298. package/packages/subagents/agents/scout.md +0 -50
  299. package/packages/subagents/agents/worker.md +0 -59
  300. package/packages/subagents/prompts/council.md +0 -48
  301. package/packages/subagents/prompts/gather-context-and-clarify.md +0 -13
  302. package/packages/subagents/prompts/parallel-cleanup.md +0 -59
  303. package/packages/subagents/prompts/parallel-research.md +0 -50
  304. package/packages/subagents/prompts/parallel-review.md +0 -54
  305. package/packages/subagents/prompts/review-loop.md +0 -43
  306. package/packages/subagents/skills/council-mode/SKILL.md +0 -230
  307. package/packages/subagents/skills/subagents/references/constraints-and-recipes.md +0 -259
  308. package/packages/subagents/skills/subagents/references/execution-controls.md +0 -454
  309. package/packages/subagents/skills/subagents/references/management-authoring-rpc.md +0 -161
  310. package/packages/subagents/skills/subagents/references/multi-lane-orchestration.md +0 -39
  311. package/packages/subagents/skills/subagents/references/prompting-and-roles.md +0 -267
  312. package/packages/subagents/src/acceptance.ts +0 -331
  313. package/packages/subagents/src/agent-manager.ts +0 -405
  314. package/packages/subagents/src/agent-memory.ts +0 -300
  315. package/packages/subagents/src/agent-overrides.ts +0 -183
  316. package/packages/subagents/src/agent-runner.ts +0 -271
  317. package/packages/subagents/src/async-runner.ts +0 -422
  318. package/packages/subagents/src/authority-policy.ts +0 -47
  319. package/packages/subagents/src/budgets.ts +0 -285
  320. package/packages/subagents/src/child-safety.ts +0 -140
  321. package/packages/subagents/src/config.ts +0 -249
  322. package/packages/subagents/src/conversation-viewer.ts +0 -281
  323. package/packages/subagents/src/core-compat.ts +0 -94
  324. package/packages/subagents/src/custom-agents.ts +0 -343
  325. package/packages/subagents/src/file-system-retry.ts +0 -50
  326. package/packages/subagents/src/fleet-data.ts +0 -105
  327. package/packages/subagents/src/fleet-view.ts +0 -322
  328. package/packages/subagents/src/foreground-detach.ts +0 -59
  329. package/packages/subagents/src/fork-context.ts +0 -285
  330. package/packages/subagents/src/global.d.ts +0 -7
  331. package/packages/subagents/src/guide.ts +0 -129
  332. package/packages/subagents/src/mission-state.ts +0 -133
  333. package/packages/subagents/src/mission-store.ts +0 -436
  334. package/packages/subagents/src/output-limits.ts +0 -142
  335. package/packages/subagents/src/parity-types.ts +0 -315
  336. package/packages/subagents/src/pi-args.ts +0 -167
  337. package/packages/subagents/src/result-files.ts +0 -232
  338. package/packages/subagents/src/result-watcher.ts +0 -221
  339. package/packages/subagents/src/retained-children.ts +0 -176
  340. package/packages/subagents/src/run-fanout-budget.ts +0 -356
  341. package/packages/subagents/src/scheduled-runs.ts +0 -349
  342. package/packages/subagents/src/schemas.ts +0 -263
  343. package/packages/subagents/src/slash-commands.ts +0 -80
  344. package/packages/subagents/src/supervisor-channel.ts +0 -249
  345. package/packages/subagents/src/tool-handler.ts +0 -1144
  346. package/packages/subagents/src/types.ts +0 -238
  347. package/packages/subagents/src/widget.ts +0 -457
  348. package/packages/subagents/src/workflow-script.ts +0 -737
  349. package/packages/subagents/src/workflow-worker.ts +0 -384
  350. package/packages/subagents/src/worktree.ts +0 -614
  351. package/packages/utility/src/analytics/collector.ts +0 -293
  352. package/packages/utility/src/info-screen.ts +0 -80
  353. package/packages/utility/src/lifecycle/process.ts +0 -162
  354. package/packages/utility/src/prefix-cache.ts +0 -263
  355. package/packages/utility/src/skill-discovery.ts +0 -542
  356. package/packages/utility/src/tools/env.ts +0 -113
  357. package/packages/utility/src/tui/name-badge-state.ts +0 -315
  358. package/packages/utility/src/tui/name-badge.ts +0 -109
  359. /package/packages/{subagents/src → core/src/child-agent}/pi-spawn.ts +0 -0
@@ -1,465 +0,0 @@
1
- ---
2
- name: auto
3
- description: "Full pipeline — brainstorm → plan → work → review → merge. One command, end to end."
4
- ---
5
-
6
- # Auto Pipeline
7
-
8
- Run the complete development pipeline from idea to merged code. This skill is self-contained — it includes all the logic needed to execute each phase without loading other skills.
9
-
10
- ## Command Format
11
-
12
- ```
13
- the full pipeline <string(greedy)>(optional) plan:<path>(optional) specs:<path>(optional)
14
- ```
15
-
16
- - `string(greedy)` — what to build (triggers full pipeline from brainstorm)
17
- - `plan:<path>` — existing plan to execute (skips brainstorm + plan, starts at work)
18
- - `specs:<path>` — existing spec to plan from (skips brainstorm, starts at plan)
19
- - No args → ask user what to do
20
-
21
- ## Pipeline Stages
22
-
23
- ```
24
- brainstorm → plan → work → review → merge
25
- ```
26
-
27
- Each phase must complete before the next begins. User can intervene at any gate.
28
-
29
- ---
30
-
31
- ## Phase 1: Determine Entry Point
32
-
33
- Based on args:
34
-
35
- **If `string(greedy)` provided (no plan/specs):**
36
- → Start at Phase 2 (Brainstorm). Full pipeline.
37
-
38
- **If `specs:<path>` provided (no plan):**
39
- → Start at Phase 3 (Plan). Skip brainstorm.
40
-
41
- **If `plan:<path>` provided:**
42
- → Start at Phase 4 (Work). Skip brainstorm + plan.
43
-
44
- **If no args:**
45
- → Ask user:
46
- 1. "What do you want to build?" → brainstorm
47
- 2. "I have a spec, plan from it" → provide spec path
48
- 3. "I have a plan, execute it" → provide plan path
49
- 4. "I have a plan, just review + merge" → provide plan path
50
-
51
- **Exit:** Entry point determined. Pipeline scope clear.
52
-
53
- ---
54
-
55
- ## Phase 2: Brainstorm
56
-
57
- ### 2.1: Explore Context
58
-
59
- 1. Run read-only commands to understand current state:
60
- ```
61
- find . -type f -name "*.ts" | head -20
62
- ls -la src/
63
- cat package.json
64
- git log --oneline -10
65
- ```
66
- 2. Identify relevant files and patterns
67
- 3. Note existing conventions
68
-
69
- ### 2.2: Ask Clarifying Questions
70
-
71
- Ask **one question at a time**:
72
- 1. "What problem are we actually solving?"
73
- 2. "Who has this problem and when?"
74
- 3. "What does success look like?"
75
-
76
- Prefer multiple choice when natural options exist.
77
-
78
- ### 2.3: Propose Approaches
79
-
80
- Propose 2-3 approaches with trade-offs:
81
- - What each optimizes for (speed, flexibility, simplicity)
82
- - What each costs (complexity, maintenance, time)
83
- - Recommendation with reasoning
84
-
85
- Present conversationally. Ask user to choose.
86
-
87
- ### 2.4: Design
88
-
89
- Once approach chosen, present design in sections:
90
- - Architecture / components
91
- - Data flow
92
- - Error handling
93
- - Testing approach
94
-
95
- Ask after each section if it looks right.
96
-
97
- ### 2.5: Write Spec
98
-
99
- Create `docs/specs/YYYY-MM-DD-<topic>-design.md` (Create the folder if it does not exist — it is an ordinary project folder, not a unipi store.):
100
-
101
- ```markdown
102
- ---
103
- title: "{Topic}"
104
- type: brainstorm
105
- date: YYYY-MM-DD
106
- ---
107
-
108
- # {Topic}
109
-
110
- ## Problem Statement
111
- {The actual problem, reframed}
112
-
113
- ## Context
114
- {Key findings from exploration}
115
-
116
- ## Chosen Approach
117
- {High-level description}
118
-
119
- ## Why This Approach
120
- {Decision rationale, alternatives rejected}
121
-
122
- ## Design
123
- {Architecture, components, data flow}
124
-
125
- ## Implementation Checklist
126
- - [ ] Task 1 — description
127
- - [ ] Task 2 — description
128
- - [ ] Task 3 — description
129
-
130
- ## Open Questions
131
- {Questions for planning phase}
132
-
133
- ## Out of Scope
134
- {Explicitly excluded}
135
- ```
136
-
137
- ### 2.6: Self-Review
138
-
139
- Before presenting:
140
- 1. Any "TBD", "TODO", incomplete sections? Fix them.
141
- 2. Do sections contradict each other?
142
- 3. Could any requirement be interpreted two ways? Pick one.
143
-
144
- ### 2.7: Design Gate
145
-
146
- > "Spec written to `docs/specs/YYYY-MM-DD-<topic>-design.md`. Please review and let me know if you want changes before we plan."
147
-
148
- **WAIT for user approval.** If changes requested, make them and re-review.
149
-
150
- **Exit:** User approves design. Proceed to Phase 3.
151
-
152
- ---
153
-
154
- ## Phase 3: Plan
155
-
156
- ### 3.1: Load Spec
157
-
158
- 1. Read the spec file (from Phase 2 or from `specs:` arg)
159
- 2. Understand: problem, approach, design, checklist
160
-
161
- ### 3.2: Ask Clarifying Questions
162
-
163
- 1. Review spec critically — identify concerns or gaps
164
- 2. If concerns: raise with user before proceeding
165
- 3. Ask about work branch:
166
-
167
- > "Where should this work happen?"
168
- > 1. **Main branch** — work directly on main (small/medium tasks, low risk)
169
- > 2. **New branch** — isolated worktree (larger tasks, risky changes)
170
-
171
- Record the decision for plan frontmatter.
172
-
173
- ### 3.3: Create Implementation Plan
174
-
175
- Create `docs/plans/YYYY-MM-DD-<topic>-plan.md`:
176
-
177
- ```markdown
178
- ---
179
- title: "{Topic} — Implementation Plan"
180
- type: plan
181
- date: YYYY-MM-DD
182
- workbranch: {branch-name} # empty string = work on main branch
183
- specs:
184
- - path/to/spec.md
185
- ---
186
-
187
- # {Topic} — Implementation Plan
188
-
189
- ## Overview
190
- {Brief summary of what this plan covers}
191
-
192
- ## Tasks
193
-
194
- - unstarted: Task 1 — {Task Name}
195
- - Description: {What needs to be done}
196
- - Dependencies: {None, or list of tasks}
197
- - Acceptance Criteria: {How to verify done}
198
- - Steps:
199
- 1. {Concrete step}
200
- 2. {Concrete step}
201
-
202
- - unstarted: Task 2 — {Task Name}
203
- - Description: ...
204
- - Dependencies: ...
205
- - Acceptance Criteria: ...
206
- - Steps: ...
207
-
208
- ## Sequencing
209
- {Order of execution, dependency graph if complex}
210
-
211
- ## Risks
212
- {Potential blockers or concerns}
213
- ```
214
-
215
- **Task Status Lifecycle:**
216
- | Status | Meaning |
217
- |--------|----------|
218
- | `unstarted:` | Not started |
219
- | `in-progress:` | Being worked on |
220
- | `completed:` | Done and verified |
221
- | `failed:` | Attempted but failed |
222
- | `awaiting_user:` | Needs user action |
223
- | `blocked:` | Waiting on dependency |
224
- | `skipped:` | Intentionally not doing |
225
-
226
- ### 3.4: Update Spec Checkboxes
227
-
228
- After plan is complete:
229
- 1. Read the source spec
230
- 2. For each checklist item covered by this plan, mark `[x]`
231
- 3. Leave items not covered as `[ ]`
232
- 4. Write updated spec back
233
-
234
- **Semantics:** Spec `[x]` means "planned" (covered by a plan). It does NOT mean "done".
235
-
236
- ### 3.5: Self-Review
237
-
238
- - [ ] Every task has clear acceptance criteria
239
- - [ ] Dependencies are correct (no circular, no missing)
240
- - [ ] Steps are bite-sized (agent can follow without guessing)
241
- - [ ] Plan is focused enough for single work session
242
-
243
- ### 3.6: Plan Gate
244
-
245
- Present plan summary to user.
246
-
247
- **WAIT for user approval.** If changes requested, make them.
248
-
249
- **Exit:** User approves plan. Proceed to Phase 4.
250
-
251
- ---
252
-
253
- ## Phase 4: Work
254
-
255
- ### 4.1: Setup
256
-
257
- 1. Read `workbranch` from plan frontmatter
258
- 2. If `workbranch` non-empty:
259
- - Create worktree: `git worktree add .unipi/worktrees/{branch} -b {branch}`
260
- - Work within worktree directory
261
- 3. If `workbranch` empty:
262
- - Work directly on current branch (main)
263
-
264
- ### 4.2: Execute Tasks
265
-
266
- For each task in order, skip `completed:`, `skipped:`, and `awaiting_user:` tasks:
267
-
268
- **If `unstarted:`:**
269
- 1. Change `unstarted:` to `in-progress:` in plan
270
- 2. Follow each step exactly (plan has bite-sized steps)
271
- 3. Run verifications as specified in acceptance criteria
272
- 4. Change `in-progress:` to `completed:` when complete
273
- 5. Update plan file with progress
274
-
275
- **If `in-progress:`:**
276
- 1. Continue from where it left off
277
- 2. Follow remaining steps
278
- 3. Change to `completed:` when done
279
-
280
- **If `failed:`:**
281
- 1. Read failure notes
282
- 2. Investigate root cause
283
- 3. Fix and re-verify
284
- 4. Change to `completed:` when fixed, or keep `failed:` if still broken
285
-
286
- **If `awaiting_user:`:**
287
- 1. Remind user what's needed
288
- 2. Wait for user response
289
- 3. Resume when user provides input
290
-
291
- **If `blocked:`:**
292
- 1. Check if blocker is resolved
293
- 2. If resolved → change to `unstarted:` and continue
294
- 3. If still blocked → skip and move to next task
295
-
296
- ### 4.3: When to Stop and Ask
297
-
298
- **STOP immediately when:**
299
- - Hit blocker (missing dependency, test fails, instruction unclear)
300
- - Plan has critical gaps
301
- - You don't understand an instruction
302
- - Verification fails repeatedly
303
-
304
- Ask for clarification rather than guessing.
305
-
306
- ### 4.4: Commit Progress
307
-
308
- After each task or group of tasks:
309
- 1. Stage changes
310
- 2. Commit with descriptive message referencing task name
311
- 3. Continue to next task
312
-
313
- Don't wait until end to commit — incremental commits are safer.
314
-
315
- ### 4.5: Work Complete
316
-
317
- When all tasks are `completed:`:
318
- 1. Run final verification (tests, lint, build)
319
- 2. Commit all remaining changes
320
-
321
- **Exit:** All tasks complete. Proceed to Phase 5.
322
-
323
- ---
324
-
325
- ## Phase 5: Review
326
-
327
- ### 5.1: Setup
328
-
329
- 1. Read `workbranch` from plan frontmatter
330
- 2. If `workbranch` exists and not empty → switch to that branch/worktree
331
- 3. If `workbranch` missing or empty → review on current branch (main)
332
-
333
- ### 5.2: Check Task Completion
334
-
335
- For each task in plan:
336
- 1. Read acceptance criteria
337
- 2. Verify against actual implementation
338
- 3. Determine status:
339
- - **Done** — all criteria met → `completed:`
340
- - **Partially Done X/Y** — some steps complete, others not
341
- - **Unstarted** — nothing done
342
- - **Failed** — attempted but broken
343
-
344
- ### 5.3: Run Codebase Checks
345
-
346
- Run project's verification suite:
347
- 1. **Lint** — `npm run lint` or equivalent
348
- 2. **Type check** — `tsc --noEmit` or equivalent
349
- 3. **Tests** — `npm test` or equivalent
350
- 4. **Build** — `npm run build` or equivalent
351
- 5. **Docker** — `docker build .` if Dockerfile exists
352
-
353
- Report results. If any fail:
354
- - Note which checks failed
355
- - Identify which tasks are affected
356
-
357
- ### 5.4: Write Reviewer Remarks
358
-
359
- Add `REVIEWER-REMARK` at the **end of the plan document**, behind a divider:
360
-
361
- ```markdown
362
- ---
363
-
364
- ## Reviewer Remarks
365
-
366
- REVIEWER-REMARK: Done
367
- - All tasks complete, verified against acceptance criteria
368
-
369
- Codebase Checks:
370
- - ✓ Lint passed
371
- - ✓ Type check passed
372
- - ✓ Tests passed
373
- - ✓ Build passed
374
- ```
375
-
376
- ### 5.5: Review Gate
377
-
378
- **If all tasks done and checks pass:**
379
- → Proceed to Phase 6
380
-
381
- **If tasks incomplete or checks fail:**
382
- > "Tasks remaining and/or checks failing. Continuing back to work phase."
383
- → Go back to Phase 4 with failure context
384
-
385
- **Exit:** All checks pass. Reviewer remarks say Done. Proceed to Phase 6.
386
-
387
- ---
388
-
389
- ## Phase 6: Merge (if worktree)
390
-
391
- ### 6.1: Check Branch Strategy
392
-
393
- If `workbranch` was set (worktree):
394
- 1. Load worktree-merge logic
395
- 2. Merge worktree branch back to main
396
- 3. Clean up worktree and branch
397
- 4. Run final verification on main
398
-
399
- If `workbranch` was empty (main branch):
400
- → Skip merge — changes already on main.
401
-
402
- **Exit:** Code on main. Worktree cleaned (if applicable).
403
-
404
- ---
405
-
406
- ## Phase 7: Summary
407
-
408
- Report pipeline results:
409
-
410
- ```
411
- Pipeline Complete: {topic}
412
-
413
- ✓ Brainstorm — docs/specs/{spec}
414
- ✓ Plan — docs/plans/{plan}
415
- ✓ Work — {N} tasks completed on {branch or "main"}
416
- ✓ Review — all checks passed
417
- ✓ Merge — {merged to main, worktree cleaned or "already on main"}
418
-
419
- Artifacts:
420
- - Spec: docs/specs/{spec}
421
- - Plan: docs/plans/{plan}
422
- ```
423
-
424
- Suggest next steps:
425
- - `the consolidate step` — save learnings
426
- - `the issue scan` — deeper code review
427
- - `the document step` — generate docs
428
-
429
- ---
430
-
431
- ## Interruption Handling
432
-
433
- If any phase fails or user interrupts:
434
-
435
- 1. Record current phase and progress
436
- 2. Suggest resuming from the failed phase
437
- 3. Don't lose context — spec/plan/progress preserved
438
-
439
- Example:
440
- > "Pipeline paused at review phase. 3/5 tasks complete, tests failing.
441
- > Resume with: `the full pipeline plan:<plan-path>`"
442
-
443
- ---
444
-
445
- ## Coexist Triggers
446
-
447
- When packages are present, auto pipeline enhances:
448
-
449
- | Package | Enhancement |
450
- |---------|-------------|
451
- | `@unipi/ask-user` | Use `ask_user` for decision gates |
452
- | `@unipi/subagents` | Parallel task execution in work phase |
453
- | `@unipi/mcp` | MCP tools available throughout |
454
- | `@unipi/web-api` | Web research in brainstorm phase |
455
- | `@unipi/ralph` | Ralph loop for 3+ tasks in work phase |
456
-
457
- ---
458
-
459
- ## Notes
460
-
461
- - This skill is self-contained — no need to load other skills
462
- - Gates between phases ensure user oversight
463
- - Pipeline is resumable — can restart from any phase
464
- - Worktree isolation protects main branch (skipped for small tasks)
465
- - Auto command has `full` sandbox — all tools available
@@ -1,219 +0,0 @@
1
- ---
2
- name: brainstorm
3
- description: "Collaborative discovery — explore problem space, evaluate approaches, write design spec. Use before any creative work."
4
- ---
5
-
6
- # Brainstorming Ideas Into Designs
7
-
8
- Turn ideas into fully formed designs through collaborative dialogue.
9
-
10
- ## Boundaries
11
-
12
- **This skill MAY:** research (read-only), discuss, ask questions, write the brainstorm document.
13
- **This skill MAY NOT:** edit code, create files beyond the brainstorm document, run tests, deploy, implement anything.
14
-
15
- **NEVER write code during this skill. This is a discussion, not implementation.**
16
-
17
- ## Command Format
18
-
19
- ```
20
- the brainstorm skill <string(greedy)>
21
- ```
22
-
23
- - `string(greedy)` — the topic or problem to brainstorm about
24
- - No worktree args — brainstorm runs in current session on current branch
25
- - No visual companion — text-only brainstorming
26
-
27
- ## Hard Gate
28
-
29
- Do NOT write any code, scaffold any project, or take any implementation action until design is presented and user approved. This applies to EVERY project regardless of perceived simplicity.
30
-
31
- ## Anti-Pattern: "Too Simple For Design"
32
-
33
- Every project goes through this process. A todo list, a utility, a config change — all of them. "Simple" projects are where unexamined assumptions cause wasted work. Design can be short, but MUST present and get approval.
34
-
35
- ## Output Path
36
-
37
- ```
38
- docs/specs/YYYY-MM-DD-<topic>-design.md
39
- ```
40
-
41
- Create the `docs/specs/` folder if it does not exist yet — it is an ordinary project folder, not a unipi store.
42
-
43
- Committed to current branch. Accessible across worktrees via git.
44
-
45
- ---
46
-
47
- ## Phase 1: Explore Project Context
48
-
49
- 1. Check files, docs, recent commits to understand current state
50
- 2. Assess scope: if request describes multiple independent subsystems, flag immediately
51
- 3. If too large for single spec, help decompose into sub-projects
52
-
53
- **Exit:** Context gathered. Ready to ask questions.
54
-
55
- ---
56
-
57
- ## Phase 2: Ask Clarifying Questions
58
-
59
- Ask **one question at a time**. Don't dump a questionnaire.
60
-
61
- Start with:
62
- 1. "What problem are we actually solving?" — strip assumptions, get root need
63
- 2. "Who has this problem and when?" — context changes solutions
64
- 3. "What does success look like?" — outcomes, not features
65
-
66
- Use `ask_user` for structured decisions (approach selection, scope tradeoffs) when the tool is available. If `ask_user` is not available, use conversational text with clearly numbered options (e.g., "1. Option A — ... 2. Option B — ... Please pick one."). Use conversational text for open-ended exploration. Prefer multiple choice when natural options exist. Validate assumptions explicitly.
67
-
68
- **Exit:** Problem statement clear and reframed. Both agree on what solving.
69
-
70
- ---
71
-
72
- ## Phase 3: Propose Approaches
73
-
74
- Propose 2-3 different approaches with trade-offs:
75
- - What each optimizes for (speed, flexibility, simplicity)
76
- - What each costs (complexity, maintenance, time, risk)
77
- - Prior art in codebase or industry
78
-
79
- Present conversationally with recommendation and reasoning.
80
-
81
- **If open questions emerge:** MUST ask user about each one. Don't assume. Use `ask_user` with clearly labeled options and descriptions for each approach when available; otherwise present numbered options conversationally.
82
-
83
- **Exit:** Approach chosen. User signals decision.
84
-
85
- ---
86
-
87
- ## Phase 4: Present Design
88
-
89
- Once approach chosen, present design in sections:
90
- - Scale each section to complexity (few sentences if straightforward, 200-300 words if nuanced)
91
- - Ask after each section whether it looks right (use `ask_user` for "approve / needs changes / go back" checkpoints if available; otherwise ask conversationally and wait for response)
92
- - Cover: architecture, components, data flow, error handling, testing
93
- - Be ready to go back and clarify
94
-
95
- **Design for isolation and clarity:**
96
- - Break into smaller units with one clear purpose
97
- - Each unit communicates through well-defined interfaces
98
- - Can someone understand unit without reading internals?
99
-
100
- **Exit:** Design approved by user.
101
-
102
- ---
103
-
104
- ## Phase 5: Write Design Document
105
-
106
- Write to `docs/specs/YYYY-MM-DD-<topic>-design.md`:
107
-
108
- ```markdown
109
- ---
110
- title: "{Topic}"
111
- type: brainstorm
112
- date: YYYY-MM-DD
113
- ---
114
-
115
- # {Topic}
116
-
117
- ## Problem Statement
118
- {The actual problem, reframed}
119
-
120
- ## Context
121
- {Key findings — what exists, what's been tried}
122
-
123
- ## Chosen Approach
124
- {High-level description}
125
-
126
- ## Why This Approach
127
- {Decision rationale, alternatives rejected}
128
-
129
- ## Design
130
- {Architecture, components, data flow}
131
-
132
- ## Implementation Checklist
133
- - [ ] Task 1 — description
134
- - [ ] Task 2 — description
135
- - [ ] Task 3 — description
136
-
137
- ## Open Questions
138
- {Questions for planning phase}
139
-
140
- ## Out of Scope
141
- {Explicitly excluded}
142
- ```
143
-
144
- ### Checklist Items
145
-
146
- The `## Implementation Checklist` section uses `- [ ]` markdown checkboxes. These are critical:
147
-
148
- - **`[ ]` = unplanned** — not yet covered by a plan
149
- - **`[x]` = planned** — marked when plan mode (`/unipi:plan`) covers this item
150
- - **`[x]` does NOT mean done** — implementation progress is tracked in the plan file (`unstarted:` / `in-progress:` / `completed:`)
151
- - Agent MUST fill in checklist items based on the design
152
- - Each item should be a discrete, implementable task
153
- - Items should be ordered by dependency (earlier items don't depend on later ones)
154
-
155
- ---
156
-
157
- ## Phase 6: Spec Self-Review
158
-
159
- After writing, review with fresh eyes:
160
-
161
- 1. **Placeholder scan:** Any "TBD", "TODO", incomplete sections? Fix them.
162
- 2. **Internal consistency:** Do sections contradict each other?
163
- 3. **Scope check:** Focused enough for single implementation plan?
164
- 4. **Ambiguity check:** Could any requirement be interpreted two ways? Pick one.
165
-
166
- Fix issues inline. No need to re-review — fix and move on.
167
-
168
- ---
169
-
170
- ## Phase 7: User Review Gate
171
-
172
- After self-review passes:
173
-
174
- > "Spec written and committed to `docs/specs/YYYY-MM-DD-<topic>-design.md`. Please review and let me know if you want changes before we plan."
175
-
176
- Wait for user response. If changes requested, make them and re-run self-review.
177
-
178
- ---
179
-
180
- ## Phase 8: Handoff
181
-
182
- Ask user what to do next. If `ask_user` is available, prefer structured options so the plan handoff can run automatically:
183
-
184
- ```ts
185
- ask_user({
186
- question: "What would you like to do next?",
187
- options: [
188
- {
189
- label: "Proceed to plan mode",
190
- description: "Turn decisions into an implementation plan",
191
- value: "plan",
192
- action: "new_session",
193
- prefill: "/unipi:plan",
194
- },
195
- { label: "Keep exploring", description: "Refine questions or decisions", value: "explore" },
196
- { label: "Done for now", description: "Return later", value: "done", action: "end_turn" },
197
- ],
198
- allowFreeform: false,
199
- })
200
- ```
201
-
202
- If `ask_user` is unavailable, ask conversationally with the same options. Keep this copyable fallback command visible:
203
- ```
204
- /unipi:plan
205
- ```
206
-
207
- ---
208
-
209
- ## Validate
210
-
211
- Before delivering, verify:
212
-
213
- - [ ] Problem was reframed — not accepted at face value
214
- - [ ] At least 2 approaches explored with tradeoffs
215
- - [ ] Every decision has rationale and rejected alternatives documented
216
- - [ ] Implementation checklist has concrete, discrete tasks with `[ ]` markers
217
- - [ ] Open questions listed — nothing swept under rug
218
- - [ ] No code was written — only brainstorm document created
219
- - [ ] plan mode can start from this document without asking "what did you decide about X?"