@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,212 +0,0 @@
1
- ---
2
- name: fix
3
- description: "Fix bugs using debug reports. Autocomplete for debug files. Records fixes in docs/fix/."
4
- ---
5
-
6
- # Fixing Bugs
7
-
8
- Implement fixes based on debug reports. Autocomplete available for debug file selection.
9
-
10
- ## Boundaries
11
-
12
- **This skill MAY:** read/write code, run tests, commit, write fix report to `docs/fix/`.
13
- **This skill MAY NOT:** create worktrees, merge branches, deploy.
14
-
15
- ## Command Format
16
-
17
- ```
18
- the fix step debug:<path>(optional) <string(greedy)>(optional)
19
- ```
20
-
21
- - `debug:<path>` — debug report to fix from (autocomplete available)
22
- - `string(greedy)` — optional scope or additional context
23
- - If no debug provided → agent lists available debug reports and asks
24
- - Full read/write sandbox
25
-
26
- ## Output Path
27
-
28
- ```
29
- docs/fix/YYYY-MM-DD-<topic>-fix.md
30
- ```
31
-
32
- Create the `docs/fix/` folder if it does not exist yet — it is an ordinary project folder, not a unipi store.
33
-
34
- ---
35
-
36
- ## Process
37
-
38
- ### Phase 1: Load Debug Report
39
-
40
- **If `debug:` arg provided:**
41
- 1. Read the debug report from `docs/debug/`
42
- 2. Understand: root cause, affected files, suggested fix, verification plan
43
-
44
- **If no debug provided:**
45
- 1. List available debug reports in `docs/debug/`
46
- 2. Present to user for selection (autocomplete-style)
47
- 3. Or ask if fixing without debug report (→ suggest `a quick fix`)
48
-
49
- **Exit:** Debug report loaded, fix strategy clear.
50
-
51
- ### Phase 2: Plan the Fix
52
-
53
- Based on debug report:
54
-
55
- 1. Review suggested fix strategy
56
- 2. Identify all files that need changes
57
- 3. Plan the order of changes
58
- 4. Consider side effects
59
-
60
- If debug report is unclear or incomplete:
61
- > "Debug report suggests {approach}, but I need to verify {aspect}. Should I investigate further or proceed with the suggested fix?"
62
-
63
- **Exit:** Fix plan ready.
64
-
65
- ### Phase 3: Implement Fix
66
-
67
- 1. Make the code changes as suggested in debug report
68
- 2. Follow the fix strategy step by step
69
- 3. If strategy doesn't work:
70
- - Document what happened
71
- - Try alternative approach
72
- - Update debug report if root cause was wrong
73
-
74
- 4. After each change:
75
- - Verify it compiles/parses
76
- - Check for immediate regressions
77
-
78
- **Exit:** Code changes made.
79
-
80
- ### Phase 4: Verify Fix
81
-
82
- Run verification as specified in debug report:
83
-
84
- 1. **Reproduce original bug** — confirm it no longer occurs
85
- 2. **Run test cases** — from debug report's verification plan
86
- 3. **Run project tests** — `npm test` or equivalent
87
- 4. **Check for regressions** — related functionality still works
88
-
89
- If verification fails:
90
- - Go back to Phase 3
91
- - Update debug report with new findings
92
- - Try alternative fix approach
93
-
94
- **Exit:** Fix verified.
95
-
96
- ### Phase 5: Write Fix Report
97
-
98
- Write to `docs/fix/YYYY-MM-DD-<topic>-fix.md`:
99
-
100
- ```markdown
101
- ---
102
- title: "{Bug Title} — Fix Report"
103
- type: fix
104
- date: YYYY-MM-DD
105
- debug-report: {path-to-debug-report}
106
- status: {fixed|partial-fix|could-not-fix}
107
- ---
108
-
109
- # {Bug Title} — Fix Report
110
-
111
- ## Summary
112
- {One-line description of what was fixed}
113
-
114
- ## Debug Report Reference
115
- - Report: `docs/debug/{filename}`
116
- - Root Cause: {brief summary}
117
-
118
- ## Changes Made
119
-
120
- ### Files Modified
121
- - `{file}` — {what changed and why}
122
- - `{file}` — {what changed and why}
123
-
124
- ### Code Changes
125
- {Key code changes, or "See git diff for details"}
126
-
127
- ## Fix Strategy
128
- {How the fix addresses the root cause}
129
-
130
- 1. {Step 1}
131
- 2. {Step 2}
132
-
133
- ## Verification
134
-
135
- ### Test Results
136
- - ✓ Original bug no longer reproduces
137
- - ✓ Test case 1: {description}
138
- - ✓ Test case 2: {description}
139
- - ✓ Project tests pass
140
-
141
- ### Regression Check
142
- - ✓ {Related feature 1} still works
143
- - ✓ {Related feature 2} still works
144
-
145
- ## Risks & Mitigations
146
- - {Risk}: {mitigation}
147
-
148
- ## Notes
149
- {Any additional context, gotchas, or follow-ups}
150
-
151
- ## Follow-up
152
- - [ ] {Optional follow-up task}
153
- ```
154
-
155
- ### Phase 6: Commit & Report
156
-
157
- 1. Commit changes with descriptive message
158
- 2. Report to user:
159
-
160
- > "Fixed. Changes committed."
161
- >
162
- > **Fix:** {brief summary}
163
- > **Files:** {list of changed files}
164
- > **Report:** `docs/fix/YYYY-MM-DD-<topic>-fix.md`
165
-
166
- Suggest next steps:
167
-
168
- **If fix was straightforward:**
169
- ```
170
- the consolidate step
171
- ```
172
-
173
- **If fix revealed deeper issues:**
174
- > "The fix works, but I noticed {issue}. Consider:"
175
- ```
176
- the issue scan focus on {area}
177
- ```
178
-
179
- **If fix was complex:**
180
- > "This was a tricky fix. Consider documenting the pattern:"
181
- ```
182
- the document step {area}
183
- ```
184
-
185
- ---
186
-
187
- ## Autocomplete Behavior
188
-
189
- When user types `the fix step debug:`, autocomplete shows:
190
-
191
- ```
192
- Available debug reports:
193
- ┌─────────────────────────────────────────┬────────────┬──────────────┐
194
- │ File │ Date │ Status │
195
- ├─────────────────────────────────────────┼────────────┼──────────────┤
196
- │ 2026-04-28-auth-timeout-debug.md │ 2026-04-28 │ root-caused │
197
- │ 2026-04-27-login-crash-debug.md │ 2026-04-27 │ root-caused │
198
- │ 2026-04-26-slow-query-debug.md │ 2026-04-26 │ needs-inv. │
199
- └─────────────────────────────────────────┴────────────┴──────────────┘
200
- ```
201
-
202
- User selects one, or types path manually.
203
-
204
- ---
205
-
206
- ## Notes
207
-
208
- - Debug reports are the primary input — they guide the fix
209
- - Fixes without debug reports should use `a quick fix` instead
210
- - Always verify against the debug report's verification plan
211
- - Fix reports provide audit trail for future reference
212
- - If debug report's suggested fix doesn't work, document why and try alternatives
@@ -1,145 +0,0 @@
1
- ---
2
- name: gather-context
3
- description: "Research codebase — surface patterns, find prior art, prepare for brainstorm. Spawns subagents if available."
4
- ---
5
-
6
- # Gathering Context
7
-
8
- Research the codebase thoroughly to prepare for brainstorming. Find patterns, prior art, and relevant context.
9
-
10
- ## Boundaries
11
-
12
- **This skill MAY:** read codebase, run read-only commands (find, grep, ls), spawn subagents, write findings.
13
- **This skill MAY NOT:** edit code, implement features, run tests that modify state.
14
-
15
- ## Command Format
16
-
17
- ```
18
- the context-gathering step <string(greedy)>
19
- ```
20
-
21
- - `string(greedy)` — what to research (e.g., "authentication patterns", "how we handle errors", "database layer")
22
- - Read-only sandbox
23
- - Spawns subagents if `@unipi/subagents` extension is installed
24
-
25
- ---
26
-
27
- ## Process
28
-
29
- ### Phase 1: Parse Research Request
30
-
31
- 1. Read the research topic
32
- 2. Break into sub-topics if needed
33
- 3. Determine research strategy:
34
- - File search (find files related to topic)
35
- - Pattern search (grep for patterns, conventions)
36
- - Structure analysis (directory layout, module organization)
37
- - History analysis (git log for related changes)
38
-
39
- **Exit:** Research plan ready.
40
-
41
- ### Phase 2: Gather Context
42
-
43
- If subagents available:
44
- 1. Spawn parallel subagents for different sub-topics
45
- 2. Each subagent researches independently
46
- 3. Collect findings from all subagents
47
-
48
- If no subagents:
49
- 1. Research sequentially
50
- 2. Use find, grep, read commands
51
- 3. Build context incrementally
52
-
53
- **Research areas:**
54
-
55
- **Code structure:**
56
- - Directory layout
57
- - Module organization
58
- - Key files and their purposes
59
- - Entry points
60
-
61
- **Patterns & conventions:**
62
- - Naming conventions
63
- - Import patterns
64
- - Error handling patterns
65
- - Testing patterns
66
-
67
- **Prior art:**
68
- - Similar features that exist
69
- - Past approaches (from git history)
70
- - Reusable components
71
- - Known issues or tech debt
72
-
73
- **Dependencies:**
74
- - External libraries used
75
- - Internal module dependencies
76
- - Configuration files
77
-
78
- **Exit:** Context gathered from all areas.
79
-
80
- ### Phase 3: Synthesize
81
-
82
- Organize findings into clear categories:
83
-
84
- ```markdown
85
- ## Key Findings
86
-
87
- ### Structure
88
- - {Finding about project structure}
89
-
90
- ### Patterns
91
- - {Finding about patterns used}
92
-
93
- ### Prior Art
94
- - {Finding about existing similar work}
95
-
96
- ### Gaps
97
- - {Finding about what's missing}
98
-
99
- ### Recommendations
100
- - {Suggestion for brainstorm based on findings}
101
- ```
102
-
103
- ### Phase 4: Present & Handoff
104
-
105
- Present findings to user.
106
-
107
- #### Save Gate
108
-
109
- If the user already specified whether to save (e.g., "save findings to memory" or "just show me"), skip this gate and follow their preference. Otherwise, ask:
110
-
111
- ```
112
- ask_user({
113
- question: "Save this context?",
114
- context: "Context gathered from {N} files across {areas}. Summary includes structure, patterns, prior art, and recommendations.",
115
- options: [
116
- { label: "Save to memory", description: "Store findings in .unipi/memory/ for future sessions", value: "save" },
117
- { label: "Save to file", description: "Write findings to docs/research/<topic>.md", value: "file" },
118
- { label: "Don't save", description: "Discard — context was just for this session", value: "discard" }
119
- ],
120
- allowFreeform: false
121
- })
122
- ```
123
-
124
- - **Save to memory:** Write findings to `.unipi/memory/` following the consolidate skill's memory file format.
125
- - **Save to file:** Write findings to `docs/research/<topic>.md` (Create the folder if it does not exist — it is an ordinary project folder, not a unipi store.) using the synthesis output format from Phase 3.
126
- - **Don't save:** Skip — findings stay in conversation only.
127
-
128
- After the save decision, hand off:
129
-
130
- > "Context gathered. Ready to brainstorm solutions?"
131
- ```
132
- the brainstorm skill <topic>
133
- ```
134
-
135
- The brainstorm will start with this context already available — no need to re-research.
136
-
137
- ---
138
-
139
- ## Notes
140
-
141
- - This is a research skill — read-only, no changes
142
- - Subagent support enables parallel research when available
143
- - Findings feed directly into brainstorm — natural workflow
144
- - Can be run standalone for exploration, or as pre-brainstorm step
145
- - Output is ephemeral (in conversation) unless user requests saving — save gate at end of Phase 4 offers explicit save-to-memory or save-to-file
@@ -1,231 +0,0 @@
1
- ---
2
- name: plan
3
- description: "Strategic planning — create implementation plan from brainstorm specs. Tasks, dependencies, acceptance criteria."
4
- ---
5
-
6
- # Planning From Specs
7
-
8
- Turn brainstorm decisions into an actionable implementation plan.
9
-
10
- ## Boundaries
11
-
12
- **This skill MAY:** read specs, read codebase, ask questions, write plan document, update brainstorm checkboxes.
13
- **This skill MAY NOT:** edit code, implement anything, run tests, deploy.
14
-
15
- **NEVER write code during this skill. This is planning, not implementation.**
16
-
17
- ## Command Format
18
-
19
- ```
20
- /unipi:plan [on|off|view|approve]
21
- ```
22
-
23
- - no argument toggles plan mode; `on`/`off` are explicit, `view` shows the current
24
- plan file, `approve` runs the approval path
25
- - scope guidance is ordinary prose in the prompt, not a command argument
26
- - if it is unclear which spec to plan from → ask the user
27
- - Runs in the current session, read-only except for the `docs/` folder
28
-
29
- ## Sandbox
30
-
31
- - **Read:** full codebase access for context
32
- - **Write:** only the project's `docs/` folder
33
-
34
- ## Output Path
35
-
36
- ```
37
- docs/plans/YYYY-MM-DD-<topic>-plan.md
38
- ```
39
-
40
- Create the `docs/plans/` folder if it does not exist yet — it is an ordinary project folder, not a unipi store.
41
-
42
- Committed to current branch.
43
-
44
- ---
45
-
46
- ## Phase 1: Load Specs
47
-
48
- 1. If `specs:` arg provided, read those spec files
49
- 2. If not provided, list available specs in `docs/specs/` and ask user to choose
50
- 3. Read the spec(s) fully — understand problem, approach, design, checklist
51
-
52
- **Exit:** Spec(s) loaded. Understand what to plan.
53
-
54
- ---
55
-
56
- ## Phase 2: Review & Ask
57
-
58
- 1. Review spec critically — identify concerns or gaps
59
- 2. If concerns: raise with user before proceeding
60
- 3. If `string(greedy)` provided: use it to scope planning (e.g., "focus on auth only")
61
- 4. Ask clarifying questions if needed (one at a time)
62
- 5. **Ask about work branch:**
63
-
64
- > "Where should this work happen?"
65
- >
66
- > 1. **Main branch** — work directly on main (small/medium tasks, low risk)
67
- > 2. **New branch** — isolated worktree (larger tasks, risky changes)
68
- >
69
- > If "New branch": "What branch name? (e.g., `feat/auth`, or press enter for auto-naming based on spec topic)"
70
-
71
- Record the decision:
72
- - Main branch → `workbranch:` will be empty in plan frontmatter
73
- - New branch → `workbranch: {branch-name}` in plan frontmatter (auto-generate `feat/{topic}` if not provided)
74
-
75
- **Exit:** No blockers. Branch strategy decided. Ready to plan.
76
-
77
- ---
78
-
79
- ## Phase 3: Create Implementation Plan
80
-
81
- Structure the plan with heart of gold style:
82
-
83
- ```markdown
84
- ---
85
- title: "{Topic} — Implementation Plan"
86
- type: plan
87
- date: YYYY-MM-DD
88
- workbranch: {branch-name} # empty string = work on main branch
89
- specs:
90
- - path/to/spec.md
91
- ---
92
-
93
- # {Topic} — Implementation Plan
94
-
95
- ## Overview
96
- {Brief summary of what this plan covers}
97
-
98
- ## Tasks
99
-
100
- - unstarted: Task 1 — {Task Name}
101
- - Description: {What needs to be done}
102
- - Dependencies: {None, or list of tasks}
103
- - Acceptance Criteria: {How to verify done}
104
- - Steps:
105
- 1. {Concrete step}
106
- 2. {Concrete step}
107
-
108
- - unstarted: Task 2 — {Task Name}
109
- - Description: ...
110
- - Dependencies: ...
111
- - Acceptance Criteria: ...
112
- - Steps: ...
113
-
114
- ## Sequencing
115
- {Order of execution, dependency graph if complex}
116
-
117
- ## Risks
118
- {Potential blockers or concerns}
119
- ```
120
-
121
- ### Task Guidelines
122
-
123
- - Each task should be **discrete and completable** in one session
124
- - **Dependencies** must be explicit — task B can't start before task A
125
- - **Acceptance criteria** must be verifiable — not "looks good" but "tests pass, builds clean"
126
- - **Steps** are bite-sized — agent can follow without guessing
127
- - Order tasks by dependency (foundational work first)
128
-
129
- ### Task Status Lifecycle
130
-
131
- Tasks use prefixes to track progress:
132
-
133
- | Status | Meaning |
134
- |--------|----------|
135
- | `unstarted:` | Not started |
136
- | `in-progress:` | Being worked on |
137
- | `completed:` | Done and verified |
138
- | `failed:` | Attempted but failed, needs investigation |
139
- | `awaiting_user:` | Needs user action (test, approve, provide input) |
140
- | `blocked:` | Waiting on dependency or external factor |
141
- | `skipped:` | Intentionally not doing (deferred, out of scope) |
142
-
143
- ---
144
-
145
- ## Phase 4: Update Brainstorm Checkboxes
146
-
147
- After plan is complete:
148
-
149
- 1. Read the source brainstorm spec(s)
150
- 2. For each checklist item covered by this plan, mark `[x]`
151
- 3. Leave items not covered as `[ ]`
152
- 4. Write updated spec back
153
-
154
- **Example:**
155
- ```markdown
156
- ## Implementation Checklist
157
- - [x] Set up auth middleware — covered in Task 1
158
- - [x] Create login endpoint — covered in Task 2
159
- - [ ] Add OAuth support — deferred to next plan
160
- - [ ] Rate limiting — out of scope
161
- ```
162
-
163
- This creates the link between brainstorm and plan — plan covers some items, others remain for future plans.
164
-
165
- **Semantics:** Spec `[x]` means "planned" (covered by a plan). It does NOT mean "done". Implementation progress is tracked in the plan file, not the spec.
166
-
167
- ---
168
-
169
- ## Phase 5: Review Plan
170
-
171
- Self-check before presenting:
172
-
173
- - [ ] Every task has clear acceptance criteria
174
- - [ ] Dependencies are correct (no circular, no missing)
175
- - [ ] Steps are bite-sized (agent can follow without guessing)
176
- - [ ] String greedy scope respected (if provided)
177
- - [ ] Plan is focused enough for single `the implementation step` session
178
-
179
- Do NOT re-read or re-edit the spec checkboxes — Phase 4 already wrote them.
180
-
181
- ---
182
-
183
- ## Phase 6: Present & Handoff
184
-
185
- Present plan summary to user. Then ask what to do next. If `ask_user` is available, prefer structured handoff options using `action: "new_session"` so the selected workflow can be queued automatically:
186
-
187
- ```ts
188
- ask_user({
189
- question: "What would you like to do next?",
190
- options: [
191
- {
192
- label: "Proceed to the implementation step",
193
- description: "Start implementing the plan",
194
- value: "work",
195
- action: "new_session",
196
- prefill: "<work-command>",
197
- },
198
- {
199
- label: "Proceed to the full pipeline",
200
- description: "Run full pipeline (work → review → merge)",
201
- value: "auto",
202
- action: "new_session",
203
- prefill: "the full pipeline plan:YYYY-MM-DD-<topic>-plan.md",
204
- },
205
- { label: "Revise plan", description: "Adjust tasks or scope", value: "revise" },
206
- { label: "Done for now", description: "Return later", value: "done", action: "end_turn" },
207
- ],
208
- allowFreeform: false,
209
- })
210
- ```
211
-
212
- Use the correct `<work-command>`:
213
- - **Worktree branch** → `the implementation step worktree:<branch-name> specs:YYYY-MM-DD-<topic>-plan`
214
- - **Main branch** → `the implementation step specs:YYYY-MM-DD-<topic>-plan` (no worktree arg)
215
-
216
- Copyable fallback commands when `ask_user` is unavailable:
217
- ```
218
- the implementation step worktree:<branch-name> specs:YYYY-MM-DD-<topic>-plan
219
- the implementation step specs:YYYY-MM-DD-<topic>-plan
220
- the full pipeline plan:YYYY-MM-DD-<topic>-plan.md
221
- ```
222
-
223
- Recommend starting a **new session** for work if using a worktree; the ask_user launcher handles compact/direct queuing when available.
224
-
225
- ---
226
-
227
- ## Resumability
228
-
229
- If plan mode starts on an existing plan:
230
- 1. Read the plan — look for `completed:` tasks
231
- 2. Ask user if they want to add tasks, modify existing, or plan new scope