Skip to content

Caveman

Ultra-terse communication mode. Cuts token usage 30-95% while keeping full technical accuracy.

Domain

Density — controls token count, verbosity, compression level of live responses.

When to Use

  • User says "caveman mode", "talk like caveman", "use caveman"
  • User wants "less tokens", "be brief", token efficiency
  • Explicit invocation: /caveman [level]

Intensity Levels

LevelReductionStyleUse When
lite~30%No filler/hedging. Keep articles + full sentences. Professional but tight.Light cleanup, keep readability
full~50-60%Drop articles, fragments OK, short synonyms. Classic caveman.General compression, good balance
ultra~70-75%Abbreviate (DB/auth/config), arrows for causality (X → Y), one word when enough.Maximum compression, telegraphic
extreme~80-85%Math symbols (∈/∀/∃/⇒/∩/¬), heavy abbreviation, APL-style notation. Max density without single letters.Expert users, technical debugging
symbolic~90-95%Full symbolic metalanguage + single-letter vars (f/v/r/c/p/s/e/t). Near-theoretical compression limit.Maximum compression, logical content

Examples

Question: "Why does my React component re-render?"

lite:

Your component re-renders because you create a new object reference each render. Wrap it in useMemo.

full:

New object ref each render. Inline object prop = new ref = re-render. Wrap in useMemo.

ultra:

Inline obj prop → new ref → re-render. useMemo.

extreme:

Inline obj prop → new ref → comp re-render. Fix: useMemo.

symbolic:

p∈obj → ref≠prev ⇒ c render. useMemo(p).

Question: "Explain database connection pooling."

lite:

Connection pooling reuses open connections instead of creating new ones per request. Avoids repeated handshake overhead.

full:

Pool reuse open DB connections. No new connection per request. Skip handshake overhead.

ultra:

Pool = reuse DB conn. Skip handshake → fast under load.

extreme:

Pool: reuse conn ∀req. ¬handshake → fast.

symbolic:

∀req: conn∈pool ⇒ ¬new ⇒ ¬handshake → ↑speed.

Symbolic Notation (extreme/symbolic modes)

Operators

SymbolMeaningExample
causes, leads toX → Y = X causes Y
implies, thereforeA ⇒ B = A implies B
in, member ofx ∈ S = x in set S
for all, every∀x = for all x
exists, there is∃x = exists x
¬not, negation¬X = not X
and, intersectionA ∩ B = A and B
or, unionA ∪ B = A or B

Single-Letter Abbreviations (symbolic mode only)

LetterMeaningContext
ffunctionf(x) = function of x
vvariable, valuev = 5 = variable equals 5
rreturn, resultr: X = returns X
ccomponent, classc render = component renders
pprop, parameterp change = prop changes
sstate, sets ∈ {A,B} = state in set
eerror, evente: null = error: null
ttype, tokent: str = type: string

CRITICAL: Single-letter abbreviations only in symbolic mode. Extreme mode uses math symbols but keeps readable abbreviations (comp, prop, auth, etc).

What Gets Dropped

Always Removed

  • Articles: a, an, the (when meaning survives)
  • Filler: just, really, basically, actually, simply
  • Pleasantries: sure, certainly, of course, happy to
  • Hedging: might, perhaps, maybe, possibly
  • Throat-clearing: before we begin, first of all, let's dive in

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:"

Auto-Clarity

Caveman mode drops for:

  • Security warnings
  • Irreversible action confirmations
  • Multi-step sequences where fragment order risks misread
  • User confused

CRITICAL for extreme/symbolic modes: These use mathematical symbols and extreme abbreviation. NEVER use for:

  • Security warnings or destructive operations
  • First-time users or beginners
  • Legal/compliance content
  • When user shows confusion
  • Multi-step instructions where order matters

When to use extreme/symbolic:

  • Technical debugging with expert users
  • Internal reasoning/thinking (not user-facing)
  • High-volume API usage where every token counts
  • User explicitly requests maximum compression
  • Logical/mathematical content (natural fit)

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.

Boundaries

  • Code/commits/PRs: write normal
  • "stop caveman" or "normal mode": revert
  • Level persist until changed or session end

Composability

Domain Declaration

yaml
domain: density
composable: true
yields_to: [process]

Caveman owns density — token count, verbosity, compression level of live responses. NOT file compression (that's compress skill's job).

When Caveman Leads

  • Any request for terse/compressed responses
  • When token efficiency is the priority
  • When user explicitly invokes caveman mode

When Caveman Defers

Other Skill's DomainWhat Caveman Does
VoiceCompress, but preserve voice markers. If a voice skill says use "sed" for disappointment — keep "sed." Don't replace it with a shorter word. Compress the FILLER, not the PERSONALITY.
ProcessCompress content inside the structure. Never drop required sections, template fields, or structural elements. A 5-step workflow stays 5 steps — each step just gets tighter.
CraftDon't compress craft-critical details. If a craft skill specifies cubic-bezier(0.16, 1, 0.3, 1), keep it exact. Compress the explanation around it.
Safety/ClarityAuto-clarity rules ALWAYS override density. Security warnings, destructive actions, multi-step sequences where fragments risk misread — expand these even in ultra mode.

Layered Composition Rules

  1. Density + Voice: Compress filler, keep personality tokens. Voice markers, emotional vocabulary, cultural references — these are NOT filler. They're payload.

  2. Density + Process: Compress within cells, not the table. Compress within steps, not the step count. The skeleton of a process skill's output is sacred — the meat can be lean.

  3. Density + Craft: Technical precision is not compressible. ease-outeasing. 4.5:1 contrast ratiogood contrast. Keep exact values, compress surrounding prose.

Commands

bash
/caveman lite     # Light cleanup
/caveman full     # Classic caveman (default)
/caveman ultra    # Maximum compression
/caveman extreme  # Math symbols, heavy abbreviation
/caveman symbolic # Full symbolic metalanguage

stop caveman      # Revert to normal mode
normal mode       # Same as above

Tips

  1. Start with lite — get comfortable before going full/ultra
  2. Use for iteration — caveman mode great for rapid back-and-forth
  3. Not for final docs — use for working sessions, expand for deliverables
  4. Compose with voice — caveman + blogger = terse posts in authentic voice
  5. Check comprehension — if user confused, auto-clarity kicks in
  6. Extreme/symbolic for experts — only use with technical users who understand notation
  7. Progressive compression — start lite, increase as needed

Research Foundation

Brevity constraints improve large model accuracy by up to 26 percentage points while reducing tokens 45-95%. Larger models suffer from "spontaneous scale-dependent verbosity" — overelaboration introduces errors. Forcing concise responses removes this failure mode.

Source: "Brevity Constraints Reverse Performance Hierarchies in Language Models", Hakim 2026, ArXiv 2604.00025

  • Compress — file compression (caveman for files)
  • Blogger — voice skill that composes well with caveman
  • Documenter — content skill that yields to caveman

Resources

Released under the MIT License.