Aller au contenu
Développement medium

GitHub Copilot : créer des custom agents (chat modes)

6 min de lecture

logo copilot

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.

  • 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

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.

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.

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émentation
numé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.

  1. Lancer la création : commande « Chat: New Custom Agent » dans la palette, puis choisir l'emplacement (workspace ou utilisateur).

  2. Décrire le persona : remplir le frontmatter (description, tools) et le corps (les instructions de comportement).

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

Les trois leviers se complètent. Le bon réflexe :

BesoinLevier
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
SymptômeCause probableCorrection
L'agent n'apparaît pasMauvais dossier ou extensionFichier .agent.md dans .github/agents/
.chatmode.md ignoréAncien formatRenommer en .agent.md
L'agent modifie quand même le codeOutil d'édition présent dans toolsRetirer l'outil d'écriture de la liste
Trop de modes pour rienAgents redondantsUn agent par rôle réel (revue, plan), pas plus
  • Un custom agent (*.agent.md dans .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.md se 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.

Ce site vous est utile ?

Sachez que moins de 1% des lecteurs soutiennent ce site.

Je maintiens +700 guides gratuits, sans pub ni tracking. Un soutien, même symbolique, m'aide à couvrir l'hébergement et à garder ces ressources gratuites. Merci pour votre appui.

Le formulaire ne s'affiche pas ? Ouvrir Ko-fi dans un onglet.

Abonnez-vous et suivez mon actualité DevSecOps sur LinkedIn