openclaw
Version:
Multi-channel AI gateway with extensible messaging integrations
80 lines (60 loc) • 4.45 kB
Markdown
---
summary: "macOS Skills settings UI and gateway-backed status"
read_when:
- Updating the macOS Skills settings UI
- Changing skills gating or install behavior
title: "Skills (macOS)"
---
The macOS app surfaces OpenClaw skills via the gateway; it does not parse skills locally.
## Data source
- `skills.status` (gateway) returns all skills plus eligibility and missing requirements, including allowlist blocks for bundled skills.
- Requirements come from `metadata.openclaw.requires` in each `SKILL.md`.
The Skills pane and ClawHub search refresh when the selected Gateway changes.
Skill actions and ClawHub reviews keep the Gateway that supplied their contents;
a retained action cannot write to a replacement Gateway with the same skill key.
A socket reconnect to the same configured Gateway preserves the action's target.
## Install actions
- `metadata.openclaw.install` defines install options (brew/node/go/uv/download).
- The app calls `skills.install` to run installers on the gateway host.
- **Install on This Mac** explicitly selects Local mode and the Mac's local Gateway.
- Operator-owned `security.installPolicy` (`enabled`, `targets`, `exec`) runs before installer metadata. `block` results and policy failures stop the install. A `warn` result also stops the gateway-backed request: review it with the matching direct CLI when one exists, or change the policy to allow the reviewed request, then retry.
- If every install option is `download`, the gateway surfaces all download choices.
- Otherwise the gateway picks one preferred installer using current install preferences (`skills.install.preferBrew`, `skills.install.nodeManager`) and host binaries: Homebrew first when `preferBrew` is enabled and `brew` is present, then `uv`, then the configured node manager, then Homebrew again if available (even without `preferBrew`), then `go`, then `download`.
- Node install labels reflect the configured node manager, including `yarn`.
## Browse ClawHub
In **Skills > Browse**, search ClawHub and choose **Review** to see the skill's
metadata, publisher, and release version. **Verify and install** sends that exact
reference and version to the connected Gateway. The review sheet is a metadata
review; the Gateway owns the pre-download security check during installation.
Official ClawHub publishers and packages skip the security-verdict fetch, as
described in [ClawHub release trust](/cli/skills#release-trust).
A ClawHub **Review** audit outcome allows installation and returns audit text in
the result warning. The app displays that warning with the install result.
**Blocked** or unavailable security checks stop installation; the app displays the
Gateway error and any warning details without an acknowledgement retry. These
audit outcomes do not override the operator-owned install policy described above.
Install-only search results offer **Install** instead of a detail review. The app
sends their exact source reference without a version selector and labels unscanned
sources. After installation, it reads `skills.status` on the same Gateway route
to confirm the reviewed version or the recorded install-only reference.
If that refresh fails after the Gateway confirms installation, the app keeps the
completed install message and any audit warning. Open **Skills > Installed** and
choose **Refresh** to load the installed entry.
A later connection or search failure appears separately from the completed install
and its warning. **No skills found** means a successful search returned no matches.
## Env/API keys
- The app stores keys in `~/.openclaw/openclaw.json` under `skills.entries.<skillKey>`.
- `skills.update` patches `enabled`, `apiKey`, and `env`.
If the Gateway changes while an editor is open, **Save** keeps the typed draft
visible and reports the Gateway change. Reopen the skill on the intended
Gateway to save there; **Cancel** discards the draft. A save already in flight
may have reached the previous Gateway.
## Remote mode
- Install and config updates happen on the gateway host, not the local Mac.
- When skill files, config, Mac-node connectivity, its catalog, or its executable
inventory changes, the gateway emits `skills.changed` after invalidating its
authoritative snapshot. An open Skills pane then refetches `skills.status`,
including changes that finish while an earlier request is still in flight.
## Related
- [Skills](/tools/skills)
- [macOS app](/platforms/macos)