Aller au contenu

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.

  1. 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-world

    Vous 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
  2. É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-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 "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.
  3. Vérifier le chargement de la compétence

    Fenêtre de terminal
    openclaw skills list

    OpenClaw surveille les fichiers SKILL.md sous 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 gateway
    openclaw gateway restart
  4. Test 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-world pour l’invoquer explicitement par son nom.

ChampDescription
nameIdentifiant unique (slug) utilisant des minuscules, des chiffres et des tirets
descriptionDescription en une ligne affichée à l’agent et dans la sortie de découverte
ChampPar défautDescription
user-invocabletrueExposer la compétence en tant que commande slash utilisateur
disable-model-invocationfalseGarder la compétence hors du prompt système de l’agent (s’exécute toujours via /skill)
command-dispatchDéfinir sur tool pour router la commande slash directement vers un tool, en contournant le model
command-toolNom du tool à invoquer lorsque command-dispatch: tool est défini
command-arg-moderawPour la répartition vers un tool, transmet la chaîne d’arguments brute au tool
homepageURL 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.

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

Verrouillez 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" } }
---
Options de verrouillage
CléDescription
requires.binsTous les binaires doivent exister sur PATH
requires.anyBinsAu moins un binaire doit exister sur PATH
requires.envChaque env var doit exister dans le processus ou la configuration
requires.configChaque chemin openclaw.json doit être véridique
osFiltre de plateforme : ["darwin"], ["linux"], ["win32"]
alwaysDé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.

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.

Fenêtre de terminal
# 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 :

Fenêtre de terminal
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 :

Fenêtre de terminal
openclaw skills workshop inspect <proposal-id>
openclaw skills workshop apply <proposal-id>

Voir Skill Workshop pour le cycle de vie complet de la proposition.

  1. Assurez-vous que votre SKILL.md est complet

    Assurez-vous que name, description et tous les champs metadata.openclaw sont définis. Ajoutez une URL homepage si vous disposez d’une page de projet.

  2. 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-publish
  3. Publier

    Fenêtre de terminal
    clawhub publish
    ```ClawHub
    Consultez [ClawHub — Publication](/en/clawhub/publishing) pour le flux complet.
Référence des Skills

Ordre de chargement, gating, listes d’autorisation et format SKILL.md.

Skill Workshop

File de proposition pour les skills rédigés par l’agent.

Config des Skills

Schéma de configuration complet skills.*.

ClawHubClawHub

Parcourez et publiez des compétences sur le registre public.

Building plugins

Les plugins peuvent fournir des compétences avec les outils qu’ils documentent.