Zum Hauptinhalt springen
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

1

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-world
Sie 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-world
2

Write SKILL.md

Erstellen Sie SKILL.md im Verzeichnis. Das Frontmatter definiert Metadaten; der Body gibt dem Agent Anweisungen.
---
name: hello-world
description: A simple skill that prints a greeting.
---

# Hello World

When the user asks for a greeting, use the `exec` tool to run:

```bash
echo "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.

</Step>

<Step title="Verify the skill loaded">
```bash
openclaw skills list
OpenClaw ü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 gateway
openclaw gateway restart
3

Test 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

FeldBeschreibung
nameEindeutiger Slug mit Kleinbuchstaben, Ziffern und Bindestrichen
descriptionEinzeilige Beschreibung, die dem Agent und in der Erkennungsausgabe angezeigt wird

Optionale Frontmatter-Schlüssel

FeldStandardBeschreibung
user-invocabletrueDen Skill als Slash-Command für Benutzer bereitstellen
disable-model-invocationfalseDen Skill aus dem System-Prompt des Agent heraushalten (läuft weiterhin über /skill)
command-dispatchAuf tool setzen, um den Slash-Command direkt an ein Tool zu routen und das Modell zu umgehen
command-toolName des Tools, das aufgerufen wird, wenn command-dispatch: tool gesetzt ist
command-arg-moderawLeitet beim Tool-Dispatch den rohen args-String an das Tool weiter
homepageURL, 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-search
description: Search using Gemini CLI.
metadata: { "openclaw": { "requires": { "bins": ["gemini"] }, "primaryEnv": "GEMINI_API_KEY" } }
---
SchlüsselBeschreibung
requires.binsAlle Binaries müssen auf PATH vorhanden sein
requires.anyBinsMindestens ein Binary muss auf PATH vorhanden sein
requires.envJede env var muss im Prozess oder in der Konfiguration vorhanden sein
requires.configJeder openclaw.json-Pfad muss truthy sein
osPlattformfilter: ["darwin"], ["linux"], ["win32"]
alwaysAuf true setzen, um alle Gates zu überspringen und den Skill immer einzubeziehen
Vollständige Referenz: Skills — Gating.
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 skill
openclaw skills workshop propose-create \
  --name "hello-world" \
  --description "A simple skill that prints a greeting." \
  --proposal ./PROPOSAL.md

# Propose an update to an existing skill
openclaw 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

1

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.
2

Install the ClawHub skill

Der ClawHub-Skill dokumentiert die aktuelle Form des Publish-Befehls und die erforderlichen Metadaten:
openclaw skills install @openclaw/clawhub-publish
3

Publish

clawhub publish
Siehe ClawHub — Publishing für den vollständigen Ablauf.

Bewährte Vorgehensweisen

  • Fassen Sie sich kurz — weisen Sie das Modell an, was zu tun ist, nicht wie es eine KI sein soll.
  • Sicherheit zuerst — wenn Ihr Skill exec verwendet, stellen Sie sicher, dass Prompts keine beliebige Command Injection aus nicht vertrauenswürdiger Eingabe erlauben.
  • Lokal testen — verwenden Sie openclaw agent --message "...", bevor Sie ihn teilen.
  • ClawHub verwenden — durchsuchen Sie Community-Skills auf clawhub.ai, bevor Sie etwas von Grund auf neu bauen.

Verwandte Themen

Skills reference

Ladereihenfolge, Gating, Allowlists und SKILL.md-Format.

Skill Workshop

Vorschlagswarteschlange für vom Agent entworfene Skills.

Skills config

Vollständiges skills.*-Konfigurationsschema.

ClawHub

Skills im öffentlichen Registry durchsuchen und veröffentlichen.

Building plugins

Plugins können Skills zusammen mit den Tools ausliefern, die sie dokumentieren.