Automatisation IA - CLAUDE.md, AGENTS.md, SKILL.md : comment structurer ces fichiers pour gagner en efficacité.
Beaucoup d'équipes qui automatisent des tâches grâce à des agents d'IA (Claude Code, Cursor, Copilot...) commettent la même erreur : elles écrivent leurs règles projet trois fois — une fois dans CLAUDE.md, une fois dans AGENTS.md, puis elles créent un skill via un fichier SKILL.md. Mais ces trois fichiers n'ont pas les mêmes objectifs et ne sont pas lus de la même façon par l'agent.
Résultat : des agents plus lents, un usage de tokens qui gonfle, et des instructions parfois contradictoires entre ces différents fichiers, qui finissent par créer de la confusion pour l'IA.
Chez SkillShield, on configure ces fichiers de contexte pour chaque projet qu'on accompagne. Voici comment s'y retrouver — et comment appliquer la même logique sur votre projet, que vous sachiez coder ou non.
Pourquoi ça compte, même si vous ne codez pas vous-même
Une étude publiée en janvier 2026 par des chercheurs du King's College London, de la Singapore Management University, de l'université de Heidelberg et de l'université de Bamberg (arXiv:2601.20404) a mesuré l'effet d'un fichier AGENTS.md correctement structuré sur des agents de développement IA. Résultat : -28,64 % de temps d'exécution et -16,58 % de tokens générés, pour un taux de réussite des tâches comparable.
Concrètement : moins de tokens, c'est moins de coût API. Moins de temps d'exécution, c'est une réponse plus rapide pour vos équipes ou votre prestataire. Et un agent qui ne charge que les instructions pertinentes pour la tâche en cours se trompe donc moins souvent.
Trois fichiers, trois façons d'être lus
AGENTS.md — le socle toujours chargé
AGENTS.md est un standard ouvert (lancé en août 2025, repris depuis décembre 2025 par l'Agentic AI Foundation sous la Linux Foundation) conçu pour être lu par n'importe quel agent — qu'il s'agisse des leaders du marché comme Claude Code, Cursor et Copilot, ou d'acteurs plus petits comme Mistral AI. Son contenu est injecté systématiquement au démarrage de la session, à chaque tour de conversation. C'est donc là que doivent vivre les règles qui s'appliquent à toutes les tâches : commandes de build, conventions de style, architecture du dépôt.
Sa particularité : la règle du fichier le plus proche l'emporte (« nearest-file-wins »). Un AGENTS.md placé à la racine d'un monorepo peut être complété — ou surchargé — par un AGENTS.md niché dans un sous-dossier (services/facturation/AGENTS.md, par exemple), qui prend le pas sur les règles racine dès que l'agent travaille dans ce dossier.
CLAUDE.md — la couche propre à Claude Code
CLAUDE.md fonctionne sur le même principe de chargement systématique, mais il n'est lu que par Claude Code. L'erreur la plus fréquente : y recopier intégralement le contenu d'AGENTS.md, par précaution. Résultat, deux fichiers à maintenir en double, qui finissent tôt ou tard par diverger.
La bonne pratique recommandée par Anthropic est d'utiliser une directive d'import plutôt qu'une duplication. Si un projet n'a strictement rien de spécifique à ajouter, Anthropic documente même un raccourci : un lien symbolique (ln -s AGENTS.md CLAUDE.md) qui fait pointer CLAUDE.md directement vers le fichier standard.
SKILL.md — la couche qui ne se charge que sur demande
C'est là que se situe la vraie différence de mécanique. Un SKILL.md n'est pas injecté au démarrage de session : seuls son nom et sa description (une centaine de tokens) sont chargés en mémoire. L'agent ne lit le corps du fichier que si la description correspond à la tâche en cours. C'est le principe de « progressive disclosure » : le détail n'est chargé qu'au moment où il devient utile.
Le champ description du frontmatter YAML agit comme un portail. Voici, à titre d'illustration, la structure d'un skill qu'on pourrait écrire pour qualifier des leads entrants :
---
name: lead-scoring
description: |
Qualifie un lead entrant (formulaire d'audit) selon le budget, l'urgence
et l'adéquation avec les services SkillShield.
TRIGGER : dès qu'une nouvelle soumission de formulaire d'audit est
mentionnée ou qu'on demande de prioriser des leads.
SKIP : pour toute question sur un client déjà signé.
---
# Qualification de lead
...Exemple concret sur une stack Python / FastAPI / LangGraph
Sur un projet type, l'arborescence ressemble à ceci :
mon-projet/
├── AGENTS.md racine : règles partagées, indépendantes de l'outil
├── CLAUDE.md 3 lignes : import + mémoire propre à Claude Code
├── app/
│ ├── routes/
│ │ └── AGENTS.md règles spécifiques aux routes FastAPI
│ └── agents/
│ └── AGENTS.md conventions LangGraph (state, nodes, edges)
└── .claude/
└── skills/
└── lead-scoring/
├── SKILL.md chargé uniquement si la tâche matche
└── references/
└── criteres-qualification.mdL'AGENTS.md racine tient en une quinzaine de lignes : commande de lancement, rappel sur les dossiers surveillés par le hot-reload, convention de nommage des fonctions. L'AGENTS.md niché dans app/agents/ ajoute les conventions propres aux graphes LangGraph, sans polluer le contexte d'un agent qui ne touche qu'aux routes FastAPI.
Tableau de décision : cette règle va où ?
| Type de règle | Fichier | Pourquoi |
|---|---|---|
| Commande de build/lancement, convention de style globale | AGENTS.md (racine) | Utile à chaque tâche, quel que soit l'outil |
| Règle propre à un sous-dossier ou un service | AGENTS.md (niché) | « nearest-file-wins » : ne charge que le contexte local |
| Préférence propre à Claude Code (sous-agents, mémoire) | CLAUDE.md | Ne concerne que cet outil précis |
| Procédure ponctuelle ou complexe (migration, qualification de lead, génération de rapport) | SKILL.md | Ne doit se charger que si la tâche le justifie |
Le pont qui manque (et celui qui existe)
Plus de 4 300 développeurs ont demandé sur GitHub que Claude Code lise AGENTS.md nativement, sans passer par un import ou un lien symbolique. Ce n'est toujours pas le cas en juillet 2026. À l'inverse, les skills — propres à Claude Code — restent invisibles pour les autres agents (Cursor, Copilot), qui ne comprennent pas la structure d'un dossier de skills.
Une action de CI comme skills-to-agents comble une partie de l'écart : elle parcourt les SKILL.md du projet et génère automatiquement un bloc récapitulatif (nom, chemin, condition de déclenchement) directement dans AGENTS.md, pour que les autres outils sachent au moins où chercher.
Ce que ça signifie concrètement : tant qu'aucune norme unique ne s'impose, la compatibilité entre outils passera par de la tuyauterie (CI, scripts), pas par une spécification commune.
Trois réflexes à adopter dès aujourd'hui
1. Ne dupliquez jamais une règle dans deux fichiers — importez-la (@AGENTS.md) plutôt que de la recopier.
2. Réservez SKILL.md aux procédures ponctuelles ou complexes ; tout le reste appartient à AGENTS.md.
3. Si votre dépôt grossit, découpez AGENTS.md par sous-dossier plutôt que de laisser un seul fichier racine devenir un fourre-tout.
Ces trois fichiers ne sont pas une question de convention arbitraire : la façon dont vous les organisez a un effet mesurable sur le temps de réponse et le coût de vos agents IA. Si vous voulez qu'on structure le contexte de vos agents pour votre projet — Claude Code ou un agent maison construit avec LangGraph, sur le même principe que ce qu'on documente dans notre article sur le Model Context Protocol (MCP) —, c'est le genre de sujet qu'on traite pendant l'audit gratuit de 30 minutes.
Votre application métier mérite un agent IA sur mesure
Discutons de vos besoins lors d'un audit gratuit de 30 minutes, sans engagement.
Demander un audit gratuit →