大模型应用
压缩 CLAUDE.md、todos…
适用于把自然语言记忆、偏好或待办文件压缩成 caveman 格式以减少输入 token,同时保留原始可读备份。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 59/100 ×0.15
适用场景
压缩 CLAUDE.md、todos、偏特定
解决思路
- 使用 `/caveman-compress <filepath>` 触发,或在用户要求压缩记忆文件时执行。
- 压缩自然语言文件(如 CLAUDE.md、todos、偏好)为 caveman-speak,以减少输入 token。
- 压缩版本覆盖原文件。
- 人类可读备份保存为 `<filename>.original.md`,但不要放在源文件旁边;保存到 out-of-tree 数据目录:`$XDG_DATA_HOME/caveman-compress/backups/<parent-dir-name>/`,Windows 为 `%LOCALAPPDATA%\caveman-compress\backups\<parent-dir-name>\`,避免技能自动加载器把它当作 live 文件重新读取。
- 压缩脚本位于 `scripts/`(与本 SKILL.md 相邻);如果路径不可用,搜索本 SKILL.md 旁边的 `scripts/__main__.py`。
- 从包含本 SKILL.md 的目录运行:`python3 -m scripts <absolute_filepath>`。
- CLI 检测文件类型(不消耗 token)。
- CLI 调用 Claude 压缩。
- CLI 验证输出(不消耗 token)。
- 如果有错误:用 Claude 进行 cherry-pick 修复(只做定向修复,不重新压缩)。
- 最多重试 2 次。
- 如果 2 次重试后仍失败:向用户报告错误,保持原文件不变。
- 将结果返回给用户。
- 删除:冠词 `a`, `an`, `the`。
- 删除:填充词 `just`, `really`, `basically`, `actually`, `simply`, `essentially`, `generally`。
- 删除:客套话 `sure`, `certainly`, `of course`, `happy to`, `I'd recommend`。
- 删除:模糊限制语 `it might be worth`, `you could consider`, `it would be good to`。
- 删除或改写冗余表达:`in order to` → `to`,`make sure to` → `ensure`,`the reason is because` → `because`。
- 删除:连接性废话 `however`, `furthermore`, `additionally`, `in addition`。
- 精确保留:代码块(围栏 ``` 和缩进代码块)。
- 精确保留:行内代码(`backtick content`)。
- 精确保留:URL 和链接(完整 URL、markdown 链接)。
- 精确保留:文件路径(`/src/components/...`, `./config.yaml`)。
- 精确保留:命令(`npm install`, `git commit`, `docker build`)。
- 精确保留:技术术语(库名、API 名、协议、算法)。
- 精确保留:专有名词(项目名、人名、公司名)。
- 精确保留:日期、版本号、数值。
- 精确保留:环境变量(`$HOME`, `NODE_ENV`)。
- 保留结构:所有 markdown 标题(保留准确标题文本,压缩标题下方的正文)。
- 保留结构:项目符号层级(保留嵌套级别)。
- 保留结构:编号列表(保留编号)。
- 保留结构:表格(压缩单元格文本,保留结构)。
- 保留结构:markdown 文件中的 frontmatter/YAML 头部。
- 压缩时使用短同义词:用 `big` 而不是 `extensive`,用 `fix` 而不是 `implement a solution for`,用 `use` 而不是 `utilize`。
- 允许片段:用 `Run tests before commit` 而不是 `You should always run tests before committing`。
- 删除 `you should`、`make sure to`、`remember to`——直接陈述动作。
- 合并用不同说法重复同一意思的冗余项目符号。
- 当多个例子展示同一模式时,只保留一个例子。
- 关键规则:``` ... ``` 中的任何内容必须完全复制。
- 不要:删除注释。
- 不要:删除空格。
- 不要:重新排序行。
- 不要:缩短命令。
- 不要:简化任何内容。
- 行内代码(`...`)必须精确保留。
- 不要修改反引号内的任何内容。
- 如果文件包含代码块:把代码块视为只读区域。
- 如果文件包含代码块:只压缩代码块外的文本。
- 如果文件包含代码块:不要合并代码块周围的章节。
- 参考压缩模式:原始 `You should always make sure to run the test suite before pushing any changes to the main branch. This is important because it helps catch bugs early and prevents broken builds from being deployed to production.` → 压缩为 `Run tests before push to main. Catch bugs early, prevent broken prod deploys.`
- 参考压缩模式:原始 `The application uses a microservices architecture with the following components. The API gateway handles all incoming requests and routes them to the appropriate service. The authentication service is responsible for managing user sessions and JWT tokens.` → 压缩为 `Microservices architecture. API gateway route all requests to services. Auth service manage user sessions + JWT tokens.`
- 仅压缩自然语言文件(`.md`, `.txt`, `.typ`, `.typst`, `.tex`, 无扩展名)。
- 绝不修改:`.py`, `.js`, `.ts`, `.json`, `.yaml`, `.yml`, `.toml`, `.env`, `.lock`, `.css`, `.html`, `.xml`, `.sql`, `.sh`。
- 如果文件是混合内容(散文 + 代码),只压缩散文部分。
- 如果不确定某内容是代码还是散文,保持它不变。
- 覆盖前将原文件备份为 `FILE.original.md`——放在 out-of-tree 备份数据目录(见 Purpose),不要放在源文件旁边。
- 绝不压缩 `FILE.original.md`(跳过它)。
适用边界 · 注意事项
- 非自然语言文件(代码、配置、锁文件、CSS、HTML、XML、SQL、shell 等)不要用。
- `FILE.original.md` 不要用。
- 没有 Claude/脚本运行环境(无法运行 `python3 -m scripts`)时不要用。