Diese Anleitung zeigt Ihnen, wie Sie Agent Skills in Claude Code erstellen, verwenden und verwalten. Skills sind modulare Fähigkeiten, die Claudes Funktionalität durch organisierte Ordner erweitern, die Anweisungen, Skripte und Ressourcen enthalten.

Voraussetzungen

  • Claude Code Version 1.0 oder später
  • Grundlegende Vertrautheit mit Claude Code

Was sind Agent Skills?

Agent Skills verpacken Expertise in entdeckbare Fähigkeiten. Jeder Skill besteht aus einer SKILL.md-Datei mit Anweisungen, die Claude liest, wenn relevant, plus optionale unterstützende Dateien wie Skripte und Vorlagen. Wie Skills aufgerufen werden: Skills sind modell-aufgerufen—Claude entscheidet autonom, wann sie basierend auf Ihrer Anfrage und der Beschreibung des Skills verwendet werden. Dies unterscheidet sich von Slash-Befehlen, die benutzer-aufgerufen sind (Sie tippen explizit /command, um sie auszulösen). Vorteile:
  • Erweitern Sie Claudes Fähigkeiten für Ihre spezifischen Arbeitsabläufe
  • Teilen Sie Expertise in Ihrem Team über git
  • Reduzieren Sie wiederholende Eingabeaufforderungen
  • Kombinieren Sie mehrere Skills für komplexe Aufgaben
Erfahren Sie mehr in der Agent Skills Übersicht.
Für einen tiefen Einblick in die Architektur und reale Anwendungen von Agent Skills lesen Sie unseren Engineering-Blog: Equipping agents for the real world with Agent Skills.

Einen Skill erstellen

Skills werden als Verzeichnisse gespeichert, die eine SKILL.md-Datei enthalten.

Persönliche Skills

Persönliche Skills sind in allen Ihren Projekten verfügbar. Speichern Sie sie in ~/.claude/skills/:
mkdir -p ~/.claude/skills/mein-skill-name
Verwenden Sie persönliche Skills für:
  • Ihre individuellen Arbeitsabläufe und Präferenzen
  • Experimentelle Skills, die Sie entwickeln
  • Persönliche Produktivitätstools

Projekt-Skills

Projekt-Skills werden mit Ihrem Team geteilt. Speichern Sie sie in .claude/skills/ innerhalb Ihres Projekts:
mkdir -p .claude/skills/mein-skill-name
Verwenden Sie Projekt-Skills für:
  • Team-Arbeitsabläufe und Konventionen
  • Projektspezifische Expertise
  • Geteilte Utilities und Skripte
Projekt-Skills werden in git eingecheckt und sind automatisch für Teammitglieder verfügbar.

Plugin-Skills

Skills können auch von Claude Code Plugins stammen. Plugins können Skills bündeln, die automatisch verfügbar sind, wenn das Plugin installiert ist. Diese Skills funktionieren genauso wie persönliche und Projekt-Skills.

SKILL.md schreiben

Erstellen Sie eine SKILL.md-Datei mit YAML-Frontmatter und Markdown-Inhalt:
---
name: Ihr Skill-Name
description: Kurze Beschreibung dessen, was dieser Skill tut und wann er verwendet werden soll
---

# Ihr Skill-Name

## Anweisungen
Geben Sie klare, schrittweise Anleitung für Claude.

## Beispiele
Zeigen Sie konkrete Beispiele für die Verwendung dieses Skills.
Das description-Feld ist entscheidend für Claude, um zu entdecken, wann Ihr Skill verwendet werden soll. Es sollte sowohl enthalten, was der Skill tut, als auch wann Claude ihn verwenden sollte. Siehe den Best Practices Leitfaden für vollständige Erstellungsanleitung.

Unterstützende Dateien hinzufügen

Erstellen Sie zusätzliche Dateien neben SKILL.md:
mein-skill/
├── SKILL.md (erforderlich)
├── reference.md (optionale Dokumentation)
├── examples.md (optionale Beispiele)
├── scripts/
│   └── helper.py (optionales Utility)
└── templates/
    └── template.txt (optionale Vorlage)
Verweisen Sie auf diese Dateien von SKILL.md:
Für erweiterte Nutzung siehe [reference.md](reference.md).

Führen Sie das Hilfsskript aus:
```bash
python scripts/helper.py input.txt
```
Claude liest diese Dateien nur bei Bedarf und verwendet progressive Offenlegung, um den Kontext effizient zu verwalten.

Tool-Zugriff mit allowed-tools einschränken

Verwenden Sie das allowed-tools-Frontmatter-Feld, um zu begrenzen, welche Tools Claude verwenden kann, wenn ein Skill aktiv ist:
---
name: Sicherer Dateileser
description: Dateien lesen ohne Änderungen vorzunehmen. Verwenden Sie, wenn Sie schreibgeschützten Dateizugriff benötigen.
allowed-tools: Read, Grep, Glob
---

# Sicherer Dateileser

Dieser Skill bietet schreibgeschützten Dateizugriff.

## Anweisungen
1. Verwenden Sie Read, um Dateiinhalte anzuzeigen
2. Verwenden Sie Grep, um in Dateien zu suchen
3. Verwenden Sie Glob, um Dateien nach Muster zu finden
Wenn dieser Skill aktiv ist, kann Claude nur die angegebenen Tools (Read, Grep, Glob) verwenden, ohne um Erlaubnis fragen zu müssen. Dies ist nützlich für:
  • Schreibgeschützte Skills, die keine Dateien ändern sollten
  • Skills mit begrenztem Umfang (z.B. nur Datenanalyse, kein Dateischreiben)
  • Sicherheitssensitive Arbeitsabläufe, bei denen Sie Fähigkeiten einschränken möchten
Wenn allowed-tools nicht angegeben ist, wird Claude um Erlaubnis fragen, Tools zu verwenden, wie normal, entsprechend dem Standard-Berechtigungsmodell.
allowed-tools wird nur für Skills in Claude Code unterstützt.

Verfügbare Skills anzeigen

Skills werden automatisch von Claude aus drei Quellen entdeckt:
  • Persönliche Skills: ~/.claude/skills/
  • Projekt-Skills: .claude/skills/
  • Plugin-Skills: mit installierten Plugins gebündelt
Um alle verfügbaren Skills anzuzeigen, fragen Sie Claude direkt:
Welche Skills sind verfügbar?
oder
Liste alle verfügbaren Skills auf
Dies zeigt alle Skills aus allen Quellen, einschließlich Plugin-Skills. Um einen spezifischen Skill zu inspizieren, können Sie auch das Dateisystem überprüfen:
# Persönliche Skills auflisten
ls ~/.claude/skills/

# Projekt-Skills auflisten (wenn in einem Projektverzeichnis)
ls .claude/skills/

# Inhalt eines spezifischen Skills anzeigen
cat ~/.claude/skills/mein-skill/SKILL.md

Einen Skill testen

Nach dem Erstellen eines Skills testen Sie ihn, indem Sie Fragen stellen, die Ihrer Beschreibung entsprechen. Beispiel: Wenn Ihre Beschreibung “PDF-Dateien” erwähnt:
Können Sie mir helfen, Text aus dieser PDF zu extrahieren?
Claude entscheidet autonom, Ihren Skill zu verwenden, wenn er zur Anfrage passt—Sie müssen ihn nicht explizit aufrufen. Der Skill aktiviert sich automatisch basierend auf dem Kontext Ihrer Frage.

Einen Skill debuggen

Wenn Claude Ihren Skill nicht verwendet, überprüfen Sie diese häufigen Probleme:

Beschreibung spezifisch machen

Zu vage:
description: Hilft bei Dokumenten
Spezifisch:
description: Text und Tabellen aus PDF-Dateien extrahieren, Formulare ausfüllen, Dokumente zusammenführen. Verwenden Sie bei der Arbeit mit PDF-Dateien oder wenn der Benutzer PDFs, Formulare oder Dokumentenextraktion erwähnt.
Schließen Sie sowohl ein, was der Skill tut, als auch wann er verwendet werden soll, in die Beschreibung ein.

Dateipfad überprüfen

Persönliche Skills: ~/.claude/skills/skill-name/SKILL.md Projekt-Skills: .claude/skills/skill-name/SKILL.md Überprüfen Sie, ob die Datei existiert:
# Persönlich
ls ~/.claude/skills/mein-skill/SKILL.md

# Projekt
ls .claude/skills/mein-skill/SKILL.md

YAML-Syntax überprüfen

Ungültiges YAML verhindert das Laden des Skills. Überprüfen Sie das Frontmatter:
cat SKILL.md | head -n 10
Stellen Sie sicher:
  • Öffnende --- in Zeile 1
  • Schließende --- vor Markdown-Inhalt
  • Gültige YAML-Syntax (keine Tabs, korrekte Einrückung)

Fehler anzeigen

Führen Sie Claude Code mit Debug-Modus aus, um Skill-Ladefehler zu sehen:
claude --debug

Skills mit Ihrem Team teilen

Empfohlener Ansatz: Verteilen Sie Skills über Plugins. Um Skills über Plugin zu teilen:
  1. Erstellen Sie ein Plugin mit Skills im skills/-Verzeichnis
  2. Fügen Sie das Plugin zu einem Marktplatz hinzu
  3. Teammitglieder installieren das Plugin
Für vollständige Anweisungen siehe Skills zu Ihrem Plugin hinzufügen. Sie können Skills auch direkt über Projekt-Repositories teilen:

Schritt 1: Skill zu Ihrem Projekt hinzufügen

Erstellen Sie einen Projekt-Skill:
mkdir -p .claude/skills/team-skill
# SKILL.md erstellen

Schritt 2: In git committen

git add .claude/skills/
git commit -m "Team-Skill für PDF-Verarbeitung hinzufügen"
git push

Schritt 3: Teammitglieder erhalten Skills automatisch

Wenn Teammitglieder die neuesten Änderungen pullen, sind Skills sofort verfügbar:
git pull
claude  # Skills sind jetzt verfügbar

Einen Skill aktualisieren

Bearbeiten Sie SKILL.md direkt:
# Persönlicher Skill
code ~/.claude/skills/mein-skill/SKILL.md

# Projekt-Skill
code .claude/skills/mein-skill/SKILL.md
Änderungen werden beim nächsten Start von Claude Code wirksam. Wenn Claude Code bereits läuft, starten Sie es neu, um die Updates zu laden.

Einen Skill entfernen

Löschen Sie das Skill-Verzeichnis:
# Persönlich
rm -rf ~/.claude/skills/mein-skill

# Projekt
rm -rf .claude/skills/mein-skill
git commit -m "Ungenutzten Skill entfernen"

Best Practices

Skills fokussiert halten

Ein Skill sollte eine Fähigkeit adressieren: Fokussiert:
  • “PDF-Formular ausfüllen”
  • “Excel-Datenanalyse”
  • “Git-Commit-Nachrichten”
Zu breit:
  • “Dokumentenverarbeitung” (in separate Skills aufteilen)
  • “Daten-Tools” (nach Datentyp oder Operation aufteilen)

Klare Beschreibungen schreiben

Helfen Sie Claude zu entdecken, wann Skills verwendet werden sollen, indem Sie spezifische Auslöser in Ihre Beschreibung einschließen: Klar:
description: Excel-Tabellen analysieren, Pivot-Tabellen erstellen und Diagramme generieren. Verwenden Sie bei der Arbeit mit Excel-Dateien, Tabellen oder der Analyse tabellarischer Daten im .xlsx-Format.
Vage:
description: Für Dateien

Mit Ihrem Team testen

Lassen Sie Teammitglieder Skills verwenden und Feedback geben:
  • Aktiviert sich der Skill wie erwartet?
  • Sind die Anweisungen klar?
  • Gibt es fehlende Beispiele oder Grenzfälle?

Skill-Versionen dokumentieren

Sie können Skill-Versionen in Ihrem SKILL.md-Inhalt dokumentieren, um Änderungen über die Zeit zu verfolgen. Fügen Sie einen Versionsverlauf-Abschnitt hinzu:
# Mein Skill

## Versionsverlauf
- v2.0.0 (2025-10-01): Breaking Changes zur API
- v1.1.0 (2025-09-15): Neue Features hinzugefügt
- v1.0.0 (2025-09-01): Erste Veröffentlichung
Dies hilft Teammitgliedern zu verstehen, was sich zwischen Versionen geändert hat.

Fehlerbehebung

Claude verwendet meinen Skill nicht

Symptom: Sie stellen eine relevante Frage, aber Claude verwendet Ihren Skill nicht. Überprüfen: Ist die Beschreibung spezifisch genug? Vage Beschreibungen machen die Entdeckung schwierig. Schließen Sie sowohl ein, was der Skill tut, als auch wann er verwendet werden soll, mit Schlüsselbegriffen, die Benutzer erwähnen würden. Zu generisch:
description: Hilft bei Daten
Spezifisch:
description: Excel-Tabellen analysieren, Pivot-Tabellen generieren, Diagramme erstellen. Verwenden Sie bei der Arbeit mit Excel-Dateien, Tabellen oder .xlsx-Dateien.
Überprüfen: Ist das YAML gültig? Führen Sie eine Validierung aus, um Syntaxfehler zu überprüfen:
# Frontmatter anzeigen
cat .claude/skills/mein-skill/SKILL.md | head -n 15

# Auf häufige Probleme überprüfen
# - Fehlende öffnende oder schließende ---
# - Tabs statt Leerzeichen
# - Unzitierte Strings mit Sonderzeichen
Überprüfen: Ist der Skill am richtigen Ort?
# Persönliche Skills
ls ~/.claude/skills/*/SKILL.md

# Projekt-Skills
ls .claude/skills/*/SKILL.md

Skill hat Fehler

Symptom: Der Skill lädt, funktioniert aber nicht korrekt. Überprüfen: Sind Abhängigkeiten verfügbar? Claude wird automatisch erforderliche Abhängigkeiten installieren (oder um Erlaubnis fragen, sie zu installieren), wenn es sie benötigt. Überprüfen: Haben Skripte Ausführungsberechtigungen?
chmod +x .claude/skills/mein-skill/scripts/*.py
Überprüfen: Sind Dateipfade korrekt? Verwenden Sie Schrägstriche (Unix-Stil) in allen Pfaden: Korrekt: scripts/helper.py Falsch: scripts\helper.py (Windows-Stil)

Mehrere Skills kollidieren

Symptom: Claude verwendet den falschen Skill oder scheint zwischen ähnlichen Skills verwirrt zu sein. Seien Sie spezifisch in Beschreibungen: Helfen Sie Claude, den richtigen Skill zu wählen, indem Sie unterschiedliche Auslöserbegriffe in Ihren Beschreibungen verwenden. Anstatt:
# Skill 1
description: Für Datenanalyse

# Skill 2
description: Für die Analyse von Daten
Verwenden Sie:
# Skill 1
description: Verkaufsdaten in Excel-Dateien und CRM-Exporten analysieren. Verwenden Sie für Verkaufsberichte, Pipeline-Analyse und Umsatzverfolgung.

# Skill 2
description: Log-Dateien und Systemmetriken-Daten analysieren. Verwenden Sie für Performance-Monitoring, Debugging und Systemdiagnose.

Beispiele

Einfacher Skill (einzelne Datei)

commit-helper/
└── SKILL.md
---
name: Commit-Nachrichten generieren
description: Generiert klare Commit-Nachrichten aus git-Diffs. Verwenden Sie beim Schreiben von Commit-Nachrichten oder beim Überprüfen gestufter Änderungen.
---

# Commit-Nachrichten generieren

## Anweisungen

1. Führen Sie `git diff --staged` aus, um Änderungen zu sehen
2. Ich schlage eine Commit-Nachricht vor mit:
   - Zusammenfassung unter 50 Zeichen
   - Detaillierte Beschreibung
   - Betroffene Komponenten

## Best Practices

- Verwenden Sie Präsens
- Erklären Sie was und warum, nicht wie

Skill mit Tool-Berechtigungen

code-reviewer/
└── SKILL.md
---
name: Code-Reviewer
description: Code auf Best Practices und potenzielle Probleme überprüfen. Verwenden Sie beim Überprüfen von Code, Prüfen von PRs oder Analysieren der Code-Qualität.
allowed-tools: Read, Grep, Glob
---

# Code-Reviewer

## Überprüfungs-Checkliste

1. Code-Organisation und -Struktur
2. Fehlerbehandlung
3. Performance-Überlegungen
4. Sicherheitsbedenken
5. Test-Abdeckung

## Anweisungen

1. Lesen Sie die Zieldateien mit dem Read-Tool
2. Suchen Sie nach Mustern mit Grep
3. Finden Sie verwandte Dateien mit Glob
4. Geben Sie detailliertes Feedback zur Code-Qualität

Multi-Datei-Skill

pdf-processing/
├── SKILL.md
├── FORMS.md
├── REFERENCE.md
└── scripts/
    ├── fill_form.py
    └── validate.py
SKILL.md:
---
name: PDF-Verarbeitung
description: Text extrahieren, Formulare ausfüllen, PDFs zusammenführen. Verwenden Sie bei der Arbeit mit PDF-Dateien, Formularen oder Dokumentenextraktion. Erfordert pypdf- und pdfplumber-Pakete.
---

# PDF-Verarbeitung

## Schnellstart

Text extrahieren:
```python
import pdfplumber
with pdfplumber.open("doc.pdf") as pdf:
    text = pdf.pages[0].extract_text()
```

Für Formular-Ausfüllung siehe [FORMS.md](FORMS.md).
Für detaillierte API-Referenz siehe [REFERENCE.md](REFERENCE.md).

## Anforderungen

Pakete müssen in Ihrer Umgebung installiert sein:
```bash
pip install pypdf pdfplumber
```
Listen Sie erforderliche Pakete in der Beschreibung auf. Pakete müssen in Ihrer Umgebung installiert sein, bevor Claude sie verwenden kann.
Claude lädt zusätzliche Dateien nur bei Bedarf.

Nächste Schritte