Aller au contenu principal

Audit du budget de contexte : /skill-doctor, plafonds de sortie et les six chiffres qui remplissent votre fenêtre

Intermédiaire

Un projet Claude Code accumule de la dette de contexte comme un ordinateur portable accumule des onglets de navigateur. Chaque skill que vous avez installé ajoute une ligne à une liste que Claude relit à chaque tour. Chaque sous-agent ajoute une description. Chaque paragraphe de CLAUDE.md que vous avez écrit en mars se charge en septembre, que la tâche en ait besoin ou non. Et chaque npm test déverse jusqu'à 30 000 caractères dans la conversation. Rien de tout cela n'est visible jusqu'à ce que la session commence à oublier des instructions ou que la facture cesse de correspondre au travail.

La gestion du contexte couvre les deux commandes que vous utilisez sur le moment, /clear et /compact. Cette page est l'audit que vous lancez une fois par projet : six endroits où Claude Code dépense du contexte avant que vous tapiez quoi que ce soit ou entre vos tours, le réglage qui gouverne chacun, et la valeur par défaut. Tout ce qui suit figure dans la documentation officielle en date de septembre 2026, et la plupart de ces réglages sont plus récents que le folklore qui les entoure.

What you'll learn
  • Mesurer avant de couper : lisez /context, l'attribution de /usage et l'estimation de la liste fournie par /doctor pour corriger d'abord le plus gros poste
  • Élaguer la liste des skills avec /skill-doctor (v2.1.252+) et les quatre états de skillOverrides, et connaître le budget de 1 % de la fenêtre auquel la liste est plafonnée
  • Plafonner ce qu'une commande shell ou une tâche d'arrière-plan renvoie en ligne (30 000 et 32 000 caractères par défaut) avec bashOutputMaxChars et taskOutputMaxChars
  • Cesser de payer CLAUDE.md dans chaque sous-agent avec omitClaudeMd (v2.1.271+) et garder les descriptions de sous-agents sous le seuil d'avertissement de 15 000 tokens
  • Régler volontairement la fenêtre d'auto-compaction (/autocompact, autoCompactWindow) et comprendre le budget de 25 000 tokens qui décide quels skills invoqués survivent à la compaction
  • Plafonner l'effort à l'échelle de la flotte avec maxEffortLevel quand ce sont les tokens de réflexion, et non le contexte, qui constituent la vraie facture

Ce qui se trouve dans la fenêtre avant que vous tapiez​

Deux faits rendent ce diagramme actionnable. Tout ce qui se trouve dans l'encadré de gauche est payé à chaque requête, parce que Claude Code envoie la conversation complète à chaque tour et que seule la remise de lecture de cache en atténue le coût. Et l'encadré de droite est l'endroit où une seule commande verbeuse peut ajouter plus que tout l'encadré de gauche en une étape. L'audit ci-dessous se déroule de gauche à droite.

L'audit​

Guided walkthrough1 of 9
  1. Lancez /context pour obtenir une répartition en direct par catégorie avec des suggestions d'optimisation, y compris les fichiers CLAUDE.md et de mémoire automatique qui se sont chargés. Sur un plan Pro, Max, Team ou Enterprise, /usage attribue l'usage récent aux skills, sous-agents, plugins et serveurs MCP individuels sous forme de pourcentages, et signale les comportements (contexte long, échecs de cache) qui représentent 10 % ou plus. /doctor estime le coût en contexte de la liste des skills et ses plus gros contributeurs. Notez les trois postes les plus importants avant de changer quoi que ce soit.

Un bloc de réglages prêt à coller​

Plafonds de contexte propres au projet (.claude/settings.local.json)

{
"bashOutputMaxChars": 12000,
"taskOutputMaxChars": 12000,
"skillOverrides": {
  "legacy-migration-notes": "name-only",
  "deploy-prod": "user-invocable-only",
  "old-design-system": "off"
},
"autoCompactWindow": 500000,
"maxEffortLevel": "high"
}

Lisez-le de haut en bas comme des décisions, pas comme des valeurs par défaut. Les deux plafonds de sortie supposent un lanceur de tests bavard ; remontez-les vers les valeurs par défaut de 30 000 / 32 000 si Claude commence à ouvrir le fichier de sortie enregistré à chaque exécution. Les trois surcharges gardent les skills accessibles sans payer leurs descriptions. La fenêtre de compaction est un choix explicite pour un modèle à contexte de 1 M où vous préférez compacter à la moitié plutôt qu'au point calibré pour le modèle. Le plafond d'effort est la seule ligne ici qui change la qualité de la sortie, donc réglez-la en dernier et seulement après que /usage montre que les tokens de réflexion dominent.

Sous-agent qui ne charge pas CLAUDE.md (.claude/agents/repo-auditor.md)

---
name: repo-auditor
description: Audits a repository for dead code and unused exports. Use for read-only sweeps.
tools: Read, Grep, Glob, Bash
model: sonnet
omitClaudeMd: true
---
You are a read-only auditor. Everything you need is in the delegation prompt.
Report findings as a table of path, symbol, and evidence. Do not edit files.

Lancer le rapport sur les skills dans une session headless

claude -p "/skill-doctor"

Erreurs courantes​

Watch out
  • Supprimer des skills au lieu de les replier. name-only garde un skill invocable pour un coût de liste quasi nul ; off le retire aussi du menu /. La plupart des skills « inutilisés » devraient devenir name-only, pas disparaître.
  • Pousser bashOutputMaxChars jusqu'au plafond de 128 000 parce qu'un seul journal de build a débordé. Cela rend chaque commande future jusqu'à 4× plus coûteuse en ligne. Filtrez plutôt le journal avec un hook PreToolUse (grep sur FAIL, head -100) ; la documentation sur les coûts montre le hook exact.
  • Régler autoCompactWindow au-dessus du contexte du modèle. Claude Code le plafonne silencieusement à la fenêtre, donc le réglage semble appliqué et ne fait rien.
  • Supposer qu'un sous-agent est bon marché parce que son contexte est séparé. Son démarrage inclut toujours chaque niveau de CLAUDE.md et un instantané git, sauf s'il s'agit d'Explore, de Plan, ou s'il définit omitClaudeMd.
  • Lire /skill-doctor via Remote Control depuis un téléphone. Il renvoie « Skill usage reports are not available on this connection. » Lancez-le dans le terminal où vit la session.
  • S'attendre à ce qu'un skill invoqué survive à /compact. Seules les invocations les plus récentes entrent dans le budget de rattachement de 25 000 tokens, à 5 000 tokens chacune. Réinvoquez ceux dont vous avez encore besoin.

Vérification rapide​

Check yourself

0/6
  1. Que rapporte /skill-doctor, et qu'omet-il délibérément ?
  2. Votre liste de skills a dépassé son budget. Que se passe-t-il ?
  3. Un npm test réussi affiche 80 000 caractères. Avec les réglages par défaut, que reçoit Claude ?
  4. Quels sous-agents sautent vos fichiers CLAUDE.md sans aucune configuration ?
  5. Vous avez invoqué six skills dans une longue session et /compact vient de s'exécuter. Lesquels survivent ?
  6. maxEffortLevel est réglé sur « medium » dans les réglages managés et sur « high » dans vos réglages utilisateur. Que s'exécute-t-il ?
Appuyez sur Entrée ou Espace pour retourner la carte. Utilisez les flèches gauche et droite pour naviguer entre les cartes.Terme affiché.
1 / 10
Key takeaways
  • Mesurez d'abord : /context pour la répartition en direct, /usage pour l'attribution par skill, sous-agent, plugin et serveur MCP, /doctor pour l'estimation de la liste.
  • La liste des skills est une taxe à chaque tour, plafonnée à 1 % de la fenêtre. /skill-doctor vous dit quoi replier ; name-only garde un skill utilisable pour un coût quasi nul.
  • La sortie des outils est le moyen le plus rapide de faire exploser une fenêtre : ~30 000 caractères en ligne par commande réussie, 32 000 par tâche d'arrière-plan. Plafonnez avec bashOutputMaxChars / taskOutputMaxChars, ou filtrez avec un hook.
  • Les sous-agents ne sont pas gratuits au démarrage : chaque niveau de CLAUDE.md plus git status, sauf Explore, Plan ou omitClaudeMd. Gardez les descriptions personnalisées sous 15 000 tokens combinés.
  • La compaction ne garde que les skills invoqués les plus récents (5 000 chacun, 25 000 au total). Réglez autoCompactWindow délibérément, et réinvoquez ce qui doit survivre.
  • Quand les tokens de réflexion dominent la facture, maxEffortLevel plafonne l'effort à l'échelle de la flotte ; la portée la plus basse l'emporte et cela tient sur chaque fournisseur.

Sources et lectures complémentaires​

Et ensuite​

  • Gestion du contexte — /clear contre /compact sur le moment, une fois l'audit terminé
  • Skills — écrire des skills qui méritent leur ligne dans la liste
  • Sous-agents — concevoir le prompt de délégation pour que omitClaudeMd soit sans risque