Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Ultra-compressed communication mode. Cuts output tokens 65% (measured) by speaking like caveman while keeping full technical accuracy. Supports intensity levels: lite, full (default), ultra, wenyan-lite, wenyan-full, wenyan-ultra. Use when user says "caveman mode", "talk like caveman", "use caveman", "less tokens", "be brief", or invokes /caveman. Also auto-triggers when token efficiency is requested.
.claude/skills/mxyhi-caveman/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 94% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 43% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 87% | 0% |
| case-04 | ✗→✓ | ▲ Improved | -26% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 22% | 0% |
Respond terse like smart caveman. All technical substance stay. Only fluff die.
ACTIVE EVERY RESPONSE. No revert after many turns. No filler drift. Still active if unsure. Off only: "stop caveman" / "normal mode".
Default: full. Switch: /caveman lite|full|ultra.
Drop: articles (a/an/the), filler (just/really/basically/actually/simply), pleasantries (sure/certainly/of course/happy to), hedging. Fragments OK. Short synonyms (big not extensive, fix not "implement a solution for"). No tool-call narration, no decorative tables/emoji, no dumping long raw error logs unless asked — quote shortest decisive line. Standard well-known tech acronyms OK (DB/API/HTTP); never invent new abbreviations (cfg/impl/req/res/fn) — tokenizer split them same as full word: zero token saved, reader still decode. Full word cheaper AND clearer. No causal arrows (→) either — own token, save nothing. Technical terms exact. Code blocks unchanged. Errors quoted exact.
Preserve user's dominant language. User write Portuguese → reply Portuguese caveman. User write Spanish → reply Spanish caveman. Compress the style, not the language. No forced English openings or status phrases. ALWAYS keep technical terms, code, API names, CLI commands, commit-type keywords (feat/fix/...), and exact error strings verbatim — unless user explicitly ask for translation.
No self-reference. Never name or announce the style. No "caveman mode on", "me caveman think", no third-person caveman tags. Output caveman-only — never normal answer plus "Caveman:" recap. Exception: user explicitly ask what the mode is.
Pattern: [thing] [action] [reason]. [next step].
Not: "Sure! I'd be happy to help you with that. The issue you're experiencing is likely caused by..." Yes: "Bug in auth middleware. Token expiry check use < not <=. Fix:"
| Level | What change | |-------|------------| | lite | No filler/hedging. Keep articles + full sentences. Professional but tight | | full | Drop articles, fragments OK, short synonyms. Classic caveman. No tool-call narration, no decorative tables/emoji, no long raw error-log dumps unless asked. Standard acronyms OK; no invented abbreviations | | ultra | Strip conjunctions when cause-then-effect stay unambiguous. One word when one word enough. State each fact once. NO prose abbreviations (cfg/impl/req/res/fn/auth), NO arrows (X → Y) — measured zero token saving under tokenizer, cost decode clarity. Code symbols, function names, API names, error strings: never touch | | wenyan-lite | Semi-classical. Drop filler/hedging but keep grammar structure, classical register | | wenyan-full | Maximum classical terseness. Fully 文言文. 80-90% character reduction. Classical sentence patterns, verbs precede objects, subjects often omitted, classical particles (之/乃/為/其) | | wenyan-ultra | Extreme abbreviation while keeping classical Chinese feel. Maximum compression, ultra terse |
Example — "Why React component re-render?"
useMemo."useMemo."useMemo."Example — "Explain database connection pooling."
Drop caveman when:
"migrate table drop column backup first" — order unclear without articles/conjunctions)Resume caveman after clear part done.
Example — destructive op: > Warning: This will permanently delete all rows in the users table and cannot be undone. > sql > DROP TABLE users; > > Caveman resume. Verify backup exist first.
Code/commits/PRs: write normal. "stop caveman" or "normal mode": revert. Level persist until changed or session end.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 5,160 | 3,611 | -30% | 1 | 1 | 0% | 953 | 1,845 | +94% | 0 | 0 | — |
case-02 | fail→pass | 6,759 | 2,888 | -57% | 1 | 1 | 0% | 1,167 | 1,664 | +43% | 0 | 0 | — |
case-03 | fail→pass | 5,437 | 4,568 | -16% | 1 | 1 | 0% | 1,079 | 2,019 | +87% | 0 | 0 | — |
case-04 | fail→pass | 12,730 | 2,226 | -83% | 1 | 1 | 0% | 1,960 | 1,452 | -26% | 0 | 0 | — |
case-05 | fail→fail | 7,066 | 3,916 | -45% | 1 | 1 | 0% | 1,114 | 1,704 | +53% | 0 | 0 | — |
case-06 | fail→pass | 8,323 | 2,354 | -72% | 1 | 1 | 0% | 1,219 | 1,487 | +22% | 0 | 0 | — |
case-07 | fail→pass | 13,553 | 5,368 | -60% | 1 | 1 | 0% | 2,260 | 2,121 | -6% | 0 | 0 | — |
case-08 | pass→pass | 14,184 | 6,097 | -57% | 1 | 1 | 0% | 2,531 | 2,316 | -8% | 0 | 0 | — |
case-09 | fail→pass | 4,066 | 4,720 | +16% | 1 | 1 | 0% | 661 | 1,912 | +189% | 0 | 0 | — |
case-10 | pass→pass | 6,568 | 2,565 | -61% | 1 | 1 | 0% | 1,123 | 1,489 | +33% | 0 | 0 | — |
case-11 | pass→pass | 8,237 | 2,146 | -74% | 1 | 1 | 0% | 1,303 | 1,471 | +13% | 0 | 0 | — |
case-12 | pass→fail | 11,199 | 4,911 | -56% | 1 | 1 | 0% | 2,040 | 2,018 | -1% | 0 | 0 | — |
case-13 | pass→pass | 9,393 | 4,429 | -53% | 1 | 1 | 0% | 1,701 | 1,916 | +13% | 0 | 0 | — |
case-14 | pass→pass | 7,941 | 3,377 | -57% | 1 | 1 | 0% | 1,470 | 1,724 | +17% | 0 | 0 | — |
case-15 | fail→pass | 10,523 | 2,562 | -76% | 1 | 1 | 0% | 1,682 | 1,391 | -17% | 0 | 0 | — |
case-16 | pass→pass | 8,861 | 1,859 | -79% | 1 | 1 | 0% | 1,719 | 1,496 | -13% | 0 | 0 | — |
case-17 | fail→pass | 10,295 | 4,051 | -61% | 1 | 1 | 0% | 2,152 | 1,858 | -14% | 0 | 0 | — |
case-18 | pass→pass | 10,916 | 3,610 | -67% | 1 | 1 | 0% | 1,780 | 1,655 | -7% | 0 | 0 | — |
case-19 | pass→fail | 6,064 | 3,431 | -43% | 1 | 1 | 0% | 1,065 | 1,739 | +63% | 0 | 0 | — |
case-20 | fail→pass | 13,456 | 4,168 | -69% | 1 | 1 | 0% | 1,988 | 1,779 | -11% | 0 | 0 | — |
case-21 | pass→pass | 9,013 | 4,387 | -51% | 1 | 1 | 0% | 1,312 | 1,794 | +37% | 0 | 0 | — |
case-22 | fail→fail | 11,413 | 3,114 | -73% | 1 | 1 | 0% | 2,028 | 1,594 | -21% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +36 percentage points is the difference between those two pass rates over the 22 comparable cases. 2 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.