tderoussel/fleet-brief

Rédige un briefing de flux de travail pour répartir plusieurs agents de build en parallèle sur une même base de code, avec propriété exclusive des fichiers, avertissements sur les terrains partagés et une liste interdite dérivée. Utilisez-le chaque fois que le travail va être divisé entre agents, workers, voies ou vagues concurrents — même si l'utilisateur ne dit pas « rédige un briefing ».

Qu'est-ce que fleet-brief ?

Ce skill, nommé **fleet-brief**, automatise la création d'un briefing structuré conçu pour orchestrer des agents de build parallèles travaillant sur une même base de code. Son objectif principal est d'empêcher les collisions de fichiers — situation où deux agents modifient le même fichier simultanément — en établissant des frontières claires avant le lancement des builds. Le skill guide l'utilisateur à travers six étapes essentielles : cartographier les fichiers concernés, attribuer une propriété exclusive à chaque voie via un tableau, lister les terrains partagés lus par plusieurs voies, dériver une liste DO-NOT avec raisons explicites, définir des critères de validation (« done ») avec revue avant fusion, et marquer les éléments volontairement non traités. Il préconise l'utilisation de worktrees git pour l'isolation, recommande que chaque voie soit fusionnable indépendamment et produit un document final avec un avertissement « vérifier, ne jamais supposer ». Parfait pour les développeurs utilisant des plateformes comme Claude Code, Cursor ou Codex qui souhaitent paralléliser des tâches complexes sans risque d'interférence.

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

Installed? Explore more Productivité et collaboration skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Fleet brief

Les agents parallèles échouent sur les terrains partagés — deux voies modifiant le même fichier. Le briefing existe pour rendre cette collision impossible avant le lancement. Dérivez les frontières à partir de la carte réelle des fichiers ; ne les supposez jamais.

Construire le briefing dans cet ordre

1. Cartographier d'abord les fichiers

Avant de définir les voies, listez les fichiers que chaque modification proposée toucherait. Lisez-les. Une voie définie sans avoir lu ses fichiers est une collision en attente.

2. Attribuer une propriété exclusive

Chaque fichier a exactement une voie propriétaire. Produisez ce tableau :

VoiePossède (écrit)Lecture seule
W1 — path/a.ts, path/b.tspath/shared.ts

Si deux voies doivent écrire dans un même fichier, vous avez trois options — choisissez-en une explicitement, ne laissez jamais l'ambiguïté :

  • Séquencer (W2 attend la fusion de W1)
  • Fusionner les deux en une seule voie
  • Coudre : une voie ajoute un point d'extension, l'autre le consomme

3. Nommer le terrain partagé

Listez chaque fichier que plus d'une voie lit, et indiquez qui peut l'écrire.

Dérivez cette liste de la base de code que vous avez sous les yeux — ne rapportez pas la liste d'un autre projet. Les formes récurrentes à vérifier :

  • Le chemin entrant actif. Tout ce qui reçoit des webhooks ou du trafic utilisateur. Les modifications concurrentes ici échouent en production, pas dans les tests.
  • Les modules moteur et répartiteur que plusieurs fonctionnalités appellent.
  • Les manifestes en ajout seul — configs de déploiement, tables de routage, listes de fonctions. Les plateformes imposent des limites (nombre de fonctions, tailles de fichiers) ; deux voies ajoutant indépendamment peuvent les dépasser.
  • Les exports largement importés. Ajoutez de manière additive ; un renommage se répercute sur tous les appelants.
  • Les fichiers générés ou vendus qu'aucune voie ne doit modifier à la main.

Un fichier qui a déjà causé une collision est définitivement un terrain partagé. Enregistrez-le dans le briefing pour que la prochaine flotte hérite de la connaissance.

4. Dériver la liste DO-NOT

Chaque DO-NOT nomme un fichier ou un comportement et la raison. Les interdictions nues sont ignorées ; celles ancrées tiennent.

Les entrées qui se généralisent à la plupart des bases de code :

  • Ne jamais git add -A pendant la résolution de conflit — cela ajoute les marqueurs de conflit et le travail des autres voies.
  • Les travailleurs ne commitent pas dans les worktrees liés ; l'orchestrateur commit.
  • Si la suite de tests mocke la base de données globalement, un test unitaire vert ne prouve rien sur la base de données. Dites-le explicitement.
  • N'ajoutez pas de dépendances sans justification d'une ligne.
  • N'appliquez pas de migrations de schéma depuis une voie. Reportez-les à une étape unique révisée.
  • Méfiez-vous des appels CLI qui échouent silencieusement — par exemple gh pr create nécessite un --base explicite, et les heredocs chaînés peuvent avaler les erreurs.

Ajoutez ensuite les entrées spécifiques au projet. Chaque incident qui vous a coûté une nuit a sa place ici, avec sa raison attachée.

5. Définir la validation

Indiquez explicitement, par voie : ce que signifie « terminé », quelles preuves l'attestent, et qui révise avant fusion.

La valeur par défaut à garder est révision avant mise en ligne — construire, puis révision indépendante en ligne, puis cycles de corrections obligatoires, puis fusion. Ne fusionnez jamais une voie sur la seule parole de son auteur. L'agent de l'auteur est le pire possible pour réviser sa propre diff.

6. Marquer ce qui est en attente

Une section « Volontairement PAS fait — nécessite un humain ». Les éléments gardés pour un go explicite sont gardés intentionnellement. Ne laissez pas une voie exécuter un élément parce qu'il semble prêt.

Isolation

Exécutez les builds dans des worktrees git, jamais dans le checkout principal — une flotte qui partage un répertoire de travail va entrelacer les modifications. Si les voies modifient des fichiers qui se chevauchent malgré la carte, donnez à chacune son propre worktree.

Dimensionnement

Les voies doivent pouvoir être fusionnées indépendamment. Si une voie ne peut pas fusionner sans la PR d'une autre voie, ce n'est pas une voie — c'est une phase. Séquencez les phases ; parallélisez les voies.

Sortie

Écrivez le briefing à l'endroit où le projet conserve ses plans, et ouvrez-le avec un avertissement « vérifier, ne jamais supposer ». Les lignes d'état dans tout document source sont des points de contrôle, pas une autorité — revérifiez le commit en direct, l'état de la base de données, les vérifications de PR et les têtes de worktree avant de dispatcher en fonction de celles-ci.

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.

Skills associés