Skills
Création de skills
Skills apprend à l’agent comment et quand utiliser les outils. Chaque Skill 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é défini.
Créer votre première Skill
Create the skill directory
Les Skills se trouvent dans le dossier skills/ de votre espace de travail :
mkdir -p ~/.openclaw/workspace/skills/hello-worldVous pouvez regrouper les Skills dans des sous-dossiers pour les organiser — la Skill
reste nommée d’après le frontmatter de SKILL.md, et non d’après le chemin du dossier :
mkdir -p ~/.openclaw/workspace/skills/personal/hello-world# skill name is still "hello-world", invoked as /hello-worldWrite SKILL.md
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`.- Faites correspondre le nom du répertoire et la valeur `name` du frontmatter.- `description` est affiché à l’agent et dans la découverte des commandes slash — conservez-la sur une seule ligne et limitez-la à 160 caractères. OPENCLAW_DOCS_MARKER:stepClose: OPENCLAW_DOCS_MARKER:stepOpen:IHRpdGxlPSJWZXJpZnkgdGhlIHNraWxsIGxvYWRlZCI ```bashopenclaw skills listPar défaut, OpenClaw surveille les fichiers SKILL.md sous les racines des Skills. Si
la surveillance est désactivée ou si vous poursuivez 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
openclaw agent --message "give me a greeting"Vous pouvez également ouvrir une conversation et interroger directement l’agent. Utilisez /skill hello-world pour
l’invoquer explicitement par son nom.
Référence de SKILL.md
Champs obligatoires
| Champ | Description |
|---|---|
name |
Identifiant unique composé de lettres minuscules, de chiffres et de traits d’union |
description |
Description sur une ligne affichée à l’agent et dans la sortie de découverte |
Clés facultatives du frontmatter
| Champ | Valeur par défaut | Description |
|---|---|---|
user-invocable |
true |
Expose la Skill comme commande slash utilisateur |
disable-model-invocation |
false |
Exclut la Skill du prompt système de l’agent (elle reste exécutable via /skill) |
command-dispatch |
— | Définissez la valeur sur tool pour acheminer directement la commande slash vers un outil sans passer par 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 à celui-ci la chaîne brute des arguments |
homepage |
— | URL affichée sous la forme « Website » dans l’interface Skills de macOS |
Pour les champs de filtrage (requires.bins, requires.env, etc.), consultez
Skills — Filtrage.
Utilisation de {baseDir}
Référencez les fichiers situés dans le répertoire de la Skill sans coder les chemins en dur — l’
agent résout {baseDir} par rapport au propre répertoire de la Skill :
Run the helper script at `{baseDir}/scripts/run.sh`.Ajouter une activation conditionnelle
Filtrez votre Skill afin qu’elle ne soit chargée 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 exécutables doivent exister dans PATH |
requires.anyBins |
Au moins un exécutable doit exister dans PATH |
requires.env |
Chaque variable d’environnement doit exister dans le processus ou la configuration |
requires.config |
Chaque chemin openclaw.json doit avoir une valeur vraie |
os |
Filtre de plateforme : ["darwin"], ["linux"], ["win32"] |
always |
Définissez sur true pour ignorer tous les filtres et toujours inclure la Skill |
Référence complète : Skills — Filtrage.
Environment and API keys
Associez une clé API à une entrée de Skill 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 pendant ce tour de l’agent. Elle n’atteint pas le bac à sable — consultez les variables d’environnement dans le bac à sable.
Proposer via Skill Workshop
Pour les Skills rédigées par un agent, ou lorsque vous souhaitez qu’un opérateur les examine avant leur
mise en service, utilisez les propositions de 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 comprend des fichiers complémentaires :
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 à sa racine. Les fichiers complémentaires doivent être placés sous
assets/, examples/, references/, scripts/ ou templates/.
Après examen :
openclaw skills workshop inspect <proposal-id>openclaw skills workshop apply <proposal-id>Consultez Skill Workshop pour connaître le cycle de vie complet d’une proposition.
Publier sur ClawHub
Ensure your SKILL.md is complete
Vérifiez que name, description et tous les champs de filtrage metadata.openclaw
sont définis. Ajoutez une URL homepage si vous disposez d’une page de projet.
Install the standalone ClawHub CLI and log in
npm i -g clawhubclawhub loginPublish
clawhub skill publish ./path/to/hello-worldAjoutez --version <version> ou --owner <owner> pour remplacer la
version déduite ou publier sous un propriétaire précis. Consultez
ClawHub — Publication et
CLI ClawHub pour connaître le processus complet, la portée des propriétaires et les autres
commandes de maintenance (clawhub sync, clawhub skill rename, ...).
Bonnes pratiques
Voir aussi
Ordre de chargement, filtrage, listes d’autorisation et format de SKILL.md.
File de propositions pour les Skills rédigées par un agent.
Schéma de configuration skills.* complet.
Parcourez et publiez des Skills dans le registre public.
Les Plugins peuvent fournir des Skills avec les outils qu’ils documentent.