tderoussel/fleet-brief

Erstellt einen Arbeitsablauf-Brief für die Verteilung mehrerer paralleler Build-Agenten auf eine Codebasis, mit Dateibesitz pro Spur, gemeinsamen Grundwarnungen und einer abgeleiteten DO-NOT-Liste.

Was ist fleet-brief?

Das Skill 'fleet-brief' dient dazu, einen strukturierten Brief zu verfassen, der die Arbeit mehrerer paralleler KI-Agenten (z. B. für Claude Code, Cursor oder Codex) auf einer gemeinsamen Codebasis orchestriert. Es verhindert Kollisionen, indem es vor dem Dispatch exakte Dateigrenzen definiert – basierend auf der realen Dateistruktur, nicht auf Annahmen. Der Brief enthält eine Zuordnung von Dateibesitzern pro Spur (Lane), eine Liste geteilter Ressourcen (Shared Ground), eine DO-NOT-Liste mit Begründungen, sowie Gating-Bedingungen für jeden Zweig. Das Skill unterstützt Plattformen wie Claude Code, Cursor und Codex und wird aktiviert, wenn es um parallele Arbeit, Workstreams oder Aufteilung geht. Es produziert den Brief, führt aber keine Dispatch-Aktionen durch – der Entwickler entscheidet auf Basis des Briefs über die tatsächliche Verteilung. Die Empfehlung lautet, Builds in Git-Worktrees auszuführen und Spuren unabhängig mergbar zu halten.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/tderoussel/agent-skills/tree/main/skills/fleet-brief

Installed? Explore more Produktivität & Zusammenarbeit skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

In Ihrer bevorzugten KI fragen

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

Dokumentation

Was macht fleet-brief?

Parallele Agenten scheitern an gemeinsamen Grundlagen — zwei Spuren, die eine Datei bearbeiten. Der Brief existiert, um diese Kollision vor dem Dispatch unmöglich zu machen. Leite die Grenzen aus der tatsächlichen Dateikarte ab; nimm sie niemals an.

Erstelle den Brief in dieser Reihenfolge

1. Ordne zuerst die Dateien

Bevor du Spuren definierst, liste die Dateien auf, die jede vorgeschlagene Änderung berühren würde. Lies sie. Eine Spur, die ohne Lesen ihrer Dateien definiert wird, ist eine Kollision, die nur darauf wartet, zu passieren.

2. Weise exklusive Besitzrechte zu

Jede Datei hat genau eine besitzende Spur. Erstelle diese Tabelle:

SpurBesitzt (schreibt)Liest nur
W1 — path/a.ts, path/b.tspath/shared.ts

Wenn zwei Spuren eine Datei schreiben müssen, hast du drei Optionen — wähle explizit eine aus, lasse sie nie mehrdeutig:

  • Sequenziere sie (W2 wartet auf den Merge von W1)
  • Vereine sie zu einer Spur
  • Füge eine Naht ein: Eine Spur fügt einen Erweiterungspunkt hinzu, die andere nutzt ihn

3. Benenne die gemeinsamen Grundlagen

Liste jede Datei auf, die mehr als eine Spur liest, und gib an, wer sie schreiben darf.

Leite diese Liste aus der vor dir liegenden Codebasis ab — übernimm nicht die Liste eines anderen Projekts. Die wiederkehrenden Muster, die es wert sind, überprüft zu werden:

  • Der Live-Eingangspfad. Was auch immer Webhooks oder Benutzerverkehr empfängt. Gleichzeitige Änderungen hier scheitern in der Produktion, nicht in Tests.
  • Engine- und Dispatcher-Module, die von mehreren Funktionen aufgerufen werden.
  • Nur-anhängbare Manifeste — Bereitstellungskonfigurationen, Routentabellen, Funktionslisten. Plattformen setzen Grenzen (Funktionsanzahlen, Dateigrößen); zwei Spuren, die unabhängig voneinander anhängen, können eine überschreiten.
  • Weit importierte Exporte. Erweitere additiv; eine Umbenennung wirkt sich auf jeden Aufrufer aus.
  • Generierte oder eingekaufte Dateien, die keine Spur von Hand bearbeiten sollte.

Eine Datei, die bereits einmal eine Kollision verursacht hat, ist dauerhaft gemeinsamer Grund. Halte sie im Brief fest, damit die nächste Flotte das Wissen erbt.

4. Leite die DO-NOT-Liste ab

Jeder DO-NOT-Eintrag nennt eine Datei oder ein Verhalten sowie den Grund. Bloße Verbote werden ignoriert; begründete Verbote haben Bestand.

Einträge, die für die meisten Codebasen verallgemeinern:

  • Führe niemals git add -A während der Konfliktlösung aus — es staged die Konfliktmarkierungen und die Arbeit anderer Spuren.
  • Arbeiter committen nicht in verknüpften Worktrees; der Orchestrator committed.
  • Wenn die Testsammlung die Datenbank global mockt, beweist ein grüner Unit-Test nichts über die Datenbank. Sage dies explizit.
  • Füge keine Abhängigkeiten ohne eine einzeilige Begründung hinzu.
  • Wende keine Schema-Migrationen aus einer Spur heraus an. Verschiebe sie auf einen einzigen überprüften Schritt.
  • Achte auf CLI-Aufrufe, die stillschweigend fehlschlagen — z. B. benötigt gh pr create ein explizites --base, und verkettete Heredocs können Fehler verschlucken.

Füge dann die projektspezifischen hinzu. Jeder Vorfall, der dich eine Nacht gekostet hat, gehört hierher, mit seinem Grund.

5. Setze die Hürde

Gib explizit pro Spur an: Was „erledigt“ bedeutet, welche Belege es gibt und wer vor dem Merge prüft.

Der Standard, den es wert ist, beibehalten zu werden, ist Prüfung-vor-Live — bauen, dann unabhängige Code-Review, dann Muss-fix-Runden, dann mergen. Führe niemals einen Merge einer Spur allein auf das Wort des Autors hin durch. Der Agent des Autors ist der schlechteste mögliche Prüfer seines eigenen Diffs.

6. Markiere, was zurückgehalten wird

Ein Abschnitt Bewusst NICHT erledigt — benötigt einen Menschen. Elemente, die für eine explizite Freigabe zurückgehalten werden, werden absichtlich zurückgehalten. Erlaube einer Spur nicht, eines auszuführen, nur weil es bereit aussieht.

Isolation

Führe Builds in Git-Worktrees aus, niemals im Haupt-Checkout — eine Flotte, die ein Arbeitsverzeichnis teilt, wird Änderungen vermischen. Wenn Spuren trotz der Karte überlappende Dateien ändern, gib jeder ihren eigenen Worktree.

Größenbestimmung

Spuren sollten unabhängig voneinander mergebar sein. Wenn eine Spur nicht ohne den PR einer anderen Spur gemerged werden kann, ist es keine Spur — es ist eine Phase. Sequenziere Phasen; parallelisiere Spuren.

Ausgabe

Schreibe den Brief dorthin, wo das Projekt seine Pläne aufbewahrt, und öffne ihn mit einer Warnung „überprüfen, niemals annehmen“. Statuszeilen in jedem Quelldokument sind Kontrollpunkte, keine Autorität — überprüfe erneut den aktuellen Commit, den Datenbankzustand, die PR-Prüfungen und die Worktree-Heads, bevor du basierend darauf dispatchst.

Individual skills in this repo

This repo contains 8 individual skills — each has its own dedicated page.

tderoussel/codebase-audit

Runs a ranked, evidence-backed audit of a product, codebase, or subsystem, ending in a verify list that separates proven findings from inferred ones. Use when the user asks for an audit, a gap analysis, a deep read, a bug hunt, a readiness check, a re-audit, a state reconciliation, or asks what they are not seeing. Trigger phrases include "audit", "gap analysis", "what am I missing", "deep audit", "readiness", "bug hunt", "review the whole thing". Produces findings and a verify list; does not fix.

tderoussel/competitive-teardown

Researches a competing product against your own and produces a ranked build-or-ignore verdict, plus optional comparison-page copy. Use when the user names a competitor or asks how their product stacks up against one. Trigger phrases include "vs us", "competitor", "what does X have", "should we copy", "competitive gap", "teardown", "are we behind". Produces a ranked verdict with effort estimates and an explicit not-worth-copying list.

tderoussel/decision-council

Run a structured multi-perspective review of a decision instead of getting one agreeable answer. Use when the user says run a council, get me perspectives on this, should I do X, stress-test this decision, or is this a good idea.

tderoussel/inbox-triage

Triage an email inbox — sort what needs a reply, draft the replies, flag what needs a decision, and surface what can be ignored or unsubscribed. Use when the user says triage my inbox, do my email, what's in my inbox, or clean up my email.

tderoussel/overnight-build

Composes an autonomous unattended Claude Code build prompt that survives usage-limit resets via BUILD_LOG.md checkpointing, plus the launcher that restarts it. Use when the user asks for an overnight build, an autonomous build, a build to run while they sleep, an unattended or unsupervised session, or any long build they will not be monitoring. Trigger phrases include "overnight build", "run overnight", "build while I sleep", "autonomous build", "let it run", "unattended". Produces a single copyable prompt; does not run the build.

tderoussel/session-log

Write a durable record of a work session — what was built, root-caused, or shipped — into the project's notes. Use when the user says log this session, write a session log, record this, or when a substantial piece of work has just finished and needs to be handed off to a future session.

tderoussel/ship-gate

Verification gate for a Next.js-on-Vercel + Supabase + GitHub Actions stack, to run before claiming anything is shipped, deployed, live, merged, passing, or done. Use before saying a change is in production, before merging a PR, before reporting CI green, and before writing any status into a document — even if the user does not ask for verification. Trigger phrases include "is it live", "did it deploy", "ship it", "merge it", "is CI green", "confirm prod", "did that work". Encodes traps where the obvious check returns a false pass.

tderoussel/vault-doctor

Audits and repairs an Obsidian vault's structural health — broken [[wikilinks]], ambiguous duplicate filenames, missing or malformed frontmatter, stale status markers, and hub notes whose state sections have gone cold. Use when the user asks about vault health, broken links, vault cleanup, dead links, orphan notes, tag consistency, or says the vault feels messy or out of date. Trigger phrases include "vault health", "broken links", "clean up the vault", "audit the vault", "is the vault current". Read-only by default; every repair is proposed before it is made.

Verwandte Skills