Un prompt produit une bonne réponse, parfois. Un skill produit la même sortie à chaque appel, cite ses sources, et dit quand il n'est pas sûr. La différence n'est pas dans la longueur du texte, elle est dans la structure.
Les quatre parties obligatoires
- L'entrée. Ce que le skill reçoit, et ce qu'il doit refuser. Un skill qui accepte n'importe quoi produit n'importe quoi.
- La sortie attendue. Le format exact, avec un exemple. C'est la partie que tout le monde saute, et c'est celle qui rend le résultat reproductible.
- Les sources. Où chercher, et surtout où ne pas chercher. Sans cette section, l'agent invente pour combler.
- Les garde-fous. Ce qu'il fait quand il ne trouve pas, quand la donnée est contradictoire, quand il dépasse son périmètre.
Un squelette utilisable
# Audit SEO d'une liste d'URL
## Entrée
Une liste d'URL, une par ligne. Maximum 50.
Refuser si : pas d'URL valide, ou plus de 50 lignes.
## Sortie attendue
Un tableau, une ligne par URL :
| URL | Title | Longueur | Mot-clé principal | Problème |
Si une information manque, écrire "inconnu". Ne jamais deviner.
## Sources
Le HTML servi par l'URL elle-même, rien d'autre.
Ne pas consulter d'outil tiers, ne pas extrapoler depuis le nom de domaine.
## Garde-fous
- URL en erreur : ligne conservée, colonne Problème = le code HTTP.
- Title absent : "absent", pas une proposition de title.
- Doute sur le mot-clé principal : "incertain" plutôt qu'un choix arbitraire.Les trois erreurs qui reviennent
- Décrire le ton plutôt que la tâche. Un skill qui commence par "tu es un expert SEO" et ne dit pas quoi produire ne produit rien de stable.
- Oublier le cas d'échec. Sans consigne explicite, un agent qui ne trouve pas comble le vide. Une sortie plausible et fausse coûte plus cher qu'un "inconnu".
- Tout mettre dans un seul skill. Un skill qui fait six choses est impossible à tester. Six skills chaînables se corrigent un par un.
Le tester
Lance-le deux fois sur la même entrée. Si les deux sorties diffèrent sur autre chose que la formulation, la spécification de sortie est trop vague. Puis lance-le sur une entrée volontairement cassée : une URL morte, une liste vide, un doublon. Ce que fait le skill dans ces trois cas, c'est ce qui détermine s'il est utilisable en production ou seulement en démonstration.