Skills
Skill-workshop
Skill Workshop is OpenClaw's beheerste pad voor het maken en bijwerken van workspace-skills.
Agents en operators schrijven via dit pad niet rechtstreeks actieve SKILL.md-bestanden. Ze maken eerst een voorstel. Een voorstel is een concept in behandeling met de voorgestelde skill-inhoud, doelbinding, scannerstatus, hashes, metadata van ondersteuningsbestanden en rollback-metadata. Het wordt pas een live skill wanneer het wordt toegepast.
Skill Workshop schrijft alleen workspace-skills. Het wijzigt geen gebundelde, plugin-, ClawHub-, extra-root-, beheerde, personal-agent- of systeemskills.
Hoe het werkt
- Eerst een voorstel: gegenereerde skill-inhoud wordt opgeslagen als
PROPOSAL.md, niet alsSKILL.md. - Toepassen is de enige live schrijfopdracht: maken, bijwerken en herzien wijzigen geen actieve skills.
- Beperkt tot de workspace: aanmaken richt zich op de workspace-root
skills/. Updates zijn alleen toegestaan voor schrijfbare workspace-skills. - Niet overschrijven: aanmaken mislukt als de doel-skill al bestaat.
- Hashgebonden: updatevoorstellen binden aan de huidige doelhash en worden verouderd als de live skill verandert voordat het voorstel wordt toegepast.
- Scanner-gated: toepassen voert vóór het schrijven opnieuw scans uit.
- Herstelbaar: toepassen schrijft rollback-metadata voordat live bestanden worden gewijzigd.
- Consistente oppervlakken: chat, CLI en Gateway roepen allemaal dezelfde Skill Workshop-service aan.
Levenscyclus
create/update -> pendingrevise -> pendingapply -> appliedreject -> rejectedquarantine -> quarantinedtarget change -> staleAlleen pending-voorstellen kunnen worden herzien, toegepast, afgewezen of in quarantaine geplaatst.
Chat
Vraag de agent om de gewenste skill. De agent roept skill_workshop aan en retourneert een voorstel-id.
Aanmaken:
Make a skill called morning-catchup that runs my Monday inbox routine.Een bestaande workspace-skill bijwerken:
Update trip-planning to also check seat maps before booking.Itereren op een voorstel in behandeling:
Show me the morning-catchup proposal.Revise it to also flag anything marked urgent.Apply the morning-catchup proposal.Standaard tonen door agents geïnitieerde apply, reject en quarantine een goedkeuringsprompt voordat ze worden uitgevoerd. Stel skills.workshop.approvalPolicy in op "auto" om de prompt over te slaan voor vertrouwde omgevingen.
CLI
Maak een nieuw skillvoorstel:
openclaw skills workshop propose-create \ --name morning-catchup \ --description "Daily inbox catch-up: triage, archive, surface, draft, plan" \ --proposal ./PROPOSAL.mdMaak een updatevoorstel voor een bestaande workspace-skill:
openclaw skills workshop propose-update trip-planning --proposal ./PROPOSAL.mdWeergeven en inspecteren:
openclaw skills workshop listopenclaw skills workshop inspect <proposal-id>Herzien vóór goedkeuring:
openclaw skills workshop revise <proposal-id> --proposal ./PROPOSAL.mdHet voorstel afronden:
openclaw skills workshop apply <proposal-id>openclaw skills workshop reject <proposal-id> --reason "Duplicate"openclaw skills workshop quarantine <proposal-id> --reason "Needs security review"Voorstelinhoud
Zolang het voorstel in behandeling is, wordt het opgeslagen als PROPOSAL.md met frontmatter die alleen voor voorstellen geldt:
---name: "morning-catchup"description: "Daily inbox catch-up: triage, archive, surface, draft, plan"status: proposalversion: "v1"date: "2026-05-30T00:00:00.000Z"---Bij toepassen schrijft Skill Workshop de actieve SKILL.md en verwijdert het velden die alleen voor voorstellen gelden: status, voorstel-version en voorstel-date.
Ondersteuningsbestanden
Gebruik --proposal-dir wanneer de voorgestelde skill bestanden naast PROPOSAL.md nodig heeft:
openclaw skills workshop propose-create \ --name weekly-update \ --description "Friday wrap-up: stats, highlights, next week's top three" \ --proposal-dir ./weekly-update-proposalDe map moet PROPOSAL.md bevatten. Ondersteuningsbestanden moeten onder staan:
assets/examples/references/scripts/templates/
Skill Workshop scant, hasht en bewaart ondersteuningsbestanden met het voorstel. Ze worden pas bij toepassen naast de live SKILL.md geschreven.
Afgewezen paden voor ondersteuningsbestanden omvatten absolute paden, verborgen padsegmenten, path traversal, overlappende paden, uitvoerbare bestanden uit voorstelmappen, niet-UTF-8-tekst, null-bytes en bestanden buiten de standaardmappen voor ondersteuning.
Agent-tool
Het model gebruikt skill_workshop:
action: create | update | revise | list | inspect | apply | reject | quarantineAgents moeten skill_workshop gebruiken voor gegenereerd skillwerk. Ze mogen geen voorstelbestanden maken of wijzigen via write, edit, exec, shellopdrachten of directe bestandssysteembewerkingen.
Goedkeuring en autonomie
{ skills: { workshop: { autonomous: { enabled: false, }, allowSymlinkTargetWrites: false, approvalPolicy: "pending", maxPending: 50, maxSkillBytes: 40000, }, },}autonomous.enabled: staat OpenClaw toe om voorstellen in behandeling te maken op basis van duurzame gesprekssignalen na succesvolle beurten. Standaard:false.allowSymlinkTargetWrites: staat toepassen toe om door workspace-skill-symlinks heen te schrijven waarvan het echte doel is opgenomen inskills.load.allowSymlinkTargets. Standaard:false.approvalPolicy: "pending": vereist een goedkeuringsprompt vóór door agents geïnitieerdeapply,rejectofquarantine.approvalPolicy: "auto": slaat die goedkeuringsprompt over. De agent moet de actie nog steeds aanroepen.maxPending: beperkt voorstellen in behandeling en in quarantaine per workspace.maxSkillBytes: beperkt de grootte van de voorstelbody. Standaard:40000.
Voorstelbeschrijvingen zijn altijd beperkt tot 160 bytes.
Gateway-methoden
skills.proposals.listskills.proposals.inspectskills.proposals.createskills.proposals.updateskills.proposals.reviseskills.proposals.applyskills.proposals.rejectskills.proposals.quarantineAlleen-lezen-methoden vereisen operator.read. Muterende methoden vereisen operator.admin.
Opslag
<OPENCLAW_STATE_DIR>/skill-workshop/ proposals.json proposals/<proposal-id>/ proposal.json PROPOSAL.md rollback.json assets/ examples/ references/ scripts/ templates/Standaardstatusmap: ~/.openclaw.
proposal.json: canoniek voorstelrecord.proposals.json: snelle lijstindex, opnieuw op te bouwen vanuit voorstelmappen.PROPOSAL.md: skillvoorstel in behandeling.rollback.json: herstelmetadata die wordt geschreven voordat toepassen live bestanden wijzigt.
Limieten
- Beschrijving: 160 bytes.
- Voorstelbody:
skills.workshop.maxSkillBytes(standaard 40.000). - Ondersteuningsbestanden: 64 per voorstel.
- Grootte van ondersteuningsbestand: elk 256 KB, totaal 2 MB.
- Voorstellen in behandeling en in quarantaine:
skills.workshop.maxPendingper workspace (standaard 50).
Probleemoplossing
| Probleem | Oplossing |
|---|---|
Skill proposal description is too large |
Verkort description tot 160 bytes of minder. |
Skill proposal content is too large |
Verkort de voorstelbody of verhoog skills.workshop.maxSkillBytes. |
Target skill changed after proposal creation |
Herzie het voorstel tegen het huidige doel, of maak een nieuw voorstel. |
Proposal scan failed |
Inspecteer scannerbevindingen en herzie het voorstel daarna of plaats het in quarantaine. |
untrusted symlink target |
Configureer skills.load.allowSymlinkTargets en schakel skills.workshop.allowSymlinkTargetWrites alleen in voor bewust gedeelde skillroots. |
Support file paths must be under one of... |
Verplaats ondersteuningsbestanden onder assets/, examples/, references/, scripts/ of templates/. |
| Voorstel wordt niet in de lijst weergegeven | Controleer de geselecteerde --agent-workspace en OPENCLAW_STATE_DIR. |
Agent kan skill_workshop niet aanroepen |
Controleer het actieve toolbeleid en de runmodus. coding bevat de tool; beperkende tools.allow-beleidsregels moeten deze expliciet vermelden, en sandbox-runs moeten een normale host-side agentsessie of de CLI gebruiken. |
Gerelateerd
- Skills voor laadvolgorde, prioriteit en zichtbaarheid
- Skills maken voor de basis van handgeschreven
SKILL.md - Skills-configuratie voor het volledige
skills.workshop-schema - Skills-CLI voor
openclaw skills-opdrachten