How to Adjust the Intensity Level of the Caveman Skill: A Complete Guide
You adjust the Caveman skill intensity by running slash commands like /caveman lite, /caveman full, or /caveman ultra, which updates a hidden flag file that the activation hook reads on every session start.
The Caveman skill in the JuliusBrussee/caveman repository provides configurable compression levels that control how aggressively the model prunes filler words and hedging from responses. Adjusting the intensity level lets you balance conciseness against conversational flow without losing technical accuracy.
Understanding Caveman Skill Intensity Levels
The available intensity levels are defined in [skills/caveman/SKILL.md] at line 17. Each level represents a specific compression strategy:
| Level | Compression Behavior |
|---|---|
| lite | Light compression removing approximately 30% of tokens. |
| full | Default classic "caveman" style that drops articles and hedging while preserving meaning. |
| ultra | Maximum compression stripping all possible verbiage. |
| wenyan-lite | Lite compression applied to Classical Chinese (Wen-Yan) phrasing. |
| wenyan-full | Full compression in Wen-Yan style. |
| wenyan-ultra | Maximum compression for Wen-Yan output. |
| off | Completely deactivates the skill. |
The "Default: full" setting is explicitly declared in the skill manifest, with the switch syntax documented as /caveman lite|full|ultra|wenyan-lite|wenyan-full|wenyan-ultra|off.
How the Intensity System Works Behind the Scenes
Three core components manage the intensity level lifecycle. Understanding their interaction helps troubleshoot configuration issues.
Session Activation Hook
src/hooks/caveman-activate.js handles the initial skill setup at session start. At line 311, this hook writes the current intensity to ~/.claude/.caveman-active (or ~/.config/caveman/.caveman-active for Opencode users), then emits only the specific ruleset row matching that intensity level.
Mode Tracker Hook
src/hooks/caveman-mode-tracker.js monitors user prompts in real-time. It detects both explicit /caveman commands and natural-language triggers like "talk like caveman," then updates the flag file immediately so subsequent responses use the new intensity.
OpenClaw Bootstrap Configuration
For OpenClaw installations, src/rules/caveman-openclaw-bootstrap.md documents the default intensity (full) and switch syntax at line 10. This ensures fresh installs inherit the standard compression behavior unless overridden.
Methods to Adjust the Intensity Level
You can change the Caveman skill intensity through four distinct interfaces depending on your workflow.
Using Slash Commands
The most direct method uses the command template defined in src/plugins/opencode/commands/caveman.md. Type any of the following in your chat interface:
/caveman lite # Switch to light compression
/caveman ultra # Enable maximum compression
/caveman off # Disable the skill entirely
/caveman wenyan-full # Classical Chinese full compression
These commands work in Claude, Opencode, and any UI that respects the slash-command protocol.
Natural Language Triggers
The mode tracker also recognizes conversational phrases. Saying "turn on caveman," "talk like caveman," or "stop caveman" triggers the same intensity updates as formal commands, making the adjustment accessible without memorizing syntax.
Manual Configuration
For automation or debugging, edit the flag file directly:
echo "ultra" > ~/.claude/.caveman-active
# Or for Opencode:
echo "lite" > ~/.config/caveman/.caveman-active
The next session start will read this value and apply the corresponding intensity ruleset.
Programmatic Updates
In Node.js environments, you can adjust intensity dynamically:
const fs = require('fs');
const flagPath = `${process.env.HOME}/.claude/.caveman-active`;
fs.writeFileSync(flagPath, 'wenyan-lite');
// Next session will use wenyan-lite intensity
Summary
- The JuliusBrussee/caveman repository defines seven intensity levels ranging from
lite(~30% compression) toultra(maximum stripping) including Classical Chinese variants. - The active intensity persists in
~/.claude/.caveman-active(or the Opencode equivalent path) and is read bycaveman-activate.jsat session start. - Use
/caveman [level]commands or natural language to change intensity mid-conversation. - Manual file edits and programmatic writes offer automation for scripted environments.
Frequently Asked Questions
What is the default intensity level for the Caveman skill?
The default intensity is full, as specified in skills/caveman/SKILL.md and documented in src/rules/caveman-openclaw-bootstrap.md at line 10. This level removes articles and filler words while maintaining technical precision.
How do I completely disable the Caveman skill?
Run /caveman off or manually write off to the flag file: echo "off" > ~/.claude/.caveman-active. The caveman-mode-tracker.js hook processes this value and prevents the activation hook from emitting any compression rules in subsequent sessions.
What is the difference between full and ultra intensity?
Full intensity applies classic "caveman" compression that targets articles, hedging, and filler words while preserving grammatical structure. Ultra intensity applies maximum compression logic that removes as much verbiage as possible, potentially creating more telegraphic output at the cost of readability.
Where is the intensity setting stored on disk?
The active intensity is stored in a hidden flag file located at ~/.claude/.caveman-active for standard Claude installations, or ~/.config/caveman/.caveman-active when using Opencode. The caveman-activate.js hook reads this path at line 311 to determine which ruleset to emit.
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:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →