Matt Pocock Skills : l'IA code comme un vrai ingénieur

Le projet Skills de Matt Pocock est une bibliothèque de compétences d'ingénierie destinée aux assistants de codage IA (tels que Claude Code). En modularisant les processus standard du développement logiciel, il résout le problème central de l'instabilité de la qualité du code généré par l'IA. Ce projet, construit avec seulement quelques fichiers Markdown, a obtenu 23 000 étoiles sur GitHub et constitue une pratique importante dans le domaine du développement assisté par l'IA.
Contexte du projet : les quatre modes d'échec de la programmation IA
Les outils de développement IA traditionnels ont tendance à laisser un « agent intelligent gérer tout », mais Matt Pocock a adopté une stratégie complètement opposée : identifier d'abord les schémas réels d'échec de l'IA, puis concevoir des compétences correspondantes pour chaque type d'échec. Le projet définit quatre scénarios d'échec typiques :
Agent didn't do what I want (L'IA n'a pas compris votre intention) – Il existe un fossé cognitif entre le développeur et l'IA, ce qui fait que la sortie s'écarte des attentes.
Agent is way too verbose (Sortie trop verbeuse) – L'IA génère une grande quantité de code ou de documentation inutiles.
The code doesn't work (Le code ne fonctionne pas) – Manque de retours de tests, qualité du code instable.
We built a ball of mud (L'architecture devient une boule de boue) – Après des itérations longues, la base de code perd une structure claire.
Cette philosophie de conception abandonne l'hypothèse optimiste selon laquelle « l'IA est assez intelligente pour tout résoudre », et compense l'incertitude de l'IA par des processus structurés.
Idée centrale : standardisation des processus et modularisation des compétences
La valeur du projet Skills réside dans la décomposition de l'expérience « comment faire l'analyse des besoins, la conception et le codage avec l'IA » en plugins de compétences réutilisables, permettant à l'IA de travailler selon des procédures fiables plutôt que de compter sur la chance. Chaque compétence est un script de travail complet, comprenant des métadonnées au format YAML (nom, description, conditions de déclenchement) et des étapes d'exécution concrètes.
La composabilité est une autre caractéristique majeure du projet : la sortie d'une compétence peut servir d'entrée pour la suivante. Par exemple, write-a-prd génère un document PRD dans un issue GitHub, puis prd-to-issues décompose ce PRD en un plan de mise en œuvre. Cela permet aux équipes de créer des flux de travail personnalisés en enchaînant les compétences.
Cinq compétences clés forment une chaîne de travail complète
1. grill-me : phase de clarification des besoins
Cette compétence de seulement 11 lignes fait poser des questions une par une à l'IA comme un intervieweur, garantissant que les deux parties parviennent à un consensus sur les besoins. Ses caractéristiques clés incluent :
Ne poser qu'une seule question à la fois, pour éviter la surcharge d'informations
L'IA propose des réponses suggérées pour confirmation, plutôt que de simplement poser des questions
Ne pas déranger le développeur pour des questions dont la réponse peut être trouvée automatiquement dans la base de code
Certains développeurs ont rapporté avoir été interrogés sur 16 questions en utilisant cette compétence, et pour des fonctionnalités complexes, l'entretien peut aller jusqu'à 30 à 50 questions. Cette compétence résout le problème de Claude Code qui a tendance à générer des solutions trop tôt, en imposant une communication préalable suffisante.
2. to-prd : génération du document de spécification
Génère un document formel de spécification produit (PRD) basé sur l'historique de la conversation, comprenant la description du problème, la solution, les user stories, les décisions d'implémentation, les décisions de test et ce qui ne sera pas fait. Le document est automatiquement créé et sauvegardé en tant qu'issue GitHub via la commande gh.
3. to-issues : découpage des tâches en tranches verticales
Décompose le PRD en petites tâches exécutables indépendantes, en utilisant une méthodologie de tranches verticales (tracer-bullet) plutôt qu'une division traditionnelle en frontend/backend ou modules. Chaque tranche traverse le chemin complet de la base de données à l'interface et aux tests, et indique clairement si une intervention humaine est nécessaire. Les tâches sont ordonnées selon leurs dépendances, les tâches suivantes attendant que les précédentes soient terminées.
4. tdd : développement piloté par les tests
Impose un processus strict de développement piloté par les tests : il est interdit d'écrire du code d'implémentation tant qu'un test échoué n'existe pas. Cela garantit une qualité de code stable, adapté aux projets qui ont déjà une culture de test.
5. improve-codebase-architecture : optimisation de l'architecture
En se basant sur le langage du domaine dans CONTEXT.md et les enregistrements de décisions d'architecture (ADR) dans docs/adr/, recherche des « opportunités d'approfondissement » dans la base de code. Applique le principe des « modules profonds » de John Ousterhout (petite interface cachant une grande implémentation), améliorant la testabilité et la navigabilité pour l'IA. Cette compétence identifie les modules peu profonds, les composants fortement couplés et les frontières non testées, et propose des suggestions de refactoring.
Installation et utilisation
Le format de commande pour installer une compétence individuelle est :
npx skills add mattpocock/skills skill=grill-me -y -gSkills utilise une structure standardisée, prend en charge les noms de paquets avec scope (mattpocock/skills) et les tags de version. Une fois installée, elle peut être appelée par tout assistant IA supportant le protocole Skills.
Autres compétences utiles
En plus du flux de travail principal, le projet comprend plusieurs compétences auxiliaires :
triage : gestion d'état des Issues, attribution d'étiquettes et de priorités adaptée au travail d'équipe
zoom-out : lorsqu'on est pris dans des détails locaux, aide à reconsidérer la position du code dans l'architecture globale
write-a-skill : guide l'utilisateur à travers le processus complet de création d'une compétence personnalisée, y compris les conditions de déclenchement, les étapes d'exécution et les spécifications de sortie
diagnose : diagnostique le code qui ne fonctionne pas, à utiliser avec la compétence TDD
Limitations et évolution
La principale limitation de la version actuelle est son couplage profond avec GitHub : les compétences qui manipulent les issues codent en dur la commande gh. Les équipes utilisant d'autres outils de gestion de projet comme Linear ou Jira doivent forker le projet et modifier le code. Cependant, le support d'autres plateformes est officiellement en développement (au 2 avril 2026).
En avril 2026, Matt Pocock a mis à jour son ensemble de compétences, remplaçant /grill-me par /domain-model, intégrant les concepts de Domain-Driven Design (DDD) et générant simultanément de la documentation et des ADR pendant la discussion. Cela montre que le projet évolue continuellement, en intégrant progressivement davantage de bonnes pratiques du génie logiciel.
Scénarios d'utilisation
Cette bibliothèque de compétences est particulièrement adaptée aux développeurs suivants :
Ceux qui utilisent déjà des outils de codage IA comme Claude Code ou Cursor, mais qui ont l'impression que « l'IA sait écrire du code mais pas faire de l'ingénierie »
Ceux qui souhaitent établir un processus de développement assisté par l'IA stable, plutôt que de compter sur la chance à chaque fois
Ceux qui ont besoin d'élever la qualité du code généré par l'IA au niveau de la production
Ceux qui ont besoin de standardiser l'utilisation de l'IA dans le cadre du travail en équipe
Comme l'a noté un développeur après avoir supprimé la plupart des compétences gonflées : l'ensemble de compétences de Matt Pocock incarne une philosophie minimaliste — des primitives petites et précises, avec des noms clairs, une surface réduite mais un effet de levier plus important.
Conclusion
Matt Pocock Skills ne consiste pas simplement à « laisser l'IA générer du code au hasard », mais à rapprocher la programmation IA du véritable travail d'ingénieur via la clarification des besoins, le TDD, le diagnostic, le découpage des tâches et l'optimisation de l'architecture. L'accent est mis sur un développement d'ingénierie avec processus, retours, décomposition et rétrospective, et non sur un Vibe Coding basé uniquement sur l'intuition. C'est exactement ce dont le domaine du développement assisté par l'IA a le plus besoin aujourd'hui — non pas une IA plus intelligente, mais de meilleurs flux de travail.
Suivre sur Google
Ajouter HeyBinyang comme source préférée sur Google
Si vous souhaitez retrouver plus facilement mes mises à jour via Google, vous pouvez marquer ce site comme source préférée.
Partager
Partager
Partager cet article.