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:

    bash
    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:

    bash
    mkdir -p ~/.openclaw/workspace/skills/personal/hello-world# skill name is still "hello-world", invoked as /hello-world
  • Write SKILL.md

    Erstellen Sie SKILL.md im Verzeichnis. Das Frontmatter definiert Metadaten; der Body gibt dem Agent Anweisungen.

    markdown
    ---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!"
    Code
     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 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:

    bash
    # From chat — archive current session and start fresh/new # Or restart the gatewayopenclaw gateway restart
  • Test it

    Senden Sie eine Nachricht, die den Skill auslösen sollte:

    bash
    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:

    markdown
    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:

    markdown
    ---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:

    json5
    {  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.

    bash
    # 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:

    bash
    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:

    bash
    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:

    bash
    openclaw skills install @openclaw/clawhub-publish
  • Publish

    bash
    clawhub publish

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

  • Bewährte Vorgehensweisen

    Verwandte Themen

    Was this useful?
    On this page

    On this page