make-skill-template

Par github · awesome-copilot

Créez de nouveaux Agent Skills pour GitHub Copilot à partir de prompts ou en dupliquant ce template. À utiliser lorsqu'on vous demande de « créer un skill », « créer un nouveau skill », « scaffolder un skill », ou lors de la création de capacités IA spécialisées avec des ressources groupées. Génère des fichiers SKILL.md avec un frontmatter approprié, une structure de répertoires, et des dossiers optionnels scripts/references/assets.

npx skills add https://github.com/github/awesome-copilot --skill make-skill-template

Modèle de création de Skill

Un meta-skill pour créer de nouveaux Agent Skills. Utilisez ce skill quand vous avez besoin de scaffolder un nouveau dossier skill, générer un fichier SKILL.md, ou aider les utilisateurs à comprendre la spécification Agent Skills.

Quand utiliser ce Skill

  • L'utilisateur demande de « créer un skill », « faire un nouveau skill », ou « scaffolder un skill »
  • L'utilisateur veut ajouter une capacité spécialisée à son setup GitHub Copilot
  • L'utilisateur a besoin d'aide pour structurer un skill avec des ressources bundlées
  • L'utilisateur veut dupliquer ce modèle comme point de départ

Prérequis

  • Compréhension de ce que le skill doit accomplir
  • Une description claire et riche en mots-clés des capacités et déclencheurs
  • Connaissance des ressources bundlées nécessaires (scripts, références, assets, templates)

Créer un nouveau Skill

Étape 1 : Créer le répertoire Skill

Créez un nouveau dossier avec un nom en minuscules avec tirets :

skills/<skill-name>/
└── SKILL.md          # Obligatoire

Étape 2 : Générer SKILL.md avec le Frontmatter

Chaque skill nécessite un frontmatter YAML avec name et description :

---
name: <skill-name>
description: '<Ce qu'il fait>. À utiliser quand <déclencheurs spécifiques, scénarios, mots-clés que les utilisateurs pourraient dire>.'
---

Exigences des champs Frontmatter

Champ Obligatoire Contraintes
name Oui 1-64 caractères, lettres/chiffres/tirets minuscules uniquement, doit correspondre au nom du dossier
description Oui 1-1024 caractères, doit décrire CE QU'IL FAIT ET QUAND l'utiliser
license Non Nom de la licence ou référence à LICENSE.txt bundlé
compatibility Non 1-500 caractères, exigences environnementales si nécessaire
metadata Non Paires clé-valeur pour des propriétés additionnelles
allowed-tools Non Liste délimitée par espaces des outils pré-approuvés (expérimental)

Bonnes pratiques de description

CRITIQUE : La description est le MÉCANISME PRINCIPAL pour la découverte automatique de skills. Incluez :

  1. CE QUE le skill fait (capacités)
  2. QUAND l'utiliser (déclencheurs, scénarios, types de fichiers)
  3. Mots-clés que les utilisateurs pourraient mentionner dans les prompts

Bon exemple :

description: 'Boîte à outils pour tester les applications web locales avec Playwright. À utiliser quand on vous demande de vérifier la fonctionnalité frontend, déboguer le comportement UI, capturer des captures d''écran du navigateur, ou consulter les logs de la console du navigateur. Supporte Chrome, Firefox et WebKit.'

Mauvais exemple :

description: 'Assistants de test web'

Étape 3 : Écrire le corps du Skill

Après le frontmatter, ajoutez les instructions markdown. Sections recommandées :

Section Objectif
# Title Aperçu rapide
## When to Use This Skill Renforce les déclencheurs de description
## Prerequisites Outils requis, dépendances
## Step-by-Step Workflows Étapes numérotées pour les tâches
## Troubleshooting Problèmes courants et solutions
## References Liens vers les docs bundlées

Étape 4 : Ajouter des répertoires optionnels (si nécessaire)

Dossier Objectif Quand l'utiliser
scripts/ Code exécutable (Python, Bash, JS) Automatisation qui effectue des opérations
references/ Documentation que l'agent lit Références API, schémas, guides
assets/ Fichiers statiques utilisés TEL QUELS Images, polices, templates
templates/ Code de démarrage que l'agent modifie Scaffolds à étendre

Exemple : Structure complète d'un Skill

my-awesome-skill/
├── SKILL.md                    # Instructions obligatoires
├── LICENSE.txt                 # Fichier de licence optionnel
├── scripts/
│   └── helper.py               # Automatisation exécutable
├── references/
│   ├── api-reference.md        # Docs détaillées
│   └── examples.md             # Exemples d'utilisation
├── assets/
│   └── diagram.png             # Ressources statiques
└── templates/
    └── starter.ts              # Scaffold de code

Démarrage rapide : Dupliquer ce modèle

  1. Copiez le dossier make-skill-template/
  2. Renommez-le avec le nom de votre skill (minuscules, tirets)
  3. Mettez à jour SKILL.md :
    • Changez name: pour correspondre au nom du dossier
    • Écrivez une description: riche en mots-clés
    • Remplacez le contenu du corps avec vos instructions
  4. Ajoutez les ressources bundlées au besoin
  5. Validez avec npm run skill:validate

Liste de validation

  • [ ] Le nom du dossier est en minuscules avec tirets
  • [ ] Le champ name correspond exactement au nom du dossier
  • [ ] La description fait 10-1024 caractères
  • [ ] La description explique CE QU'IL FAIT et QUAND
  • [ ] La description est entre guillemets simples
  • [ ] Le contenu du corps fait moins de 500 lignes
  • [ ] Les assets bundlés font moins de 5 Mo chacun

Dépannage

Problème Solution
Skill non découvert Améliorez la description avec plus de mots-clés et déclencheurs
Validation échoue sur le nom Assurez-vous minuscules, pas de tirets consécutifs, correspond au dossier
Description trop courte Ajoutez capacités, déclencheurs et mots-clés
Assets non trouvés Utilisez des chemins relatifs depuis la racine du skill

Références

Skills similaires