Suggérer des Skills GitHub Copilot Impressionnants
Analysez le contexte du référentiel actuel et suggérez les Agent Skills pertinents du référentiel GitHub awesome-copilot qui ne sont pas déjà disponibles dans ce référentiel. Les Agent Skills sont des dossiers autonomes situés dans le dossier skills du référentiel awesome-copilot, chacun contenant un fichier SKILL.md avec des instructions et des ressources groupées optionnelles.
Processus
- Récupérer les Skills disponibles : Extraire la liste des skills et les descriptions du fichier README.skills.md d'awesome-copilot. Doit utiliser l'outil
#fetch. - Scanner les Skills locaux : Découvrir les dossiers de skills existants dans le dossier
.github/skills/ - Extraire les descriptions : Lire le frontmatter des fichiers
SKILL.mdlocaux pour obtenirnameetdescription - Récupérer les versions distantes : Pour chaque skill local, récupérer le
SKILL.mdcorrespondant du référentiel awesome-copilot en utilisant les URLs GitHub brutes (par exemple,https://raw.githubusercontent.com/github/awesome-copilot/main/skills/<skill-name>/SKILL.md) - Comparer les versions : Comparer le contenu du skill local avec les versions distantes pour identifier :
- Les skills à jour (correspondance exacte)
- Les skills obsolètes (le contenu diffère)
- Les différences clés dans les skills obsolètes (description, instructions, ressources groupées)
- Analyser le contexte : Examiner l'historique du chat, les fichiers du référentiel et les besoins du projet actuel
- Comparer les existants : Vérifier par rapport aux skills déjà disponibles dans ce référentiel
- Faire correspondre la pertinence : Comparer les skills disponibles par rapport aux modèles et exigences identifiés
- Présenter les options : Afficher les skills pertinents avec descriptions, justification et statut de disponibilité incluant les skills obsolètes
- Valider : S'assurer que les skills suggérés apportent une valeur non déjà couverte par les skills existants
- Résultat : Fournir un tableau structuré avec les suggestions, descriptions et liens vers les skills awesome-copilot et les skills locaux similaires ATTENDRE la demande de l'utilisateur pour procéder à l'installation ou à la mise à jour des skills spécifiques. NE PAS INSTALLER OU METTRE À JOUR SANS Y ÊTRE AUTORISÉ.
- Télécharger/Mettre à jour les ressources : Pour les skills demandés, automatiquement :
- Télécharger les nouveaux skills dans le dossier
.github/skills/, en préservant la structure des dossiers - Mettre à jour les skills obsolètes en remplaçant par la dernière version d'awesome-copilot
- Télécharger le
SKILL.mdet toutes les ressources groupées (scripts, modèles, fichiers de données) - Ne pas ajuster le contenu des fichiers
- Utiliser l'outil
#fetchpour télécharger les ressources, mais peut utilisercurlavec l'outil#runInTerminalpour s'assurer que tout le contenu est récupéré - Utiliser l'outil
#todospour suivre la progression
- Télécharger les nouveaux skills dans le dossier
Critères d'analyse du contexte
🔍 Modèles du référentiel :
- Langages de programmation utilisés (.cs, .js, .py, .ts, etc.)
- Indicateurs de framework (ASP.NET, React, Azure, Next.js, etc.)
- Types de projets (applications web, APIs, bibliothèques, outils, infrastructure)
- Exigences de flux de travail de développement (tests, CI/CD, déploiement)
- Infrastructure et fournisseurs cloud (Azure, AWS, GCP)
🗨️ Contexte de l'historique du chat :
- Discussions récentes et points douloureux
- Demandes de fonctionnalités ou besoins d'implémentation
- Modèles de révision de code
- Exigences de flux de travail de développement
- Besoins de tâches spécialisées (diagrammes, évaluation, déploiement)
Format de sortie
Afficher les résultats d'analyse dans un tableau structuré comparant les skills awesome-copilot avec les skills existants du référentiel :
| Skill Awesome-Copilot | Description | Ressources groupées | Déjà installé | Skill local similaire | Justification de la suggestion |
|---|---|---|---|---|---|
| gh-cli | Skill GitHub CLI pour gérer les référentiels et les workflows | Aucune | ❌ Non | Aucune | Améliorerait les capacités d'automatisation du workflow GitHub |
| aspire | Skill Aspire pour le développement d'applications distribuées | 9 fichiers de référence | ✅ Oui | aspire | Déjà couvert par le skill Aspire existant |
| terraform-azurerm-set-diff-analyzer | Analyser les changements du fournisseur Terraform AzureRM | Fichiers de référence | ⚠️ Obsolète | terraform-azurerm-set-diff-analyzer | Instructions mises à jour avec de nouveaux modèles de validation - Mise à jour recommandée |
Processus de découverte des skills locaux
- Lister tous les dossiers du répertoire
.github/skills/ - Pour chaque dossier, lire le frontmatter du
SKILL.mdpour extrairenameetdescription - Lister toutes les ressources groupées dans chaque dossier de skill
- Construire un inventaire complet des skills existants avec leurs capacités
- Utiliser cet inventaire pour éviter de suggérer des doublons
Processus de comparaison des versions
- Pour chaque dossier de skill local, construire l'URL GitHub brute pour récupérer le
SKILL.mddistant :- Modèle :
https://raw.githubusercontent.com/github/awesome-copilot/main/skills/<skill-name>/SKILL.md
- Modèle :
- Récupérer la version distante en utilisant l'outil
#fetch - Comparer l'intégralité du contenu du fichier (y compris frontmatter et corps)
- Identifier les différences spécifiques :
- Changements de frontmatter (name, description)
- Mises à jour des instructions (directives, exemples, meilleures pratiques)
- Changements de ressources groupées (nouvelles, supprimées ou modifiées)
- Documenter les différences clés pour les skills obsolètes
- Calculer la similarité pour déterminer si une mise à jour est nécessaire
Exigences de structure des skills
Basées sur la spécification des Agent Skills, chaque skill est un dossier contenant :
SKILL.md: Fichier d'instructions principal avec frontmatter (name,description) et instructions détaillées- Ressources groupées optionnelles : Scripts, modèles, données de référence et autres fichiers référencés depuis
SKILL.md - Nommage des dossiers : Minuscules avec tirets (par exemple,
azure-deployment-preflight) - Correspondance des noms : Le champ
namedu frontmatter duSKILL.mddoit correspondre au nom du dossier
Structure du frontmatter
Les skills dans awesome-copilot utilisent ce format de frontmatter dans SKILL.md :
---
name: 'skill-name'
description: 'Brève description de ce que ce skill fournit et quand l'utiliser'
---
Exigences
- Utiliser l'outil
fetchpour obtenir le contenu de la documentation des skills du référentiel awesome-copilot - Utiliser l'outil
githubRepopour obtenir le contenu des skills individuels pour le téléchargement - Scanner le système de fichiers local pour les skills existants dans le répertoire
.github/skills/ - Lire le frontmatter YAML des fichiers
SKILL.mdlocaux pour extraire les noms et descriptions - Comparer les skills locaux avec les versions distantes pour détecter les skills obsolètes
- Comparer par rapport aux skills existants dans ce référentiel pour éviter les doublons
- Se concentrer sur les lacunes dans la couverture de la bibliothèque de skills actuelle
- Valider que les skills suggérés s'alignent avec l'objectif du référentiel et la pile technologique
- Fournir une justification claire pour chaque suggestion
- Inclure les liens vers les skills awesome-copilot et les skills locaux similaires
- Identifier clairement les skills obsolètes avec les différences spécifiques notées
- Considérer les exigences des ressources groupées et la compatibilité
- Ne pas fournir d'informations ou de contexte supplémentaires au-delà du tableau et de l'analyse
Référence des icônes
- ✅ Installé et à jour
- ⚠️ Installé mais obsolète (mise à jour disponible)
- ❌ Non installé dans le référentiel
Gestion des mises à jour
Quand des skills obsolètes sont identifiés :
- Les inclure dans le tableau de sortie avec le statut ⚠️
- Documenter les différences spécifiques dans la colonne « Justification de la suggestion »
- Fournir une recommandation de mise à jour avec les changements clés notés
- Quand l'utilisateur demande une mise à jour, remplacer l'intégralité du dossier du skill local par la version distante
- Préserver l'emplacement du dossier dans le répertoire
.github/skills/ - S'assurer que toutes les ressources groupées sont téléchargées avec le
SKILL.mdmis à jour