Das hier ist gerade mein Terminal.

13 Claude Code Agenten, jeder in seinem eigenen tmux-Pane, auf derselben Codebase. Kein Experiment. Kein Flex. So shippe ich jeden Tag Software.
Das Projekt ist Beadbox, ein Echtzeit-Dashboard zur Überwachung von KI-Coding-Agenten. Es wird von genau der Agentenflotte gebaut, die es überwacht. Die Agenten schreiben den Code, testen ihn, reviewen ihn, paketieren ihn und liefern ihn aus. Ich koordiniere.
Wenn du mehr als zwei oder drei Agenten laufen hast und dich fragst, wie du den Überblick behältst: Das hier ist mein Stand nach Monaten der Iteration. Ein Bug wurde um 9 Uhr morgens gemeldet und war um 15 Uhr geshippt, während vier andere Workstreams parallel liefen. Es läuft nicht immer glatt, aber der Durchsatz ist echt.
Das Team
Jeder Agent hat eine CLAUDE.md-Datei, die seine Identität definiert: wofür er zuständig ist, wofür nicht, und wie er mit anderen Agenten kommuniziert. Das sind keine generischen „Mach alles"-Assistenten. Jeder hat einen klar abgegrenzten Job und explizite Grenzen.
| Gruppe | Agenten | Zuständigkeit |
|---|---|---|
| Koordination | super, pm, owner | Arbeitsverteilung, Produkt-Specs, Business-Prioritäten |
| Engineering | eng1, eng2, arch | Implementierung, Systemdesign, Test-Suites |
| Qualität | qa1, qa2 | Unabhängige Validierung, Release-Gates |
| Operations | ops, shipper | Plattform-Tests, Builds, Release-Durchführung |
| Growth | growth, pmm, pmm2 | Analytics, Positionierung, öffentliche Inhalte |
Das Schlüsselwort ist Grenzen. eng2 kann keine Issues schließen. qa1 schreibt keinen Code. pmm fasst den App-Quellcode nie an. Super verteilt Arbeit, implementiert aber nicht. Die Grenzen existieren, weil Agenten ohne sie abdriften. Sie „helfen", indem sie Code refactoren, der kein Refactoring brauchte, Issues schließen, die nicht verifiziert waren, oder Architekturentscheidungen treffen, für die sie nicht qualifiziert sind.
Jede CLAUDE.md beginnt mit einem Identitäts-Abschnitt und einer Abgrenzung. Hier eine gekürzte Version von eng2:
## Identity
Engineer for Beadbox. You implement features, fix bugs, and write tests. You own implementation quality: the code you write is correct, tested, and matches the spec.
## Boundary with QA
QA validates your work independently. You provide QA with executable verification steps. If your DONE comment doesn't let QA verify without reading source code, it's incomplete.
Das Pattern skaliert. Als ich mit 3 Agenten angefangen habe, reichte ein einzelner lockerer Prompt. Bei 13 sind explizite Rollen und Protokolle der Unterschied zwischen Koordination und Chaos.
Die Koordinationsebene
Drei Tools halten die Flotte zusammen.
beads ist ein Open-Source, Git-nativer Issue-Tracker, der genau für diesen Workflow gebaut wurde. Jede Aufgabe ist ein „Bead" mit Status, Priorität, Abhängigkeiten und einem Kommentar-Thread. Agenten lesen und schreiben über eine CLI namens bd in dieselbe lokale Datenbank.
bd update bb-viet --claim --actor eng2 # eng2 übernimmt einen Bug
bd show bb-viet # vollständige Spec + Kommentare anzeigen
bd comments add bb-viet --author eng2 "PLAN: ..." # eng2 postet seinen Plan
gn / gp / ga sind tmux-Messaging-Tools. gn schickt eine Nachricht an das Pane eines anderen Agenten. gp schaut in die letzte Ausgabe eines anderen Agenten (ohne ihn zu unterbrechen). ga reiht eine nicht dringende Nachricht in die Queue ein.
gn -c -w eng2 "[from super] You have work: bb-viet. P2." # Dispatch
gp eng2 -n 40 # Fortschritt prüfen
ga -w super "[from eng2] bb-viet complete. Pushed abc123." # Rückmeldung
CLAUDE.md-Protokolle definieren Eskalationswege, Kommunikationsformat und Abschlusskriterien. Jeder Agent weiß: Bead claimen, Plan kommentieren bevor man codet, Tests laufen lassen vor dem Push, DONE mit Verifikationsschritten kommentieren, für QA markieren, an super zurückmelden.
So sieht das in der Praxis aus. Das hier ist ein echtes Bead von heute: super weist die Aufgabe zu, eng2 kommentiert einen nummerierten Plan, eng2 kommentiert DONE mit QA-Verifikationsschritten und abgehakten Akzeptanzkriterien, super dispatcht an QA.

Super läuft alle 5 bis 10 Minuten eine Kontrollrunde: Ausgabe jedes aktiven Agenten prüfen, Bead-Status checken, sicherstellen, dass die Pipeline nicht stockt. Wie eine Rufbereitschaft in der Produktion, nur dass die Services KI-Agenten sind und die Incidents „eng2 ist seit 20 Minuten verdächtig still" heißen.
Ein echter Tag
Das hier ist tatsächlich an einem Mittwoch Ende Februar 2026 passiert.
9:14 Uhr – Ein GitHub-User namens ericinfins öffnet Issue #2: Er kann Beadbox nicht mit seinem Remote-Dolt-Server verbinden. Die App unterstützt nur lokale Verbindungen. Owner sieht es und leitet es an super weiter.
9:30 Uhr – Super verteilt die Arbeit. Arch entwirft einen Connection-Auth-Flow (TLS-Toggle, Username/Passwort-Felder, Übergabe von Umgebungsvariablen). PM schreibt die Spec mit Akzeptanzkriterien. Eng übernimmt und fängt an zu implementieren.
Gleichzeitig, parallel:
PM meldet zwei Bugs, die beim Release-Testing aufgefallen sind. Einer ist kosmetisch: Das Header-Badge zeigt „v0.10.0-rc.7" statt „v0.10.0" bei finalen Builds. Der andere ist plattformspezifisch: Das Screenshot-Tool liefert einen leeren Streifen auf ARM64-Macs, weil Apple Silicon die Tauri-WebView über Metal Compositing rendert und der Backing Store leer ist.
Ops findet die Root Cause des Screenshot-Bugs. Der Fix ist elegant: Nach dem Capture prüfen, ob die Bildhöhe verdächtig klein ist (unter 50px für ein Fenster, das 800px hoch sein sollte), und auf koordinatenbasierte Bildschirmaufnahme zurückfallen.
Growth zieht PostHog-Daten und macht eine IP-Korrelationsanalyse. Das Ergebnis: Reddit Ads haben 96 Klicks gebracht und null zurechenbare retained User. GitHub-README-Traffic konvertiert mit 15,8%. Dieser Artikel existiert wegen dieser Analyse.
Eng1, entblockt durch archs Activity-Dashboard-Design, fängt an, Cross-Filter-State-Management und Utility-Funktionen zu bauen. 687 Tests grün.
QA1 validiert den Header-Badge-Fix: Testserver hochfahren, per Browser-Automation prüfen, dass das Badge korrekt rendert, verifizieren, dass 665 Unit-Tests durchlaufen, PASS markieren.
14:45 Uhr – Shipper mergt den Release-Candidate-PR, pusht den v0.10.0-Tag und triggert den Promote-Workflow. CI baut Artefakte für alle 5 Plattformen (macOS ARM, macOS Intel, Linux AppImage, Linux .deb, Windows .exe). Shipper verifiziert jedes Artefakt, aktualisiert die Release Notes auf beiden Repos, deployt die Website neu und aktualisiert den Homebrew-Cask.
15:12 Uhr – Owner antwortet auf GitHub Issue #2:
Gute Nachrichten: v0.10.0 ist gerade mit vollständiger Dolt-Server-Auth-Unterstützung erschienen. Update installieren, dann sollte es laufen.
Bug morgens gemeldet. Fix nachmittags ausgeliefert. Und währenddessen wurde das nächste Feature schon designt, ein anderer Bug untersucht, Analytics ausgewertet, und QA hat unabhängig einen separaten Fix verifiziert.
Das liegt nicht daran, dass 13 Agenten schnell sind. Es liegt daran, dass 13 Agenten parallel sind.
