Document de référence

Catalogue des 37 skills

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.
Code source sur GitHub ↗
  • 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.
Code source sur GitHub ↗
  • 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.
Code source sur GitHub ↗
  • 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.
Code source sur GitHub ↗
  • 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.
Code source sur GitHub ↗
  • 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).
Code source sur GitHub ↗
  • 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.
Code source sur GitHub ↗
  • 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.
Code source sur GitHub ↗
  • 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).
Code source sur GitHub ↗
  • 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.
Code source sur GitHub ↗
  • 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.
Code source sur GitHub ↗
  • 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é.
Code source sur GitHub ↗
  • 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).
Code source sur GitHub ↗
  • 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.
Code source sur GitHub ↗
  • 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.
Code source sur GitHub ↗
  • 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.
Code source sur GitHub ↗
  • 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.
Code source sur GitHub ↗
  • 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.
Code source sur GitHub ↗
  • 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.
Code source sur GitHub ↗
  • 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).
Code source sur GitHub ↗
  • 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.
Code source sur GitHub ↗
  • 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).
Code source sur GitHub ↗
  • 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.
Code source sur GitHub ↗
  • 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).
Code source sur GitHub ↗
  • 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.
Code source sur GitHub ↗
  • 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.
Code source sur GitHub ↗
  • 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.
Code source sur GitHub ↗
  • 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.
Code source sur GitHub ↗
  • 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.
Code source sur GitHub ↗
  • 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.
Code source sur GitHub ↗
  • 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.
Code source sur GitHub ↗
  • 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.
Code source sur GitHub ↗
  • 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.
Code source sur GitHub ↗
  • 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.
Code source sur GitHub ↗
  • 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.
Code source sur GitHub ↗
  • Rôle & Intention : Absorbé par /codebase-design et /tdd.
  • Invocation : `déprécié`
/request-refactor-plan déprécié
Absorbé par /improve-codebase-architecture.
Code source sur GitHub ↗
  • Rôle & Intention : Absorbé par /improve-codebase-architecture.
  • Invocation : `déprécié`
/ubiquitous-language déprécié
Absorbé par /domain-modeling et CONTEXT.md.
Code source sur GitHub ↗
  • 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.
Code source sur GitHub ↗
  • Rôle & Intention : Absorbé par le double péage de /review.
  • Invocation : `déprécié`