Caveman mode for Kimi Code CLI โ terse, token-efficient communication that cuts 60-75% of output tokens
Project description
๐ชจ kimi-caveman
Why use many token when few do trick.
A Kimi Code CLI skill that makes your agent talk like caveman โ cutting ~60-75% of output tokens while keeping full technical accuracy.
Based on the viral observation that terse, telegraphic communication dramatically reduces LLM token usage without losing substance.
โจ Features
- ๐ชถ Lite / ๐ชจ Full / ๐ฅ Ultra / ๐ ๆ่จๆ โ pick your grunt level
- ๐ฏ Same accuracy โ all technical info kept, only fluff dropped
- โก Faster responses โ less tokens to generate = speed go brrr
- ๐๏ธ caveman-compress โ rewrite markdown/memory files into caveman-speak (~46% input token savings)
- ๐ฌ caveman-commit โ terse commit messages (โค50 chars)
- ๐ caveman-review โ one-line code review comments
- ๐ Stats tracking โ token savings estimation
๐ฆ Installation
As a Kimi Skill (recommended)
# Clone to your skills directory
git clone https://github.com/theretech/kimi-caveman.git ~/.kimi/skills/caveman-mode
Or install via pip:
pip install kimi-caveman
๐ Usage
Activate caveman mode
Just say to Kimi:
- "caveman mode"
- "talk like caveman"
- "less tokens please"
- "modo caveman"
Deactivate with: "stop caveman" or "normal mode"
Intensity Levels
| Level | Trigger | Style |
|---|---|---|
| ๐ชถ Lite | caveman lite |
Drop filler, keep grammar |
| ๐ชจ Full | caveman full |
Default caveman. No articles, fragments |
| ๐ฅ Ultra | caveman ultra |
Maximum compression, telegraphic |
| ๐ ๆ่จๆ | caveman wenyan |
Classical Chinese literary compression |
Examples
Normal Kimi (69 tokens):
"The reason your React component is re-rendering is likely because you're creating a new object reference on each render cycle. I'd recommend using useMemo to memoize the object."
๐ชจ Caveman Kimi (19 tokens):
"New object ref each render. Inline object prop = new ref = re-render. Wrap in
useMemo."
๐ฅ Ultra (12 tokens):
"Inline obj prop โ new ref โ re-render.
useMemo."
๐๏ธ caveman-compress
Compress markdown/memory files into caveman-speak. Preserves code blocks, URLs, and paths byte-for-byte.
# Compress a file
caveman-compress my-notes.md
# Output: my-notes.caveman.md (backup saved as .original.md)
| File | Original | Compressed | Saved |
|---|---|---|---|
claude-md-preferences.md |
706 | 285 | 59.6% |
project-notes.md |
1145 | 535 | 53.3% |
| Average | 898 | 481 | 46% |
๐๏ธ Architecture
kimi-caveman/
โโโ caveman_mode/
โ โโโ SKILL.md # Skill instructions for Kimi
โ โโโ scripts/
โ โ โโโ compress.py # Markdown compression tool
โ โโโ references/
โ โโโ modes.md # Mode reference card
โโโ tests/
โโโ README.md
โโโ pyproject.toml
๐ค Contributing
- Fork the repo
- Create a feature branch
- Make your changes
- Run tests:
pytest - Run linter:
ruff check . - Submit a PR
โ Support
PIX (Brazil):
54802231000148 โ THE RETECH LTDA - EPP
๐ License
MIT โ see LICENSE for details.
Built with ๐ชจ by The Retech and friends.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file kimi_caveman-0.1.0.tar.gz.
File metadata
- Download URL: kimi_caveman-0.1.0.tar.gz
- Upload date:
- Size: 9.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cd9e9f100c4d4440c352a1fa80f073afd7ff1a5f55b0097abb8a7b2e9386a763
|
|
| MD5 |
233d265899e1f5f40648f95f851dccd0
|
|
| BLAKE2b-256 |
db4f186985332879b3a2e527a45858398d30d6d96bb4e075052c4221b14873ee
|
File details
Details for the file kimi_caveman-0.1.0-py3-none-any.whl.
File metadata
- Download URL: kimi_caveman-0.1.0-py3-none-any.whl
- Upload date:
- Size: 9.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
70088a9d9d04da77f4abcb6efea7b98c02a1d2772fca5ec5b5a01b7e55807d30
|
|
| MD5 |
9b3bd2cf311100ffc89fc4bf772ed686
|
|
| BLAKE2b-256 |
2d4fbaefc38c440c39f4ba4fb7dbc70738b3526cbbd899c97be7ca9bac3cd17b
|