Get started
Skill-indeling
Skill-indeling
Op schijf
Een Skill is een map.
Vereist:
SKILL.md(ofskill.md; verouderdeskills.mdwordt ook geaccepteerd)
Optioneel:
- alle ondersteunende reguliere bestanden (zie ‘Skill-bestanden’)
.clawhubignore(negeerpatronen voor publicatie, verouderde.clawdhubignore).gitignore(wordt ook gehonoreerd)
Importeren vanuit GitHub
De GitHub-importfunctie op het web is strenger dan lokaal publiceren/synchroniseren. Deze ontdekt alleen
SKILL.md- of verouderde skills.md-bestanden in openbare repositories die geen fork zijn en eigendom zijn van
het aangemelde GitHub-account. Privérepositories, forks,
gearchiveerde/uitgeschakelde repositories en openbare repositories van derden worden niet geïmporteerd.
Metadata van lokale installatie (geschreven door de CLI):
<skill>/.clawhub/origin.json(verouderde.clawdhub)
Installatiestatus van de werkmap (geschreven door de CLI):
<workdir>/.clawhub/lock.json(verouderde.clawdhub)
SKILL.md
- Markdown met optionele YAML-frontmatter.
- De server haalt tijdens het publiceren metadata uit de frontmatter.
descriptionwordt gebruikt als samenvatting van de Skill in de gebruikersinterface/zoekfunctie.
Voor overdraagbare Agent Skills moet name overeenkomen met de bovenliggende map en
1–64 kleine letters, cijfers of koppeltekens bevatten. ClawHub houdt de routeerbare slug en
de weergavenaam in de catalogus gescheiden, zodat bestaande namen uit andere clients
publiceerbaar blijven en niet stilzwijgend worden herschreven. In cataloguslijsten kunnen lange namen
visueel worden ingekort zonder de opgeslagen naam te wijzigen.
Frontmatter-metadata
Skill-metadata wordt gedeclareerd in de YAML-frontmatter bovenaan je SKILL.md. Hiermee wordt aan het register (en de beveiligingsanalyse) doorgegeven wat je Skill nodig heeft om te worden uitgevoerd.
Basisfrontmatter
---name: my-skilldescription: Korte samenvatting van wat deze Skill doet.version: 1.0.0---Runtime-metadata (metadata.openclaw)
Declareer de runtimevereisten van je Skill onder metadata.openclaw (aliassen: metadata.clawdbot, metadata.clawdis).
---name: my-skilldescription: Beheer taken via de Todoist-API.metadata: openclaw: requires: env: - TODOIST_API_KEY bins: - curl primaryEnv: TODOIST_API_KEY---Gebruik requires.env voor omgevingsvariabelen die aanwezig moeten zijn voordat de Skill kan worden uitgevoerd. Gebruik envVars wanneer je metadata per variabele nodig hebt, waaronder optionele variabelen met required: false.
Volledig veldenoverzicht
| Veld | Type | Beschrijving |
|---|---|---|
requires.env |
string[] |
Vereiste omgevingsvariabelen die je Skill verwacht. |
requires.bins |
string[] |
CLI-binaire bestanden die allemaal geïnstalleerd moeten zijn. |
requires.anyBins |
string[] |
CLI-binaire bestanden waarvan er ten minste één aanwezig moet zijn. |
requires.config |
string[] |
Paden naar configuratiebestanden die je Skill leest. |
primaryEnv |
string |
De belangrijkste omgevingsvariabele voor aanmeldgegevens van je Skill. |
envVars |
array |
Declaraties van omgevingsvariabelen met name, optionele required en optionele description. Stel required: false in voor optionele omgevingsvariabelen. |
always |
boolean |
Als true, is de Skill altijd actief (geen expliciete installatie nodig). |
skillKey |
string |
Overschrijf de aanroepsleutel van de Skill. |
emoji |
string |
Weergave-emoji voor de Skill. |
homepage |
string |
URL naar de homepage of documentatie van de Skill. |
os |
string[] |
Besturingssysteembeperkingen (bijv. ["macos"], ["linux"]). |
install |
array |
Installatiespecificaties voor afhankelijkheden (zie hieronder). |
nix |
object |
Specificatie voor de Nix-Plugin (zie README). |
config |
object |
Clawdbot-configuratiespecificatie (zie README). |
Installatiespecificaties
Als je Skill geïnstalleerde afhankelijkheden nodig heeft, declareer je deze in de array install:
metadata: openclaw: install: - kind: brew formula: jq bins: [jq] - kind: node package: typescript bins: [tsc]Ondersteunde installatietypen: brew, node, go, uv.
Optionele omgevingsvariabelen
Declareer optionele omgevingsvariabelen onder metadata.openclaw.envVars en stel required: false in. Voeg geen optionele vermeldingen toe aan requires.env, omdat requires.env betekent dat de Skill zonder deze variabelen niet kan worden uitgevoerd.
metadata: openclaw: primaryEnv: TODOIST_API_KEY envVars: - name: TODOIST_API_KEY required: true description: Todoist-API-token dat wordt gebruikt voor geauthenticeerde verzoeken. - name: TODOIST_PROJECT_ID required: false description: Optionele standaardproject-ID wanneer de gebruiker er geen opgeeft.Waarom dit belangrijk is
De beveiligingsanalyse van ClawHub controleert of wat je Skill declareert overeenkomt met wat deze daadwerkelijk doet. Als je code verwijst naar TODOIST_API_KEY, maar dit in je frontmatter niet declareert onder requires.env, primaryEnv of envVars, markeert de analyse dit als niet-overeenkomende metadata. Nauwkeurige declaraties helpen je Skill de beoordeling te doorstaan en helpen gebruikers begrijpen wat ze installeren.
Voorbeeld: volledige frontmatter
---name: todoist-clidescription: Beheer Todoist-taken, -projecten en -labels vanaf de opdrachtregel.version: 1.2.0metadata: openclaw: requires: env: - TODOIST_API_KEY bins: - curl primaryEnv: TODOIST_API_KEY envVars: - name: TODOIST_API_KEY required: true description: Todoist-API-token. - name: TODOIST_PROJECT_ID required: false description: Optionele standaardproject-ID. emoji: "\u2705" homepage: https://github.com/example/todoist-cli---Skill-bestanden
Publiceren accepteert alle reguliere bestanden in de Skill-map, ongeacht de extensie. Negeerbestanden, verborgen paden, symbolische koppelingen, macOS-metadata en serverzijdige groottelimieten blijven van toepassing.
- Bestanden met een begrensde grootte die geldige UTF-8 bevatten, kunnen als ontsnapte platte tekst worden bekeken en worden opgenomen in begrensde tekstanalyse.
- Andere bestanden behouden exact hun bytes en kunnen worden gedownload.
- Beveiligingsscanners ontvangen het volledige opgeslagen artefact; tekstdetectie betreft weergave en analyse en is geen uploadtoelatingslijst.
Limieten (serverzijde):
- Totale bundelgrootte: 50MB.
- Insluitingstekst omvat
SKILL.md+ maximaal circa 40 begrensde UTF-8-bestanden (limiet op basis van beste inspanning).
Slugs
- Standaard afgeleid van de mapnaam.
- Pakketbereiken moeten exact overeenkomen met de ClawHub-handle van de uitgever. Uitgevershandles mogen kleine letters, cijfers, koppeltekens, punten en underscores bevatten; ze moeten beginnen en eindigen met een kleine letter of cijfer.
- Pakketslugs moeten uit kleine letters bestaan en npm-veilig zijn, bijvoorbeeld
@example.tools/demo-pluginofdemo-plugin.
Versiebeheer + tags
- Elke publicatie maakt een nieuwe versie (semver).
- Tags zijn tekenreeksverwijzingen naar een versie;
latestwordt vaak gebruikt.
Licentie
- Alle Skills die op ClawHub worden gepubliceerd, vallen onder de licentie
MIT-0. - Iedereen mag gepubliceerde Skills gebruiken, wijzigen en herdistribueren, ook commercieel.
- Naamsvermelding is niet vereist.
- Voeg geen conflicterende licentievoorwaarden toe in
SKILL.md; ClawHub ondersteunt geen licentieoverschrijvingen per Skill.
Betaalde Skills
- ClawHub ondersteunt geen betaalde Skills, prijzen per Skill, betaalmuren of inkomstendeling.
- Voeg geen prijsmetadata toe aan
SKILL.md; dit maakt geen deel uit van de Skill-indeling en maakt een gepubliceerde Skill niet betaald. - Als je Skill integreert met een betaalde service van derden, documenteer dan duidelijk de externe kosten en het vereiste account in de Skill-instructies en omgevingsdeclaraties (
requires.envvoor vereiste variabelen, ofenvVarsmetrequired: falsevoor optionele variabelen).