Tech37 阅读

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 :

  1. 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.

  2. Agent is way too verbose (Sortie trop verbeuse) – L'IA génère une grande quantité de code ou de documentation inutiles.

  3. The code doesn't work (Le code ne fonctionne pas) – Manque de retours de tests, qualité du code instable.

  4. 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 :

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 :

bash
npx skills add mattpocock/skills skill=grill-me -y -g

Skills 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 :

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 :

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.

Partager

Partager

Partager cet article.