Skip to Content
👋 Willkommen bei HowToUseOpenClaw Schnellstart
ToolsSkills

Skills (OpenClaw)

Skills = eigene Tools. In ~/clawd/skills/ ablegen. OpenClaw nutzt AgentSkills -kompatible Skill-Ordner, um dem Agenten die Nutzung von Tools beizubringen. Jeder Skill ist ein Verzeichnis mit einer SKILL.md inkl. YAML-Frontmatter und Anweisungen. OpenClaw lädt gebündelte Skills plus optionale lokale Überschreibungen und filtert sie zur Ladezeit nach Umgebung, Config und vorhandenen Binaries.

Orte und Vorrang

Skills werden aus drei Quellen geladen:

  1. Gebündelte Skills: mit der Installation ausgeliefert (npm-Paket oder OpenClaw.app)
  2. Verwaltete/lokale Skills: ~/.clawdbot/skills
  3. Workspace-Skills: <workspace>/skills

Bei Namenskonflikt gilt: <workspace>/skills (höchster Vorrang) → ~/.clawdbot/skills → gebündelte Skills (niedrigster). Zusätzlich kannst du über skills.load.extraDirs in ~/.clawdbot/openclaw.json weitere Skill-Ordner konfigurieren (niedrigster Vorrang).

Pro-Agent vs. geteilte Skills

Bei Multi-Agent-Setups hat jeder Agent seinen eigenen Workspace. Das bedeutet:

  • Pro-Agent-Skills liegen in <workspace>/skills nur für diesen Agenten.
  • Geteilte Skills liegen in ~/.clawdbot/skills (verwaltet/lokal) und sind für alle Agenten auf derselben Maschine sichtbar.
  • Geteilte Ordner können auch über skills.load.extraDirs (niedrigster Vorrang) hinzugefügt werden, wenn mehrere Agenten einen gemeinsamen Skill-Pack nutzen sollen.

Existiert derselbe Skill-Name an mehreren Orten, gilt die übliche Vorrangfolge: Workspace gewinnt, dann verwaltet/lokal, dann gebündelt.

Plugins + Skills

Plugins können eigene Skills mitliefern, indem sie skills-Verzeichnisse in openclaw.plugin.json angeben (Pfade relativ zur Plugin-Wurzel). Plugin-Skills werden geladen, wenn das Plugin aktiviert ist, und folgen den normalen Skill-Vorrangregeln. Du kannst sie über metadata.openclaw.requires.config am Plugin-Config-Eintrag begrenzen. Siehe Plugins für Discovery/Config und Tools für die Tool-Oberfläche, die diese Skills vermitteln.

ClawdHub (Install + Sync)

ClawdHub ist die öffentliche Skill-Registry für OpenClaw. Durchsuchen unter https://clawdhub.com . Zum Entdecken, Installieren, Aktualisieren und Sichern von Skills nutzen. Vollständige Anleitung: ClawdHub. Typische Abläufe:

  • Skill in deinen Workspace installieren:
    • clawdhub install <skill-slug>
  • Alle installierten Skills aktualisieren:
    • clawdhub update --all
  • Sync (Scannen + Updates veröffentlichen):
    • clawdhub sync --all

Standardmäßig installiert clawdhub in ./skills unter deinem aktuellen Arbeitsverzeichnis (oder nutzt den konfigurierten OpenClaw-Workspace). OpenClaw übernimmt das als <workspace>/skills in der nächsten Sitzung.

Sicherheitshinweise

  • Drittanbieter-Skills als vertrauenswürdigen Code behandeln. Vor dem Aktivieren lesen.
  • Für unvertrauenswürdige Eingaben und riskante Tools sandboxed Läufe bevorzugen. Siehe Sandboxing.
  • skills.entries.*.env und skills.entries.*.apiKey injizieren Secrets in den Host-Prozess für diesen Agenten-Turn (nicht die Sandbox). Secrets aus Prompts und Logs fernhalten.
  • Für breiteres Bedrohungsmodell und Checklisten: Sicherheit.

Format (AgentSkills + Pi-kompatibel)

SKILL.md muss mindestens enthalten:

--- name: nano-banana-pro description: Generate or edit images via Gemini 3 Pro Image ---

Hinweise:

  • Wir folgen der AgentSkills-Spec für Layout/Intent.
  • Der Parser des eingebetteten Agenten unterstützt nur einzeilige Frontmatter-Keys.
  • metadata sollte ein einzeiliges JSON-Objekt sein.
  • {baseDir} in Anweisungen für den Skill-Ordnerpfad nutzen.
  • Optionale Frontmatter-Keys:
    • homepage — URL, in der macOS-Skills-UI als „Website“ angezeigt (auch via metadata.openclaw.homepage).
    • user-invocabletrue|false (Standard: true). Bei true wird der Skill als User-Slash-Command bereitgestellt.
    • disable-model-invocationtrue|false (Standard: false). Bei true wird der Skill vom Modell-Prompt ausgeschlossen (weiterhin per User-Aufruf verfügbar).
    • command-dispatchtool (optional). Bei tool umgeht der Slash-Command das Modell und geht direkt an ein Tool.
    • command-tool — Tool-Name beim Aufruf, wenn command-dispatch: tool gesetzt ist.
    • command-arg-moderaw (Standard). Bei Tool-Dispatch wird der Rohtext-Args-String an das Tool weitergegeben (kein Core-Parsing). Das Tool wird mit den Parametern aufgerufen: { command: "<raw args>", commandName: "<slash command>", skillName: "<skill name>" }.

Gating (Ladezeit-Filter)

OpenClaw filtert Skills zur Ladezeit über metadata (einzeiliges JSON):

--- name: nano-banana-pro description: Generate or edit images via Gemini 3 Pro Image metadata: {"openclaw":{"requires":{"bins":["uv"],"env":["GEMINI_API_KEY"],"config":["browser.enabled"]},"primaryEnv":"GEMINI_API_KEY"}} ---

Felder unter metadata.openclaw:

  • always: true — Skill immer einbeziehen (andere Gates überspringen).
  • emoji — optionales Emoji für die macOS-Skills-UI.
  • homepage — optionale URL, in der macOS-Skills-UI als „Website“ angezeigt.
  • os — optionale Liste der Plattformen (darwin, linux, win32). Wenn gesetzt, ist der Skill nur auf diesen OS zulässig.
  • requires.bins — Liste; jede muss im PATH existieren.
  • requires.anyBins — Liste; mindestens eine muss im PATH existieren.
  • requires.env — Liste; Env-Var muss existieren oder in der Config bereitgestellt werden.
  • requires.config — Liste von openclaw.json-Pfaden, die truthy sein müssen.
  • primaryEnv — Env-Var-Name für skills.entries.<name>.apiKey.
  • install — optionale Liste von Installer-Specs für die macOS-Skills-UI (brew/node/go/uv/download).

Hinweis zu Sandboxing:

  • requires.bins wird auf dem Host zur Skill-Ladezeit geprüft.
  • Ist ein Agent sandboxed, muss die Binary auch im Container existieren. Installation z. B. über agents.defaults.sandbox.docker.setupCommand (oder Custom-Image). setupCommand läuft einmal nach der Container-Erstellung. Paket-Installationen benötigen außerdem Netzwerk-Egress, beschreibbares Root-FS und Root-User in der Sandbox. Beispiel: Der Skill summarize (skills/summarize/SKILL.md) benötigt die summarize-CLI im Sandbox-Container.

Installer-Beispiel:

--- 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)"}]}} ---

Hinweise:

  • Bei mehreren Installern wählt das Gateway eine bevorzugte Option (brew wenn verfügbar, sonst node).
  • Sind alle Installer download, listet OpenClaw jeden Eintrag, damit du die verfügbaren Artefakte siehst.
  • Installer-Specs können os: ["darwin"|"linux"|"win32"] enthalten, um Optionen nach Plattform zu filtern.
  • Node-Installationen beachten skills.install.nodeManager in openclaw.json (Standard: npm; Optionen: npm/pnpm/yarn/bun). Betrifft nur Skill-Installationen; die Gateway-Runtime sollte Node bleiben (Bun nicht empfohlen für WhatsApp/Telegram).
  • Go-Installationen: Fehlt go und ist brew verfügbar, installiert das Gateway Go zuerst über Homebrew und setzt GOBIN auf Homebrews bin, wenn möglich.
  • Download-Installationen: url (erforderlich), archive (tar.gz | tar.bz2 | zip), extract (Standard: auto bei erkanntem Archiv), stripComponents, targetDir (Standard: ~/.clawdbot/tools/<skillKey>).

Fehlt metadata.openclaw, ist der Skill immer zulässig (außer in Config deaktiviert oder durch skills.allowBundled bei gebündelten Skills blockiert).

Config-Überschreibungen (~/.clawdbot/openclaw.json)

Gebündelte/verwaltete Skills können ein- und ausgeschaltet sowie mit Env-Werten versehen werden:

{ skills: { entries: { "nano-banana-pro": { enabled: true, apiKey: "GEMINI_KEY_HERE", env: { GEMINI_API_KEY: "GEMINI_KEY_HERE" }, config: { endpoint: "https://example.invalid", model: "nano-pro" } }, peekaboo: { enabled: true }, sag: { enabled: false } } } }

Hinweis: Enthält der Skill-Name Bindestriche, den Key in Anführungszeichen setzen (JSON5 erlaubt quoted keys). Config-Keys entsprechen standardmäßig dem Skill-Namen. Definiert ein Skill metadata.openclaw.skillKey, diesen Key unter skills.entries nutzen. Regeln:

  • enabled: false deaktiviert den Skill auch bei gebündelt/installiert.
  • env: wird nur injiziert, wenn die Variable im Prozess noch nicht gesetzt ist.
  • apiKey: Convenience für Skills mit metadata.openclaw.primaryEnv.
  • config: optionaler Beutel für pro-Skill-Felder; eigene Keys hier ablegen.
  • allowBundled: optionale Allowlist nur für gebündelte Skills. Wenn gesetzt, sind nur gebündelte Skills in der Liste zulässig (verwaltete/Workspace-Skills unberührt).

Umgebungs-Injection (pro Agenten-Lauf)

Beim Start eines Agenten-Laufs:

  1. Skill-Metadaten lesen.
  2. skills.entries.<key>.env oder skills.entries.<key>.apiKey in process.env anwenden.
  3. System-Prompt mit zulässigen Skills aufbauen.
  4. Ursprüngliche Umgebung nach Ende des Laufs wiederherstellen.

Das gilt nur für den Agenten-Lauf, nicht für eine globale Shell-Umgebung.

Sitzungs-Snapshot (Performance)

OpenClaw erstellt einen Snapshot der zulässigen Skills beim Sitzungsstart und nutzt diese Liste für folgende Turns in derselben Sitzung wieder. Änderungen an Skills oder Config greifen in der nächsten neuen Sitzung. Skills können auch mitten in der Sitzung aktualisiert werden, wenn der Skills-Watcher aktiv ist oder ein neuer zulässiger Remote-Node erscheint (siehe unten). Wie Hot Reload: Die aktualisierte Liste wird beim nächsten Agenten-Turn übernommen.

Remote-macOS-Nodes (Linux-Gateway)

Läuft das Gateway unter Linux, ist aber ein macOS-Node verbunden mit erlaubtem system.run (Exec-Approvals-Security nicht auf deny), kann OpenClaw macOS-only-Skills als zulässig behandeln, wenn die benötigten Binaries auf diesem Node vorhanden sind. Der Agent sollte diese Skills über das nodes-Tool ausführen (typisch nodes.run). Das setzt voraus, dass der Node seine Befehlsunterstützung meldet und ein Bin-Probe über system.run erfolgt. Geht der macOS-Node später offline, bleiben die Skills sichtbar; Aufrufe können fehlschlagen, bis der Node wieder verbunden ist.

Skills-Watcher (Auto-Refresh)

Standardmäßig beobachtet OpenClaw Skill-Ordner und aktualisiert den Skills-Snapshot bei Änderungen an SKILL.md-Dateien. Konfigurierbar unter skills.load:

{ skills: { load: { watch: true, watchDebounceMs: 250 } } }

Token-Auswirkung (Skills-Liste)

Bei zulässigen Skills injiziert OpenClaw eine kompakte XML-Liste der verfügbaren 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 + Länge der XML-escaped-Werte <name>, <description> und <location>.

Formel (Zeichen):

total = 195 + Σ (97 + len(name_escaped) + len(description_escaped) + len(location_escaped))

Hinweise:

  • XML-Escaping wandelt & < > " ' in Entities um (&amp;, &lt; usw.), was die Länge erhöht.
  • Token-Anzahl hängt vom Modell-Tokenizer ab. Grobe OpenAI-Schätzung: ~4 Zeichen/Token, also 97 Zeichen ≈ 24 Tokens pro Skill plus deine Feldlängen.

Lebenszyklus verwalteter Skills

OpenClaw liefert einen Basissatz von Skills als gebündelte Skills mit der Installation (npm-Paket oder OpenClaw.app). ~/.clawdbot/skills dient lokalen Überschreibungen (z. B. Pinnen/Patchen eines Skills ohne die gebündelte Kopie zu ändern). Workspace-Skills gehören dem Nutzer und überschreiben bei Namenskonflikten beide.

Config-Referenz

Siehe Skills Config für das vollständige Konfigurationsschema.

Weitere Skills?

Durchsuchen: https://clawdhub.com .


Zuletzt aktualisiert am: