关于 eli5-compress
eli5-compress 是用于简化和压缩自然语言文件的 Agent 技能,面向需要缩短记忆文件输入内容的人。它保留原意并备份原文件,而非单纯截断文本。
主要功能
- 01压缩并简化自然语言文件
- 02保留原意及代码内容
- 03原文件备份为 .original.md
- 04校验结果并按需修复
适用场景
- 01精简 CLAUDE.md
- 02压缩待办事项或偏好文件
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ nathanksou/ eli5 --skill eli5-compress安装后在 Claude Code 中输入/eli5-compress确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
README.mdscripts/__init__.py__main__.pybenchmark.pycli.pycompress.pydetect.pyvalidate.py详细介绍
ELI5 压缩
用途
将自然语言文件(CLAUDE.md、待办事项、偏好设置)压缩为简单易懂的语言,以减少输入 token。通过简化和缩短内容来压缩,而非直接截断。压缩后的版本会覆盖原文件。易读的备份保存为 <filename>.original.md。
触发方式
/eli5-compress <filepath>,或用户要求压缩/简化记忆文件时。
流程
-
此 SKILL.md 与
scripts/位于同一目录。找到该目录。 -
运行:
cd <directory_containing_this_SKILL.md> && python3 -m scripts <absolute_filepath> -
CLI 将:
- 检测文件类型(不消耗 token)
- 调用 Claude 进行简化和压缩
- 验证输出(不消耗 token)
- 如果出错:调用 Claude 进行定点修复(仅修复指定问题,不重新压缩)
- 最多重试 2 次
-
将结果返回给用户
压缩规则
删除
- 填充词: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"
- 过于正式的表达:"ensure that" → "make sure"、"utilize" → "use"
- 多余的衔接词:"however"、"furthermore"、"additionally"、"in addition"
简化
- 将术语密集的句子改写为简单易懂的说法
- 尽可能使用日常用语
- 保留原意,只是表达得更简单
原样保留(绝不修改)
- 代码块(围栏 ``` 和缩进代码块)
- 行内代码(
反引号中的内容) - 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",直接说明要做的操作
- 合并含义相同的冗余项目
- 多个示例说明同一模式时,只保留一个
关键规则:
... 内的所有内容必须原样复制。
不要:
- 删除注释
- 删除空格
- 调整行顺序
- 缩短命令
- 简化任何内容
行内代码(...)必须原样保留。
不要修改反引号内的任何内容。
如果文件包含代码块:
- 将代码块视为只读区域
- 仅压缩代码块之外的文本
- 不要合并代码块周围的章节
示例
原文:
在向 main 分支推送任何更改之前,务必运行测试套件。这很重要,因为这样有助于尽早发现错误,并防止有问题的构建部署到生产环境。
简化后:
推送到 main 之前运行测试。及早发现错误,避免有问题的构建进入生产环境。
原文:
确保为数据库连接池配置适当的超时参数,以防止在高并发场景下耗尽资源。
简化后:
为数据库连接池设置合适的超时时间,以免繁忙时连接耗尽。
边界
- 仅压缩自然语言文件(.md、.txt、.markdown、.rst、无扩展名)
- 绝不修改:.py、.js、.ts、.json、.yaml、.yml、.toml、.env、.lock、.css、.html、.xml、.sql、.sh
- 如果文件包含混合内容(散文 + 代码),仅压缩散文部分
- 如果不确定某部分是代码还是散文,请保持不变
- 覆盖前会将原始文件备份为 FILE.original.md
- 绝不压缩 FILE.original.md(跳过该文件)
评论
支持 Markdown