Un phénomène en pleine expansion
Les assistants de codage basés sur l'intelligence artificielle (IA) – comme Claude Code, Cursor ou Windsurf – permettent désormais d'ajouter des « skills », c'est-à-dire des fichiers texte contenant des instructions précises pour guider le comportement du modèle. Le développeur James Pritchard, qui conçoit et maintient des outils utilisés par des milliers de personnes dans le cadre de son travail pour Enrollment Resources et VirtuOHS, livre une critique sévère de cette pratique. Selon lui, la plupart de ces compétences « ne devraient pas exister » et leur accumulation s'apparente à un « tiroir à bazar » numérique.
Pritchard explique que, dans l'idée, une « skill » est une simple instruction que l'utilisateur a fini par sauvegarder dans un fichier markdown pour éviter de la retaper. Le problème, selon lui, réside dans le décalage entre la promesse d'invocation automatique et la réalité. Les assistants sont censés reconnaître quand une compétence s'applique et l'activer d'eux-mêmes, mais en pratique, « les skills sont ignorées quand elles sont pertinentes et parfois déclenchées quand elles ne le sont pas ». L'auteur ajoute que le seul moyen fiable d'utiliser une compétence est de l'appeler manuellement, ce qui rend la promesse d'automatisation « dénuée de sens ».
L'accumulation problématique de fichiers
Le développeur décrit le mécanisme d'accumulation : un utilisateur découvre les skills, s'enthousiasme et en crée pour chaque besoin – revue de code, design, déploiement, etc. Rapidement, le répertoire .claude/skills/ se remplit de dizaines de fichiers markdown. Certains utilisateurs téléchargent même des packs de compétences depuis GitHub. Pritchard compare cette dynamique à celle qui a donné naissance à des paquets logiciels superflus comme left-pad dans l'écosystème npm : des problèmes résolus une fois, puis importés par des milliers de personnes qui ne se demandent même pas si elles sont réellement confrontés à ce problème ou s'il est difficile à résoudre.
« Vous avez maintenant vingt-cinq fichiers markdown que l'IA n'invoquera presque jamais au bon moment, écrit-il. Vous devez vous souvenir des compétences qui existent et quand les utiliser. Vous devez les maintenir à mesure que votre codebase évolue. » Et surtout, ces instructions feraient un travail qui devrait être pris en charge ailleurs.
Un orchestrateur humain pour un agent censé être autonome
Pritchard dresse un tableau du flux de travail typique avec les skills : /understand-project, /implement-feature, /security-review, /code-review, /write-tests, /deploy. L'utilisateur devient alors un « orchestrateur humain pour un travailleur IA », décidant de l'ordre des opérations et invoquant la bonne commande au bon moment. Selon lui, ce processus transforme un agent autonome en un outil manuel, reproduisant le même échec que les systèmes truffés de points de contrôle humains. En comparaison, l'auteur décrit ses propres sessions où il se contente de décrire un objectif – « Ajoute un limitateur de débit aux points d'API » – et laisse l'IA explorer le code, implémenter la fonctionnalité, écrire les tests et les exécuter, sans aucune compétence invoquée.
Des problèmes masqués, non résolus
Le développeur identifie un défaut récurrent : les skills servent souvent à compenser un problème qui devrait être traité ailleurs. L'exemple typique est la « compétence de design frontend » : un fichier markdown de 200 lignes contenant des instructions génériques sur les motifs de composants, les tokens de design et les conventions de nommage. « Le code est la spécification, souligne Pritchard. Il est toujours à jour, il ne peut pas dériver de la réalité, et l'IA peut le lire directement. » Il préconise d'écrire un fichier modèle (templates/component.tsx) plutôt que d'emprunter des instructions génériques. De même, les normes de projet comme « toujours utiliser notre format de journalisation » devraient figurer dans un fichier de configuration, et non dans une skill. Les hooks, tels que « Lint avant de commiter », sont selon lui « infiniment plus fiables » qu'une compétence qui se contente de rappeler de linter.
Un test pour décider
Pritchard propose un test simple avant de créer une nouvelle skill : se demander si le problème ne peut pas être résolu par le code lui-même, un modèle, une configuration ou un hook. Si c'est le cas, la skill est inutile ou contre-productive. Il conclut que l'énergie dépensée à construire et collectionner ces compétences est « en grande partie gaspillée », et que les marketplaces de compétences et les listes « 20 skills à installer » participent à un engouement mal orienté.
Cet article reflète les opinions personnelles de James Pritchard, développeur spécialisé dans les outils d'IA pour le codage. D'autres experts du secteur pourraient avoir des avis divergents sur l'utilité des skills, mais cette analyse met en lumière les limites d'une approche aujourd'hui largement adoptée.