@poolzin/pool-bot 2026.2.21 → 2026.2.22

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 (369) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/agents/api-key-rotation.js +47 -0
  3. package/dist/agents/apply-patch-update.js +19 -9
  4. package/dist/agents/apply-patch.js +72 -47
  5. package/dist/agents/bash-tools.exec.js +141 -559
  6. package/dist/agents/cli-backends.js +49 -6
  7. package/dist/agents/cli-runner/helpers.js +69 -152
  8. package/dist/agents/cli-runner.js +70 -19
  9. package/dist/agents/identity.js +20 -1
  10. package/dist/agents/image-sanitization.js +9 -0
  11. package/dist/agents/live-auth-keys.js +123 -26
  12. package/dist/agents/live-model-filter.js +13 -4
  13. package/dist/agents/model-catalog.js +40 -9
  14. package/dist/agents/model-forward-compat.js +60 -23
  15. package/dist/agents/model-selection.js +134 -41
  16. package/dist/agents/pi-auth-json.js +2 -2
  17. package/dist/agents/pi-embedded-helpers/bootstrap.js +65 -15
  18. package/dist/agents/pi-embedded-helpers/errors.js +140 -15
  19. package/dist/agents/pi-embedded-helpers/images.js +22 -12
  20. package/dist/agents/pi-embedded-helpers.js +2 -2
  21. package/dist/agents/pi-embedded-runner/abort.js +10 -3
  22. package/dist/agents/pi-embedded-runner/compact.js +230 -32
  23. package/dist/agents/pi-embedded-runner/extra-params.js +203 -12
  24. package/dist/agents/pi-embedded-runner/google.js +109 -19
  25. package/dist/agents/pi-embedded-runner/history.js +35 -17
  26. package/dist/agents/pi-embedded-runner/run/attempt.js +386 -95
  27. package/dist/agents/pi-embedded-runner/run/images.js +81 -55
  28. package/dist/agents/pi-embedded-runner/run/payloads.js +89 -39
  29. package/dist/agents/pi-embedded-runner/run.js +193 -25
  30. package/dist/agents/pi-embedded-runner/run.overflow-compaction.mocks.shared.js +2 -2
  31. package/dist/agents/pi-embedded-runner/runs.js +17 -8
  32. package/dist/agents/pi-embedded-runner/tool-result-context-guard.js +262 -0
  33. package/dist/agents/pi-embedded-runner.js +1 -1
  34. package/dist/agents/pi-embedded-subscribe.handlers.tools.js +180 -10
  35. package/dist/agents/pi-embedded-subscribe.js +37 -0
  36. package/dist/agents/pi-embedded-subscribe.tools.js +127 -30
  37. package/dist/agents/pi-model-discovery.js +9 -2
  38. package/dist/agents/pi-tool-definition-adapter.js +60 -8
  39. package/dist/agents/pi-tools.before-tool-call.js +1 -1
  40. package/dist/agents/pi-tools.js +113 -94
  41. package/dist/agents/pi-tools.read.js +337 -38
  42. package/dist/agents/poolbot-tools.js +14 -5
  43. package/dist/agents/sandbox/docker.js +10 -5
  44. package/dist/agents/sandbox/registry.js +96 -46
  45. package/dist/agents/sandbox/sanitize-env-vars.js +82 -0
  46. package/dist/agents/sandbox-paths.js +43 -10
  47. package/dist/agents/session-tool-result-guard-wrapper.js +23 -11
  48. package/dist/agents/session-tool-result-guard.js +39 -39
  49. package/dist/agents/session-transcript-repair.js +36 -33
  50. package/dist/agents/session-write-lock.js +62 -44
  51. package/dist/agents/skills/frontmatter.js +49 -88
  52. package/dist/agents/skills/workspace.js +335 -28
  53. package/dist/agents/subagent-announce.js +508 -174
  54. package/dist/agents/subagent-registry.js +45 -4
  55. package/dist/agents/subagent-spawn.js +16 -33
  56. package/dist/agents/system-prompt-report.js +27 -10
  57. package/dist/agents/system-prompt.js +26 -32
  58. package/dist/agents/tool-call-id.js +69 -17
  59. package/dist/agents/tool-display-common.js +1 -1
  60. package/dist/agents/tool-images.js +64 -31
  61. package/dist/agents/tools/canvas-tool.js +17 -11
  62. package/dist/agents/tools/common.js +37 -19
  63. package/dist/agents/tools/cron-tool.js +40 -38
  64. package/dist/agents/tools/gateway.js +70 -2
  65. package/dist/agents/tools/message-tool.js +181 -40
  66. package/dist/agents/tools/nodes-tool.js +128 -36
  67. package/dist/agents/tools/nodes-utils.js +12 -38
  68. package/dist/agents/tools/session-status-tool.js +24 -71
  69. package/dist/agents/tools/sessions-helpers.js +38 -210
  70. package/dist/agents/tools/sessions-spawn-tool.js +28 -198
  71. package/dist/agents/tools/telegram-actions.js +58 -7
  72. package/dist/agents/tools/web-fetch-utils.js +112 -7
  73. package/dist/agents/tools/web-fetch.js +279 -175
  74. package/dist/agents/tools/web-shared.js +71 -8
  75. package/dist/agents/usage.js +25 -16
  76. package/dist/auto-reply/commands-registry.data.js +85 -11
  77. package/dist/auto-reply/dispatch.js +40 -21
  78. package/dist/auto-reply/reply/abort.js +102 -33
  79. package/dist/auto-reply/reply/commands-core.js +82 -33
  80. package/dist/auto-reply/reply/commands-export-session.js +1 -1
  81. package/dist/auto-reply/reply/commands-info.js +41 -12
  82. package/dist/auto-reply/reply/commands-subagents.js +352 -100
  83. package/dist/auto-reply/reply/commands-system-prompt.js +2 -2
  84. package/dist/auto-reply/reply/dispatch-from-config.js +100 -29
  85. package/dist/auto-reply/reply/elevated-unavailable.js +1 -1
  86. package/dist/auto-reply/reply/inbound-meta.js +12 -1
  87. package/dist/auto-reply/reply/mentions.js +18 -11
  88. package/dist/auto-reply/reply/normalize-reply.js +17 -8
  89. package/dist/auto-reply/reply/reply-dispatcher.js +62 -10
  90. package/dist/auto-reply/reply/session.js +102 -21
  91. package/dist/auto-reply/reply/streaming-directives.js +16 -5
  92. package/dist/auto-reply/status.js +73 -50
  93. package/dist/browser/extension-relay.js +3 -3
  94. package/dist/browser/http-auth.js +1 -1
  95. package/dist/browser/paths.js +2 -2
  96. package/dist/build-info.json +3 -3
  97. package/dist/channels/allowlist-match.js +20 -0
  98. package/dist/channels/allowlists/resolve-utils.js +65 -2
  99. package/dist/channels/chat-type.js +8 -4
  100. package/dist/channels/dock.js +127 -35
  101. package/dist/channels/draft-stream-loop.js +6 -2
  102. package/dist/channels/plugins/actions/telegram.js +42 -18
  103. package/dist/channels/plugins/allowlist-match.js +1 -1
  104. package/dist/channels/plugins/group-mentions.js +51 -41
  105. package/dist/channels/plugins/message-action-names.js +2 -0
  106. package/dist/channels/plugins/message-actions.js +24 -5
  107. package/dist/channels/plugins/normalize/discord.js +26 -4
  108. package/dist/channels/plugins/normalize/signal.js +35 -22
  109. package/dist/channels/plugins/onboarding/helpers.js +8 -26
  110. package/dist/channels/plugins/outbound/imessage.js +15 -14
  111. package/dist/channels/registry.js +20 -7
  112. package/dist/cli/acp-cli.js +7 -5
  113. package/dist/cli/browser-cli-extension.js +25 -12
  114. package/dist/cli/browser-cli-state.cookies-storage.js +25 -6
  115. package/dist/cli/browser-cli-state.js +101 -145
  116. package/dist/cli/command-options.js +28 -0
  117. package/dist/cli/completion-cli.js +6 -6
  118. package/dist/cli/cron-cli/register.cron-add.js +25 -1
  119. package/dist/cli/cron-cli/register.cron-edit.js +44 -0
  120. package/dist/cli/cron-cli/shared.js +7 -1
  121. package/dist/cli/daemon-cli/lifecycle-core.js +23 -21
  122. package/dist/cli/daemon-cli/lifecycle.js +23 -247
  123. package/dist/cli/daemon-cli/register-service-commands.js +25 -4
  124. package/dist/cli/daemon-cli.js +1 -0
  125. package/dist/cli/devices-cli.js +33 -20
  126. package/dist/cli/gateway-cli/register.js +37 -105
  127. package/dist/cli/gateway-cli/run.js +49 -11
  128. package/dist/cli/nodes-camera.js +59 -4
  129. package/dist/cli/nodes-cli/register.camera.js +27 -24
  130. package/dist/cli/nodes-cli/rpc.js +21 -38
  131. package/dist/cli/qr-cli.js +2 -2
  132. package/dist/cli/skills-cli.format.js +2 -2
  133. package/dist/cli/update-cli/progress.js +2 -2
  134. package/dist/cli/update-cli/restart-helper.js +28 -7
  135. package/dist/cli/update-cli/shared.js +7 -7
  136. package/dist/cli/update-cli/status.js +1 -1
  137. package/dist/cli/update-cli/update-command.js +14 -8
  138. package/dist/cli/update-cli/wizard.js +2 -2
  139. package/dist/cli/update-cli.js +21 -1027
  140. package/dist/commands/auth-choice.apply.anthropic.js +10 -2
  141. package/dist/commands/channels/add-mutators.js +3 -35
  142. package/dist/commands/channels/add.js +39 -51
  143. package/dist/commands/config-validation.js +1 -1
  144. package/dist/commands/configure.gateway-auth.js +52 -15
  145. package/dist/commands/configure.gateway.js +84 -40
  146. package/dist/commands/doctor-completion.js +3 -3
  147. package/dist/commands/doctor-config-flow.js +536 -16
  148. package/dist/commands/doctor-gateway-services.js +103 -79
  149. package/dist/commands/doctor-memory-search.js +9 -9
  150. package/dist/commands/doctor-platform-notes.js +57 -30
  151. package/dist/commands/doctor-prompter.js +26 -15
  152. package/dist/commands/doctor-session-locks.js +1 -1
  153. package/dist/commands/doctor.js +21 -9
  154. package/dist/commands/model-picker.js +120 -95
  155. package/dist/commands/models/set.js +2 -21
  156. package/dist/commands/models/shared.js +65 -37
  157. package/dist/commands/onboard-helpers.js +81 -39
  158. package/dist/commands/openai-codex-oauth.js +1 -1
  159. package/dist/commands/sessions.js +52 -53
  160. package/dist/commands/status.summary.js +52 -34
  161. package/dist/commands/test-wizard-helpers.js +2 -2
  162. package/dist/config/defaults.js +79 -42
  163. package/dist/config/group-policy.js +50 -18
  164. package/dist/config/includes.js +37 -10
  165. package/dist/config/schema.help.js +5 -4
  166. package/dist/config/schema.hints.js +2 -2
  167. package/dist/config/schema.labels.js +1 -0
  168. package/dist/config/sessions/group.js +12 -11
  169. package/dist/config/sessions/paths.js +137 -11
  170. package/dist/config/sessions/store.js +185 -65
  171. package/dist/config/sessions/types.js +15 -1
  172. package/dist/config/sessions.js +1 -0
  173. package/dist/config/telegram-custom-commands.js +3 -2
  174. package/dist/config/types.js +2 -0
  175. package/dist/config/zod-schema.agent-defaults.js +6 -27
  176. package/dist/config/zod-schema.agent-runtime.js +171 -79
  177. package/dist/config/zod-schema.providers-core.js +138 -65
  178. package/dist/config/zod-schema.session.js +49 -22
  179. package/dist/control-ui/assets/index-HRr1grwl.js.map +1 -1
  180. package/dist/cron/isolated-agent/run.js +224 -57
  181. package/dist/cron/normalize.js +48 -45
  182. package/dist/cron/run-log.js +14 -0
  183. package/dist/cron/service/jobs.js +190 -28
  184. package/dist/cron/service/normalize.js +29 -11
  185. package/dist/cron/service/store.js +30 -44
  186. package/dist/cron/service/timer.js +182 -96
  187. package/dist/cron/service.js +3 -0
  188. package/dist/cron/stagger.js +37 -0
  189. package/dist/daemon/inspect.js +132 -92
  190. package/dist/daemon/runtime-paths.js +25 -4
  191. package/dist/daemon/service-audit.js +47 -16
  192. package/dist/discord/accounts.js +23 -20
  193. package/dist/discord/monitor/agent-components.js +1115 -219
  194. package/dist/discord/monitor/allow-list.js +114 -34
  195. package/dist/discord/monitor/listeners.js +204 -97
  196. package/dist/discord/monitor/message-handler.js +21 -10
  197. package/dist/discord/monitor/message-handler.preflight.js +195 -101
  198. package/dist/discord/monitor/message-handler.process.js +384 -123
  199. package/dist/discord/monitor/message-utils.js +86 -23
  200. package/dist/discord/monitor/native-command.js +77 -57
  201. package/dist/discord/monitor/provider.js +122 -117
  202. package/dist/discord/monitor/reply-context.js +20 -16
  203. package/dist/discord/monitor/reply-delivery.js +40 -8
  204. package/dist/discord/monitor/rest-fetch.js +22 -0
  205. package/dist/discord/monitor/threading.js +117 -24
  206. package/dist/discord/send.js +2 -1
  207. package/dist/discord/send.outbound.js +124 -11
  208. package/dist/discord/send.shared.js +112 -72
  209. package/dist/discord/voice-message.js +3 -3
  210. package/dist/gateway/auth.js +119 -44
  211. package/dist/gateway/call.js +76 -34
  212. package/dist/gateway/channel-health-monitor.js +57 -50
  213. package/dist/gateway/client.js +63 -29
  214. package/dist/gateway/control-ui-contract.js +1 -1
  215. package/dist/gateway/gateway-config-prompts.shared.js +2 -2
  216. package/dist/gateway/net.js +109 -1
  217. package/dist/gateway/protocol/index.js +5 -8
  218. package/dist/gateway/protocol/schema/agent.js +19 -1
  219. package/dist/gateway/protocol/schema/channels.js +21 -0
  220. package/dist/gateway/protocol/schema/cron.js +43 -30
  221. package/dist/gateway/protocol/schema/protocol-schemas.js +6 -11
  222. package/dist/gateway/protocol/schema/sessions.js +5 -1
  223. package/dist/gateway/protocol/schema.js +0 -1
  224. package/dist/gateway/server/presence-events.js +12 -0
  225. package/dist/gateway/server/ws-connection/message-handler.js +203 -212
  226. package/dist/gateway/server/ws-connection.js +58 -21
  227. package/dist/gateway/server-broadcast.js +18 -13
  228. package/dist/gateway/server-cron.js +177 -10
  229. package/dist/gateway/server-methods/agent-job.js +131 -38
  230. package/dist/gateway/server-methods/send.js +60 -14
  231. package/dist/gateway/server-methods/sessions.js +160 -96
  232. package/dist/gateway/server-methods/system.js +5 -7
  233. package/dist/gateway/server-methods-list.js +8 -0
  234. package/dist/gateway/server-methods.js +24 -8
  235. package/dist/gateway/server-node-events.js +278 -68
  236. package/dist/gateway/session-utils.fs.js +316 -75
  237. package/dist/gateway/session-utils.js +224 -70
  238. package/dist/gateway/sessions-patch.js +63 -20
  239. package/dist/gateway/test-temp-config.js +1 -1
  240. package/dist/gateway/tools-invoke-http.js +118 -70
  241. package/dist/gateway/ws-log.js +135 -107
  242. package/dist/hooks/frontmatter.js +36 -82
  243. package/dist/hooks/install.js +149 -139
  244. package/dist/hooks/internal-hooks.js +29 -4
  245. package/dist/hooks/plugin-hooks.js +2 -1
  246. package/dist/imessage/monitor/deliver.js +10 -4
  247. package/dist/imessage/monitor/monitor-provider.js +138 -375
  248. package/dist/imessage/monitor/runtime.js +4 -8
  249. package/dist/imessage/send.js +65 -19
  250. package/dist/infra/exec-approvals-allowlist.js +7 -0
  251. package/dist/infra/exec-approvals.js +35 -920
  252. package/dist/infra/exec-safe-bin-trust.js +64 -0
  253. package/dist/infra/heartbeat-runner.js +207 -134
  254. package/dist/infra/heartbeat-wake.js +183 -22
  255. package/dist/infra/install-source-utils.js +47 -0
  256. package/dist/infra/net/ssrf.js +170 -36
  257. package/dist/infra/outbound/deliver.js +224 -58
  258. package/dist/infra/outbound/message-action-spec.js +12 -5
  259. package/dist/infra/outbound/outbound-session.js +27 -25
  260. package/dist/infra/poolbot-root.js +32 -22
  261. package/dist/infra/ports.js +14 -11
  262. package/dist/infra/skills-remote.js +48 -37
  263. package/dist/infra/system-events.js +25 -11
  264. package/dist/infra/system-presence.js +26 -33
  265. package/dist/infra/tmp-poolbot-dir.js +81 -2
  266. package/dist/infra/wsl.js +37 -1
  267. package/dist/line/bot-message-context.js +163 -191
  268. package/dist/logging/subsystem.js +59 -22
  269. package/dist/markdown/ir.js +124 -50
  270. package/dist/media/store.js +1 -1
  271. package/dist/media-understanding/runner.entries.js +42 -25
  272. package/dist/media-understanding/runner.js +53 -488
  273. package/dist/memory/embeddings-gemini.js +53 -38
  274. package/dist/memory/manager-embedding-ops.js +48 -69
  275. package/dist/pairing/pairing-store.js +178 -119
  276. package/dist/plugin-sdk/index.js +34 -6
  277. package/dist/plugins/hooks.js +135 -14
  278. package/dist/plugins/install.js +190 -152
  279. package/dist/polls.js +11 -0
  280. package/dist/routing/resolve-route.js +190 -56
  281. package/dist/routing/session-key.js +38 -22
  282. package/dist/runtime.js +35 -9
  283. package/dist/security/audit-channel.js +1 -1
  284. package/dist/sessions/session-key-utils.js +29 -11
  285. package/dist/shared/frontmatter.js +5 -5
  286. package/dist/shared/node-list-types.js +1 -0
  287. package/dist/shared/string-normalization.js +15 -0
  288. package/dist/signal/monitor/event-handler.js +68 -36
  289. package/dist/signal/send.js +29 -37
  290. package/dist/slack/monitor/allow-list.js +10 -11
  291. package/dist/slack/monitor/commands.js +14 -3
  292. package/dist/slack/monitor/events/interactions.js +4 -4
  293. package/dist/slack/monitor/media.js +224 -16
  294. package/dist/slack/monitor/message-handler/dispatch.js +247 -13
  295. package/dist/slack/monitor/message-handler/prepare.js +128 -45
  296. package/dist/slack/monitor/slash.js +357 -144
  297. package/dist/slack/streaming.js +77 -0
  298. package/dist/telegram/accounts.js +40 -13
  299. package/dist/telegram/allowed-updates.js +3 -0
  300. package/dist/telegram/bot/delivery.js +129 -66
  301. package/dist/telegram/bot/helpers.js +136 -122
  302. package/dist/telegram/bot-handlers.js +600 -339
  303. package/dist/telegram/bot-message-context.js +115 -73
  304. package/dist/telegram/bot-message-dispatch.js +235 -104
  305. package/dist/telegram/bot-native-command-menu.js +3 -1
  306. package/dist/telegram/bot-native-commands.js +213 -193
  307. package/dist/telegram/bot.js +24 -132
  308. package/dist/telegram/draft-stream.js +84 -75
  309. package/dist/telegram/format.js +150 -6
  310. package/dist/telegram/send.js +415 -255
  311. package/dist/telegram/targets.js +21 -2
  312. package/dist/telegram/update-offset-store.js +19 -3
  313. package/dist/terminal/restore.js +5 -2
  314. package/dist/test-utils/fetch-mock.js +5 -0
  315. package/dist/version.js +18 -5
  316. package/dist/web/auto-reply/monitor/broadcast.js +7 -3
  317. package/dist/web/auto-reply/monitor/on-message.js +6 -3
  318. package/dist/web/inbound/media.js +34 -8
  319. package/dist/web/inbound/monitor.js +34 -17
  320. package/dist/web/inbound/send-api.js +18 -17
  321. package/dist/web/outbound.js +12 -5
  322. package/dist/wizard/clack-prompter.js +40 -7
  323. package/extensions/bluebubbles/package.json +1 -1
  324. package/extensions/copilot-proxy/package.json +1 -1
  325. package/extensions/diagnostics-otel/package.json +1 -1
  326. package/extensions/discord/package.json +1 -1
  327. package/extensions/feishu/package.json +1 -1
  328. package/extensions/google-antigravity-auth/package.json +1 -1
  329. package/extensions/google-gemini-cli-auth/package.json +1 -1
  330. package/extensions/googlechat/package.json +1 -1
  331. package/extensions/imessage/package.json +1 -1
  332. package/extensions/irc/package.json +1 -1
  333. package/extensions/line/package.json +1 -1
  334. package/extensions/llm-task/package.json +1 -1
  335. package/extensions/lobster/package.json +1 -1
  336. package/extensions/matrix/CHANGELOG.md +5 -0
  337. package/extensions/matrix/package.json +1 -1
  338. package/extensions/mattermost/package.json +1 -1
  339. package/extensions/memory-core/package.json +1 -1
  340. package/extensions/memory-lancedb/package.json +1 -1
  341. package/extensions/minimax-portal-auth/package.json +1 -1
  342. package/extensions/msteams/CHANGELOG.md +5 -0
  343. package/extensions/msteams/package.json +1 -1
  344. package/extensions/nextcloud-talk/package.json +1 -1
  345. package/extensions/nostr/CHANGELOG.md +5 -0
  346. package/extensions/nostr/package.json +1 -1
  347. package/extensions/open-prose/package.json +1 -1
  348. package/extensions/openai-codex-auth/package.json +1 -1
  349. package/extensions/signal/package.json +1 -1
  350. package/extensions/slack/package.json +1 -1
  351. package/extensions/telegram/package.json +1 -1
  352. package/extensions/tlon/package.json +1 -1
  353. package/extensions/twitch/CHANGELOG.md +5 -0
  354. package/extensions/twitch/package.json +1 -1
  355. package/extensions/voice-call/CHANGELOG.md +5 -0
  356. package/extensions/voice-call/package.json +1 -1
  357. package/extensions/whatsapp/package.json +1 -1
  358. package/extensions/zalo/CHANGELOG.md +5 -0
  359. package/extensions/zalo/package.json +1 -1
  360. package/extensions/zalouser/CHANGELOG.md +5 -0
  361. package/extensions/zalouser/package.json +1 -1
  362. package/package.json +1 -1
  363. package/skills/apple-reminders/SKILL.md +100 -49
  364. package/skills/coding-agent/SKILL.md +34 -28
  365. package/skills/github/SKILL.md +131 -16
  366. package/skills/imsg/SKILL.md +112 -15
  367. package/skills/openhue/SKILL.md +101 -19
  368. package/skills/tmux/SKILL.md +111 -79
  369. package/skills/weather/SKILL.md +88 -25
@@ -1,7 +1,10 @@
1
1
  ---
2
2
  name: coding-agent
3
- description: Run Codex CLI, Claude Code, OpenCode, or Pi Coding Agent via background process for programmatic control.
4
- metadata: {"poolbot":{"emoji":"🧩","requires":{"anyBins":["claude","codex","opencode","pi"]}}}
3
+ description: "Delegate coding tasks to Codex, Claude Code, or Pi agents via background process. Use when: (1) building/creating new features or apps, (2) reviewing PRs (spawn in temp dir), (3) refactoring large codebases, (4) iterative coding that needs file exploration. NOT for: simple one-liner fixes (just edit), reading code (use read tool), or any work in ~/clawd workspace (never spawn agents here). Requires a bash tool that supports pty:true."
4
+ metadata:
5
+ {
6
+ "poolbot": { "emoji": "🧩", "requires": { "anyBins": ["claude", "codex", "opencode", "pi"] } },
7
+ }
5
8
  ---
6
9
 
7
10
  # Coding Agent (bash-first)
@@ -24,27 +27,27 @@ bash command:"codex exec 'Your prompt'"
24
27
 
25
28
  ### Bash Tool Parameters
26
29
 
27
- | Parameter | Type | Description |
28
- |-----------|------|-------------|
29
- | `command` | string | The shell command to run |
30
- | `pty` | boolean | **Use for coding agents!** Allocates a pseudo-terminal for interactive CLIs |
31
- | `workdir` | string | Working directory (agent sees only this folder's context) |
32
- | `background` | boolean | Run in background, returns sessionId for monitoring |
33
- | `timeout` | number | Timeout in seconds (kills process on expiry) |
34
- | `elevated` | boolean | Run on host instead of sandbox (if allowed) |
30
+ | Parameter | Type | Description |
31
+ | ------------ | ------- | --------------------------------------------------------------------------- |
32
+ | `command` | string | The shell command to run |
33
+ | `pty` | boolean | **Use for coding agents!** Allocates a pseudo-terminal for interactive CLIs |
34
+ | `workdir` | string | Working directory (agent sees only this folder's context) |
35
+ | `background` | boolean | Run in background, returns sessionId for monitoring |
36
+ | `timeout` | number | Timeout in seconds (kills process on expiry) |
37
+ | `elevated` | boolean | Run on host instead of sandbox (if allowed) |
35
38
 
36
39
  ### Process Tool Actions (for background sessions)
37
40
 
38
- | Action | Description |
39
- |--------|-------------|
40
- | `list` | List all running/recent sessions |
41
- | `poll` | Check if session is still running |
42
- | `log` | Get session output (with optional offset/limit) |
43
- | `write` | Send raw data to stdin |
44
- | `submit` | Send data + newline (like typing and pressing Enter) |
45
- | `send-keys` | Send key tokens or hex bytes |
46
- | `paste` | Paste text (with optional bracketed mode) |
47
- | `kill` | Terminate the session |
41
+ | Action | Description |
42
+ | ----------- | ---------------------------------------------------- |
43
+ | `list` | List all running/recent sessions |
44
+ | `poll` | Check if session is still running |
45
+ | `log` | Get session output (with optional offset/limit) |
46
+ | `write` | Send raw data to stdin |
47
+ | `submit` | Send data + newline (like typing and pressing Enter) |
48
+ | `send-keys` | Send key tokens or hex bytes |
49
+ | `paste` | Paste text (with optional bracketed mode) |
50
+ | `kill` | Terminate the session |
48
51
 
49
52
  ---
50
53
 
@@ -99,13 +102,14 @@ process action:kill sessionId:XXX
99
102
 
100
103
  ### Flags
101
104
 
102
- | Flag | Effect |
103
- |------|--------|
104
- | `exec "prompt"` | One-shot execution, exits when done |
105
- | `--full-auto` | Sandboxed but auto-approves in workspace |
106
- | `--yolo` | NO sandbox, NO approvals (fastest, most dangerous) |
105
+ | Flag | Effect |
106
+ | --------------- | -------------------------------------------------- |
107
+ | `exec "prompt"` | One-shot execution, exits when done |
108
+ | `--full-auto` | Sandboxed but auto-approves in workspace |
109
+ | `--yolo` | NO sandbox, NO approvals (fastest, most dangerous) |
107
110
 
108
111
  ### Building/Creating
112
+
109
113
  ```bash
110
114
  # Quick one-shot (auto-approves) - remember PTY!
111
115
  bash pty:true workdir:~/project command:"codex exec --full-auto 'Build a dark mode toggle'"
@@ -133,6 +137,7 @@ bash pty:true workdir:/tmp/pr-130-review command:"codex review --base main"
133
137
  ```
134
138
 
135
139
  ### Batch PR Reviews (parallel army!)
140
+
136
141
  ```bash
137
142
  # Fetch all PR refs first
138
143
  git fetch origin '+refs/pull/*/head:refs/remotes/origin/pr/*'
@@ -255,14 +260,15 @@ For long-running background tasks, append a wake trigger to your prompt so Pool
255
260
  ... your task here.
256
261
 
257
262
  When completely finished, run this command to notify me:
258
- poolbot gateway wake --text "Done: [brief summary of what was built]" --mode now
263
+ poolbot system event --text "Done: [brief summary of what was built]" --mode now
259
264
  ```
260
265
 
261
266
  **Example:**
267
+
262
268
  ```bash
263
269
  bash pty:true workdir:~/project background:true command:"codex --yolo exec 'Build a REST API for todos.
264
270
 
265
- When completely finished, run: poolbot gateway wake --text \"Done: Built todos REST API with CRUD endpoints\" --mode now'"
271
+ When completely finished, run: poolbot system event --text \"Done: Built todos REST API with CRUD endpoints\" --mode now'"
266
272
  ```
267
273
 
268
274
  This triggers an immediate wake event — Skippy gets pinged in seconds, not 10 minutes.
@@ -275,4 +281,4 @@ This triggers an immediate wake event — Skippy gets pinged in seconds, not 10
275
281
  - **Git repo required:** Codex won't run outside a git directory. Use `mktemp -d && git init` for scratch work.
276
282
  - **exec is your friend:** `codex exec "prompt"` runs and exits cleanly - perfect for one-shots.
277
283
  - **submit vs write:** Use `submit` to send input + Enter, `write` for raw data without newline.
278
- - **Sass works:** Codex responds well to playful prompts. Asked it to write a haiku about being second fiddle to a space lobster, got: *"Second chair, I code / Space lobster sets the tempo / Keys glow, I follow"* 🦞
284
+ - **Sass works:** Codex responds well to playful prompts. Asked it to write a haiku about being second fiddle to a space lobster, got: _"Second chair, I code / Space lobster sets the tempo / Keys glow, I follow"_ 🦞
@@ -1,48 +1,163 @@
1
1
  ---
2
2
  name: github
3
- description: "Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries."
4
- metadata: {"poolbot":{"emoji":"🐙","requires":{"bins":["gh"]},"install":[{"id":"brew","kind":"brew","formula":"gh","bins":["gh"],"label":"Install GitHub CLI (brew)"},{"id":"apt","kind":"apt","package":"gh","bins":["gh"],"label":"Install GitHub CLI (apt)"}]}}
3
+ description: "GitHub operations via `gh` CLI: issues, PRs, CI runs, code review, API queries. Use when: (1) checking PR status or CI, (2) creating/commenting on issues, (3) listing/filtering PRs or issues, (4) viewing run logs. NOT for: complex web UI interactions requiring manual browser flows (use browser tooling when available), bulk operations across many repos (script with gh api), or when gh auth is not configured."
4
+ metadata:
5
+ {
6
+ "poolbot":
7
+ {
8
+ "emoji": "🐙",
9
+ "requires": { "bins": ["gh"] },
10
+ "install":
11
+ [
12
+ {
13
+ "id": "brew",
14
+ "kind": "brew",
15
+ "formula": "gh",
16
+ "bins": ["gh"],
17
+ "label": "Install GitHub CLI (brew)",
18
+ },
19
+ {
20
+ "id": "apt",
21
+ "kind": "apt",
22
+ "package": "gh",
23
+ "bins": ["gh"],
24
+ "label": "Install GitHub CLI (apt)",
25
+ },
26
+ ],
27
+ },
28
+ }
5
29
  ---
6
30
 
7
31
  # GitHub Skill
8
32
 
9
- Use the `gh` CLI to interact with GitHub. Always specify `--repo owner/repo` when not in a git directory, or use URLs directly.
33
+ Use the `gh` CLI to interact with GitHub repositories, issues, PRs, and CI.
10
34
 
11
- ## Pull Requests
35
+ ## When to Use
36
+
37
+ ✅ **USE this skill when:**
38
+
39
+ - Checking PR status, reviews, or merge readiness
40
+ - Viewing CI/workflow run status and logs
41
+ - Creating, closing, or commenting on issues
42
+ - Creating or merging pull requests
43
+ - Querying GitHub API for repository data
44
+ - Listing repos, releases, or collaborators
45
+
46
+ ## When NOT to Use
47
+
48
+ ❌ **DON'T use this skill when:**
49
+
50
+ - Local git operations (commit, push, pull, branch) → use `git` directly
51
+ - Non-GitHub repos (GitLab, Bitbucket, self-hosted) → different CLIs
52
+ - Cloning repositories → use `git clone`
53
+ - Reviewing actual code changes → use `coding-agent` skill
54
+ - Complex multi-file diffs → use `coding-agent` or read files directly
55
+
56
+ ## Setup
12
57
 
13
- Check CI status on a PR:
14
58
  ```bash
15
- gh pr checks 55 --repo owner/repo
59
+ # Authenticate (one-time)
60
+ gh auth login
61
+
62
+ # Verify
63
+ gh auth status
16
64
  ```
17
65
 
18
- List recent workflow runs:
66
+ ## Common Commands
67
+
68
+ ### Pull Requests
69
+
19
70
  ```bash
20
- gh run list --repo owner/repo --limit 10
71
+ # List PRs
72
+ gh pr list --repo owner/repo
73
+
74
+ # Check CI status
75
+ gh pr checks 55 --repo owner/repo
76
+
77
+ # View PR details
78
+ gh pr view 55 --repo owner/repo
79
+
80
+ # Create PR
81
+ gh pr create --title "feat: add feature" --body "Description"
82
+
83
+ # Merge PR
84
+ gh pr merge 55 --squash --repo owner/repo
21
85
  ```
22
86
 
23
- View a run and see which steps failed:
87
+ ### Issues
88
+
24
89
  ```bash
25
- gh run view <run-id> --repo owner/repo
90
+ # List issues
91
+ gh issue list --repo owner/repo --state open
92
+
93
+ # Create issue
94
+ gh issue create --title "Bug: something broken" --body "Details..."
95
+
96
+ # Close issue
97
+ gh issue close 42 --repo owner/repo
26
98
  ```
27
99
 
28
- View logs for failed steps only:
100
+ ### CI/Workflow Runs
101
+
29
102
  ```bash
103
+ # List recent runs
104
+ gh run list --repo owner/repo --limit 10
105
+
106
+ # View specific run
107
+ gh run view <run-id> --repo owner/repo
108
+
109
+ # View failed step logs only
30
110
  gh run view <run-id> --repo owner/repo --log-failed
31
- ```
32
111
 
33
- ## API for Advanced Queries
112
+ # Re-run failed jobs
113
+ gh run rerun <run-id> --failed --repo owner/repo
114
+ ```
34
115
 
35
- The `gh api` command is useful for accessing data not available through other subcommands.
116
+ ### API Queries
36
117
 
37
- Get PR with specific fields:
38
118
  ```bash
119
+ # Get PR with specific fields
39
120
  gh api repos/owner/repo/pulls/55 --jq '.title, .state, .user.login'
121
+
122
+ # List all labels
123
+ gh api repos/owner/repo/labels --jq '.[].name'
124
+
125
+ # Get repo stats
126
+ gh api repos/owner/repo --jq '{stars: .stargazers_count, forks: .forks_count}'
40
127
  ```
41
128
 
42
129
  ## JSON Output
43
130
 
44
- Most commands support `--json` for structured output. You can use `--jq` to filter:
131
+ Most commands support `--json` for structured output with `--jq` filtering:
45
132
 
46
133
  ```bash
47
134
  gh issue list --repo owner/repo --json number,title --jq '.[] | "\(.number): \(.title)"'
135
+ gh pr list --json number,title,state,mergeable --jq '.[] | select(.mergeable == "MERGEABLE")'
136
+ ```
137
+
138
+ ## Templates
139
+
140
+ ### PR Review Summary
141
+
142
+ ```bash
143
+ # Get PR overview for review
144
+ PR=55 REPO=owner/repo
145
+ echo "## PR #$PR Summary"
146
+ gh pr view $PR --repo $REPO --json title,body,author,additions,deletions,changedFiles \
147
+ --jq '"**\(.title)** by @\(.author.login)\n\n\(.body)\n\n📊 +\(.additions) -\(.deletions) across \(.changedFiles) files"'
148
+ gh pr checks $PR --repo $REPO
149
+ ```
150
+
151
+ ### Issue Triage
152
+
153
+ ```bash
154
+ # Quick issue triage view
155
+ gh issue list --repo owner/repo --state open --json number,title,labels,createdAt \
156
+ --jq '.[] | "[\(.number)] \(.title) - \([.labels[].name] | join(", ")) (\(.createdAt[:10]))"'
48
157
  ```
158
+
159
+ ## Notes
160
+
161
+ - Always specify `--repo owner/repo` when not in a git directory
162
+ - Use URLs directly: `gh pr view https://github.com/owner/repo/pull/55`
163
+ - Rate limits apply; use `gh api --cache 1h` for repeated queries
@@ -1,25 +1,122 @@
1
1
  ---
2
2
  name: imsg
3
- description: iMessage/SMS CLI for listing chats, history, watch, and sending.
3
+ description: iMessage/SMS CLI for listing chats, history, and sending messages via Messages.app.
4
4
  homepage: https://imsg.to
5
- metadata: {"poolbot":{"emoji":"📨","os":["darwin"],"requires":{"bins":["imsg"]},"install":[{"id":"brew","kind":"brew","formula":"steipete/tap/imsg","bins":["imsg"],"label":"Install imsg (brew)"}]}}
5
+ metadata:
6
+ {
7
+ "poolbot":
8
+ {
9
+ "emoji": "📨",
10
+ "os": ["darwin"],
11
+ "requires": { "bins": ["imsg"] },
12
+ "install":
13
+ [
14
+ {
15
+ "id": "brew",
16
+ "kind": "brew",
17
+ "formula": "steipete/tap/imsg",
18
+ "bins": ["imsg"],
19
+ "label": "Install imsg (brew)",
20
+ },
21
+ ],
22
+ },
23
+ }
6
24
  ---
7
25
 
8
26
  # imsg
9
27
 
10
- Use `imsg` to read and send Messages.app iMessage/SMS on macOS.
28
+ Use `imsg` to read and send iMessage/SMS via macOS Messages.app.
11
29
 
12
- Requirements
13
- - Messages.app signed in
14
- - Full Disk Access for your terminal
15
- - Automation permission to control Messages.app (for sending)
30
+ ## When to Use
16
31
 
17
- Common commands
18
- - List chats: `imsg chats --limit 10 --json`
19
- - History: `imsg history --chat-id 1 --limit 20 --attachments --json`
20
- - Watch: `imsg watch --chat-id 1 --attachments`
21
- - Send: `imsg send --to "+14155551212" --text "hi" --file /path/pic.jpg`
32
+ **USE this skill when:**
22
33
 
23
- Notes
24
- - `--service imessage|sms|auto` controls delivery.
25
- - Confirm recipient + message before sending.
34
+ - User explicitly asks to send iMessage or SMS
35
+ - Reading iMessage conversation history
36
+ - Checking recent Messages.app chats
37
+ - Sending to phone numbers or Apple IDs
38
+
39
+ ## When NOT to Use
40
+
41
+ ❌ **DON'T use this skill when:**
42
+
43
+ - Telegram messages → use `message` tool with `channel:telegram`
44
+ - Signal messages → use Signal channel if configured
45
+ - WhatsApp messages → use WhatsApp channel if configured
46
+ - Discord messages → use `message` tool with `channel:discord`
47
+ - Slack messages → use `slack` skill
48
+ - Group chat management (adding/removing members) → not supported
49
+ - Bulk/mass messaging → always confirm with user first
50
+ - Replying in current conversation → just reply normally (Clawdbot routes automatically)
51
+
52
+ ## Requirements
53
+
54
+ - macOS with Messages.app signed in
55
+ - Full Disk Access for terminal
56
+ - Automation permission for Messages.app (for sending)
57
+
58
+ ## Common Commands
59
+
60
+ ### List Chats
61
+
62
+ ```bash
63
+ imsg chats --limit 10 --json
64
+ ```
65
+
66
+ ### View History
67
+
68
+ ```bash
69
+ # By chat ID
70
+ imsg history --chat-id 1 --limit 20 --json
71
+
72
+ # With attachments info
73
+ imsg history --chat-id 1 --limit 20 --attachments --json
74
+ ```
75
+
76
+ ### Watch for New Messages
77
+
78
+ ```bash
79
+ imsg watch --chat-id 1 --attachments
80
+ ```
81
+
82
+ ### Send Messages
83
+
84
+ ```bash
85
+ # Text only
86
+ imsg send --to "+14155551212" --text "Hello!"
87
+
88
+ # With attachment
89
+ imsg send --to "+14155551212" --text "Check this out" --file /path/to/image.jpg
90
+
91
+ # Specify service
92
+ imsg send --to "+14155551212" --text "Hi" --service imessage
93
+ imsg send --to "+14155551212" --text "Hi" --service sms
94
+ ```
95
+
96
+ ## Service Options
97
+
98
+ - `--service imessage` — Force iMessage (requires recipient has iMessage)
99
+ - `--service sms` — Force SMS (green bubble)
100
+ - `--service auto` — Let Messages.app decide (default)
101
+
102
+ ## Safety Rules
103
+
104
+ 1. **Always confirm recipient and message content** before sending
105
+ 2. **Never send to unknown numbers** without explicit user approval
106
+ 3. **Be careful with attachments** — confirm file path exists
107
+ 4. **Rate limit yourself** — don't spam
108
+
109
+ ## Example Workflow
110
+
111
+ User: "Text mom that I'll be late"
112
+
113
+ ```bash
114
+ # 1. Find mom's chat
115
+ imsg chats --limit 20 --json | jq '.[] | select(.displayName | contains("Mom"))'
116
+
117
+ # 2. Confirm with user
118
+ # "Found Mom at +1555123456. Send 'I'll be late' via iMessage?"
119
+
120
+ # 3. Send after confirmation
121
+ imsg send --to "+1555123456" --text "I'll be late"
122
+ ```
@@ -1,30 +1,112 @@
1
1
  ---
2
2
  name: openhue
3
- description: Control Philips Hue lights/scenes via the OpenHue CLI.
3
+ description: Control Philips Hue lights and scenes via the OpenHue CLI.
4
4
  homepage: https://www.openhue.io/cli
5
- metadata: {"poolbot":{"emoji":"💡","requires":{"bins":["openhue"]},"install":[{"id":"brew","kind":"brew","formula":"openhue/cli/openhue-cli","bins":["openhue"],"label":"Install OpenHue CLI (brew)"}]}}
5
+ metadata:
6
+ {
7
+ "poolbot":
8
+ {
9
+ "emoji": "💡",
10
+ "requires": { "bins": ["openhue"] },
11
+ "install":
12
+ [
13
+ {
14
+ "id": "brew",
15
+ "kind": "brew",
16
+ "formula": "openhue/cli/openhue-cli",
17
+ "bins": ["openhue"],
18
+ "label": "Install OpenHue CLI (brew)",
19
+ },
20
+ ],
21
+ },
22
+ }
6
23
  ---
7
24
 
8
25
  # OpenHue CLI
9
26
 
10
- Use `openhue` to control Hue lights and scenes via a Hue Bridge.
27
+ Use `openhue` to control Philips Hue lights and scenes via a Hue Bridge.
11
28
 
12
- Setup
13
- - Discover bridges: `openhue discover`
14
- - Guided setup: `openhue setup`
29
+ ## When to Use
15
30
 
16
- Read
17
- - `openhue get light --json`
18
- - `openhue get room --json`
19
- - `openhue get scene --json`
31
+ ✅ **USE this skill when:**
20
32
 
21
- Write
22
- - Turn on: `openhue set light <id-or-name> --on`
23
- - Turn off: `openhue set light <id-or-name> --off`
24
- - Brightness: `openhue set light <id> --on --brightness 50`
25
- - Color: `openhue set light <id> --on --rgb #3399FF`
26
- - Scene: `openhue set scene <scene-id>`
33
+ - "Turn on/off the lights"
34
+ - "Dim the living room lights"
35
+ - "Set a scene" or "movie mode"
36
+ - Controlling specific Hue rooms or zones
37
+ - Adjusting brightness, color, or color temperature
27
38
 
28
- Notes
29
- - You may need to press the Hue Bridge button during setup.
30
- - Use `--room "Room Name"` when light names are ambiguous.
39
+ ## When NOT to Use
40
+
41
+ **DON'T use this skill when:**
42
+
43
+ - Non-Hue smart devices (other brands) → not supported
44
+ - HomeKit scenes or Shortcuts → use Apple's ecosystem
45
+ - TV or entertainment system control
46
+ - Thermostat or HVAC
47
+ - Smart plugs (unless Hue smart plugs)
48
+
49
+ ## Common Commands
50
+
51
+ ### List Resources
52
+
53
+ ```bash
54
+ openhue get light # List all lights
55
+ openhue get room # List all rooms
56
+ openhue get scene # List all scenes
57
+ ```
58
+
59
+ ### Control Lights
60
+
61
+ ```bash
62
+ # Turn on/off
63
+ openhue set light "Bedroom Lamp" --on
64
+ openhue set light "Bedroom Lamp" --off
65
+
66
+ # Brightness (0-100)
67
+ openhue set light "Bedroom Lamp" --on --brightness 50
68
+
69
+ # Color temperature (warm to cool: 153-500 mirek)
70
+ openhue set light "Bedroom Lamp" --on --temperature 300
71
+
72
+ # Color (by name or hex)
73
+ openhue set light "Bedroom Lamp" --on --color red
74
+ openhue set light "Bedroom Lamp" --on --rgb "#FF5500"
75
+ ```
76
+
77
+ ### Control Rooms
78
+
79
+ ```bash
80
+ # Turn off entire room
81
+ openhue set room "Bedroom" --off
82
+
83
+ # Set room brightness
84
+ openhue set room "Bedroom" --on --brightness 30
85
+ ```
86
+
87
+ ### Scenes
88
+
89
+ ```bash
90
+ # Activate scene
91
+ openhue set scene "Relax" --room "Bedroom"
92
+ openhue set scene "Concentrate" --room "Office"
93
+ ```
94
+
95
+ ## Quick Presets
96
+
97
+ ```bash
98
+ # Bedtime (dim warm)
99
+ openhue set room "Bedroom" --on --brightness 20 --temperature 450
100
+
101
+ # Work mode (bright cool)
102
+ openhue set room "Office" --on --brightness 100 --temperature 250
103
+
104
+ # Movie mode (dim)
105
+ openhue set room "Living Room" --on --brightness 10
106
+ ```
107
+
108
+ ## Notes
109
+
110
+ - Bridge must be on local network
111
+ - First run requires button press on Hue bridge to pair
112
+ - Colors only work on color-capable bulbs (not white-only)