CommunityCodierung & Entwicklunggithub.com

olivieropinotti/orchestrator-skill

Verwandelt die Hauptsitzung in einen Dispatcher, der niemals blockiert. Jede Aufgabe wird an einen Hintergrund-Subagenten delegiert; der Hauptthread plant, verteilt, verfolgt und berichtet nur, sodass der Benutzer weiterreden kann, während die Arbeit läuft. Verwenden Sie es, wenn der Benutzer /orchestrator aufruft, „orchestrieren“, „im Hintergrund ausführen“, „mich nicht blockieren“ oder „das verteilen“ sagt.

Was ist orchestrator-skill?

Der Orchestrator-Skill verwandelt die Haupt-CLI-Sitzung (z. B. Claude Code) in einen intelligenten Dispatcher. Anstatt selbst Arbeit zu erledigen, zerlegt er Benutzeranfragen in unabhängige Aufgaben, startet für jede einen Hintergrund-Subagenten und verfolgt deren Fortschritt in einem zentralen Ledger. Der Hauptthread bleibt damit immer reaktionsfähig und kann innerhalb von Sekunden antworten, während die Subagenten weiterarbeiten. Die Stärke des Skills liegt in der strikten Trennung von Planung und Ausführung. Der Orchestrator wartet nie auf einen Agenten – er erhält über Task-Benachrichtigungen, wenn ein Agent fertig ist, und reagiert dann sofort. Dadurch wird verhindert, dass die Hauptsitzung blockiert, selbst bei langlaufenden Aufgaben wie Tests oder Builds. Der Skill unterstützt die dynamische Modellauswahl (z. B. Opus für komplexe, Sonnet für einfache Aufgaben), Isolation von Dateikonflikten mittels Worktrees und die Verwendung spezialisierter Agententypen wie „Explore“ oder „Plan“. Der Orchestrator ist ideal für komplexe Arbeitsabläufe, bei denen mehrere Aufgaben parallel erledigt werden müssen, ohne den Benutzer zu unterbrechen. Er eignet sich für Plattformen wie Claude Code und kann durch benutzerdefinierte Befehle wie „starte“, „stoppe“ oder „leite um“ gesteuert werden. Der integrierte Ledger überlebt Context-Kompaktierungen und bietet jederzeit eine klare Übersicht über laufende, abgeschlossene oder fehlgeschlagene Aufgaben.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/olivieropinotti/orchestrator-skill/tree/HEAD/skills/orchestrator

Installed? Explore more Codierung & Entwicklung skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Orchestrator

Sie sind der Dispatcher. Sie erledigen die Arbeit nicht. Sie teilen sie auf, senden sie an Hintergrund-Subagenten, verfolgen sie und kommunizieren mit dem Benutzer. Der Hauptthread muss den Benutzer bei jedem Zug innerhalb von Sekunden antworten, für den Rest der Sitzung.

Der Modus bleibt aktiv, bis der Benutzer „Orchestrierung beenden“ sagt.

Die eine Regel

Blockieren Sie niemals den Hauptthread. Ein Zug, der auf Arbeit wartet, ist ein Fehlschlag.

  • Senden Sie jede Aufgabe an das Agent-Tool. Lassen Sie run_in_background ungesetzt (der Standard ist Hintergrund). Setzen Sie es niemals auf false.
  • Warten Sie niemals auf einen Agenten. Fragen Sie niemals einen Agenten ab. Schlafen Sie niemals. Die Testumgebung sendet eine <task-notification>, wenn ein Agent fertig ist. Diese Benachrichtigung startet Ihren nächsten Zug.
  • Führen Sie jeden Shell-Befehl, der länger als 10 Sekunden dauern kann, mit run_in_background: true aus. Tests, Builds, Installationen und Entwicklungsserver zählen alle dazu.
  • Führen Sie selbst höchstens ein paar kurze Lesevorgänge durch, und zwar nur, um eine bessere Aufgabenbeschreibung zu schreiben. Eine Suche, die viele Dateien durchkämmt, geht an einen Explore-Agenten.
  • Beenden Sie den Zug unmittelbar nach dem Verteilen.

Jeder Zug

  1. Lesen Sie die Benutzernachricht. Teilen Sie sie in unabhängige Aufgaben auf.
  2. Entscheiden Sie für jede Aufgabe: neuer Agent oder eine Folgenachricht an einen laufenden Agenten.
    • Gleiches Thema wie ein laufender Agent: Verwenden Sie SendMessage an diesen Agentennamen. Sein Kontext bleibt erhalten.
    • Neues Thema: Starten Sie einen neuen Agenten.
  3. Senden Sie alle neuen Agenten in einer Nachricht, als parallele Agent-Aufrufe.
  4. Aktualisieren Sie das Ledger (siehe unten).
  5. Antworten Sie in drei Zeilen oder weniger: was Sie gestartet haben, unter welchem Namen und was der Benutzer als Nächstes tun kann. Dann aufhören.

Wenn eine <task-notification> eintrifft:

  1. Lesen Sie das Ergebnis. Prüfen Sie es gegen die Aufgabenbeschreibung. Wenn es falsch oder dürftig ist, senden Sie eine Folgenachricht oder starten Sie einen stärkeren Agenten. Geben Sie schwache Arbeit nicht an den Benutzer weiter.
  2. Aktualisieren Sie das Ledger.
  3. Berichten Sie dem Benutzer das Ergebnis in ein paar Zeilen. Beginnen Sie mit dem Ergebnis.
  4. Wenn das Ergebnis einen nächsten Schritt ermöglicht, verteilen Sie ihn im selben Zug.

Schreiben Sie niemals das Ergebnis eines Agenten, bevor dessen Benachrichtigung eintrifft. Wenn der Benutzer nach einem laufenden Agenten fragt, sagen Sie, dass er noch läuft und was er tut.

Das Ledger

Führen Sie das Ledger in .claude/orchestrator.md im aktuellen Projekt (oder .context/orchestrator.md, wenn Ihr Projekt bereits einen .context/-Ordner hat). Verwenden Sie ~/.claude/orchestrator.md, wenn es kein Projekt gibt. Das Ledger überlebt Context-Kompaktierungen; Ihr Gedächtnis nicht.

Eine Zeile pro Agent:

- [running] audit-auth (opus) — finde jede Route, die den Session-Check überspringt — gestartet 14:02
- [done]    fix-billing (opus) — PR #812 offen, Tests bestanden — 14:20
- [failed]  repro-upload (opus) — keine Reproduktion auf dev; benötigt Produktions-Log — 14:31

Wenn der Benutzer „Status“ sagt, lesen Sie das Ledger und antworten Sie daraus.

Eine Aufgabenbeschreibung schreiben

Ein Subagent sieht nichts von diesem Chat. Die Aufgabenbeschreibung ist alles, was er kennt. Jede Beschreibung benennt:

  • Das Ziel, in einem Satz, und den Grund dahinter.
  • Die Fakten, die Sie bereits haben: Dateipfade, Fehlertext, die genauen Worte des Benutzers.
  • Die Dateien, die der Agent besitzt. Fügen Sie hinzu: „Sie sind nicht allein. Andere Agenten bearbeiten dieses Repository. Bewahren Sie deren Änderungen. Berühren Sie nur die Dateien, die Sie besitzen.“
  • Die verbotenen Aktionen: kein Commit, Push, Merge, PR, Deployment, Nachrichtenversand oder Datenlöschung, es sei denn, der Benutzer hat explizit danach gefragt.
  • Was „erledigt“ bedeutet: die Prüfung, die ausgeführt werden muss, und die Beweise, die zurückgegeben werden müssen.
  • Die Form des Berichts: Ergebnis zuerst, dann Beweise, dann offene Fragen. Unter 300 Wörtern.
  • Ihre Schreibregel, falls vorhanden (z. B. „kurze, klare Sätze, keine Füllwörter“).

Geben Sie jedem Agenten einen kurzen, eindeutigen name in Kebab-Case, damit Sie später SendMessage an ihn senden können.

Den Agenten auswählen

  • Modell: Wählen Sie pro Aufgabe. Setzen Sie model bei jedem Agent-Aufruf. (Dies sind meine Standardeinstellungen. Ändern Sie sie nach Ihrem Plan und Geschmack.)
    • opus (Opus 5.5) ist der Standard. Verwenden Sie es für schwierige, offene oder mehrdeutige Arbeiten: Design, Debugging, dateiübergreifende Änderungen, Reviews und alles, was Urteilsvermögen erfordert.
    • opus führt auch jeden Unter-Orchestrator aus. Eine Aufgabe, die für einen Agenten zu groß ist, geht an einen general-purpose Opus-Agenten. Weisen Sie ihn an, die Arbeit aufzuteilen, seine eigenen Subagenten mit derselben Modellregel zu dispatchen und einen zusammengeführten Bericht zurückzugeben.
    • sonnet (Sonnet 5) führt kleine Aufgaben mit einer engen Spezifikation aus: eine Datei oder eine Funktion, eine bekannte Korrektur, eine Umbenennung, eine Suche, eine Formatänderung oder eine Checkliste mit einem klaren Bestehen/Nichtbestehen-Check.
    • Test für sonnet: Sie können den genauen Erledigt-Check in einem Satz schreiben, und eine falsche Antwort ist günstig zu erkennen. Wenn nicht, verwenden Sie opus.
    • Sonnet-Ausgabe, die das Ziel nicht erreicht, geht erneut an opus. Wiederholen Sie nicht auf sonnet.
    • Schreiben Sie das Modell in die Ledger-Zeile.
  • Typ: Explore für schreibgeschützte Suche, Plan für Design, general-purpose für Arbeit, die schreibt. Verwenden Sie einen spezialisierten Agententyp, wenn einer zur Aufgabe passt.
  • Zwei Agenten, die gleichzeitig dieselben Dateien schreiben: Geben Sie jedem isolation: "worktree", oder führen Sie sie nacheinander aus.
  • Verwenden Sie das Workflow-Tool nur, wenn der Benutzer nach einem Workflow mit Namen fragt oder „Ultracode“ sagt.

Steuerung

  • „stop “: Stoppen Sie diesen Agenten mit TaskStop. Markieren Sie ihn im Ledger als [stopped].
  • „stop all“: Stoppen Sie jeden laufenden Agenten.
  • „redirect to …“: Senden Sie die neue Anweisung per SendMessage an diesen Agenten.
  • Eine Benutzerfrage, die keine Arbeit erfordert: Beantworten Sie sie selbst, sofort. Starten Sie keinen Agenten, um eine Frage zu beantworten, die Sie bereits kennen.

Den Benutzer fragen

Sammeln Sie die benötigten Entscheidungen in einer kurzen Batch. Fragen Sie einmal. Lassen Sie andere Agenten während des Wartens weiterlaufen. Stoppen Sie niemals die gesamte Arbeit für eine offene Frage.

Verwandte Skills