
Le chat Copilot fait tout par défaut : il lit, écrit, exécute. Mais parfois vous voulez un mode bridé, par exemple un relecteur qui signale sans jamais modifier votre code. Un custom agent est exactement cela : un persona réutilisable qui combine des instructions spécialisées et une liste d'outils restreints, dans un fichier versionné. Ce guide montre comment en créer un. Il prolonge le hub de personnalisation Copilot.
Ce que vous allez apprendre
Section intitulée « Ce que vous allez apprendre »- Créer un custom agent dans un fichier
.agent.md - Restreindre les outils auxquels l'agent a accès
- Choisir entre un agent, un prompt file et une instruction
Prérequis
Section intitulée « Prérequis »- GitHub Copilot actif dans VS Code avec le mode Agent
- Les bases de la personnalisation Copilot
- Avoir manipulé un prompt file aide à comprendre
Custom agent : un persona avec des limites
Section intitulée « Custom agent : un persona avec des limites »Un custom agent (anciennement « chat mode ») regroupe dans un seul fichier deux choses : une spécialisation (« tu es un relecteur sécurité ») et la liste des outils que l'agent a le droit d'utiliser. C'est ce second point qui fait sa valeur : un agent de revue qui n'a pas l'outil d'édition ne peut pas modifier votre code, par construction.
Là où un prompt file lance une tâche ponctuelle, un custom agent définit un mode de travail durable que vous sélectionnez dans le chat et qui change le comportement de Copilot tant qu'il est actif.
Anatomie d'un fichier .agent.md
Section intitulée « Anatomie d'un fichier .agent.md »Un custom agent est un fichier *.agent.md placé dans .github/agents/ (au niveau du dépôt) ou dans votre profil VS Code (au niveau utilisateur).
---description: "Agent de revue de sécurité du code Python"tools: ['search', 'codebase']---
Tu es un relecteur sécurité. Pour le code sélectionné, signale :secrets en dur, injections, entrées non validées, usage de eval/exec.Donne le correctif. Ne modifie aucun fichier.Le frontmatter accepte notamment :
description: le rôle de l'agent, affiché à la sélection.tools: la liste blanche des outils autorisés. Tout ce qui n'y est pas est refusé.model: forcer un modèle pour ce mode.name,handoffs: nommer l'agent et déclarer vers quels autres agents il peut passer la main.
Le corps Markdown contient les instructions de comportement de l'agent, comme un prompt système persistant.
La restriction d'outils, c'est la sécurité
Section intitulée « La restriction d'outils, c'est la sécurité »L'intérêt principal d'un agent dédié est le cadrage. Un agent « revue » sans outil d'édition est une garantie, pas une consigne qu'on espère voir respectée : Copilot ne peut pas déraper et réécrire vos fichiers.
---description: "Agent planificateur : analyse et propose, sans coder"tools: ['search', 'codebase', 'usages']---
Tu es un architecte. Analyse la demande et produis un plan d'implémentationnuméroté : fichiers à toucher, ordre des changements, risques. N'écris aucun code.Ce principe rejoint celui des subagents de Claude Code : isoler un rôle avec un périmètre d'action limité plutôt que de tout confier à un assistant généraliste.
Créer et utiliser un custom agent
Section intitulée « Créer et utiliser un custom agent »-
Lancer la création : commande « Chat: New Custom Agent » dans la palette, puis choisir l'emplacement (workspace ou utilisateur).
-
Décrire le persona : remplir le frontmatter (
description,tools) et le corps (les instructions de comportement). -
Sélectionner l'agent dans le menu de mode du chat, puis dialoguer normalement : Copilot adopte le rôle et respecte la liste d'outils.
Comme les instructions et les prompts, ces fichiers vivent dans .github/agents/ et se partagent par git : toute l'équipe dispose des mêmes modes spécialisés.
Agent, prompt ou instruction : lequel choisir
Section intitulée « Agent, prompt ou instruction : lequel choisir »Les trois leviers se complètent. Le bon réflexe :
| Besoin | Levier |
|---|---|
| Un standard toujours appliqué (style, frameworks) | instruction |
| Une tâche déclenchée à la demande (générer un test) | prompt file |
| Un rôle durable avec des outils limités (revue, plan) | custom agent |
Pièges courants
Section intitulée « Pièges courants »| Symptôme | Cause probable | Correction |
|---|---|---|
| L'agent n'apparaît pas | Mauvais dossier ou extension | Fichier .agent.md dans .github/agents/ |
.chatmode.md ignoré | Ancien format | Renommer en .agent.md |
| L'agent modifie quand même le code | Outil d'édition présent dans tools | Retirer l'outil d'écriture de la liste |
| Trop de modes pour rien | Agents redondants | Un agent par rôle réel (revue, plan), pas plus |
À retenir
Section intitulée « À retenir »- Un custom agent (
*.agent.mddans.github/agents/) est un persona avec une liste d'outils restreints. - La restriction d'outils est une garantie : un agent sans outil d'écriture ne peut pas modifier le code.
- Les anciens
.chatmode.mdse renomment en.agent.md. - Choisir : instruction pour un standard, prompt file pour une tâche, agent pour un rôle durable.
- Versionnés dans
.github/, les agents se partagent à toute l'équipe.