# Caveman Intensity Levels Explained: Lite, Full, and Ultra Modes

> Understand caveman intensity levels lite full and ultra. Learn how each mode transforms text compression for maximum terseness and efficiency in your responses.

- Repository: [Julius Brussee/caveman](https://github.com/JuliusBrussee/caveman)
- Tags: deep-dive
- Published: 2026-07-12

---

**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`](https://github.com/JuliusBrussee/caveman/blob/main/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`](https://github.com/JuliusBrussee/caveman/blob/main/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`](https://github.com/JuliusBrussee/caveman/blob/main/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.

```markdown

# 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`](https://github.com/JuliusBrussee/caveman/blob/main/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.

```javascript
// 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`](https://github.com/JuliusBrussee/caveman/blob/main/src/hooks/caveman-mode-tracker.js) hook reads this file to emit reminders and track the active mode across conversation turns.

```python

# 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 in [`src/plugins/opencode/plugin.js`](https://github.com/JuliusBrussee/caveman/blob/main/src/plugins/opencode/plugin.js).
- The setting persists in `.caveman-active` and 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`](https://github.com/JuliusBrussee/caveman/blob/main/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`](https://github.com/JuliusBrussee/caveman/blob/main/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`](https://github.com/JuliusBrussee/caveman/blob/main/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`](https://github.com/JuliusBrussee/caveman/blob/main/src/hooks/caveman-mode-tracker.js) hook reads this flag file to determine which compression rules to apply, while [`src/plugins/opencode/plugin.js`](https://github.com/JuliusBrussee/caveman/blob/main/src/plugins/opencode/plugin.js) handles writing the file when you change levels.