← Alle Playbooks
Playbook· build

Dein erster Sub-Agent in 30 Minuten

Wie Du in Claude Code einen kleinen Spezialisten-Agenten schreibst der eine bestimmte Aufgabe abnimmt, statt jedes Mal alles von Hand zu prompten.

30 min

Sub-Agents sind die Antwort auf "ich mach jeden Tag das Gleiche und prompte zwanzig Mal das Gleiche". Du kapselst die Anweisung und den Ablauf einmal in einem Sub-Agent, und Claude Code spawnt den ab dann auf Knopfdruck. Alles was Du in Level 5 ueber CEO-Worker-Pattern gelernt hast, in einem konkreten 30-Minuten-Build.

Wenn Du das durchziehst, hast Du am Ende einen Sub-Agent der zum Beispiel "schreib mir aus diesem Ticket einen sauberen GitHub-PR-Titel und Body" macht, ohne dass Du jedes Mal die Konventionen erklaeren musst.

1. Use-Case waehlen

Such Dir eine Aufgabe die Du mindestens dreimal pro Woche per Hand machst und die einen klaren Input und Output hat. Beispiele die gut funktionieren:

  • Aus einer Bug-Beschreibung einen sauberen GitHub-Issue-Titel + Labels generieren
  • Aus einer Voicenote-Transkription eine Liste von Tasks ziehen
  • Aus einem Kunden-Email-Verlauf ein CRM-Update-Snippet bauen
  • Aus einer Idee eine Reddit-Post-Variante in Du-Form schreiben

Schlechter Use-Case: "Recherchiere XY". Das ist zu offen, dafuer brauchst Du den Research-Agent (Level 5), nicht einen kleinen Sub-Agent.

Ein Tipp: Wenn Du nicht entscheiden kannst, nimm den ersten Punkt aus der obigen Liste. Den brauchen alle, und Du kannst die Lessons direkt auf andere Use-Cases uebertragen.

2. Agents-Ordner anlegen

In Deinem Claude-Code-Setup (entweder global unter ~/.claude/agents/ oder projekt-spezifisch unter .claude/agents/):

mkdir -p ~/.claude/agents
cd ~/.claude/agents
touch ticket-formatter.md

Der Dateiname ist der Slug des Agents. Lass Spaces weg, nimm Bindestriche.

3. Agent-Frontmatter schreiben

Oben in ticket-formatter.md kommt YAML-Frontmatter mit drei Feldern: name, description, tools.

---
name: ticket-formatter
description: "Use this agent when the user pastes a raw bug description or Slack message and wants a clean GitHub-Issue title + body + labels. Trigger when user says 'turn this into a ticket' or 'format as issue'."
tools: ["Read", "Write"]
---

Die Description ist das wichtigste Feld. Claude Code liest das und entscheidet selbststaendig wann der Sub-Agent aufgerufen wird. Sei spezifisch, nutze konkrete Trigger-Phrasen die der User vermutlich sagt.

Ein Tipp: Wenn Description vague ist ("helps with tickets"), wird der Agent entweder nie oder zu oft getriggert. Lieber zwei konkrete Triggerphrasen explizit nennen als eine Generalbeschreibung.

4. System-Prompt schreiben

Unter dem Frontmatter kommt der eigentliche System-Prompt. Das ist Markdown. Strukturiere ihn so:

You are a GitHub Issue Formatter. Your job is to take raw text
(bug reports, Slack pastes, voice memo transcripts) and turn it
into a clean GitHub Issue.

Output Format (always exactly this structure):
- Title: max 70 chars, imperative ("Fix login redirect", not "Login is broken")
- Body: 3-5 short sentences max, no marketing
- Labels: pick from {bug, feat, docs, infra, security}
- Priority: pick from {p0, p1, p2, p3} based on user pain

Rules:
- Title MUST be in English even if input is German.
- Body in same language as input.
- If input is too vague, write "Title: NEEDS CLARIFICATION" and list 2 questions.

Konkrete Output-Spezifikation > vague Anweisungen. Der Agent ist gut wenn der Output formal konsistent ist, nicht wenn er kreativ ist.

5. Tool-Liste minimal halten

In den tools: im Frontmatter nur die Tools eintragen die der Agent wirklich braucht. Bei Ticket-Formatter brauchst Du eigentlich gar keins (er kriegt Text, gibt Text zurueck), aber Read/Write ist nuetzlich falls er die Konventionen aus einem CONVENTIONS.md lesen soll.

Wenn Du tools: weglaesst, hat der Agent Zugriff auf alle Tools. Das ist meistens zu viel und macht den Agent unfokussiert.

6. Erster Test

In Claude Code:

"Formatiere das hier als GitHub-Ticket: [paste raw bug-text]"

Claude Code matched die Description, spawnt den Sub-Agent automatisch. Du siehst in der Output dass ticket-formatter aktiv ist. Output kommt zurueck.

Wenn Claude Code den Agent NICHT spawnt: Description war zu vague oder Trigger-Phrase war zu weit weg vom user-prompt. Description schaerfen.

Ein Tipp: Du kannst Sub-Agents auch explizit aufrufen mit "use the ticket-formatter agent on this text". Das umgeht die Auto-Erkennung. In der Anfangs-Phase nuetzlich um zu testen.

7. Output an einer echten Aufgabe pruefen

Nimm zwei oder drei echte Bug-Reports aus Deinem Backlog und lass den Agent sie formatieren. Pruefe:

  • Ist der Title konsistent in Form (imperative, max 70 chars)?
  • Sind die Labels treffend?
  • Hat er ueber- oder untertrieben mit Priority?
  • Bei vagen Inputs: hat er die "NEEDS CLARIFICATION" Logik genutzt?

Wenn nicht, ist der System-Prompt nicht spezifisch genug. Iterier.

8. Edge Cases einbauen

Was passiert wenn der User zwei Bugs in einem Text mischt? Was wenn der Text auf Spanisch ist? Was wenn er einen Feature-Wunsch statt Bug eingibt?

Der erste Wurf eines Sub-Agents handelt diese Faelle nicht ab. Er rauschmackt sie zu einem schlechten Output. Du baust die Behandlung im System-Prompt nach:

If input contains MULTIPLE distinct issues, output one ticket per issue
in a numbered list.
If input is in Spanish or German, body language follows input.
If input is a feature request (not a bug), use Title prefix "[Feat]" 
and body must include "Why this matters: ..." section.

Test es. Iterier.

9. In Use nehmen

Sobald der Agent stabil ist, nutz ihn eine Woche lang fuer alle Tickets. Sammel die zwei oder drei Faelle wo er Mist baut. Iterier den System-Prompt nochmal.

Sub-Agents werden nicht in einem Anlauf perfekt. Der Wert kommt aus zwei oder drei Iterationen mit echten Inputs. Anfang investierst Du eine Stunde, dann sparst Du fuenf pro Woche.

10. Mehr Sub-Agents vom gleichen Format bauen

Wenn Du den ersten Sub-Agent stabil hast, kannst Du das Pattern fuer drei bis fuenf andere Aufgaben wiederholen. Beispiele:

  • commit-msg-writer (aus diff einen sauberen commit message machen)
  • slack-summarizer (aus einer Slack-Konversation eine Entscheidungs-Notiz)
  • lead-qualifier (aus einer Email-Anfrage Lead-Score + naechste Action)

Der Vorteil mehrerer kleiner Sub-Agents gegenueber einem Universal-Agent: jeder hat einen klaren Trigger und einen klaren Output. Claude Code waehlt den richtigen automatisch. Wartung pro Agent ist klein.

Wenn Du irgendwann zwanzig Sub-Agents hast und Claude Code Probleme hat den richtigen zu waehlen, brauchst Du Spezial-Triggers (slash-commands, Hot-Words). Aber das ist Phase zwei. Erstmal ist drei Agents ein guter Stand.