Un skill complète votre serveur MCP en indiquant à ChatGPT et à Codex comment utiliser ses outils dans un workflow reproductible. Utilisez le serveur pour les données en temps réel, l’authentification, les autorisations et les actions contrôlées. Utilisez le skill pour les séquences d’appels d’outils, les points de décision, les exigences de sortie, les exemples, les modèles de documents et toute autre consigne réutilisable.
Un plugin peut contenir un skill ou un ensemble de skills liés. Centrez chaque skill sur un objectif utilisateur clairement identifiable dans votre inventaire des cas d’utilisation. Un skill peut aussi fonctionner sans serveur MCP lorsque le workflow nécessite uniquement les instructions et les ressources fournies dans le package.
Créer un skill
Pour commencer rapidement, utilisez l’outil intégré de création de skills. Décrivez l’objectif de l’utilisateur et les outils MCP qui permettent de l’atteindre :
@skill-creator Create a skill named tabletop-dice that understands dice
notation such as 3d6, calls roll_dice once for each die, and reports every
roll and the total.
Dans Codex, appelez ce même outil avec $skill-creator.
Vous pouvez aussi créer les fichiers manuellement. Chaque skill dispose de son propre répertoire
et nécessite 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édiger SKILL.md
Commencez le fichier par un nom et une description, puis ajoutez les instructions :
---
name: tabletop-dice
description: Roll one or more dice for tabletop games and report each result and the total.
---
Use this skill when the user asks to roll dice.
1. Parse requests written as `NdS` as N dice with S sides. For example, `3d6`
means three six-sided dice.
2. Call `roll_dice` once for each requested die and pass S as `sides`.
3. Report each tool result in order.
4. When the user requests multiple dice, add the results and report the total.
Do not invent, replace, or reroll a result unless the user asks you to.
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. Placez les instructions détaillées sur la procédure, le format et la sécurité dans le corps du fichier.
Définir le périmètre du workflow
Associez chaque skill à un ou plusieurs cas d’utilisation. Les instructions doivent préciser les points suivants :
- 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 workflow 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 vaste ensemble d’instructions vaguement liées. Séparez les workflows lorsqu’ils ont des déclencheurs, des données d’entrée ou des critères de réussite différents.
Vérifiez le respect des instructions
Lorsque vous rédigez ou importez des skills pour GPT-6 Astra, consultez les recommandations sur le respect des instructions. Examinez les skills et les fichiers complémentaires pour repérer les instructions ambiguës ou contradictoires, et indiquez clairement que les instructions explicites de l’utilisateur priment sur les consignes des skills.
Ajouter des ressources complémentaires
Gardez SKILL.md concis et placez les informations détaillées dans des fichiers annexes :
- Utilisez
references/pour les politiques, les schémas, les exemples et les informations de contexte. - 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.
Référencez les fichiers complémentaires dans SKILL.md et expliquez quand les charger ou les
exécuter. N’ajoutez pas de script lorsque les instructions et les outils existants permettent d’accomplir la
tâche de manière fiable.
Relier les skills aux outils MCP
Un skill peut guider le modèle dans l’utilisation des outils exposés par le serveur MCP du plugin. Utilisez le skill pour les instructions du workflow et le serveur pour les données en temps réel, les autorisations et les actions contrôlées.
Si un skill nécessite un serveur MCP, déclarez la 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"
Une dépendance rend l’outil requis disponible ; elle ne remplace pas des instructions claires sur le workflow. Indiquez au modèle quels outils utiliser, dans quel ordre et comment gérer les résultats manquants ou ambigus.
Importer un skill depuis MCP
Vous pouvez téléverser un skill sous forme de package lors de la soumission ou l’importer depuis le serveur MCP du plugin. Avec l’option MCP, les instructions et les fichiers complémentaires du skill sont conservés avec le déploiement du serveur.
OpenAI importe les skills depuis MCP lorsque vous sélectionnez Analyser les outils dans le portail de soumission des plugins. Les fichiers importés constituent un instantané dans le brouillon ; ChatGPT et Codex ne les récupèrent pas depuis votre serveur MCP à l’exécution. Après avoir modifié le skill, déployez le serveur et analysez-le à nouveau avant de soumettre une nouvelle version du plugin.
Pour en savoir plus sur la déclaration des capacités, les méthodes de découverte, le manifeste des ressources et les limites d’importation, consultez Importer des skills depuis le serveur MCP.
Tester le skill
Testez le skill avec des demandes représentatives issues de l’inventaire des cas d’utilisation :
- Des demandes directes qui doivent activer le skill.
- Des demandes indirectes qui expriment le même objectif.
- Des données d’entrée incomplètes qui doivent entraîner une demande de précision.
- Des demandes qui ne doivent pas activer le skill.
- Des cas limites dans lesquels le skill doit éviter d’inventer des informations ou d’effectuer une action non prise en charge.
Vérifiez à la fois les conditions d’activation et la qualité des résultats. Affinez la description lorsque le skill s’active au mauvais moment. Affinez les instructions lorsqu’il choisit le bon workflow, mais produit un résultat incohérent.
Préparer le package du skill
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 Préparer le package de votre plugin pour obtenir le manifeste complet et des informations sur le mappage du serveur MCP, les tests locaux et le processus de distribution.