Skip to main content

Ajout de compétences d’agent pour GitHub Copilot

Vous pouvez modifier le comportement et les capacités de Copilot lorsqu'il effectue des tâches particulières.

Remarque

Les compétences de l’agent fonctionnent avec Agent cloud Copilot, le CLI GitHub Copilot et le mode agent dans Visual Studio Code.

Les compétences de l’agent sont des dossiers d’instructions, de scripts et de ressources qui Copilot peuvent être chargés en cas de pertinence pour améliorer ses performances dans les tâches spécialisées. Pour plus d’informations, consultez « À propos des compétences de l’agent ».

Création et ajout d’une compétence

Pour créer une compétence d’agent, vous écrivez un SKILL.md fichier et, éventuellement, d’autres ressources, telles que des fichiers Markdown supplémentaires ou des scripts, que vous référencez dans les SKILL.md instructions.

  1. Si ce n’est déjà fait, créez un skills répertoire à l’un des emplacements suivants. C’est là que vous trouverez votre compétence, et tous les autres que vous souhaiterez peut-être créer à l’avenir.

    Pour les compétences de projet, spécifiques à un référentiel unique, créez un répertoire .github/skills, .claude/skills, ou .agents/skills dans votre référentiel.

    Pour les compétences personnelles, partagées entre les projets, créez un répertoire ~/.copilot/skills, ~/.claude/skills, ou ~/.agents/skills dans votre répertoire de base local.

  2. Dans le skills répertoire, créez un sous-répertoire pour votre nouvelle compétence. Chaque compétence doit avoir son propre répertoire (par exemple). .github/skills/webapp-testing

    Les noms des sous-répertoires de compétence doivent être en minuscules et utiliser des traits d’union pour les espaces.

  3. Dans votre sous-répertoire de compétence, créez un SKILL.md fichier contenant les instructions de votre compétence.

    Important

    Les fichiers de compétence doivent être nommés SKILL.md.

           `SKILL.md` les fichiers sont des fichiers Markdown avec un frontmatter YAML. Dans leur forme la plus simple, ils incluent :
    
    • Informations préliminaires YAML
      • nom (obligatoire) : identificateur unique de la compétence. Cela doit être minuscule, en utilisant des traits d’union pour les espaces. En règle générale, cela correspond au nom du répertoire de la compétence.
      • description (obligatoire) : description de ce que fait la compétence et quand Copilot l’utiliser.
      • licence (facultatif) : description de la licence qui s’applique à cette compétence.
    • Corps Markdown, avec les instructions, les exemples et les directives à suivre pour Copilot.
  4. Si vous le souhaitez, ajoutez des scripts, des exemples ou d’autres ressources au répertoire de votre compétence.

    Pour plus d’informations, consultez « Activation d’une compétence pour exécuter un script ».

Exemple de fichier SKILL.md

Pour une compétence de projet, ce fichier se trouve dans un .github/skills/github-actions-failure-debugging répertoire de votre référentiel.

Pour une compétence personnelle, ce fichier se trouve dans un ~/.copilot/skills/github-actions-failure-debugging répertoire.

Markdown
---
name: github-actions-failure-debugging
description: Guide for debugging failing GitHub Actions workflows. Use this when asked to debug failing GitHub Actions workflows.
---

To debug failing GitHub Actions workflows in a pull request, follow this process, using tools provided from the GitHub MCP Server:

1. Use the `list_workflow_runs` tool to look up recent workflow runs for the pull request and their status
2. Use the `summarize_job_log_failures` tool to get an AI summary of the logs for failed jobs, to understand what went wrong without filling your context windows with thousands of lines of logs
3. If you still need more information, use the `get_job_logs` or `get_workflow_run_logs` tool to get the full, detailed failure logs
4. Try to reproduce the failure yourself in your own environment.
5. Fix the failing build. If you were able to reproduce the failure yourself, make sure it is fixed before committing your changes.

Activation d’une compétence pour exécuter un script

Lorsqu’une compétence est appelée, Copilot détecte automatiquement tous les fichiers dans le répertoire de la compétence et les rend disponibles en même temps que les instructions de la compétence. Cela signifie que vous pouvez inclure des scripts ou d’autres ressources dans le répertoire de compétences et les référencer dans vos SKILL.md instructions.

Pour créer une compétence qui exécute un script :

  1.        **Ajoutez le script au répertoire de votre compétence.** Par exemple, une compétence pour convertir des images SVG en PNG peut avoir la structure suivante.
    
    .github/skills/image-convert/
    ├── SKILL.md
    └── convert-svg-to-png.sh
    
  2.        **Facultativement, pré-approuvez les outils dont la fonctionnalité a besoin.** Dans votre `SKILL.md` frontmatter, vous pouvez utiliser le champ `allowed-tools` pour répertorier les outils que Copilot peut utiliser sans demander de confirmation à chaque fois. Si un outil n’est pas répertorié dans le `allowed-tools` champ, Copilot vous invite à entrer l’autorisation avant de l’utiliser.
    
    ---
    name: image-convert
    description: Converts SVG images to PNG format. Use when asked to convert SVG files.
    allowed-tools: shell
    ---
    

    Avertissement

    Seule l'approbation préalable des outils shell ou bash est autorisée si vous avez examiné cette compétence et tous les scripts référencés, et que vous approuvez entièrement leur source. Le fait de pré-approuver shell ou bash supprime l'étape de confirmation pour l'exécution de commandes via le terminal, ce qui peut permettre aux attaquants de contrôler les fonctionnalités ou d'exécuter des injections de commandes arbitraires au sein de votre environnement. En cas de doute, omettez shell et bash de allowed-tools afin que Copilot doive demander votre confirmation explicite avant d’exécuter des commandes de terminal.

  3.        **Écrivez des instructions qui indiquent Copilot comment utiliser le script.** Dans le corps de Markdown, `SKILL.md`décrivez quand et comment exécuter le script.
    
    When asked to convert an SVG to PNG, run the `convert-svg-to-png.sh` script
    from this skill's base directory, passing the input SVG file path as the
    first argument.
    

Ajout d’une compétence que quelqu’un d’autre a créée

En plus de créer vos propres compétences, vous pouvez également ajouter des compétences que d’autres personnes ont créées.

Conseil

Vous pouvez également utiliser gh skill dans GitHub CLI pour rechercher, installer, mettre à jour et publier des compétences d'agent. Pour plus d’informations, consultez « Ajout de compétences d’agent pour GitHub Copilot ».

  1. Téléchargez un répertoire de compétences (autrement dit, un répertoire contenant un fichier SKILL.md et, éventuellement, d’autres fichiers et sous-répertoires).

    Par exemple, téléchargez un skill à partir du dépôt Awesome GitHub Copilot : https://awesome-copilot.github.com/skills/.

  2. Si vous avez téléchargé un .zip fichier, décompressez-le.

  3. Déplacez le répertoire de compétences vers l’emplacement requis :

    • Pour les compétences de projet, spécifiques à un référentiel unique : .github/skills, .claude/skillsou .agents/skills dans votre référentiel.

    • Pour les compétences personnelles, partagées entre les projets : ~/.copilot/skills, ~/.claude/skillsou ~/.agents/skills dans votre répertoire de base local.

Gestion des compétences avec GitHub CLI

Remarque

          `gh skill` est préversion publique et sujet à changement. Pour l’utiliser, mettez à jour GitHub CLI vers la version 2.90.0 ou ultérieure.

Vous pouvez utiliser la commande gh skill dans GitHub CLI pour découvrir, installer, mettre à jour et publier des compétences d’agents à partir de référentiels GitHub.

Pour obtenir la liste complète des gh skill sous-commandes, exécutez gh skill --help ou consultez la gh skill section du GitHub CLI manuel.

Installation de compétences

Vous pouvez rechercher des compétences, les prévisualiser et les installer à partir de GitHub référentiels.

Avertissement

Les fonctionnalités ne sont pas vérifiées par GitHub et peuvent contenir des injections de commandes, des instructions masquées ou des scripts malveillants. Inspectez toujours le contenu d’une compétence avant l’installation en utilisant gh skill preview.

  1. Recherchez des compétences par rubrique :

    gh skill search TOPIC
    
  2. Affichez un aperçu d’une compétence pour inspecter son contenu avant l’installation. Cela affiche l’arborescence des fichiers et des SKILL.md compétences dans votre terminal sans installer quoi que ce soit :

    gh skill preview OWNER/REPOSITORY SKILL
    
  3. Installez une fonctionnalité. Vous pouvez exécuter gh skill install sans argument pour un flux entièrement interactif ou spécifier un référentiel pour parcourir ses compétences de manière interactive :

    gh skill install OWNER/REPOSITORY
    

    Pour installer directement une compétence spécifique :

    gh skill install OWNER/REPOSITORY SKILL
    

    Par exemple, pour installer une compétence à partir du github/awesome-copilot référentiel :

    Shell
    gh skill install github/awesome-copilot documentation-writer
    

    Vous pouvez installer une version spécifique à l’aide @TAG ou @SHA:

    Shell
    gh skill install github/awesome-copilot documentation-writer@v1.2.0
    

    Pour verrouiller une compétence à une version spécifique (ou valider SHA) afin qu’elle soit ignorée lors des mises à jour, utilisez --pin:

    Shell
    gh skill install github/awesome-copilot documentation-writer --pin v1.2.0
    

    Remarque

    La syntaxe @VERSION et l'indicateur --pin s'excluent mutuellement. Utilisez l’un ou l’autre, pas les deux.

    Pour installer une compétence pour un hôte d’agent spécifique, utilisez l’indicateur --agent . Pour contrôler l’étendue d’installation, utilisez --scope:

    Shell
    gh skill install github/awesome-copilot documentation-writer --agent claude-code --scope user
    

Les compétences sont automatiquement installées dans le répertoire approprié pour votre hôte d’agent. Par défaut, les fonctionnalités sont installées au niveau du projet pour Copilot.

Mise à jour des compétences

Lorsque vous installez une compétence avec gh skill, les métadonnées de provenance sont écrites dans le frontmatter de SKILL.md la compétence, y compris le référentiel source, la référence et l’arborescence SHA. La gh skill update commande utilise ces métadonnées pour rechercher les modifications en amont.

Pour rechercher les mises à jour de manière interactive :

gh skill update

Pour mettre à jour une compétence spécifique :

gh skill update SKILL

Pour mettre à jour toutes les fonctions installées sans sollicitation :

gh skill update --all

Les compétences épinglées sont ignorées pendant les mises à jour. Pour mettre à jour une compétence épinglée, réinstallez-la avec une nouvelle valeur --pin.

Compétences de publication

Si vous gérez un référentiel de compétences, vous pouvez valider et publier vos compétences à l’aide GitHub CLIde .

Pour valider vos compétences par rapport à la spécification des compétences de l’agent et vérifier les paramètres distants tels que la protection des balises, l’analyse des secrets et l’analyse du code, sans publication, utilisez --dry-run:

gh skill publish --dry-run

Pour résoudre automatiquement les problèmes de métadonnées dans vos fichiers de compétence, utilisez --fix. Cela ne publie pas vos compétences :

gh skill publish --fix

Pour valider et publier vos compétences :

gh skill publish

Comment Copilot utilise les compétences de l’agent

Lors de la réalisation de tâches, Copilot décide quand utiliser vos compétences en fonction de votre invite et de la description de la compétence.

Lorsque Copilot choisit d’utiliser une compétence, le fichier SKILL.md sera injecté dans le contexte de l’agent, donnant à l’agent l’accès à vos instructions. Il peut ensuite suivre ces instructions et utiliser tous les scripts ou exemples que vous avez peut-être inclus dans le répertoire de la compétence.

Compétences et instructions personnalisées

Vous pouvez utiliser des compétences et des instructions personnalisées pour enseigner Copilot comment travailler dans votre référentiel et comment effectuer des tâches spécifiques.

Nous vous recommandons d’utiliser des instructions personnalisées pour des instructions simples pertinentes pour presque chaque tâche (par exemple des informations sur les normes de codage de votre référentiel) et des compétences pour obtenir des instructions plus détaillées que Copilot ne doit accéder qu’en cas de pertinence.

Pour en savoir plus sur les instructions personnalisées du référentiel, consultez Ajout d’instructions personnalisées de référentiel pour GitHub Copilot.