ai newsDo., 15. Okt.
EilmeldungMeta and Apple team up to make Muse AI models run better on Macs

Caveman Skill für Claude Code: Zahlen zeigen, was das Tool wirklich spart

Der Caveman Skill für Claude Code entstand als Gag, der Claude nur grunzen ließ, und hat inzwischen 111.000 Sterne auf GitHub. Die eigene Honest-Numbers-Seite des Projekts räumt ein, dass die Kurzform nur etwa 3 Prozent gegenüber einem simplen "Answer concisely" spart, weshalb Version 4.0 den Fokus auf die Tokens gelegt hat, die der Agent tatsächlich liest.

dev.toDonnerstag 11:41 · 15.10.DE14 Min. Lesezeit
Bild: dev.to

Veröffentlicht am 15. Oktober • Zuerst erschienen auf devpik.com

Caveman begann als Scherz-Prompt, der Claude grunzen liess. 111.000 Sterne spaeter sagt die eigene Honest-Numbers-Seite des Repositories, dass die Stimme etwa 3% gegenueber „Answer concisely“ spart, und Version 4.0 hat das Projekt neu um die Tokens aufgebaut, die dein Agent liest.

Caveman startete im April 2026 als Scherz: ein Prompt, der einen Coding-Agent anwies, wie ein Hoehlenmensch zu antworten. Kurze Fragmente, keine Begruessung, keine Zusammenfassung. Er erreichte Platz eins auf Hacker News mit 904 Punkten, ThePrimeagens Urteil im Video war „No way this actually works“, und das Repository hat inzwischen 111.000 Sterne und 6.400 Forks ueberschritten.

Der Scherz behielt seine Stimme und ueberwuchs seine Praemisse. Version 4.0.0, veroeffentlicht am 13. Oktober 2026, gliedert das Projekt in sechs Teile, die das README „rocks' nennt, und nur einer davon ist die Caveman-Stimme. Der Rest ist ein lokaler Proxy, der komprimiert, was dein Agent liest, ein Router, der Modell und reasoning effort pro Anfrage waehlt, eine Bibliothek wiederverwendbarer Skripte und kleinere Werkzeuge, um herauszufinden, wohin die Tokens fliessen.

Das gesamte Repository steht unter Apache-2.0. „Caveman“ und das Rock-Logo sind Marken des Autors Julius Brussee.

Die interessanteste Datei im Repository ist nicht der Skill. Es ist eine Seite mit dem Titel Honest Numbers, die die bekannteste Behauptung des Projekts misst und das Ergebnis auch dort veroeffentlicht, wo es unguenstig ausfaellt. Dieser Artikel folgt jenem Faden, denn er ist der klarste Hinweis darauf, welche Teile von Caveman eine Installation wert sind.

npx @caveman-ai/cli@latest Enter fullscreen mode Exit fullscreen mode Das Werkzeug findet die Agenten und Logins auf deinem Rechner, zeigt an, was es aendern wird, und wartet, bis du Enter drueckst. Es benoetigt Node.js 22.13 oder neuer. Danach laeuft das einfache claude ueber Caveman, ebenso Codex, Gemini CLI, OpenCode und, laut Installationsmatrix, mehr als 30 weitere Agenten. Es laeuft lokal, mit deinen eigenen API-Schluesseln oder deinem Claude-Pro- oder Max-Login.

Alle sechs sind nach der Installation aktiv. Jeder hat einen eigenen Schalter, zum Beispiel caveman off browse, und caveman status zeigt, was laeuft. Nur Auto benoetigt ein Konto, und das Konto ist kostenlos.

Wenn du nur die Stimme willst, laesst sich der Skill allein installieren, ohne Proxy und ohne CLI:

npx skills add JuliusBrussee/caveman -g Enter fullscreen mode Exit fullscreen mode Tippe /caveman ($caveman in Codex), falls er nicht von selbst startet, und sage „stop caveman“, um zurueckzuwechseln. Claude Code bietet ausserdem ein Paket im Plugin-Marktplatz, Gemini CLI eine Extension.

Das ist das Beispiel, fuer das das Projekt bekannt ist. Ein normaler Agent erklaert einen React-Re-render so:

Der Grund, warum deine React-Komponente neu rendert, ist wahrscheinlich, dass du bei jedem Renderzyklus eine neue Objektreferenz erzeugst. Wenn du ein Inline-Objekt als Prop uebergibst, sieht Reacts flacher Vergleich bei jedem Durchlauf ein anderes Objekt, was einen Re-render ausgeloest wird. Ich empfehle, das Objekt mit useMemo zu memoisieren.

Neue Objektreferenz bei jedem Render, also rendert React neu. Wickle die Prop in useMemo.

Gleiche Loesung, von 63 auf 20 Tokens. Das README betont, dies sei „eine Stimme, keine kaputte Grammatik“, und die Regeln darunter sind sorgfaeltiger, als es der Meme vermuten laesst:

Die Negationsregel ist diejenige, die knappe Ausgaben sicher macht. Komprimiert man „do not run this against production“ unbedacht, erhaelt man „run against production'. Die Regeln schuetzen diese Woerter ausdruecklich.

Es gibt drei Intensitaeten. /caveman liefert die obige 20-Token-Antwort, /ultracave sinkt auf 14 („Inline object prop, new ref, re-render. useMemo.“), und /megacave antwortet auf klassischem Chinesisch mit 13 Tokens, was die am staerksten komprimierte und am wenigsten lesbare der drei Varianten ist.

Hier ist die Tabelle, die das Repository fuer zehn Entwicklerfragen auf claude-opus-5-5 veroeffentlicht:

Lies die ersten beiden Zeilen vor den letzten beiden. Eine schlichte Zwei-Wort-Anweisung senkt die Summe von 6.983 auf 4.334, etwa 38%, und das Repository selbst bezeichnet „be concise“ als den eigentlichen Referenzwert, weil aktuelle Modelle bereits wissen, wie das geht. Auf dieser Basis hinaus spart /caveman im Median weitere 3%. /ultracave spart 35% mehr, was die Variante ist, die messbar weiter geht, allerdings zu einem echten Preis bei der Lesbarkeit.

Die Einschraenkungen stehen direkt neben den Zahlen: zehn Fragen, ein einzelner Durchlauf, nur die Ausgabelaenge, gemessen an den Regeln der Version 3.1.0 und seitdem nicht wiederholt. Die Regeln selbst kosten etwa 1.160 Tokens an Eingabe.

Der GitHub-Slogan behauptet weiterhin, das Projekt „cuts 65% of tokens“. Die Honest-Numbers-Seite merkt an, dass fruehere Versionen des Statistik-Befehls ein pauschales 65%-Ausgabeverhaeltnis anwandten, ohne dass ein eingereichtes, geprueftes Ergebnis dahinterstand. Aktuelle Berichte ignorieren diese historischen Schaetzungen, und die Statuszeile zeigt ueberhaupt keine Sparzahl mehr an.

Es ist ungewoehnlich, dass ein Projekt dieser Groesse seine eigene Schlagzeilenzahl in der eigenen Dokumentation zuruecknimmt. Es ist zugleich das Nuetzlichste im Repository, denn es sagt genau, wo man keine Ersparnisse erwarten sollte.

Der tiefere Grund, warum die Stimme weniger wichtig ist, als sie aussieht, stammt von den externen A/B-Tests, die das Repository sammelt:

Denke daran, was ein Coding-Agent bei jedem Zug sendet: den System-Prompt, die Tool-Definitionen, den bisherigen Verlauf, jede gelesene Datei und jedes zurueckerhaltene Tool-Ergebnis. Die Antwort ist ein Splitter am Ende all dessen. Den Splitter zu halbieren, halbiert fast nichts. Die eigene Zusammenfassung des Repositories lautet, dass die Ausgabe schrumpft, aber die Rechnung eines Agent-Laufs besteht ueberwiegend aus Input und Cache-Wiederaufrufen, die eine Ausgabestil-Regel nicht beruehren kann.

Die Stimme gewinnt dort, wo die Antwort den Grossteil der Arbeit ausmacht. Adobe Research' CAVEWOMAN-Papier, das das Repository zitiert, mass bei Caveman-artiger Ausgabe Kostenreduktionen von Faktor 1,4 bis 2,4 pro Modell ueber acht Modelle und fuenf Datensaetze hinweg, und Elastics Neubau fuer Elasticsearch-MCP-Szenarien mass 63,6% weniger Response-Tokens. Das sind chatfoermige Workloads.

Adobe fand auch, dass sich der Effekt auf der anderen Seite des Gespraechs umkehrt. Einen Prompt im Caveman-Stil zu schreiben verschlechtert die Antworten, weshalb Caveman niemals anfasst, was du selbst eingibst.

Das Repository listet die Faelle auf, in denen es klar verliert:

Was noch fehlt, ist eine veroeffentlichte Qualitaetsaussage. Ein Fidelity-Eval existiert, mit festen Faellen und Regex-Pruefungen, ob Zahlen, Negationen und Sicherheitsformulierungen die Komprimierung ueberstanden haben, aber kein gepruefter Snapshot ist eingereicht. Wenn du dein eigenes A/B durchfuehrst, lehne dich an diese Idee an: ein paar Muster, die pruefen, ob ein „nicht“ oder eine Versionsnummer durchgekommen sind, erstellt anhand echter Antworten in einem Regex-Tester, fangen den Fehler, den eine Tokenzahl niemals entdeckt.

Wenn die Ausgabe der Splitter ist, ist der Input die Rechnung, und 4.0 legt sein Gewicht genau dort. Der Proxy komprimiert die Tool-Ausgabe, bevor das Modell sie sieht. Der Benchmark des README liess Claude Code auf sechs grossen Dateien laufen, die jeweils einen Datensatz versteckten, den der Agent finden musste:

Caveman beantwortete 18 von 18 Fragen richtig. Headroom, ein weiteres Komprimierungs-Wrapper, das auf derselben Suite lief, erreichte 15 von 18 bei 6,7% weniger Tokens.

Die Luecke zwischen der Datei-Spalte und der Session-Spalte ist die Lektion im Kleinen. Eine unterstuetzte Datei schrumpft um etwa 98%, aber jede Anfrage traegt weiterhin den System-Prompt, die Tool-Definitionen, den Gespraechsverlauf und den Caveman-Skill selbst, sodass sich die Session nur um ein Drittel bewegt. HTML lief rückwaerts, weil es noch keinen HTML-Kompressor gibt, waehrend der Skill-Overhead dennoch gezaehlt wurde. Das Repository behielt diese rote Zeile, statt sie zu entfernen.

Die Komprimierung ist verlustbehaftet und abfragebewusst: Die Engine behaelt, was fuer die Frage relevant erscheint. Jedes Original bleibt auf deiner Festplatte, und der Agent kann es aus einem lokalen Recovery-Speicher zurueckholen, wenn die komprimierte Sicht etwas vermisst. Diese Recovery-Aufrufe wurden im Benchmark gezaehlt.

Lies die Einschraenkungen, bevor du 33,2% zitierst. Die Fixtures sind deterministische 60 bis 95 KB grosse Dateien, die jeweils einen Datensatz im Rauschen verstecken, was der Idealfall fuer einen Nadel-findenden Kompressor ist. Der Session-Lauf stammt von August 2026 auf einer aelteren Engine. Und die Rohartefakte des Harness sind nicht im oeffentlichen Repository, sodass das Ergebnis aus einem Checkout nicht reproduzierbar ist; das Repository empfiehlt, es als festgehaltenen Bericht zu behandeln.

Einen verlustfreien Teil davon bekommst du von Hand, deshalb haben wir gemessen, wie gross er ist. Mit demselben o200k-Tokenizer, den Caveman angibt, haben wir zwei Payloads auf drei Arten kodiert:

Minifizieren sparte 38% und 43%. Der uebliche Rat, JSON vor dem Einfuegen in einen Prompt in YAML umzuwandeln, schlaegt eingeruecktes JSON, aber er verlor gegen minifiziertes JSON bei beiden Formen, weil YAML jeden Schluesselnamen behaelt und Tokens fuer Einrueckung statt fuer Klammern ausgibt. Wenn du strukturierte Daten von Hand in einen Agenten einfuegst, ist ein JSON-Minifier der guenstigste verlustfreie Gewinn. Greif zum JSON-zu-YAML-Konverter, wenn ein Mensch den Prompt lesen soll, nicht wenn die Rechnung im Vordergrund steht.

Auto fuegt ein Modell zur Auswahl deines Agenten hinzu. Waehle es, und Caveman waehlt Modell und reasoning effort fuer jede Anfrage: ein grosses Modell fuer eine schwere Aufgabe, eine guenstigere Einstellung fuer eine einfache.

Das sind 85 echte Coding-Aufgaben aus SWE-Interact und SWE-Together, je ein Versuch, bei 0,46-fachen Kosten und weniger als der halben Zeit.

Das Benchmark-Dokument ist aufschlussreicher als die Schlagzeile, denn es zeigt, was Auto tatsächlich getan hat. Im Pool nur mit Claude-Modellen verteilte es 87 Prozent der Anfragen auf Opus 5.5 mit mittlerem Aufwand, 8 Prozent auf Opus mit hohem Aufwand und 5 Prozent auf Sonnet 5.5. Die Einsparung stammt vor allem aus dem geringeren Aufwand, nicht aus dem Wechsel zu einem günstigeren Modell, und das Dokument sagt dies selbst: Gegenüber einem Agenten, der bereits Opus mit mittlerem Aufwand nutzt, sei deutlich weniger zu erwarten, und dieser Fall sei nicht gemessen worden.

Die anderen Einschränkungen werden ebenso klar benannt. Der Lauf ist interim, 85 von 169 Aufgaben. Das Qualitätsintervall liegt bei etwa plus oder minus 7 Punkten, sodass sich die Varianten nicht unterscheiden lassen, und bei SWE-Interact allein liegt Auto 6 Punkte zurück. Die Kosten sind Listenpreise aus dem Katalog des Routers, keine abgerechneten Beträge, und die rohen Trajektorien liegen nicht im Repository.

Die praktische Lesart: Wenn man aus Gewohnheit mit hohem Aufwand arbeitet, ist das erste billige Experiment, den Aufwand selbst zu senken. Auto ist die Version dieses Experiments, die dies pro Anfrage entscheidet.

caveman login # kostenloses Konto; Auto erscheint im Modellauswahlmenü caveman providers add openai # optional: weitere Modelle, mit eigenem Schlüssel Enter fullscreen mode Exit fullscreen mode Es funktioniert in Claude Code, OpenCode und Codex. Jedes andere Modell, das man auswählt, läuft exakt wie ausgewählt, und ohne Anmeldung gibt es kein Auto und es wird nichts gesendet.

Code mode bezeichnet das Muster, bei dem ein Agent ein kleines Skript schreibt, statt Werkzeugaufruf für Werkzeugaufruf auszuführen, ein Ansatz, den sowohl Cloudflare als auch Anthropic beschrieben haben. Seine Schwäche liegt darin, dass der Agent in jeder Sitzung dasselbe Skript neu schreibt und es danach verwirft. Auf einer einzigen Maschine schrieben Agenten in einer Woche dasselbe Skript 394 Mal, und eine Purdue-Studie bezifferte diese Gewohnheit auf bis zu 9,57 Prozent der Aufgabenkosten.

Blocks speichert diese Skripte in Ihrem Repository, prüft sie bei jedem Pull Request und gibt sie zurück. Acht werden mit Caveman ausgeliefert: json-peek, jsonl-stats, test-summary, first-error, wait-for, grep-defs, http-json und replace-in-file. Wenn der Agent beginnt, ein Skript zu tippen, das ein Block bereits abdeckt, erhält er einen Einzeiler-Hinweis, den Block zu verwenden. Er verweigert oder überschreibt niemals einen Befehl.

Die dritte Zeile ist ein Verlust: Der Block liest mehr zurück als ein nackter grep, und die Zeile steht dennoch im README. Diese Konsequenz, auch die verlierenden Zeilen zu veröffentlichen, zieht sich durch das gesamte Projekt.

caveman-blocks scan zeigt, was Ihre Agenten diesen Monat erneut getippt haben, ohne dass der Skripttext Ihre Maschine verlässt, und caveman-blocks init schreibt die Regeln und den Blockindex in die AGENTS.md Ihres Repositories. Blocks ist eine Vorabversion (v0.1.0-rc.5), nur für Python und bislang ohne Sandbox.

Der Rest des Werkzeugkastens besteht aus einer Reihe spezialisierterer Werkzeuge, von denen die meisten eigene Zahlen mitbringen:

Innerhalb des Agenten gibt es einige Befehle, die man kennen sollte. /caveman-commit schreibt einen einzeiligen Conventional Commit. /caveman-review liefert einen Befund pro Zeile, in der Form L42: 🔴 null deref. Guard it. cavecrew startet Subagenten, die Code finden, bearbeiten und prüfen und in caveman-Manier berichten.

Der nützlichste Befehl, angesichts des bisher Gesagten, ist caveman trial -- claude, das eine echte Sitzung an Ihrer eigenen Arbeit als A/B-Test durchführt. Jede Zahl auf dieser Seite stammt aus der Arbeitslast anderer Leute. Diese hier ist Ihre.

Der Datenschutz-Abschnitt ist konkret, und er unterscheidet sich je nach Komponente deutlich:

Daraus folgen zwei Dinge. Telemetrie, die Ihre IP-Adresse einschließt, ist in der CLI standardmäßig aktiviert, was man wissen sollte, bevor man sie auf einem Arbeitsrechner installiert. Und Auto, der Stein mit der größten Schlagzeilen-Einsparung, ist zugleich derjenige, der Ihren Kontext von der Maschine sendet.

Die kommerzielle Seite des Projekts ist Caveman Cloud, gerichtet an Teams, die eigene Agenten bauen, statt einen zu nutzen: Trace-Auswertung, Evals an echtem Traffic und ein Autopilot, der günstigere Änderungen vorschlägt, sie an aufgezeichneten Arbeiten testet und nur dann ausrollt, wenn die Evals halten, wobei Sie den Pull Request freigeben. Die Open-Source-CLI und das Skill erfordern das nicht.

Es hängt davon ab, welchen Stein man gesucht hat, und die eigenen Zahlen des Repositories machen die Antwort ungewöhnlich klar.

Für die Stimme allein genügt es, nur das Skill zu installieren, aber fügen Sie zuerst Answer concisely zu Ihrer CLAUDE.md hinzu und vergleichen Sie. Die eigene Tabelle des Repositories sagt, dass man damit den größten Teil des Weges schafft, und /caveman legt etwa 3 Prozent obendrauf. Wenn Sie eine echte weitere Einsparung wollen, ist /ultracave die Variante mit der 35-Prozent-Zahl dahinter.

Wenn Ihre Sitzungen große Logs, CSVs oder Testausgaben lesen, ist der Read-less-Proxy der Stein mit der stärksten Evidenz: 33,2 Prozent weniger Eingabetokens bei gehaltener Genauigkeit auf seinem Benchmark, mit den oben genannten Grenzen.

Wenn Sie standardmäßig Opus mit hohem Aufwand nutzen, ist die Einsparung von Auto vor allem eine Aufwands-Einsparung. Versuchen Sie, den Aufwand selbst zu senken, oder lassen Sie Auto pro Anfrage entscheiden, im Wissen, dass es Kontext an Caveman Cloud sendet.

Wenn Sie pro Anfrage zahlen, wie bei GitHub Copilot, lassen Sie die Stimme weg. Eine kürzere Antwort ist dieselbe Anfrage.

Welche Option Sie auch wählen: Messen Sie. Führen Sie caveman trial aus oder vergleichen Sie die vom Anbieter abgerechneten Summen für dieselbe Aufgabe mit und ohne Caveman, und schalten Sie es für jede Arbeitslast ab, bei der die Rechnung steigt. Diese Anweisung stammt aus dem Repository selbst.

Caveman wurde berühmt als Witz über Grunzlaute. Was es vertrauenswürdig macht, ist die Seite, die das Grunzen gemessen und nüchtern berichtet hat, dass es nicht dort lag, wo das Geld ist.

Caveman ist ein Open-Source-Skill und lokaler Proxy für KI-Coding-Agenten, erstellt von Julius Brussee. Das Skill bringt den Agenten dazu, in kurzen Sätzen im Höhlenmensch-Stil zu antworten, während Code, Befehle und Fehlermeldungen exakt bleiben. Seit Version 4.0 komprimiert es auch die Tool-Ausgabe, bevor das Modell sie liest, leitet Anfragen zwischen Modellen und Aufwandsstufen weiter und wiederverwendet Skripte, die der Agent schreibt. Es funktioniert mit Claude Code, Codex, Gemini CLI, OpenCode und mehr als 30 weiteren Agenten und ist unter Apache-2.0 lizenziert.

Spart das caveman-Skill tatsächlich Tokens?

Es verkürzt Antworten, aber weniger als die virale Behauptung. Beim eigenen Test des Repositories mit zehn Entwicklerfragen senkte eine einfache Answer-concisely-Anweisung die Ausgabe von 6.983 auf 4.334 Tokens, und /caveman sparte im Median weitere 3 Prozent, während /ultracave 35 Prozent mehr einsparte. Da die Ausgabe nur einen kleinen Anteil einer Agentensitzung ausmacht (eine Analyse von 662 Claude-Code-Sitzungen bezifferte ihn auf 0,3 Prozent aller Tokens), stammen die größeren Einsparungen in Caveman 4.0 aus der Komprimierung der Eingabe, wo das README 33,2 Prozent weniger Eingabetokens auf seinem Benchmark ausweist.

Führen Sie npx @caveman-ai/cli@latest aus, um den kompletten Werkzeugkasten zu erhalten. Er erkennt Ihre Agenten und Anmeldungen, zeigt an, was er ändern wird, und benötigt Node.js 22.13 oder neuer. Wenn Sie nur die caveman-Stimme wollen, führen Sie stattdessen npx skills add JuliusBrussee/caveman -g aus und tippen Sie dann /caveman (oder $caveman in Codex), falls es nicht automatisch startet. Mit stop caveman schalten Sie es ab.

Macht der caveman-Modus die Antworten von Claude schlechter?

Veröffentlichte externe Tests haben keinen messbaren Qualitätsverlust gefunden: JetBrains führte 86 Coding-Aufgaben als gepaarten A/B-Test durch und fand keinen messbaren Qualitätsverlust (p = 0,82), und Elastic meldete null Informationsverlust in seiner Nachbildung. Die Regeln halten Verneinungen, Zahlen, Code und Fehlermeldungen exakt und wechseln bei Sicherheitswarnungen und irreversiblen Aktionen zu vollständigen Sätzen zurück. Caveman schreibt Ihren Prompt nie um, weil Adobe Research herausfand, dass die Komprimierung des Prompts selbst die Antworten verschlechtert. Das Repository hat bislang keinen eigenen geprüften Qualitäts-Snapshot veröffentlicht.

Hilft Caveman bei GitHub Copilot oder Cursor?

Caveman installiert sich in Copilot, Cursor und viele andere Agenten, aber die Einsparungen hängen von der Abrechnung ab. GitHub Copilot rechnet pro Premium-Anfrage ab, sodass eine kürzere Antwort dieselbe Anfrage ist und die Stimme dort nichts spart. Das Repository verzeichnet zudem einen Cursor-A/B-Test, bei dem sich der Tokenverbrauch mit Caveman von 1 Million auf 4,3 Millionen erhöhte, was es nicht reproduzieren konnte, aber als Warnung gelistet hält. Sein Rat lautet, die vom Anbieter abgerechneten Summen mit und ohne Caveman zu vergleichen und es dort abzuschalten, wo die Kosten steigen.

Das Skill sendet nichts, außer bei /caveman-compress, das die komprimierte Datei an Ihren eigenen Modellanbieter sendet. Die CLI sendet standardmäßig Nutzungsstatistiken, darunter ausgeführte Befehle, Tokenzählungen, eine zufällige Installations-ID, Betriebssystem und IP-Adresse, aber niemals Prompts, Code oder Dateipfade; caveman telemetry off oder DO_NOT_TRACK=1 deaktiviert dies. Auto sendet, sobald Sie sich anmelden und es auswählen, Ihre letzte Anfrage und den angehängten Kontext an Caveman Cloud, wo es im Gratis-Tarif gespeichert werden kann; caveman off routing stoppt das.

Automatisch übersetzt. Das Original auf Englisch ist unten aufklappbar.

Original (Englisch) anzeigen

Posted on Oct 15 • Originally published at devpik.com

Caveman started as a joke prompt that made Claude grunt. 111,000 stars later, the repo's own Honest Numbers page says the voice saves about 3% over "Answer concisely", and version 4.0 rebuilt the project around the tokens your agent reads instead.

Caveman began in April 2026 as a joke: a prompt that told a coding agent to answer like a caveman. Short fragments, no greeting, no recap. It reached number one on Hacker News with 904 points, ThePrimeagen's verdict on video was "No way this actually works", and the repository has since passed 111,000 stars and 6,400 forks.

The joke kept its voice and outgrew its premise. Version 4.0.0, released on 13 October 2026, reorganises the project into six parts the README calls "rocks", and only one of them is the caveman voice. The rest are a local proxy that compresses what your agent reads, a router that picks the model and reasoning effort per request, a library of reusable scripts, and smaller tools for finding where tokens go.

The whole repository is Apache-2.0. "Caveman" and the rock logo are trademarks of the author, Julius Brussee.

The most interesting file in the repo is not the skill. It is a page titled Honest Numbers, which measures the project's most famous claim and publishes the result even where it is unflattering. This article follows that thread, because it is the clearest guide to which parts of Caveman are worth installing.

npx @caveman-ai/cli@latest Enter fullscreen mode Exit fullscreen mode It finds the agents and logins on your machine, shows what it is about to change, and waits for you to press Enter. It needs Node.js 22.13 or newer. Afterwards, plain claude runs through Caveman, as do Codex, Gemini CLI, OpenCode and, per the install matrix, more than 30 other agents. It runs locally, with your own API keys or your Claude Pro or Max login.

All six are on after install. Each has its own switch, caveman off browse for example, and caveman status shows what is running. Only Auto needs an account, and the account is free.

If you only want the voice, the skill installs on its own, with no proxy and no CLI:

npx skills add JuliusBrussee/caveman -g Enter fullscreen mode Exit fullscreen mode Type /caveman ( $caveman in Codex) if it does not start by itself, and say "stop caveman" to go back. Claude Code also has a plugin marketplace package, and Gemini CLI an extension.

This is the example the project is famous for. A normal agent explains a React re-render like this:

The reason your React component is re-rendering is likely because you're creating a new object reference on each render cycle. When you pass an inline object as a prop, React's shallow comparison sees it as a different object every time, which triggers a re-render. I'd recommend using useMemo to memoize the object.

New object ref each render, so React re-renders. Wrap the prop in useMemo.

Same fix, 63 tokens down to 20. The README insists this is "a voice, not broken grammar", and the rules underneath are more careful than the meme suggests:

The negation rule is the one that makes terse output safe. Compress "do not run this against production" carelessly and you get "run against production". The rules protect those words explicitly.

There are three intensities. /caveman gives the 20-token answer above, /ultracave drops to 14 ("Inline object prop, new ref, re-render. useMemo."), and /megacave answers in Classical Chinese for 13 tokens, which is the most compressed and least readable of the three.

Here is the table the repo publishes for ten developer questions on claude-opus-5-5:

Read the first two rows before the last two. A plain two-word instruction takes the total from 6,983 to 4,334, about 38%, and the repo itself calls "be concise" the real baseline because current models already know how to do it. On top of that baseline, /caveman cuts 3% more at the median. /ultracave cuts 35% more, which is the variant that measurably goes further, at a real cost in readability.

The caveats are printed next to the numbers: ten questions, a single run, output length only, measured on the 3.1.0 rules and not yet re-run since. The rules themselves cost about 1,160 tokens of input.

The GitHub tagline still says the project "cuts 65% of tokens". The Honest Numbers page notes that earlier releases of the stats command applied a fixed 65% output ratio with no committed, reviewed result behind it. Current reports ignore those historical estimates, and the statusline no longer displays a savings figure at all.

It is unusual for a project at this scale to walk back its own headline number in its own documentation. It is also the most useful thing in the repo, because it tells you exactly where not to expect savings.

The deeper reason the voice matters less than it looks comes from the outside A/B tests the repo collects:

Think about what a coding agent sends on each turn: the system prompt, the tool definitions, the conversation so far, every file it read and every tool result it got back. The reply is a sliver at the end of all that. Halving the sliver halves almost nothing. The repo's own summary is that output shrinks, but an agent run's bill is mostly input and cache re-reads, which an output-style rule cannot touch.

The voice does win where the reply is the bulk of the work. Adobe Research's CAVEWOMAN paper, which cites the repo, measured caveman-style output cutting cost 1.4 to 2.4 times per model across eight models and five datasets, and Elastic's remake for Elasticsearch MCP scenarios measured 63.6% fewer response tokens. Those are chat-shaped workloads.

Adobe also found the effect reverses on the other side of the conversation. Cavemanning your prompt makes answers worse, which is why Caveman never touches what you type.

The repo lists the cases where it loses outright:

What is still missing is a published quality claim. A fidelity eval exists, with fixed cases and regex checks that numbers, negations and safety wording survived compression, but no reviewed snapshot is committed. If you run your own A/B, borrow the idea: a few patterns asserting that a "not" or a version number made it through, drafted against real replies in a regex tester, catch the failure a token count never will.

If output is the sliver, input is the bill, and 4.0 puts its weight there. The proxy compresses tool output before the model sees it. The README's benchmark ran Claude Code on six large files, each hiding one record the agent had to find:

Caveman got 18 of 18 answers right. Headroom, another compression wrapper run on the same suite, got 15 of 18 at 6.7% fewer tokens.

The gap between the file column and the session column is the lesson in miniature. A supported file shrinks by about 98%, but every request still carries the system prompt, tool definitions, conversation and the Caveman skill itself, so the session moves by a third. HTML went backwards because there is no HTML compressor yet, while the skill overhead was still counted. The repo kept that red row rather than dropping it.

The compression is lossy and query-aware: the engine keeps what looks relevant to the question. Every original stays on your disk, and the agent can pull it back from a local recovery store when the compressed view is missing something. Those recovery calls were counted in the benchmark.

Read the limits before you quote 33.2%. The fixtures are deterministic 60 to 95 KB files, each burying one record in noise, which is the ideal case for a needle-finding compressor. The session run dates from August 2026 on an older engine. And the raw harness artefacts are not in the public repo, so the result cannot be reproduced from a checkout, and the repo says to treat it as a pinned report.

You can get a lossless slice of this by hand, so we measured how big. Using the same o200k tokeniser Caveman reports in, we encoded two payloads three ways:

Minifying cut 38% and 43%. The common advice to convert JSON to YAML before pasting it into a prompt beats indented JSON, but it lost to minified JSON on both shapes, because YAML keeps every key name and spends tokens on indentation instead of braces. If you paste structured data into an agent by hand, a JSON minifier is the cheapest lossless win available. Reach for a JSON to YAML converter when a human has to read the prompt, not when the bill is the point.

Auto adds a model to your agent's picker. Choose it, and Caveman picks the model and reasoning effort for each request: a big model for a hard ask, a cheaper setting for an easy one.

That is 85 real coding tasks from SWE-Interact and SWE-Together, one attempt each, at 0.46 times the cost and under half the time.

The benchmark document is more revealing than the headline, because it shows what Auto actually did. On the Claude-only pool it sent 87% of requests to Opus 5.5 at medium effort, 8% to Opus at high, and 5% to Sonnet 5.5. The saving comes mostly from lower effort, not from switching to a cheaper model, and the document says so itself: against an agent already running Opus at medium effort, expect much less, and that case has not been measured.

The other caveats are stated just as plainly. The run is interim, 85 of 169 tasks. The quality interval is about ±7 points, so the arms cannot be told apart, and on SWE-Interact alone Auto is 6 points behind. Costs are list prices from the router's catalogue, not billed amounts, and the raw trajectories are not in the repo.

The practical reading: if you run xhigh effort by habit, the first cheap experiment is lowering effort yourself. Auto is the version of that experiment that decides per request.

caveman login # free account; Auto appears in the model picker caveman providers add openai # optional: more models, on your own key Enter fullscreen mode Exit fullscreen mode It works in Claude Code, OpenCode and Codex. Any other model you pick runs exactly as picked, and without signing in there is no Auto and nothing is sent.

Code mode is the pattern of an agent writing a small script instead of making tool call after tool call, an approach both Cloudflare and Anthropic have written up. Its weakness is that the agent writes the same script every session and throws it away. On one machine, in one week, agents wrote the same script 394 times, and a Purdue study measured the habit at up to 9.57% of task cost.

Blocks keeps those scripts in your repository, checks them on every pull request, and hands them back. Eight ship with Caveman: json-peek, jsonl-stats, test-summary, first-error, wait-for, grep-defs, http-json and replace-in-file. When the agent starts typing a script a block already covers, it gets a one-line hint to use the block. It never denies or rewrites a command.

The third row is a loss: the block reads back more than a bare grep, and the row stays in the README anyway. That consistency, publishing the rows that lose, runs through the whole project.

caveman-blocks scan shows what your agents retyped this month without the script text leaving your machine, and caveman-blocks init writes the rules and the block index into your repo's AGENTS.md. Blocks is a pre-release (v0.1.0-rc.5), Python only, with no sandbox yet.

The rest of the toolkit is a set of narrower tools, most with their own numbers:

Inside the agent there are a few commands worth knowing. /caveman-commit writes a one-line Conventional Commit. /caveman-review returns one finding per line, in the form L42: 🔴 null deref. Guard it. cavecrew runs subagents that find, edit and review code and report back in caveman.

The most useful command, given everything above, is caveman trial -- claude, which A/B tests a real session on your own work. Every number on this page is someone else's workload. That one is yours.

The privacy section is specific, and it differs sharply by component:

Two things follow. Telemetry that includes your IP address is on by default in the CLI, which is worth knowing before you install it on a work machine. And Auto, the rock with the biggest headline saving, is also the one that sends your context off the machine.

The commercial side of the project is Caveman Cloud, aimed at teams building their own agents rather than using one: run tracing, evals on real traffic, and an "autopilot" that proposes cheaper changes, tests them on recorded work, and ships only when the evals hold, with you approving the pull request. The open-source CLI and skill do not require it.

It depends on which rock you came for, and the repo's own numbers make the answer unusually clear.

For the voice alone, install just the skill, but first add "Answer concisely." to your CLAUDE.md and compare. The repo's own table says that gets you most of the way, and /caveman adds about 3% on top. If you want a real further cut, /ultracave is the variant with the 35% number behind it.

If your sessions read big logs, CSVs or test output, the Read less proxy is the rock with the strongest evidence: 33.2% fewer input tokens at held accuracy on its benchmark, with the limits stated above.

If you run Opus at xhigh effort by default, Auto's saving is mostly an effort saving. Try lowering effort yourself, or let Auto decide per request, knowing it sends context to Caveman Cloud.

If you pay per request, as with GitHub Copilot, skip the voice. A shorter answer is the same request.

Whichever you pick, measure it. Run caveman trial, or compare provider-billed totals on the same task with and without Caveman, and turn it off for any workload where the bill goes up. That instruction comes from the repo itself.

Caveman became famous as a joke about grunting. What makes it worth trusting is the page that measured the grunting and reported, plainly, that it was not where the money was.

Caveman is an open-source skill and local proxy for AI coding agents, created by Julius Brussee. The skill makes the agent answer in short, caveman-style sentences while leaving code, commands and error messages exact. Since version 4.0 it also compresses tool output before the model reads it, routes requests between models and effort levels, and reuses scripts the agent writes. It works with Claude Code, Codex, Gemini CLI, OpenCode and more than 30 other agents, and is licensed Apache-2.0.

Does the caveman skill actually save tokens?

It shortens replies, but by less than the viral claim. On the repo's own test of ten developer questions, a plain "Answer concisely." instruction cut output from 6,983 to 4,334 tokens, and /caveman cut 3% more at the median, while /ultracave cut 35% more. Because output is a small share of an agent session (one analysis of 662 Claude Code sessions put it at 0.3% of all tokens), the larger savings in Caveman 4.0 come from compressing input, where the README reports 33.2% fewer input tokens on its benchmark.

Run npx @caveman-ai/cli@latest for the full toolkit. It detects your agents and logins, shows what it will change, and needs Node.js 22.13 or newer. If you only want the caveman voice, run npx skills add JuliusBrussee/caveman -g instead, then type /caveman (or $caveman in Codex) if it does not start automatically. Say "stop caveman" to switch it off.

Does caveman mode make Claude's answers worse?

Published outside tests have not found a measurable quality drop: JetBrains ran 86 coding tasks as a paired A/B and found no measurable quality loss (p = 0.82), and Elastic reported zero information loss in its remake. The rules keep negations, numbers, code and error messages exact, and switch back to full sentences for security warnings and irreversible actions. Caveman never rewrites your prompt, because Adobe Research found that compressing the prompt itself makes answers worse. The repo has not yet published its own reviewed quality snapshot.

Does Caveman help with GitHub Copilot or Cursor?

Caveman installs into Copilot, Cursor and many other agents, but the savings depend on billing. GitHub Copilot charges per premium request, so a shorter reply is the same request and the voice saves nothing there. The repo also records one Cursor A/B where token use rose from 1 million to 4.3 million with Caveman, which it could not reproduce but keeps listed as a warning. Its advice is to compare provider-billed totals with and without Caveman and turn it off where cost goes up.

The skill sends nothing, except /caveman-compress, which sends the file you compress to your own model provider. The CLI sends usage stats by default, including commands run, token counts, a random install ID, OS and IP address, but never prompts, code or file paths; caveman telemetry off or DO_NOT_TRACK=1 disables it. Auto, once you sign in and select it, sends your latest ask and attached context to Caveman Cloud, which may keep it on the free plan; caveman off routing stops that.

Originaltitel: Caveman Claude Code Skill: What It Really SavesQuelle: dev.to (dev.to). Original öffnen