Skills (OpenClaw)
OpenClaw verwendet mit AgentSkills kompatible Skill-Ordner, um dem Agenten beizubringen, wie Tools verwendet werden. Jeder Skill ist ein Verzeichnis mit einerSKILL.md, die YAML-Frontmatter und Anweisungen enthält. OpenClaw lädt gebündelte Skills sowie optionale lokale Overrides und filtert sie zur Ladezeit anhand von Umgebung, Konfiguration und vorhandenen Binärdateien.
Speicherorte und Priorität
OpenClaw lädt Skills aus diesen Quellen:- Zusätzliche Skill-Ordner: konfiguriert mit
skills.load.extraDirs - Gebündelte Skills: 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. gemeinsame Skills
In Multi-Agent-Setups hat jeder Agent seinen eigenen Workspace. Das bedeutet:- Skills pro Agent liegen in
<workspace>/skillsund gelten nur für diesen Agenten. - Projekt-Agent-Skills liegen in
<workspace>/.agents/skillsund gelten für diesen Workspace vor dem normalen Ordnerskills/des Workspace. - Persönliche Agent-Skills liegen in
~/.agents/skillsund gelten workspaceübergreifend auf diesem Rechner. - Gemeinsame Skills liegen 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 Skills-Paket für mehrere Agenten verwenden möchten.
Skill-Allowlists pro Agent
Speicherort eines Skills und Sichtbarkeit eines Skills sind separate Steuerungen.- Speicherort/Priorität entscheidet, welche Kopie eines gleichnamigen Skills gewinnt.
- Agent-Allowlists 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:
agents.defaults.skillsweglassen für standardmäßig uneingeschränkte Skills.agents.list[].skillsweglassen, umagents.defaults.skillszu erben.agents.list[].skills: []setzen für keine Skills.- Eine nicht leere Liste in
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-Root). Plugin-Skills werden geladen,
wenn das Plugin aktiviert ist. Heute werden diese Verzeichnisse in denselben
Pfad mit niedriger Priorität wie skills.load.extraDirs zusammengeführt, sodass ein gleichnamiger gebündelter,
verwalteter, Agent- oder Workspace-Skill sie überschreibt.
Sie können sie über metadata.openclaw.requires.config am Konfigurationseintrag des Plugins
steuern. Siehe Plugins für Erkennung/Konfiguration und Tools für die
Tool-Oberfläche, die diese Skills vermitteln.
ClawHub (Installation + Synchronisierung)
ClawHub ist das öffentliche Skills-Register für OpenClaw. Durchsuchen Sie es unter https://clawhub.ai. Verwenden Sie die nativen Befehleopenclaw skills,
um Skills zu entdecken/zu installieren/zu aktualisieren, oder die separate clawhub-CLI, wenn
Sie Workflows zum Veröffentlichen/Synchronisieren benötigen.
Vollständige Anleitung: ClawHub.
Gängige 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 nativ in das aktive Verzeichnis skills/
des Workspace. Die separate clawhub-CLI installiert ebenfalls in ./skills unter Ihrem
aktuellen Arbeitsverzeichnis (oder greift auf den konfigurierten OpenClaw-Workspace zurück).
OpenClaw übernimmt dies in der nächsten Sitzung als <workspace>/skills.
Sicherheitshinweise
- Behandeln Sie Skills von Drittanbietern als nicht vertrauenswürdigen Code. Lesen Sie sie vor dem Aktivieren.
- Bevorzugen Sie sandboxed Ausführungen für nicht vertrauenswürdige Eingaben und riskante Tools. Siehe Sandboxing.
- Die Erkennung von Workspace-Skills und Skills aus zusätzlichen Verzeichnissen akzeptiert nur Skill-Roots und
SKILL.md-Dateien, deren aufgelösterrealpathinnerhalb der konfigurierten Root bleibt. - Gateway-gestützte Installationen von Skill-Abhängigkeiten (
skills.install, Onboarding und die UI für Skills-Einstellungen) führen den integrierten Scanner für gefährlichen Code aus, bevor Installer-Metadaten ausgeführt werden. Befunde mitcriticalblockieren standardmäßig, es sei denn, der Aufrufer setzt explizit den Override für gefährlichen Code; verdächtige Befunde 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 beschriebenen Pfad mit Installer-Metadaten.skills.entries.*.envundskills.entries.*.apiKeyinjizieren Secrets in den Host-Prozess für diesen Agent-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/Absicht.
- Der Parser, der vom eingebetteten Agenten verwendet wird, unterstützt nur einzeilige Frontmatter-Schlüssel.
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-UI für Skills als „Website“ angezeigt wird (auch unterstützt übermetadata.openclaw.homepage). -
user-invocable—true|false(Standard:true). Wenntrue, wird der Skill als Slash-Command für Benutzer bereitgestellt. -
disable-model-invocation—true|false(Standard:false). Wenntrue, wird der Skill aus dem Model-Prompt ausgeschlossen (weiterhin über Benutzeraufruf verfügbar). -
command-dispatch—tool(optional). Wenn auftoolgesetzt, umgeht der Slash-Command das Model und leitet direkt an ein Tool weiter. -
command-tool— Name des Tools, das aufgerufen werden soll, wenncommand-dispatch: toolgesetzt ist. -
command-arg-mode—raw(Standard). Bei Tool-Dispatch wird die rohe Argumentzeichenfolge an das Tool weitergeleitet (kein Core-Parsing). Das Tool wird mit folgenden Parametern aufgerufen:{ command: "<raw args>", commandName: "<slash command>", skillName: "<skill name>" }.
-
Gating (Filter zur Ladezeit)
OpenClaw filtert Skills zur Ladezeit mitmetadata (einzeiliges JSON):
metadata.openclaw:
always: true— Skill immer einschließen (andere Gates überspringen).emoji— optionales Emoji, das von der macOS-UI für Skills verwendet wird.homepage— optionale URL, die in der macOS-UI für Skills 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; jede Binärdatei muss aufPATHexistieren.requires.anyBins— Liste; mindestens eine muss aufPATHexistieren.requires.env— Liste; Umgebungsvariable muss existieren oder in der Konfiguration bereitgestellt werden.requires.config— Liste vonopenclaw.json-Pfaden, die truthy sein müssen.primaryEnv— Name der Umgebungsvariable, dieskills.entries.<name>.apiKeyzugeordnet ist.install— optionales Array von Installer-Spezifikationen, das von der macOS-UI für Skills verwendet wird (brew/node/go/uv/download).
requires.binswird zur Ladezeit des Skills auf dem Host geprüft.- Wenn ein Agent sandboxed ist, muss die Binärdatei auch im Container vorhanden sein.
Installieren Sie sie über
agents.defaults.sandbox.docker.setupCommand(oder ein benutzerdefiniertes Image).setupCommandwird einmal ausgeführt, nachdem der Container erstellt wurde. Paketinstallationen erfordern außerdem Netzwerk-Egress, ein beschreibbares Root-Dateisystem und einen Root-Benutzer in der Sandbox. Beispiel: Der Skillsummarize(skills/summarize/SKILL.md) benötigt die CLIsummarizeim Sandbox-Container, um dort ausgeführt zu werden.
- Wenn mehrere Installer aufgelistet sind, wählt das Gateway eine einzige bevorzugte Option aus (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 respektieren
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 Gateway-gestützter Installer ist präferenzgesteuert, nicht nur node-basiert:
Wenn Installationsspezifikationen verschiedene Arten mischen, bevorzugt OpenClaw Homebrew, wenn
skills.install.preferBrewaktiviert ist undbrewexistiert, dannuv, dann den konfigurierten Node-Manager und dann andere Fallbacks wiegooderdownload. - Wenn jede Installationsspezifikation
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 auf dasbin-Verzeichnis von 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 durch skills.allowBundled für gebündelte Skills blockiert).
Konfigurations-Overrides (~/.openclaw/openclaw.json)
Gebündelte/verwaltete Skills können umgeschaltet und mit Env-Werten versorgt werden:
image_generate mit agents.defaults.imageGenerationModel statt eines
gebündelten Skills. 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 Bild-Model wählen, fügen Sie außerdem die Authentifizierung/den API-
Key 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 nicht bereits im Prozess gesetzt ist.apiKey: Komfortfunktion für Skills, diemetadata.openclaw.primaryEnvdeklarieren. Unterstützt Klartext-String oder SecretRef-Objekt ({ source, provider, id }).config: optionaler Container 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).
Environment-Injektion (pro Agent-Ausführung)
Wenn eine Agent-Ausführung startet, führt OpenClaw Folgendes aus:- Skill-Metadaten lesen.
skills.entries.<key>.envoderskills.entries.<key>.apiKeyaufprocess.envanwenden.- Den System-Prompt mit zulässigen Skills erstellen.
- Die ursprüngliche Umgebung nach Ende der Ausführung wiederherstellen.
Sitzungs-Snapshot (Leistung)
OpenClaw erstellt einen Snapshot der zulässigen Skills beim Start einer Sitzung und verwendet diese Liste für nachfolgende Turns in derselben Sitzung wieder. Änderungen an Skills oder Konfiguration werden mit der nächsten neuen Sitzung wirksam. Skills können sich auch mitten in einer Sitzung aktualisieren, wenn der Skills-Watcher aktiviert ist oder wenn ein neuer zulässiger Remote-Node erscheint (siehe unten). Betrachten Sie dies als Hot Reload: Die aktualisierte Liste wird beim nächsten Agent-Turn übernommen. Wenn sich die effektive Skill-Allowlist des Agenten für diese Sitzung ändert, aktualisiert OpenClaw den Snapshot, sodass die sichtbaren Skills mit dem aktuellen Agenten übereinstimmen.Remote-macOS-Nodes (Linux-Gateway)
Wenn das Gateway auf Linux läuft, aber ein macOS-Node verbunden ist undsystem.run erlaubt ist (Exec-Approvals-Sicherheit nicht auf deny gesetzt), kann OpenClaw macOS-exklusive Skills als zulässig behandeln, wenn die erforderlichen Binärdateien 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ärdatei-Prüfung über system.run erfolgt. Wenn der macOS-Node später offline geht, bleiben die Skills sichtbar; Aufrufe können fehlschlagen, bis der Node sich erneut verbindet.
Skills-Watcher (automatische Aktualisierung)
Standardmäßig überwacht OpenClaw Skill-Ordner und erhöht den Skills-Snapshot, 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 verfügbarer 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.) und erhöht dadurch die Länge. - Die Token-Zahl variiert je nach Tokenizer des Models. Eine grobe Schätzung im OpenAI-Stil ist ~4 Zeichen/Token, daher entsprechen 97 Zeichen ≈ 24 Tokens pro Skill zuzüglich Ihrer tatsächlichen Feldlängen.
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
Overrides gedacht (zum Beispiel, um einen Skill zu pinnen/zu patchen, 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?
Durchsuchen Sie https://clawhub.ai.Verwandt
- Skills erstellen — benutzerdefinierte Skills erstellen
- Skills-Konfiguration — Referenz zur Skill-Konfiguration
- Slash Commands — alle verfügbaren Slash-Commands
- Plugins — Überblick über das Plugin-System