Caveman Intensity Levels Explained: Lite, Full, and Ultra Modes
The caveman skill provides six intensity levels that control text compression, where lite removes filler and hedging while keeping articles, full drops articles and allows fragments, and ultra strips conjunctions to achieve maximum terseness including single-word responses when context permits.
The caveman repository implements a token-saving compression mode that transforms assistant replies into terse, "caveman" style output. Understanding the caveman intensity levels helps you control exactly how much compression is applied to your session, from minimal cleanup to extreme abbreviation. The mode persists for the entire session until disabled or changed.
The Six Caveman Intensity Levels
According to the skill definition in skills/caveman/SKILL.md, the system defines six distinct intensity levels that determine how aggressively the assistant compresses its responses:
- lite – Removes filler words and hedging language while keeping articles and full sentences. Output remains professional but significantly tighter.
- full – The default level. Drops articles entirely, allows sentence fragments, and substitutes shorter synonyms. This produces the classic "caveman" style.
- ultra – Strips conjunctions when cause-and-effect relationships remain clear, preferring single words when possible. Does not use invented abbreviations or arrows.
- wenyan-lite – Semi-classical Chinese register that maintains grammar structure while dropping filler and hedging.
- wenyan-full – Full classical Chinese terseness achieving approximately 80-90% character reduction using classical particles and word order.
- wenyan-ultra – Extreme abbreviation while preserving the classical Chinese feel.
Lite vs Full vs Ultra: Key Differences
The standard caveman intensity levels (lite, full, and ultra) represent a progression from light editing to extreme compression.
Lite Mode
Lite serves as the entry point for token-saving compression. According to the Intensity table in skills/caveman/SKILL.md, this level removes filler phrases and hedging language (such as "I think," "perhaps," or "it seems that") while preserving grammatical articles and complete sentence structures. The output remains professional and readable, simply tighter than standard prose.
Full Mode (Default)
Full is the default intensity when activating caveman mode. As implemented in the skill logic, this level drops articles (a, an, the), permits sentence fragments, and actively substitutes synonyms with shorter alternatives. This creates the recognizable "caveman" aesthetic—terse, direct, and grammatically unconventional while remaining understandable.
Ultra Mode
Ultra represents maximum compression. The skill strips conjunctions (and, but, because) when the logical relationship between concepts remains obvious without them. When context permits, ultra mode prefers single-word responses and eliminates any extraneous punctuation or formatting. The constraints specifically prohibit invented abbreviations or arrow symbols, ensuring the compression uses legitimate language reductions only.
How to Switch Intensity Levels
You activate and switch between caveman intensity levels using the slash command defined in src/plugins/opencode/commands/caveman.md. The command accepts the level name as an argument, storing the selection in a persistent flag file for the session.
# Activate a specific intensity
/caveman lite # lighter compression (default is full)
/caveman full # classic caveman style (default)
/caveman ultra # maximum terse compression
/caveman wenyan-lite # semi-classical Chinese
/caveman off # disable caveman mode
If you invoke /caveman without arguments, the system defaults to full intensity.
Implementation Details
The core logic that validates and persists intensity levels resides in src/plugins/opencode/plugin.js. When you issue a command, the handler extracts the level argument, validates it against the supported options, and writes the state to a flag file.
// Inside a plugin handler (simplified)
if (command === '/caveman') {
const level = args[0] || 'full';
if (level === 'off') deactivateCaveman();
else setCavemanLevel(level); // writes the flag file
}
The current intensity level is stored in a .caveman-active flag file in your working directory. The src/hooks/caveman-mode-tracker.js hook reads this file to emit reminders and track the active mode across conversation turns.
# Detecting the current level (used by the mode-tracker hook)
from pathlib import Path
flag_path = Path('.caveman-active')
current = flag_path.read_text().strip() # e.g. "ultra"
Summary
- Lite removes filler and hedging while keeping full sentences and articles—ideal for professional contexts requiring conciseness.
- Full (default) drops articles and allows fragments, creating the classic "caveman" style through synonym substitution.
- Ultra strips conjunctions and prefers single-word responses when context permits, maximizing token savings without inventing abbreviations.
- Switch levels using
/caveman <level>with validation handled insrc/plugins/opencode/plugin.js. - The setting persists in
.caveman-activeand applies to the entire session until changed or disabled with/caveman off.
Frequently Asked Questions
What is the default caveman intensity level?
The default intensity is full. If you activate caveman mode using /caveman without specifying a level argument, the system automatically selects full as defined in the command handler logic in src/plugins/opencode/plugin.js.
How do I switch between lite, full, and ultra modes?
Use the slash command /caveman followed by your desired intensity level: /caveman lite, /caveman full, or /caveman ultra. The change takes effect immediately for all subsequent assistant replies in the current session. The command specification is documented in src/plugins/opencode/commands/caveman.md.
What are the wenyan intensity levels?
The wenyan variants (wenyan-lite, wenyan-full, wenyan-ultra) apply the same compression principles as the standard levels but using classical Chinese registers. These levels achieve 80-90% character reduction while maintaining classical Chinese grammar structures and particles, as defined in the intensity table in skills/caveman/SKILL.md.
Where is the current intensity level stored?
The active intensity level is stored in a file named .caveman-active in the current working directory. The src/hooks/caveman-mode-tracker.js hook reads this flag file to determine which compression rules to apply, while src/plugins/opencode/plugin.js handles writing the file when you change levels.
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 →