Skills
Skills
OpenClaw verwendet AgentSkills-kompatible Skill-Ordner, um dem Agenten beizubringen, wie er Tools verwendet. Jeder Skill ist ein Verzeichnis, das eine SKILL.md mit YAML-Frontmatter und Anweisungen enthält. OpenClaw lädt gebündelte Skills sowie optionale lokale Overrides und filtert sie zur Ladezeit basierend auf Umgebung, Konfiguration und vorhandenen Binärdateien.
Speicherorte und Priorität
OpenClaw lädt Skills aus diesen Quellen, höchste Priorität zuerst:
| # | Quelle | Pfad |
|---|---|---|
| 1 | Workspace-Skills | <workspace>/skills |
| 2 | Projekt-Agent-Skills | <workspace>/.agents/skills |
| 3 | Persönliche Agent-Skills | ~/.agents/skills |
| 4 | Verwaltete/lokale Skills | ~/.openclaw/skills |
| 5 | Gebündelte Skills | mit der Installation ausgeliefert |
| 6 | Zusätzliche Skill-Ordner | skills.load.extraDirs (Konfiguration) |
Wenn ein Skill-Name kollidiert, gewinnt die Quelle mit der höchsten Priorität.
Das native Verzeichnis $CODEX_HOME/skills der Codex CLI gehört nicht zu diesen OpenClaw-Skill-Roots. Im Codex-Harness-Modus verwenden lokale App-Server-Starts isolierte Codex-Homes pro Agent, sodass persönliche Codex-CLI-Skills nicht implizit geladen werden. Verwenden Sie openclaw migrate codex --dry-run, um sie zu inventarisieren, und openclaw migrate codex, um Skill-Verzeichnisse per interaktiver Checkbox-Abfrage auszuwählen, bevor sie in den aktuellen OpenClaw-Agent-Workspace kopiert werden. Für nicht interaktive Läufe wiederholen Sie --skill <name> für die exakten Skills, die kopiert werden sollen.
Agent-spezifische und gemeinsam genutzte Skills
In Multi-Agent-Setups hat jeder Agent seinen eigenen Workspace:
| Geltungsbereich | Pfad | Sichtbar für |
|---|---|---|
| Pro Agent | <workspace>/skills |
Nur diesen Agent |
| Projekt-Agent | <workspace>/.agents/skills |
Nur den Agent dieses Workspace |
| Persönlicher Agent | ~/.agents/skills |
Alle Agenten auf dieser Maschine |
| Gemeinsam verwaltet/lokal | ~/.openclaw/skills |
Alle Agenten auf dieser Maschine |
| Gemeinsame zusätzliche Verzeichnisse | skills.load.extraDirs (niedrigste Priorität) |
Alle Agenten auf dieser Maschine |
Gleicher Name an mehreren Orten → höchste Quelle gewinnt. Workspace schlägt Projekt-Agent, schlägt persönlichen Agent, schlägt verwaltet/lokal, schlägt gebündelt, schlägt zusätzliche Verzeichnisse.
Agent-Skill-Allowlists
Skill-Speicherort und Skill-Sichtbarkeit sind getrennte Steuerungen. Speicherort/Priorität entscheidet, welche Kopie eines gleichnamigen Skills gewinnt; Agent-Allowlists entscheiden, welche Skills ein Agent tatsächlich verwenden kann.
{
agents: {
defaults: {
skills: ["github", "weather"],
},
list: [
{ id: "writer" }, // inherits github, weather
{ id: "docs", skills: ["docs-search"] }, // replaces defaults
{ id: "locked-down", skills: [] }, // no skills
],
},
}
Allowlist-Regeln
- Lassen Sie
agents.defaults.skillsweg, damit Skills standardmäßig uneingeschränkt sind. - Lassen Sie
agents.list[].skillsweg, umagents.defaults.skillszu erben. - Setzen Sie
agents.list[].skills: [], um keine Skills zu erlauben. - Eine nicht leere Liste
agents.list[].skillsist die endgültige Menge für diesen Agenten - sie wird nicht mit Defaults zusammengeführt. - Die effektive Allowlist gilt für Prompt-Erstellung, Skill-Slash-Command-Erkennung, Sandbox-Synchronisierung und Skill-Snapshots.
Plugins und Skills
Plugins können eigene Skills ausliefern, indem sie skills-Verzeichnisse in openclaw.plugin.json auflisten (Pfade relativ zum Plugin-Root). Plugin-Skills werden geladen, wenn das Plugin aktiviert ist. Dies ist der richtige Ort für toolspezifische Betriebsanleitungen, die für die Tool-Beschreibung zu lang sind, aber verfügbar sein sollen, sobald das Plugin installiert ist - zum Beispiel liefert das Browser-Plugin einen browser-automation-Skill für mehrstufige Browser-Steuerung aus.
Plugin-Skill-Verzeichnisse werden 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 im Konfigurationseintrag des Plugins sperren oder freigeben.
Siehe Plugins für Erkennung/Konfiguration und Tools für die Tool-Oberfläche, die diese Skills vermitteln.
Skill Workshop
Das optionale, experimentelle Skill Workshop-Plugin kann Workspace-Skills aus wiederverwendbaren Abläufen erstellen oder aktualisieren, die während der Agent-Arbeit beobachtet wurden. Es ist standardmäßig deaktiviert und muss explizit über plugins.entries.skill-workshop aktiviert werden.
Skill Workshop schreibt nur nach <workspace>/skills, scannt generierte Inhalte, unterstützt ausstehende Genehmigung oder automatische sichere Schreibvorgänge, isoliert unsichere Vorschläge und aktualisiert den Skill-Snapshot nach erfolgreichen Schreibvorgängen, damit neue Skills ohne Gateway-Neustart verfügbar werden.
Verwenden Sie es für Korrekturen wie „nächstes Mal GIF-Attribution prüfen“ oder erarbeitete Workflows wie Medien-QA-Checklisten. Beginnen Sie mit ausstehender Genehmigung; verwenden Sie automatische Schreibvorgänge nur in vertrauenswürdigen Workspaces, nachdem Sie die Vorschläge geprüft haben. Vollständige Anleitung: Skill Workshop-Plugin.
ClawHub (Installation und Synchronisierung)
ClawHub ist die öffentliche Skills-Registry für OpenClaw. Verwenden Sie native openclaw skills-Befehle zum Entdecken/Installieren/Aktualisieren oder die separate clawhub CLI für Veröffentlichungs-/Synchronisierungs-Workflows. Vollständige Anleitung: ClawHub.
| Aktion | Befehl |
|---|---|
| Einen Skill im Workspace installieren | openclaw skills install <skill-slug> |
| Alle installierten Skills aktualisieren | openclaw skills update --all |
| Synchronisieren (scannen + Updates veröffentlichen) | clawhub sync --all |
Das native openclaw skills install installiert in das skills/-Verzeichnis des aktiven Workspace. Die separate clawhub CLI installiert ebenfalls nach ./skills unter Ihrem aktuellen Arbeitsverzeichnis (oder fällt auf den konfigurierten OpenClaw-Workspace zurück). OpenClaw übernimmt dies in der nächsten Sitzung als <workspace>/skills.
Konfigurierte Skill-Roots unterstützen außerdem eine Gruppierungsebene, etwa skills/<group>/<skill>/SKILL.md, sodass zusammengehörige Drittanbieter-Skills unter einem gemeinsamen Ordner gehalten werden können, ohne breit rekursiv zu scannen.
ClawHub-Skill-Seiten zeigen vor der Installation den neuesten Sicherheits-Scan-Status an, mit Scanner-Detailseiten für VirusTotal, ClawScan und statische Analyse. openclaw skills install <slug> bleibt ausschließlich der Installationspfad; Publisher beheben False Positives über das ClawHub-Dashboard oder clawhub skill rescan <slug>.
Sicherheit
- Die Erkennung von Workspace- und Extra-Dir-Skills akzeptiert nur Skill-Roots und
SKILL.md-Dateien, deren aufgelöster Realpath innerhalb des konfigurierten Root bleibt. - Gateway-gestützte Installationen von Skill-Abhängigkeiten (
skills.install, Onboarding und die Skills-Einstellungen-UI) führen den eingebauten Dangerous-Code-Scanner aus, bevor Installer-Metadaten ausgeführt werden.critical-Funde blockieren standardmäßig, sofern der Aufrufer nicht explizit den Dangerous-Override setzt; verdächtige Funde warnen weiterhin nur. openclaw skills install <slug>ist anders - es lädt einen ClawHub-Skill-Ordner in den Workspace herunter und verwendet nicht den oben beschriebenen Installer-Metadatenpfad.skills.entries.*.envundskills.entries.*.apiKeyinjizieren Geheimnisse für diesen Agent-Turn in den Host-Prozess (nicht in die Sandbox). Halten Sie Geheimnisse aus Prompts und Logs heraus.
Für ein breiteres Bedrohungsmodell und Checklisten siehe Sicherheit.
SKILL.md-Format
SKILL.md muss mindestens Folgendes enthalten:
---
name: image-lab
description: Generate or edit images via a provider-backed image workflow
---
OpenClaw folgt der AgentSkills-Spezifikation für Layout/Intent. Der vom eingebetteten Agenten verwendete Parser unterstützt nur einzeilige Frontmatter-Schlüssel; metadata sollte ein einzeiliges JSON-Objekt sein. Verwenden Sie {baseDir} in Anweisungen, um auf den Pfad des Skill-Ordners zu verweisen.
Optionale Frontmatter-Schlüssel
homepagestringURL, die in der macOS-Skills-UI als „Website“ angezeigt wird. Wird auch über metadata.openclaw.homepage unterstützt.
user-invocablebooleanWenn true, wird der Skill als Benutzer-Slash-Command verfügbar gemacht.
disable-model-invocationbooleanWenn true, hält OpenClaw die Anweisungen des Skills aus dem normalen Prompt des Agenten heraus. Der Skill bleibt installiert und kann weiterhin explizit als Slash-Command ausgeführt werden, wenn user-invocable ebenfalls true ist.
command-dispatch"tool"Wenn auf tool gesetzt, umgeht der Slash-Command das Modell und dispatcht direkt an ein Tool.
command-toolstringTool-Name, der aufgerufen wird, wenn command-dispatch: tool gesetzt ist.
command-arg-mode"raw"Für Tool-Dispatch wird der rohe Argument-String an das Tool weitergeleitet (kein Core-Parsing). Das Tool wird mit { command: "<raw args>", commandName: "<slash command>", skillName: "<skill name>" } aufgerufen.
Gating (Ladezeitfilter)
OpenClaw filtert Skills zur Ladezeit mithilfe von metadata (einzeiliges JSON):
---
name: image-lab
description: Generate or edit images via a provider-backed image workflow
metadata:
{
"openclaw":
{
"requires": { "bins": ["uv"], "env": ["GEMINI_API_KEY"], "config": ["browser.enabled"] },
"primaryEnv": "GEMINI_API_KEY",
},
}
---
Felder unter metadata.openclaw:
alwaysbooleanWenn true, den Skill immer einschließen (andere Gates überspringen).
emojistringOptionales Emoji, das von der macOS-Skills-UI verwendet wird.
homepagestringOptionale URL, die in der macOS-Skills-UI als „Website“ angezeigt wird.
os"darwin" | "linux" | "win32"Optionale Liste von Plattformen. Wenn gesetzt, ist der Skill nur auf diesen Betriebssystemen zulässig.
requires.binsstring[]Jeder Eintrag muss auf PATH vorhanden sein.
requires.anyBinsstring[]Mindestens einer muss auf PATH vorhanden sein.
requires.envstring[]Die Umgebungsvariable muss existieren oder in der Konfiguration bereitgestellt werden.
requires.configstring[]Liste von openclaw.json-Pfaden, die truthy sein müssen.
primaryEnvstringName der Umgebungsvariable, die mit skills.entries.<name>.apiKey verknüpft ist.
installobject[]Optionale Installer-Spezifikationen, die von der macOS-Skills-UI verwendet werden (brew/node/go/uv/download).
Wenn kein metadata.openclaw vorhanden ist, ist der Skill immer zulässig (sofern er nicht in der Konfiguration deaktiviert oder für gebündelte Skills durch skills.allowBundled blockiert wird).
Sandboxing-Hinweise
requires.binswird zur Skill-Ladezeit auf dem Host geprüft.- Wenn ein Agent in einer Sandbox ausgeführt wird, muss die Binärdatei auch innerhalb des Containers existieren. 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 ausgehenden Netzwerkzugriff, ein beschreibbares Root-Dateisystem und einen Root-Benutzer in der Sandbox. - Beispiel: Der
summarize-Skill (skills/summarize/SKILL.md) benötigt diesummarizeCLI im Sandbox-Container, um dort ausgeführt zu werden.
Installer-Spezifikationen
---
name: gemini
description: Use Gemini CLI for coding assistance and Google search lookups.
metadata:
{
"openclaw":
{
"emoji": "♊️",
"requires": { "bins": ["gemini"] },
"install":
[
{
"id": "brew",
"kind": "brew",
"formula": "gemini-cli",
"bins": ["gemini"],
"label": "Install Gemini CLI (brew)",
},
],
},
}
---
Auswahlregeln für Installer
- Wenn mehrere Installer aufgeführt sind, wählt das Gateway eine einzelne bevorzugte Option aus (brew, wenn verfügbar, andernfalls 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 berücksichtigen
skills.install.nodeManagerinopenclaw.json(Standard: npm; Optionen: npm/pnpm/yarn/bun). Dies betrifft nur Skill-Installationen; die Gateway-Laufzeit sollte weiterhin Node sein - Bun wird für WhatsApp/Telegram nicht empfohlen. - Gateway-gestützte Installer-Auswahl ist präferenzgesteuert: Wenn Installationsspezifikationen verschiedene Arten mischen, bevorzugt OpenClaw Homebrew, wenn
skills.install.preferBrewaktiviert ist undbrewexistiert, dannuv, dann den konfigurierten Node-Manager, dann andere Fallbacks wiegooderdownload. - Wenn jede Installationsspezifikation
downloadist, zeigt OpenClaw alle Download-Optionen an, statt sie auf einen bevorzugten Installer zu reduzieren.
Details pro Installer
- Go-Installationen: Wenn
gofehlt undbrewverfügbar ist, installiert das Gateway zuerst Go über Homebrew und setztGOBINnach Möglichkeit auf dasbinvon 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>).
Konfigurationsüberschreibungen
Gebündelte und verwaltete Skills können unter skills.entries in ~/.openclaw/openclaw.json aktiviert/deaktiviert und mit Umgebungswerten versehen werden:
{
skills: {
entries: {
"image-lab": {
enabled: true,
apiKey: { source: "env", provider: "default", id: "GEMINI_API_KEY" }, // or plaintext string
env: {
GEMINI_API_KEY: "GEMINI_KEY_HERE",
},
config: {
endpoint: "https://example.invalid",
model: "nano-pro",
},
},
peekaboo: { enabled: true },
sag: { enabled: false },
},
},
}
enabledbooleanfalse deaktiviert den Skill, selbst wenn er gebündelt oder installiert ist.
Der gebündelte Skill coding-agent ist optional: Setzen Sie
skills.entries.coding-agent.enabled: true, bevor Sie ihn Agents verfügbar machen,
und stellen Sie dann sicher, dass eines von claude, codex, opencode oder pi installiert und
für seine eigene CLI authentifiziert ist.
apiKeystring | { source, provider, id }Komfortfunktion für Skills, die metadata.openclaw.primaryEnv deklarieren. Unterstützt Klartext oder SecretRef.
env"Record<string,configobjectOptionaler Container für benutzerdefinierte Felder pro Skill. Benutzerdefinierte Schlüssel müssen hier stehen.
allowBundledstring[]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).
Wenn der Skill-Name Bindestriche enthält, setzen Sie den Schlüssel in Anführungszeichen (JSON5 erlaubt
zitierte Schlüssel). Konfigurationsschlüssel entsprechen standardmäßig dem Skill-Namen - wenn ein Skill
metadata.openclaw.skillKey definiert, verwenden Sie diesen Schlüssel unter skills.entries.
Umgebungsinjektion
Wenn ein Agent-Lauf startet, führt OpenClaw Folgendes aus:
- Skill-Metadaten lesen.
skills.entries.<key>.envundskills.entries.<key>.apiKeyaufprocess.envanwenden.- Den System-Prompt mit zulässigen Skills erstellen.
- Die ursprüngliche Umgebung nach Ende des Laufs wiederherstellen.
Die Umgebungsinjektion ist auf den Agent-Lauf begrenzt, nicht auf eine globale Shell- Umgebung.
Für das gebündelte Backend 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 Vorrang, Allowlists pro Agent, Gating und
Umgebungs-/API-Schlüssel-Injektion über skills.entries.* steuert. Andere CLI-Backends verwenden nur den
Prompt-Katalog.
Snapshots und Aktualisierung
OpenClaw erstellt Snapshots der zulässigen Skills beim Start einer Sitzung und verwendet diese Liste für nachfolgende Durchläufe in derselben Sitzung erneut. Änderungen an Skills oder Konfiguration werden bei der nächsten neuen Sitzung wirksam.
Skills können sich in zwei Fällen während einer Sitzung aktualisieren:
- Der Skills-Watcher ist aktiviert.
- Ein neuer zulässiger Remote-Node erscheint.
Betrachten Sie dies als Hot Reload: Die aktualisierte Liste wird beim nächsten Agent-Durchlauf übernommen. Wenn sich die wirksame Skill-Allowlist des Agents für diese Sitzung ändert, aktualisiert OpenClaw den Snapshot, damit sichtbare Skills mit dem aktuellen Agent übereinstimmen.
Skills-Watcher
Standardmäßig überwacht OpenClaw Skill-Ordner und erhöht den Skills-Snapshot,
wenn sich SKILL.md-Dateien ändern. Konfigurieren Sie dies unter skills.load:
{
skills: {
load: {
watch: true,
watchDebounceMs: 250,
},
},
}
Remote-macOS-Nodes (Linux-Gateway)
Wenn das Gateway unter Linux läuft, aber ein macOS-Node mit erlaubtem
system.run verbunden ist (Exec-Freigabesicherheit nicht auf deny gesetzt),
kann OpenClaw macOS-spezifische 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 beruht darauf, dass der Node seine Befehlsunterstützung meldet, und auf einer Bin-Prüfung
über system.which oder system.run. Offline-Nodes machen
Remote-only-Skills nicht sichtbar. Wenn ein verbundener Node nicht mehr auf Bin-
Prüfungen antwortet, löscht OpenClaw seine zwischengespeicherten Bin-Treffer, sodass Agents keine
Skills mehr sehen, die dort derzeit nicht ausgeführt werden können.
Token-Auswirkung
Wenn Skills zulässig sind, injiziert OpenClaw eine kompakte XML-Liste verfügbarer
Skills in den System-Prompt (über formatSkillsForPrompt in
pi-coding-agent). Die Kosten sind deterministisch:
- Basis-Overhead (nur bei ≥1 Skill): 195 Zeichen.
- Pro Skill: 97 Zeichen + die Länge der XML-escaped Werte für
<name>,<description>und<location>.
Formel (Zeichen):
total = 195 + Σ (97 + len(name_escaped) + len(description_escaped) + len(location_escaped))
XML-Escaping erweitert & < > " ' zu Entitäten (&, < usw.),
wodurch die Länge zunimmt. Token-Zahlen variieren je nach Modell-Tokenizer. Eine grobe
Schätzung im OpenAI-Stil liegt bei etwa 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 mit der
Installation aus (npm-Paket oder OpenClaw.app). ~/.openclaw/skills existiert für
lokale Überschreibungen - zum Beispiel, um einen Skill zu pinnen oder zu patchen, ohne
die gebündelte Kopie zu ändern. Workspace-Skills gehören dem Benutzer und überschreiben
beide bei Namenskonflikten.
Suchen Sie weitere Skills?
Durchsuchen Sie https://clawhub.ai. Vollständiges Konfigurationsschema: Skills-Konfiguration.
Verwandt
- ClawHub - öffentliches Skills-Register
- Skills erstellen - benutzerdefinierte Skills erstellen
- Plugins - Überblick über das Plugin-System
- Skill-Workshop-Plugin - Skills aus Agent-Arbeit generieren
- Skills-Konfiguration - Referenz zur Skill-Konfiguration
- Slash-Befehle - alle verfügbaren Slash-Befehle