Vaardigheden (OpenClaw)
OpenClaw gebruikt AgentSkills-compatibele skill-mappen om de agent te leren hoe tools te gebruiken. Elke skill is een map die eenSKILL.md bevat met YAML-frontmatter en instructies. OpenClaw laadt gebundelde skills plus optionele lokale overrides, en filtert ze tijdens het laden op basis van omgeving, config en aanwezigheid van binaries.
Locaties en prioriteit
Skills worden geladen vanaf drie plaatsen:- Gebundelde skills: meegeleverd met de installatie (npm-pakket of OpenClaw.app)
- Beheerde/lokale skills:
~/.openclaw/skills - Werkruimte-skills:
<workspace>/skills
<workspace>/skills (hoogst) → ~/.openclaw/skills → gebundelde skills (laagst)
Daarnaast kun je extra skill-mappen configureren (laagste prioriteit) via
skills.load.extraDirs in ~/.openclaw/openclaw.json.
Per-agent vs gedeelde skills
In multi-agent-opstellingen heeft elke agent zijn eigen werkruimte. Dat betekent:- Per-agent skills staan in
<workspace>/skillsen gelden alleen voor die agent. - Gedeelde skills staan in
~/.openclaw/skills(beheerd/lokaal) en zijn zichtbaar voor alle agents op dezelfde machine. - Gedeelde mappen kunnen ook worden toegevoegd via
skills.load.extraDirs(laagste prioriteit) als je een gemeenschappelijk skill-pakket wilt gebruiken door meerdere agents.
Plug-ins + vaardigheden
Plugins kunnen hun eigen skills meeleveren doorskills-mappen te vermelden in
openclaw.plugin.json (paden relatief aan de plugin-root). Plugin-skills laden
wanneer de plugin is ingeschakeld en doen mee aan de normale prioriteitsregels.
Je kunt ze afschermen via metadata.openclaw.requires.config op de config-invoer van de plugin. Zie Plugins voor discovery/config en Tools voor het
tool-oppervlak dat deze skills aanleren.
ClawHub (installeren + synchroniseren)
ClawHub is het openbare skills-register voor OpenClaw. Blader op https://clawhub.com. Gebruik het om skills te ontdekken, installeren, bij te werken en te back-uppen. Volledige handleiding: ClawHub. Veelvoorkomende flows:- Een skill in je werkruimte installeren:
clawhub install <skill-slug>
- Alle geïnstalleerde skills bijwerken:
clawhub update --all
- Synchroniseren (scannen + updates publiceren):
clawhub sync --all
clawhub in ./skills onder je huidige werkmap
(of valt terug op de geconfigureerde OpenClaw-werkruimte). OpenClaw pikt dit
op als <workspace>/skills bij de volgende sessie.
Beveiligingsnotities
- Behandel skills van derden als onbetrouwbare code. Lees ze voordat je ze inschakelt.
- Geef de voorkeur aan gesandboxde runs voor onbetrouwbare invoer en risicovolle tools. Zie Sandboxing.
skills.entries.*.envenskills.entries.*.apiKeyinjecteren secrets in het host-proces voor die agentbeurt (niet de sandbox). Houd secrets uit prompts en logs.- Voor een breder dreigingsmodel en checklists, zie Security.
Formaat (AgentSkills + Pi-compatibel)
SKILL.md moet minimaal bevatten:
- We volgen de AgentSkills-specificatie voor lay-out/intentie.
- De parser die door de ingebedde agent wordt gebruikt ondersteunt alleen éénregelige frontmatter-sleutels.
metadatamoet een éénregelig JSON-object zijn.- Gebruik
{baseDir}in instructies om naar het skill-mappad te verwijzen. - Optionele frontmatter-sleutels:
-
homepage— URL die wordt getoond als “Website” in de macOS Skills-UI (ook ondersteund viametadata.openclaw.homepage). -
user-invocable—true|false(standaard:true). Wanneertrue, wordt de skill blootgesteld als een gebruikers-slash-commando. -
disable-model-invocation—true|false(standaard:false). Wanneertrue, wordt de skill uitgesloten van de modelprompt (nog steeds beschikbaar via gebruikersaanroep). -
command-dispatch—tool(optioneel). Wanneer ingesteld optool, omzeilt het slash-commando het model en wordt direct naar een tool gedispatcht. -
command-tool— toolnaam om aan te roepen wanneercommand-dispatch: toolis ingesteld. -
command-arg-mode—raw(standaard). Voor tool-dispatch stuurt dit de ruwe args-string door naar de tool (geen core-parsing). De tool wordt aangeroepen met params:{ command: "<raw args>", commandName: "<slash command>", skillName: "<skill name>" }.
-
Afscherming (filters bij laden)
OpenClaw filtert skills tijdens het laden metmetadata (éénregelig JSON):
metadata.openclaw:
always: true— altijd de skill opnemen (andere gates overslaan).emoji— optionele emoji gebruikt door de macOS Skills-UI.homepage— optionele URL die wordt getoond als “Website” in de macOS Skills-UI.os— optionele lijst met platforms (darwin,linux,win32). Indien ingesteld, is de skill alleen geldig op die OS’en.requires.bins— lijst; elk item moet bestaan opPATH.requires.anyBins— lijst; ten minste één moet bestaan opPATH.requires.env— lijst; env-var moet bestaan of via config worden aangeleverd.requires.config— lijst metopenclaw.json-paden die truthy moeten zijn.primaryEnv— env-varnaam die is gekoppeld aanskills.entries.<name>.apiKey.install— optionele array met installer-specs die door de macOS Skills-UI worden gebruikt (brew/node/go/uv/download).
requires.binswordt gecontroleerd op de host tijdens het laden van de skill.- Als een agent gesandboxed is, moet de binary ook in de container aanwezig zijn.
Installeer deze via
agents.defaults.sandbox.docker.setupCommand(of een custom image).setupCommandwordt één keer uitgevoerd nadat de container is aangemaakt. Pakketinstallaties vereisen ook netwerk-egress, een beschrijfbaar root-FS en een root-gebruiker in de sandbox. Voorbeeld: desummarize-skill (skills/summarize/SKILL.md) heeft desummarizeCLI in de sandboxcontainer nodig om daar te draaien.
- Als meerdere installers zijn vermeld, kiest de Gateway één voorkeursoptie (brew indien beschikbaar, anders node).
- Als alle installers
downloadzijn, toont OpenClaw elke invoer zodat je de beschikbare artefacten kunt zien. - Installer-specs kunnen
os: ["darwin"|"linux"|"win32"]bevatten om opties per platform te filteren. - Node-installaties respecteren
skills.install.nodeManagerinopenclaw.json(standaard: npm; opties: npm/pnpm/yarn/bun). Dit beïnvloedt alleen skill-installaties; de Gateway-runtime moet nog steeds Node zijn (Bun wordt niet aanbevolen voor WhatsApp/Telegram). - Go-installaties: als
goontbreekt enbrewbeschikbaar is, installeert de Gateway eerst Go via Homebrew en steltGOBINin op Homebrew’sbinwanneer mogelijk. - Download-installaties:
url(vereist),archive(tar.gz|tar.bz2|zip),extract(standaard: auto wanneer archief wordt gedetecteerd),stripComponents,targetDir(standaard:~/.openclaw/tools/<skillKey>).
metadata.openclaw aanwezig is, is de skill altijd geldig (tenzij
uitgeschakeld in config of geblokkeerd door skills.allowBundled voor gebundelde skills).
Config-overschrijvingen (~/.openclaw/openclaw.json)
Gebundelde/beheerde skills kunnen worden in- of uitgeschakeld en van env-waarden worden voorzien:
metadata.openclaw.skillKey definieert, gebruik die sleutel onder skills.entries.
Regels:
enabled: falseschakelt de skill uit, zelfs als deze gebundeld/geïnstalleerd is.env: wordt alleen geïnjecteerd als de variabele nog niet in het proces is ingesteld.apiKey: gemak voor skills diemetadata.openclaw.primaryEnvdeclareren.config: optionele verzamelmap voor aangepaste per-skill-velden; custom sleutels moeten hier staan.allowBundled: optionele toegestane lijst voor alleen gebundelde skills. Indien ingesteld, zijn alleen gebundelde skills in de lijst geldig (beheerde/werkruimte-skills blijven onaangetast).
Omgevingsinjectie (per agent-run)
Wanneer een agent-run start, doet OpenClaw het volgende:- Leest skill-metadata.
- Past eventuele
skills.entries.<key>.envofskills.entries.<key>.apiKeytoe opprocess.env. - Bouwt de systeemprompt met geldige skills.
- Herstelt de oorspronkelijke omgeving nadat de run eindigt.
Sessie-snapshot (prestaties)
OpenClaw maakt een snapshot van de geldige skills wanneer een sessie start en hergebruikt die lijst voor volgende beurten in dezelfde sessie. Wijzigingen aan skills of config worden van kracht bij de volgende nieuwe sessie. Skills kunnen ook midden in een sessie verversen wanneer de skills-watcher is ingeschakeld of wanneer een nieuwe geldige remote node verschijnt (zie hieronder). Zie dit als een hot reload: de ververste lijst wordt opgepikt bij de volgende agentbeurt.Remote macOS-nodes (Linux Gateway)
Als de Gateway op Linux draait maar een macOS-node is verbonden metsystem.run toegestaan (Exec approvals-beveiliging niet ingesteld op deny), kan OpenClaw macOS-only skills als geldig behandelen wanneer de vereiste binaries op die node aanwezig zijn. De agent moet die skills uitvoeren via de nodes-tool (meestal nodes.run).
Dit vertrouwt op het rapporteren van commando-ondersteuning door de node en op een bin-probe via system.run. Als de macOS-node later offline gaat, blijven de skills zichtbaar; aanroepen kunnen mislukken totdat de node opnieuw verbindt.
Skills-watcher (auto-verversen)
Standaard bewaakt OpenClaw skill-mappen en verhoogt de skills-snapshot wanneerSKILL.md-bestanden wijzigen. Configureer dit onder skills.load:
Token-impact (skills-lijst)
Wanneer skills geldig zijn, injecteert OpenClaw een compacte XML-lijst van beschikbare skills in de systeemprompt (viaformatSkillsForPrompt in pi-coding-agent). De kosten zijn deterministisch:
- Basisoverhead (alleen wanneer ≥1 skill): 195 tekens.
- Per skill: 97 tekens + de lengte van de XML-geëscapete
<name>,<description>en<location>-waarden.
- XML-escaping zet
& < > " 'om in entiteiten (&,<, enz.), wat de lengte vergroot. - Tokentellingen variëren per modeltokenizer. Een ruwe OpenAI-achtige schatting is ~4 tekens/token, dus 97 tekens ≈ 24 tokens per skill plus je daadwerkelijke veldlengtes.
Levenscyclus van beheerde skills
OpenClaw levert een basisset skills als gebundelde skills als onderdeel van de installatie (npm-pakket of OpenClaw.app).~/.openclaw/skills bestaat voor lokale
overrides (bijvoorbeeld het vastpinnen/patchen van een skill zonder de gebundelde
kopie te wijzigen). Werkruimte-skills zijn eigendom van de gebruiker en overrulen
beide bij naamconflicten.