Skills qui délèguent
Trois skills ne font pas tout le travail elles-mêmes : elles le confient à des agents neufs. Un agent neuf ne voit pas la conversation. Tout ce qu'il sait, c'est le prompt que la skill lui écrit à partir d'un modèle rangé avec elle. La qualité du travail délégué dépend donc de ce prompt, et la skill garde toujours la vérification finale.
- La skilldans la session principale
- Le promptun modèle, rempli pour la tâche
- Les agentsneufs, sans la conversation
- Ce qui revientun rapport court
- La vérificationavant de dire « fait »
Qui délègue quoi
| Skill | Quand | Modèle de prompt | Agent | Rythme |
|---|---|---|---|---|
/kwa:agents | Un plan dont les tâches sont assez indépendantes | implementer-prompt.md, puis spec-reviewer-prompt.md et quality-reviewer-prompt.md | Un implémenteur neuf par tâche, puis deux relectures par kwa:reviewer | L'une après l'autre |
/kwa:parallel | Plusieurs problèmes sans fichier ni état en commun | agent-prompt.md, un exemplaire par problème | Un agent par problème | En même temps |
/kwa:review | Un diff ou une branche à relire | reviewer-prompt.md | kwa:reviewer, en lecture seule | Un seul par passe |
Lancer des agents, c'est écrire du texte
Il n'y a ni programme ni orchestrateur caché derrière /kwa:agents : la skill est un fichier Markdown que
l'agent principal lit et suit. Quand elle lui dit de déléguer, il appelle l'outil Agent une fois par tâche, avec
pour seul bagage un prompt qu'il a rempli. Voici l'étape, telle que la skill l'écrit :
2. **Implémenter.** Remplir `implementer-prompt.md` (même dossier) avec le texte intégral de la tâche, le contexte des tâches précédentes (interfaces, décisions, pas leur historique), les `verify.commands`. Dispatcher.
Et voici le modèle qu'elle fait remplir pour chaque implémenteur. Les {{…}} sont remplacés par la tâche
du plan, le contexte des tâches précédentes et les commandes de vérification du projet ; le reste part tel quel.
Le prompt d'un implémenteur, en entier
Tu implémentes UNE tâche d'un plan, dans un dépôt déjà préparé. Tu es seul sur cette tâche.
## Contexte
{{Une à trois phrases : le projet, l'objectif du plan, la place de cette tâche dedans.}}
Répertoire de travail : {{chemin du worktree}} (branche {{branche}}). Travaille uniquement ici.
## Ta tâche
{{Texte intégral de la tâche, copié du plan : fichiers à créer ou modifier, étapes, valeurs exactes.}}
## Acquis des tâches précédentes
{{Interfaces, signatures, décisions dont dépend cette tâche. Pas d'historique.}}
## Critères d'acceptation
{{Liste vérifiable : comportement attendu, tests qui doivent passer, cas limites.}}
## Vérification
Avant de conclure, lance et cite la sortie de :
{{verify.commands, une par ligne, plus les tests propres à la tâche}}
## Méthode
- Si un point te manque, pose la question AVANT d'écrire du code (statut NEEDS_CONTEXT). Ne devine pas.
- Test d'abord quand c'est possible : il échoue, puis passe (/kwa:tdd).
- Changement chirurgical : ne touche qu'aux fichiers de la tâche, respecte le style existant, pas de refactor
voisin, pas de fonctionnalité en plus.
- Relis ton propre diff avant de rendre : manque-t-il un critère ? as-tu ajouté quelque chose de non demandé ?
## Interdits
- Aucun `git commit`, `git push`, `git stash`, `git reset`, `git checkout` sur des fichiers, ni création de branche.
Laisse tes changements en modifications locales.
- Ne contourne jamais un garde-fou (hooks du plugin Kwa, refus de permission). Un refus te dit de
t'arrêter : conclus avec le statut BLOCKED en citant le message exact.
- Ne lance pas d'autre agent. Ne modifie pas le plan, `.claude/`, la politique ni les fichiers hors tâche.
- N'écris aucun secret, mot de passe ni identifiant réel dans le code, les tests ou les messages.
- N'affirme rien que tu n'as pas exécuté.
## Format de retour (court)
STATUT : DONE | DONE_WITH_CONCERNS | NEEDS_CONTEXT | BLOCKED
FICHIERS : liste des fichiers créés ou modifiés
VÉRIFICATION : chaque commande lancée et son résultat (réussite ou échec, nombre de tests)
PAR CRITÈRE : une ligne par critère d'acceptation, avec comment tu l'as prouvé
DOUTES : hypothèses prises, dette laissée, tout ce qui mérite un second regard (ou « aucun »)
BLOCAGE / QUESTION : seulement si le statut l'exige, précis et chiffréVous pouvez faire la même chose sans skill, dans un message : « Lance trois agents en parallèle : l'un relit la
sécurité du diff, l'autre les tests, le troisième cherche les appelants de parse(). Chacun me rend cinq
lignes. » L'agent principal écrit alors trois prompts et lance trois agents. Une skill ne fait que rendre ce texte
répétable : mêmes rubriques, mêmes interdits, même format de retour à chaque fois. Pendant qu'ils
tournent, le Mod les montre avec un moulinet.
Ce que contient un prompt délégué
Ce qu'il doit savoir
La demande d'origine et ses critères de réussite, cités et non résumés ; les fichiers à lire ; les erreurs exactes collées ; ce qui est volontairement hors sujet.
Ce qu'il doit rendre
Un format de retour fixe : ce qui a été fait, les commandes lancées et leur résultat, les fichiers touchés, ce qui reste douteux. Court, pour ne pas remplir la fenêtre de la session.
Ce qu'il ne doit pas faire
Pas de commit ni de push, pas d'autre agent lancé, aucun garde-fou contourné : un refus se rapporte tel quel. Le relecteur, lui, ne peut rien écrire : c'est l'outil qui l'en empêche.
Ce que la session garde
La décision. Un rapport d'agent n'est pas une preuve : la session relance elle-même les vérifications du projet avant de dire « fait », et c'est vous qui validez.
Sous Claude Code et sous Codex
| Claude Code | Codex | |
|---|---|---|
| Lancer un agent | Outil Agent, subagent_type (general-purpose, kwa:reviewer) | En clair : « lance un agent worker avec ce prompt », ou kwa:reviewer |
| Plusieurs à la fois | Plusieurs appels dans un seul message, en arrière-plan | Une demande qui lance plusieurs agents et attend tous les résultats |
| Isoler les écritures | isolation: "worktree" pour des zones voisines | Pas d'isolation documentée : les tâches voisines passent l'une après l'autre |
| Relecture en lecture seule | Outils d'écriture retirés, shell filtré par un hook | Bac à sable en lecture seule |
Les modèles de prompt sont des fichiers de chaque skill : /kwa:agents, /kwa:parallel, /kwa:review sur la carte.