Création de compétences
Les compétences enseignent à l’agent comment et quand utiliser les outils. Chaque compétence est un répertoire contenant un fichier SKILL.md avec des en-têtes YAML et des instructions Markdown.
OpenClaw charge les compétences à partir de plusieurs racines dans un ordre de priorité défini.
Créer votre première compétence
Section intitulée « Créer votre première compétence »Créer le répertoire de la compétence
Les compétences résident dans le dossier
skills/de votre espace de travail. Créez un répertoire pour votre nouvelle compétence :Fenêtre de terminal mkdir -p ~/.openclaw/workspace/skills/hello-worldVous pouvez regrouper les compétences dans des sous-dossiers pour l’organisation — la compétence est toujours nommée par les en-têtes
SKILL.md, et non par le chemin du dossier :Fenêtre de terminal mkdir -p ~/.openclaw/workspace/skills/personal/hello-world# skill name is still "hello-world", invoked as /hello-worldÉcrire SKILL.md
Créez
SKILL.mdà l’intérieur du répertoire. Les en-têtes définissent les métadonnées ; le corps donne les instructions à l’agent.---name: hello-worlddescription: A simple skill that prints a greeting.---# Hello WorldWhen the user asks for a greeting, use the `exec` tool to run:```bashecho "Bonjour de votre compétence personnalisée !"Règles de nommage :- Utilisez des lettres minuscules, des chiffres et des tirets pour `name`.- Gardez le nom du répertoire et `name` des en-têtes alignés.- `description` est affiché à l'agent et dans la découverte des commandes slash —gardez-le sur une ligne et sous 160 caractères.Vérifier le chargement de la compétence
Fenêtre de terminal openclaw skills listOpenClaw surveille les fichiers
SKILL.mdsous les racines de compétences par défaut. Si la surveillance est désactivée ou si vous continuez une session existante, démarrez une nouvelle session pour que l’agent reçoive la liste actualisée :Fenêtre de terminal # From chat — archive current session and start fresh/new# Or restart the gatewayopenclaw gateway restartTest it
Envoyez un message qui doit déclencher la compétence :
Fenêtre de terminal openclaw agent --message "give me a greeting"Ou ouvrez une conversation et demandez directement à l’agent. Utilisez
/skill hello-worldpour l’invoquer explicitement par son nom.
Référence SKILL.md
Section intitulée « Référence SKILL.md »Champs obligatoires
Section intitulée « Champs obligatoires »| Champ | Description |
|---|---|
name | Identifiant unique (slug) utilisant des minuscules, des chiffres et des tirets |
description | Description en une ligne affichée à l’agent et dans la sortie de découverte |
Clés de frontmatter facultatives
Section intitulée « Clés de frontmatter facultatives »| Champ | Par défaut | Description |
|---|---|---|
user-invocable | true | Exposer la compétence en tant que commande slash utilisateur |
disable-model-invocation | false | Garder la compétence hors du prompt système de l’agent (s’exécute toujours via /skill) |
command-dispatch | — | Définir sur tool pour router la commande slash directement vers un tool, en contournant le model |
command-tool | — | Nom du tool à invoquer lorsque command-dispatch: tool est défini |
command-arg-mode | raw | Pour la répartition vers un tool, transmet la chaîne d’arguments brute au tool |
homepage | — | URL affichée comme « Site Web » dans l’interface Skills de macOS |
Pour les champs de contrôle d’accès (requires.bins, requires.env, etc.), voir
Skills — Gating.
Utilisation de {baseDir}
Section intitulée « Utilisation de {baseDir} »Utilisez {baseDir} dans le corps de la compétence pour référencer des fichiers dans le répertoire de la compétence
sans coder les chemins en dur :
Run the helper script at `{baseDir}/scripts/run.sh`.Ajout d’une activation conditionnelle
Section intitulée « Ajout d’une activation conditionnelle »Verrouillez 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" } }---Options de verrouillage
| Clé | Description |
|---|---|
requires.bins | Tous les binaires doivent exister sur PATH |
requires.anyBins | Au moins un binaire doit exister sur PATH |
requires.env | Chaque env var doit exister dans le processus ou la configuration |
requires.config | Chaque chemin openclaw.json doit être véridique |
os | Filtre de plateforme : ["darwin"], ["linux"], ["win32"] |
always | Définir true pour ignorer toutes les portes et toujours inclure la compétence |
Référence complète : Skills — Gating.
Environnement et clés API
Connectez une clé 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 — voir sandboxed env vars.
Proposer via Skill Workshop
Section intitulée « Proposer via Skill Workshop »Pour les compétences rédigées par l’agent ou lorsque vous souhaitez une révision par l’opérateur avant qu’une compétence ne soit
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 être placés dans assets/,
examples/, references/, scripts/, ou templates/.
Après révision :
openclaw skills workshop inspect <proposal-id>openclaw skills workshop apply <proposal-id>Voir Skill Workshop pour le cycle de vie complet de la proposition.
Publication sur ClawHub
Section intitulée « Publication sur ClawHub »Assurez-vous que votre SKILL.md est complet
Assurez-vous que
name,descriptionet tous les champsmetadata.openclawsont définis. Ajoutez une URLhomepagesi vous disposez d’une page de projet.ClawHubInstaller le skill ClawHub
Le skill ClawHub documente la forme actuelle de la commande de publication et les métadonnées requises :
Fenêtre de terminal openclaw skills install clawhub-publishPublier
Fenêtre de terminal clawhub publish```ClawHubConsultez [ClawHub — Publication](/en/clawhub/publishing) pour le flux complet.
Bonnes pratiques
Section intitulée « Bonnes pratiques »Connexes
Section intitulée « Connexes »Ordre de chargement, gating, listes d’autorisation et format SKILL.md.
File de proposition pour les skills rédigés par l’agent.
Schéma de configuration complet skills.*.
Parcourez et publiez des compétences sur le registre public.
Les plugins peuvent fournir des compétences avec les outils qu’ils documentent.