Install
openclaw skills install mac-node-bridgeBridge 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,...
openclaw skills install mac-node-bridgeUse 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