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 :

    bash
    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 :

    bash
    mkdir -p ~/.openclaw/workspace/skills/personal/hello-world# skill name is still "hello-world", invoked as /hello-world
  • 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.

    markdown
    ---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!"
    Code
     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 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 :

    bash
    # From chat — archive current session and start fresh/new # Or restart the gatewayopenclaw gateway restart
  • Test it

    Envoyez un message qui devrait déclencher la compétence :

    bash
    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 :

    markdown
    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 :

    markdown
    ---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 :

    json5
    {  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.

    bash
    # 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 :

    bash
    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 :

    bash
    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 :

    bash
    openclaw skills install @openclaw/clawhub-publish
  • Publish

    bash
    clawhub publish

    Consultez ClawHub — Publication pour le flux complet.

  • Bonnes pratiques

    Associés

    Was this useful?
    On this page

    On this page