Skills
Skills erstellen
Skills bringen dem Agent bei, wie und wann er Tools verwendet. Jeder Skill ist ein Verzeichnis,
das eine SKILL.md-Datei mit YAML-Frontmatter und Markdown-Anweisungen enthält.
OpenClaw lädt Skills aus mehreren Roots in einer definierten Rangfolge.
Ihren ersten Skill erstellen
Create the skill directory
Skills liegen im Ordner skills/ Ihres Workspace. Erstellen Sie ein Verzeichnis für Ihren
neuen Skill:
mkdir -p ~/.openclaw/workspace/skills/hello-worldSie können Skills zur Organisation in Unterordnern gruppieren — der Skill wird weiterhin
durch das SKILL.md-Frontmatter benannt, nicht durch den Ordnerpfad:
mkdir -p ~/.openclaw/workspace/skills/personal/hello-world# skill name is still "hello-world", invoked as /hello-worldWrite SKILL.md
Erstellen Sie SKILL.md im Verzeichnis. Das Frontmatter definiert Metadaten;
der Body gibt dem Agent Anweisungen.
---name: hello-worlddescription: A simple skill that prints a greeting.--- # Hello World When the user asks for a greeting, use the `exec` tool to run: ```bashecho "Hello from your custom skill!" Benennungsregeln:- Verwenden Sie Kleinbuchstaben, Ziffern und Bindestriche für `name`.- Halten Sie den Verzeichnisnamen und den Frontmatter-`name` konsistent.- `description` wird dem Agent und in der Slash-Command-Erkennung angezeigt — halten Sie sie einzeilig und unter 160 Zeichen. OPENCLAW_DOCS_MARKER:stepClose: OPENCLAW_DOCS_MARKER:stepOpen:IHRpdGxlPSJWZXJpZnkgdGhlIHNraWxsIGxvYWRlZCI ```bashopenclaw skills listOpenClaw überwacht SKILL.md-Dateien unter Skills-Roots standardmäßig. Wenn der
Watcher deaktiviert ist oder Sie eine bestehende Sitzung fortsetzen, starten Sie eine neue,
damit der Agent die aktualisierte Liste erhält:
# From chat — archive current session and start fresh/new # Or restart the gatewayopenclaw gateway restartTest it
Senden Sie eine Nachricht, die den Skill auslösen sollte:
openclaw agent --message "give me a greeting"Oder öffnen Sie einen Chat und fragen Sie den Agent direkt. Verwenden Sie /skill hello-world, um
ihn ausdrücklich nach Namen aufzurufen.
SKILL.md-Referenz
Erforderliche Felder
| Feld | Beschreibung |
|---|---|
name |
Eindeutiger Slug mit Kleinbuchstaben, Ziffern und Bindestrichen |
description |
Einzeilige Beschreibung, die dem Agent und in der Erkennungsausgabe angezeigt wird |
Optionale Frontmatter-Schlüssel
| Feld | Standard | Beschreibung |
|---|---|---|
user-invocable |
true |
Den Skill als Slash-Command für Benutzer bereitstellen |
disable-model-invocation |
false |
Den Skill aus dem System-Prompt des Agent heraushalten (läuft weiterhin über /skill) |
command-dispatch |
— | Auf tool setzen, um den Slash-Command direkt an ein Tool zu routen und das Modell zu umgehen |
command-tool |
— | Name des Tools, das aufgerufen wird, wenn command-dispatch: tool gesetzt ist |
command-arg-mode |
raw |
Leitet beim Tool-Dispatch den rohen args-String an das Tool weiter |
homepage |
— | URL, die in der macOS-Skills-UI als „Website“ angezeigt wird |
Für Gating-Felder (requires.bins, requires.env usw.) siehe
Skills — Gating.
{baseDir} verwenden
Verwenden Sie {baseDir} im Skill-Body, um auf Dateien innerhalb des Skill-Verzeichnisses
zu verweisen, ohne Pfade fest zu codieren:
Run the helper script at `{baseDir}/scripts/run.sh`.Bedingte Aktivierung hinzufügen
Schränken Sie Ihren Skill so ein, dass er nur geladen wird, wenn seine Abhängigkeiten verfügbar sind:
---name: gemini-searchdescription: Search using Gemini CLI.metadata: { "openclaw": { "requires": { "bins": ["gemini"] }, "primaryEnv": "GEMINI_API_KEY" } }---Gating options
| Schlüssel | Beschreibung |
|---|---|
requires.bins |
Alle Binaries müssen auf PATH vorhanden sein |
requires.anyBins |
Mindestens ein Binary muss auf PATH vorhanden sein |
requires.env |
Jede env var muss im Prozess oder in der Konfiguration vorhanden sein |
requires.config |
Jeder openclaw.json-Pfad muss truthy sein |
os |
Plattformfilter: ["darwin"], ["linux"], ["win32"] |
always |
Auf true setzen, um alle Gates zu überspringen und den Skill immer einzubeziehen |
Vollständige Referenz: Skills — Gating.
Environment and API keys
Verdrahten Sie einen API-Schlüssel mit einem Skill-Eintrag in openclaw.json:
{ skills: { entries: { "gemini-search": { enabled: true, apiKey: { source: "env", provider: "default", id: "GEMINI_API_KEY" }, }, }, },}Der Schlüssel wird nur für diesen Agent-Turn in den Host-Prozess injiziert. Er erreicht die Sandbox nicht — siehe sandboxed env vars.
Über Skill Workshop vorschlagen
Für vom Agent entworfene Skills oder wenn Sie eine Operator-Prüfung wünschen, bevor ein Skill
live geht, verwenden Sie Skill Workshop-Vorschläge, statt
SKILL.md direkt zu schreiben.
# Propose a brand-new skillopenclaw skills workshop propose-create \ --name "hello-world" \ --description "A simple skill that prints a greeting." \ --proposal ./PROPOSAL.md # Propose an update to an existing skillopenclaw skills workshop propose-update hello-world \ --proposal ./PROPOSAL.md \ --description "Updated greeting skill"Verwenden Sie --proposal-dir, wenn der Vorschlag Unterstützungsdateien enthält:
openclaw skills workshop propose-create \ --name "hello-world" \ --description "A simple skill that prints a greeting." \ --proposal-dir ./hello-world-proposal/Das Verzeichnis muss PROPOSAL.md enthalten. Unterstützungsdateien können in assets/,
examples/, references/, scripts/ oder templates/ liegen.
Nach der Prüfung:
openclaw skills workshop inspect <proposal-id>openclaw skills workshop apply <proposal-id>Siehe Skill Workshop für den vollständigen Vorschlagslebenszyklus.
In ClawHub veröffentlichen
Ensure your SKILL.md is complete
Stellen Sie sicher, dass name, description und alle metadata.openclaw-Gating-Felder
gesetzt sind. Fügen Sie eine homepage-URL hinzu, wenn Sie eine Projektseite haben.
Install the ClawHub skill
Der ClawHub-Skill dokumentiert die aktuelle Form des Publish-Befehls und die erforderlichen Metadaten:
openclaw skills install @openclaw/clawhub-publishPublish
clawhub publishSiehe ClawHub — Publishing für den vollständigen Ablauf.
Bewährte Vorgehensweisen
Verwandte Themen
Ladereihenfolge, Gating, Allowlists und SKILL.md-Format.
Vorschlagswarteschlange für vom Agent entworfene Skills.
Vollständiges skills.*-Konfigurationsschema.
Skills im öffentlichen Registry durchsuchen und veröffentlichen.
Plugins können Skills zusammen mit den Tools ausliefern, die sie dokumentieren.