Passer au contenu principal
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

1

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-world
Vous 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-world
2

Write 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-world
description: A simple skill that prints a greeting.
---

# Hello World

When the user asks for a greeting, use the `exec` tool to run:

```bash
echo "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.

</Step>

<Step title="Verify the skill loaded">
```bash
openclaw skills list
OpenClaw 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 gateway
openclaw gateway restart
3

Test 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

ChampDescription
nameSlug unique utilisant des lettres minuscules, des chiffres et des traits d’union
descriptionDescription sur une ligne affichée à l’agent et dans la sortie de découverte

Clés de frontmatter facultatives

ChampValeur par défautDescription
user-invocabletrueExpose la compétence comme commande slash utilisateur
disable-model-invocationfalseGarde la compétence hors du prompt système de l’agent (elle s’exécute toujours via /skill)
command-dispatchDéfinissez sur tool pour acheminer la commande slash directement vers un outil, en contournant le modèle
command-toolNom de l’outil à invoquer lorsque command-dispatch: tool est défini
command-arg-moderawPour l’acheminement vers un outil, transmet la chaîne d’arguments brute à l’outil
homepageURL 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-search
description: Search using Gemini CLI.
metadata: { "openclaw": { "requires": { "bins": ["gemini"] }, "primaryEnv": "GEMINI_API_KEY" } }
---
CléDescription
requires.binsTous les binaires doivent exister sur PATH
requires.anyBinsAu moins un binaire doit exister sur PATH
requires.envChaque variable d’environnement doit exister dans le processus ou la configuration
requires.configChaque chemin openclaw.json doit être truthy
osFiltre de plateforme : ["darwin"], ["linux"], ["win32"]
alwaysDé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.
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 skill
openclaw skills workshop propose-create \
  --name "hello-world" \
  --description "A simple skill that prints a greeting." \
  --proposal ./PROPOSAL.md

# Propose an update to an existing skill
openclaw 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

1

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.
2

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-publish
3

Publish

clawhub publish
Consultez ClawHub — Publication pour le flux complet.

Bonnes pratiques

  • Soyez concis — indiquez au modèle quoi faire, pas comment être une IA.
  • Priorité à la sécurité — si votre compétence utilise exec, assurez-vous que les prompts ne permettent pas l’injection de commandes arbitraires depuis une entrée non fiable.
  • Testez localement — utilisez openclaw agent --message "..." avant de partager.
  • Utilisez ClawHub — parcourez les Skills de la communauté sur clawhub.ai avant de construire à partir de zéro.

Associés

Skills reference

Ordre de chargement, contrôle d’accès, listes d’autorisation et format SKILL.md.

Skill Workshop

File de propositions pour les Skills rédigées par l’agent.

Skills config

Schéma complet de configuration skills.*.

ClawHub

Parcourez et publiez des Skills sur le registre public.

Building plugins

Les Plugins peuvent fournir des Skills avec les outils qu’elles documentent.