Skills
Skills sind Ordner mit Anweisungen, Skripten und Ressourcen, die Claude
dynamisch lädt, um die Leistung bei spezialisierten Aufgaben zu verbessern. Im
Kern jedes Skills steht eine SKILL.md-Datei — ein paketiertes Set von
Anweisungen, das du einmal hochlädst und dann an jeden messages.create-Aufruf
anhängst. Du bringst Claude bei, wie du etwas machst: dein Format für
Statusberichte, deine Review-Checkliste, deine Release Notes. Claude liest das
Skill, folgt der Vorgehensweise und erzeugt Output in deiner Form.
Skills vs. Tools
Es lohnt sich, den Unterschied klar zu haben, denn beide lösen unterschiedliche Probleme:
- Tools verbinden Claude mit Daten und Aktionen. „Sieh diesen Codeabschnitt nach", „sende diese E-Mail" — Claude ruft das Tool auf, und etwas anderes wird ausgeführt.
- Skills bringen Claude eine Vorgehensweise bei. „Erstelle den täglichen Statusbericht nach dieser Vorlage" — es ist ein Playbook, das Claude liest und befolgt, was manchmal bedeutet, dass gebündelte Skripte selbst ausgeführt werden.
Eine einfache Merkregel: Tools drehen sich um das, was Claude tun kann, während Skills sich darum drehen, wie du es erledigt haben willst.

Noch etwas Wissenswertes: Skills werden beim Start nicht vollständig in den Kontext geladen. Zunächst laden nur Name und Beschreibung. Wenn dein Agent entscheidet, dass ein Skill relevant ist, lädt er dann das vollständige Skill in den Kontext. Das hält deinen Kontext schlank, selbst wenn viele Skills verfügbar sind.
Ein Skill hochladen
Skills werden einmal in deinen Workspace hochgeladen und dann per ID referenziert. Du kannst direkt auf der Claude Platform hochladen oder es programmatisch tun:
skill = client.skills.create(
display_name="Status Report Generator",
files=files_from_dir("status-report-skill"), # folder containing SKILL.md
)
print(skill.id) # reference this ID in future requestsFür dieses Beispiel möchte ich einen Generator für Statusberichte. Alle Regeln dafür, was einen guten Statusbericht ausmacht — Abschnitte, Tonfall, wie zusammengefasst wird, wie mit Blockern umgegangen wird — leben in einem Skill, das im Voraus paketiert wurde. Das Aktivitätsprotokoll selbst ist nur ein String, der zur Anfragezeit übergeben wird.
Ein Skill an eine Anfrage anhängen
Skills werden über die Container-Konfiguration an eine Anfrage angehängt — ein skills-Array innerhalb des Containers, wobei jeder Eintrag eine skill_id und version benennt. Hier ist der vollständige Aufruf für den Generator für Statusberichte:
response = client.messages.create(
model="claude-opus-5",
max_tokens=4096,
container={
"skills": [
{
"type": "custom",
"skill_id": skill.id,
"version": "latest",
}
]
},
tools=[
{
"type": "code_execution_20250825",
"name": "code_execution",
}
],
messages=[
{
"role": "user",
"content": f"Generate the daily status report from this activity log:\n\n{activity_log}",
}
],
)Ein paar Dinge, die es wert sind, hervorgehoben zu werden:
- Wir rufen den Standard-
client.messages.createauf, ohne Beta-Header. Skills sind auf der Claude API allgemein verfügbar, sodass derskills-2025-10-02-Beta-Header nicht mehr erforderlich ist; Anfragen, die ihn weiterhin senden, funktionieren unverändert weiter. container.skillsist die Stelle, an der das Skill angehängt wird. Es ist eine Liste, sodass du mehrere Skills auf einen Aufruf schichten kannst.- Code-Ausführung ist hier ebenfalls aktiviert. Sie ist erforderlich: In der API laufen Skills innerhalb des Containers des Code-Ausführungs-Tools, was es den Skill-Vorgehensweisen erst ermöglicht, echte Arbeit zu verrichten — wie das Ausführen von Skripten in einem Terminal.
Es ausführen
Der Output ist ein Statusbericht, der genau so formatiert ist, wie das Skill es vorgibt. Abschnitte, Tonfall, Umgang mit Blockern — alles davon kommt aus der SKILL.md-Datei, die du hochgeladen hast. Der User-Prompt ist eine Zeile; die Vorgehensweise lebt im Skill.

In einer Produktionsanwendung standardisiert ein Team so den Output über ein gesamtes Feature hinweg. Mit diesem Endpunkt für tägliche Statusberichte erhält jeder PM die gleiche Struktur, den gleichen Tonfall, die gleichen Abschnitte, in der gleichen Reihenfolge — ohne dass jemand eine Vorlage in einen Prompt hineinkopieren muss.

Zusammenfassung
- Skills paketieren deine Vorgehensweisen. Eine
SKILL.md-Datei (plus etwaige Skripte und Ressourcen) bringt Claude bei, wie du willst, dass etwas gemacht wird. - Tools vs. Skills: Tools drehen sich um das, was Claude tun kann; Skills drehen sich darum, wie du es erledigt haben willst.
- Skills laden progressiv. Nur Name und Beschreibung laden beim Start; das vollständige Skill lädt in den Kontext, wenn der Agent entscheidet, es zu verwenden.
- Einmal hochladen mit
client.skills.create, dann anhängen mitcontainer.skillsbei jedemmessages.create-Aufruf — eine Liste, sodass du mehrere Skills schichten kannst. - Kombiniere es mit Code-Ausführung, wenn die Vorgehensweise des Skills echte Arbeit verrichten muss.
- Greife zu einem Skill, wenn das Wie genauso wichtig ist wie das Was.