Ce catalogue constitue l'inventaire de référence des 37 compétences d'ingénierie de Matt Pocock. Pour supprimer la charge cognitive et faciliter la navigation, les compétences sont organisées en six familles thématiques, présentées sous forme de fiches compactes dépliables.
Chaque fiche dispose d'une ancre d'URL directe (ex: #grill-with-docs) : vous pouvez copier le permalien pour le partager par email, sur Slack ou dans vos supports de cours.
1. Gouvernance du Dépôt & Cadrage Amont
Pose le cadre méthodologique, aligne le modèle métier vivant et interroge les zones d'ombre avant d'écrire la moindre ligne de code.
/setup-matt-pocock-skills
user-invoked
Configuration initiale du dépôt pour l'ensemble des compétences.
- Rôle & Intention : Configure le dépôt pour l'ensemble des compétences d'ingénierie. À exécuter une seule fois lors de la prise en main d'un projet.
- Invocation : `user-invoked`.
- Quand l'invoquer : À l'initialisation d'un nouveau dépôt ou avant d'utiliser les compétences d'ingénierie sur une base existante.
- Entrées / Sorties : Explore le gestionnaire de tickets (GitHub, GitLab, ou Markdown local sous `.scratch/`), configure les étiquettes de triage canoniques (`needs-triage`, `ready-for-agent`, etc.) et pose l'arborescence documentaire (`CONTEXT.md`, `docs/adr/`, `docs/agents/`).
- Règle d'or : Les compétences aval dépendent de cette convention pour savoir où lire et publier leurs artefacts. Ne la sautez jamais.
/grill-with-docs
user-invoked
Interview contradictoire amont et tenue continue de CONTEXT.md et des ADRs.
- Rôle & Intention : Le point d'entrée par excellence pour toute nouvelle fonctionnalité dans une base de code existante. Combine une interview contradictoire sans complaisance avec la tenue continue du modèle de domaine.
- Invocation : `user-invoked` (`/grill-with-docs [votre intention]`).
- Quand l'invoquer : Dès qu'une idée émerge et que vous disposez d'un dépôt Git.
- Entrées / Sorties : Lit le code existant et `CONTEXT.md`. Met à jour `CONTEXT.md` au fil des clarifications. Rédige un ADR dans `docs/adr/` lorsqu'une décision lourde et difficilement réversible est actée.
- Règle d'or : L'agent pose ses questions **une par une**, avec sa réponse recommandée, après avoir fouillé le code. Aucun code de production n'est écrit durant cette phase.
/grill-me
user-invoked
Interview de cadrage stateless pour challenger une idée sans base de code.
- Rôle & Intention : Interview de cadrage sans état (*stateless*).
- Invocation : `user-invoked` (`/grill-me`).
- Quand l'invoquer : Lorsque vous voulez challenger un concept, une idée de startup ou un plan abstrait **sans base de code**.
- Entrées / Sorties : Aucun fichier local n'est modifié ; l'exploration se déroule intégralement dans le fil de conversation.
- Règle d'or : Si un dépôt existe, utilisez toujours `grill-with-docs`. Réservez `grill-me` aux réflexions préliminaires hors dépôt.
/grilling
model-invoked
Moteur unitaire d'interview contradictoire animant les compétences de cadrage.
- Rôle & Intention : Le moteur unitaire d'interview contradictoire qui anime les compétences de cadrage.
- Invocation : `model-invoked` (appelé par `grill-with-docs`, `decision-mapping`, `triage`).
- Quand l'invoquer : Invoqué par d'autres compétences pour traquer les ambiguïtés et lever les non-dits.
- Règle d'or : Interdiction de soumettre une liste de cinq questions simultanées (effet de sidération). Une seule question à la fois, avec réponse recommandée, en attendant la réponse avant d'enchaîner.
/domain-modeling
model-invoked
Discipline active de Domain-Driven Design (DDD) entretenant CONTEXT.md et les ADRs.
- Rôle & Intention : Discipline active de Domain-Driven Design (DDD). Aligne le vocabulaire du code sur les concepts métier réels.
- Invocation : `model-invoked`.
- Quand l'invoquer : Dès qu'un terme imprécis ou surchargé apparaît, ou qu'une décision architecturale est arrêtée.
- Entrées / Sorties : Entretient `CONTEXT.md` (glossaire strict sans code ni spec) et `docs/adr/`.
- Règle d'or : Un ADR n'est rédigé que s'il réunit trois critères stricts : difficile à inverser, surprenant sans contexte, et issu d'un compromis réel.
/decision-mapping
user-invoked
Cartographie du brouillard de guerre pour les chantiers massifs (alias /wayfinder).
- Rôle & Intention : Exploration méthodique du « brouillard de guerre » pour les chantiers complexes dépassant le cadre d'une seule session de cadrage.
- Invocation : `user-invoked`.
- Quand l'invoquer : Face à une initiative vaste, incertaine ou comportant de multiples inconnues architecturales.
- Entrées / Sorties : Crée et maintient `DECISION_MAP.md` découpé en tickets d'investigation typés (`Research`, `Prototype`, `Grilling`).
- Règle d'or : Une session = un seul ticket résolu. Chaque session se clôture obligatoirement par `/handoff` pour repartir sur une session neuve.
/loop-me
user-invoked
Cadrage et spécification de boucles d'automatisation récurrentes.
- Rôle & Intention : Cadrage et spécification de boucles d'automatisation récurrentes.
- Invocation : `user-invoked`.
- Quand l'invoquer : Pour automatiser une tâche périodique ou récurrente dans votre quotidien de développeur.
- Entrées / Sorties : Produit une spécification dans `workflows/*.md` avec déclencheur (*trigger*), brief et points de contrôle (*checkpoints*).
- Règle d'or : Principe du « Push right » : différer l'intervention humaine le plus loin possible pour ne lui soumettre qu'une décision finale synthétique.
---
2. Étude & Spécification
Convertit les arbitrages issus du cadrage en artefacts techniques formels sans relancer de questions.
/prototype
model / user
Fabrication de code jetable destiné exclusivement à répondre à un doute UI ou d'état.
- Rôle & Intention : Fabrication de code jetable destiné exclusivement à répondre à une question de conception précise.
- Invocation : `model-invoked` ou `user-invoked` (`/prototype`).
- Quand l'invoquer : Doute sur l'ergonomie d'une interface (branche *UI*) ou incertitude sur la viabilité d'une machine d'états (branche *Logic*).
- Entrées / Sorties : Produit un mini-programme jetable lancé en une seule commande, sans persistance réelle ni suite de tests.
- Règle d'or : Seule la réponse apprise est conservée (dans un ADR ou une note). Le code du prototype est immédiatement détruit ou absorbé, jamais conservé tel quel.
/to-prd
user-invoked
Synthèse formelle sans ré-interview des acquis en Document de Spécification (PRD).
- Rôle & Intention : Synthétise le fil de discussion issu du grilling en document formel de spécification (PRD).
- Invocation : `user-invoked` (`/to-prd`).
- Quand l'invoquer : Dès que l'interview `/grill-with-docs` a épuisé toutes les zones d'ombre.
- Entrées / Sorties : Rédige et publie le PRD : problème, solution, User Stories numérotées, décisions d'implémentation, frontières de tests et hors périmètre (*out of scope*).
- Règle d'or : **Pas de ré-interview**. L'agent synthétise les acquis sans relancer de questions.
/to-issues
user-invoked
Découpage du PRD en tranches verticales indépendantes avec graphe de blocage.
- Rôle & Intention : Découpe un PRD ou une spécification en tickets unitaires indépendants.
- Invocation : `user-invoked` (`/to-issues`).
- Quand l'invoquer : Immédiatement après `/to-prd`.
- Entrées / Sorties : Publie les tickets sur l'issue tracker configuré (GitHub, GitLab, ou Markdown local).
- Règle d'or : Chaque ticket est une **tranche verticale** (*tracer bullet* : traverse schéma, logique, API, UI et test de bout en bout), jamais une tranche horizontale par couche. Ordonnancement strict par dépendances bloquantes.
/to-questionnaire
user-invoked
Génération d'un questionnaire ciblé quand le bloqueur est chez un tiers ou client.
- Rôle & Intention : Lève les blocages d'exigences lorsque l'information n'est ni dans le code ni dans la tête du développeur, mais chez un tiers extérieur (client, expert métier, collègue).
- Invocation : `user-invoked` (`/to-questionnaire`).
- Quand l'invoquer : Dès qu'une question du grilling fait apparaître une zone d'ombre commerciale, juridique ou organisationnelle insoluble en interne.
- Entrées / Sorties : L'agent vous interroge brièvement sur le destinataire et le besoin d'arbitrage, puis génère un questionnaire Markdown prêt à être transmis.
- Règle d'or : Ne supposez jamais la réponse d'un tiers dans le code. Envoyez le questionnaire et attendez le retour pour réinjecter les faits dans `/grill-with-docs`.
---
3. Fabrication & Preuves d'Ingénierie
Gouverne la production du code sous la contrainte stricte de tests observables et d'une architecture modulaire profonde.
/implement
user-invoked
Réalisation bornée et étanche d'un ticket spécifique dans un worktree dédié.
- Rôle & Intention : Réalisation bornée et étanche d'un ticket spécifique.
- Invocation : `user-invoked` (`/implement`).
- Quand l'invoquer : À l'ouverture d'une session neuve dédiée à un ticket unitaire issu de `/to-issues`.
- Entrées / Sorties : Travaille dans un arbre de travail Git dédié (*worktree*). Lit le ticket et le PRD.
- Règle d'or : Chaque ligne modifiée doit tracer directement à la spécification. Ne pousse jamais sur le dépôt distant et n'ouvre pas de PR sans autorisation explicite.
/tdd
model-invoked
Développement piloté par les tests à la frontière publique (Rouge → Vert → Refactor).
- Rôle & Intention : Développement piloté par les tests, un comportement vertical à la fois.
- Invocation : `model-invoked` (appelé par `implement`) ou `user-invoked` (`/tdd`).
- Quand l'invoquer : Pour chaque comportement métier observable à implémenter.
- Entrées / Sorties : Cycle Rouge (test échouant pour la bonne raison à la frontière publique) $ o$ Vert (code minimal pour passer) $ o$ Refactor (nettoyage sous protection du test).
- Règle d'or : L'assertion doit porter sur l'interface publique stable, jamais sur les détails privés d'implémentation ou des mocks artificiels.
/codebase-design
model-invoked
Vocabulaire et principes de conception de modules profonds aux interfaces étroites.
- Rôle & Intention : Référentiel de conception des **modules profonds** (*deep modules*).
- Invocation : `model-invoked`.
- Notions clés : Module, Interface, Profondeur (*depth*), Couture (*seam*), Adaptateur, Levier (*leverage*), Localité.
- Règle d'or : Appliquer le **test de suppression** : si supprimer le module fait disparaître la complexité, c'était un passe-plat superficiel. Si la complexité réapparaît chez $N$ appelants, le module est légitime.
/migrate-to-shoehorn
user-invoked
Sécurisation des suites de tests en remplaçant les assertions arbitraires par shoehorn.
- Rôle & Intention : Assainissement des suites de tests TypeScript.
- Invocation : `user-invoked` ou `model-invoked`.
- Quand l'invoquer : Détection d'assertions de type risquées (`as MyType`) dans les fixtures de test.
- Règle d'or : Remplace les castings aveugles par des données partielles sûres via `@total-typescript/shoehorn`.
---
4. Contrôle, Diagnostic & Santé du Code
Garantit la barrière de péage avant merge, résout les incidents complexes et audite la dette architecturale.
/review
user-invoked
Audit contradictoire automatisé sur 2 axes : Axe Standards et Axe Spécification.
- Rôle & Intention : La barrière de péage avant toute intégration ou ouverture de PR.
- Invocation : `user-invoked` (`/review`).
- Quand l'invoquer : À la fin de l'implémentation d'un ticket, avant de committer ou de fusionner.
- Entrées / Sorties : Lance deux sous-agents indépendants en parallèle :
- *Axe Standards* : conformité aux règles `AGENTS.md` du dépôt, style et modularité.
- *Axe Spec* : stricte réponse au besoin sans aucun ajout superflu.
- Règle d'or : Les sous-agents sont strictement en lecture seule. Ils ne corrigent pas le code, ils fournissent un rapport précis avec références de lignes.
/diagnosing-bugs
user-invoked
Diagnostic déterministe avec boucle rouge obligatoire, sondes et test de non-régression.
- Rôle & Intention : Protocole d'investigation scientifique en 6 phases pour les bogues ardus et régressions de performance.
- Invocation : `model-invoked` ou `user-invoked` (`/diagnosing-bugs`).
- Quand l'invoquer : « Ça plante », « Comportement anormal », « Régression de vitesse ».
- Les 6 phases :
1. *Boucle de rétroaction rouge déterministe* (test, curl, trace rejouée).
2. *Minimisation* du scénario à la charge utile minimale.
3. *3 à 5 hypothèses falsifiables* classées avant toute retouche.
4. *Sondes ciblées* taguées `[DEBUG-xxxx]`.
5. *Test de non-régression* à la bonne couture, puis correction.
6. *Nettoyage* des sondes et bilan d'architecture.
- Règle d'or absolue : **Interdiction de lire le code pour formuler des hypothèses tant qu'une commande ne reproduit pas le bogue en rouge de façon nette.**
/improve-codebase-architecture
user-invoked
Audit automatique des modules superficiels et génération d'un rapport HTML visuel.
- Rôle & Intention : Audit proactif de la dette technique et recherche d'opportunités d'épaississement de modules.
- Invocation : `user-invoked` (`/improve-codebase-architecture`).
- Quand l'invoquer : Lors des temps calmes ou quand l'ajout de fonctionnalités devient fastidieux.
- Entrées / Sorties : Génère un rapport HTML interactif autonome dans `/tmp/` (Mermaid + Tailwind) illustrant les refactorings recommandés avant/après, puis lance un grilling sur le candidat choisi.
- Règle d'or : Regroupe la logique éparpillée pour maximiser la localité et rendre le code naturellement navigable pour les agents.
/resolving-merge-conflicts
user-invoked
Résolution d'un conflit de fusion Git par l'analyse d'intention des deux branches.
- Rôle & Intention : Résolution causale des conflits de fusion et de rebase Git.
- Invocation : `model-invoked` lors d'un conflit Git en cours.
- Quand l'invoquer : Dès qu'un rebase ou un merge s'arrête sur un conflit.
- Règle d'or : Remonter aux sources primaires (commits, PRs d'origine) pour comprendre l'intention des deux branches. Ne jamais résoudre en aveugle ; valider par la suite de tests complète avant de clore.
/triage
user-invoked
Qualification et triage des tickets et PRs externes entrants (jamais de to-issues).
- Rôle & Intention : Qualification des signalements et PRs externes via une machine à états stricte.
- Invocation : `user-invoked` (`/triage`).
- Quand l'invoquer : Pour traiter le flux d'issues et de contributions extérieures.
- Entrées / Sorties : Vérifie la non-redondance dans `.out-of-scope/`, reproduit l'anomalie ou exécute la PR, et attribue le rôle (`needs-info`, `ready-for-agent`, `wontfix`).
- Règle d'or : Ne pas trier les issues issues de `/to-issues` (elles sont déjà prêtes pour l'agent). Réserver le triage aux flux non filtrés arrivant de l'extérieur.
---
5. Outillage Opérationnel & Sécurité
Garde-fous d'intégrité, recadrage anti-jargon et guidage des actions humaines sensibles.
/wait-what
user-invoked
Bouton d'arrêt d'urgence et recadrage sans complaisance en langage simple avec CONTEXT.md.
- Rôle & Intention : Arrêt d'urgence et recadrage immédiat lorsque l'agent part dans du jargon, dérive ou produit une réponse incompréhensible.
- Invocation : `user-invoked` (`/wait-what`).
- Quand l'invoquer : En cours de session, à l'intérieur de n'importe quel autre skill, dès que vous perdez le fil de l'explication de l'agent.
- Entrées / Sorties : L'agent s'arrête instantanément, examine ce qui a causé l'incompréhension, et ré-explique sa position en français simple et direct, en s'appuyant uniquement sur le vocabulaire validé dans `CONTEXT.md`.
- Règle d'or : Ne débattez jamais avec un agent qui a commencé à halluciner ou à jargonner. Invoquez `/wait-what` pour rétablir une base saine avant de continuer.
/wizard
user-invoked
Script Bash interactif guidant un opérateur humain dans des étapes sensibles (clés, Cloud).
- Rôle & Intention : Générateur de scripts bash interactifs guidant un opérateur humain dans des procédures manuelles fastidieuses.
- Invocation : `user-invoked`.
- Quand l'invoquer : Configurations de services tiers (Stripe, Cloudflare, secrets GitHub), migrations sensibles de données, bascules d'état irréversibles.
- Entrées / Sorties : Génère un script bash soigné (barre de progression, saisie masquée des clés secrètes, ouverture automatique des URLs, écriture dans `.env`).
- Règle d'or : Éphémère par défaut, détruit une fois la procédure validée, sauf demande explicite d'archivage dans `scripts/`.
/git-guardrails-claude-code
hook
Crochets de sécurité bloquant les commandes Git destructrices d'un agent.
- Rôle & Intention : Crochets de sécurité interceptant les commandes Git destructrices d'un agent autonome.
- Invocation : Installation de hooks.
- Règle d'or : Bloque impitoyablement `push --force`, `reset --hard`, `clean -fd` et suppressions brutales de branches.
/setup-pre-commit
user-invoked
Configuration des contrôles rapides avant commit (Husky, lint-staged, tests ciblés).
- Rôle & Intention : Mise en place de contrôles automatisés rapides avant chaque commit Git.
- Invocation : `user-invoked`.
- Entrées / Sorties : Configure Husky, lint-staged, le formatage Prettier, le typage et les tests ciblés.
- Règle d'or : Empêche l'introduction de code mal formaté ou cassé dans l'historique local.
/handoff
user-invoked
Passerelle portative inter-sessions pour vider le contexte sans perdre les acquis.
- Rôle & Intention : Passerelle inter-sessions pour vider le contexte conversationnel sans perdre les acquis.
- Invocation : `user-invoked` (`/handoff`).
- Quand l'invoquer : Dès qu'une session approche des 100k tokens ou lors d'une bifurcation vers un prototype.
- Entrées / Sorties : Compacte la conversation dans un fichier Markdown temporaire dans `/tmp/` (hors dépôt), avec liste des compétences recommandées pour la session suivante.
- Règle d'or : Ne stockez jamais de handoff dans le dépôt Git ; utilisez `/tmp/`.
/writing-great-skills
référence
Le traité d'ingénierie pour concevoir des compétences d'agents prévisibles.
- Rôle & Intention : Le traité d'ingénierie des compétences d'agents.
- Invocation : Document de référence.
- Principes clés : Hiérarchie d'information (étapes directes vs références externalisées), divulgation progressive, élimination sans pitié des phrases creuses (*no-ops*), mots directeurs (*leading words*).
- Règle d'or : Une compétence sert à arracher du déterminisme à un système stochastique. Sa prévisibilité prime sur tout.
/find-skills
user-invoked
Découverte et installation de compétences communautaires.
- Rôle & Intention : Outil de découverte et d'installation de compétences d'agents issues de la communauté.
- Invocation : `user-invoked`.
---
6. Pédagogie, Rédaction & Gestion des Savoirs
Outille l'enseignement technique, la conception d'exercices et la chaîne de publication éditoriale du manuel.
/teach
user-invoked
Enseignement interactif d'un concept où le workspace sert d'atelier d'expérimentation.
- Rôle & Intention : Enseignement interactif d'un concept technique où le workspace sert d'atelier d'expérimentation.
- Invocation : `user-invoked`.
/scaffold-exercises
user-invoked
Génération de structures complètes d'exercices de cours avec tests de validation.
- Rôle & Intention : Générateur de structures d'exercices de cours (énoncé, indices, solution, suite de tests de validation).
- Invocation : `user-invoked`.
/writing-fragments
user-invoked
Capture et organisation des matériaux bruts et pensées non structurées.
- Rôle & Intention : Première phase de la chaîne de rédaction : collecte brute d'intuitions, de faits et d'exemples sans souci de plan ni de style.
- Invocation : `user-invoked`.
/writing-beats
user-invoked
Structuration du rythme narratif et de la progression logique d'un texte.
- Rôle & Intention : Deuxième phase : assemblage du matériau brut en pulsations logiques (*beats*).
- Invocation : `user-invoked`.
- Règle d'or : Chaque notion doit être posée et définie avant qu'une pulsation suivante ne s'appuie dessus.
/writing-shape
user-invoked
Façonnage et ciselage des paragraphes et transitions thématiques.
- Rôle & Intention : Troisième phase : façonnage rédigé, paragraphe par paragraphe, à partir des pulsations validées.
- Invocation : `user-invoked`.
/edit-article
user-invoked
Relecture éditoriale impitoyable éliminant le verbiage et les fausses évidences.
- Rôle & Intention : Quatrième phase : ciselage éditorial, resserrement de la prose et élimination des tournures passives.
- Invocation : `user-invoked`.
/obsidian-vault
user-invoked
Exploration et mise à jour raisonnée de notes personnelles dans un coffre Obsidian.
- Rôle & Intention : Organisation et maillage de la base de connaissances personnelle en Markdown (liens wiki, notes d'index).
- Invocation : `user-invoked`.
---
Compétences Absorbées ou Dépréciées
Compétences des premières versions de Matt Pocock, aujourd'hui intégrées dans les briques canoniques.
/design-an-interface
déprécié
Absorbé par /codebase-design et /tdd.
- Rôle & Intention : Absorbé par /codebase-design et /tdd.
- Invocation : `déprécié`
/request-refactor-plan
déprécié
Absorbé par /improve-codebase-architecture.
- Rôle & Intention : Absorbé par /improve-codebase-architecture.
- Invocation : `déprécié`
/ubiquitous-language
déprécié
Absorbé par /domain-modeling et CONTEXT.md.
- Rôle & Intention : Absorbé par /domain-modeling et CONTEXT.md.
- Invocation : `déprécié`
/qa
déprécié
Absorbé par le double péage de /review.
- Rôle & Intention : Absorbé par le double péage de /review.
- Invocation : `déprécié`