Open source · MIT
Deadweight
L'auditeur que j'utilise sur ma propre configuration Claude Code, publié en open source. Il repère ce que vous payez à chaque tour, et que rien ne lit jamais.
J'ai écrit deadweight pour auditer les configurations Claude Code que je construis pour mes projets, celui-ci compris - un CLAUDE.md, des skills, des règles, des hooks, l'ensemble de ce qui se paie en tokens à chaque tour, lu ou non. Une configuration de ce genre ne fait que grossir : une règle de plus, un skill de plus, jusqu'au jour où plus personne ne sait quelle partie sert encore à quelque chose. Je l'ai mesuré deux fois sur des dépôts publics qu'il n'avait jamais vus, quinze à chaque fois, le second tiré après le premier pour qu'aucun recoupement ne soit possible. Les deux fois, il a trouvé de vrais défauts en lui-même - la dernière fois, 6 des 7 erreurs signalées par la version précédente étaient encore les siennes. Ce site fait tourner le même auditeur sur sa propre configuration.
Six familles de vérifications
Du coût d'un bloc d'instructions à chaque tour jusqu'à un plugin qui pointe vers un skill qu'il ne fournit pas. Chaque identifiant de vérification reste stable dans le temps : une exemption écrite aujourd'hui ne casse pas à la prochaine version.
Une barre d'état qui dit quand agir
Six états, une seule ligne : discrète quand la configuration reste à son seuil accepté, rouge seulement en cas de régression au-dessus. La couleur signale ce qui demande une action, pas la taille du chiffre - un signal toujours allumé apprend à l'œil à l'ignorer.
Un seuil que la configuration ne peut pas dépasser
`--set-floor` fige les compteurs du jour, `--check-floor` fait échouer la CI le jour où ils remontent. Une mesure sans seuil est une mesure qu'on finit par ignorer - les chiffres dérivent pendant des mois et chaque étape, prise seule, semblait raisonnable.
Installation
Deux commandes, puis une nouvelle session. La première ajoute le marketplace, la seconde y installe le plugin.
claude plugin marketplace add e-xode/deadweight --scope projectclaude plugin install deadweight@deadweight --scope project`--scope project` sur les deux commandes inscrit le marketplace et le plugin dans le `.claude/settings.json` du projet : toute personne qui clone le dépôt les récupère aussi. Omettez-le pour une installation personnelle, valable sur tous vos projets.
Prérequis : python3 3.9+, uniquement la bibliothèque standard.
Ouvrez ensuite une nouvelle session dans ce projet et demandez à Claude de lancer `deadweight`. Il affiche les résultats pour ce projet.
Ce qu'il vérifie
Six familles, chacune avec un identifiant de vérification stable, pour qu'une exemption écrite aujourd'hui ne casse pas à la prochaine version.
Ce que ça coûte
Du texte injecté à chaque tour, qu'il soit lu ou non : la taille du CLAUDE.md, le budget toujours chargé, le budget de la liste des skills, la longueur des descriptions.
Ce qu'il pointe
Des références vers des choses qui n'existent plus : liens morts, ancres de chemin mortes dans un skill, motifs de règle qui ne correspondent à aucun fichier, hooks qui appellent un script disparu.
S'il se charge
Une configuration que Claude Code ne lit jamais réellement : un skill situé hors d'un emplacement chargé, un skill retenu que rien ne pointe, un nom qui ne correspond pas à son dossier.
Si des skills se concurrencent
Deux descriptions assez proches pour se voler leurs déclenchements : chevauchement entre skills, absence de clause anti-déclenchement.
Si ça peut être mis en défaut
Des affirmations que rien ne peut réfuter : un skill qui ne nomme aucun chemin vérifiable, une suite d'évaluations incapable d'échouer ou même de s'exécuter.
Empaquetage du plugin
Un plugin qui pointe vers ce qu'il ne fournit pas : le manifeste, des routes vers des skills étrangers, la forme et les délais des hooks.
Ce qui reste local
Le hook `SessionStart` qui lance l'audit ne touche jamais au réseau, et il n'affiche rien - une mesure qu'il vaut mieux énoncer clairement que supposer.
Aucun réseau
Tout est lu depuis des fichiers déjà présents sur le disque : la mesure en cache, le registre des plugins installés tenu par Claude Code, la copie locale du marketplace. Rien n'est envoyé nulle part.
Le hook n'affiche rien
La sortie d'un hook de plugin entre dans le contexte du modèle - mesuré avec un plugin sonde dont les lignes imprimées ont été relues mot pour mot par une session neuve. Tout ce qu'un hook affiche se paie en tokens, à chaque session, dans chaque projet qui installe le plugin. Celui-ci n'affiche donc rien ; les résultats remontent dans la barre d'état, pour vous, gratuitement.
Le cache vit hors du dépôt
Les mesures sont mises en cache dans votre répertoire de cache local (`~/.cache/claude-audit/` par défaut), jamais commitées dans le dépôt, jamais lues par le modèle sauf si vous le demandez.
Questions fréquentes
Qu'est-ce que deadweight ?
Un plugin open source qui audite une configuration Claude Code - CLAUDE.md, skills, sous-agents, règles, hooks, réglages - et signale ce qui coûte des tokens à chaque tour sans que rien ne le lise.
À qui s'adresse-t-il ?
Toute personne qui maintient un CLAUDE.md, une bibliothèque de skills ou un plugin - seule ou en équipe - et veut savoir ce que la configuration coûte réellement, avant qu'elle ne dépasse ce que quiconque peut encore lire en entier.
Envoie-t-il ma configuration quelque part ?
Non. L'audit ne lit que des fichiers locaux et ne touche jamais au réseau ; le hook `SessionStart` qui le déclenche n'affiche rien en retour.
Est-ce que son exécution coûte quelque chose ?
L'audit en arrière-plan n'affiche rien, donc il ne coûte aucun token par lui-même ; la barre d'état qui montre le résultat tourne localement et ne coûte rien non plus. Demander à Claude de lancer `deadweight` explicitement est une commande ordinaire, comme une autre.
Est-il stable ?
Non, et il le dit : version , pré-1.0. La doctrine a d'abord été construite sur une flotte privée, puis mesurée sur deux échantillons de dépôts publics qu'il n'avait jamais vus - chaque échantillon a trouvé de vrais défauts dans l'auditeur lui-même, consignés dans le CHANGELOG.
Est-il vérifié par Anthropic ?
Non. C'est un plugin communautaire, ni affilié à Anthropic, ni approuvé ni vérifié par Anthropic. Il est destiné à être soumis à l'annuaire de plugins, pas encore référencé.
Deadweight est un plugin communautaire indépendant. Il n'est ni affilié à Anthropic, ni approuvé ni vérifié par Anthropic. « Claude Code » désigne l'outil qu'il audite, rien de plus.
La même discipline sur la configuration IA de votre équipe ?
Dites-moi comment vous travaillez aujourd'hui avec Claude Code ou un outil équivalent, et ce que vous en pensez me dira si un audit vaut le détour.