A month in caveman mode
Around 1am on a Tuesday in June, deep in a bisect that refused to converge, I got tired of my agent narrating. Every command earned a paragraph. "Great, now that we've confirmed the module loads correctly, the next logical step is to verify..." I'd written about Caveman as an interesting cost lever a month earlier, so I flipped it on mid-session, mostly out of spite.
The next reply was four lines. All four mattered. I finished the bisect twenty minutes later and sat there feeling vaguely insulted on behalf of every paragraph I'd ever read.
Where the tokens actually went
I assumed the savings would come from the obvious place: shorter answers, output tokens cost 3–5× input, done. That's real: my session stats put the output reduction somewhere around two-thirds, right in line with what the skill claims.
But the bigger effect showed up somewhere I didn't expect: session length. My context window stopped filling with my agent's own commentary. Conversations that used to force a compact around 2pm now run to end of day. The agent quoting its own earlier verbosity back into every turn was a tax I'd been paying twice.
The subagent variant compounds it. Caveman ships crew agents: an investigator that returns file:line tables instead of essays, a reviewer that emits one line per finding. Delegated searches come back about 60% smaller, which means the main session absorbs conclusions, not transcripts. Same idea as subagent context isolation, just with the compression turned up.
The filler wasn't politeness. It was load-bearing vagueness, and deleting it deleted the vagueness too.
That's the uncomfortable part. Forced to drop hedging, the model commits: this line, this fix. When it's wrong, it's wrong visibly and fast, which beats being wrong under three layers of "it's likely that". The Caveman repo cites research on brevity constraints improving accuracy, and after a month I believe it in my bones: terse answers are easier to falsify, so bad ones die sooner.
When I turn it off
Three cases, learned the hard way.
Incident writeups: fragments read as panic when a human on-call reads them at 3am. Onboarding anything. A junior needs the connective tissue, that's what teaching is. And security warnings, where the skill itself refuses to compress, correctly. Ultra mode has an auto-clarity escape hatch for exactly these, but I've stopped relying on it and just switch modes deliberately, the way you'd shift registers between a commit message and a design doc.
One colleague saw my terminal over a screen-share and asked if the model was broken. Fifteen minutes later he asked how to turn it on.
The verdict
Caveman is the cheapest lever in my token stack (it costs one skill install and a day of feeling weird). It pairs beautifully with Ponytail, which does to code what this does to prose; run both and agent output gets almost suspiciously small.
I wouldn't recommend it for a customer-facing bot. For the private channel between an engineer and their agent, where every word is either signal or expensive noise, I'm not going back. Why use many token when few token do trick — I laughed at that line in May. It's July and it's just how my terminal talks now.