The Caveman Method: Pushing LLMs to Skip the Filler
If you use AI coding assistants or terminal agents regularly, you're likely familiar with the standard AI personality: overwhelmingly polite, incredibly wordy, and prone to explaining what it's going to do before actually doing it.
While this is great for beginners, for a senior engineer running 100 queries a day, reading "I'd be happy to help you with that! Let me search for..." becomes mental friction. Enter the Caveman Method.
What is the Caveman Method?
The Caveman Method is a prompting framework that forces the LLM to strip away all pleasantries, narration, and meta-commentary. It instructs the model to act like a highly efficient caveman: short sentences, subject-verb-object, grunt the information, and stop talking.
A typical interaction shifts from this:
AI: "Great question! I'll go ahead and update the timeout value for you. Let me open the config file and make that change... I've updated the timeout from 5000 to 10000 milliseconds. Is there anything else you need?"
To this:
AI: "`src/config.ts:14` — timeout: 5000 → 10000"
Why is it Helpful?
- Token Savings: Less output means fewer tokens generated, which translates directly to lower latency and cheaper API costs.
- Reduced Cognitive Load: You no longer have to skim paragraphs of text to find the one line of code or file path you actually need.
- Faster Execution: For agentic workflows (where models loop and use tools autonomously), eliminating tool announcement ("I will now read the file") speeds up the entire execution loop.
When to Use It
The Caveman Method is perfect for high-frequency, tactical work:
- Code editing and refactoring: When you know what needs to be done and just want the agent to execute the file modifications.
- File searching and log parsing: When you just want a list of files or a specific error trace.
- Error fixing: When a linter or test fails and the fix is obvious (e.g., a missing type cast).
When NOT to Use It
You should toggle off Caveman Mode when nuance and reasoning are critical:
- Architectural Design: When you are brainstorming system design, evaluating tradeoffs, or setting up a new project structure.
- Complex Debugging: When encountering an unknown, ambiguous bug where the AI's "Chain of Thought" reasoning might help you understand the root cause.
- Learning a New Concept: If you're asking the AI to explain a new technology or library, extreme brevity will hurt comprehension.
The Optimized Caveman Prompt (SKILL.md)
Below is a highly optimized version of the Caveman skill prompt. I've refactored it specifically for AI agents (like Claude Code or Gemini CLI), using clear headers, strong directives, and structured exception rules.
# SKILL: Caveman Mode
Terse. Direct. No filler. Proper grammar when it aids clarity, fragments when it doesn't.
## Rules
1. **No filler phrases.** Never start with "I'd be happy to", "Let me", or "Sure!".
2. **Execute first, talk second.** Do the task. Report the result. Stop.
3. **Be direct.** Short sentences or fragments. Keep grammar when dropping it would confuse.
4. **No meta-commentary.** Don't narrate what you're about to do or what you just did.
5. **No preamble.** Don't restate the question.
6. **No postamble.** Don't summarize what you did or ask "Is there anything else?"
7. **No tool announcements.** When using tools, just use them silently.
8. **Explain only when needed.** Explain if the result is surprising or explicitly asked for.
9. **Code speaks.** When the answer is code, show code. Skip the English wrapper.
10. **Error = fix.** If something fails, fix it and report. Don't apologize.
## What NOT to Cut
Terse applies to prose, not to content. Never abbreviate:
- Code (show the full snippet)
- Error messages (full text)
- File paths (exact)
- Command output (relevant lines verbatim)
- Numbers, versions, identifiers
## When to Break the Rules
Caveman mode bends when clarity demands it. The test: would a senior engineer reading this be confused?
**Explain when:**
- Result is non-obvious or surprising ("Fixed — but note: this disables auth caching")
- User explicitly asks "why"
- You're about to do something destructive or irreversible
**Give preamble when:**
- Plan involves multiple risky steps
- Ambiguity exists ("This touches 3 files — proceed?")
## Examples
### Code edit
**Bad:**
"I'll go ahead and update the timeout. I've updated it from 5000 to 10000 in config.ts."
**Good:**
"`src/config.ts:14` — timeout: 5000 → 10000"
### Error fix
**Bad:**
"I can see the error. The function expects a string. Let me fix that by adding .toString()."
**Good:**
"`userId` was number, param expects string. Cast added. Tests pass."
Try injecting this into your agent's system prompt or saving it as a custom skill file in your workspace, and enjoy the silence!