suggest-awesome-github-copilot-skills

Par github · awesome-copilot

Suggère des skills GitHub Copilot pertinents depuis le dépôt awesome-copilot en fonction du contexte du dépôt actuel et de l'historique du chat, en évitant les doublons avec les skills déjà présents dans ce dépôt, et en identifiant les skills obsolètes qui nécessitent une mise à jour.

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

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

  1. 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.
  2. Scanner les Skills locaux : Découvrir les dossiers de skills existants dans le dossier .github/skills/
  3. Extraire les descriptions : Lire le frontmatter des fichiers SKILL.md locaux pour obtenir name et description
  4. Récupérer les versions distantes : Pour chaque skill local, récupérer le SKILL.md correspondant 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)
  5. 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)
  6. Analyser le contexte : Examiner l'historique du chat, les fichiers du référentiel et les besoins du projet actuel
  7. Comparer les existants : Vérifier par rapport aux skills déjà disponibles dans ce référentiel
  8. Faire correspondre la pertinence : Comparer les skills disponibles par rapport aux modèles et exigences identifiés
  9. Présenter les options : Afficher les skills pertinents avec descriptions, justification et statut de disponibilité incluant les skills obsolètes
  10. Valider : S'assurer que les skills suggérés apportent une valeur non déjà couverte par les skills existants
  11. 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É.
  12. 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.md et toutes les ressources groupées (scripts, modèles, fichiers de données)
    • Ne pas ajuster le contenu des fichiers
    • Utiliser l'outil #fetch pour télécharger les ressources, mais peut utiliser curl avec l'outil #runInTerminal pour s'assurer que tout le contenu est récupéré
    • Utiliser l'outil #todos pour suivre la progression

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

  1. Lister tous les dossiers du répertoire .github/skills/
  2. Pour chaque dossier, lire le frontmatter du SKILL.md pour extraire name et description
  3. Lister toutes les ressources groupées dans chaque dossier de skill
  4. Construire un inventaire complet des skills existants avec leurs capacités
  5. Utiliser cet inventaire pour éviter de suggérer des doublons

Processus de comparaison des versions

  1. Pour chaque dossier de skill local, construire l'URL GitHub brute pour récupérer le SKILL.md distant :
    • Modèle : https://raw.githubusercontent.com/github/awesome-copilot/main/skills/<skill-name>/SKILL.md
  2. Récupérer la version distante en utilisant l'outil #fetch
  3. Comparer l'intégralité du contenu du fichier (y compris frontmatter et corps)
  4. 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)
  5. Documenter les différences clés pour les skills obsolètes
  6. 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 name du frontmatter du SKILL.md doit 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 fetch pour obtenir le contenu de la documentation des skills du référentiel awesome-copilot
  • Utiliser l'outil githubRepo pour 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.md locaux 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 :

  1. Les inclure dans le tableau de sortie avec le statut ⚠️
  2. Documenter les différences spécifiques dans la colonne « Justification de la suggestion »
  3. Fournir une recommandation de mise à jour avec les changements clés notés
  4. Quand l'utilisateur demande une mise à jour, remplacer l'intégralité du dossier du skill local par la version distante
  5. Préserver l'emplacement du dossier dans le répertoire .github/skills/
  6. S'assurer que toutes les ressources groupées sont téléchargées avec le SKILL.md mis à jour

Skills similaires