Snapshot: 2026-03-31T08:33:06Z
Skill Sources
| Source | Mechanism | Controlled By |
|---|
ludus/skills/ | rsync to ~/.openclaw/skills/ (native gateway discovery) | ludus ops rsync-agents |
| OpenClaw bundled | skills.allowBundled in openclaw.json | manifest.py default (empty) |
| OpenClaw extensions | acp.dispatch.enabled in openclaw.json | openclaw_config.py |
Delivery Paths
| Layer | Path |
|---|
| Local repo | ludus/skills/ |
| Host filesystem (native) | ~/.openclaw/skills/ |
| Per-agent workspace | <workspace>/skills/ (highest precedence) |
| OpenClaw bundled skills | /opt/openclaw/skills/ |
| OpenClaw extension skills | /opt/openclaw/.../extensions/*/skills/ |
Per-Skill Inventory
| Skill | In Repo | Config Source | Origin |
|---|
| ca-leash | Y | ~/.openclaw/skills/ | ludus/skills/ca-leash/ |
| escalation | Y | ~/.openclaw/skills/ | ludus/skills/escalation/ |
| intercom | Y | ~/.openclaw/skills/ | ludus/skills/intercom/ |
| acp-router | N | acp.dispatch.enabled | OpenClaw ACPX extension |
Notes
- Shared skills live at
~/.openclaw/skills/ — the gateway discovers them natively.
- Per-agent skills can be placed in
<workspace>/skills/ (highest precedence).
allowBundled controls which OpenClaw-shipped skills are exposed (default: []).
acp.dispatch.enabled: true auto-loads the acp-router extension skill.
- Skills are cached in Claude Code session context at init. Stale sessions see old skill lists.
- Use the
arena snapshot workflow to verify live state against this config.