/ Directory / Playground / Caveman
● Community JuliusBrussee ⚡ Instant

Caveman

by JuliusBrussee · JuliusBrussee/caveman

Caveman cuts Claude's output tokens ~65% by stripping filler words while preserving technical accuracy — faster, cheaper, still correct.

Caveman is a Claude Code skill (with ports to Cursor, Codex, Gemini, Windsurf, Cline, Copilot) that enforces a terse output style. Three intensity levels: Lite (professional terseness), Full (default), Ultra (maximum compression), plus a 文言文 / Classical Chinese mode. Ships with sub-skills: /caveman-commit (one-line commit messages), /caveman-review (single-line PR comments), /caveman-compress (trim memory files by ~46%). Benchmarks show ~65% token savings on diverse tasks with accuracy preserved.

Why use it

Key features

Live Demo

What it looks like in practice

caveman-skill.replay ▶ ready
0/0

Install

Pick your client

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "caveman-skill": {
      "command": "claude",
      "args": [
        "plugin",
        "marketplace",
        "add",
        "JuliusBrussee/caveman"
      ],
      "_inferred": false
    }
  }
}

Open Claude Desktop → Settings → Developer → Edit Config. Restart after saving.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "caveman-skill": {
      "command": "claude",
      "args": [
        "plugin",
        "marketplace",
        "add",
        "JuliusBrussee/caveman"
      ],
      "_inferred": false
    }
  }
}

Cursor uses the same mcpServers schema as Claude Desktop. Project config wins over global.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "caveman-skill": {
      "command": "claude",
      "args": [
        "plugin",
        "marketplace",
        "add",
        "JuliusBrussee/caveman"
      ],
      "_inferred": false
    }
  }
}

Click the MCP Servers icon in the Cline sidebar, then "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "caveman-skill": {
      "command": "claude",
      "args": [
        "plugin",
        "marketplace",
        "add",
        "JuliusBrussee/caveman"
      ],
      "_inferred": false
    }
  }
}

Same shape as Claude Desktop. Restart Windsurf to pick up changes.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "caveman-skill",
      "command": "claude",
      "args": [
        "plugin",
        "marketplace",
        "add",
        "JuliusBrussee/caveman"
      ]
    }
  ]
}

Continue uses an array of server objects rather than a map.

~/.config/zed/settings.json
{
  "context_servers": {
    "caveman-skill": {
      "command": {
        "path": "claude",
        "args": [
          "plugin",
          "marketplace",
          "add",
          "JuliusBrussee/caveman"
        ]
      }
    }
  }
}

Add to context_servers. Zed hot-reloads on save.

claude mcp add caveman-skill -- claude plugin marketplace add JuliusBrussee/caveman

One-liner. Verify with claude mcp list. Remove with claude mcp remove.

Use Cases

Real-world ways to use Caveman

Get crisp one-line commit messages for every patch

👤 Anyone tired of 8-paragraph AI-written commits ⏱ ~5 min beginner

When to use: Claude writes a commit message, and it's a novel. You want it to say 'fix: off-by-one in pagination' and stop.

Prerequisites
  • Caveman plugin installed — claude plugin marketplace add JuliusBrussee/caveman && claude plugin install caveman@caveman
Flow
  1. Commit with caveman-commit
    /caveman-commit — write a commit message for the staged changes.✓ Copied
    → One-line conventional commit; no body unless genuinely needed
  2. Ship a branch of small commits
    For the 4 staged files, use /caveman-commit per file — atomic commits, one line each.✓ Copied
    → git log shows 4 short commits

Outcome: Readable git log; bisect-friendly commits.

Pitfalls
  • Lost nuance when a message should be longer (e.g. breaking changes) — Override per-commit: 'write the full version, not caveman, this is a breaking change'
Combine with: git · github

Review a PR with one-line actionable comments

👤 Reviewers (and reviewees who dislike AI walls of text) ⏱ ~15 min beginner

When to use: You're doing a quick pass and want pointed nits, not lectures.

Flow
  1. Run caveman-review
    /caveman-review — go through the diff. One line per comment.✓ Copied
    → Inline comments read like 'rename x → userId for consistency with api/users.ts'
  2. Escalate when needed
    On the auth file specifically, switch off caveman for a full-length security review.✓ Copied
    → Long-form only where the stakes justify it

Outcome: Faster review cycles; reviewees don't dismiss comments as noise.

Pitfalls
  • One-liners miss nuance on architectural changes — Architectural changes aren't Caveman's job — use default mode for those
Combine with: github

Shrink CLAUDE.md and memory notes by 40–50% without losing intent

👤 Anyone whose CLAUDE.md grew past 5k tokens ⏱ ~10 min intermediate

When to use: Your project memory is eating context every session and you know it could be tighter.

Flow
  1. Compress in place
    /caveman-compress CLAUDE.md — keep rules and facts, cut the prose.✓ Copied
    → File shrinks ~46%; no rule deleted
  2. Audit the diff
    Show the diff. Any rule that changed meaning?✓ Copied
    → Per-change verdict; rollbacks if intent drifted
  3. Commit
    /caveman-commit — single-line commit for the compression✓ Copied
    → 'chore: compress CLAUDE.md (-46%)'

Outcome: Same rules, half the tokens.

Pitfalls
  • Compression drops a subtle caveat — Always diff-review after compressing rule files; intent loss is the main risk
Combine with: filesystem

Combinations

Pair with other MCPs for X10 leverage

caveman-skill + git

Terse commit workflow

Stage the change, then /caveman-commit, then git push.✓ Copied
caveman-skill + github

Caveman PR reviews at scale

For the 5 PRs in my review queue, /caveman-review each; post only actionable comments.✓ Copied
caveman-skill + claude-mem-skill

Shrink memory transcripts without losing decisions

/caveman-compress the claude-mem notes for this project; flag anything where meaning shifted.✓ Copied

Tools

What this MCP exposes

ToolInputsWhen to callCost
/caveman mode: Lite|Full|Ultra|文言文 Toggle mode for the current task free
/caveman-commit staged diff (implicit) At commit time; preserves staging small model call
/caveman-review PR diff Quick review pass small model call per file
/caveman-compress file path Shrink memory / rules files; diff-review before saving small model call

Cost & Limits

What this costs to run

API quota
None
Tokens per call
By design — negative; saves tokens
Monetary
Free (MIT)
Tip
Use Ultra only on genuinely mechanical output (commits, tags); leave design discussions in default mode

Security

Permissions, secrets, blast radius

Credential storage: None
Data egress: None — pure prompt shaping; no telemetry

Troubleshooting

Common errors and fixes

Output still verbose after enabling Caveman

Most clients run Caveman per-turn; put /caveman Full at the top of each session or add it to CLAUDE.md

Verify: First reply should feel distinctly terse
Caveman-commit returns multi-paragraph body

Usually triggers when the diff is genuinely large or breaks API. For true one-liner, add '—force-oneline'.

Verify: Re-run with --force-oneline
Classical Chinese mode outputs garbled

Rare; usually a font / terminal issue, not the skill. Pipe to a file and open in an editor that supports CJK.

Alternatives

Caveman vs others

AlternativeWhen to use it insteadTradeoff
System prompt with 'be terse'You want it without a pluginInconsistent; Caveman's intensity levels + benchmarks give measurable results
Custom slash commandsYou only need one of the sub-behaviors (e.g. terse commits)Reinventing the wheel

More

Resources

📖 Read the official README on GitHub

🐙 Browse open issues

🔍 Browse all 400+ MCP servers and Skills