Portrait de Patrice GADEGBEPatrice GADEGBE

Dépôt de plugins

Ce dépôt réunit les plugins Claude Code que j’emploie sur mes projets et que je partage avec mon équipe : ils décrivent, pour Spring, React et Flutter, les rôles d’architecte, de développeur, de testeur et de responsable du déploiement, ainsi que la manière dont chacun passe la main au suivant.

Rôle
Auteur principal ; un second contributeur à l’origine du plugin Flutter
Période
Depuis septembre 2026
État
En service. Cinq plugins et dix-neuf compétences, employés sur Sanu
Technologies
Claude Code, Markdown, JSON, bash
Dépôts
Un
Chaîne des rôles d’un pluginL’architecte fixe la structure et les règles, le développeur écrit le code à l’intérieur de ces règles, le testeur écrit les tests et rend un verdict, le responsable du déploiement construit et livre. Chaque rôle transmet au suivant un bloc de passage de relais. Le verdict du testeur repose sur une commande unique de vérification.Architectestructureet règlesDéveloppeurcode écritdans ces règlesTesteurtestset verdictDéploiementpipelineet livraisonContrôleune commande,poste et pipeline
Figure 1. La chaîne des rôles, identique pour les trois piles techniques. Un cinquième rôle, l’orchestrateur, range la demande et conduit la chaîne sans écrire lui-même ni code ni règle.

Contexte

Un plugin Claude Code regroupe des compétences, c’est-à-dire des consignes écrites que l’assistant charge lorsqu’une demande les concerne. Le dépôt en contient cinq : un pour le travail de produit, trois pour les piles Spring, React et Flutter, et un propre à Sanu. Il ne renferme aucun code d’application, seulement des fichiers Markdown, des manifestes JSON et deux scripts.

Ces consignes s’adressent à un assistant, et elles ont pour la plupart été écrites avec lui, comme en témoigne la cosignature que portent la plupart des commits du dépôt.

Problème

Une consigne unique, qui mêle la structure, le code, les tests et la livraison, conduit l’assistant à décider de nouveau, à chaque étape, ce qui avait été décidé à la précédente, de sorte que deux architectures finissent par coexister dans le même dépôt. Un résumé transmis d’une étape à l’autre transforme par ailleurs une hypothèse en fait, sans que personne l’ait vérifiée. Il fallait enfin qu’un travail déclaré terminé le soit sur une preuve et non sur une affirmation.

Réponse apportée

Des rôles qui ne se recouvrent pas

Chaque pile dispose des cinq mêmes rôles. L’architecte fixe la structure et les règles, le développeur écrit à l’intérieur de ces règles, le testeur écrit les tests et rend le verdict, le responsable du déploiement construit et livre, et l’orchestrateur range la demande puis conduit la chaîne. Une décision arrêtée par un rôle n’est pas rouverte en aval, et la description de chaque compétence précise aussi ce qu’elle ne couvre pas, en nommant celle qui s’en charge.

Un passage de relais vérifiable

Un rôle termine par un bloc à champs fixes, qui est copié tel quel dans le contexte du rôle suivant. Tout fait relatif au dépôt ou au contrat y cite sa source, à savoir un fichier et une ligne, faute de quoi il est rangé parmi les hypothèses, formulées de manière qu’un relecteur puisse les réfuter d’un mot.

It travels verbatim. Copied into the next role's context, into the next subagent's
prompt, and into the final report. A paraphrased block is how an assumption written
carefully by one role becomes a fact in the next.

Every fact about the contract, the backend or the repository names its source, a file
and a line or a schema path, or it is listed under assumptions. Assumptions are phrased
so a reviewer can refute each in a word.

A field with nothing in it says `none`, so the next role knows it was considered and
not forgotten.
Extrait 1. Règles du bloc de passage de relais, telles que les compétences les énoncent.

Un verdict à deux mots

Chaque pile possède une commande unique de vérification, la même sur le poste et dans le pipeline. Le testeur conclut par l’un de deux mots, GREEN ou BLOCKED, accompagné de la sortie de cette commande, et une chaîne interrompue avant lui se déclare construite mais non vérifiée. Le travail en parallèle suppose de son côté un plan arrêté au préalable par l’architecte, qui attribue à chaque tranche ses fichiers, désigne le propriétaire de chaque fichier partagé et fixe l’ordre de fusion.

Des règles révisées à l’usage

Les règles changent lorsque leur coût devient visible. L’exigence d’une couverture de 100 % sur tous les paquets Flutter a ainsi été ramenée à deux niveaux, après qu’une fonctionnalité eut demandé environ 1 700 lignes de tests pour 500 lignes de code. Ces plugins ont été employés sur Sanu, dont le document d’architecture Flutter est rédigé par le rôle d’architecte et gelé avant le code qui en dépend.

Limites et perspectives

Rien ne vérifie qu’une compétence se déclenche sur la bonne demande ni qu’elle produit le comportement attendu : le dépôt ne comporte ni jeu d’évaluation ni pipeline, et sa seule preuve d’effet se trouve dans les dépôts de Sanu. Les chiffres cités dans les consignes sont par ailleurs des observations, et non des mesures conservées.

La version d’un plugin figure à trois endroits qui s’accordent à la main, et elle a déjà dérivé. Les trois piles répètent en outre une large part de leur texte, puisqu’une compétence ne renvoie jamais hors de son répertoire, si bien qu’une évolution commune se reporte trois fois. Le dépôt n’a enfin qu’un mois, et je suis l’auteur de la quasi-totalité de ses commits : le partage avec l’équipe reste pour l’essentiel à venir.

Retour aux autres projets