Zum Inhalt springen

Skill-Typen & Anatomie

Die drei Skill-Typen

Nicht jeder Skill ist gleich aufgebaut. Je nachdem, was du automatisieren willst, brauchst du einen anderen Typ. Claude Code kennt drei Skill-Typen, die aufeinander aufbauen:

1. Knowledge Skills -- Reine Anweisungen

Der einfachste Typ: Eine SKILL.md-Datei mit Anweisungen, sonst nichts. Claude bekommt Regeln und Wissen, braucht aber keine externen Dateien oder Scripts.

Typische Einsatzgebiete:

  • Kreative Workflows ("Schreibe Blogposts in meinem Stil")
  • Research-Prozesse ("Analysiere Libraries nach diesen Kriterien")
  • Code-Review-Checklisten ("Prüfe immer diese 5 Punkte")
---
name: blog-post
description: Write a blog post following our editorial guidelines
argument-hint: [topic]
---

# Blog Post Skill

Schreibe Blogposts nach diesen Regeln:
- Maximal 800 Wörter
- Titel mit Frage formulieren
- Drei Zwischenüberschriften
- Zusammenfassung am Ende

2. Reference Skills -- Anweisungen + Referenzdateien

Knowledge Skills plus Referenzmaterial. Die SKILL.md verweist auf Dateien im selben Verzeichnis -- Templates, Style Guides, Beispieldateien.

Typische Einsatzgebiete:

  • Template-basierte Generierung ("Erstelle Komponenten nach diesem Template")
  • Style-spezifische Aufgaben ("Formatiere Code nach unserem Styleguide")
  • Dokumentations-Workflows ("Nutze unsere Doku-Vorlage")
---
name: react-component
description: Create React components following our project template
argument-hint: [component-name]
---

# React Component Skill

Erstelle eine neue React-Komponente basierend auf dem Template
in `template.tsx` im selben Verzeichnis.

Beachte die Namenskonventionen in `conventions.md`.

3. Script Skills -- Anweisungen + Scripts

Die mächtigste Variante: Die SKILL.md orchestriert Python- oder Bash-Scripts, die im selben Verzeichnis liegen. Claude führt die Scripts aus und verarbeitet die Ergebnisse.

Typische Einsatzgebiete:

  • Datenverarbeitung ("Parse diese CSV und erstelle einen Report")
  • Automatisierte Analysen ("Führe Performance-Tests durch")
  • Build- und Deploy-Workflows ("Baue und deploye das Projekt")
---
name: perf-report
description: Run performance benchmarks and generate a report
---

# Performance Report Skill

1. Führe `benchmark.sh` aus
2. Parse die Ergebnisse
3. Erstelle einen Markdown-Report mit Vergleich zum letzten Run

*Welchen Typ wählen?

Starte immer mit einem Knowledge Skill. Erst wenn du merkst, dass Claude Referenzmaterial oder Scripts braucht, steige auf den nächsten Typ um. Einfachheit gewinnt.

SKILL.md Anatomie -- Das Frontmatter

Jede SKILL.md beginnt mit einem YAML-Frontmatter-Block zwischen ---. Hier definierst du, wie der Skill sich verhält. Die Anweisungen danach bestimmen, was der Skill tut.

SKILL.md Anatomie

Klicke auf die hervorgehobenen Felder für Details

.claude/commands/deploy-preview.md
1---
2name: deploy-preview
3description: Deploy a preview environment for the current branch
4argument-hint: "[environment]"
5model: sonnet
6context: fork
7agent: Explore
8allowed-tools: Read, Bash, Grep
9hooks:
10 PostToolUse:
11 - matcher: "Bash"
12 hooks:
13 - type: command
14 command: "echo 'Deployed!'"
15---
16
17# Deploy Preview
18
191. Check current branch and changes
202. Run tests: `npm test`
213. Build: `npm run build`
224. Deploy to preview URL

Klicke auf ein Feld im YAML-Frontmatter

Die wichtigsten Frontmatter-Felder

Identität und Aufruf:

  • name -- Der Slash-Command-Name. Wird zu /name. Muss eindeutig sein, nutze kebab-case.
  • description -- Steuert Auto-Discovery. Claude liest dieses Feld, um zu entscheiden, ob der Skill zu einer Aufgabe passt. Je präziser, desto weniger Fehlzuordnungen.
  • argument-hint -- Autocomplete-Hinweis im Terminal, z.B. [branch] [--force]. Rein kosmetisch.

Ausführungskontrolle:

  • model -- Welches Modell soll der Skill nutzen? sonnet für schnelle Aufgaben, opus für komplexe Reasoning-Aufgaben, haiku für simple Transformationen. Spart Kosten und Zeit.
  • context: fork -- Der Skill läuft in einem eigenen Subagent-Kontext. Perfekt für Aufgaben, die den Haupt-Context nicht belasten sollen.
  • allowed-tools -- Beschränkt die verfügbaren Tools. Ein Analyse-Skill braucht vielleicht nur Lesezugriff: allowed-tools: [read, glob, grep].

Trigger-Steuerung:

  • disable-model-invocation -- Der Skill wird nur per /command ausgelöst, nie automatisch. Nutze das für destruktive Operationen wie Deployments.
  • user-invocable: false -- Nur Claude selbst kann den Skill aufrufen, nicht der Nutzer. Für interne Hilfs-Skills.

Kontext-Filter:

  • paths -- Der Skill ist nur aktiv, wenn du in bestimmten Dateipfaden arbeitest. Beispiel: paths: ["src/components/**"] aktiviert den Skill nur für Komponenten-Dateien.

Lifecycle:

  • hooks -- Lifecycle-Hooks im Skill, z.B. Pre-/Post-Execution-Commands.

!Auto-Discovery und Context

Beim Start lädt Claude Code nur das Frontmatter aller Skills -- nicht den vollständigen Inhalt. Erst wenn ein Skill tatsächlich aufgerufen wird (manuell oder automatisch), wird der komplette Inhalt geladen. Das spart wertvollen Context.

Speicherorte

Skills können an drei Orten liegen:

OrtGeltungsbereichGeteilt via Git?
~/.claude/skills/Global -- gilt für alle ProjekteNein
.claude/skills/Projekt-spezifischJa
Plugin skills/Via Plugin installiertJa (Plugin-Repo)

Die Reihenfolge bestimmt die Priorität: Projekt-Skills überschreiben globale Skills mit gleichem Namen.

String-Substitutionen

In SKILL.md-Dateien kannst du Platzhalter nutzen, die zur Laufzeit ersetzt werden:

  • $ARGUMENTS -- Alles, was nach dem /command kommt
  • $0 -- Das erste Argument
  • ${CLAUDE_SESSION_ID} -- Eindeutige Session-ID
  • ${CLAUDE_SKILL_DIR} -- Absoluter Pfad zum Skill-Verzeichnis (nützlich für Script Skills)
---
name: deploy
description: Deploy to a specific environment
argument-hint: [environment]
---

Deploy branch to $0 environment.
Use scripts in ${CLAUDE_SKILL_DIR}/scripts/ for the deployment.

Warum lädt Claude Code beim Start nur das Frontmatter der Skills und nicht den vollständigen Inhalt?