Ponytail pour Claude Code : installation, réglages et effets
Ponytail est un prompt gratuit sous licence MIT qui pousse Claude Code vers « le plus petit changement qui résout vraiment la tâche » : ce code doit-il exister, le dépôt le contient-il déjà, la bibliothèque standard suffit-elle — et seulement ensuite écrire. Voici l'installation, ce que fait chaque niveau et ce que le benchmark de l'auteur a réellement mesuré.
Ponytail en bref
- Le cœur est un seul prompt : skills/ponytail/SKILL.md contient toutes les règles, et le plugin Claude Code ne fait que le charger automatiquement à chaque session.
- L'installation se fait en deux prompts distincts, dans cet ordre : /plugin marketplace add DietrichGebert/ponytail, puis /plugin install ponytail@ponytail.
- Trois niveaux — lite, full (par défaut) et ultra — changés avec /ponytail lite ou /ponytail ultra, désactivés avec /ponytail off.
- Ce n'est pas seulement « écrire moins » : /ponytail-review révise un diff, /ponytail-audit classe tout un dépôt, /ponytail-debt collecte les raccourcis reportés.
DietrichGebert/ponytail — README
SourceGitHubchecked 2026-11-12
skills/ponytail/SKILL.md — the prompt itself
SourceGitHubchecked 2026-11-12
INSTALL.md — per-agent install steps
SourceGitHubchecked 2026-11-12
skills/ponytail-help/SKILL.md — levels, band, defaults
SourceGitHubchecked 2026-11-12
benchmarks/results/2026-10-07-agentic.md
SourceGitHubchecked 2026-11-12
dsh-ponytail — DeepSeek Harness port (unofficial)
Sourcedeepseekharnessplugins.comchecked 2026-11-12
Toutes les commandes, noms de niveaux, clés de configuration et chiffres de cette page ont été lus dans le dépôt amont le 2026-11-12. Les commandes slash ne sont volontairement pas traduites : une commande traduite ne s'exécute pas.
Données du dépôt via l'API GitHub le 2026-11-12 : 189,276 étoiles, 10,531 forks, créé le 2026-06-12, dernière version v5.3.3 publiée le 2026-10-29. Le nombre d'étoiles bouge chaque jour : c'est un instantané, pas une constante.
Installer et utiliser Ponytail étape par étape
- 1
Savoir ce que vous installez
Ponytail est un ensemble de règles pour agents de code, publié par Dietrich Gebert sous licence MIT sur github.com/DietrichGebert/ponytail. Le cœur est un seul fichier de prompt, skills/ponytail/SKILL.md ; tout le reste du dépôt sert à charger ce prompt dans un agent donné. Le plugin Claude Code est la voie « toujours actif » : une fois installé, il agit à chaque session et ajoute un badge dans la barre de statut ainsi qu'une série de commandes /ponytail-*.
Le README est explicite : l'échelle s'applique après que l'agent a compris le problème, pas à la place. Paresseux sur la solution, jamais sur la lecture du code.
- 2
Vérifier les prérequis
Il faut un Claude Code disposant de la commande /plugin, et Node.js dans le PATH. Le plugin lance deux petits hooks de cycle de vie en Node.js ; sans node les skills fonctionnent quand même, mais chaque appel de hook affiche un node: command not found inoffensif. Utilisateurs de Nix ou nvm : node doit être dans le PATH du shell non interactif, pas seulement du shell interactif.
Commandes
node --versionSi /plugin n'est pas reconnu, votre Claude Code est trop ancien. Mettez-le à jour et redémarrez avant d'aller plus loin.
- 3
Ajouter le marketplace — premier prompt
Envoyez ceci dans Claude Code. La commande enregistre le dépôt comme marketplace de plugins nommé ponytail ; rien n'est encore installé.
Commandes
/plugin marketplace add DietrichGebert/ponytailLe dépôt embarque son propre .claude-plugin/marketplace.json : une simple référence owner/repo suffit, sans URL ni chemin local.
- 4
Installer le plugin — second prompt
À envoyer dans un prompt séparé. Le format est plugin@marketplace, donc ponytail@ponytail signifie « le plugin ponytail depuis le marketplace ponytail ». INSTALL.md l'écrit noir sur blanc : il faut envoyer deux prompts distincts pour que l'installation prenne effet ; les fusionner en un seul message est la cause la plus fréquente d'un échec silencieux.
Commandes
/plugin install ponytail@ponytailDans l'application de bureau Claude Code, onglet Code, vous pouvez saisir les deux mêmes commandes dans le champ de prompt, ou utiliser le bouton + → Plugins → Add plugin pour parcourir vos marketplaces configurés.
- 5
Vérifier qu'il est bien actif
Lancez /ponytail sans argument. Si Ponytail était désactivé, il s'active au niveau par défaut ; s'il l'était déjà, il annonce le niveau courant. Le mode actif apparaît aussi dans le texte de démarrage et de changement de niveau, et le badge de la barre de statut le rappelle toute la session.
Commandes
/ponytailTest fonctionnel rapide : demandez quelque chose qui appelle clairement la sur-ingénierie, par exemple un sélecteur de date, et regardez si l'agent cherche d'abord un composant Input existant et le sélecteur natif du navigateur.
- 6
Choisir un niveau
lite fait exactement ce qui est demandé et nomme en une ligne l'option plus petite, à vous de choisir. full est le niveau par défaut : l'échelle, un petit test là où la logique l'exige, et une réponse qui nomme ce qui a été écarté. ultra conteste en plus la demande elle-même avant de construire. Le niveau reste jusqu'au changement ou à la fin de session.
Commandes
/ponytail lite/ponytail full/ponytail ultra/ponytail offDeux autres sorties : dire stop ponytail ou normal mode en langage naturel, ou lancer /ponytail off.
- 7
Réviser un diff avec les mêmes règles
/ponytail-review n'est pas un linter. Il lit le code que votre changement touche, pas seulement le diff, et rend compte dans cet ordre : correct, sûr, tient sous charge réelle, testé, rapide, sans superflu. Chaque constat doit dire ce que fait le code, ce qui casse, comment corriger et ce qui arrive si on ne corrige pas. On peut restreindre ou élargir la cible en mots simples.
Commandes
/ponytail-review/ponytail-review staged/ponytail-review branchSans cible, il révise les modifications non commitées, ou le dernier commit s'il n'y en a pas.
- 8
Auditer tout le dépôt et récolter la dette
/ponytail-audit passe les mêmes contrôles sur tout le dépôt : il cartographie d'abord les points d'entrée et les flux de données, suppose un niveau de charge et le dit, puis classe les constats pour indiquer quoi corriger en premier. /ponytail-debt récolte les commentaires shortcut: laissés volontairement dans un registre, pour que « plus tard » ne devienne pas discrètement « jamais ».
Commandes
/ponytail-audit/ponytail-debtLe format du commentaire est fixe : shortcut: <la limite>, <quand mettre à niveau>. C'est justement ce qui rend la récolte possible.
- 9
Fixer un défaut et rester à jour
Deux façons de changer le niveau de départ de chaque nouvelle session : la variable d'environnement PONYTAIL_DEFAULT_MODE, ou le champ defaultMode de ~/.config/ponytail/config.json. L'ordre de résolution est variable d'environnement, fichier de configuration, puis full. Pour les mises à jour, activez une fois l'auto-update dans /plugin → Marketplaces → ponytail, ou rafraîchissez manuellement puis rechargez.
Commandes
export PONYTAIL_DEFAULT_MODE=ultra/plugin marketplace update ponytail/reload-pluginsPour désinstaller, lancez d'abord node scripts/uninstall.js fourni par le plugin, puis /plugin remove ponytail : le script est lui-même un fichier du plugin et disparaît avec lui.
L'échelle : ce que Ponytail change vraiment
Tout le changement de comportement tient dans une échelle de décision. Avant d'écrire du code, l'agent s'arrête au premier barreau qui fonctionne pleinement :
- 1Cela doit-il exister ? Les fonctionnalités, options et souplesses que personne n'a demandées sont écartées et nommées en une ligne. Une demande vague (« fais-moi X ») reçoit la plus petite version qui fait le cœur du travail.
- 2Est-ce déjà dans ce dépôt — un helper, un composant, un service, un motif existant ? Alors on l'utilise comme le fait le code alentour.
- 3La bibliothèque standard ou une fonctionnalité de la plateforme le fait-elle ? On l'utilise, sauf si le projet a son propre composant, meilleur que le widget natif.
- 4Est-ce dans une dépendance déjà installée ? On l'utilise. Jamais de nouvelle dépendance pour quelques lignes.
- 5Peut-on l'écrire en une ligne lisible d'un coup d'œil ? Une ligne.
- 6Sinon : le minimum de code qui marche, plus un petit test ou une auto-vérification à base d'assert s'il y a une branche, une boucle, un parseur, de l'argent ou de la sécurité.
Ce qu'il ne coupe jamais
La règle est « n'écrire que ce dont la tâche a besoin », pas « écrire le moins possible ». Le prompt nomme cinq choses qui restent quel que soit le niveau :
- La validation aux frontières de confiance.
- La gestion d'erreur qui évite la perte de données.
- La sécurité.
- L'accessibilité.
- Ce que l'utilisateur a explicitement demandé, ainsi que la calibration nécessaire au matériel réel.
L'autre moitié du changement est la réponse. Chaque réponse se termine par une ou deux lignes indiquant ce qui a été écarté ou non vérifié, et le risque à connaître. C'est ce qui rend le petit diff vérifiable plutôt que suspect.
Toutes les commandes et leur rôle
Ponytail ajoute huit commandes. Les quatre dernières sont celles que l'on rate quand on l'installe en croyant à un simple style de rédaction.
/ponytail [lite | full | ultra | off]Régler l'intensité ou désactiver. Sans argument, active Ponytail au niveau par défaut s'il était désactivé, sinon annonce le niveau courant./ponytail band [on | off]Claude Code uniquement : masquer ou afficher la bande au-dessus du prompt. Sans argument, bascule ; le niveau ne change pas./ponytail band importClaude Code uniquement : ajouter vos sessions Claude Code passées au tableau local, avec coût, temps d'agent et tokens./ponytail-reviewRéviser le diff courant comme le senior qu'on appelle quand ça casse : bugs, sécurité, charge réelle, code risqué sans test, chemins lents et ce qu'on peut couper. Une cible en mots simples : uncommitted, staged, branch ou un lien de PR./ponytail-auditLes mêmes contrôles sur tout le dépôt, du plus important au moins important./ponytail-debtRécolter les commentaires shortcut: reportés dans un registre, pour que « plus tard » ne devienne pas « jamais »./ponytail-gainAfficher le tableau d'impact mesuré du benchmark de l'auteur./ponytail-helpUne fiche mémo à usage unique sur les niveaux, skills et commandes. Elle ne change pas de mode et n'enregistre rien.
Autres agents, et le portage DeepSeek Harness
Le prompt est portable, et le dépôt fournit des adaptateurs pour une longue liste d'hôtes. Les trois qui comptent le plus :
- 1Codex : codex plugin marketplace add DietrichGebert/ponytail, puis codex plugin add ponytail@ponytail, ensuite ouvrir /hooks dans Codex, approuver ses deux hooks de cycle de vie et démarrer un nouveau fil. Dans Codex les commandes sont des skills avec espace de noms, invoquées comme $ponytail:ponytail-review.
- 2Cursor : git clone du dépôt, puis node ponytail/scripts/cursor-hooks.js install. La commande fusionne deux hooks natifs dans ~/.cursor/hooks.json et laisse vos hooks existants intacts. Le niveau se change en envoyant un simple message comme /ponytail lite ; les sous-agents ne reçoivent jamais les règles, car subagentStart de Cursor ne peut pas injecter de contexte.
- 3N'importe quel autre agent : npx skills add DietrichGebert/ponytail copie les six skills dans le dossier de skills de l'agent, et copier AGENTS.md dans le projet donne les règles permanentes sans aucune mécanique de plugin.
- 4Les utilisateurs de DeepSeek Harness disposent d'un portage non officiel, dsh-ponytail, dont les skills sont adaptés de ce même dépôt sous MIT. C'est une adaptation tierce, pas une publication de Dietrich Gebert : son comportement relève de celui qui l'a porté.
Les chiffres publiés, et comment les lire
Le README commence par des réductions spectaculaires. Toutes viennent d'un seul fichier du dépôt, benchmarks/results/2026-10-07-agentic.md, et décrivent une seule configuration : Claude Code headless, Opus 5.5, effort par défaut, Claude Code CLI 2.1.288, 39 tâches, 5 exécutions par tâche et par bras, 585 sessions. Aucune réplication indépendante n'est revendiquée ici.
- 1Lignes de code : -53 % face à l'absence de skill, intervalle bootstrap à 95 % de -63 % à -41 %. Tokens de sortie -45 %, coût -26 %, temps -41 %.
- 2La correction n'a pas bougé : sur les 18 tâches à contrôles cachés, Ponytail 5 en passe 87 sur 90, contre 86 sur 90 sans skill. Sur les six tâches de sécurité, les trois bras passent 30 sur 30.
- 3Les tests augmentent au lieu de diminuer : un test là où la logique l'exige apparaît dans 98 % des cellules contre 68 % sans skill, et les tests écrits par l'agent attrapent 66 % des bugs injectés contre 46 %.
- 4Les réponses ont été préférées en comparaison aveugle, 110 contre 67 face à la version précédente, sur le critère « la réponse dit-elle au relecteur tout ce qu'il doit savoir ».
- 5Le mélange de tâches compte : 12 tickets fonctionnels dans un vrai dépôt FastAPI + React, 18 tâches chirurgicales à contrôles cachés, 6 demandes « fais-moi une petite app » et 3 « montre-moi un exemple ». Bash était désactivé dans tous les bras : on mesure ce que l'agent écrit, pas sa capacité à déboguer.
Lisez ces chiffres comme « l'auteur a mesuré son outil sur son propre jeu de tâches ». C'est un benchmark bien documenté — tableaux par tâche, intervalles, note dédiée sur un défaut d'isolation du premier harnais — mais ce n'est pas un audit tiers, et il ne promet pas les mêmes pourcentages dans votre dépôt.
Les limites à connaître avant d'installer
Ponytail est un prompt. Rien ne l'impose, et plusieurs points méritent d'être clairs avant qu'il n'entre dans un dépôt d'équipe.
- 1C'est un projet tiers, pas un produit Anthropic. Licence MIT, maintenu par une personne ; le README prévient qu'il ne livre jamais de fichiers .exe ou .dll, et qu'une copie qui en contient n'est pas la sienne.
- 2C'est une consigne, pas une barrière. Le modèle peut encore sur-construire, et sur une tâche dont la solution minimale est évidente, l'écart est proche de zéro. L'échelle paie là où l'agent inventerait sinon de la structure.
- 3La bande et le tableau sont réservés à Claude Code, exigent Claude Code 2.1.290 ou plus récent, et n'apparaissent pas dans le panneau de chat VS Code, les sessions cloud ni claude -p. Les données de session restent en local dans ~/.config/ponytail/band/ sauf si vous configurez vous-même le webhook optionnel.
- 4Certains hôtes perdent des fonctions. Sans hooks de cycle de vie, le niveau ne survit pas d'une session à l'autre (Gemini CLI, Qwen, Antigravity, Goose) ; les sous-agents Cursor ne reçoivent jamais les règles ; les adaptateurs « fichier de règles seulement » n'ont aucune commande.
- 5Il laisse de l'état hors du dossier du plugin : un fichier de mode, ~/.config/ponytail/config.json, une copie du script de barre de statut et parfois une entrée statusLine dans ~/.claude/settings.json. Supprimer le plugin seul laisse le badge afficher le dernier mode.
Rien de tout cela n'interdit l'installation : cela veut dire qu'il faut l'essayer sur une vraie tâche de votre dépôt et lire soi-même les premiers diffs pour calibrer ce qu'il coupe, avant de le déployer sur une équipe.
