Install
openclaw skills install srcBridge macOS-only tools into a Linux OpenClaw gateway via SSH wrappers and connected Mac nodes. Use when a Linux gateway needs to run imsg, remindctl, memo, things, peekaboo, brew-backed CLIs, or other node-local macOS binaries without patching OpenClaw core or pretending Linux can run macOS skills directly.
openclaw skills install srcUse this skill when your gateway runs on Linux but the real tool lives on a Mac node.
This skill does not patch bundled OpenClaw skills. It creates explicit SSH wrappers and verification steps so a Linux gateway can call macOS binaries on connected nodes in a way that is publishable, repeatable, and auditable.
imsg, remindctl, memo, things, peekaboo, or other macOS-only CLIsUse dynamic paths by default.
OPENCLAW_BIN_DIR, then XDG_DATA_HOME/openclaw/bin, then HOME/.openclaw/bincommand -v, remote brew --prefix, and common Homebrew prefixes--target-dir or --remote-bin only when you intentionally need to override the defaultsThis skill assumes:
Plan around these rules:
Read references/security-model.md before publishing or extending this skill.
Default pattern:
M1: always-on services like imsgMacBook Pro: heavier interactive or business toolingIf you are unsure, verify first:
scripts/verify-node-tool.sh --host agent1@mac-mini.local --tool imsg
scripts/verify-node-tool.sh --host agent2@macbook-pro.local --tool remindctl
If the tool lives outside the normal shell path or Homebrew defaults, pass an explicit path:
scripts/verify-node-tool.sh --host agent2@macbook-pro.local --bin /custom/path/remindctl
For a known tool preset:
scripts/install-preset.sh \
--tool imsg \
--host agent1@mac-mini.local
Or install a generic wrapper:
scripts/install-wrapper.sh \
--name remindctl-mbp \
--host agent2@macbook-pro.local \
--remote-bin /opt/homebrew/bin/remindctl
Override the wrapper directory only when you need a non-default layout:
scripts/install-preset.sh \
--tool memo \
--host agent1@mac-mini.local \
--target-dir "$HOME/.local/bin"
"${OPENCLAW_BIN_DIR:-${XDG_DATA_HOME:-$HOME/.openclaw}/openclaw/bin}"/imsg chats --limit 1
"${OPENCLAW_BIN_DIR:-${XDG_DATA_HOME:-$HOME/.openclaw}/openclaw/bin}"/remindctl-mbp lists
If the wrapper works but a bundled OpenClaw skill still shows gray, that is expected on a Linux gateway. Use the wrapper-backed workflow or publish a wrapper-aware skill instead of patching OpenClaw core.
When building a new ClawHub skill on top of this bridge:
Read references/publish-pattern.md before turning a one-off wrapper into a public skill.
imsg-m1 or remindctl-mbp, when multiple Macs may own similar toolsSupported presets in scripts/install-preset.sh:
imsgremindctlmemothingspeekaboobrewghThe preset installer resolves the remote binary dynamically. If resolution fails, pass --remote-bin explicitly.
scripts/install-preset.sh \
--tool imsg \
--host agent1@mac-mini.local
scripts/install-preset.sh \
--tool remindctl \
--host agent2@macbook-pro.local \
--name remindctl-mbp
scripts/install-wrapper.sh \
--name my-mac-tool \
--host agent2@macbook-pro.local \
--remote-bin /custom/tools/my-mac-tool
scripts/install-wrapper.sh: create one secure SSH wrapper for a remote binaryscripts/install-preset.sh: install wrappers for common macOS tools with dynamic remote resolutionscripts/verify-node-tool.sh: verify SSH and remote binary availability by path or tool namereferences/publish-pattern.md: how to build a publishable wrapper-aware skill on topreferences/security-model.md: trust boundaries, least privilege, audit trail, and rollback expectations