Spezialisierte Helfer mit eigenem Context, eigenen Tools und eigenem System-Prompt – für Side-Tasks, die das Hauptgespräch zumüllen würden.
Ein Subagent ist ein spezialisierter Helfer, den Claude Code für eine bestimmte Aufgabe startet – mit eigenem Context-Fenster, eigenem System-Prompt und einer eingeschränkten Tool-Liste. Statt dass Claude im Hauptgespräch hunderte Suchergebnisse durchscrollt und deinen Context damit verstopft, übernimmt der Subagent die Arbeit isoliert und liefert nur die Zusammenfassung zurück.
Für Entwickler, die Claude Code regelmäßig nutzen und merken: Bestimmte Side-Tasks tauchen immer wieder auf – Codebase nach einem Pattern durchsuchen, Logs analysieren, eine API-Doku überfliegen. Genau hier glänzen Subagents.
Jeder Subagent ist eine Markdown-Datei in .claude/agents/ (Projekt-Scope) oder ~/.claude/agents/ (User-Scope). YAML-Frontmatter beschreibt, wann Claude den Subagent automatisch wählen soll; der Markdown-Body wird zum System-Prompt für den Subagent.
---
name: test-triager
description: Use when test failures need to be categorized by root cause. Reads test output and groups failures by likely cause (timing, mocks, real bugs).
tools: Read, Grep, Bash
model: sonnet
---
You are a test failure triager. When given test output:
1. Group failures by likely root cause (timing, mocks, real bugs)
2. For each group, name 1-2 representative failures
3. Return a short prioritized list — most likely real bugs first
Stay focused on triage. Do not propose fixes unless explicitly asked.
Claude liest die description automatisch und entscheidet, ob ein Subagent für die aktuelle Aufgabe passt. Eine präzise description ist der wichtigste Hebel – sie steuert, wann der Subagent tatsächlich gestartet wird.
Subagents leben in vier möglichen Scopes – Session, Projekt, User, Plugin. Bei Namens-Kollisionen gewinnt der näher gelegene Scope: Session vor Projekt vor User vor Plugin.
Projekt-Scope (`.claude/agents/` im Repo, mit `git` versioniert und mit dem Team geteilt) oder User-Scope (`~/.claude/agents/`, nur du).
Dateiname = Subagent-Name. Zum Beispiel `.claude/agents/test-triager.md` für einen Subagent namens `test-triager`.
`name`, `description`, `tools`, `model` sind die wichtigsten Felder. Die `description` muss klar machen, WANN dieser Subagent eingesetzt wird – nicht WAS er kann.
Listet nur die Tools, die der Subagent wirklich braucht (z.B. `Read, Grep`). Weniger Tools = engerer Fokus = bessere Ergebnisse.
Beschreibe die Aufgabe, die Output-Form und was der Subagent NICHT tun soll. Wie ein gut gebrieftes Onboarding für eine Spezialkraft.
Im Hauptgespräch eine passende Aufgabe stellen. Claude sollte den Subagent automatisch wählen – oder mit `/agents` listest du verfügbare Subagents auf.
Drei verwandte Konzepte, die oft verwechselt werden:
Faustregel: Wenn die Aufgabe „nur Anleitung” braucht → Skill. Wenn sie eigenen Context braucht → Subagent. Wenn sie deterministisch und ohne LLM läuft → Hook.
Im Hauptgespräch zählt jeder Token. Wenn Claude für eine Recherche 50 Dateien liest, fressen die ~80.000 Tokens deinen Context auf – danach hat das Hauptmodell weniger Platz für die eigentliche Lösung. Ein Subagent macht die gleiche Arbeit in seinem eigenen 1M-Window und schickt dir am Ende nur die 800 Token Zusammenfassung. Dein Hauptgespräch bleibt leichtfüßig.
Jeder Subagent darf sein eigenes Modell wählen – passend zur Schwere der Aufgabe:
Ein Triage-Subagent mit Haiku kostet Bruchteile dessen, was Opus für die gleiche Klassifikation verlangen würde – und ist schneller.
Wann ist ein Subagent einem Skill klar überlegen?
Subagents lohnen sich, wenn ein Task wiederkehrt UND massiv Context kostet. Für Einzelfälle ist der Aufwand höher als der Gewinn.
description: „Helps with code” ist nutzlos. Claude muss erkennen, WANN dieser Subagent passt. Schreibe „Use when test failures need to be grouped by root cause” – konkret und scoped.Read, Edit, Write, Bash, Grep, WebSearch darf, verliert er den Fokus. Liste nur, was zwingend nötig ist.Lege einen Subagent an, der für dich Test-Output triagiert:
.claude/agents/test-triager.md in einem Projekt mit Testsdescription („Use when test failures need to be grouped by likely root cause”)Read, Grep, Bashmodel: sonnetDu weißt jetzt, wann und wie du Subagents einsetzt. Als Nächstes lohnt sich der Guide Hooks einrichten – denn Hooks und Subagents ergänzen sich: deterministische Gates (Hooks) plus intelligente Spezialisten (Subagents) sind die Basis professioneller Claude-Code-Setups.
Wissen testen, Entscheidungen trainieren oder den nächsten Guide starten.