TIPS 85 · PIGRO

ponytail: dieselbe Arbeit mit halb so viel Code

ponytail ist eine kostenlose Erweiterung für Claude Code: Bevor es schreibt, sucht es, was es schon gibt, dann schreibt es nur den Code, der nötig ist. Die Installation, die drei Intensitätsstufen, die zwei Review-Befehle und die Prompts zum Kopieren.

Was es ist und warum es zählt

Du bittest Claude um einen Kalender, um ein Datum auszuwählen, und es baut einen von Grund auf: 335 Zeilen zum Lesen und Reparieren, wenn sie kaputtgehen. Dabei hatte dein Projekt schon sein eigenes Eingabefeld, und jeder Browser hat schon einen Kalender. Zehn Zeilen hätten gereicht.

ponytail setzt einen faulen Senior-Entwickler in dein Claude, faul im guten Sinn. Bevor es schreibt, liest es den Code, den die Änderung berührt, und sucht, was es schon gibt: im Projekt, im Browser oder in der Sprache, in den Bibliotheken, die du installiert hast. Dann schreibt es nur, was fehlt. Die Prüfungen streicht es aber nicht, und wo es um Geld oder Sicherheit geht, hinterlässt es einen kleinen Test.

Es ist ein Prompt (ein Skill, also eine Anweisungsdatei für Claude) plus ein Plugin, das ihn in jeder Sitzung lädt. Kostenlos, MIT-Lizenz, mehr als 180.000 Sterne auf GitHub Ende Oktober. Der Autor hat ihn an 39 Aufgaben gemessen: im Schnitt 53 % weniger Zeilen und 26 % weniger Kosten. Wie man sie liest: Schritt 6. Er ist für alle, die allein mit Claude Code bauen und keinen unnötigen Code nachlesen wollen.

1. In Claude Code installieren

Öffne Claude Code und schick diese zwei Zeilen als zwei getrennte Nachrichten: In einer einzigen, sagt die Installationsanleitung, klappt es nicht.

Die Nachricht
/plugin marketplace add DietrichGebert/ponytail
Die Nachricht
/plugin install ponytail@ponytail

Die erste fügt den Marketplace hinzu, den Katalog, aus dem Claude Code das Plugin holt. Die zweite öffnet die Plugin-Details: Lies, was es installiert, und wähle «Install for you», dann gilt es in all deinen Projekten. In der Desktop-App, Tab Code, gibst du dieselben Zeilen ins Prompt-Feld ein.

So prüfst du, ob es an ist:

  1. In /plugin, Tab Installed, steht ponytail.
  2. Beim Start jeder Sitzung zeigt ponytail die aktive Stufe an.
  3. Nur /ponytail nennt dir die Stufe; war es aus, schaltet es sich ein.

Andere Agenten: Kopiere die Datei AGENTS.md aus dem Repo in dein Projekt (Regeln immer aktiv, ohne Befehle) oder folge INSTALL.md.

2. Wie es denkt: die Leiter vor dem Schreiben

Das Herz von ponytail ist eine Leiter. Es liest die Aufgabe und den Code, den sie berührt, dann bleibt es auf der ersten Sprosse stehen, die alles löst:

  1. Braucht es das wirklich? Was niemand verlangt hat, lässt es weg und sagt es dir in einer Zeile.
  2. Gibt es das schon im Projekt? Eine Komponente oder Funktion, die du anderswo nutzt: Es nimmt die.
  3. Kann es die Sprache oder der Browser? Es nimmt das, aber eine Komponente aus dem Projekt hat Vorrang.
  4. Kann es eine schon installierte Bibliothek? Nie eine neue Bibliothek für ein paar Zeilen.
  5. Reicht eine klare Zeile? Eine Zeile.
  6. Erst dann der kleinste Code, der funktioniert, mit einem kleinen Test, wenn Logik drinsteckt.

Der Kalender stammt aus seinem Benchmark, mit der Bitte «füge eine Datumsauswahl hinzu». Ohne ponytail 335 Zeilen. Mit ponytail 10, die die Input-Komponente des Projekts mit type="date" wiederverwenden: Den Kalender liefert der Browser. Ehrlich gesagt: Es ist der extremste Fall der 39 Aufgaben. Bei vielen kleinen Aufgaben ist der Unterschied klein oder null.

Um es bei der Arbeit zu sehen, frag so (ändere die Teile zwischen [ ]):

Die Vorlage
Füge [eine Datumsauswahl] zu [dem Buchungsformular] hinzu. Sag mir, bevor du schreibst, was es im Projekt, im Browser oder in den installierten Bibliotheken schon gibt, das diese Arbeit erledigt, und auf welcher Sprosse du stehen geblieben bist.

3. Die drei Intensitätsstufen, und off

Es startet von selbst, auf der Stufe full. Du änderst sie mit /ponytail und der Stufe, bis zum Ende der Sitzung.

  • lite: Es macht, was du verlangt hast, und schlägt in einer Zeile die kleinere Version vor. Ich nutze es, wenn die Anfrage schon feststeht.
  • full: die Leiter aus Schritt 2, mit einem Test, wo er nötig ist. Die behalte ich fast immer.
  • ultra: Zusätzlich stellt es die Anfrage infrage und sagt dir, bevor es baut, was der Bedarf nicht rechtfertigt. Ich nutze es am Anfang eines Projekts.
  • off: schaltet es aus. Eine Nachricht nur mit «stop ponytail» reicht auch.
Die Nachricht
/ponytail ultra

Um die Startstufe aller Sitzungen zu ändern, schreib sie in ~/.config/ponytail/config.json (unter Windows in %APPDATA%\ponytail):

Die Datei
{ "defaultMode": "lite" }

Oder es gibt die Umgebungsvariable PONYTAIL_DEFAULT_MODE, die Vorrang vor der Datei hat. Mit "off" startet es nicht von selbst: Du schaltest es mit /ponytail ein.

4. Die zwei Review-Befehle

Beide schreiben einen Bericht und rühren den Code nicht an. Jedes Problem ist nummeriert und sagt, was der Code tut, was schiefgeht, wie man es behebt und was passiert, wenn du es lässt. Der Bericht ist meist in einfachem Englisch.

/ponytail-review: die Änderung, die du gerade gemacht hast

Ohne Zusatz prüft es die Änderungen, die noch in keinem Commit sind, oder den letzten Commit, wenn es keine gibt. Es liest auch den Code, der sie nutzt, denn eine Änderung kann eine Datei kaputt machen, die du nicht angefasst hast. Um zu wählen, was es prüft, hängst du ein Wort an: uncommitted, staged (bereit für den Commit), branch oder den Link zu einem PR.

Die Nachricht
/ponytail-review branch

Dann antworte mit den Nummern:

Die Nachricht
Behebe 1 und 3 mit der kleinsten Korrektur, die du vorgeschlagen hast. Die anderen lass.

/ponytail-audit: das ganze Projekt, nach Wichtigkeit

Dieselben Prüfungen, für das ganze Repo oder den Ordner, den du nennst. Zuerst erstellt es eine Karte: wo Daten hereinkommen, wo sie landen, wie viel Last es tragen muss. Dann reiht es höchstens 20 Probleme auf, das schlimmste zuerst, und sagt dir, wo du anfangen sollst. Ich starte es bei einem Projekt, das ich seit Monaten nicht geöffnet habe.

Die Nachricht
/ponytail-audit

Wenn das Menü von Claude Code die Befehle mit dem Plugin-Namen davor zeigt, etwa /ponytail:ponytail-review, nimm diese Form.

5. Die markierten Abkürzungen und das Band über dem Prompt

Wenn ponytail eine Abkürzung mit bekannter Grenze wählt, schreibt es das mit einem shortcut:-Kommentar in den Code, gefolgt von der Grenze und davon, wann man sie ändert. Zum Beispiel eine Liste im Arbeitsspeicher, die reicht, solange es wenige Nutzer gibt. Das sind Entscheidungen, keine Fehler, aber man muss sie wieder lesen: /ponytail-debt sammelt sie in einem Register und markiert die, die nicht sagen, wann man sie überprüfen soll.

Die Nachricht
/ponytail-debt
Die Nachricht
Schreib dieses Register in PONYTAIL-DEBT.md.

Mit einem aktuellen Claude Code gibt es im Terminal und in der Desktop-App über dem Prompt ein Band: wie viel die Aufgabe verbraucht, die Zeit des Agenten, wie viel Code es wiederverwendet hat, ob die Tests bestanden haben. /ponytail band blendet es aus und wieder ein.

6. Die Zahlen, ehrlich gelesen

Das sind die eigenen Zahlen des Autors: 39 Aufgaben, Claude Code mit Opus, 5 Durchläufe pro Aufgabe. Methode und Skripte liegen im Repo.

  • Codezeilen: im Schnitt 53 % weniger (zwischen 41 % und 63 %).
  • Kosten: 26 % weniger zum Listenpreis (zwischen 16 % und 36 %). Mit einem Abo zahlst du nicht weniger: Du verbrauchst weniger von deinem Limit.
  • Ein Test, wo die Logik einen verlangt: in 98 % der Fälle, gegenüber 68 % ohne ponytail.
  • Korrektheit, bei den 18 Aufgaben mit versteckten Prüfungen: gleichauf. Weniger Code hat keine Sicherheit gekostet, aber auch keine hinzugefügt.

Im Benchmark konnte der Agent keine Befehle ausführen: Gemessen wird, was er schreibt, nicht wie er in deinem Projekt arbeitet. Und ponytail bleibt ein Prompt: Claude kann sich trotzdem irren, und die Abkürzungen liest du selbst nach.

Häufige Fehler

  • Die zwei Installationszeilen in einer einzigen Nachricht schicken.
  • Es aus einer Kopie installieren: Das Original ist nur DietrichGebert/ponytail auf GitHub (oder @dietrichgebert/ponytail auf npm) und enthält nie .exe- oder .dll-Dateien.
  • Kein Node.js haben: Die Anweisungen funktionieren, aber bei jeder Nachricht erscheint der Fehler «node: command not found».
  • Die shortcut:-Kommentare ungelesen lassen: Die Grenze, die darin steht, kommt früher oder später.

Checkliste

  • Ich habe die zwei Installationszeilen als zwei getrennte Nachrichten geschickt
  • Wenn ich /ponytail tippe, sehe ich die aktive Stufe
  • Ich habe /ponytail-review an einer echten eigenen Änderung ausprobiert
  • Ich habe die Abkürzungen mit /ponytail-debt gelesen

Häufige Fragen

Ist ponytail kostenlos?

Ja, MIT-Lizenz. Die Antworten von Claude verbrauchen aber wie immer dein Kontingent.

Streicht es auch Sicherheitsprüfungen?

Nein. Die Prüfung von Daten von außen, die Fehlerbehandlung, die Datenverlust verhindert, Sicherheit und Barrierefreiheit werden nie gestrichen. Bei den sechs Sicherheitsaufgaben des Benchmarks: 30 von 30 Durchläufen, wie ohne ponytail.

Und wenn ich wirklich die lange Lösung brauche?

Verlang sie klar: Die Anweisungen sagen, dass nie gestrichen wird, worum du gebeten hast. Oder wechsle zu lite.

← Alle Anleitungen