Delegate

Décomposer un travail substantiel en phases, répartir chaque phase entre sous-agents et évaluer les résultats. À utiliser pour toute demande d'implémentation, d'investigation, de correction, de revue ou de modification de fichiers — même petites — et chaque fois que vous vous apprêtez à lire une source ou à exécuter un diagnostic vous-même plutôt que de déléguer.

Qu'est-ce que Delegate ?

Delegate est une compétence d'orchestrateur qui transforme une requête en un flux de travail structuré : décomposition, répartition, jugement. L'orchestrateur conserve un contexte unique tout au long de la session, tandis que chaque sous-agent reçoit une fenêtre fraîche pour sa tâche. Cette compétence s'applique à toute modification de fichier, investigation, correction de bogue ou revue de code, quelle que soit sa taille. Elle utilise un système de phases standardisées (read, gather, process, verify, write, validate, test, report, review) et propose deux modes de répartition : spécialiste (l'agent reçoit le contexte et les critères de succès) ou générique (l'agent reçoit des instructions d'implémentation précises). Un mécanisme d'arbitrage permet de valider les rapports des sous-agents et de rediriger les phases incomplètes ou bloquées. Cette compétence est conçue pour les agents capables de lire et d'exécuter des commandes dans un environnement de développement.

Compatible avec✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Jamie-BitFlight/claude_skills/tree/main/plugins/agent-orchestration/skills/delegate

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

Que fait Delegate ?

Le contexte de l'orchestrateur est la seule fenêtre qui dure toute la session. Chaque fichier qu'il lit et chaque sortie de commande qu'il conserve est un budget de jugement dépensé. Les sous-agents obtiennent une fenêtre fraîche par tâche, donc l'orchestrateur achemine, définit le critère de succès et juge ; les agents lisent, exécutent et écrivent.

Deux rôles

Chaque prompt de répartition commence par Your ROLE_TYPE is sub-agent. Cette ligne est un marqueur anti-récursion : un sous-agent qui hérite de cette compétence ne doit pas déléguer davantage. Si votre prompt commence ainsi, arrêtez-vous ici et suivez references/sub-agent-contract.md. Sinon, vous êtes le délégateur et le reste de ce fichier s'applique.

Quand cela s'applique

Toute demande qui modifie des fichiers, recherche une cause, collecte des faits, corrige un bogue ou révise du travail — quelle que soit sa taille — et tout moment où vous vous apprêtez à lire une source ou à exécuter un diagnostic vous-même plutôt que de déléguer. « Ce n'est que deux lignes » est délégué. La seule exception : une vérification limitée à un seul fichier que vous avez vous-même modifié dans ce tour.

S'applique également une fois le travail en cours : juger le rapport d'un sous-agent (voir Arbitrage), rediriger une phase, ou généraliser une instance de motif nommée par l'utilisateur (voir Extension de motif).

Répondez directement lorsque la réponse est déjà dans votre contexte et qu'aucune modification de fichier n'est nécessaire.

Décomposer

Divisez la requête en phases. Ne conservez que les phases qui produisent du travail ; n'ajoutez jamais de phases inutiles.

PhaseProduit
readLe matériel dont dépend le travail, localisé et lu
gatherDes faits externes : documentation, artéfacts existants, état actuel du système
processL'analyse et l'approche choisie
verifyL'approche vérifiée par rapport au code réel et à l'environnement
writeLe changement
validateRésultats du lint, du typage, de la compilation
testExécutions de tests, ainsi que de nouveaux tests couvrant le changement
reportCe qui a changé, avec des preuves
reviewCritique indépendante du résultat

Certaines formes se répètent et ont leur propre gestion :

  • Correction de bogue → references/fix-cycle.md : reproduire avant de modifier.
  • Même modification sur plusieurs cibles → un envoi process décide du changement ; N envois génériques l'appliquent ; un envoi review vérifie. Voir parallel-work.

Répartir

  • Une phase par envoi. Une phase peut être répartie sur N cibles (N envois, même phase) ; elle ne se mélange jamais avec une autre phase.
  • Envoyez les envois indépendants ensemble en un seul tour afin qu'ils s'exécutent simultanément. Sérialisez uniquement là où l'un consomme le résultat d'un autre, ou si deux écriraient le même fichier sans isolation.
  • Les résultats de read/gather/process vont dans un fichier, pas dans votre contexte. Transmettez le chemin à la phase suivante ; ne transmettez pas le contenu.

Choisir l'agent

Classez en fonction de ce que la tâche demande à l'agent, pas de son nom :

  • Spécialiste — tout agent dont la description correspond au domaine de la phase. Reçoit les observations, les critères de succès et le contexte. Ne reçoit jamais les étapes d'implémentation.
  • Générique — general-purpose (ou l'équivalent du harnais) et Explore. Reçoit une implémentation prescrite : modification exacte, fichiers exacts, vérification exacte. Explore uniquement pour une recherche de correspondance exacte.
  • Réviseur — pour la phase review, un agent différent de celui qui a écrit, en privilégiant un agent de type réviseur ou auditeur pour le domaine.

Lorsqu'aucun spécialiste ne convient, envoyez un générique avec une tâche prescrite.

Les deux prompts commencent par les deux mêmes lignes — copiez-les textuellement sur la première ligne de chaque modèle qui suit : Your ROLE_TYPE is sub-agent. Follow the sub-agent contract at <chemin absolu vers references/sub-agent-contract.md>.

Prompt — mode spécialiste

PHASE: <un des noms de phase>
TASK: <une phrase>

OBSERVATIONS:
- <faits déjà dans votre contexte : déclarations de l'utilisateur, rapports STATUS antérieurs, erreurs textuelles, fichier:ligne si connu>

DEFINITION OF SUCCESS:
- <résultat mesurable>
- <critères d'acceptation>
- <comment il est vérifié — une commande et son résultat attendu, ou le réviseur qui vérifiera>

DELIVERY:
- Écrivez tout ce qui fait plus d'une ligne dans .tmp/scratch/reports/<YYYYMMDD>-<slug>.md et renvoyez le chemin.

CONTEXT:
- Location : <où chercher>
- Scope : <limites>
- Constraints : <exigences imposées par l'utilisateur ; modèles existants à suivre>
- Commands : <les portes de qualité du projet pour valider/tester, ou « découvrir celles que ce projet définit »>

ECOSYSTEM CONTEXT : (omettez la section si vide)
- <faits de session que l'agent ne peut pas lire ailleurs : CLI authentifiées, PR en cours de revue, autre agent actif sur les mêmes fichiers>

YOUR TASK :
<la ligne du tableau ci-dessous pour la phase, textuellement>

Lignes de phase pour YOUR TASK :

PhaseLigne
readLocalisez et lisez le matériel dont dépend ce travail. Écrivez les chemins exacts et le contenu cité dans le fichier de livraison ; ne résumez pas les détails dont une phase ultérieure aurait besoin. Ne modifiez rien.
gatherCollectez les faits externes nommés dans CONTEXT. Enregistrez chacun avec sa source dans le fichier de livraison. Ne modifiez rien.
processAnalysez le matériel aux chemins indiqués dans OBSERVATIONS. Choisissez une approche ; enregistrez-la et pourquoi les alternatives ont été écartées. Ne modifiez rien.
verifyVérifiez l'approche choisie par rapport au code réel et à l'environnement dans CONTEXT. Enregistrez où elle fonctionne et où elle échoue. N'implémentez rien.
writeEffectuez la modification dans DEFINITION OF SUCCESS. Ne touchez que les fichiers dans le Scope de CONTEXT.
validateExécutez les commandes dans CONTEXT Commands, ou découvrez les portes de lint/type/compilation de ce projet et indiquez lesquelles vous avez exécutées. Rapportez la sortie exacte, succès et échec. Un échec silencieux est un échec.
testExécutez l'invocation de test dans CONTEXT Commands, ou découvrez-la et indiquez laquelle vous avez exécutée. Ajoutez des tests couvrant la modification. Rapportez la sortie exacte.
reportIndiquez ce qui a changé et les preuves : fichiers, commandes, sorties. Ne faites aucune affirmation que les preuves ne soutiennent pas.
reviewCritiquez le résultat au chemin dans OBSERVATIONS par rapport à DEFINITION OF SUCCESS. Rapportez les lacunes, contradictions, affirmations non étayées. Ne corrigez rien.

Règles pour le remplir :

  • Une section que vous ne pouvez pas remplir à partir de ce qui est déjà dans votre contexte est omise, pas inventée. OBSERVATIONS ou ECOSYSTEM CONTEXT vides sont un état valide ; une supposition ne l'est pas.
  • OBSERVATIONS est un passage direct : uniquement ce qui est déjà dans votre contexte. Lire, grepper ou exécuter des commandes pour le remplir est un pré-collecte ; l'agent le fait avec une fenêtre fraîche.
  • Énoncez les observations comme des faits (« code de sortie 1 », « le texte d'erreur est : … »). Si vous avez une hypothèse, étiquetez-la : Hypothèse à vérifier : ….
  • Constraints sont des résultats et des limites, jamais des étapes. Nommer la propre porte du projet dans Commands est une contrainte, pas une étape.
  • Ne dites rien que l'agent hérite : conventions du dépôt, chaîne d'outils, « explorez librement », « utilisez les compétences disponibles ». Cela vit dans les instructions de l'agent pour le projet. Ne nommez une compétence que lorsque l'agent doit la charger et ne le ferait pas tout seul.
  • Chemins : écrits comme l'agent les résoudra depuis son propre répertoire de travail ; relatifs dans le dépôt, et la forme de lien symbolique (pas la cible résolue) pour tout ce qui est atteint via un lien symbolique.

Prompt — mode générique

PHASE: <write | validate | test | read>
TASK: <l'instruction exacte — la modification à faire, le motif à trouver, la commande à exécuter>

FILES:
- <chemins exacts>

DEFINITION OF SUCCESS:
- <la commande de vérification et son résultat attendu>

DELIVERY:
- Incluez la sortie de vérification dans votre rapport.

Arbitrer

Les rapports sont des affirmations. Pour chacun :

  • Vérifiez que la preuve soutient la conclusion. « Les tests passent » sans la sortie de la commande n'est pas une preuve ; renvoyez pour obtenir la sortie.
  • Jugez le travail retourné ; ne le redérivez pas. Re-lire ce que l'agent a lu dépense le contexte que la délégation a économisé.
  • Deux rapports sont en conflit → trouvez l'affirmation falsifiable et envoyez une vérification pour celle-ci. La confiance n'est pas un critère de départage.
  • PARTIAL → renvoyez le reste, en nommant exactement ce qui reste.
  • BLOCKED sur une entrée manquante → fournissez-la et renvoyez. BLOCKED après des tentatives → changez d'approche ou escaladez vers l'utilisateur ; ne renvoyez pas le même prompt.

Renvoi de la même phase au maximum deux fois sur le même écart. Après cela, arrêtez-vous et rapportez BLOCKED à l'utilisateur en nommant l'écart.

Toute demande qui a modifié du code reçoit une revue indépendante, d'un réviseur autre que l'auteur.

Extension de motif

Un utilisateur pointant vers une instance d'une odeur de code, d'un bogue ou d'une vérification manquante nomme un motif. Sauf s'il a dit « seulement celui-ci » : envoyez un audit du fichier ou du module entier pour le motif, rapportez les instances trouvées et confirmez avec l'utilisateur avant de corriger au-delà du fichier nommé.

Pointeurs

  • references/sub-agent-contract.md — ce que suivent les agents envoyés.
  • references/fix-cycle.md — le cycle de reproduction d'abord pour les envois de correction de bogue.
  • parallel-work — éventail, convergence, producteur/vérificateur, tournois, boucles avec plafonds ; pointe également vers les mécanismes du harnais Claude Code.
  • Si orchestrator-discipline est installé : ce que l'orchestrateur peut lire et exécuter ; appliqué par des crochets.
  • Si process-siren est installé : écrire les points de décision sous forme de losanges Mermaid évaluables.

Individual skills in this repo

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

Jamie-BitFlight/agentskill-kaizen-meta-docs

Agentskill kaizen plugin documentation index. Load when needing to read about cross-platform notes, improvement plans, or DuckDB integration.

Jamie-BitFlight/bash-51-features

Bash 5.1 release features and improvements with practical examples. Use when working with Bash 5.1 features, epoch time variables, redirection enhancements, or when user asks about Bash 5.1 changes, new features, or version-specific capabilities.

Jamie-BitFlight/bash-52-features

Bash 5.2 release features and improvements with practical examples. Use when working with Bash 5.2 features, variable handling enhancements, readline improvements, or when user asks about Bash 5.2 changes, new features, or version-specific capabilities.

Jamie-BitFlight/bash-53-features

Bash 5.3 release features and improvements with practical examples. Use when working with Bash 5.3 features, new command substitution, GLOBSORT, loadable builtins, or when user asks about Bash 5.3 changes, new features, or version-specific capabilities.

Jamie-BitFlight/bash-development

This skill should be used when the user asks to "write a bash script", "create a shell script", "implement bash function", "parse arguments in bash", "handle errors in bash", or mentions bash development, shell scripting, script templates, or modern bash patterns.

Jamie-BitFlight/bash-lint

This skill should be used when the user asks to "lint bash script", "run shellcheck", "format shell script", "use shfmt", "fix shellcheck errors", or mentions shell script linting, formatting, code quality, or pre-commit hooks for bash.

Jamie-BitFlight/bash-logging

This skill should be used when the user asks to "add logging to bash script", "colorize output", "implement log levels", "CI/CD sections", "terminal colors in bash", or mentions logging functions, emoji output, collapsible CI sections, or shlocksmith.

Jamie-BitFlight/bash-portability

This skill should be used when the user asks about "POSIX compatibility", "portable shell scripts", "cross-shell compatibility", "bashisms", "shebang selection", or mentions writing scripts that work on different shells (bash, sh, dash, zsh) or different systems.

Jamie-BitFlight/bash-testing

This skill should be used when the user asks to "test bash script", "write shell tests", "use shunit2", "use shellspec", "create test suite for bash", or mentions unit testing, test frameworks, mocking, or test-driven development for shell scripts.

Jamie-BitFlight/brainstorming-skill

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or when users request help with ideation, marketing, and strategic planning. Explores user intent, requirements, and design before implementation using research-validated prompt patterns.

Jamie-BitFlight/clang-format

Configure clang-format code formatting. Use when: user mentions clang-format or .clang-format, analyzing code style/patterns, creating/modifying formatting config, troubleshooting formatting, brace styles/indentation/spacing/alignment/pointer alignment, or codifying conventions.

Jamie-BitFlight/commitlint

When setting up commit message validation for a project. When project has commitlint.config.js or .commitlintrc files. When configuring CI/CD to enforce commit format. When extracting commit rules for LLM prompt generation. When debugging commit message rejection errors.

Jamie-BitFlight/conventional-commits

When writing a git commit message. When task completes and changes need committing. When project uses semantic-release, commitizen, git-cliff. When choosing between feat/fix/chore/docs types. When indicating breaking changes. When generating changelogs from commit history.

Jamie-BitFlight/dasel-reference

Use when querying, modifying, or converting JSON, YAML, TOML, XML, CSV, HCL, or INI with dasel v3. Complete reference for selectors, functions, conditionals, variables, spread operator, type casting, and format-specific patterns.

Jamie-BitFlight/data-exploration

Use when exploring unknown structured data files with dasel v3 — discover schema, list keys, find nested values, sample arrays, identify data types across JSON, YAML, TOML, XML, CSV, HCL, INI formats

Jamie-BitFlight/data-transformation

Use when modifying, converting, or transforming structured data with dasel v3 — in-place mutations, format conversion, batch operations, array manipulation, object construction, and merge patterns across JSON, YAML, TOML, XML, CSV, HCL, INI

Jamie-BitFlight/enterprise-hibernate-hbm

Dasel v3 query patterns for Hibernate .hbm.xml mapping files — entity-table binding, Java property-to-column extraction, one-to-many set/list/bag relationship tracing, many-to-one foreign key discovery, batch scanning across 60+ HBM files. Use when querying Hibernate ORM class mappings, extracting schema metadata from Java persistence layer, or auditing entity-column relationships in enterprise legacy codebases.

Jamie-BitFlight/enterprise-installanywhere

Dasel v3 query patterns for InstallAnywhere .iap_xml installer definitions — use when querying action sequences, discovering variables, resolving platform conditions, navigating panels, or comparing installer variants. Files are 2.5+ MB, 65,000+ lines — too large for context reads, requires structural dasel queries.

Jamie-BitFlight/enterprise-maven-pom

Dasel v3 selector patterns for Maven POM XML files — use when querying dependency versions, filtering by groupId or scope, extracting module hierarchy from parent POMs, or detecting version conflicts across enterprise multi-module Java projects. Load this skill when working with pom.xml files using dasel.

Jamie-BitFlight/enterprise-spring-xml

Dasel v3 selectors for Spring bean factory XML — use when querying any Spring ApplicationContext XML for bean discovery, dependency wiring, JMS destination mapping, property injection extraction, or cross-bean reference tracing. Load this skill before writing dasel selectors against Spring bean XML files (applicationContext.xml, *_beans.xml, spring-*.xml).

Skills associés