Fähigkeiten (OpenClaw)
OpenClaw verwendet AgentSkills-kompatible Skill-Ordner, um dem Agenten den Umgang mit Werkzeugen beizubringen. Jeder Skill ist ein Verzeichnis mit einerSKILL.md mit YAML-Frontmatter und Anweisungen. OpenClaw lädt gebündelte Skills sowie optionale lokale Overrides und filtert sie zur Ladezeit basierend auf Umgebung, Konfiguration und Vorhandensein von Binärdateien.
Orte und Vorrangstellung
Skills werden aus drei Orten geladen:- Gebündelte Skills: werden mit der Installation ausgeliefert (npm-Paket oder OpenClaw.app)
- Verwaltete/lokale Skills:
~/.openclaw/skills - Workspace-Skills:
<workspace>/skills
<workspace>/skills (höchste) → ~/.openclaw/skills → gebündelte Skills (niedrigste)
Zusätzlich können Sie weitere Skill-Ordner (niedrigste Priorität) über
skills.load.extraDirs in ~/.openclaw/openclaw.json konfigurieren.
Pro-Agent- vs. geteilte Skills
In Multi-Agent-Setups hat jeder Agent seinen eigenen Workspace. Das bedeutet:- Pro-Agent-Skills befinden sich in
<workspace>/skillsnur für diesen Agenten. - Geteilte Skills befinden sich in
~/.openclaw/skills(verwaltet/lokal) und sind für alle Agenten auf derselben Maschine sichtbar. - Geteilte Ordner können auch über
skills.load.extraDirs(niedrigste Priorität) hinzugefügt werden, wenn Sie ein gemeinsames Skill-Paket für mehrere Agenten verwenden möchten.
Plugins + Skills
Plugins können eigene Skills mitliefern, indem sieskills-Verzeichnisse in
openclaw.plugin.json auflisten (Pfade relativ zum Plugin-Root). Plugin-Skills werden geladen,
wenn das Plugin aktiviert ist, und nehmen an den normalen Skill-Prioritätsregeln teil.
Sie können sie über metadata.openclaw.requires.config im Konfigurationseintrag des Plugins gate’n. Siehe Plugins für Discovery/Konfiguration und Tools für die
Werkzeugoberfläche, die diese Skills vermitteln.
ClawHub (Installation + Sync)
ClawHub ist das öffentliche Skills-Registry für OpenClaw. Stöbern Sie unter https://clawhub.com. Nutzen Sie es zum Entdecken, Installieren, Aktualisieren und Sichern von Skills. Vollständige Anleitung: ClawHub. Häufige Abläufe:- Einen Skill in Ihren Workspace installieren:
clawhub install <skill-slug>
- Alle installierten Skills aktualisieren:
clawhub update --all
- Synchronisieren (Scannen + Updates veröffentlichen):
clawhub sync --all
clawhub in ./skills unter Ihrem aktuellen Arbeitsverzeichnis
(oder greift auf den konfigurierten OpenClaw-Workspace zurück). OpenClaw erkennt
dies beim nächsten Start 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 Werkzeuge. Siehe Sandboxing.
skills.entries.*.envundskills.entries.*.apiKeyinjizieren Geheimnisse in den Host-Prozess für diesen Agenten-Zug (nicht in die Sandbox). Halten Sie Geheimnisse aus Prompts und Logs heraus.- Für ein umfassenderes Bedrohungsmodell und Checklisten siehe Security.
Format (AgentSkills + Pi-kompatibel)
SKILL.md muss mindestens enthalten:
- Wir folgen der AgentSkills-Spezifikation für Layout/Intention.
- Der vom eingebetteten Agenten verwendete Parser unterstützt nur einzeilige Frontmatter-Schlüssel.
metadatasollte ein einzeiliges JSON-Objekt sein.- Verwenden Sie
{baseDir}in den Anweisungen, um auf den Skill-Ordnerpfad zu verweisen. - Optionale Frontmatter-Schlüssel:
-
homepage— URL, die in der macOS-Skills-UI als „Website“ angezeigt wird (auch übermetadata.openclaw.homepageunterstützt). -
user-invocable—true|false(Standard:true). Wenntrue, wird der Skill als Benutzer-Slash-Command bereitgestellt. -
disable-model-invocation—true|false(Standard:false). Wenntrue, wird der Skill aus dem Modell-Prompt ausgeschlossen (weiterhin per Benutzeraufruf verfügbar). -
command-dispatch—tool(optional). Wenn auftoolgesetzt, umgeht der Slash-Command das Modell und wird direkt an ein Werkzeug dispatcht. -
command-tool— Werkzeugname, der aufgerufen wird, wenncommand-dispatch: toolgesetzt ist. -
command-arg-mode—raw(Standard). Für Tool-Dispatch werden die Rohargumente an das Werkzeug weitergeleitet (keine Kern-Parsing). Das Werkzeug 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-Skills-UI verwendet wird.homepage— optionale URL, die in der macOS-Skills-UI als „Website“ angezeigt wird.os— optionale Liste von Plattformen (darwin,linux,win32). Falls gesetzt, ist der Skill nur auf diesen Betriebssystemen zulässig.requires.bins— Liste; jede muss aufPATHexistieren.requires.anyBins— Liste; mindestens eine muss aufPATHexistieren.requires.env— Liste; die Umgebungsvariable muss existieren oder in der Konfiguration bereitgestellt werden.requires.config— Liste vonopenclaw.json-Pfaden, die wahrheitsgemäß 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-UI verwendet werden (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 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 Netzwerk-Egress, ein beschreibbares Root-FS und einen Root-Benutzer in der Sandbox. Beispiel: Dersummarize-Skill (skills/summarize/SKILL.md) benötigt diesummarize-CLI im Sandbox-Container, um dort ausgeführt zu werden.
- Wenn mehrere Installer aufgeführt sind, wählt das Gateway eine bevorzugte Option (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). - Go-Installationen: Wenn
gofehlt undbrewverfügbar ist, installiert das Gateway Go zuerst über Homebrew und setztGOBINnach Möglichkeit auf Homebrewsbin. - Download-Installationen:
url(erforderlich),archive(tar.gz|tar.bz2|zip),extract(Standard: auto bei erkanntem Archiv),stripComponents,targetDir(Standard:~/.openclaw/tools/<skillKey>).
metadata.openclaw vorhanden ist, ist der Skill immer zulässig (sofern
nicht 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:
metadata.openclaw.skillKey definiert, verwenden Sie diesen Schlüssel unter skills.entries.
Regeln:
enabled: falsedeaktiviert den Skill, selbst wenn er gebündelt/installiert ist.env: wird nur injiziert, wenn die Variable im Prozess noch nicht gesetzt ist.apiKey: Komfortfunktion für Skills, diemetadata.openclaw.primaryEnvdeklarieren.config: optionaler Sammelbehälter für benutzerdefinierte, skill-spezifische Felder; benutzerdefinierte Schlüssel müssen hier liegen.allowBundled: optionale Allowlist nur für gebündelte Skills. Wenn gesetzt, sind nur die in der Liste enthaltenen gebündelten Skills zulässig (verwaltete/Workspace-Skills bleiben unberührt).
Umgebungsinjektion (pro Agentenlauf)
Wenn ein Agentenlauf 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.
- Stellt die ursprüngliche Umgebung nach Ende des Laufs wieder her.
Sitzungs-Snapshot (Performance)
OpenClaw erstellt beim Start einer Sitzung einen Snapshot der zulässigen Skills und verwendet diese Liste für nachfolgende Züge in derselben Sitzung. Änderungen an Skills oder Konfiguration werden in der nächsten neuen Sitzung wirksam. Skills können sich auch während 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 Agenten-Zug übernommen.Remote-macOS-Nodes (Linux-Gateway)
Wenn das Gateway unter Linux läuft, aber ein macOS-Node verbunden ist mit erlaubtemsystem.run (Exec-Approval-Sicherheit 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 Werkzeug nodes ausführen (typischerweise nodes.run).
Dies beruht darauf, dass der Node seine Befehlsunterstützung meldet und auf einer Binärprüfung über system.run. Wenn der macOS-Node später offline geht, bleiben die Skills sichtbar; Aufrufe können fehlschlagen, bis der Node wieder verbunden ist.
Skills-Watcher (Auto-Refresh)
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 bei ≥1 Skill): 195 Zeichen.
- Pro Skill: 97 Zeichen + die Länge der XML-escaped
<name>-,<description>- und<location>-Werte.
- XML-Escaping erweitert
& < > " 'zu Entitäten (&,<usw.) und erhöht die Länge. - Token-Zahlen variieren je nach Tokenizer des Modells. Eine grobe OpenAI-ähnliche Schätzung liegt bei ~4 Zeichen/Token, also 97 Zeichen ≈ 24 Tokens pro Skill plus die tatsächlichen Feldlängen.
Lebenszyklus verwalteter Skills
OpenClaw liefert eine Basismenge an Skills als gebündelte Skills als Teil der Installation (npm-Paket oder OpenClaw.app).~/.openclaw/skills existiert für lokale
Overrides (z. B. zum Pinnen/Patchen eines Skills ohne Änderung der gebündelten
Kopie). Workspace-Skills sind benutzerverwaltet und überschreiben beide bei Namenskonflikten.