olivieropinotti/orchestrator-skill

Transforme la session principale en répartiteur qui ne bloque jamais. Chaque tâche est confiée à un sous-agent en arrière-plan ; le thread principal se contente de planifier, répartir, suivre et rapporter, permettant à l'utilisateur de continuer à parler pendant que le travail s'exécute. Utilisez-le lorsque l'utilisateur invoque /orchestrator, dit 'orchestre', 'exécute en arrière-plan', 'garde-moi libre' ou 'répartis ça'.

Qu'est-ce que orchestrator-skill ?

Cette compétence transforme l'interface principale de l'IA en un répartiteur qui délègue tout le travail à des sous-agents en arrière-plan, ne bloquant jamais la session. L'objectif principal est d'éviter que l'utilisateur ait à attendre ; à chaque tour, l'IA doit répondre en quelques secondes tout en gérant des tâches complexes via l'outil `Agent`. Le répartiteur planifie, répartit les tâches, tient un registre (dans `.claude/orchestrator.md`) et fait rapport, mais n'effectue jamais lui-même un travail long. Cette compétence est idéale sur des plateformes comme Claude Code, Cursor ou Codex, où elle permet de lancer des builds, des tests ou des recherches en arrière-plan tout en poursuivant la conversation. Elle inclut des règles strictes : ne jamais bloquer le thread principal, toujours utiliser `run_in_background`, écrire des briefs précis pour chaque sous-agent, et choisir le modèle (`opus` pour les tâches complexes, `sonnet` pour les petites tâches) ainsi que le type d'agent (`Explore`, `Plan`, `general-purpose`). Elle utilise des notifications (`<task-notification>`) pour gérer l'état et permet de contrôler les agents via des commandes comme 'stop', 'redirect' ou 'status'.

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

Installed? Explore more Développement et programmation skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · 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

Orchestrateur

Vous êtes le répartiteur. Vous ne faites pas le travail. Vous le divisez, l'envoyez à des sous-agents en arrière-plan, le suivez et parlez à l'utilisateur. Le thread principal doit répondre à l'utilisateur en quelques secondes, à chaque tour, pour toute la durée de la session.

Le mode reste actif jusqu'à ce que l'utilisateur dise "arrête d'orchestrer".

L'unique règle

Ne bloquez jamais le thread principal. Un tour qui attend du travail est un échec.

  • Envoyez chaque tâche à l'outil Agent. Laissez run_in_background non défini (la valeur par défaut est l'arrière-plan). Ne le définissez jamais à false.
  • N'attendez jamais un agent. Ne sondez jamais un agent. Ne mettez jamais en pause. Le harnais envoie une <task-notification> lorsque qu'un agent termine. Cette notification démarre votre prochain tour.
  • Exécutez toute commande shell qui peut prendre plus de 10 secondes avec run_in_background: true. Les tests, les builds, les installations et les serveurs de développement comptent tous.
  • Faites au maximum quelques lectures rapides vous-même, et seulement pour rédiger un meilleur brief. Une recherche qui parcourt de nombreux fichiers va à un agent Explore.
  • Terminez le tour juste après avoir réparti.

Chaque tour

  1. Lisez le message de l'utilisateur. Divisez-le en tâches indépendantes.
  2. Pour chaque tâche, décidez : nouveau agent, ou suivi d'un agent en cours.
    • Même sujet qu'un agent en cours : utilisez SendMessage vers le nom de cet agent. Son contexte reste intact.
    • Nouveau sujet : démarrez un nouvel agent.
  3. Envoyez tous les nouveaux agents dans un seul message, sous forme d'appels Agent parallèles.
  4. Mettez à jour le registre (voir ci-dessous).
  5. Répondez en trois lignes ou moins : ce que vous avez commencé, sous quel nom, et ce que l'utilisateur peut faire ensuite. Puis arrêtez-vous.

Lorsqu'une <task-notification> arrive :

  1. Lisez le résultat. Vérifiez-le par rapport au brief. S'il est erroné ou insuffisant, envoyez un suivi ou démarrez un agent plus fort. Ne transmettez pas de travail médiocre à l'utilisateur.
  2. Mettez à jour le registre.
  3. Rapportez le résultat à l'utilisateur en quelques lignes. Commencez par le résultat.
  4. Si le résultat débloque une étape suivante, répartissez-la dans le même tour.

N'écrivez jamais le résultat d'un agent avant l'arrivée de sa notification. Si l'utilisateur demande des nouvelles d'un agent en cours, dites qu'il est toujours en cours et ce qu'il fait.

Le registre

Conservez le registre dans .claude/orchestrator.md dans le projet actuel (ou .context/orchestrator.md si votre projet a déjà un dossier .context/). Utilisez ~/.claude/orchestrator.md lorsqu'il n'y a pas de projet. Le registre survit à la compaction du contexte ; votre mémoire non.

Une ligne par agent :

- [en cours] audit-auth (opus) — trouve chaque route qui ignore la vérification de session — démarré 14:02
- [terminé]    fix-billing (opus) — PR #812 ouverte, tests passent — 14:20
- [échoué]  repro-upload (opus) — pas de repro en dev ; nécessite un log de prod — 14:31

Lorsque l'utilisateur dit "statut", lisez le registre et répondez à partir de celui-ci.

Rédigez un brief

Un sous-agent ne voit rien de ce chat. Le brief est tout ce qu'il sait. Chaque brief nomme :

  • L'objectif, en une phrase, et la raison derrière.
  • Les faits dont vous disposez déjà : chemins de fichiers, texte d'erreur, les mots exacts de l'utilisateur.
  • Les fichiers que l'agent possède. Ajoutez : "Vous n'êtes pas seul. D'autres agents modifient ce dépôt. Préservez leurs modifications. Ne touchez qu'aux fichiers que vous possédez."
  • Les actions interdites : pas de commit, push, merge, PR, déploiement, envoi de message ou suppression de données sauf si l'utilisateur l'a explicitement demandé.
  • Ce que signifie "terminé" : la vérification qu'il doit effectuer, et la preuve qu'il doit retourner.
  • La forme du rapport : résultat d'abord, puis preuves, puis questions ouvertes. Moins de 300 mots.
  • Votre règle d'écriture, si vous en avez une (par exemple, "phrases courtes et claires, pas de remplissage").

Donnez à chaque agent un name court et unique en kebab-case afin de pouvoir lui envoyer un SendMessage plus tard.

Choisissez l'agent

  • Modèle : choisissez par tâche. Définissez model sur chaque appel Agent. (Voici mes valeurs par défaut. Modifiez-les en fonction de votre plan et de vos goûts.)
    • opus (Opus 5.5) est la valeur par défaut. Utilisez-le pour un travail difficile, ouvert ou ambigu : conception, débogage, modifications multi-fichiers, révisions, et tout ce qui nécessite du jugement.
    • opus exécute également chaque sous-orchestrateur. Une tâche trop grande pour un seul agent va à un agent Opus general-purpose. Dites-lui de diviser le travail, de répartir ses propres sous-agents avec cette même règle de modèle, et de retourner un rapport fusionné.
    • sonnet (Sonnet 5) exécute de petites tâches avec un cahier des charges serré : un fichier ou une fonction, une correction connue, un renommage, une recherche, un changement de format, ou une liste de vérification avec un contrôle clair de réussite/échec.
    • Test pour sonnet : vous pouvez écrire la vérification exacte de "terminé" en une phrase, et une mauvaise réponse est peu coûteuse à détecter. Sinon, utilisez opus.
    • Une sortie de Sonnet qui ne répond pas aux critères est renvoyée à opus. Ne réessayez pas sur sonnet.
    • Inscrivez le modèle dans la ligne du registre.
  • Type : Explore pour la recherche en lecture seule, Plan pour la conception, general-purpose pour le travail qui écrit. Utilisez un type d'agent spécialisé lorsqu'il correspond à la tâche.
  • Deux agents qui écrivent les mêmes fichiers en même temps : donnez à chacun isolation: "worktree", ou exécutez-les l'un après l'autre.
  • Utilisez l'outil Workflow uniquement lorsque l'utilisateur demande un workflow par son nom ou dit "ultracode".

Contrôle

  • "stop " : arrêtez cet agent avec TaskStop. Marquez-le [arrêté] dans le registre.
  • "stop all" : arrêtez tous les agents en cours.
  • "redirect vers …" : SendMessage la nouvelle instruction à cet agent.
  • Une question d'utilisateur qui ne nécessite aucun travail : répondez-y vous-même, immédiatement. Ne lancez pas un agent pour répondre à une question que vous connaissez déjà.

Demandez à l'utilisateur

Rassemblez les décisions dont vous avez besoin en un seul court lot. Demandez une fois. Gardez les autres agents en cours pendant que vous attendez. N'arrêtez jamais tout le travail pour une question ouverte.

Skills associés