Créer un skill avec SKILL.md
Skills : des composants réutilisables
Les agents définissent qui exécute une tâche. Les skills définissent quoi — ce sont des composants réutilisables qui ajoutent des outils, des slash commands et des comportements spécialisés à Mistral Vibe.
Un skill est un répertoire contenant un fichier SKILL.md avec un frontmatter YAML. Cette structure suit la spécification ouverte Agent Skills, ce qui les rend portables et partageables.
Anatomie d’un SKILL.md
Voici la structure complète d’un skill :
---
name: code-review
description: Effectue des revues de code automatisées avec analyse de qualité
license: MIT
user-invocable: true
allowed-tools:
- read_file
- grep
- ask_user_question
---
# Code Review Skill
Ce skill analyse la qualité du code source en vérifiant :
1. **Conventions de nommage** — variables, fonctions, classes
2. **Complexité cyclomatique** — fonctions trop longues ou imbriquées
3. **Duplication** — code copié-collé à factoriser
4. **Sécurité** — patterns dangereux (eval, injection SQL, XSS)
## Utilisation
Lancez `/code-review` suivi du chemin ou de la description du code à analyser.
## Format de sortie
Le rapport est structuré en trois niveaux :
- 🔴 **Critique** — à corriger immédiatement
- 🟡 **Avertissement** — à corriger avant merge
- 🟢 **Suggestion** — amélioration optionnelle
Les champs du frontmatter YAML
name
L’identifiant unique du skill. Utilisé pour l’activer, le désactiver et le référencer dans les configurations :
name: code-review
description
Une description courte qui apparaît quand Vibe liste les skills disponibles :
description: Effectue des revues de code automatisées avec analyse de qualité
license
La licence du skill — important si vous le partagez :
license: MIT
user-invocable
Détermine si le skill peut être lancé directement par l’utilisateur via une slash command :
user-invocable: true # Accessible via /code-review
user-invocable: false # Utilisé uniquement en interne par d'autres skills
allowed-tools
La liste des outils que le skill est autorisé à utiliser :
allowed-tools:
- read_file
- grep
- list_dir
- ask_user_question
- write_file
Le corps du SKILL.md
Après le frontmatter, le corps du fichier est du Markdown libre. Il sert de documentation et de prompt — Vibe l’utilise pour comprendre comment le skill fonctionne et dans quel contexte l’appliquer.
Structurez-le avec :
- Une description de ce que fait le skill
- Les étapes de son fonctionnement
- Le format de sortie attendu
- Des exemples d’utilisation
Créer votre premier skill
Créons un skill de génération de tests :
mkdir -p ~/.vibe/skills/test-generator
---
name: test-generator
description: Génère des tests unitaires pour les fonctions TypeScript/JavaScript
license: MIT
user-invocable: true
allowed-tools:
- read_file
- write_file
- grep
- list_dir
---
# Test Generator
Génère des tests unitaires complets pour les fonctions
TypeScript et JavaScript.
## Processus
1. Lire le fichier source cible
2. Identifier toutes les fonctions exportées
3. Pour chaque fonction, générer :
- Test du cas nominal
- Test avec entrées vides/null
- Test des cas limites
- Test des erreurs attendues
4. Écrire les tests dans un fichier `.test.ts` adjacent
## Conventions
- Framework : Vitest (par défaut) ou Jest si détecté
- Nommage : `describe` par fonction, `it` par cas de test
- Assertions : `expect` avec matchers précis
- Pas de mocks sauf si nécessaire (dépendances externes)
## Exemple
Pour un fichier `utils/math.ts` contenant `add(a, b)`,
le skill génère `utils/math.test.ts` avec les tests correspondants.
Tester le skill
Une fois le fichier créé, le skill est immédiatement disponible :
vibe
# > /test-generator src/utils/math.ts
Vibe charge le skill, lit son SKILL.md pour comprendre le comportement attendu, et exécute la tâche avec les outils autorisés.
Bonnes pratiques
- Un skill = une fonctionnalité : ne mélangez pas revue de code et génération de tests dans un même skill
- Outils minimaux : n’autorisez que les outils nécessaires
- Documentation claire : le corps du SKILL.md est votre prompt — soyez précis
- Exemples concrets : incluez des exemples de ce que le skill produit
- Testez votre skill sur plusieurs cas avant de le partager
Points clés à retenir
- Un skill est un répertoire avec un fichier
SKILL.mdcontenant un frontmatter YAML - Le frontmatter définit le nom, la description, les outils autorisés et l’invocabilité
- Le corps Markdown sert à la fois de documentation et de prompt pour Vibe
user-invocable: truerend le skill accessible via une slash command- Créez des skills spécialisés avec le minimum d’outils nécessaire