@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.
- package/CHANGELOG.md +17 -0
- package/dist/agents/api-key-rotation.js +47 -0
- package/dist/agents/apply-patch-update.js +19 -9
- package/dist/agents/apply-patch.js +72 -47
- package/dist/agents/bash-tools.exec.js +141 -559
- package/dist/agents/cli-backends.js +49 -6
- package/dist/agents/cli-runner/helpers.js +69 -152
- package/dist/agents/cli-runner.js +70 -19
- package/dist/agents/identity.js +20 -1
- package/dist/agents/image-sanitization.js +9 -0
- package/dist/agents/live-auth-keys.js +123 -26
- package/dist/agents/live-model-filter.js +13 -4
- package/dist/agents/model-catalog.js +40 -9
- package/dist/agents/model-forward-compat.js +60 -23
- package/dist/agents/model-selection.js +134 -41
- package/dist/agents/pi-auth-json.js +2 -2
- package/dist/agents/pi-embedded-helpers/bootstrap.js +65 -15
- package/dist/agents/pi-embedded-helpers/errors.js +140 -15
- package/dist/agents/pi-embedded-helpers/images.js +22 -12
- package/dist/agents/pi-embedded-helpers.js +2 -2
- package/dist/agents/pi-embedded-runner/abort.js +10 -3
- package/dist/agents/pi-embedded-runner/compact.js +230 -32
- package/dist/agents/pi-embedded-runner/extra-params.js +203 -12
- package/dist/agents/pi-embedded-runner/google.js +109 -19
- package/dist/agents/pi-embedded-runner/history.js +35 -17
- package/dist/agents/pi-embedded-runner/run/attempt.js +386 -95
- package/dist/agents/pi-embedded-runner/run/images.js +81 -55
- package/dist/agents/pi-embedded-runner/run/payloads.js +89 -39
- package/dist/agents/pi-embedded-runner/run.js +193 -25
- package/dist/agents/pi-embedded-runner/run.overflow-compaction.mocks.shared.js +2 -2
- package/dist/agents/pi-embedded-runner/runs.js +17 -8
- package/dist/agents/pi-embedded-runner/tool-result-context-guard.js +262 -0
- package/dist/agents/pi-embedded-runner.js +1 -1
- package/dist/agents/pi-embedded-subscribe.handlers.tools.js +180 -10
- package/dist/agents/pi-embedded-subscribe.js +37 -0
- package/dist/agents/pi-embedded-subscribe.tools.js +127 -30
- package/dist/agents/pi-model-discovery.js +9 -2
- package/dist/agents/pi-tool-definition-adapter.js +60 -8
- package/dist/agents/pi-tools.before-tool-call.js +1 -1
- package/dist/agents/pi-tools.js +113 -94
- package/dist/agents/pi-tools.read.js +337 -38
- package/dist/agents/poolbot-tools.js +14 -5
- package/dist/agents/sandbox/docker.js +10 -5
- package/dist/agents/sandbox/registry.js +96 -46
- package/dist/agents/sandbox/sanitize-env-vars.js +82 -0
- package/dist/agents/sandbox-paths.js +43 -10
- package/dist/agents/session-tool-result-guard-wrapper.js +23 -11
- package/dist/agents/session-tool-result-guard.js +39 -39
- package/dist/agents/session-transcript-repair.js +36 -33
- package/dist/agents/session-write-lock.js +62 -44
- package/dist/agents/skills/frontmatter.js +49 -88
- package/dist/agents/skills/workspace.js +335 -28
- package/dist/agents/subagent-announce.js +508 -174
- package/dist/agents/subagent-registry.js +45 -4
- package/dist/agents/subagent-spawn.js +16 -33
- package/dist/agents/system-prompt-report.js +27 -10
- package/dist/agents/system-prompt.js +26 -32
- package/dist/agents/tool-call-id.js +69 -17
- package/dist/agents/tool-display-common.js +1 -1
- package/dist/agents/tool-images.js +64 -31
- package/dist/agents/tools/canvas-tool.js +17 -11
- package/dist/agents/tools/common.js +37 -19
- package/dist/agents/tools/cron-tool.js +40 -38
- package/dist/agents/tools/gateway.js +70 -2
- package/dist/agents/tools/message-tool.js +181 -40
- package/dist/agents/tools/nodes-tool.js +128 -36
- package/dist/agents/tools/nodes-utils.js +12 -38
- package/dist/agents/tools/session-status-tool.js +24 -71
- package/dist/agents/tools/sessions-helpers.js +38 -210
- package/dist/agents/tools/sessions-spawn-tool.js +28 -198
- package/dist/agents/tools/telegram-actions.js +58 -7
- package/dist/agents/tools/web-fetch-utils.js +112 -7
- package/dist/agents/tools/web-fetch.js +279 -175
- package/dist/agents/tools/web-shared.js +71 -8
- package/dist/agents/usage.js +25 -16
- package/dist/auto-reply/commands-registry.data.js +85 -11
- package/dist/auto-reply/dispatch.js +40 -21
- package/dist/auto-reply/reply/abort.js +102 -33
- package/dist/auto-reply/reply/commands-core.js +82 -33
- package/dist/auto-reply/reply/commands-export-session.js +1 -1
- package/dist/auto-reply/reply/commands-info.js +41 -12
- package/dist/auto-reply/reply/commands-subagents.js +352 -100
- package/dist/auto-reply/reply/commands-system-prompt.js +2 -2
- package/dist/auto-reply/reply/dispatch-from-config.js +100 -29
- package/dist/auto-reply/reply/elevated-unavailable.js +1 -1
- package/dist/auto-reply/reply/inbound-meta.js +12 -1
- package/dist/auto-reply/reply/mentions.js +18 -11
- package/dist/auto-reply/reply/normalize-reply.js +17 -8
- package/dist/auto-reply/reply/reply-dispatcher.js +62 -10
- package/dist/auto-reply/reply/session.js +102 -21
- package/dist/auto-reply/reply/streaming-directives.js +16 -5
- package/dist/auto-reply/status.js +73 -50
- package/dist/browser/extension-relay.js +3 -3
- package/dist/browser/http-auth.js +1 -1
- package/dist/browser/paths.js +2 -2
- package/dist/build-info.json +3 -3
- package/dist/channels/allowlist-match.js +20 -0
- package/dist/channels/allowlists/resolve-utils.js +65 -2
- package/dist/channels/chat-type.js +8 -4
- package/dist/channels/dock.js +127 -35
- package/dist/channels/draft-stream-loop.js +6 -2
- package/dist/channels/plugins/actions/telegram.js +42 -18
- package/dist/channels/plugins/allowlist-match.js +1 -1
- package/dist/channels/plugins/group-mentions.js +51 -41
- package/dist/channels/plugins/message-action-names.js +2 -0
- package/dist/channels/plugins/message-actions.js +24 -5
- package/dist/channels/plugins/normalize/discord.js +26 -4
- package/dist/channels/plugins/normalize/signal.js +35 -22
- package/dist/channels/plugins/onboarding/helpers.js +8 -26
- package/dist/channels/plugins/outbound/imessage.js +15 -14
- package/dist/channels/registry.js +20 -7
- package/dist/cli/acp-cli.js +7 -5
- package/dist/cli/browser-cli-extension.js +25 -12
- package/dist/cli/browser-cli-state.cookies-storage.js +25 -6
- package/dist/cli/browser-cli-state.js +101 -145
- package/dist/cli/command-options.js +28 -0
- package/dist/cli/completion-cli.js +6 -6
- package/dist/cli/cron-cli/register.cron-add.js +25 -1
- package/dist/cli/cron-cli/register.cron-edit.js +44 -0
- package/dist/cli/cron-cli/shared.js +7 -1
- package/dist/cli/daemon-cli/lifecycle-core.js +23 -21
- package/dist/cli/daemon-cli/lifecycle.js +23 -247
- package/dist/cli/daemon-cli/register-service-commands.js +25 -4
- package/dist/cli/daemon-cli.js +1 -0
- package/dist/cli/devices-cli.js +33 -20
- package/dist/cli/gateway-cli/register.js +37 -105
- package/dist/cli/gateway-cli/run.js +49 -11
- package/dist/cli/nodes-camera.js +59 -4
- package/dist/cli/nodes-cli/register.camera.js +27 -24
- package/dist/cli/nodes-cli/rpc.js +21 -38
- package/dist/cli/qr-cli.js +2 -2
- package/dist/cli/skills-cli.format.js +2 -2
- package/dist/cli/update-cli/progress.js +2 -2
- package/dist/cli/update-cli/restart-helper.js +28 -7
- package/dist/cli/update-cli/shared.js +7 -7
- package/dist/cli/update-cli/status.js +1 -1
- package/dist/cli/update-cli/update-command.js +14 -8
- package/dist/cli/update-cli/wizard.js +2 -2
- package/dist/cli/update-cli.js +21 -1027
- package/dist/commands/auth-choice.apply.anthropic.js +10 -2
- package/dist/commands/channels/add-mutators.js +3 -35
- package/dist/commands/channels/add.js +39 -51
- package/dist/commands/config-validation.js +1 -1
- package/dist/commands/configure.gateway-auth.js +52 -15
- package/dist/commands/configure.gateway.js +84 -40
- package/dist/commands/doctor-completion.js +3 -3
- package/dist/commands/doctor-config-flow.js +536 -16
- package/dist/commands/doctor-gateway-services.js +103 -79
- package/dist/commands/doctor-memory-search.js +9 -9
- package/dist/commands/doctor-platform-notes.js +57 -30
- package/dist/commands/doctor-prompter.js +26 -15
- package/dist/commands/doctor-session-locks.js +1 -1
- package/dist/commands/doctor.js +21 -9
- package/dist/commands/model-picker.js +120 -95
- package/dist/commands/models/set.js +2 -21
- package/dist/commands/models/shared.js +65 -37
- package/dist/commands/onboard-helpers.js +81 -39
- package/dist/commands/openai-codex-oauth.js +1 -1
- package/dist/commands/sessions.js +52 -53
- package/dist/commands/status.summary.js +52 -34
- package/dist/commands/test-wizard-helpers.js +2 -2
- package/dist/config/defaults.js +79 -42
- package/dist/config/group-policy.js +50 -18
- package/dist/config/includes.js +37 -10
- package/dist/config/schema.help.js +5 -4
- package/dist/config/schema.hints.js +2 -2
- package/dist/config/schema.labels.js +1 -0
- package/dist/config/sessions/group.js +12 -11
- package/dist/config/sessions/paths.js +137 -11
- package/dist/config/sessions/store.js +185 -65
- package/dist/config/sessions/types.js +15 -1
- package/dist/config/sessions.js +1 -0
- package/dist/config/telegram-custom-commands.js +3 -2
- package/dist/config/types.js +2 -0
- package/dist/config/zod-schema.agent-defaults.js +6 -27
- package/dist/config/zod-schema.agent-runtime.js +171 -79
- package/dist/config/zod-schema.providers-core.js +138 -65
- package/dist/config/zod-schema.session.js +49 -22
- package/dist/control-ui/assets/index-HRr1grwl.js.map +1 -1
- package/dist/cron/isolated-agent/run.js +224 -57
- package/dist/cron/normalize.js +48 -45
- package/dist/cron/run-log.js +14 -0
- package/dist/cron/service/jobs.js +190 -28
- package/dist/cron/service/normalize.js +29 -11
- package/dist/cron/service/store.js +30 -44
- package/dist/cron/service/timer.js +182 -96
- package/dist/cron/service.js +3 -0
- package/dist/cron/stagger.js +37 -0
- package/dist/daemon/inspect.js +132 -92
- package/dist/daemon/runtime-paths.js +25 -4
- package/dist/daemon/service-audit.js +47 -16
- package/dist/discord/accounts.js +23 -20
- package/dist/discord/monitor/agent-components.js +1115 -219
- package/dist/discord/monitor/allow-list.js +114 -34
- package/dist/discord/monitor/listeners.js +204 -97
- package/dist/discord/monitor/message-handler.js +21 -10
- package/dist/discord/monitor/message-handler.preflight.js +195 -101
- package/dist/discord/monitor/message-handler.process.js +384 -123
- package/dist/discord/monitor/message-utils.js +86 -23
- package/dist/discord/monitor/native-command.js +77 -57
- package/dist/discord/monitor/provider.js +122 -117
- package/dist/discord/monitor/reply-context.js +20 -16
- package/dist/discord/monitor/reply-delivery.js +40 -8
- package/dist/discord/monitor/rest-fetch.js +22 -0
- package/dist/discord/monitor/threading.js +117 -24
- package/dist/discord/send.js +2 -1
- package/dist/discord/send.outbound.js +124 -11
- package/dist/discord/send.shared.js +112 -72
- package/dist/discord/voice-message.js +3 -3
- package/dist/gateway/auth.js +119 -44
- package/dist/gateway/call.js +76 -34
- package/dist/gateway/channel-health-monitor.js +57 -50
- package/dist/gateway/client.js +63 -29
- package/dist/gateway/control-ui-contract.js +1 -1
- package/dist/gateway/gateway-config-prompts.shared.js +2 -2
- package/dist/gateway/net.js +109 -1
- package/dist/gateway/protocol/index.js +5 -8
- package/dist/gateway/protocol/schema/agent.js +19 -1
- package/dist/gateway/protocol/schema/channels.js +21 -0
- package/dist/gateway/protocol/schema/cron.js +43 -30
- package/dist/gateway/protocol/schema/protocol-schemas.js +6 -11
- package/dist/gateway/protocol/schema/sessions.js +5 -1
- package/dist/gateway/protocol/schema.js +0 -1
- package/dist/gateway/server/presence-events.js +12 -0
- package/dist/gateway/server/ws-connection/message-handler.js +203 -212
- package/dist/gateway/server/ws-connection.js +58 -21
- package/dist/gateway/server-broadcast.js +18 -13
- package/dist/gateway/server-cron.js +177 -10
- package/dist/gateway/server-methods/agent-job.js +131 -38
- package/dist/gateway/server-methods/send.js +60 -14
- package/dist/gateway/server-methods/sessions.js +160 -96
- package/dist/gateway/server-methods/system.js +5 -7
- package/dist/gateway/server-methods-list.js +8 -0
- package/dist/gateway/server-methods.js +24 -8
- package/dist/gateway/server-node-events.js +278 -68
- package/dist/gateway/session-utils.fs.js +316 -75
- package/dist/gateway/session-utils.js +224 -70
- package/dist/gateway/sessions-patch.js +63 -20
- package/dist/gateway/test-temp-config.js +1 -1
- package/dist/gateway/tools-invoke-http.js +118 -70
- package/dist/gateway/ws-log.js +135 -107
- package/dist/hooks/frontmatter.js +36 -82
- package/dist/hooks/install.js +149 -139
- package/dist/hooks/internal-hooks.js +29 -4
- package/dist/hooks/plugin-hooks.js +2 -1
- package/dist/imessage/monitor/deliver.js +10 -4
- package/dist/imessage/monitor/monitor-provider.js +138 -375
- package/dist/imessage/monitor/runtime.js +4 -8
- package/dist/imessage/send.js +65 -19
- package/dist/infra/exec-approvals-allowlist.js +7 -0
- package/dist/infra/exec-approvals.js +35 -920
- package/dist/infra/exec-safe-bin-trust.js +64 -0
- package/dist/infra/heartbeat-runner.js +207 -134
- package/dist/infra/heartbeat-wake.js +183 -22
- package/dist/infra/install-source-utils.js +47 -0
- package/dist/infra/net/ssrf.js +170 -36
- package/dist/infra/outbound/deliver.js +224 -58
- package/dist/infra/outbound/message-action-spec.js +12 -5
- package/dist/infra/outbound/outbound-session.js +27 -25
- package/dist/infra/poolbot-root.js +32 -22
- package/dist/infra/ports.js +14 -11
- package/dist/infra/skills-remote.js +48 -37
- package/dist/infra/system-events.js +25 -11
- package/dist/infra/system-presence.js +26 -33
- package/dist/infra/tmp-poolbot-dir.js +81 -2
- package/dist/infra/wsl.js +37 -1
- package/dist/line/bot-message-context.js +163 -191
- package/dist/logging/subsystem.js +59 -22
- package/dist/markdown/ir.js +124 -50
- package/dist/media/store.js +1 -1
- package/dist/media-understanding/runner.entries.js +42 -25
- package/dist/media-understanding/runner.js +53 -488
- package/dist/memory/embeddings-gemini.js +53 -38
- package/dist/memory/manager-embedding-ops.js +48 -69
- package/dist/pairing/pairing-store.js +178 -119
- package/dist/plugin-sdk/index.js +34 -6
- package/dist/plugins/hooks.js +135 -14
- package/dist/plugins/install.js +190 -152
- package/dist/polls.js +11 -0
- package/dist/routing/resolve-route.js +190 -56
- package/dist/routing/session-key.js +38 -22
- package/dist/runtime.js +35 -9
- package/dist/security/audit-channel.js +1 -1
- package/dist/sessions/session-key-utils.js +29 -11
- package/dist/shared/frontmatter.js +5 -5
- package/dist/shared/node-list-types.js +1 -0
- package/dist/shared/string-normalization.js +15 -0
- package/dist/signal/monitor/event-handler.js +68 -36
- package/dist/signal/send.js +29 -37
- package/dist/slack/monitor/allow-list.js +10 -11
- package/dist/slack/monitor/commands.js +14 -3
- package/dist/slack/monitor/events/interactions.js +4 -4
- package/dist/slack/monitor/media.js +224 -16
- package/dist/slack/monitor/message-handler/dispatch.js +247 -13
- package/dist/slack/monitor/message-handler/prepare.js +128 -45
- package/dist/slack/monitor/slash.js +357 -144
- package/dist/slack/streaming.js +77 -0
- package/dist/telegram/accounts.js +40 -13
- package/dist/telegram/allowed-updates.js +3 -0
- package/dist/telegram/bot/delivery.js +129 -66
- package/dist/telegram/bot/helpers.js +136 -122
- package/dist/telegram/bot-handlers.js +600 -339
- package/dist/telegram/bot-message-context.js +115 -73
- package/dist/telegram/bot-message-dispatch.js +235 -104
- package/dist/telegram/bot-native-command-menu.js +3 -1
- package/dist/telegram/bot-native-commands.js +213 -193
- package/dist/telegram/bot.js +24 -132
- package/dist/telegram/draft-stream.js +84 -75
- package/dist/telegram/format.js +150 -6
- package/dist/telegram/send.js +415 -255
- package/dist/telegram/targets.js +21 -2
- package/dist/telegram/update-offset-store.js +19 -3
- package/dist/terminal/restore.js +5 -2
- package/dist/test-utils/fetch-mock.js +5 -0
- package/dist/version.js +18 -5
- package/dist/web/auto-reply/monitor/broadcast.js +7 -3
- package/dist/web/auto-reply/monitor/on-message.js +6 -3
- package/dist/web/inbound/media.js +34 -8
- package/dist/web/inbound/monitor.js +34 -17
- package/dist/web/inbound/send-api.js +18 -17
- package/dist/web/outbound.js +12 -5
- package/dist/wizard/clack-prompter.js +40 -7
- package/extensions/bluebubbles/package.json +1 -1
- package/extensions/copilot-proxy/package.json +1 -1
- package/extensions/diagnostics-otel/package.json +1 -1
- package/extensions/discord/package.json +1 -1
- package/extensions/feishu/package.json +1 -1
- package/extensions/google-antigravity-auth/package.json +1 -1
- package/extensions/google-gemini-cli-auth/package.json +1 -1
- package/extensions/googlechat/package.json +1 -1
- package/extensions/imessage/package.json +1 -1
- package/extensions/irc/package.json +1 -1
- package/extensions/line/package.json +1 -1
- package/extensions/llm-task/package.json +1 -1
- package/extensions/lobster/package.json +1 -1
- package/extensions/matrix/CHANGELOG.md +5 -0
- package/extensions/matrix/package.json +1 -1
- package/extensions/mattermost/package.json +1 -1
- package/extensions/memory-core/package.json +1 -1
- package/extensions/memory-lancedb/package.json +1 -1
- package/extensions/minimax-portal-auth/package.json +1 -1
- package/extensions/msteams/CHANGELOG.md +5 -0
- package/extensions/msteams/package.json +1 -1
- package/extensions/nextcloud-talk/package.json +1 -1
- package/extensions/nostr/CHANGELOG.md +5 -0
- package/extensions/nostr/package.json +1 -1
- package/extensions/open-prose/package.json +1 -1
- package/extensions/openai-codex-auth/package.json +1 -1
- package/extensions/signal/package.json +1 -1
- package/extensions/slack/package.json +1 -1
- package/extensions/telegram/package.json +1 -1
- package/extensions/tlon/package.json +1 -1
- package/extensions/twitch/CHANGELOG.md +5 -0
- package/extensions/twitch/package.json +1 -1
- package/extensions/voice-call/CHANGELOG.md +5 -0
- package/extensions/voice-call/package.json +1 -1
- package/extensions/whatsapp/package.json +1 -1
- package/extensions/zalo/CHANGELOG.md +5 -0
- package/extensions/zalo/package.json +1 -1
- package/extensions/zalouser/CHANGELOG.md +5 -0
- package/extensions/zalouser/package.json +1 -1
- package/package.json +1 -1
- package/skills/apple-reminders/SKILL.md +100 -49
- package/skills/coding-agent/SKILL.md +34 -28
- package/skills/github/SKILL.md +131 -16
- package/skills/imsg/SKILL.md +112 -15
- package/skills/openhue/SKILL.md +101 -19
- package/skills/tmux/SKILL.md +111 -79
- package/skills/weather/SKILL.md +88 -25
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: coding-agent
|
|
3
|
-
description:
|
|
4
|
-
metadata:
|
|
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
|
|
28
|
-
|
|
29
|
-
| `command`
|
|
30
|
-
| `pty`
|
|
31
|
-
| `workdir`
|
|
32
|
-
| `background` | boolean | Run in background, returns sessionId for monitoring
|
|
33
|
-
| `timeout`
|
|
34
|
-
| `elevated`
|
|
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
|
|
39
|
-
|
|
40
|
-
| `list`
|
|
41
|
-
| `poll`
|
|
42
|
-
| `log`
|
|
43
|
-
| `write`
|
|
44
|
-
| `submit`
|
|
45
|
-
| `send-keys` | Send key tokens or hex bytes
|
|
46
|
-
| `paste`
|
|
47
|
-
| `kill`
|
|
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
|
|
103
|
-
|
|
104
|
-
| `exec "prompt"` | One-shot execution, exits when done
|
|
105
|
-
| `--full-auto`
|
|
106
|
-
| `--yolo`
|
|
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
|
|
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
|
|
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:
|
|
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"_ 🦞
|
package/skills/github/SKILL.md
CHANGED
|
@@ -1,48 +1,163 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: github
|
|
3
|
-
description: "
|
|
4
|
-
metadata:
|
|
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
|
|
33
|
+
Use the `gh` CLI to interact with GitHub repositories, issues, PRs, and CI.
|
|
10
34
|
|
|
11
|
-
##
|
|
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
|
-
|
|
59
|
+
# Authenticate (one-time)
|
|
60
|
+
gh auth login
|
|
61
|
+
|
|
62
|
+
# Verify
|
|
63
|
+
gh auth status
|
|
16
64
|
```
|
|
17
65
|
|
|
18
|
-
|
|
66
|
+
## Common Commands
|
|
67
|
+
|
|
68
|
+
### Pull Requests
|
|
69
|
+
|
|
19
70
|
```bash
|
|
20
|
-
|
|
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
|
-
|
|
87
|
+
### Issues
|
|
88
|
+
|
|
24
89
|
```bash
|
|
25
|
-
|
|
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
|
-
|
|
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
|
-
|
|
112
|
+
# Re-run failed jobs
|
|
113
|
+
gh run rerun <run-id> --failed --repo owner/repo
|
|
114
|
+
```
|
|
34
115
|
|
|
35
|
-
|
|
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
|
|
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
|
package/skills/imsg/SKILL.md
CHANGED
|
@@ -1,25 +1,122 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: imsg
|
|
3
|
-
description: iMessage/SMS CLI for listing chats, history,
|
|
3
|
+
description: iMessage/SMS CLI for listing chats, history, and sending messages via Messages.app.
|
|
4
4
|
homepage: https://imsg.to
|
|
5
|
-
metadata:
|
|
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
|
|
28
|
+
Use `imsg` to read and send iMessage/SMS via macOS Messages.app.
|
|
11
29
|
|
|
12
|
-
|
|
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
|
-
|
|
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
|
-
|
|
24
|
-
-
|
|
25
|
-
-
|
|
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
|
+
```
|
package/skills/openhue/SKILL.md
CHANGED
|
@@ -1,30 +1,112 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: openhue
|
|
3
|
-
description: Control Philips Hue lights
|
|
3
|
+
description: Control Philips Hue lights and scenes via the OpenHue CLI.
|
|
4
4
|
homepage: https://www.openhue.io/cli
|
|
5
|
-
metadata:
|
|
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
|
-
|
|
13
|
-
- Discover bridges: `openhue discover`
|
|
14
|
-
- Guided setup: `openhue setup`
|
|
29
|
+
## When to Use
|
|
15
30
|
|
|
16
|
-
|
|
17
|
-
- `openhue get light --json`
|
|
18
|
-
- `openhue get room --json`
|
|
19
|
-
- `openhue get scene --json`
|
|
31
|
+
✅ **USE this skill when:**
|
|
20
32
|
|
|
21
|
-
|
|
22
|
-
-
|
|
23
|
-
-
|
|
24
|
-
-
|
|
25
|
-
-
|
|
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
|
-
|
|
29
|
-
|
|
30
|
-
|
|
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)
|