Skills
Création de Skills
Skills indique à l’agent comment et quand utiliser les outils. Chaque compétence est un répertoire
contenant un fichier SKILL.md avec un frontmatter YAML et des instructions Markdown.
OpenClaw charge les Skills depuis plusieurs racines selon un ordre de priorité.
Créer votre première compétence
Create the skill directory
Les Skills se trouvent dans le dossier skills/ de votre espace de travail. Créez un répertoire pour votre
nouvelle compétence :
mkdir -p ~/.openclaw/workspace/skills/hello-worldVous pouvez regrouper les Skills dans des sous-dossiers pour les organiser — la compétence reste
nommée par le frontmatter de SKILL.md, pas par le chemin du dossier :
mkdir -p ~/.openclaw/workspace/skills/personal/hello-world# skill name is still "hello-world", invoked as /hello-worldWrite SKILL.md
Créez SKILL.md dans le répertoire. Le frontmatter définit les métadonnées ;
le corps fournit les instructions à l’agent.
---name: hello-worlddescription: A simple skill that prints a greeting.--- # Hello World When the user asks for a greeting, use the `exec` tool to run: ```bashecho "Hello from your custom skill!" Règles de nommage :- Utilisez des lettres minuscules, des chiffres et des traits d’union pour `name`.- Gardez le nom du répertoire et le `name` du frontmatter alignés.- `description` est affichée à l’agent et dans la découverte des commandes slash — gardez-la sur une seule ligne et sous 160 caractères. OPENCLAW_DOCS_MARKER:stepClose: OPENCLAW_DOCS_MARKER:stepOpen:IHRpdGxlPSJWZXJpZnkgdGhlIHNraWxsIGxvYWRlZCI ```bashopenclaw skills listOpenClaw surveille par défaut les fichiers SKILL.md sous les racines de Skills. Si le
watcher est désactivé ou si vous continuez une session existante, démarrez-en une nouvelle
afin que l’agent reçoive la liste actualisée :
# From chat — archive current session and start fresh/new # Or restart the gatewayopenclaw gateway restartTest it
Envoyez un message qui devrait déclencher la compétence :
openclaw agent --message "give me a greeting"Ou ouvrez une discussion et demandez directement à l’agent. Utilisez /skill hello-world pour
l’invoquer explicitement par son nom.
Référence SKILL.md
Champs obligatoires
| Champ | Description |
|---|---|
name |
Slug unique utilisant des lettres minuscules, des chiffres et des traits d’union |
description |
Description sur une ligne affichée à l’agent et dans la sortie de découverte |
Clés de frontmatter facultatives
| Champ | Valeur par défaut | Description |
|---|---|---|
user-invocable |
true |
Expose la compétence comme commande slash utilisateur |
disable-model-invocation |
false |
Garde la compétence hors du prompt système de l’agent (elle s’exécute toujours via /skill) |
command-dispatch |
— | Définissez sur tool pour acheminer la commande slash directement vers un outil, en contournant le modèle |
command-tool |
— | Nom de l’outil à invoquer lorsque command-dispatch: tool est défini |
command-arg-mode |
raw |
Pour l’acheminement vers un outil, transmet la chaîne d’arguments brute à l’outil |
homepage |
— | URL affichée comme « Website » dans l’interface Skills macOS |
Pour les champs de contrôle d’accès (requires.bins, requires.env, etc.), consultez
Skills — Contrôle d’accès.
Utiliser {baseDir}
Utilisez {baseDir} dans le corps de la compétence pour référencer les fichiers dans le répertoire de la compétence
sans coder les chemins en dur :
Run the helper script at `{baseDir}/scripts/run.sh`.Ajouter une activation conditionnelle
Contrôlez votre compétence afin qu’elle ne se charge que lorsque ses dépendances sont disponibles :
---name: gemini-searchdescription: Search using Gemini CLI.metadata: { "openclaw": { "requires": { "bins": ["gemini"] }, "primaryEnv": "GEMINI_API_KEY" } }---Gating options
| Clé | Description |
|---|---|
requires.bins |
Tous les binaires doivent exister sur PATH |
requires.anyBins |
Au moins un binaire doit exister sur PATH |
requires.env |
Chaque variable d’environnement doit exister dans le processus ou la configuration |
requires.config |
Chaque chemin openclaw.json doit être truthy |
os |
Filtre de plateforme : ["darwin"], ["linux"], ["win32"] |
always |
Définissez sur true pour ignorer tous les contrôles et toujours inclure la compétence |
Référence complète : Skills — Contrôle d’accès.
Environment and API keys
Associez une clé d’API à une entrée de compétence dans openclaw.json :
{ skills: { entries: { "gemini-search": { enabled: true, apiKey: { source: "env", provider: "default", id: "GEMINI_API_KEY" }, }, }, },}La clé est injectée dans le processus hôte uniquement pour ce tour d’agent. Elle n’atteint pas le bac à sable — consultez variables d’environnement en bac à sable.
Proposer via Skill Workshop
Pour les Skills rédigées par l’agent, ou lorsque vous voulez une revue opérateur avant qu’une compétence ne soit
mise en ligne, utilisez les propositions Skill Workshop au lieu d’écrire
directement SKILL.md.
# Propose a brand-new skillopenclaw skills workshop propose-create \ --name "hello-world" \ --description "A simple skill that prints a greeting." \ --proposal ./PROPOSAL.md # Propose an update to an existing skillopenclaw skills workshop propose-update hello-world \ --proposal ./PROPOSAL.md \ --description "Updated greeting skill"Utilisez --proposal-dir lorsque la proposition inclut des fichiers de support :
openclaw skills workshop propose-create \ --name "hello-world" \ --description "A simple skill that prints a greeting." \ --proposal-dir ./hello-world-proposal/Le répertoire doit contenir PROPOSAL.md. Les fichiers de support peuvent aller dans assets/,
examples/, references/, scripts/ ou templates/.
Après revue :
openclaw skills workshop inspect <proposal-id>openclaw skills workshop apply <proposal-id>Consultez Skill Workshop pour le cycle de vie complet des propositions.
Publier sur ClawHub
Ensure your SKILL.md is complete
Assurez-vous que name, description et tous les champs de contrôle d’accès metadata.openclaw
sont définis. Ajoutez une URL homepage si vous avez une page de projet.
Install the ClawHub skill
La compétence ClawHub documente la forme actuelle de la commande de publication et les métadonnées requises :
openclaw skills install @openclaw/clawhub-publishPublish
clawhub publishConsultez ClawHub — Publication pour le flux complet.
Bonnes pratiques
Associés
Ordre de chargement, contrôle d’accès, listes d’autorisation et format SKILL.md.
File de propositions pour les Skills rédigées par l’agent.
Schéma complet de configuration skills.*.
Parcourez et publiez des Skills sur le registre public.
Les Plugins peuvent fournir des Skills avec les outils qu’elles documentent.