Skills (OpenClaw)
OpenClaw verwendet mit AgentSkills kompatible Skill-Ordner, um dem Agenten beizubringen, wie Tools zu verwenden sind. Jeder Skill ist ein Verzeichnis mit einerSKILL.md, die YAML-Frontmatter und Anweisungen enthält. OpenClaw lädt gebündelte Skills plus optionale lokale Überschreibungen und filtert sie beim Laden anhand von Umgebung, Konfiguration und vorhandenen Binaries.
Speicherorte und Priorität
OpenClaw lädt Skills aus diesen Quellen:- Zusätzliche Skill-Ordner: konfiguriert über
skills.load.extraDirs - Gebündelte Skills: werden mit der Installation ausgeliefert (npm-Paket oder OpenClaw.app)
- Verwaltete/lokale Skills:
~/.openclaw/skills - Persönliche Agent-Skills:
~/.agents/skills - Projekt-Agent-Skills:
<workspace>/.agents/skills - Workspace-Skills:
<workspace>/skills
<workspace>/skills (höchste) → <workspace>/.agents/skills → ~/.agents/skills → ~/.openclaw/skills → gebündelte Skills → skills.load.extraDirs (niedrigste)
Skills pro Agent vs. gemeinsam genutzte Skills
In Setups mit mehreren Agenten hat jeder Agent seinen eigenen Workspace. Das bedeutet:- Skills pro Agent befinden sich in
<workspace>/skillsnur für diesen Agenten. - Projekt-Agent-Skills befinden sich in
<workspace>/.agents/skillsund gelten für diesen Workspace vor dem normalen Workspace-Ordnerskills/. - Persönliche Agent-Skills befinden sich in
~/.agents/skillsund gelten über alle Workspaces auf diesem Rechner hinweg. - Gemeinsam genutzte Skills befinden sich in
~/.openclaw/skills(verwaltet/lokal) und sind für alle Agenten auf demselben Rechner sichtbar. - Gemeinsame Ordner können auch über
skills.load.extraDirshinzugefügt werden (niedrigste Priorität), wenn Sie ein gemeinsames Skill-Paket für mehrere Agenten verwenden möchten.
Allowlists für Agent-Skills
Speicherort und Sichtbarkeit von Skills sind separate Steuerungen.- Speicherort/Priorität entscheidet, welche Version eines gleichnamigen Skills gewinnt.
- Allowlists pro Agent entscheiden, welche sichtbaren Skills ein Agent tatsächlich verwenden kann.
agents.defaults.skills für eine gemeinsame Basis und überschreiben Sie dann pro Agent mit
agents.list[].skills:
- Lassen Sie
agents.defaults.skillsweg, wenn Skills standardmäßig nicht eingeschränkt sein sollen. - Lassen Sie
agents.list[].skillsweg, damitagents.defaults.skillsgeerbt wird. - Setzen Sie
agents.list[].skills: []für keine Skills. - Eine nicht leere Liste
agents.list[].skillsist die endgültige Menge für diesen Agenten; sie wird nicht mit den Standards zusammengeführt.
Plugins + Skills
Plugins können ihre eigenen Skills mitliefern, indem sie Verzeichnisseskills in
openclaw.plugin.json auflisten (Pfade relativ zur Plugin-Wurzel). Plugin-Skills werden geladen,
wenn das Plugin aktiviert ist. Diese Verzeichnisse werden derzeit in denselben Pfad mit
niedriger Priorität wie skills.load.extraDirs zusammengeführt, sodass ein gleichnamiger gebündelter,
verwalteter, Agenten- oder Workspace-Skill sie überschreibt.
Sie können sie über metadata.openclaw.requires.config am Konfigurationseintrag des Plugins
gaten. Siehe Plugins für Erkennung/Konfiguration und Tools für die
Tool-Oberfläche, die diese Skills vermitteln.
ClawHub (Installieren + Synchronisieren)
ClawHub ist die öffentliche Skill-Registry für OpenClaw. Stöbern Sie unter https://clawhub.ai. Verwenden Sie native Befehleopenclaw skills,
um Skills zu finden/zu installieren/zu aktualisieren, oder die separate CLI clawhub, wenn
Sie Workflows zum Veröffentlichen/Synchronisieren benötigen.
Vollständiger Leitfaden: ClawHub.
Häufige Abläufe:
- Einen Skill in Ihren Workspace installieren:
openclaw skills install <skill-slug>
- Alle installierten Skills aktualisieren:
openclaw skills update --all
- Synchronisieren (scannen + Updates veröffentlichen):
clawhub sync --all
openclaw skills install installiert in das aktive Workspace-Verzeichnis skills/.
Die separate CLI clawhub installiert ebenfalls in ./skills unter Ihrem aktuellen
Arbeitsverzeichnis (oder greift auf den konfigurierten OpenClaw-Workspace zurück).
OpenClaw übernimmt das in der nächsten Sitzung als <workspace>/skills.
Sicherheitshinweise
- Behandeln Sie Skills von Drittanbietern als nicht vertrauenswürdigen Code. Lesen Sie sie, bevor Sie sie aktivieren.
- Bevorzugen Sie Sandbox-Ausführungen für nicht vertrauenswürdige Eingaben und riskante Tools. Siehe Sandboxing.
- Die Erkennung von Workspace-Skills und Skills in zusätzlichen Verzeichnissen akzeptiert nur Skill-Wurzeln und
SKILL.md-Dateien, deren aufgelöster realpath innerhalb der konfigurierten Wurzel bleibt. - Gateway-gestützte Installationen von Skill-Abhängigkeiten (
skills.install, Onboarding und die Skills-Einstellungsoberfläche) führen den integrierten Scanner für gefährlichen Code aus, bevor Installationsmetadaten ausgeführt werden. Ergebnisse vom Typcriticalblockieren standardmäßig, sofern der Aufrufer nicht ausdrücklich die gefährliche Überschreibung setzt; verdächtige Ergebnisse führen weiterhin nur zu Warnungen. openclaw skills install <slug>ist etwas anderes: Es lädt einen ClawHub-Skill-Ordner in den Workspace herunter und verwendet nicht den oben genannten Pfad für Installationsmetadaten.skills.entries.*.envundskills.entries.*.apiKeyinjizieren Secrets in den Host-Prozess für diesen Agenten-Turn (nicht in die Sandbox). Halten Sie Secrets aus Prompts und Logs heraus.- Für ein umfassenderes Bedrohungsmodell und Checklisten siehe Security.
Format (AgentSkills + Pi-kompatibel)
SKILL.md muss mindestens Folgendes enthalten:
- Wir folgen der AgentSkills-Spezifikation für Layout/Intention.
- Der Parser, der vom eingebetteten Agenten verwendet wird, unterstützt nur Frontmatter-Schlüssel in einer einzigen Zeile.
metadatasollte ein einzeiliges JSON-Objekt sein.- Verwenden Sie
{baseDir}in Anweisungen, um auf den Pfad des Skill-Ordners zu verweisen. - Optionale Frontmatter-Schlüssel:
-
homepage— URL, die in der macOS-Skills-Oberfläche als „Website“ angezeigt wird (auch unterstützt übermetadata.openclaw.homepage). -
user-invocable—true|false(Standard:true). Wenntrue, wird der Skill als Benutzerslash-Befehl bereitgestellt. -
disable-model-invocation—true|false(Standard:false). Wenntrue, wird der Skill aus dem Modell-Prompt ausgeschlossen (über Benutzeraufruf aber weiterhin verfügbar). -
command-dispatch—tool(optional). Wenn auftoolgesetzt, umgeht der Slash-Befehl das Modell und dispatcht direkt an ein Tool. -
command-tool— Name des Tools, das aufgerufen werden soll, wenncommand-dispatch: toolgesetzt ist. -
command-arg-mode—raw(Standard). Für Tool-Dispatch wird die rohe Argumentzeichenfolge an das Tool weitergeleitet (keine Core-Analyse). Das Tool wird mit folgenden Parametern aufgerufen:{ command: "<raw args>", commandName: "<slash command>", skillName: "<skill name>" }.
-
Gating (Filter beim Laden)
OpenClaw filtert Skills beim Laden anhand vonmetadata (einzeiliges JSON):
metadata.openclaw:
always: true— Skill immer einschließen (andere Gates überspringen).emoji— optionales Emoji, das von der macOS-Skills-Oberfläche verwendet wird.homepage— optionale URL, die in der macOS-Skills-Oberfläche als „Website“ angezeigt wird.os— optionale Liste von Plattformen (darwin,linux,win32). Wenn gesetzt, ist der Skill nur auf diesen Betriebssystemen zulässig.requires.bins— Liste; jedes Element muss aufPATHexistieren.requires.anyBins— Liste; mindestens eines muss aufPATHexistieren.requires.env— Liste; Umgebungsvariable muss existieren oder in der Konfiguration bereitgestellt werden.requires.config— Liste von Pfaden inopenclaw.json, die truthy sein müssen.primaryEnv— Name der Umgebungsvariable, die mitskills.entries.<name>.apiKeyverknüpft ist.install— optionales Array von Installer-Spezifikationen, die von der macOS-Skills-Oberfläche verwendet werden (brew/node/go/uv/download).
requires.binswird beim Laden des Skills auf dem Host geprüft.- Wenn ein Agent sandboxed ist, muss das Binary auch innerhalb des Containers existieren.
Installieren Sie es über
agents.defaults.sandbox.docker.setupCommand(oder ein benutzerdefiniertes Image).setupCommandläuft einmal nach dem Erstellen des Containers. Paketinstallationen erfordern außerdem Netzwerk-Egress, ein beschreibbares Root-FS und einen Root-Benutzer in der Sandbox. Beispiel: Der Skillsummarize(skills/summarize/SKILL.md) benötigt die CLIsummarizeim Sandbox-Container, um dort zu laufen.
- Wenn mehrere Installer aufgeführt sind, wählt das Gateway eine einzige bevorzugte Option (brew, wenn verfügbar, sonst node).
- Wenn alle Installer
downloadsind, listet OpenClaw jeden Eintrag auf, damit Sie die verfügbaren Artefakte sehen können. - Installer-Spezifikationen können
os: ["darwin"|"linux"|"win32"]enthalten, um Optionen nach Plattform zu filtern. - Node-Installationen beachten
skills.install.nodeManagerinopenclaw.json(Standard: npm; Optionen: npm/pnpm/yarn/bun). Dies betrifft nur Skill-Installationen; die Gateway-Runtime sollte weiterhin Node sein (Bun wird für WhatsApp/Telegram nicht empfohlen). - Die Auswahl von Gateway-gestützten Installern ist präferenzgesteuert, nicht nur node-basiert:
Wenn Install-Spezifikationen unterschiedliche Arten mischen, bevorzugt OpenClaw Homebrew, wenn
skills.install.preferBrewaktiviert ist undbrewexistiert, dannuv, dann den konfigurierten Node-Manager und anschließend andere Fallbacks wiegooderdownload. - Wenn jede Install-Spezifikation
downloadist, zeigt OpenClaw alle Download-Optionen an, statt sie auf einen bevorzugten Installer zu reduzieren. - Go-Installationen: Wenn
gofehlt undbrewverfügbar ist, installiert das Gateway Go zuerst über Homebrew und setztGOBINnach Möglichkeit aufbinvon Homebrew. - Download-Installationen:
url(erforderlich),archive(tar.gz|tar.bz2|zip),extract(Standard: automatisch, wenn ein Archiv erkannt wird),stripComponents,targetDir(Standard:~/.openclaw/tools/<skillKey>).
metadata.openclaw vorhanden ist, ist der Skill immer zulässig (es sei denn,
er ist in der Konfiguration deaktiviert oder wird bei gebündelten Skills durch skills.allowBundled blockiert).
Konfigurationsüberschreibungen (~/.openclaw/openclaw.json)
Gebündelte/verwaltete Skills können ein- oder ausgeschaltet und mit Umgebungswerten versorgt werden:
image_generate mit agents.defaults.imageGenerationModel statt eines
gebündelten Skills. Die Skill-Beispiele hier sind für benutzerdefinierte oder Drittanbieter-Workflows.
Für native Bildanalyse verwenden Sie das Tool image mit agents.defaults.imageModel.
Für native Bildgenerierung/-bearbeitung verwenden Sie image_generate mit
agents.defaults.imageGenerationModel. Wenn Sie openai/*, google/*,
fal/* oder ein anderes providerspezifisches Bildmodell wählen, fügen Sie auch die Authentifizierung/den API-Schlüssel dieses Providers hinzu.
Konfigurationsschlüssel entsprechen standardmäßig dem Skill-Namen. Wenn ein Skill
metadata.openclaw.skillKey definiert, verwenden Sie diesen Schlüssel unter skills.entries.
Regeln:
enabled: falsedeaktiviert den Skill, auch wenn er gebündelt/installiert ist.env: wird nur dann injiziert, wenn die Variable im Prozess noch nicht gesetzt ist.apiKey: Komfortfunktion für Skills, diemetadata.openclaw.primaryEnvdeklarieren. Unterstützt eine Klartextzeichenfolge oder ein SecretRef-Objekt ({ source, provider, id }).config: optionale Sammlung für benutzerdefinierte Felder pro Skill; benutzerdefinierte Schlüssel müssen hier liegen.allowBundled: optionale Allowlist nur für gebündelte Skills. Wenn gesetzt, sind nur gebündelte Skills in der Liste zulässig (verwaltete/Workspace-Skills bleiben unberührt).
Umgebungsinjektion (pro Agenten-Ausführung)
Wenn eine Agenten-Ausführung startet, führt OpenClaw Folgendes aus:- Liest Skill-Metadaten.
- Wendet
skills.entries.<key>.envoderskills.entries.<key>.apiKeyaufprocess.envan. - Baut den System-Prompt mit zulässigen Skills auf.
- Stellt die ursprüngliche Umgebung nach Ende der Ausführung wieder her.
claude-cli materialisiert OpenClaw außerdem denselben
zulässigen Snapshot als temporäres Claude-Code-Plugin und übergibt ihn mit
--plugin-dir. Claude Code kann dann seinen nativen Skill-Resolver verwenden, während
OpenClaw weiterhin Priorität, Allowlists pro Agent, Gating und die Injektion von
Umgebungsvariablen/API-Schlüsseln über skills.entries.* steuert. Andere CLI-Backends verwenden nur den Prompt-Katalog.
Sitzungs-Snapshot (Leistung)
OpenClaw erstellt beim Start einer Sitzung einen Snapshot der zulässigen Skills und verwendet diese Liste für nachfolgende Turns in derselben Sitzung erneut. Änderungen an Skills oder der Konfiguration werden in der nächsten neuen Sitzung wirksam. Skills können auch mitten in einer Sitzung aktualisiert werden, wenn der Skills-Watcher aktiviert ist oder wenn ein neuer zulässiger entfernter Node erscheint (siehe unten). Betrachten Sie das als Hot Reload: Die aktualisierte Liste wird beim nächsten Agenten-Turn übernommen. Wenn sich die effektive Allowlist der Agent-Skills für diese Sitzung ändert, aktualisiert OpenClaw den Snapshot, damit die sichtbaren Skills mit dem aktuellen Agenten übereinstimmen.Entfernte macOS-Nodes (Linux-Gateway)
Wenn das Gateway unter Linux läuft, aber ein macOS-Node verbunden ist mit erlaubtemsystem.run (Exec-Approvals-Sicherheit nicht auf deny gesetzt), kann OpenClaw Skills nur für macOS als zulässig behandeln, wenn die erforderlichen Binaries auf diesem Node vorhanden sind. Der Agent sollte diese Skills über das Tool exec mit host=node ausführen.
Dies setzt voraus, dass der Node seine Befehlsunterstützung meldet und dass eine Binärprüfung über system.run erfolgt. Wenn der macOS-Node später offline geht, bleiben die Skills sichtbar; Aufrufe können fehlschlagen, bis der Node wieder verbunden ist.
Skills-Watcher (automatisches Aktualisieren)
Standardmäßig beobachtet OpenClaw Skill-Ordner und erhöht den Snapshot der Skills, wenn sichSKILL.md-Dateien ändern. Konfigurieren Sie dies unter skills.load:
Token-Auswirkung (Skills-Liste)
Wenn Skills zulässig sind, injiziert OpenClaw eine kompakte XML-Liste der verfügbaren Skills in den System-Prompt (überformatSkillsForPrompt in pi-coding-agent). Die Kosten sind deterministisch:
- Basis-Overhead (nur wenn ≥1 Skill): 195 Zeichen.
- Pro Skill: 97 Zeichen + die Länge der XML-escaped Werte von
<name>,<description>und<location>.
- XML-Escaping erweitert
& < > " 'zu Entities (&,<usw.), wodurch die Länge zunimmt. - Tokenzahlen variieren je nach Modell-Tokenizer. Eine grobe Schätzung im OpenAI-Stil ist ~4 Zeichen/Token, also 97 Zeichen ≈ 24 Token pro Skill plus die tatsächlichen Längen Ihrer Felder.
Lebenszyklus verwalteter Skills
OpenClaw liefert einen Basissatz von Skills als gebündelte Skills als Teil der Installation aus (npm-Paket oder OpenClaw.app).~/.openclaw/skills ist für lokale
Überschreibungen gedacht (z. B. zum Pinnen/Patchen eines Skills, ohne die gebündelte
Kopie zu ändern). Workspace-Skills gehören dem Benutzer und überschreiben beide bei Namenskonflikten.
Konfigurationsreferenz
Siehe Skills-Konfiguration für das vollständige Konfigurationsschema.Suchen Sie nach weiteren Skills?
Stöbern Sie unter https://clawhub.ai.Verwandt
- Skills erstellen — benutzerdefinierte Skills erstellen
- Skills-Konfiguration — Referenz zur Skill-Konfiguration
- Slash-Befehle — alle verfügbaren Slash-Befehle
- Plugins — Überblick über das Plugin-System