mcpField
E
eli5-compress

eli5-compress

github.com/nathanksouAgent 工作流778 次安装29 周前更新
代码仓库

关于 eli5-compress

eli5-compress 是用于简化和压缩自然语言文件的 Agent 技能,面向需要缩短记忆文件输入内容的人。它保留原意并备份原文件,而非单纯截断文本。

主要功能

  1. 01压缩并简化自然语言文件
  2. 02保留原意及代码内容
  3. 03原文件备份为 .original.md
  4. 04校验结果并按需修复

适用场景

  1. 01精简 CLAUDE.md
  2. 02压缩待办事项或偏好文件

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/nathanksou/eli5 --skill eli5-compress

安装后在 Claude Code 中输入/eli5-compress确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

README.md
scripts/
__init__.py
__main__.py
benchmark.py
cli.py
compress.py
detect.py
validate.py

详细介绍

ELI5 压缩

用途

将自然语言文件(CLAUDE.md、待办事项、偏好设置)压缩为简单易懂的语言,以减少输入 token。通过简化和缩短内容来压缩,而非直接截断。压缩后的版本会覆盖原文件。易读的备份保存为 <filename>.original.md。

触发方式

/eli5-compress <filepath>,或用户要求压缩/简化记忆文件时。

流程

  1. 此 SKILL.md 与 scripts/ 位于同一目录。找到该目录。

  2. 运行:

    cd <directory_containing_this_SKILL.md> && python3 -m scripts <absolute_filepath>
    
  3. CLI 将:

    • 检测文件类型(不消耗 token)
    • 调用 Claude 进行简化和压缩
    • 验证输出(不消耗 token)
    • 如果出错:调用 Claude 进行定点修复(仅修复指定问题,不重新压缩)
    • 最多重试 2 次
  4. 将结果返回给用户

压缩规则

删除
  • 填充词: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