Wiederverwendbare Slash-Commands für deine häufigsten Aufgaben — in wenigen Minuten eingerichtet.
Skills sind wiederverwendbare Prompt-Templates, die du als Slash-Commands in Claude Code nutzen kannst. Statt jedes Mal den gleichen Prompt zu formulieren, erstellst du einmal einen Skill — und rufst ihn danach mit /skill-name auf. Dieser Guide zeigt dir, wie du eigene Skills erstellst und effektiv einsetzt.
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.
$ARGUMENTS dynamische Skills baustSkills sind Markdown-Dateien, die einen Prompt-Template enthalten. Jede Datei wird zu einem Slash-Command, den du in Claude Code aufrufen kannst. Der Dateiname bestimmt den Command-Namen:
commit.md → /commitreview.md → /reviewdoc.md → /docWenn du /commit eingibst, liest Claude Code den Inhalt von commit.md und führt den darin definierten Prompt aus — mit dem aktuellen Kontext deines Projekts.
Skills liegen im Verzeichnis .claude/commands/ — entweder im Projekt oder global:
.claude/commands/ im Projektverzeichnis — nur für dieses Projekt verfügbar, können ins Repository committed werden~/.claude/commands/ im Home-Verzeichnis — in jedem Projekt verfügbarProjekt-Skills werden von allen Teammitgliedern geteilt, wenn sie ins Git-Repository committed werden. Globale Skills sind nur für dich sichtbar.
Projekt-Skills (.claude/commands/) werden ins Repository committed — dein ganzes Team nutzt sie. Globale Skills (~/.claude/commands/) sind nur für dich sichtbar. Faustregel: Alles, was teamweit gelten soll, gehört ins Projekt.
Erstelle das Verzeichnis .claude/commands/ in deinem Projekt (oder in ~/.claude/commands/ für globale Skills).
.claude/ existiert möglicherweise schon. Erstelle nur den Unterordner commands/. Erstelle eine Datei mit dem gewünschten Command-Namen. Beispiel: .claude/commands/commit.md wird zum Command /commit.
Schreibe den Prompt als Markdown in die Datei. Der Inhalt ist das, was Claude Code ausführt, wenn du den Skill aufrufst. Schreibe klar und spezifisch — wie einen guten Prompt.
Verwende $ARGUMENTS als Platzhalter für Eingaben, die du beim Aufruf übergibst. Beispiel: /commit fix login bug ersetzt $ARGUMENTS durch 'fix login bug'.
Starte Claude Code und tippe /commit (oder deinen Skill-Namen). Prüfe, ob das Ergebnis deinen Erwartungen entspricht. Passe die Datei an, bis es passt.
Datei: .claude/commands/commit.md
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
Wenn $ARGUMENTS angegeben ist, verwende es als Hinweis für den Scope
oder die Beschreibung.
Zeige mir die vorgeschlagene Message, bevor du den Commit erstellst.
Aufruf: /commit oder /commit login validation
Datei: .claude/commands/review.md
Führe ein Code Review für die Datei $ARGUMENTS 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.
Aufruf: /review src/auth/login.ts
Datei: .claude/commands/doc.md
Generiere Dokumentation für $ARGUMENTS.
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.
Aufruf: /doc src/utils/formatDate.ts
Die Variable $ARGUMENTS macht Skills flexibel. Alles, was du nach dem Skill-Namen eingibst, wird als $ARGUMENTS eingesetzt:
| Aufruf | $ARGUMENTS wird zu |
|---|---|
/review src/app.ts | src/app.ts |
/commit fix date parsing | fix date parsing |
/doc | (leer — der Skill sollte damit umgehen können) |
Tipp: Formuliere deine Skills so, dass sie auch ohne $ARGUMENTS sinnvoll funktionieren. Beispiel: “Wenn $ARGUMENTS leer ist, analysiere die zuletzt geänderte Datei.”
Ein guter Skill gibt klare Kriterien und Struktur vor. 'Ob der Code gut ist' ist zu vage — Claude braucht prüfbare Punkte.
Skills und Hooks klingen ähnlich, funktionieren aber unterschiedlich:
| Aspekt | Skills | Hooks |
|---|---|---|
| Auslöser | Manuell (du tippst /skill-name) | Automatisch (bei bestimmten Events) |
| Format | Markdown-Datei mit Prompt | JSON/YAML mit Command-Definition |
| Zweck | Wiederkehrende Aufgaben standardisieren | Automatische Aktionen bei Events |
| Beispiel | /commit für Commit Messages | Pre-Commit Hook für Linting |
Skills sind interaktiv — du entscheidest, wann du sie aufrufst. Hooks laufen automatisch im Hintergrund.
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?
$ARGUMENTS nicht nutzen: Skills ohne Variablen sind statisch und weniger nützlich. Nutze $ARGUMENTS, um Skills flexibel zu machen..claude/commands/ ins Repository.$ARGUMENTS fehlt oder die Datei nicht existiert.Erstelle einen /commit Skill, der Conventional Commit Messages generiert:
.claude/commands/ in deinem Projekt.claude/commands/commit.md/commit auf und prüfe die generierte MessageDu 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.