OpenClaw utilise des dossiers de skill compatibles avec AgentSkills pour apprendre à l’agent à utiliser des outils. Chaque skill est un répertoire contenant unDocumentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
SKILL.md avec un frontmatter YAML et des instructions. OpenClaw charge les skills intégrées ainsi que les remplacements locaux facultatifs, et les filtre au moment du chargement selon l’environnement, la config et la présence de binaires.
Emplacements et ordre de priorité
OpenClaw charge les skills depuis ces sources, priorité la plus élevée d’abord :| # | Source | Chemin |
|---|---|---|
| 1 | Skills d’espace de travail | <workspace>/skills |
| 2 | Skills d’agent de projet | <workspace>/.agents/skills |
| 3 | Skills d’agent personnels | ~/.agents/skills |
| 4 | Skills gérés/locaux | ~/.openclaw/skills |
| 5 | Skills intégrés | fournis avec l’installation |
| 6 | Dossiers de skills additionnels | skills.load.extraDirs (config) |
$CODEX_HOME/skills de Codex CLI ne fait pas partie de ces
racines de skills OpenClaw. En mode harnais Codex, les lancements locaux du
serveur d’application utilisent des répertoires Codex isolés par agent ; les
skills personnelles de Codex CLI ne sont donc pas chargées implicitement.
Utilisez openclaw migrate codex --dry-run pour les inventorier et
openclaw migrate codex pour choisir les répertoires de skills avec une invite
interactive à cases à cocher avant de les copier dans l’espace de travail de
l’agent OpenClaw actuel. Pour les exécutions non interactives, répétez
--skill <name> pour les skills exactes à copier.
Skills par agent et skills partagées
Dans les configurations multi-agent, chaque agent dispose de son propre espace de travail :| Portée | Chemin | Visible par |
|---|---|---|
| Par agent | <workspace>/skills | Cet agent uniquement |
| Agent de projet | <workspace>/.agents/skills | L’agent de cet espace uniquement |
| Agent personnel | ~/.agents/skills | Tous les agents de cette machine |
| Géré/local partagé | ~/.openclaw/skills | Tous les agents de cette machine |
| Dossiers supplémentaires partagés | skills.load.extraDirs (priorité la plus basse) | Tous les agents de cette machine |
Listes d’autorisation de skills d’agent
L’emplacement d’une skill et sa visibilité sont des contrôles distincts. L’emplacement/la priorité détermine quelle copie d’une skill portant le même nom l’emporte ; les listes d’autorisation d’agent déterminent quelles skills un agent peut réellement utiliser.Règles de liste d’autorisation
Règles de liste d’autorisation
- Omettez
agents.defaults.skillspour autoriser toutes les skills par défaut. - Omettez
agents.list[].skillspour hériter deagents.defaults.skills. - Définissez
agents.list[].skills: []pour n’autoriser aucune skill. - Une liste
agents.list[].skillsnon vide constitue l’ensemble final pour cet agent - elle ne fusionne pas avec les valeurs par défaut. - La liste d’autorisation effective s’applique à la construction du prompt, à la découverte des commandes slash de skills, à la synchronisation du sandbox et aux instantanés de skills.
Plugins et skills
Les Plugins peuvent fournir leurs propres skills en listant des répertoiresskills dans
openclaw.plugin.json (chemins relatifs à la racine du Plugin). Les skills de Plugin
sont chargées lorsque le Plugin est activé. C’est l’endroit approprié pour les guides
opérationnels propres à un outil qui sont trop longs pour la description de l’outil, mais doivent être
disponibles dès que le Plugin est installé - par exemple, le Plugin de navigateur
fournit une skill browser-automation pour le contrôle de navigateur en plusieurs étapes.
Les répertoires de skills de Plugin sont fusionnés dans le même chemin de faible priorité que
skills.load.extraDirs ; une skill intégrée, gérée, d’agent ou
d’espace de travail portant le même nom les remplace donc. Vous pouvez les conditionner via
metadata.openclaw.requires.config dans l’entrée de config du Plugin.
Consultez Plugins pour la découverte/config et Outils pour
la surface d’outils que ces skills enseignent.
Skill Workshop
Le Plugin Skill Workshop, facultatif et expérimental, peut créer ou mettre à jour des skills d’espace de travail à partir de procédures réutilisables observées pendant le travail de l’agent. Il est désactivé par défaut et doit être explicitement activé viaplugins.entries.skill-workshop.
Skill Workshop écrit uniquement dans <workspace>/skills, analyse le contenu
généré, prend en charge l’approbation en attente ou les écritures sûres automatiques, met en quarantaine
les propositions dangereuses et actualise l’instantané des skills après les écritures
réussies afin que les nouvelles skills deviennent disponibles sans redémarrage du Gateway.
Utilisez-le pour des corrections comme « la prochaine fois, vérifier l’attribution des GIF » ou
des workflows éprouvés comme des listes de contrôle QA média. Commencez avec une approbation
en attente ; n’utilisez les écritures automatiques que dans des espaces de travail de confiance après avoir examiné
ses propositions. Guide complet : Plugin Skill Workshop.
ClawHub (installation et synchronisation)
ClawHub est le registre public de skills pour OpenClaw. Utilisez les commandes nativesopenclaw skills pour découvrir/installer/mettre à jour, ou la
CLI clawhub séparée pour les workflows de publication/synchronisation. Guide complet :
ClawHub.
| Action | Commande |
|---|---|
| Installer une skill dans l’espace de travail | openclaw skills install <skill-slug> |
| Mettre à jour toutes les skills installées | openclaw skills update --all |
| Synchroniser (analyse + publication des mises à jour) | clawhub sync --all |
openclaw skills install installe dans le répertoire actif
skills/ de l’espace de travail. La CLI clawhub séparée installe aussi dans
./skills sous votre répertoire de travail actuel (ou revient à l’espace de travail
OpenClaw configuré). OpenClaw le détecte comme
<workspace>/skills à la session suivante.
Les racines de skills configurées prennent également en charge un niveau de regroupement, comme
skills/<group>/<skill>/SKILL.md, afin que des skills tierces associées puissent être
conservées sous un dossier partagé sans analyse récursive large.
Les clients Gateway qui ont besoin d’une livraison privée hors ClawHub peuvent préparer une archive zip de skill
avec skills.upload.begin, skills.upload.chunk et
skills.upload.commit, puis installer l’envoi validé avec
skills.install({ source: "upload", uploadId, slug, force?, sha256? }). Il s’agit
d’un chemin d’envoi administrateur explicite pour des clients de confiance, et non du flux normal
openclaw skills install <slug> ou d’installation ClawHub. Il est désactivé par défaut
et fonctionne uniquement lorsque skills.install.allowUploadedArchives: true est défini dans
openclaw.json. Le mode d’envoi installe toujours dans le répertoire par défaut de l’espace de travail d’agent
skills/<slug> ; le nom de dossier interne de l’archive est ignoré pour la
cible d’installation finale.
Les pages de skills ClawHub exposent le dernier état de l’analyse de sécurité avant installation,
avec des pages de détail d’analyseur pour VirusTotal, ClawScan et l’analyse statique.
openclaw skills install <slug> reste uniquement le chemin d’installation ; les éditeurs
corrigent les faux positifs via le tableau de bord ClawHub ou
clawhub skill rescan <slug>.
Sécurité
- La découverte de skills dans l’espace de travail et les dossiers supplémentaires n’accepte que les racines de skills et les fichiers
SKILL.mddont le realpath résolu reste dans la racine configurée. - Les installations d’archives privées via Gateway sont désactivées par défaut. Lorsqu’elles sont explicitement activées,
elles exigent un envoi zip validé contenant
SKILL.mdet réutilisent les mêmes protections d’extraction d’archive, de traversée de chemin, de lien symbolique, de forçage et de rollback que les installations de skills ClawHub. Elles sont contrôlées parskills.install.allowUploadedArchives; les installations ClawHub normales n’exigent pas ce paramètre. - Les installations de dépendances de skills adossées au Gateway (
skills.install, onboarding et l’interface de paramètres Skills) exécutent l’analyseur intégré de code dangereux avant d’exécuter les métadonnées d’installation. Les résultatscriticalbloquent par défaut sauf si l’appelant définit explicitement le contournement dangereux ; les résultats suspects continuent seulement à avertir. openclaw skills install <slug>est différent - il télécharge un dossier de skill ClawHub dans l’espace de travail et n’utilise pas le chemin de métadonnées d’installation ci-dessus.skills.entries.*.envetskills.entries.*.apiKeyinjectent des secrets dans le processus hôte pour ce tour d’agent (pas dans le sandbox). Gardez les secrets hors des prompts et des journaux.
Format SKILL.md
SKILL.md doit inclure au minimum :
metadata doit être un objet JSON sur une seule ligne. Utilisez {baseDir} dans
les instructions pour référencer le chemin du dossier de la skill.
Clés de frontmatter facultatives
URL affichée comme « Site Web » dans l’interface Skills macOS. Également pris en charge via
metadata.openclaw.homepage.Lorsque
true, la skill est exposée comme commande slash utilisateur.Lorsque
true, OpenClaw exclut les instructions de la skill du prompt normal de
l’agent. La skill reste installée et peut toujours être exécutée explicitement comme
commande slash lorsque user-invocable vaut aussi true.Lorsqu’il est défini sur
tool, la commande slash contourne le modèle et est distribuée directement à un outil.Nom de l’outil à appeler lorsque
command-dispatch: tool est défini.Pour la distribution vers un outil, transmet la chaîne brute des arguments à l’outil (aucune analyse par le cœur). L’outil est appelé avec
{ command: "<raw args>", commandName: "<slash command>", skillName: "<skill name>" }.Conditions (filtres au chargement)
OpenClaw filtre les skills au moment du chargement à l’aide demetadata (JSON sur une seule ligne) :
metadata.openclaw :
Quand la valeur est
true, inclut toujours la Skill (ignore les autres garde-fous).Emoji facultatif utilisé par l’interface utilisateur macOS Skills.
URL facultative affichée sous le libellé « Site web » dans l’interface utilisateur macOS Skills.
Liste facultative de plateformes. Si elle est définie, la Skill n’est éligible que sur ces systèmes d’exploitation.
Chacun doit exister dans
PATH.Au moins un doit exister dans
PATH.La variable d’environnement doit exister ou être fournie dans la configuration.
Liste des chemins
openclaw.json qui doivent avoir une valeur véridique.Nom de variable d’environnement associé à
skills.entries.<name>.apiKey.Spécifications d’installation facultatives utilisées par l’interface utilisateur macOS Skills (brew/node/go/uv/download).
metadata.openclaw n’est présent, la Skill est toujours éligible (sauf si elle est
désactivée dans la configuration ou bloquée par skills.allowBundled pour les Skills groupées).
Les anciens blocs
metadata.clawdbot sont toujours acceptés lorsque
metadata.openclaw est absent, afin que les anciennes Skills installées conservent leurs
garde-fous de dépendances et leurs indications d’installation. Les Skills nouvelles ou mises à jour doivent utiliser
metadata.openclaw.Notes sur le bac à sable
requires.binsest vérifié sur l’hôte au moment du chargement de la Skill.- Si un agent est exécuté dans un bac à sable, le binaire doit aussi exister dans le conteneur. Installez-le via
agents.defaults.sandbox.docker.setupCommand(ou une image personnalisée).setupCommands’exécute une fois après la création du conteneur. Les installations de paquets nécessitent aussi une sortie réseau, un système de fichiers racine accessible en écriture et un utilisateur root dans le bac à sable. - Exemple : la Skill
summarize(skills/summarize/SKILL.md) a besoin de la CLIsummarizedans le conteneur de bac à sable pour s’y exécuter.
Spécifications d’installation
Installer selection rules
Installer selection rules
- Si plusieurs programmes d’installation sont listés, le Gateway choisit une seule option préférée (brew lorsqu’il est disponible, sinon node).
- Si tous les programmes d’installation sont
download, OpenClaw liste chaque entrée afin que vous puissiez voir les artefacts disponibles. - Les spécifications d’installation peuvent inclure
os: ["darwin"|"linux"|"win32"]pour filtrer les options par plateforme. - Les installations Node respectent
skills.install.nodeManagerdansopenclaw.json(valeur par défaut : npm ; options : npm/pnpm/yarn/bun). Cela affecte uniquement les installations de Skills ; le runtime Gateway doit toujours être Node - Bun n’est pas recommandé pour WhatsApp/Telegram. - La sélection du programme d’installation adossée au Gateway suit les préférences : lorsque les spécifications d’installation mélangent les types, OpenClaw préfère Homebrew lorsque
skills.install.preferBrewest activé et quebrewexiste, puisuv, puis le gestionnaire node configuré, puis d’autres solutions de repli commegooudownload. - Si chaque spécification d’installation est
download, OpenClaw expose toutes les options de téléchargement au lieu de les réduire à un seul programme d’installation préféré.
Per-installer details
Per-installer details
- Installations Go : si
goest manquant et quebrewest disponible, le Gateway installe d’abord Go via Homebrew et définitGOBINsur le répertoirebinde Homebrew lorsque c’est possible. - Installations par téléchargement :
url(obligatoire),archive(tar.gz|tar.bz2|zip),extract(valeur par défaut : auto lorsqu’une archive est détectée),stripComponents,targetDir(valeur par défaut :~/.openclaw/tools/<skillKey>).
Remplacements de configuration
Les Skills groupées et gérées peuvent être activées ou désactivées et recevoir des valeurs d’environnement sousskills.entries dans ~/.openclaw/openclaw.json :
false désactive la Skill même si elle est groupée ou installée.
La Skill groupée coding-agent est optionnelle : définissez
skills.entries.coding-agent.enabled: true avant de l’exposer aux agents,
puis assurez-vous que l’un de claude, codex, opencode ou pi est installé et
authentifié pour sa propre CLI.Raccourci pratique pour les Skills qui déclarent
metadata.openclaw.primaryEnv. Prend en charge le texte en clair ou SecretRef.Injecté uniquement si la variable n’est pas déjà définie dans le processus.
Conteneur facultatif pour les champs personnalisés propres à la Skill. Les clés personnalisées doivent s’y trouver.
Liste d’autorisation facultative pour les Skills groupées uniquement. Si elle est définie, seules les Skills groupées de la liste sont éligibles (les Skills gérées/de l’espace de travail ne sont pas affectées).
metadata.openclaw.skillKey, utilisez cette clé sous skills.entries.
Pour la génération/modification d’images stock dans OpenClaw, utilisez l’outil central
image_generate avec agents.defaults.imageGenerationModel au lieu
d’une Skill groupée. Les exemples de Skills ici concernent des workflows personnalisés ou tiers.
Pour l’analyse d’image native, utilisez l’outil image avec
agents.defaults.imageModel. Si vous choisissez openai/*, google/*,
fal/* ou un autre modèle d’image propre à un fournisseur, ajoutez aussi la clé
d’authentification/API de ce fournisseur.Injection d’environnement
Lorsqu’une exécution d’agent démarre, OpenClaw :- Lit les métadonnées de Skill.
- Applique
skills.entries.<key>.envetskills.entries.<key>.apiKeyàprocess.env. - Construit le prompt système avec les Skills éligibles.
- Restaure l’environnement d’origine après la fin de l’exécution.
claude-cli, OpenClaw matérialise aussi le même
instantané éligible sous forme de Plugin Claude Code temporaire et le transmet avec
--plugin-dir. Claude Code peut alors utiliser son résolveur de Skills natif tandis
qu’OpenClaw conserve la maîtrise de la précédence, des listes d’autorisation par agent, des garde-fous et de
l’injection des clés d’environnement/API skills.entries.*. Les autres backends CLI utilisent uniquement le
catalogue de prompts.
Instantanés et actualisation
OpenClaw prend un instantané des Skills éligibles au démarrage d’une session et réutilise cette liste pour les tours suivants de la même session. Les changements apportés aux Skills ou à la configuration prennent effet à la nouvelle session suivante. Les Skills peuvent être actualisées en cours de session dans deux cas :- Le watcher de Skills est activé.
- Un nouveau nœud distant éligible apparaît.
Watcher de Skills
Par défaut, OpenClaw surveille les dossiers de Skills et incrémente l’instantané des Skills lorsque les fichiersSKILL.md changent. Configurez sous skills.load :
allowSymlinkTargets pour les dispositions intentionnelles de dépôts voisins où une racine
de Skill intégrée contient un lien symbolique, par exemple
~/.agents/skills/manager -> ~/Projects/manager/skills. La liste des cibles est
comparée après résolution de realpath et doit rester restreinte.
Nœuds macOS distants (Gateway Linux)
Si le Gateway s’exécute sur Linux mais qu’un nœud macOS est connecté avecsystem.run autorisé (la sécurité des approbations Exec n’étant pas définie sur deny),
OpenClaw peut considérer les Skills réservées à macOS comme éligibles lorsque les binaires
requis sont présents sur ce nœud. L’agent doit exécuter ces Skills
via l’outil exec avec host=node.
Cela repose sur le fait que le nœud signale sa prise en charge des commandes et sur une sonde de binaire
via system.which ou system.run. Les nœuds hors ligne ne rendent pas
les Skills distantes uniquement visibles. Si un nœud connecté cesse de répondre aux
sondes de binaires, OpenClaw efface ses correspondances de binaires mises en cache afin que les agents ne voient plus
les Skills qui ne peuvent pas s’y exécuter actuellement.
Impact en tokens
Lorsque des Skills sont éligibles, OpenClaw injecte une liste XML compacte des Skills disponibles dans le prompt système (viaformatSkillsForPrompt dans
pi-coding-agent). Le coût est déterministe :
- Surcoût de base (uniquement lorsqu’il y a ≥1 Skill) : 195 caractères.
- Par Skill : 97 caractères + la longueur des valeurs
<name>,<description>et<location>échappées en XML.
& < > " ' en entités (&, <, etc.),
ce qui augmente la longueur. Le nombre de tokens varie selon le tokenizer du modèle. Une estimation approximative
de style OpenAI est d’environ 4 caractères/token ; donc 97 caractères ≈ 24 tokens par
Skill, plus les longueurs réelles de vos champs.
Cycle de vie des Skills gérées
OpenClaw fournit un ensemble de base de Skills sous forme de Skills groupées avec l’installation (paquet npm ou OpenClaw.app).~/.openclaw/skills existe pour
les remplacements locaux - par exemple, épingler ou corriger une Skill sans
modifier la copie groupée. Les Skills d’espace de travail appartiennent à l’utilisateur et remplacent
les deux en cas de conflits de noms.
Vous cherchez davantage de Skills ?
Parcourez https://clawhub.ai. Schéma de configuration complet : Configuration des Skills.Connexe
- ClawHub - registre public de Skills
- Créer des Skills - créer des Skills personnalisées
- Plugins - vue d’ensemble du système de Plugins
- Plugin Skill Workshop - générer des Skills à partir du travail d’agent
- Configuration des Skills - référence de configuration des Skills
- Commandes slash - toutes les commandes slash disponibles