linux-to-mac-bridge

Legacy combined bridge skill for Linux-to-Mac wrapper installs. Prefer the newer split skills `macos-bridge` for Mac-owned CLIs and `homebrew-bridge` for Homebrew-backed tools.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "linux-to-mac-bridge" with this command: npx skills add matthewxmurphy/linux-to-mac-bridge

Linux to Mac Bridge

This is now the legacy combined skill.

Prefer:

  • macos-bridge for imsg, remindctl, memo, things, peekaboo
  • homebrew-bridge for brew, gh, and other /opt/homebrew/bin tools

Use this skill when a Linux gateway should expose Mac-backed tools as stable Linux-side commands.

This is the publishable answer to the “gray macOS skill on Linux gateway” problem:

  • do not patch bundled skills
  • do not pretend Linux can run macOS binaries
  • install explicit wrappers on the Linux gateway
  • make public skills depend on those wrapper paths instead
  • assume the Linux gateway and Mac nodes are on the same trusted local network

Use This Skill For

  • imsg, remindctl, memo, things, peekaboo
  • Homebrew business tools that live on a connected Mac node
  • wrapper-backed skills that should show as ready on a Linux gateway
  • capability reports and stable tool ownership mapping
  • same-LAN Linux gateway to Mac node setups
  • Mac nodes that are kept awake or have Wake-on-LAN enabled

Do Not Use This Skill For

  • Linux-native tools that should just be installed locally
  • random internet-routed Mac hosts or untrusted WAN hops
  • arbitrary remote shell access
  • patching OpenClaw internals so bundled macOS skills lie about support

Requirements

  • Linux gateway and Mac nodes share the same trusted local network or VLAN
  • Linux gateway can SSH to the owning Mac nodes
  • remote binaries exist and have the needed macOS permissions
  • you know which Mac owns each tool
  • Mac nodes should stay awake for agent work, or at minimum have Wake-on-LAN enabled if you expect them to be resumed remotely

Local Network Contract

This skill is designed for a homelab or office-local topology:

  • Linux gateway on the same LAN as the Macs
  • stable RFC1918 or otherwise local addresses for the Mac nodes
  • low-latency SSH between gateway and nodes
  • no requirement for public internet routing to the Macs

Default assumption:

  • if the gateway cannot reach the Mac over the local network, the wrapper-backed workflow is not healthy

Wake-on-LAN note:

  • the wrapper install scripts can embed Wake-on-LAN metadata and retry logic
  • if a Mac may sleep, configure a wake map so the Linux-side wrapper can send a magic packet and retry SSH automatically

Design Contract

  • Linux gateway holds the wrappers
  • Mac nodes hold the real binaries and OS-level permissions
  • public skills depend on the wrapper path, not the remote path
  • tool ownership stays explicit and auditable
  • the bridge is optimized for same-LAN node reachability, not public-host reachability

Workflow

1. Render A Tool Ownership Map

Run:

scripts/render-tool-map.sh

If ~/.openclaw/openclaw.json already contains Mac-backed remoteHost entries, this will auto-render a gateway-local ownership map from that config first. In that case, do not ask again for IP address or SSH username unless the discovered mapping is missing or clearly wrong.

Otherwise it gives you a repeatable starter map such as:

  • imsg -> mac-ops@mac-messages.local
  • remindctl -> mac-ops@mac-messages.local
  • gh -> mac-ops@mac-tools.local

2. Install The macOS Pack

Example:

scripts/install-macos-pack.sh \
  --target-dir /home/node/.openclaw/bin \
  --tool imsg \
  --tool remindctl \
  --tool memo \
  --tool gh \
  --openclaw-config /home/node/.openclaw/openclaw.json \
  --wake-map mac-messages.local=AA:BB:CC:DD:EE:FF \
  --wake-map mac-tools.local=11:22:33:44:55:66 \
  --wake-wait 20 \
  --wake-retries 2

The installer will now:

  • use explicit --map tool=user@host entries when you provide them
  • otherwise try to infer the tool host from remoteHost values in the OpenClaw config
  • fall back to a single discovered Mac host for unmapped tools when only one unique remoteHost is known
  • let you force a shared owner with --default-host user@host
  • avoid manual host questions when it can already resolve the owner from the OpenClaw config

This creates wrapper paths on Linux such as:

  • /home/node/.openclaw/bin/imsg
  • /home/node/.openclaw/bin/remindctl
  • /home/node/.openclaw/bin/memo
  • /home/node/.openclaw/bin/gh

When a wake map is configured, the generated wrapper will:

  • attempt SSH normally first
  • send a Wake-on-LAN magic packet if the first attempt fails
  • wait the configured number of seconds
  • retry the remote command

3. Verify The Pack

Run:

scripts/verify-macos-pack.sh --target-dir /home/node/.openclaw/bin

This verifies the wrapper executables exist and can be resolved from the gateway side.

It also shows whether Wake-on-LAN is embedded in each installed wrapper.

4. Build Public Skills On Top

When publishing a community skill:

  • require the Linux wrapper path, not the macOS binary path
  • document which Mac is expected to own the tool
  • treat the wrapper as the stable API surface

Read references/skill-readiness.md.

Security Rules

  • one wrapper per tool
  • one explicit owning Mac per tool
  • no generic remote shell bridge
  • no secrets stored in the skill folder
  • no core patching to force a green badge

Files

  • scripts/install-wrapper.sh: create one SSH wrapper for a remote binary
  • scripts/install-macos-pack.sh: install a batch of common Mac-backed tool wrappers with optional auto-discovery from OpenClaw config and Wake-on-LAN maps
  • scripts/verify-macos-pack.sh: verify the wrapper pack on the Linux gateway and show Wake-on-LAN status
  • scripts/render-tool-map.sh: print the auto-discovered or recommended tool ownership map plus Wake-on-LAN map examples
  • references/skill-readiness.md: how to make public skills stay ready on Linux without patching core

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

Olares Shared (olares-cli foundation)

Shared olares-cli foundation: profile model, first-time login (profile login with password + TOTP), bootstrapping a profile from an existing refresh token (p...

Registry SourceRecently Updated
Coding

Mistral Mcp Openclaw

Configure OpenClaw to use the community mistral-mcp stdio server for Mistral OCR, Codestral FIM, Voxtral audio, durable workflows, moderation, classification...

Registry SourceRecently Updated
651swih
Coding

mongolian-llm

【强制使用/零泄漏】任何请求涉及中文、传统蒙古文、西里尔蒙古文之间的翻译,蒙古语/蒙文对话,要求用蒙文输出,或输入包含传统蒙古文字符(Unicode U+1800–U+18AF)时,必须先读取本 SKILL.md 并按本文 API 流程执行;禁止凭模型自身语言知识直接翻译、改写或回答。调用成功后的可见最终回复必须...

Registry SourceRecently Updated
2690knixie
Coding

Olares Settings (olares-cli settings)

olares-cli settings command tree: profile-based reads of every section the SPA's Settings page exposes (https://docs.olares.com/manual/olares/settings/) plus...

Registry SourceRecently Updated