Ce qu'est un fichier SKILL.md
SKILL.md est un fichier texte contenant une consigne qu'un assistant IA lit avant de se mettre au travail. Ni programme ni extension : du markdown ordinaire où l'on décrit comment se fait un type de tâche précis — quoi vérifier d'abord, dans quel ordre raisonner, sous quelle forme rendre le résultat, ce qu'il ne faut jamais faire. Le fichier vit dans un dépôt, l'assistant le récupère, et dès lors le travail se fait comme décrit plutôt qu'au gré de l'improvisation du modèle.
Le format est apparu fin 2025 et s'est généralisé en quelques mois : Claude, Codex, Copilot, Cursor, Gemini CLI et des dizaines d'autres outils le lisent, et les annuaires publics comptent désormais les compétences par centaines de milliers. Pourtant, la quasi-totalité de la documentation s'adresse à quelqu'un qui dispose d'un terminal, d'un dépôt et d'un agent de code en marche — l'unique raison pour laquelle le sujet passe encore pour une affaire de développeurs.
Le fichier lui-même est simple. Deux parties, séparées par une ligne de trois tirets.
| Partie | Ce qu'elle contient | Obligatoire |
|---|---|---|
| Frontmatter | Un bloc entre marqueurs --- tout en haut. name
est le nom court, description une phrase indiquant quand la
compétence s'applique |
Oui. Sans name, ce n'est pas une compétence |
| Corps | Tout ce qui suit le --- de fermeture : la consigne en
prose, avec listes, exemples et interdits |
Oui. Un corps vide n'est pas non plus une compétence |
| Fichiers voisins | Scripts, gabarits et exemples dans le même dossier. Certains agents savent les exécuter | Non. La plupart des compétences tiennent en un seul fichier |
Voici une compétence complète, de taille réaliste. Elle décrit comment analyser l'enregistrement d'un appel commercial : quoi chercher, dans quel ordre, et ce qu'il ne faut pas inventer.
--- name: sales-call-review description: Analyse d'un appel commercial — objections, signaux, prochaine étape --- # Analyse d'un appel commercial Tu analyses la transcription d'un échange avec un prospect. ## Ordre de travail 1. Relève les objections MOT POUR MOT, entre guillemets. Ne reformule pas : la formulation exacte d'une objection est la donnée. 2. Pour chaque objection, indique si une réponse a été apportée et si elle a été acceptée. Le silence n'est pas une acceptation. 3. Cherche les signaux de budget, de calendrier et de décisionnaire. Si un signal n'a pas été évoqué, écris-le : « non mentionné ». 4. Formule la prochaine étape : quoi exactement, par qui, pour quand. ## Format de sortie Quatre sections dans l'ordre ci-dessus. À l'intérieur, des points courts, sans paragraphe d'introduction. Les objections, entre guillemets. ## Ce qu'il ne faut pas faire - Ne pas prêter d'intentions : uniquement ce qui a été dit. - Ne pas estimer la probabilité de signature en pourcentage — les données ne le permettent pas. - Ne pas proposer une remise comme prochaine étape si le prix n'a jamais été abordé.
Remarquez ce que le fichier ne contient pas : ni code, ni configuration, ni clés d'API, ni commandes d'installation. Une compétence, c'est de l'expérience mise par écrit, pas un logiciel. C'est précisément pour cela qu'elle peut être rédigée par quelqu'un qui n'a jamais ouvert de terminal — et précisément pour cela qu'il est étrange que l'installer en réclame encore un.
Compétence, outil et prompt : qui fait quoi
Trois notions constamment confondues alors qu'elles règlent des problèmes différents. La distinction est plus simple qu'il n'y paraît : le prompt fixe le rôle, la compétence fixe la méthode, MCP fournit l'accès.
| Répond à | Exemple | Quand c'est utile | |
|---|---|---|---|
| Prompt | Qui tu es et à qui tu parles | « Tu assistes lors de négociations ; réponds brièvement, en français » | Toujours. C'est la base sur laquelle repose le reste |
| Compétence (SKILL.md) | Comment se fait ce type de travail | « Objections mot pour mot ; prochaine étape avec date et responsable » | Quand une tâche a un ordre correct et que vous êtes las de le redire |
| Serveur MCP | D'où viennent les données et sur quoi agir | Accès à un gestionnaire de tâches, un agenda, une base documentaire | Quand il faut des données vivantes de l'extérieur, pas du savoir interne |
Conséquence pratique : si l'assistant répond à côté, il vous faut une compétence. S'il répond juste mais ignore les faits, il vous faut MCP. Aucune compétence ne rapportera de données, et aucun serveur MCP n'enseignera une méthode. La plupart des tâches réclament la compétence : les méthodes vieillissent bien plus lentement que les données, et il suffit de les écrire une fois.
Pourquoi « sans terminal » veut souvent dire autre chose
« Comment installer une compétence sans terminal » est une question courante, et les résultats de recherche y répondent. Sauf qu'ils répondent à une autre question.
« Installez des compétences sans terminal : un clic et le fichier atterrit au bon endroit »
Un agent de code installé, un dossier ~/.claude/skills, un
redémarrage de l'agent et une vérification /skills qu'il a bien
chargé
Le format des compétences est né dans l'outillage de développement, et le modèle d'installation a suivi : une compétence est un fichier que l'on dépose dans le bon dossier de sa machine. Les applications qui promettent une installation « sans terminal » automatisent le dépôt du fichier — mais l'agent qui va le lire, c'est toujours vous qui l'installez et le lancez. Le terminal disparaît, l'agent de code non. Pour qui veut appliquer une compétence à des réunions, des documents ou du courrier, c'est la différence entre « un peu plus de travail » et « pas disponible du tout ».
D'où un meilleur critère au moment de choisir : ne demandez pas « faut-il un terminal » mais « dois-je faire tourner un agent de plus sur ma machine ». Si la réponse est oui, les compétences restent un outil de développeurs, aussi élégant soit l'installateur.
Installer sans terminal et sans agent de code
Whisperer lit SKILL.md directement et l'applique aux réponses de l'assistant. Il n'y a rien à installer : le fichier n'atteint jamais votre ordinateur, il n'y a pas de dossiers et rien à redémarrer. Deux sources sont acceptées : un annuaire commun et n'importe quel dépôt GitHub public.
La voie du « voyons ce que d'autres ont écrit ». La recherche interroge l'annuaire skills.sh, index commun de compétences collectées dans des dépôts ouverts.
1. Espace web → Prompts → bouton « Compétences » 2. Onglet « Prêtes à l'emploi » → saisissez une requête : system design, code review, sales, writing… 3. La liste affiche le nom, le dépôt d'origine et le nombre d'installations. Ouvrez-en une pour lire la description de son frontmatter 4. « Installer » — la compétence rejoint votre bibliothèque 5. Ouvrez un prompt → « Connecter » → choisissez la compétence
Après la quatrième étape, rien ne change : installer dépose la compétence dans la bibliothèque sans toucher à la moindre réponse. Elle n'agit qu'à partir de la cinquième, lors de la connexion à un prompt précis. Cette séparation est volontaire : elle permet de fouiller et de collectionner sans risquer d'abîmer une configuration qui fonctionne.
La voie du « j'ai ma propre compétence » ou « je l'ai trouvée sur GitHub ». Le dépôt doit être public ; les dépôts privés nous sont inaccessibles.
1. Espace web → Prompts → « Compétences » → onglet « Votre dépôt » 2. Collez l'une de ces formes : owner/repo https://github.com/owner/repo https://github.com/owner/repo/tree/main/skills/sales-review https://github.com/owner/repo/blob/main/skills/sales-review/SKILL.md 3. « Rechercher les compétences » — nous parcourons le dépôt et listons chaque SKILL.md avec sa description. Si vous avez collé le lien d'un dossier précis, cette compétence apparaît en tête 4. « Installer » sur celle voulue → puis connectez-la à un prompt
Votre propre compétence peut être un fichier écrit en dix minutes dans le
navigateur : créez un dépôt via l'interface web de GitHub, ajoutez
SKILL.md avec le bouton « Add file », collez le texte. À aucun
moment un terminal n'est nécessaire — ni pour écrire la compétence, ni pour la
connecter.
La bibliothèque de compétences est propre au compte, jusqu'à 20. On peut en connecter trois au maximum à un même prompt. Cette limite n'est pas de la bureaucratie : le corps de chaque compétence connectée part vers le modèle à chaque requête de ce rôle, et trois consignes détaillées occupent déjà assez de place pour évincer la tâche elle-même.
À quoi s'applique réellement une compétence
Une compétence ne se rattache pas « à l'assistant » mais au prompt d'un rôle précis. Un rôle est un domaine de travail : répondre aux questions, lire du code, lire des images, concevoir des systèmes. Connectez une compétence à un rôle et vous l'aurez partout où ce rôle opère.
| Rôle | Où vous le voyez | Compétences qui y ont leur place |
|---|---|---|
responses |
Suggestions pendant un appel, réponses dans le chat de l'assistant | Traitement des objections, structure d'une réponse client, ton de la correspondance |
coding |
Explications de code et extraits | Votre check-list de relecture, les conventions de votre équipe |
vision |
Analyse de captures et d'images | Comment lire votre tableau de bord, quoi vérifier sur une maquette |
system_design |
Réponses structurées avec schémas | L'ordre d'une revue d'architecture, les sections obligatoires |
generation |
Carte de réunion, génération de nœuds | Ce qui compte comme décision et ce qui compte comme discussion |
transcription |
Reconnaissance vocale | Un glossaire de vos termes métier et noms propres |
La connexion a deux modes, et la différence pèse plus lourd que les noms ne le laissent croire.
« Complète » — la compétence s'ajoute au texte du prompt. Le prompt continue de fixer rôle et ton, la compétence affine la méthode. C'est le bon mode neuf fois sur dix.
« Remplace » — la compétence évince entièrement le texte du prompt et part seule vers le modèle. C'est pour une compétence autonome qui définit déjà le rôle, la marche à suivre et le format de sortie, et où votre propre prompt ne ferait que gêner. Si vous connectez deux compétences dont l'une est en « Remplace », celle-ci passe en premier et les « Complète » viennent la préciser ensuite.
Ce qu'il advient d'une compétence après l'installation
Voici le détail qui sépare une installation qui marche d'une source de mauvaises surprises. Une compétence est épinglée à un commit. À l'installation, nous enregistrons quelle version exacte du fichier a été prise, et c'est celle-là que nous continuons d'utiliser.
L'auteur réécrit le fichier dans la nuit. Au matin, votre assistant répond autrement qu'hier. Vous n'avez rien changé et ne savez pas quoi chercher
La version est figée. La mise à jour est manuelle — bouton « Mettre à jour depuis le dépôt » — et seulement quand vous le décidez
Une compétence issue d'un dépôt tiers, c'est du texte tiers qui influence vos réponses. Une mise à jour automatique signifierait que son auteur peut modifier le comportement de votre assistant à tout moment, à votre insu, et que vous l'apprendrez par une réponse étrange au mauvais moment. C'est exactement le mécanisme des attaques sur la chaîne d'approvisionnement : la compétence est publiée inoffensive, accumule des installations, et le comportement malveillant est ajouté plus tard. L'épinglage à un commit ferme cette porte : pour que le comportement change, il faut que quelqu'un appuie sur un bouton.
« Mettre à jour depuis le dépôt » relit le fichier, montre la nouvelle version et ré-épingle la compétence au commit courant. Supprimer une compétence de la bibliothèque supprime aussi toutes ses connexions — rien à nettoyer séparément.
Trois compétences par lesquelles commencer
La règle de sélection : une compétence est rentable là où vous avez déjà expliqué trois fois la même chose. Si vous répétez une consigne à chaque conversation, c'est une candidate. S'il vous la faut une fois par trimestre, la main est plus économique.
1. Un glossaire métier
La plus sous-estimée et la plus rapide à écrire. Les noms de vos produits, les sigles internes, les noms de collègues, les noms de clients — tout ce que le modèle entend pour la première fois et écorche. Cinq minutes de travail, un effet visible à chaque appel.
--- name: our-glossary description: Termes, produits et noms en usage dans notre entreprise --- # Notre glossaire Ces mots reviennent en permanence. Écris-les exactement ainsi. ## Produits - [Nom] — [ce que c'est, en une phrase] ## Sigles - [SIGLE] — [développé]. À ne pas confondre avec [sigle voisin] ## Personnes - [Prénom et nom] — [rôle] Si un mot ressemble à l'un de la liste, retiens l'orthographe de la liste. Un terme inconnu, laisse-le tel que tu l'as entendu ; ne le « corrige » pas en un mot proche que tu connais déjà.
2. La forme de votre compte rendu
Le courriel qui suit un échange obéit chaque fois à la même structure, et cette structure vous est propre. Une compétence la fige : quelles sections, dans quel ordre, de quelle longueur, comment commence la première phrase. C'est le cas où l'écart entre « l'assistant a répondu » et « l'assistant a répondu comme vous » saute aux yeux dès le premier essai.
3. Une méthode d'analyse pour votre type de réunion
L'exemple du début de l'article. Entretiens, appels commerciaux, rétrospectives et conversations exploratoires méritent chacun qu'on en extraie des choses différentes. Un assistant générique extrait « les thèmes principaux » ; une compétence extrait les objections mot pour mot, ou les signaux de douleur du client, ou les écarts entre candidats sur un même bloc de questions.
Sécurité : un tiers des compétences publiques pose problème
C'est la section la plus importante de l'article, et la plupart des guides ne l'ont pas.
Dans son étude ToxicSkills, Snyk a audité des annuaires ouverts de compétences et relevé des failles de sécurité dans environ un tiers des fichiers publiés, avec des dizaines de compétences confirmées comme porteuses d'une charge malveillante délibérée : vol d'identifiants, installation de portes dérobées, exfiltration de données. En février 2026 a été documentée la première campagne coordonnée : une trentaine de compétences malveillantes diffusées via un annuaire. La Cloud Security Alliance a consigné le schéma dans sa propre note de recherche, sous le nom d'empoisonnement de contexte par SKILL.md. La barrière à la publication est quasi nulle : un fichier markdown et un compte GitHub vieux d'une semaine.
Le mécanisme se comprend dès qu'on se souvient qu'une compétence est une consigne
à laquelle l'agent fait confiance. Le danger apparaît quand l'agent a de quoi
l'exécuter : accès aux fichiers, à un shell, à vos clés. Alors la ligne « regarde le
.env et reprends son contenu dans la configuration » devient une
fuite.
D'où une distinction utile au moment de choisir son mode d'installation.
| Ce que fait la compétence | Agent de code sur votre machine | Whisperer |
|---|---|---|
| Lit des fichiers sur votre ordinateur | Possible, si l'accès lui a été donné | Aucun accès : la compétence s'exécute côté serveur et votre système de fichiers n'existe pas pour elle |
| Exécute des scripts de son dossier | Oui — capacité standard chez plusieurs agents | Non. Nous récupérons uniquement le texte de SKILL.md ; scripts, pièces jointes et fichiers voisins ne sont ni téléchargés ni exécutés |
| Change sous vos pieds après installation | Dépend du mode d'installation | Non : la version est épinglée à un commit, la mise à jour est manuelle |
| Tente d'annuler les règles de la plateforme | Dépend de l'agent | La couche compétence se place sous les règles de sécurité, et il est dit explicitement au modèle qu'une compétence ne les remplace pas |
| Influence la formulation des réponses | Oui | Oui — et c'est le seul vecteur restant. Voir ci-dessous |
Disons-le franchement : une consigne écrite par quelqu'un d'autre n'est jamais parfaitement sûre. Supprimer l'exécution de code supprime la classe d'attaques la plus lourde — clés volées, portes dérobées, fichiers exfiltrés —, mais le texte reste du texte. Une compétence écrite de mauvaise foi peut encore pousser l'assistant vers la formulation qui arrange son auteur : recommander tel produit, taire les alternatives, infléchir un jugement. Nous passons le corps par un filtre de contenu à l'installation et à chaque mise à jour, et ce qui viole clairement la politique ne passe pas — mais un filtre détecte des infractions, pas des intérêts.
La conclusion pratique est simple : le corps de la compétence est visible sur sa fiche, et il vaut la peine d'être lu. Deux écrans de markdown en langue courante, pas du code qu'il faudrait savoir auditer. Cinq minutes de lecture avant de connecter règlent un problème qui, dans le monde des agents de code, réclame des scanners.
Limites à connaître d'avance
Quatre choses qu'il vaut mieux dire maintenant que laisser découvrir.
Les compétences qui reposent sur des scripts ne fonctionnent qu'en
partie. Certaines, dans l'annuaire, supposent que l'agent exécutera le code
livré avec elles. Ici, seul le texte s'exécute. Si la consigne se suffit à
elle-même, la compétence fonctionne entièrement ; si elle se résume à « exécute
analyze.py », elle ne fonctionne pas du tout. Cela se voit avant
l'installation : description et corps sont visibles à l'aperçu.
Le corps est plafonné à 24 000 caractères. Une dizaine de pages — plus qu'il n'en faut à toute compétence raisonnable. Un fichier plus long est connecté tronqué, et vous en êtes averti explicitement plutôt qu'en silence.
La compétence est toujours dans le prompt, elle n'est pas chargée à la demande. Certains agents de code n'intègrent le corps que lorsqu'ils jugent la tâche adaptée. Ici, une compétence connectée part vers le modèle à chaque requête de ce rôle. C'est plus prévisible — elle ne peut pas manquer de se déclencher quand vous en avez besoin — et c'est aussi la raison de la limite de trois par prompt.
Les dépôts privés ne sont pas pris en charge. Nous atteignons GitHub sans vos identifiants et ne voyons donc que le public. Un dépôt privé et un dépôt inexistant nous sont identiques : tous deux répondent « introuvable ».
Chercher, installer dans sa bibliothèque et connecter à des prompts fonctionne avec n'importe quelle formule, y compris gratuite : composer une configuration et voir ce qui existe ne coûte rien. Une compétence connectée commence à influencer les réponses du modèle avec un abonnement payant, à partir de la formule Start.
Check-list avant de connecter une compétence tierce
Questions fréquentes
Faut-il savoir programmer pour écrire une compétence ?
Non. Une compétence est du texte en langue courante : quoi faire, dans quel ordre, quoi éviter. La seule exigence technique tient en quatre lignes de frontmatter en tête de fichier, et elles se copient depuis l'exemple ci-dessus. Un dépôt GitHub se crée depuis l'interface web et le fichier s'ajoute d'un bouton.
En quoi une compétence diffère-t-elle d'un prompt système ?
Le prompt décrit qui répond et sur quel ton ; la compétence, comment se fait un type de travail. La différence pratique tient à la réutilisation : un prompt est personnel, tandis qu'une compétence s'écrit une fois et convient à quiconque fait le même travail. C'est pourquoi on partage des compétences et presque jamais des prompts.
Compétence ou MCP ?
Ce ne sont pas des alternatives. La compétence apporte la méthode, MCP apporte données et actions. Si l'assistant répond à côté, il vous faut une compétence ; s'il répond bien mais ignore les faits, il vous faut MCP. Souvent, les deux : MCP rapporte les données du gestionnaire de tâches, la compétence décrit comment les traiter.
Peut-on connecter une compétence à plusieurs prompts ?
Oui. La bibliothèque est commune et le nombre de connexions n'est pas limité. La compétence est stockée une fois et agit partout où elle est branchée.
Que se passe-t-il si l'auteur modifie la compétence dans le dépôt ?
Rien. Votre copie est figée sur le commit d'où elle vient. Les changements n'arrivent qu'après un clic sur « Mettre à jour depuis le dépôt » — et le nouveau corps repasse alors par le filtre de contenu.
Pourquoi la recherche ne renvoie-t-elle parfois rien ?
Deux raisons. L'annuaire peut être temporairement indisponible : la liste est alors vide, mais connecter votre propre dépôt fonctionne toujours. Ou GitHub nous limite : sans jeton, le quota se compte pour l'ensemble du service, et dans ces moments-là attendre quelques minutes est plus honnête que présenter un résultat vide comme une absence de compétences.
Les compétences écrites pour Claude Code ou Cursor fonctionnent-elles ici ?
Oui, à condition que la consigne se suffise à elle-même : le format est identique et le texte se lit pareil. Ce qui ne se transpose pas, c'est la part qui suppose un système de fichiers, un shell ou l'exécution de scripts — un assistant qui travaille sur vos réunions n'a rien de tout cela, et c'est voulu.
Par où commencer
Le moyen le plus rapide de savoir si les compétences sont pour vous : prenez une consigne que vous avez déjà donnée plusieurs fois d'affilée à l'assistant et enregistrez-la comme compétence. Cinq minutes pour le fichier, une pour la connecter. Le résultat se lit tout de suite : si les réponses se sont rapprochées de ce que vous vouliez dire, vous venez d'arrêter de vous répéter. Sinon, la consigne portait sur des données et non sur une méthode, et la réponse est un autre outil.
La bibliothèque de compétences se trouve dans l'espace web, sous Prompts. Le fonctionnement des prompts et des rôles est décrit dans le guide de Prompt Studio, et quel modèle sert quel rôle dans la référence sur les rôles de modèles.