OpenClaw Tutorial Teil 5: Skills & Tools erweitern
Praktischer Guide: OpenClaw Skills finden, einordnen und eigene Skills schreiben – von SKILL.md bis zu sicheren Tool-Abläufen.
📚 Serie: OpenClaw installieren & einrichten — Teil 5 von 8
← Teil 4: Telegram & WhatsApp verbinden | Teil 6: Workspace einrichten →
Nach Installation, Modellen und Messenger-Anbindung kommt der Teil, an dem OpenClaw im Alltag wirklich nützlich wird: eigene Skills. In diesem Teil geht es darum, was Skills von Tools und Plugins unterscheidet, wo OpenClaw sie sucht und wie du erste eigene Skills so anlegst, dass sie nicht nur nett aussehen, sondern in einer realen Session auch wirklich nutzbar sind.
Der wichtigste Punkt vorweg: Ein Skill ist in OpenClaw normalerweise kein Mini-Programm, sondern eine Handlungsanweisung für den Agenten. Er beschreibt, wann und wie vorhandene Tools zusammenspielen sollen. Ob ein Skill praktisch funktioniert, entscheidet deshalb nicht die SKILL.md allein, sondern die Kombination aus Tools, Rechten, Konfiguration und dem aktiven Workspace.12
Was du für diesen Teil brauchst
Bevor du etwas anlegst oder konfigurierst, sollte Folgendes stehen:
- eine funktionierende OpenClaw-Installation
- eine gültige OpenClaw-Konfiguration
- mindestens ein lauffähiger Agent
- Zugriff auf den Workspace, in dem du Skills ablegen willst
- für Shell-Beispiele ein erlaubtes Shell-/Exec-Tool
- für das GitHub-Beispiel zusätzlich
ghund optionaljq
Prüfe vor Änderungen zuerst, welche Konfigurationsdatei deine Installation gerade wirklich nutzt, und validiere sie danach. Beides ist in der offiziellen CLI-Doku beschrieben.3
openclaw config file
openclaw config validate
Wenn du direkt in den Skills-Bereich der geführten Konfiguration springen willst, ist laut offizieller Dokumentation auch ein Abschnittsfilter möglich:43
openclaw config --section skills
Tool, Skill und Plugin: die praktische Trennung
Die drei Begriffe werden im OpenClaw-Umfeld oft durcheinandergeworfen. Für die Praxis hilft diese einfache Trennung:
- Tool: die konkrete ausführbare Fähigkeit, etwa Shell/Exec, Web-Fetch oder ein über Plugins bereitgestelltes Werkzeug
- Skill: eine
SKILL.md, die beschreibt, wann und wie der Agent vorhandene Tools für ein Ziel kombiniert12 - Plugin: ein technisches Erweiterungspaket, das OpenClaw um Runtime-Fähigkeiten wie Tools, Integrationen, Channels oder weitere Bausteine erweitert5
Kurzform: Plugins liefern Technik, Tools führen aus, Skills geben dem Agenten den sinnvollen Ablauf vor.
Wie OpenClaw Skills lädt
Ein Skill ist im Kern ein Ordner mit einer Datei namens SKILL.md. Darin steht in der Regel keine Business-Logik als Skript, sondern eine sprachliche Arbeitsanweisung für den Agenten.12
Laut offizieller Skills-Dokumentation lädt OpenClaw gebündelte Skills und optional weitere lokale oder workspace-nahe Skill-Verzeichnisse. Beim Laden können Skills außerdem anhand von Umgebung, Konfiguration und verfügbaren Binaries gefiltert werden.1
Wichtig ist dabei die Unterscheidung zwischen drei Ebenen:
- Skill-Datei existiert: Der Ordner mit
SKILL.mdliegt am richtigen Ort. - Skill wird geladen: Das Verzeichnis ist Teil der aktiven Skill-Ladepfade.
- Skill ist für den Agenten sichtbar: Die Agent-Konfiguration erlaubt den Skill auch tatsächlich.
Genau diese Ebenen gehen in der Praxis am häufigsten durcheinander.
Typische Skill-Quellen sind deshalb:
- mitgelieferte OpenClaw-Skills
- eigene lokale Skill-Verzeichnisse aus der Konfiguration
- Workspace-Skills, wenn der aktive Loader oder die Konfiguration dieses Verzeichnis berücksichtigt
Für Projektarbeit ist ein Skill-Ordner im Workspace oft die praktischste Lösung. Lege aber nicht blind einen absoluten Systempfad wie /skills an. Nutze stattdessen ein bewusst gewähltes Verzeichnis, zum Beispiel:
<dein-workspace>/skills/<skill-name>/SKILL.md
Ob genau dieser Pfad automatisch geladen wird, hängt von deiner OpenClaw-Version und der aktiven Loader-Konfiguration ab. Die offizielle Skills-Konfiguration liegt weitgehend unter skills in ~/.openclaw/openclaw.json; die Sichtbarkeit für Agenten wird laut Doku über agents.defaults.skills und agents.list[].skills beeinflusst.4
Wenn OpenClaw deinen Workspace-Ordner nicht berücksichtigt, kannst du ihn über skills.load.extraDirs eintragen:4
{
skills: {
load: {
extraDirs: [
"/ABSOLUTER/PFAD/ZU/DEINEM/WORKSPACE/skills"
]
}
}
}
Praktisch zum Gegencheck sind danach vor allem diese Befehle:
openclaw config get skills --json
openclaw config validate
Wenn du Skills agentenspezifisch ein- oder ausblendest, lohnt sich zusätzlich ein Blick auf die Agent-Konfiguration, weil ein korrekt geladener Skill trotzdem unsichtbar sein kann.4
Wichtig ist die saubere Erwartungshaltung: openclaw config validate prüft die Konfiguration, aber nicht automatisch, ob dein Skill fachlich gut geschrieben ist oder in jeder Session sichtbar wird. Genau deshalb lohnt sich ein kurzer Realitätstest mit einer frischen Session.
Wenn gleichnamige Skills an mehreren Stellen liegen, hilft ein eindeutiger Name mehr als späteres Debugging. Doppelte oder zu generische Skill-Namen sorgen schneller für Verwirrung als für Wiederverwendung.
Wo du Skills heute wirklich nachschlägst
Die belastbarste Referenz bleibt die offizielle Dokumentation:
https://docs.openclaw.ai/tools/skillshttps://docs.openclaw.ai/tools/creating-skillshttps://docs.openclaw.ai/tools/skills-config
Zusätzlich lohnt sich immer ein Blick in die lokal installierte CLI-Hilfe, weil sich Unterbefehle je nach Version ändern können:
openclaw --help
openclaw config --help
openclaw config --section skills
Falls deine Installation einen eigenen Skills-Unterbefehl mitbringt, zeigt die Hilfe die gültige Syntax:
openclaw skills --help
Wenn dieser Unterbefehl fehlt, ist das in der Regel ein Versions- oder Feature-Unterschied, kein Widerspruch zum Tutorial. Entscheidend ist nicht irgendein alter Blogpost, sondern das, was deine installierte OpenClaw-Version und die offizielle Doku tatsächlich unterstützen.
Eigenen Skill anlegen
Für die meisten Fälle brauchst du kein komplexes Plugin, sondern erst einmal einen sauberen Ablauf in einer SKILL.md. Das folgende Beispiel nutzt ./skills im aktuellen Workspace. Wenn OpenClaw diesen Ordner bei dir nicht automatisch lädt, trag ihn wie oben beschrieben über skills.load.extraDirs ein oder nutze den in deiner Installation dokumentierten Skill-Pfad.
Lege zuerst den Ordner an:
mkdir -p ./skills/quick-weather
Danach eine einfache SKILL.md:
cat > ./skills/quick-weather/SKILL.md <<'EOF'
---
name: quick-weather
description: Fragt das aktuelle Wetter ab und fasst es kurz zusammen.
---
# Quick Weather
Nutze diesen Skill, wenn der Nutzer nach dem aktuellen Wetter oder einer kurzen Wettervorhersage fragt.
## Was vorhanden sein muss
- Ein geeignetes Wetter-, Web- oder API-Tool muss verfügbar sein.
- Falls ein API-Key gebraucht wird, gehört er nicht in diese Datei, sondern in Konfiguration, Secrets oder Umgebungsvariablen.
## Ablauf
1. Frage nach dem Ort, falls keiner genannt wurde.
2. Frage nach dem Zeitraum, falls er für die Antwort wichtig ist.
3. Nutze ein verfügbares Wetter-, Web- oder API-Tool für die Abfrage.
4. Wenn kein passendes Tool existiert, erkläre knapp, was fehlt.
5. Antworte kurz und praktisch.
## Output-Format
- Zeile 1: Ort und Zeitraum
- Danach 2 bis 4 Bulletpoints mit Temperatur, Trend, Niederschlag oder Wind und einem praktischen Hinweis
EOF
Prüfe danach mindestens diese Punkte:
ls -l ./skills/quick-weather/SKILL.md
openclaw config file
openclaw config get skills --json
openclaw config validate
Starte anschließend eine neue Session oder lade OpenClaw so neu, wie es deine Installation vorsieht. Ob ein kompletter Reload nötig ist, hängt vom Setup und davon ab, wann der Agent seine Skill-Liste neu aufbaut.
Wenn der Skill nicht auftaucht, liegt es meist an einem dieser Punkte:
- Die Datei liegt nicht wirklich unter
./skills/quick-weather/SKILL.mdim aktiven Workspace. - Du arbeitest im falschen Workspace.
- Das Skill-Verzeichnis ist nicht Teil der aktiven Skills-Konfiguration.
- Der Skill ist über
agents.defaults.skillsoderagents.list[].skillsfür den Agenten nicht sichtbar. openclaw config validatemeldet Fehler.- Es gibt denselben Skill-Namen noch an anderer Stelle.
- Ein nötiges Binary oder Tool fehlt, wodurch OpenClaw den Skill beim Laden aussortiert.
Skills gezielt konfigurieren
Für einfache Workspace-Skills reicht oft schon die richtige Ablage. Sobald du gezielt steuern willst, welche Skills aktiv sind oder aus welchen Verzeichnissen sie geladen werden, führt der Weg über die dokumentierte Skills-Konfiguration.4
Der passende Einstiegspunkt in der CLI:
openclaw config --section skills
Oder allgemeiner:
openclaw config --help
openclaw config schema
Wenn du den aktiven Wert eines Konfigurationspfads direkt prüfen willst, ist dafür laut CLI-Doku config get gedacht:3
openclaw config get skills --json
Nach manuellen Änderungen an openclaw.json immer noch einmal validieren:
openclaw config validate
Praxisbeispiel: GitHub-Issues beobachten
Ein gutes Skill-Beispiel ist ein kleiner Helfer für offene GitHub-Issues. Der Skill führt kein eigenes Skript mit, sondern sagt dem Agenten, wie er vorhandene Tools sicher und lesend einsetzen soll.
Was hier zusätzlich nötig ist
Die GitHub CLI sollte installiert und angemeldet sein. Die Referenz für gh auth status steht im offiziellen GitHub-CLI-Manual.6
gh --version
gh auth status
Optional für lokale JSON-Auswertung:
jq --version
Wenn gh auth status fehlschlägt, zuerst anmelden:
gh auth login
Skill anlegen
mkdir -p ./skills/github-issues-watch
cat > ./skills/github-issues-watch/SKILL.md <<'EOF'
---
name: github-issues-watch
description: Prüft offene GitHub-Issues in einem Repository und fasst die wichtigsten Einträge zusammen.
---
# GitHub Issues Watch
Nutze diesen Skill, wenn der Nutzer offene GitHub-Issues eines Repositorys prüfen möchte.
## Was vorhanden sein muss
- Die GitHub CLI `gh` muss installiert sein.
- Der Nutzer muss mit `gh auth status` angemeldet sein.
- Ein Shell-/Exec-Tool muss für diesen Workspace verfügbar sein.
- Der Skill arbeitet nur lesend und führt keine destruktiven GitHub-Aktionen aus.
## Sicherheitsregeln
- Akzeptiere Repositorys nur im Format `owner/repo`.
- Verwende keine Shell-Verkettungen mit unvalidierten Nutzereingaben.
- Führe keine Befehle wie `gh issue edit`, `gh issue close`, `git push`, Löschen, Überschreiben oder Massenänderungen aus.
- Wenn ein Befehl Schreibrechte verlangen würde, frage vorher explizit nach und brich in diesem Skill standardmäßig ab.
## Ablauf
1. Frage nach dem Repository im Format `owner/repo`, falls es nicht genannt wurde.
2. Prüfe mit `gh auth status`, ob die GitHub CLI authentifiziert ist.
3. Wenn keine Authentifizierung vorhanden ist, fordere den Nutzer zu `gh auth login` auf.
4. Liste maximal 5 offene Issues, bevorzugt strukturiert per JSON:
`gh issue list --repo <owner/repo> --state open --limit 5 --json number,title,labels,createdAt,url`
5. Fasse das Ergebnis strukturiert zusammen.
6. Wenn der Befehl fehlschlägt, nenne den wahrscheinlichsten Grund: falsches Repository, fehlende Rechte, fehlendes `gh`, fehlende Authentifizierung oder ein Netzwerkproblem.
## Output-Format
- Repository
- Anzahl oder sichtbare offene Issues
- Pro Issue: Nummer, Titel, Labels falls vorhanden, Erstellungsdatum falls verfügbar, URL falls verfügbar
- Kurzer Hinweis, welchen Issue man zuerst prüfen sollte
EOF
Danach wieder gegenprüfen:
ls -l ./skills/github-issues-watch/SKILL.md
openclaw config validate
In einer neuen Agent-Session könnte die Anfrage dann so aussehen:
Prüfe mit dem GitHub-Issues-Skill die offenen Issues in owner/repo.
Wichtig für die Praxis: Der Skill startet nichts heimlich im Hintergrund. Er beschreibt nur den Ablauf für den Moment, in dem der Nutzer ihn tatsächlich anfragt. Für regelmäßige Hintergrundchecks brauchst du zusätzlich eine passende Automations- oder Scheduling-Funktion in OpenClaw.
Sicherheit und Best Practices
Weil Skills dieselben Tools anschieben können wie der Agent selbst, entscheidet saubere Rechteverwaltung über den Unterschied zwischen nützlich und riskant:
- Quellen prüfen: Übernimm Skills nur aus nachvollziehbaren Quellen und lies jede
SKILL.md, bevor du sie aktiv nutzt. - Keine Geheimnisse in Skills: API-Keys, Tokens und Passwörter gehören nicht in
SKILL.md, sondern in Secrets, Umgebungsvariablen oder die dafür vorgesehene OpenClaw-Konfiguration. - Least Privilege: Gib dem Agenten nur die Tools und Pfade, die für den jeweiligen Workspace wirklich nötig sind.
- Shell-Kommandos begrenzen: Ein guter Skill sagt klar, ob er nur lesend arbeitet. Destruktive Befehle brauchen eine explizite Freigabe.
- Eingaben validieren: Besonders bei Shell-/Exec-Befehlen müssen Repository-Namen, Dateipfade, URLs und andere Nutzereingaben vor der Verwendung plausibel sein.
- Fehlerbehandlung beschreiben: Ein sauberer Skill sagt auch, was passiert, wenn ein Tool fehlt, eine API nicht erreichbar ist oder Authentifizierung fehlt.
- Nicht zu viel Magie erwarten: Ein Skill ersetzt keine fehlenden Tools, keine fehlenden Rechte und keine kaputte Konfiguration.
- Immer validieren: Nach Konfigurationsänderungen gehört
openclaw config validatezum Pflichtprogramm.
Fazit
Skills sind in OpenClaw der Punkt, an dem aus allgemeiner Modellintelligenz wiederholbare Arbeitsweise wird. Wenn du sie sauber schreibst, mit real verfügbaren Tools koppelst und ihre Sichtbarkeit über die Konfiguration im Griff hast, wird aus einem generischen Agenten ein deutlich brauchbarerer Assistent für deinen Alltag.
Im nächsten Teil geht es um den Workspace selbst: also um die Dateien, Kontexte und festen Regeln, die dem Agenten eine stabile Rolle geben.
🔗 Verwandte Artikel:
- OpenClaw Tutorial Teil 4: Telegram & WhatsApp verbinden
- OpenClaw Modelle konfigurieren – Teil 3: OpenAI, Anthropic, OpenRouter
- OpenClaw Tutorial Teil 6: Workspace einrichten
Footnotes
Transparenz
Agentenlog nutzt KI-Assistenz für Recherche, Struktur und Entwurf. Inhaltliche Auswahl, Einordnung und Veröffentlichung liegen redaktionell bei Agentenlog; Quellen und Fakten werden vor Veröffentlichung geprüft.
Quellen
Serie: OpenClaw installieren & einrichten
Das könnte dich auch interessieren
iMessage mit OpenClaw verbinden: Apple Messages auf dem Mac sauber einrichten
So richtest du OpenClaw mit iMessage über imsg ein, prüfst macOS-Rechte, Pairing, Gruppen und typische Fehler beim lokalen oder entfernten Mac-Setup.
Slack mit OpenClaw verbinden: Bot, Mentions und Routing sauber einrichten
OpenClaw kann in Slack per Socket Mode, HTTP Request URLs oder Relay Mode laufen. Entscheidend sind Bot-Setup, Gruppenzugriff, Mention-Gating, DM/Pairing-Verhalten und deterministisches Routing.
Signal mit OpenClaw verbinden: signal-cli, Pairing, Gruppen und Troubleshooting
So bindest du Signal per signal-cli an OpenClaw an, prüfst Pairing und Gruppenrouting und findest typische Fehler bei Container-, Daemon- und Bot-Setups.