Une skill qui ne s'exécute jamais a rarement un problème de syntaxe. Elle se charge, figure dans la liste et n'est jamais choisie — parce que sa description ne dit pas quand elle s'applique, ou le dit avec des mots que personne n'emploie. Cet échec est silencieux par construction : ni erreur, ni avertissement, ni signe que quelque chose cloche. Ce linter lit le fichier comme le chargeur, signale ce qui est malformé, puis consacre presque toute son attention à la description : nomme-t-elle un déclencheur, est-elle assez longue, commence-t-elle par répéter qu'elle est une skill. Les champs que le chargeur ignore sont également signalés, car une faute de frappe dans une clé ressemble exactement à un fichier correct.
Fonctionnalités
Lit le frontmatter avec un vrai analyseur YAML et indique où il échoue
Signale les champs que le chargeur ne lit pas — l’allure d’une faute de frappe
Vérifie la clause déclenchante et la longueur de la description
Indique le nombre de caractères de la description face à la limite
Vérifie que les instructions dépassent la longueur en dessous de laquelle elles n’aident pas
Score plaçant les erreurs au-dessus des suggestions
Déposez un fichier, ou collez-le
Un exemple volontairement cassé pour voir ce qui est détecté
Comment utiliser Linter de skills
Déposez un SKILL.md ou collez son contenu
Lisez les constats, du pire au moindre
Corrigez la description si elle est signalée — c’est elle qui compte
Revérifiez jusqu’à obtenir un score propre
Exemple
Entrée
description: Helps with PDFs
Sortie
Warning: says what the skill is, but not when to use it
La raison la plus fréquente pour qu’une skill ne soit jamais choisie.
Erreurs courantes et dépannage
Il dit qu’il n’y a pas de frontmatter, alors qu’il y en a un. — Les trois tirets doivent être la toute première ligne : pas de ligne vide, pas de commentaire, rien au-dessus.
Le YAML échoue sur une description longue. — Une description contenant un deux-points suivi d’une espace doit être quotée, sinon YAML la lit comme une autre clé.
Il signale un champ que j’utilise exprès. — Les champs inconnus apparaissent en notes, pas en erreurs. Le chargeur les ignore ; la note existe parce qu’une clé mal orthographiée est identique à une bonne.
Le score reste bas sans erreur listée. — Les avertissements coûtent aussi. Le duo habituel : une description sans clause déclenchante et des instructions trop brèves.
Foire aux questions
Pourquoi ma skill se charge-t-elle sans jamais être choisie ?
La description est confrontée à la tâche : si elle ne décrit que le sujet — « travaille avec des tableurs » — il n’y a rien à faire correspondre à une demande. Ajouter une clause nommant la situation, les types de fichiers ou les mots employés suffit généralement.
Qu’est-ce qui compte comme clause déclenchante ?
Tout ce qui nomme le moment : « À utiliser quand l’utilisateur demande… », « Chaque fois qu’un fichier de migration change… », « Pour les tâches concernant… ». Le linter cherche cette forme et avertit s’il n’en trouve pas.
Une longue description est-elle mauvaise ?
Pas en soi — la limite est généreuse et le compte est affiché. Ce qui nuit, c’est une longue description qui ne dit toujours pas quand utiliser la skill, combinaison étonnamment fréquente.
Puis-je analyser une skill que je n’ai pas écrite ?
C’est un bon usage. Déposer une skill venue d’ailleurs montre immédiatement si sa description entrera en concurrence avec les vôtres et si elle déclare des outils inattendus.
Un résultat propre garantit-il que la skill fonctionne ?
Non. Il signifie que le fichier se chargera et que la description a la forme comparée. Savoir si les instructions sont bonnes est un jugement qu’aucun linter ne porte.
Outils associés
Générateur de skills — Écrivez un SKILL.md dont le frontmatter est vérifié à la frappe.
Générateur de sous-agents — Créez le fichier de définition d'un sous-agent, outils et modèle compris.
Linter de prompt système — Trouvez contradictions, instructions mortes et marqueurs non remplis.
Vérificateur de schéma — Collez une définition et découvrez pourquoi elle est rejetée ou mal appelée.