Skip to main content

Création 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 Copilot, agent de codage, le CLI de 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.

Pour ajouter une compétence, vous enregistrez le fichier SKILL.md et toutes les ressources filiales dans un emplacement où Copilot sait où chercher les compétences. Cela peut se trouver dans un référentiel ou dans votre répertoire de base.

  1. Créez un skills répertoire dans l’un des emplacements pris en charge pour stocker votre compétence et 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 et utilisez 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 et utilisez un répertoire ~/.copilot/skills, ~/.claude/skills, ou ~/.agents/skills dans votre répertoire de base.

  2. 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.
    

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.