SKILL.md-bestand met
YAML-frontmatter en een markdown-body. OpenClaw laadt gebundelde skills plus
eventuele lokale overschrijvingen, en filtert ze tijdens het laden op basis van
omgeving, configuratie en aanwezigheid van binaries.
Skills maken
Bouw en test een aangepaste skill vanaf nul.
Skill Workshop
Beoordeel en keur door agents opgestelde skillvoorstellen goed.
Skills-configuratie
Volledig
skills.*-configuratieschema en agent-allowlists.ClawHub
Blader door communityskills en installeer ze.
Laadvolgorde
OpenClaw laadt uit deze bronnen, hoogste prioriteit eerst. Wanneer dezelfde skillnaam op meerdere plaatsen voorkomt, wint de hoogste bron.| Prioriteit | Bron | Pad |
|---|---|---|
| 1 — hoogste | Werkruimte-skills | <workspace>/skills |
| 2 | Projectagent-skills | <workspace>/.agents/skills |
| 3 | Persoonlijke agent-skills | ~/.agents/skills |
| 4 | Beheerde / lokale skills | ~/.openclaw/skills |
| 5 | Gebundelde skills | meegeleverd met de installatie |
| 6 — laagste | Extra mappen | skills.load.extraDirs + plugin-skills |
SKILL.md ergens onder een geconfigureerde root voorkomt:
name (of uit de
mapnaam wanneer name ontbreekt).
De native
$CODEX_HOME/skills-map van Codex CLI is geen OpenClaw
skillroot. Gebruik openclaw migrate plan codex om die skills te inventariseren
en vervolgens openclaw migrate codex om ze naar je OpenClaw-werkruimte te
kopiëren.Per-agent versus gedeelde skills
In multi-agent-opstellingen heeft elke agent zijn eigen werkruimte. Gebruik het pad dat overeenkomt met de gewenste zichtbaarheid:| Bereik | Pad | Zichtbaar voor |
|---|---|---|
| Per-agent | <workspace>/skills | Alleen die agent |
| Projectagent | <workspace>/.agents/skills | Alleen de agent van die werkruimte |
| Persoonlijke agent | ~/.agents/skills | Alle agents op deze machine |
| Gedeeld beheerd | ~/.openclaw/skills | Alle agents op deze machine |
| Extra mappen | skills.load.extraDirs | Alle agents op deze machine |
Agent-allowlists
Skilllocatie (prioriteit) en skillzichtbaarheid (welke agent deze kan gebruiken) zijn afzonderlijke controles. Gebruik allowlists om te beperken welke skills een agent ziet, ongeacht waar ze vandaan worden geladen.Allowlist-regels
Allowlist-regels
- Laat
agents.defaults.skillsweg om standaard alle skills onbeperkt te laten. - Laat
agents.list[].skillsweg omagents.defaults.skillste erven. - Stel
agents.list[].skills: []in om geen skills voor die agent beschikbaar te maken. - Een niet-lege
agents.list[].skills-lijst is de definitieve set — deze wordt niet samengevoegd met defaults. - De effectieve allowlist geldt voor promptopbouw, ontdekking van slashcommands, sandbox-synchronisatie en skillsnapshots.
- Dit is geen autorisatiegrens voor de hostshell. Als dezelfde agent
execkan gebruiken, beperk die shell dan afzonderlijk met sandboxing, OS-gebruikersisolatie, exec-deny/allowlists en credentials per resource.
Plugins en skills
Plugins kunnen hun eigen skills meeleveren doorskills-mappen te vermelden in
openclaw.plugin.json (paden relatief aan de pluginroot). Plugin-skills worden
geladen wanneer de plugin is ingeschakeld — de browserplugin levert bijvoorbeeld
een browser-automation-skill voor meerstaps browserbesturing.
Plugin-skillmappen worden samengevoegd op hetzelfde lage prioriteitsniveau als
skills.load.extraDirs, dus een gelijknamige gebundelde, beheerde, agent- of
werkruimte-skill overschrijft ze. Scherm ze af via
metadata.openclaw.requires.config op de configuratie-entry van de plugin.
Zie Plugins en Tools voor het volledige pluginsysteem.
Skill Workshop
Skill Workshop is een wachtrij voor voorstellen tussen de agent en je actieve skillbestanden. Wanneer de agent herbruikbaar werk herkent, stelt hij een voorstel op in plaats van rechtstreeks naarSKILL.md te
schrijven. Je beoordeelt en keurt goed voordat er iets verandert.
Installeren vanuit ClawHub
ClawHub is het openbare skillsregister. Gebruikopenclaw skills-commands voor installatie en updates, of de clawhub CLI voor
publiceren en synchroniseren.
| Actie | Command |
|---|---|
| Installeer een skill in de werkruimte | openclaw skills install @owner/<slug> |
| Installeer vanuit een Git-repository | openclaw skills install git:owner/repo@ref |
| Installeer een lokale skillmap | openclaw skills install ./path/to/skill --as my-tool |
| Installeer voor alle lokale agents | openclaw skills install @owner/<slug> --global |
| Werk alle werkruimte-skills bij | openclaw skills update --all |
| Werk een gedeelde beheerde skill bij | openclaw skills update @owner/<slug> --global |
| Werk alle gedeelde beheerde skills bij | openclaw skills update --all --global |
| Verifieer de trust-envelop van een skill | openclaw skills verify @owner/<slug> |
| Druk de gegenereerde Skill Card af | openclaw skills verify @owner/<slug> --card |
| Publiceer / synchroniseer via ClawHub CLI | clawhub sync --all |
Installatiedetails
Installatiedetails
openclaw skills install installeert standaard in de skills/-map van de
actieve werkruimte. Voeg --global toe om te installeren in de gedeelde
~/.openclaw/skills-map, zichtbaar voor alle lokale agents tenzij
agent-allowlists dit beperken.Git- en lokale installaties verwachten SKILL.md in de bronroot. De slug
komt uit de name-frontmatter van SKILL.md wanneer die geldig is, en valt
daarna terug op de map- of repositorynaam. Gebruik --as <slug> om dit te
overschrijven. openclaw skills update volgt alleen ClawHub-installaties —
installeer Git- of lokale bronnen opnieuw om ze te vernieuwen.Verificatie en beveiligingsscans
Verificatie en beveiligingsscans
openclaw skills verify @owner/<slug> vraagt ClawHub om de
clawhub.skill.verify.v1-trust-envelop van de skill. Geïnstalleerde ClawHub-
skills worden geverifieerd tegen de versie en het register die zijn
vastgelegd in .clawhub/origin.json. Bare slugs blijven geaccepteerd voor
bestaande geïnstalleerde of ondubbelzinnige skills, maar refs met eigenaar
voorkomen onduidelijkheid over de uitgever.ClawHub-skillpagina’s tonen vóór installatie de nieuwste status van de
beveiligingsscan, met detailpagina’s voor VirusTotal, ClawScan en statische
analyse. Het command eindigt met een niet-nulcode wanneer ClawHub de
verificatie als mislukt markeert. Uitgevers herstellen fout-positieven via
het ClawHub-dashboard of clawhub skill rescan @owner/<slug>.Installaties uit privéarchieven
Installaties uit privéarchieven
Gateway-clients die niet-ClawHub-levering nodig hebben, kunnen een zip-
skillarchief klaarzetten met
skills.upload.begin, skills.upload.chunk en
skills.upload.commit, en vervolgens installeren met
skills.install({ source: "upload", ... }). Dit pad staat standaard uit en
vereist skills.install.allowUploadedArchives: true in openclaw.json.
Normale ClawHub-installaties hebben die instelling nooit nodig.Beveiliging
Padinsluiting
Padinsluiting
Ontdekking van werkruimte-, projectagent- en extra-map-skills accepteert
alleen skillroots waarvan het opgeloste realpath binnen de geconfigureerde
root blijft, tenzij
skills.load.allowSymlinkTargets expliciet een doelroot
vertrouwt. Skill Workshop schrijft alleen via die vertrouwde doelen wanneer
skills.workshop.allowSymlinkTargetWrites is ingeschakeld.
Beheerde ~/.openclaw/skills en persoonlijke ~/.agents/skills kunnen
gesymlinkte skillmappen bevatten, maar elk SKILL.md-realpath moet nog
steeds binnen de opgeloste skillmap blijven.Installatiebeleid voor operators
Installatiebeleid voor operators
Configureer
security.installPolicy om een vertrouwd lokaal policy-command
uit te voeren voordat skillinstallaties doorgaan. De policy ontvangt metadata
en het gestagede bronpad, geldt voor ClawHub-, geüploade, Git-, lokale,
update- en dependency-installer-paden, en faalt gesloten wanneer het command
geen geldige beslissing kan teruggeven.Bereik van secretinjectie
Bereik van secretinjectie
skills.entries.*.env en skills.entries.*.apiKey injecteren secrets alleen
voor die agentbeurt in het hostproces — niet in de sandbox. Houd secrets
uit prompts en logs.SKILL.md-indeling
Elke skill heeft minimaal eenname en description in de frontmatter nodig:
OpenClaw volgt de AgentSkills-specificatie. De
frontmatter-parser ondersteunt alleen keys op één regel —
metadata moet
een JSON-object op één regel zijn. Gebruik {baseDir} in de body om naar het
pad van de skillmap te verwijzen.Optionele frontmatter-keys
URL die als “Website” wordt weergegeven in de macOS Skills-UI. Ook ondersteund
via
metadata.openclaw.homepage.Wanneer
true, wordt de skill beschikbaar gemaakt als een door de gebruiker
aanroepbaar slashcommand.Wanneer
true, houdt OpenClaw de instructies van de skill buiten de normale
prompt van de agent. De skill blijft beschikbaar als slashcommand wanneer
user-invocable ook true is.Wanneer ingesteld op
tool, omzeilt het slashcommand het model en dispatcht
het rechtstreeks naar een geregistreerde tool.Toolnaam die moet worden aangeroepen wanneer
command-dispatch: tool is ingesteld.Voor tooldispatch stuurt dit de ruwe argumenttekenreeks door naar de tool zonder
core-parsing. De tool ontvangt
{ command: "<raw args>", commandName: "<slash command>", skillName: "<skill name>" }.Toegangscontrole
OpenClaw filtert skills bij het laden metmetadata.openclaw (eenregelige
JSON in de frontmatter). Een skill zonder metadata.openclaw-blok komt altijd
in aanmerking, tenzij deze expliciet is uitgeschakeld.
Wanneer
true, neem de skill altijd op en sla alle andere controles over.Optionele emoji die wordt getoond in de macOS Skills UI.
Optionele URL die als “Website” wordt getoond in de macOS Skills UI.
Platformfilter. Wanneer ingesteld, komt de skill alleen in aanmerking op de vermelde besturingssystemen.
Elke binary moet op
PATH bestaan.Minstens een binary moet op
PATH bestaan.Elke omgevingsvariabele moet in het proces bestaan of via configuratie worden geleverd.
Elk
openclaw.json-pad moet truthy zijn.Naam van de omgevingsvariabele die is gekoppeld aan
skills.entries.<name>.apiKey.Optionele installatiespecificaties die worden gebruikt door de macOS Skills UI (brew / node / go / uv / download).
Verouderde
metadata.clawdbot-blokken worden nog steeds geaccepteerd wanneer
metadata.openclaw ontbreekt, zodat oudere geïnstalleerde skills hun
afhankelijkheidscontroles en installatiehints behouden. Nieuwe skills moeten
metadata.openclaw gebruiken.Installatiespecificaties
Installatiespecificaties vertellen de macOS Skills UI hoe een afhankelijkheid moet worden geïnstalleerd:Regels voor installatieselectie
Regels voor installatieselectie
- Wanneer meerdere installers worden vermeld, kiest de Gateway een voorkeursoptie (brew wanneer beschikbaar, anders node).
- Als alle installers
downloadzijn, vermeldt OpenClaw elke entry zodat je alle beschikbare artefacten kunt zien. - Specificaties kunnen
os: ["darwin"|"linux"|"win32"]bevatten om op platform te filteren. - Node-installaties respecteren
skills.install.nodeManagerinopenclaw.json(standaard: npm; opties: npm / pnpm / yarn / bun). Dit heeft alleen invloed op skillinstallaties; de Gateway-runtime moet nog steeds Node zijn. - Installatievoorkeur van de Gateway: Homebrew → uv → geconfigureerde node-manager → go → download.
Details per installer
Details per installer
- Homebrew: OpenClaw installeert Homebrew niet automatisch en vertaalt brew-
formules niet naar systeempakketcommando’s. In Linux-containers zonder
brewworden installers die alleen brew gebruiken verborgen; gebruik een aangepaste image of installeer de afhankelijkheid handmatig. - Go: OpenClaw vereist Go 1.21 of nieuwer voor automatische skillinstallaties en
behoudt de bestaande instellingen voor
GOBIN,GOPATHenGOTOOLCHAIN. Als de geconfigureerde toolchain niet kan voldoen aan de vereiste Go-versie van een module, groepeert onboarding de skill met handmatige Go-vereisten na de installatiepoging. Alsgoontbreekt en Homebrew beschikbaar is, installeert OpenClaw Go eerst via Homebrew en steltGOBINin op debinvan Homebrew. Op Linux kan OpenClaw in plaats daarvanapt-getgebruiken als root of via wachtwoordlozesudowanneer de vernieuwdegolang-go-kandidaat aan de minimumversie voldoet. - Download:
url(vereist),archive(tar.gz|tar.bz2|zip),extract(standaard: automatisch wanneer archief gedetecteerd),stripComponents,targetDir(standaard:~/.openclaw/tools/<skillKey>).
Opmerkingen over sandboxing
Opmerkingen over sandboxing
requires.bins wordt bij het laden van skills op de host gecontroleerd. Als een agent
in een sandbox draait, moet de binary ook binnen de container bestaan.
Installeer deze via agents.defaults.sandbox.docker.setupCommand of een aangepaste
image. setupCommand wordt eenmaal uitgevoerd na het maken van de container en vereist
netwerkuitgaand verkeer, een beschrijfbaar rootbestandssysteem en een rootgebruiker in de sandbox.Configuratie-overschrijvingen
Schakel gebundelde of beheerde skills in of configureer ze onderskills.entries in
~/.openclaw/openclaw.json:
false schakelt de skill uit, zelfs wanneer deze gebundeld of geïnstalleerd is. De gebundelde
skill coding-agent is opt-in — stel skills.entries.coding-agent.enabled: true
in en zorg dat een van claude, codex, opencode of een andere ondersteunde CLI
is geïnstalleerd en geauthenticeerd.Gemaksveld voor skills die
metadata.openclaw.primaryEnv declareren.
Ondersteunt een platte-teksttekenreeks of een SecretRef-object.Omgevingsvariabelen die worden geïnjecteerd voor de agent-run. Alleen geïnjecteerd wanneer de
variabele nog niet in het proces is ingesteld.
Optionele verzameling voor aangepaste configuratievelden per skill.
Optionele allowlist alleen voor gebundelde skills. Wanneer ingesteld, komen alleen gebundelde skills
in de lijst in aanmerking. Beheerde en workspace-skills worden niet beïnvloed.
Configuratiesleutels komen standaard overeen met de skillnaam. Als een skill
metadata.openclaw.skillKey definieert, gebruik die sleutel dan onder skills.entries. Zet
namen met koppeltekens tussen aanhalingstekens: JSON5 staat sleutels tussen aanhalingstekens toe.Omgevingsinjectie
Wanneer een agent-run start, doet OpenClaw het volgende:Leest skillmetadata
OpenClaw bepaalt de effectieve skilllijst voor de agent en past daarbij toegangscontrole-
regels, allowlists en configuratie-overschrijvingen toe.
Injecteert env en API-sleutels
skills.entries.<key>.env en skills.entries.<key>.apiKey worden toegepast op
process.env voor de duur van de run.Bouwt de systeemprompt
Skills die in aanmerking komen, worden gecompileerd tot een compact XML-blok en geïnjecteerd in de
systeemprompt.
claude-cli-backend materialiseert OpenClaw dezelfde
snapshot van in aanmerking komende skills ook als tijdelijke Claude Code-plugin en geeft deze door via
--plugin-dir. Andere CLI-backends gebruiken alleen de promptcatalogus.
Snapshots en vernieuwen
OpenClaw maakt snapshots van in aanmerking komende skills wanneer een sessie start en hergebruikt die lijst voor alle volgende beurten in de sessie. Wijzigingen aan skills of configuratie worden van kracht bij de volgende nieuwe sessie. Skills worden midden in een sessie in twee gevallen vernieuwd:- De skills-watcher detecteert een wijziging in
SKILL.md. - Een nieuwe in aanmerking komende externe node maakt verbinding.
Skills-watcher
Skills-watcher
Standaard bewaakt OpenClaw skillmappen en verhoogt de snapshot wanneer
Gebruik
SKILL.md-bestanden wijzigen. Configureer onder skills.load:allowSymlinkTargets voor opzettelijke layouts met symlinks waarbij een skillroot-
symlink buiten de geconfigureerde root wijst, bijvoorbeeld
<workspace>/skills/manager -> ~/Projects/manager/skills.
Schakel skills.workshop.allowSymlinkTargetWrites alleen in wanneer Skill Workshop
ook voorstellen via die vertrouwde symlinkpaden moet toepassen.Externe macOS-nodes (Linux-gateway)
Externe macOS-nodes (Linux-gateway)
Als de Gateway op Linux draait maar er een macOS-node is verbonden met
system.run toegestaan, kan OpenClaw macOS-only skills als in aanmerking komend behandelen wanneer
de vereiste binaries op die node aanwezig zijn. De agent moet die
skills uitvoeren via de exec-tool met host=node.Offline nodes maken remote-only skills niet zichtbaar. Als een node stopt met
antwoorden op bin-probes, wist OpenClaw de gecachte bin-matches.Tokenimpact
Wanneer skills in aanmerking komen, injecteert OpenClaw een compact XML-blok in de systeem- prompt. De kosten zijn deterministisch:- Basisoverhead (alleen wanneer ≥ 1 skill): ~195 tekens
- Per skill: ~97 tekens + de lengtes van je
name-,description- enlocation-velden - XML-escaping breidt
& < > " 'uit naar entiteiten, wat enkele tekens per voorkomen toevoegt - Bij ~4 tekens/token is 97 tekens ≈ 24 tokens per skill vóór veldlengtes
Gerelateerd
Skills maken
Stapsgewijze handleiding voor het schrijven van een aangepaste skill.
Skill Workshop
Voorstellenwachtrij voor door agents opgestelde skills.
Skills-configuratie
Volledig
skills.*-configuratieschema en agent-allowlists.Slash commands
Hoe slash-commands van skills worden geregistreerd en gerouteerd.
ClawHub
Browse en publiceer skills in het openbare register.
Plugins
Plugins kunnen skills meeleveren naast de tools die ze documenteren.