SKILL.md Struktur¶
Skills erweitern Claude Code mit wiederverwendbaren Anweisungen und Workflows.
Was ist ein Skill?¶
Ein Skill ist ein Ordner mit einer SKILL.md-Datei, die:
- Trigger definiert (wann wird der Skill geladen?)
- Instructions enthält (was soll Claude tun?)
- Supporting Files mitbringen kann (Templates, Beispiele)
Dateistruktur¶
~/.claude/skills/
└── my-skill/
├── SKILL.md # Hauptdatei (erforderlich)
├── template.md # Optional: Templates
├── examples/ # Optional: Beispiele
└── config.json # Optional: Konfiguration
SKILL.md Aufbau¶
Jede SKILL.md besteht aus zwei Teilen:
1. YAML Frontmatter¶
---
name: code-review
description: Führt strukturierte Code Reviews durch.
Aktiviert bei Review-Anfragen oder wenn der User
"review" oder "prüfe" erwähnt.
context: conversation # oder: fork, project
agent: Explore # Optional: Agent-Typ
allowed-tools: # Optional: Tool-Beschränkung
- Read
- Glob
- Grep
---
2. Markdown Instructions¶
## Code Review Prozess
Wenn du Code reviewst, folge diesem Schema:
### 1. Übersicht
- Lies zuerst alle geänderten Dateien
- Verstehe den Kontext der Änderung
### 2. Analyse
Prüfe auf:
- [ ] Security-Probleme
- [ ] Performance-Issues
- [ ] Code-Style-Verletzungen
- [ ] Fehlende Tests
### 3. Output
Erstelle einen Review-Report mit:
- Kritische Issues (müssen gefixt werden)
- Empfehlungen (sollten gefixt werden)
- Nitpicks (nice to have)
Frontmatter-Felder¶
| Feld | Pflicht | Beschreibung |
|---|---|---|
name |
✅ | Wird zum /slash-command |
description |
✅ | Wann Skill aktiviert wird |
context |
❌ | conversation (default), fork, project |
agent |
❌ | Agent-Typ: Explore, Code, etc. |
allowed-tools |
❌ | Tool-Whitelist |
Context-Modi¶
conversation (default)¶
Skill läuft im aktuellen Conversation-Context:
fork¶
Skill läuft in isoliertem Context, Änderungen sind temporär:
Gut für: Experimente, Was-wäre-wenn-Analysen
project¶
Skill hat Zugriff auf Projekt-Settings und CLAUDE.md:
Dynamische Befehle¶
Skills können Shell-Befehle einbetten, die vor der Ausführung laufen:
## PR Context
- PR Diff: !`gh pr diff`
- PR Comments: !`gh pr view --comments`
- Changed Files: !`gh pr diff --name-only`
Analysiere diese PR und fasse zusammen...
Die !`command` Syntax führt den Befehl aus und ersetzt den Platzhalter mit dem Output.
Extended Thinking aktivieren¶
Füge ultrathink irgendwo im Skill-Content ein:
Beispiel: Vollständiger Skill¶
---
name: security-audit
description: Führt Security-Audit durch. Aktiviert bei
Sicherheitsanfragen oder CVE-Erwähnungen.
context: fork
allowed-tools:
- Read
- Glob
- Grep
- Bash(npm audit*)
- Bash(pip-audit*)
---
# Security Audit
## Schritt 1: Dependency Check
Prüfe Dependencies auf bekannte Vulnerabilities:
- Node.js: !`npm audit --json 2>/dev/null || echo "no npm"`
- Python: !`pip-audit --format json 2>/dev/null || echo "no pip"`
## Schritt 2: Code Analysis
Suche nach:
- Hardcoded Secrets (API Keys, Passwords)
- SQL Injection Patterns
- XSS Vulnerabilities
- Insecure Deserialization
## Schritt 3: Report
Erstelle Report mit:
1. Executive Summary
2. Kritische Findings
3. Empfehlungen
4. Referenzen (CVE-IDs wenn applicable)
Skill vs CLAUDE.md¶
| Aspekt | SKILL.md | CLAUDE.md |
|---|---|---|
| Scope | Spezifischer Task | Gesamtes Projekt |
| Aktivierung | On-demand (Slash-Command) | Immer geladen |
| Wiederverwendung | Über Projekte hinweg | Pro Projekt |
| Komplexität | Kann komplex sein | Sollte kurz sein |