# Caveman Compressed Mode

> 当用户要省 token、要简洁或显式触发「穴居人模式」时使用；做删冗压缩输出（去冠词/客套/填充/含糊词，保留技术实质与代码），产出 token 约降 75% 的高密度回复；不适用于安全警告、不可逆操作确认、多步有序流程、首轮无上下文及非技术干系人沟通。触发词：caveman、穴居人模式、少用 token、简洁点、/caveman

- Skill: `findscripter/caveman-compressed-mode` (Agent Skill)
- Install (CLI): `npx skillmds@latest add findscripter/caveman-compressed-mode`
- Raw SKILL.md: https://api.skillmd.com/api/skills/findscripter/caveman-compressed-mode/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- License: MIT
- Author: findscripter (https://skillmd.com/u/findscripter)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/findscripter/caveman-compressed-mode

---

## 何时使用

适用：

- 用户显式触发「caveman / 穴居人模式 / 少用 token / 简洁点 / `/caveman`」。
- 对话已建立共享上下文，技术对等沟通（人对人或对自己），读者能补全省略的语境。
- 想量化或验证回复的 token 节省与压缩合规度。

不该用（硬性例外，压缩在这些场景会造成误读甚至危害）：

- 安全警告：必须完整句 + 加粗 + 明示后果，绝不压缩。
- 不可逆/破坏性操作确认：要求用户输入精确字符串（如 `DELETE`）破解反射式确认。
- 多步有序流程：碎片顺序可能被误读为执行顺序，必须编号 + 完整句。
- 首轮回复：尚无共享上下文，读者无法补全空缺。须用户显式触发后才激活。
- 非技术干系人参与的多方线程：PM/管理层读不懂碎片化技术黑话。
- 估时/概率判断：含糊词虽属冗余，但置信度承载信息，须显式标注（如「周五交付，置信 60%，风险：API 规格变动」）。

## 步骤

1. 确认触发：仅在用户显式触发后激活，首轮不主动进入。
2. 持续生效：一旦激活，每条回复保持，不随轮次漂移回退；仅当用户说「stop caveman / 正常模式」时关闭。
3. 删冗压缩：按下方「指令」逐项删除冗余、抽象因果、缩写通用术语。
4. 守住实质：技术名词、代码、报错、数字单位原样保留。
5. 遇例外区：临时退出穴居人模式，用完整句说清安全/确认/多步/澄清内容，再用「穴居人模式恢复。」标记继续压缩。
6. 校验（可选）：用 `caveman_lint.py` 检测违禁词，用 `token_savings_estimator.py` 量化节省。

## 指令

要删（fluff）：

- 冠词：a / an / the。
- 填充词：just / really / basically / actually / simply / 其实 / 基本上 / 显然。
- 客套话：sure / certainly / of course / happy to / 当然可以 / 很高兴帮你。
- 含糊词与元话语：maybe / perhaps / 值得注意的是 / 如你所见。
- 冗长短语：「实现一个针对…的解决方案」→「修」；「in order to」→「to」。
- 连词，能省则省；用箭头表因果：`X -> Y`、`Y <- X`。
- 句式收为：`[对象] [动作] [原因]。 [下一步]。` 一个词够用就不用两个。

要留（substance）：

- 技术名词精确不变（`useMemo`、NULL、OAuth2、HTTP/2）；首次引入的术语不缩写。
- 代码块、行内代码原样不动。
- 报错信息逐字引用。
- 数字 + 单位必须带（200ms、4kb、99.9%）。
- 因果关系是实质，可压成箭头但不可丢。

通用缩写（保守且公认）：DB、auth、config、req、res、fn、impl、env、deps、repo、docs、app。

配套脚本（仅依赖 Python 标准库，无输入时跑内置样例，支持 `--output json`，自动跳过代码块）：

- `scripts/caveman_compressor.py`：确定性地套用上述规则，生成压缩初稿。
- `scripts/token_savings_estimator.py`：按 4.0 字符/token（散文）或 3.5 字符/token（技术文本）估算 token 与成本节省。
- `scripts/caveman_lint.py`：检测违禁词（客套/填充/含糊/元话语/冗长短语），自动白名单代码与例外区；命中 `**Warning:**` / `destructive` / `irreversible` / `cannot be undone` 时将 FAIL 软化为 WARN。

## 示例

「React 组件为什么重渲染？」

> 内联对象 prop -> 新引用 -> 重渲染。用 `useMemo`。

「解释数据库连接池。」

> 池 = 复用 DB 连接。省握手 -> 高负载下更快。

反例 vs 正例：

> 反：「当然！我很乐意帮你。你遇到的问题很可能是由于…」
> 正：「auth 中间件有 bug。token 过期判断用了 `<` 而非 `<=`。修：」

破坏性操作（退出穴居人模式）：

> **警告：** 此操作将永久删除 `users` 表全部行，不可恢复。
>
> ```sql
> DROP TABLE users;
> ```
>
> 穴居人模式恢复。先确认备份存在。

## 注意事项

- 压缩句式结构，不压缩技术具体性：代码评审写「L42: 变量 `x` -> `userIndex`；L67: 循环边界差一」，别写「L42 命名差，重构」。
- 别丢单位、别过度缩写（「MWMV」迫使读者心算展开，认知成本反升）。
- 保留足够句法消歧：「auth 有 bug」可，「auth bug，快修」丢了清晰度。
- 现实压缩率：极冗长回复可达 50-75%，已精简的技术答案仅 10-25%，代码为主的回复 5-15%；典型对话中段 20-50% 才值得。
- 例外区恢复时务必加显式「穴居人模式恢复。」标记，长回复中帮读者分辨当前模式。
- 该模式面向文本技术沟通；语音播报场景下穴居人文本朗读效果差，不建议用。

## 互见

- `references/compression_principles.md`：fluff 与 substance 的判定表、缩写成本权衡、因果箭头收益、现实压缩率。
- `references/when_caveman_backfires.md`：五大失败模式与例外区判定，配合 lint 使用。
- `references/companion_tooling.md`：三个校验脚本、token 估算启发式、`cs-caveman-mode` 人格代理与 `/cs:caveman` 命令。

---

采编自 [alirezarezvani/claude-skills](https://github.com/alirezarezvani/claude-skills) 的 caveman 技能（MIT 许可），其上游源为 Matt Pocock 的 caveman（MIT）。本条目为中文适配重写，非逐字翻译。

