Caveman AI Communication Intensity Levels: Complete Guide to Claude Compression Modes

TLDR: The Caveman plugin for Claude implements six communication intensity levels—from lite (professional brevity) to wenyan-ultra (extreme Classical Chinese compression)—that control how aggressively the model strips filler words and syntax, with rules defined in skills/caveman/README.md and applied at runtime by src/hooks/caveman-activate.js.

Caveman, an open-source project by JuliusBrussee, transforms Claude's natural language outputs into high-density, "caveman-style" prose. The system relies on Caveman AI communication intensity levels to precisely regulate the balance between verbosity and compression without sacrificing technical accuracy or code integrity.

What Are Caveman AI Communication Intensity Levels?

Intensity levels are discrete configuration presets that determine the degree of linguistic compression applied to Claude's responses. Each level maintains a strict contract: preserve all code blocks, exact error strings, and technical semantics while reducing syntactic overhead according to predefined rules.

The levels operate on a spectrum from minimal intervention to radical abbreviation:

  • lite – Removes filler words and hedging language but retains complete sentence structures and professional tone.
  • full – The default mode. Strips articles, permits sentence fragments, and replaces polysyllabic words with concise synonyms.
  • ultra – Emits bare fragments, heavy abbreviations (e.g., DB for database, auth for authentication), and arrow-based causality notation.
  • wenyan-lite – Applies light compression using Classical Chinese register and vocabulary.
  • wenyan-full – Maximizes character reduction (80–90% compression) through dense Classical Chinese prose.
  • wenyan-ultra – Extreme Classical Chinese compression with minimal syntactic markers.

How Intensity Levels Are Stored and Applied

The intensity definitions reside in the skill documentation at skills/caveman/README.md, which serves as the canonical rule repository. At runtime, the system does not load the entire rule table; instead, it filters for the specific active level to prevent context contamination.

Runtime Activation Process

When a Claude session initializes, src/hooks/caveman-activate.js executes the following sequence:

  1. Determine Mode: Calls getDefaultMode() from src/hooks/caveman-config.js to identify the active intensity level from user configuration.
  2. Load Rules: Reads the canonical skill definition (conceptually referred to as SKILL.md in the activation logic) containing the complete intensity matrix.
  3. Filter Table: Isolates the header rows and the specific row matching the active level, discarding unused intensity rules to ensure the model receives only the relevant constraints.
  4. Emit Banner: Outputs a status line such as CAVEMAN MODE ACTIVE — level: ultra followed by the filtered rule block to Claude's context window.

If the skill file is missing—for example, in standalone installations without the skills/ directory—the hook falls back to a hard-coded minimal rule set that respects the chosen intensity while maintaining core functionality.

Configuration Persistence

User preferences are stored in the Claude configuration directory at $CLAUDE_CONFIG_DIR/.caveman-active. Helper utilities in src/hooks/caveman-config.js—including safeWriteFlag() and recordModeChange()—manage atomic writes to this flag file, ensuring that mode transitions persist across sessions without corruption.

Switching Between Levels Using Slash Commands

Caveman exposes a slash-command interface defined in commands/caveman.toml. Users trigger intensity changes directly in chat:

/caveman              # Activates default "full" mode

/caveman lite         # Switches to lite compression

/caveman ultra        # Activates ultra fragmentation

/caveman wenyan       # Defaults to wenyan-full

/caveman wenyan-lite  # Light Classical Chinese mode

/caveman wenyan-ultra # Extreme Classical Chinese compression

stop caveman          # Disables compression and returns to standard prose

When a command is issued, the plugin updates the active flag file immediately. On the next session start, caveman-activate.js reads this flag and emits the corresponding filtered rule set, ensuring the model consistently applies the new intensity level.

Auto-Clarity Safety Mechanisms

Caveman implements an Auto-Clarity rule that temporarily suspends compression when ambiguity would create operational risk. According to the rule definitions in skills/caveman/README.md, the system automatically reverts to standard prose for:

  • Security warnings and irreversible-action confirmations
  • Multi-step sequences where fragmented syntax could cause misinterpretation
  • User requests for explicit clarification

After the critical section passes, the plugin automatically resumes the configured intensity level without requiring manual intervention.

Summary

  • Six intensity levels control Caveman's compression: lite, full (default), ultra, wenyan-lite, wenyan-full, and wenyan-ultra.
  • Rules are defined in skills/caveman/README.md and filtered at runtime by src/hooks/caveman-activate.js to emit only the active level's constraints.
  • Mode persistence uses $CLAUDE_CONFIG_DIR/.caveman-active, managed by helper functions in src/hooks/caveman-config.js.
  • Users switch levels via slash commands defined in commands/caveman.toml.
  • Auto-Clarity automatically disables compression for security warnings and complex sequences, then resumes automatically.

Frequently Asked Questions

What is the default Caveman intensity level?

The default intensity level is full, which strikes a balance between compression and readability by removing articles and allowing sentence fragments while maintaining clear technical communication. When you run /caveman without arguments, the activation hook calls getDefaultMode() and applies this preset.

How does Caveman handle code blocks and technical content?

Caveman preserves all code blocks, exact error strings, and technical semantics regardless of intensity level. The compression rules in skills/caveman/README.md explicitly exempt structured data, syntax, and precise error messages from abbreviation, ensuring that ultra mode compresses explanatory prose but never mangles a stack trace or API call.

What happens if the skill file is missing?

If skills/caveman/README.md cannot be located—such as in minimal installations—the activation hook in src/hooks/caveman-activate.js falls back to a hard-coded minimal rule set. This fallback respects the chosen intensity level (lite, full, or ultra) but uses embedded defaults rather than the full skill documentation, ensuring the plugin remains functional even without the complete repository structure.

Can I use Chinese language compression with Caveman?

Yes. The wenyan family of intensity levels (wenyan-lite, wenyan-full, wenyan-ultra) utilizes Classical Chinese (文言文) registers to achieve 80–90% character reduction. These levels follow the same activation pattern as English modes and are triggered via /caveman wenyan or its specific variants, with rules filtered by the same activation hook in src/hooks/caveman-activate.js.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →