Custom Skills erstellen¶
Eigene Skills bauen für wiederkehrende Workflows.
Skill-Speicherorte¶
Personal Skills (global)¶
Verfügbar in allen Projekten.
Project Skills (lokal)¶
Nur in diesem Projekt verfügbar, wird mit Git committed.
Schnellstart: Erster Skill¶
1. Ordner erstellen¶
2. SKILL.md schreiben¶
cat > ~/.claude/skills/morning-standup/SKILL.md << 'EOF'
---
name: standup
description: Generiert täglichen Standup-Report basierend auf Git-History
---
# Morning Standup Generator
## Gestern
Analysiere die Git-Commits von gestern:
!`git log --since="yesterday" --until="today" --oneline --author="$(git config user.email)"`
## Heute geplant
Basierend auf:
- Offene TODOs im Code: !`grep -r "TODO" src/ --include="*.ts" | head -10`
- Offene Issues: !`gh issue list --assignee @me --limit 5 2>/dev/null || echo "no gh cli"`
## Blocker
Frage den User nach aktuellen Blockern.
## Output
Formatiere als kurzen Standup-Text (max 3 Bullet Points pro Sektion).
EOF
3. Skill nutzen¶
Fortgeschrittene Patterns¶
Mit Templates¶
~/.claude/skills/api-endpoint/
├── SKILL.md
└── templates/
├── controller.ts.template
├── service.ts.template
└── test.ts.template
In SKILL.md:
## Templates
Nutze diese Templates aus dem `templates/` Ordner:
- controller.ts.template für den Controller
- service.ts.template für die Business Logic
- test.ts.template für Tests
Passe die Platzhalter an:
- `{{RESOURCE_NAME}}` → Name der Resource
- `{{RESOURCE_PLURAL}}` → Plural-Form
Mit Tool-Beschränkungen¶
Für sichere Skills die nur lesen:
---
name: analyze
description: Analysiert Code ohne Änderungen
allowed-tools:
- Read
- Glob
- Grep
- Bash(cat *)
- Bash(ls *)
- Bash(find *)
---
Mit Agent-Typ¶
Agent-Typen:
- Explore - Lese-fokussiert, vorsichtig
- Code - Schreib-fokussiert, produktiv
Mit Fork-Context¶
Für experimentelle Analysen:
---
name: what-if
description: Was-wäre-wenn Analyse ohne echte Änderungen
context: fork
---
Simuliere die Änderungen und zeige das Ergebnis,
aber führe sie nicht wirklich durch.
Skill-Debugging¶
Skill wird nicht geladen?¶
- Name prüfen - Muss in Frontmatter definiert sein
- Pfad prüfen -
~/.claude/skills/NAME/SKILL.md - Syntax prüfen - YAML Frontmatter muss valide sein
Prüfen welche Skills geladen sind¶
Zeigt alle verfügbaren Slash-Commands inkl. Skills.
Skill-Content debuggen¶
Best Practices¶
DO ✅¶
---
name: pr-review
description: Führt PR-Review durch. Aktiviert bei
"review PR", "check PR", oder "PR prüfen".
allowed-tools:
- Read
- Glob
- Grep
- Bash(gh pr *)
- Bash(git diff *)
---
- Klarer, spezifischer Name
- Beschreibung mit Trigger-Keywords
- Tool-Beschränkung wo sinnvoll
DON'T ❌¶
- Zu kurzer Name
- Nutzlose Beschreibung
- Keine konkreten Instructions
Skill-Bibliothek¶
Hilfreiche Skill-Ideen:
| Skill | Zweck |
|---|---|
changelog |
Generiert CHANGELOG aus Commits |
docs |
Erstellt/aktualisiert Dokumentation |
migration |
Erstellt DB-Migrations |
test-gen |
Generiert Tests für Datei |
refactor |
Strukturiertes Refactoring |
security |
Security-Audit |
performance |
Performance-Analyse |
i18n |
Übersetzungs-Workflow |
Skill-Sharing¶
Im Team teilen¶
Projekt-Skills in .claude/skills/ committen:
Öffentlich teilen¶
Skills können als Gist oder Repo geteilt werden: