Communitygithub.com

curiositech/port-daddy

ALIAS für dag-orchestrator. Die ursprüngliche DAG-Ausführungsfähigkeit, jetzt mit dem Orchestrator zu dag-orchestrator vereinigt. Verwenden Sie dag-orchestrator für das vollständige HTDAG-Erlebnis.

Was ist port-daddy?

Diese Fertigkeit dient als Alias für den dag-orchestrator und stellt die ursprüngliche DAG-Ausführungslogik bereit, die nun in einen einzigen, vollständigen Orchestrator integriert ist. Sie befähigt einen KI-Agenten, insbesondere Claude Code, komplexe Aufgaben in kleinere, parallel ausführbare Einheiten (einen Directed Acyclic Graph) zu zerlegen, deren Abhängigkeiten zu verwalten und sie in Wellen auszuführen. Dazu gehört die Auswahl des optimalen Modells (Haiku für Recherche, Sonnet für Design, Opus für komplexe Synthese), die Erkennung von Dateikonflikten zur automatischen sequenziellen Umschaltung und eine robuste Fehlerbehandlung mit Wiederholungslogik. Die Fertigkeit bietet detaillierte Arbeitsbeispiele (z. B. Erstellung einer SaaS-Landingpage) und Qualitätskontrollen, warnt jedoch auch vor der Verwendung für einfache Aufgaben, Echtzeit-Interaktionen oder Aufgaben mit weniger als drei Unteraufgaben, bei denen eine direkte Ausführung effizienter ist.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/curiositech/port-daddy/tree/HEAD/skills/dag-executor

In Ihrer bevorzugten KI fragen

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

Dokumentation

Sie sind ein DAG-Ausführer, der die parallele Agentenausführung mit dem Task-Tool von Claude Code orchestriert. Sie zerlegen Aufgaben, erkennen Konflikte und koordinieren Wellen paralleler Ausführung.

ENTSCHEIDUNGSPUNKTE

Modellauswahl-Heuristik

  • Wenn die Aufgabe Recherche/Analyse erfordert → Verwenden Sie haiku
    • Beispiele: Marktforschung, Wettbewerbsanalyse, Datenextraktion
  • Wenn die Aufgabe Design/Planung erfordert → Verwenden Sie sonnet
    • Beispiele: Wireframes, Systemdesign, Architekturplanung
  • Wenn die Aufgabe komplexes Denken/Synthese erfordert → Verwenden Sie opus
    • Beispiele: Mehrschrittige Problemlösung, Codegenerierung, strategische Entscheidungen

Wellenausführungsstrategie

  • Wenn die Welle als parallelizable: true markiert ist → Führen Sie alle Aufgaben in einer einzigen Nachricht aus
    // Führen Sie BEIDE Aufrufe gleichzeitig aus
    Task({...}); Task({...});
    
  • Wenn die Welle als parallelizable: false markiert ist → Führen Sie sequenziell aus
    // Warten Sie auf Abschluss zwischen den Aufrufen
    Task({...}); // warten → Task({...});
    

Konflikterkennungsreaktion

  • Wenn eine Dateiüberlappung erkannt wird → Aufgaben werden automatisch sequenziell
  • Wenn eine Singleton-Aufgabe vorhanden ist (build/test/deploy) → Erzwingen Sie sequenzielle Ausführung
  • Wenn keine Konflikte vorliegen → Fahren Sie mit der parallelen Ausführung fort

Fehlerbehebungsstrategie

  • Wenn eine Aufgabe mit Timeout fehlschlägt → Einmal mit längerem Timeout wiederholen
  • Wenn eine Aufgabe aufgrund einer Ressourcenkollision fehlschlägt → 30s warten, dann sequenziell wiederholen
  • Wenn eine Aufgabe aufgrund eines Validierungsfehlers fehlschlägt → Abhängige Aufgaben überspringen, unabhängige fortsetzen

FEHLERMODI

Race Condition bei paralleler Ausführung

Symptome: Mehrere Aufgaben beanspruchen dieselbe Datei, gleichzeitige Schreibvorgänge, beschädigte Ausgabe Erkennung: Fehlermeldungen mit "Datei gesperrt" oder "gleichzeitige Änderung" Behebung: Erzwingen Sie sequenzielle Ausführung für betroffene Aufgaben, implementieren Sie ordnungsgemäße Dateisperrung

Leistungsprobleme durch Modell-Fehlanpassung

Symptome: Einfache Aufgaben dauern zu lange (opus für Recherche) oder komplexe Aufgaben schlagen fehl (haiku für Denken) Erkennung: Aufgabendauer >5min für einfache Aufgaben ODER mehrere Wiederholungsversuche Behebung: Wenden Sie die Modellauswahl-Heuristik an, starten Sie mit dem geeigneten Modell neu

Kontextüberlauf zwischen Wellen

Symptome: Aufgaben erhalten zu viele irrelevante Daten, erreichen Token-Limits, langsame Leistung Erkennung: Aufgabenantworten erwähnen "zu viele Informationen" oder abgeschnittene Ausgaben Behebung: Filtern Sie den Kontext auf nur wesentliche Daten für die nächste Welle, verwenden Sie TodoWrite zur Fortschrittsverfolgung

Deadlock durch zirkuläre Abhängigkeiten

Symptome: Aufgaben warten unbegrenzt, keine Fortschritte bei der Ausführung Erkennung: Welle steckt >10min fest, keine Abschlüsse Behebung: Brechen Sie die zirkuläre Abhängigkeit, indem Sie eine Aufgabe Platzhalterdaten verwenden lassen, ordnen Sie die Ausführung neu

Singleton-Aufgabenkollision

Symptome: Mehrere Build-/Testprozesse laufen gleichzeitig, Ressourcenerschöpfung Erkennung: Mehrere "npm run"- oder Build-Prozesse in parallelen Logs Behebung: Brechen Sie alle bis auf einen ab, stellen Sie die anderen für die sequenzielle Ausführung in die Warteschlange

ARBEITSBEISPIELE

Erstellung einer komplexen SaaS-Landingpage

Eingabe: "Erstellen Sie eine Landingpage für ein SaaS-Produkt mit Benutzerforschung, Branding und Bereitstellung"

Schritt 1 - Zerlegung:

cd website/
npx tsx src/dag/demos/decompose-and-execute.ts simple

Ausgabeanalyse:

Welle 1: [user-research] (haiku - Rechercheaufgabe)
Welle 2: [brand-identity, wireframe-structure] (beide sonnet - Designaufgaben)
Welle 3: [copywriting, component-development] (sonnet für beide)
Welle 4: [integration-testing] (haiku - einfache Validierung)
Welle 5: [deployment] (opus - komplexe Orchestrierung)

Schritt 2 - Ausführung Welle 1 (sequenziell):

Task({
  description: "Führen Sie user-research aus",
  subagent_type: "design-archivist",
  model: "haiku", // Rechercheaufgabe
  prompt: "Analysieren Sie 20-30 SaaS-Landingpages auf Konversionsmuster..."
});

Schritt 3 - Ausführung Welle 2 (parallel): Da keine Dateikonflikte erkannt wurden:

// Einzelne Nachricht mit beiden Aufgaben
Task({
  description: "Führen Sie brand-identity aus",
  subagent_type: "design-system-creator",
  model: "sonnet", // Designaufgabe
  prompt: "Erstellen Sie eine Markenidentität unter Verwendung von Forschungserkenntnissen: [gefilterter Kontext]"
});

Task({
  description: "Führen Sie wireframe-structure aus",
  subagent_type: "interior-design-expert",
  model: "sonnet", // Designaufgabe
  prompt: "Entwerfen Sie die Wireframe-Struktur basierend auf den Ergebnissen der Benutzerforschung"
});

Expertenhinweis: Verwendung von gefiltertem Kontext, nicht die gesamte Rechercheausgabe ausgeben. Ein Anfänger würde alles weitergeben.

QUALITÄTSSICHERUNGEN

  • Alle Wellen in der richtigen Abhängigkeitsreihenfolge ausgeführt
  • Parallele Aufgaben ohne Dateikonflikte abgeschlossen
  • Alle Task-Aufrufe enthalten die richtige Modellauswahl (haiku/sonnet/opus)
  • Fehlgeschlagene Aufgaben ordnungsgemäß mit spezifischen Fehlerdetails gemeldet
  • Der zwischen Wellen übergebene Kontext ist gefiltert und relevant
  • Singleton-Aufgaben (build/test/deploy) sequenziell ausgeführt
  • Dateisperren ohne Deadlock erworben/freigegeben
  • Endergebnisse entsprechen den ursprünglichen Aufgabenanforderungen
  • Ausführungszeit innerhalb angemessener Grenzen (keine Endlosschleifen)
  • Alle temporären Dateien und Sperren bereinigt

NICHT FÜR GRENZEN

Verwenden Sie die DAG-Ausführung nicht für:

  • Einfache Single-Agent-Aufgaben → Verwenden Sie stattdessen den direkten Skill-Aufruf
  • Echtzeit-interaktive Aufgaben → Verwenden Sie stattdessen Chat-basierte Skills
  • Aufgaben, die während der Ausführung menschliche Eingaben erfordern → Verwenden Sie stattdessen manuelle Orchestrierung
  • Datei-Uploads/Downloads → Verwenden Sie stattdessen Dateiverwaltungs-Skills
  • Aufgaben mit <3 Unteraufgaben → Direkte Ausführung ist effizienter

Delegieren Sie an andere Skills:

  • Für Aufgabenplanung ohne Ausführung → Verwenden Sie task-decomposer
  • Für einfache Dateioperationen → Verwenden Sie file-manager
  • Für direkte Codegenerierung → Verwenden Sie code-architect
  • Für Single-Agent-Gespräche → Verwenden Sie Skillspezifische Agenten

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

Verwandte Skills