Wiederverwendbare Agent Skills, die Claude bei passenden Aufgaben automatisch lädt – als SKILL.md mit YAML-Frontmatter.
Skills (Agent Skills) sind wiederverwendbare Fähigkeiten, die du Claude Code als Verzeichnis mit einer SKILL.md-Datei beibringst. Statt jedes Mal den gleichen Prompt zu formulieren, beschreibst du einmal in der SKILL.md, was der Skill kann – und Claude lädt ihn automatisch, sobald eine Aufgabe dazu passt. Dieser Guide zeigt dir, wie du eigene Skills erstellst und effektiv einsetzt.
Agent Skills sind kein reines Entwickler-Werkzeug: Auch in den Claude-Apps (claude.ai im Browser und Desktop) sowie in Projects kannst du Skills aktivieren und nutzen – dort verwaltest du sie über die Einstellungen statt als Datei im Terminal. Das Konzept ist identisch: Claude lädt einen Skill automatisch, sobald eine Aufgabe zur description passt. Unterschiedlich ist nur, wie du den Skill anlegst. Dieser Guide zeigt den dateibasierten Weg über Claude Code (SKILL.md) – die mächtigste Variante, ideal für versionierbare Team-Workflows.
Für Entwickler, die Claude Code regelmäßig nutzen und merken, dass sie bestimmte Aufgaben immer wieder auf die gleiche Weise erledigen. Skills standardisieren diese Workflows und sparen dir Tipparbeit.
SKILL.md erstellstEin Agent Skill ist ein Verzeichnis mit einer Datei namens SKILL.md. Diese Datei hat zwei Teile: ein YAML-Frontmatter mit Metadaten und einen Markdown-Teil mit den eigentlichen Anweisungen.
---
name: commit-messages
description: Erstellt Conventional-Commit-Nachrichten aus den aktuellen Git-Änderungen. Nutze diesen Skill, wenn ein Commit erstellt werden soll.
---
Analysiere alle aktuellen Änderungen (git diff --staged und unstaged)
und erstelle einen Commit mit einer Conventional Commit Message ...
Das Frontmatter braucht mindestens zwei Felder:
name – Kleinbuchstaben, Ziffern und Bindestriche, maximal 64 Zeichendescription – eine prägnante Beschreibung, wann der Skill genutzt werden soll (maximal 1024 Zeichen)Der entscheidende Punkt: Du rufst einen Skill nicht manuell auf. Claude lädt beim Start nur name und description jedes Skills (rund 100 Token pro Skill) in den Kontext. Sobald eine Aufgabe zur description passt, lädt Claude die vollständige SKILL.md automatisch und befolgt die Anweisungen. Diese Auto-Invocation ist das Herzstück von Agent Skills.
Agent Skills (.claude/skills/<name>/SKILL.md) werden von Claude automatisch geladen, wenn die description zur Aufgabe passt. Slash-Commands (.claude/commands/<name>.md) sind etwas anderes: Sie erzeugen einen Befehl wie /commit, den du manuell eintippst. Beide gibt es weiterhin – aber sie sind nicht dasselbe. Dieser Guide behandelt Agent Skills; Slash-Commands eignen sich, wenn du einen Workflow bewusst per Tastendruck auslösen willst.
Jeder Skill bekommt ein eigenes Unterverzeichnis mit einer SKILL.md darin – entweder im Projekt oder global:
.claude/skills/<name>/SKILL.md im Projektverzeichnis – nur für dieses Projekt verfügbar, können ins Repository committed werden~/.claude/skills/<name>/SKILL.md im Home-Verzeichnis – in jedem Projekt verfügbar.claude/
└── skills/
└── commit-messages/
└── SKILL.md
Projekt-Skills werden von allen Teammitgliedern geteilt, wenn sie ins Git-Repository committed werden. Globale Skills sind nur für dich sichtbar.
Projekt-Skills (.claude/skills/) werden ins Repository committed – dein ganzes Team nutzt sie. Globale Skills (~/.claude/skills/) sind nur für dich sichtbar. Faustregel: Alles, was teamweit gelten soll, gehört ins Projekt.
Erstelle das Verzeichnis .claude/skills/<name>/ in deinem Projekt (oder in ~/.claude/skills/<name>/ für globale Skills). Beispiel: .claude/skills/commit-messages/.
.claude/ existiert möglicherweise schon. Lege darunter skills/<name>/ an – jeder Skill bekommt einen eigenen Ordner. Lege in dem Verzeichnis eine Datei SKILL.md an. Sie beginnt mit YAML-Frontmatter (name und description), gefolgt von den Anweisungen als Markdown.
Die description entscheidet, wann Claude den Skill lädt. Beschreibe konkret, WAS der Skill tut und WANN er genutzt werden soll – z.B. 'Erstellt Conventional-Commit-Nachrichten. Nutze diesen Skill, wenn ein Commit erstellt werden soll.'
Schreibe unter dem Frontmatter die eigentlichen Anweisungen als Markdown. Der Inhalt ist das, was Claude befolgt, sobald der Skill geladen wird. Schreibe klar und spezifisch – wie einen guten Prompt.
Starte Claude Code und stelle eine Aufgabe, die zur description passt (z.B. 'Erstelle einen Commit'). Prüfe, ob Claude den Skill automatisch lädt und das Ergebnis stimmt. Passe die SKILL.md an, bis es passt.
Datei: .claude/skills/commit-messages/SKILL.md
---
name: commit-messages
description: Erstellt Conventional-Commit-Nachrichten aus den aktuellen Git-Änderungen. Nutze diesen Skill, wenn ein Commit erstellt werden soll.
---
Analysiere alle aktuellen Änderungen (git diff --staged und unstaged).
Erstelle einen Commit mit einer Conventional Commit Message:
- Format: type(scope): beschreibung
- Types: feat, fix, refactor, docs, test, chore
- Scope: betroffenes Modul oder Feature
- Beschreibung: kurz, prägnant, auf Englisch
Zeige mir die vorgeschlagene Message, bevor du den Commit erstellst.
Auslöser: „Erstelle einen Commit für meine Änderungen.”
Datei: .claude/skills/code-review/SKILL.md
---
name: code-review
description: Führt ein strukturiertes Code Review einer Datei durch. Nutze diesen Skill, wenn Code überprüft oder reviewt werden soll.
---
Führe ein Code Review für die angegebene Datei durch.
Prüfe diese Punkte:
1. **Lesbarkeit:** Sind Variablennamen verständlich? Gibt es unnötige Komplexität?
2. **Fehlerbehandlung:** Werden Fehlerfälle abgefangen? Gibt es fehlende try/catch?
3. **Typen:** Gibt es `any` oder fehlende Typ-Annotationen?
4. **Tests:** Gibt es Tests für die Kernlogik? Fehlen Edge Cases?
5. **Security:** Gibt es hartcodierte Secrets, SQL-Injection-Risiken oder unsanitized Input?
Gib für jeden Punkt eine Bewertung (OK / Verbesserung nötig) und konkrete Vorschläge.
Auslöser: „Review die Datei src/auth/login.ts.”
Datei: .claude/skills/docstrings/SKILL.md
---
name: docstrings
description: Generiert JSDoc-Dokumentation für eine Funktion. Nutze diesen Skill, wenn Code dokumentiert werden soll.
---
Generiere Dokumentation für die angegebene Funktion.
Format:
- Kurzbeschreibung (1-2 Sätze)
- Parameter mit Typen und Beschreibung
- Rückgabewert
- Beispiel-Aufruf
- Mögliche Fehler
Schreibe die Dokumentation als JSDoc-Kommentar direkt in die Datei.
Wenn die Funktion bereits dokumentiert ist, aktualisiere die bestehende
Dokumentation.
Auslöser: „Dokumentiere die Funktion in src/utils/formatDate.ts.”
Skills sind so gebaut, dass sie den Kontext schonen. Claude lädt beim Start nur name und description jedes Skills – die vollständige SKILL.md erst, wenn der Skill tatsächlich gebraucht wird. Dieses gestufte Laden heißt Progressive Disclosure.
Für umfangreichere Skills kannst du neben der SKILL.md weitere Dateien im Skill-Verzeichnis ablegen – sogenannte Supporting Files (z.B. Referenzdokumente, Vorlagen oder Skripte). Claude lädt diese nur bei Bedarf nach. So bleibt der Kontext schlank, auch wenn ein Skill viel Wissen mitbringt.
.claude/skills/code-review/
├── SKILL.md
├── checklist.md ← Supporting File, nur bei Bedarf geladen
└── examples/
└── good-review.md
Die description entscheidet, ob Claude den Skill im richtigen Moment lädt. 'Hilft beim Programmieren' ist zu vage – beschreibe konkret, WAS der Skill tut und WANN er genutzt werden soll.
Diese drei Erweiterungen klingen ähnlich, funktionieren aber unterschiedlich:
| Aspekt | Agent Skills | Slash-Commands | Hooks |
|---|---|---|---|
| Auslöser | Automatisch (Claude erkennt die passende Aufgabe) | Manuell (du tippst /command-name) | Automatisch (bei bestimmten Events) |
| Ablage | .claude/skills/<name>/SKILL.md | .claude/commands/<name>.md | settings.json |
| Format | YAML-Frontmatter + Markdown-Anweisungen | Markdown mit Prompt | JSON mit Command-Definition |
| Zweck | Wiederkehrende Fähigkeiten, die Claude selbst einsetzt | Workflows, die du bewusst per Befehl auslöst | Automatische Aktionen bei Events |
| Beispiel | Commit-Messages erstellen | /deploy für ein Deployment | Pre-Commit Hook für Linting |
Agent Skills lädt Claude selbst, sobald eine Aufgabe zur description passt. Slash-Commands löst du gezielt per Tastendruck aus. Hooks laufen automatisch im Hintergrund bei bestimmten Events.
Mehr zum Unterschied zwischen Skills und anderen Erweiterungen findest du im Vergleich Skills vs. MCP.
Du willst, dass Claude Code bei jeder Dateiänderung automatisch den Linter ausführt. Was brauchst du?
description: Wenn die description nicht klar sagt, WANN der Skill greift, lädt Claude ihn im falschen Moment oder gar nicht. Beschreibe Aufgabe und Auslöser konkret..claude/skills/ ins Repository.Erstelle einen Skill, der Conventional Commit Messages generiert:
.claude/skills/commit-messages/ in deinem Projekt.claude/skills/commit-messages/SKILL.md mit YAML-Frontmatter (name, description)description und die Anweisungen an, bis die Messages deinem Stil entsprechenDu kannst jetzt eigene Skills erstellen und wiederkehrende Aufgaben automatisieren. Entdecke weitere Möglichkeiten, Claude Code zu erweitern, unter Mit Claude bauen. Oder lies den Vergleich Skills vs. MCP, um zu verstehen, wann welche Erweiterung die richtige ist.
Wissen testen, Entscheidungen trainieren oder den nächsten Guide starten.