Un skill complète votre serveur MCP en indiquant à ChatGPT et à Codex comment utiliser ses outils dans un workflow reproductible. Utilisez le serveur pour accéder aux données en temps réel, gérer l’authentification et les autorisations, et contrôler l’exécution des actions. Dans le skill, précisez l’ordre d’appel des outils, les décisions à prendre et les exigences concernant les résultats. Ajoutez-y des exemples, des modèles et d’autres consignes réutilisables.
Un plugin peut contenir un seul skill ou regrouper plusieurs skills apparentés. Associez chaque skill à un objectif utilisateur clairement identifiable dans votre inventaire des cas d’usage. Un skill peut aussi fonctionner sans serveur MCP si les instructions et les ressources qu’il contient suffisent à exécuter le workflow.
Créez un skill
Pour démarrer rapidement, utilisez le créateur de skills intégré. Décrivez l’objectif de l’utilisateur et les outils MCP qui permettent de l’atteindre :
@skill-creator Créez un skill nommé tabletop-dice qui interprète les notations
de dés comme 3d6, appelle roll_dice une fois par dé et indique le résultat
de chaque lancer ainsi que le total.
Dans Codex, appelez le même créateur avec $skill-creator.
Vous pouvez aussi créer les fichiers manuellement. Chaque skill possède son propre répertoire et doit contenir un fichier SKILL.md :
-
skills
-
tabletop-dice
- SKILL.md Instructions et métadonnées obligatoires
- references Documentation facultative
- scripts Code exécutable facultatif
- assets Modèles et ressources facultatifs
-
-
Rédigez le fichier SKILL.md
Commencez le fichier par le nom du skill et sa description, puis ajoutez les instructions :
---
name: tabletop-dice
description: Roll one or more dice for tabletop games and report each result and the total.
---
Utilisez ce skill lorsque l’utilisateur demande de lancer des dés.
1. Interprétez la notation `NdS` comme une demande de lancer N dés à S faces.
Par exemple, `3d6` signifie qu’il faut lancer trois dés à six faces.
2. Appelez `roll_dice` une fois pour chaque dé demandé et passez S comme valeur du paramètre `sides`.
3. Indiquez les résultats dans l’ordre où l’outil les renvoie.
4. Lorsque l’utilisateur demande de lancer plusieurs dés, additionnez les résultats et indiquez le total.
Sauf si l’utilisateur vous le demande, n’inventez aucun résultat, n’en remplacez aucun et ne relancez aucun dé.
La description détermine quand le modèle envisage d’utiliser le skill. Décrivez le workflow et les conditions qui doivent le déclencher. Dans le corps du fichier, détaillez la procédure, le format attendu et les consignes de sécurité.
Délimitez le workflow
Associez chaque skill à un ou plusieurs cas d’usage. Les instructions doivent préciser :
- Les données d’entrée attendues par le workflow.
- Les étapes que le modèle doit suivre.
- Le résultat que l’utilisateur doit recevoir.
- Les faits que le modèle ne doit pas déduire.
- Les situations dans lesquelles le modèle doit poser une question, s’arrêter ou refuser la demande.
- Les fichiers complémentaires que le modèle doit consulter.
Privilégiez un skill ciblé plutôt qu’un long ensemble d’instructions qui ont peu de rapport entre elles. Séparez les workflows lorsque leurs conditions de déclenchement, leurs données d’entrée ou leurs critères de réussite diffèrent.
Vérifiez comment le modèle suit les instructions
Lorsque vous rédigez ou importez des skills pour GPT-6 Astra, consultez les recommandations sur le suivi des instructions. Vérifiez que les instructions des skills et de leurs fichiers complémentaires sont claires et cohérentes entre elles. Précisez que les instructions explicites de l’utilisateur priment sur les consignes du skill.
Ajoutez des ressources complémentaires
Gardez SKILL.md concis et placez les ressources détaillées à côté du fichier :
- Utilisez
references/pour les règles, les schémas, les exemples et la documentation de référence. - Utilisez
assets/pour les modèles ou les fichiers que le workflow doit copier ou transformer. - Utilisez
scripts/lorsque le workflow nécessite des calculs déterministes ou le traitement de fichiers.
Dans SKILL.md, indiquez où se trouvent les fichiers complémentaires et quand les charger ou les exécuter. N’ajoutez pas de script si les instructions et les outils existants permettent déjà d’accomplir la tâche de façon fiable.
Reliez les skills aux outils MCP
Un skill peut guider le modèle dans l’utilisation des outils que le serveur MCP du plugin met à sa disposition. Utilisez le skill pour décrire le workflow et le serveur pour accéder aux données en temps réel, gérer les autorisations et contrôler l’exécution des actions.
Si un skill nécessite un serveur MCP, déclarez cette dépendance dans agents/openai.yaml :
dependencies:
tools:
- type: "mcp"
value: "dice-roller"
description: "Roll an N-sided die"
transport: "streamable_http"
url: "https://tinymcp.dev/api/moldy-aloof-zettabyte/mcp"
Déclarer une dépendance rend l’outil requis disponible. Le workflow a aussi besoin d’instructions claires. Indiquez au modèle quels outils utiliser, dans quel ordre et comment procéder si un résultat manque ou prête à confusion.
Testez le skill
Testez le skill avec des demandes représentatives tirées de votre inventaire des cas d’usage :
- Des demandes directes qui doivent activer le skill.
- Des demandes indirectes qui expriment le même objectif.
- Des demandes incomplètes qui doivent amener le modèle à poser une question de clarification.
- Des demandes qui ne doivent pas activer le skill.
- Des cas limites où le skill doit éviter d’inventer des informations ou d’effectuer une action qu’il ne prend pas en charge.
Vérifiez quand le skill s’active et évaluez la qualité des résultats. Ajustez la description si le skill s’active au mauvais moment. Ajustez les instructions si le modèle choisit le bon workflow mais produit des résultats incohérents.
Intégrez le skill au plugin
Indiquez le chemin du répertoire des skills dans le manifeste du plugin :
{
"name": "dice-roller",
"version": "1.0.0",
"description": "Roll dice for tabletop games",
"skills": "./skills/",
"apps": "./.app.json"
}
Consultez le guide Préparez votre plugin pour la distribution pour voir le manifeste complet et savoir comment associer les serveurs MCP au plugin, le tester en local et le distribuer.