📚 工程方法 全难度 📦 community

strategic-compact

在合适的时机压缩上下文,避免信息丢失。

8.2 /10 ★★★★☆
📅 2026-06-15 · 🕒 4 分钟阅读 · 最后更新 2026-06-15 · 来源: community · 分析测评
#context-management#compact#memory
📄 相关文章

📊 评分明细

功能完备度
8.2 核心功能齐全
🎯 易用性
7.9 安装即用
🔧 可扩展性
8.5 支持定制和 fork
🔗 生态协同
8.6 可链式调用
🛡️ 稳定性
8.5 内置验证流程

🎯 适用场景

context-managementcompactmemory

strategic-compact 快速入门

在上下文快要溢出之前,优雅地”瘦身”,既不丢信息,也不浪费 Token。

这是什么?解决什么问题?

AI 编程助手(Claude Code、OpenCode、Cursor)都有一个绕不开的硬限制:上下文窗口。当一段长对话、几份源码、若干 PDF 全部塞进去之后,模型会越来越慢,也越来越容易”忘记”早期信息,这就是常说的”上下文腐烂”。

strategic-compact 是 affaan-m/everything-claude-code 仓库中提供的一个工程方法型 Skill,它不直接生成代码,而是教 AI 在正确的时机、用正确的方式去主动压缩上下文。它会判断当前对话里哪些内容是核心,哪些可以总结成索引,哪些可以丢掉,从而在保持任务连续性的同时,把上下文占用往下压。

对于做长链路开发(比如一次性跑多文件重构、跨服务的调试、整本技术书的翻译)的同学来说,它可以避免”对话讲到第 50 轮,模型突然失忆”的尴尬,也直接降低 API 调用成本。

准备工作

  • 已安装 Claude Code、OpenCode 或 Cursor 任一支持 SKILL.md 的客户端
  • Node.js ≥ 18(用于某些自动化钩子,本教程不强制)
  • 一个 GitHub 账号,能正常 git clone 公网仓库
  • 建议先准备一份”长对话”作为测试样本(下文会给)

3 步快速上手

第 1 步:把 Skill 装到本地

打开终端,挑一个稳定的目录(例如 ~/skills/),拉取仓库并定位到 strategic-compact:

mkdir -p ~/skills && cd ~/skills
git clone https://github.com/affaan-m/everything-claude-code.git
ls everything-claude-code/skills | grep strategic-compact

确认能看到 strategic-compact 目录后,把它软链到你的 agent skills 目录。Claude Code 的默认路径是 ~/.claude/skills/:

ln -s ~/skills/everything-claude-code/skills/strategic-compact ~/.claude/skills/strategic-compact

OpenCode 用户请放到 ~/.config/opencode/skills/,Cursor 用户放到 ~/.cursor/skills/(目录不存在就先 mkdir -p)。

第 2 步:验证 Skill 已加载

重启你的客户端,然后在对话里问一句:

/skills list

如果输出里能看到 strategic-compact,就说明安装成功。如果列表为空,九成是软链路径没指对,检查一下 ~/.claude/skills/strategic-compact/SKILL.md 这个文件是否真实存在。

第 3 步:用 Skill 跑第一个任务

准备一段”故意撑长”的对话:把一个开源项目(比如一个 200 行左右的 Python 脚本)直接整段贴进对话,加上 3-4 轮”帮我加注释/改个函数名/重构成类”的修改请求。等上下文明显变长(客户端顶部 token 数显示 60% 以上)时,触发:

/strategic-compact

观察 AI 的行为:它应当先列出”准备保留/准备总结/准备丢弃”三档内容,再执行压缩,最后给出一份”上下文压缩报告”,里面包含关键信息的位置索引。完成之后,接着让它执行一个早期提到过的需求,看它能不能准确还原——这就是对压缩质量的实际验收。

常见踩坑

  1. 软链指向了错误的 SKILL.md:everything-claude-code 仓库下有多个 Skill 子目录,确认链的是 strategic-compact/SKILL.md,不是 skills/strategic-compact 的上一级。
  2. 客户端没重启:多数 agent 在启动时一次性加载 skill 索引,改完软链必须重启,否则 /skills list 仍显示旧列表。
  3. 太早触发:上下文才到 20% 就去压缩,AI 会”无料可压”反而输出空话,建议在 60%-80% 区间触发。
  4. 太晚触发:已经到了 95% 再压缩,关键信息已经被截断,这时候压什么都不完整。养成看顶部 token 进度条的习惯。
  5. 没读”压缩报告”:strategic-compact 不是无脑丢弃,它会在压缩后给一份索引(类似 TODO 列表),忽略这份索引,等于白压。
  6. 手动删除历史当替代:直接 delete 消息可能把工具调用结果、文件 diff 一起丢,不如让 Skill 帮你做有结构的保留。

初级用法

  • 半路插一刀:在长任务的中段手动 /strategic-compact,把当前成果做个”中转”,再继续推进。
  • 配合 plan 模式:Claude Code 的 plan 模式下,先 /strategic-compact/plan,能让计划阶段拿到一份”清爽”的上下文,推理更稳。

高级玩法

  • 接 Hook 自动触发:在 ~/.claude/settings.json 里配置 PreCompact 钩子,让 token 用量达到 75% 时自动调用 Skill,完全不用手敲命令。
  • 多 Skill 协同:把 strategic-compacttdddiagnose 串起来用,先压上下文,再让 diagnose 排错,TDD 写测试,可以稳定推进一个大型 refactor。
  • 自定义保留策略:把 SKILL.mdpriority_keywords 改成本项目的高频术语,这样压缩时这些词永远不被总结,只被原样保留。

小技巧

  • 压缩前先 cat 出当前 SKILL.md 看一眼,有时候作者会更新保留规则。
  • 配合 claude --resume 一起用,压缩后立刻 resume 加载”压缩后上下文”,体验最顺。
  • 如果你的客户端支持 /compact 原生命令,把它和 strategic-compact 对比一下,后者通常更结构化。
  • 任务收尾时也跑一次 /strategic-compact,把项目脉络打成索引,下次开新会话时直接喂索引就能接着干。
  • 不要在压缩后立刻连续触发,留 1-2 轮让模型”消化”再压下一刀。

常见问题 FAQ

Q1: 这个 Skill 跟 strategic-compact 有什么关系?必须装吗?

A: Skill 是给 AI Agent 用的”技能包”,能告诉 Agent 怎么按特定规范工作。不是必须装——如果你的项目规模小、要求不高,不装也能用。但装上能让 Agent 输出的质量更高、更符合最佳实践,推荐装。

Q2: 这个 Skill 适合哪些 AI Agent?Cursor?Claude Code?其他?

A: strategic-compact 来自 community,主要面向支持 Skill 机制的 Agent。常见兼容 Agent 包括 Claude Code、Cursor、OpenCode、Windsurf 等。具体兼容性请查 Skill 官方文档。

Q3: 装了这个 Skill 后,会拖慢 Agent 响应吗?

A: 会的——Skill 通常会增加 prompt 长度,导致响应变慢、token 消耗增加。但质量提升明显。建议:1) 只装项目必需的 Skill;2) 用 Skill 启动/加载/卸载机制按需加载;3) 定期清理不用的 Skill。

Q4: 怎么验证 Skill 装对了?

A: 在 Agent 中输入”列出已加载的 Skill”或类似命令。如果 Skill 出现在列表里,说明装对了。然后用 Skill 跑一个相关任务,看输出是否符合 Skill 规范。

Q5: 这个 Skill 有许可证吗?能商用吗?

A: 取决于 strategic-compact 的许可证。常见许可证包括 MIT(完全自由)、Apache-2.0(自由但有专利条款)、源可用(可看不能用)、GPL(强开源)。商用前请查仓库 LICENSE 文件。

参考链接


本文基于官方文档和公开资料整理,AI辅助生成,MagicNetWorld 尚未完成独立实测。如有错误或过时信息,请通过 contact@magicnetworld.com 反馈。

strategic-compact Skill 多维度简评

类别:工程方法 来源:affaanm/everything-claude-code 定位:战略性上下文压缩,在关键节点主动执行压缩,避免上下文窗口耗尽。

注意:本文基于官方文档和公开资料整理,未经过 MagicNetWorld 实测。


一、核心定位与价值

Claude Code 的上下文窗口有限(200K tokens),在长时间编码会话中,累计的代码读取、工具调用和对话历史会逐渐占满上下文。strategic-compact 是一个上下文管理 Skill,指导 Agent 在关键节点主动触发压缩,保留最重要的信息,丢弃冗余细节。

核心价值:主动管理上下文窗口,在长会话中保持 Agent 的连贯性和响应质量。


二、核心能力清单

能力说明
节点触发策略在关键节点(如完成一个子任务后、开始新任务前)主动压缩
关键信息保留压缩时保留项目结构、当前任务目标、已完成的决策和重要代码片段
可逆性设计压缩后的摘要保留引用,必要时可以回溯到原始细节
长任务管理适用于跨越多轮交互的复杂开发任务

三、上下文压缩原理

Claude Code 的上下文压缩采用分层策略:

  1. 第一层 - 裁剪工具输出:对较长工具的输出结果进行截断(如只保留大文件的前几百行)
  2. 第二层 - 摘要生成:将历史对话压缩为结构化摘要,保留任务进度、关键决策和当前状态
  3. 第三层 - 完整回退:在必要时清空大部分历史,仅保留最核心的上下文

Community 观察表明,Claude Code 默认在上下文使用达到约 75% 时触发自动压缩,保留约 25% 的空间供模型推理使用。


四、使用场景

  • 长会话开发:持续数小时的大型功能开发,需要多轮交互
  • 多文件重构:需要读取和修改大量文件的场景
  • 调试排查:需要来回查看多个文件、日志和堆栈跟踪的复杂调试
  • 阶段性总结:完成一个里程碑后主动压缩,为下一阶段释放空间

五、安装与配置

# npx 安装
npx skills add affaanm/everything-claude-code --skill strategic-compact

六、总结

strategic-compact 解决的是 Agent 编码中的一个核心痛点:长会话中的上下文枯竭。通过预先设定压缩节点和保留策略,它让 Agent 在长达数小时的工作中保持专注和高质量输出。

适用人群:经常进行长会话开发的技术 Lead、架构师,以及需要 Agent 处理大型代码库的开发者。


参考资料

📦 快速安装

1 方式 1
mkdir -p ~/skills && cd ~/skills
git clone https://github.com/affaan-m/everything-claude-code.git
ls everything-claude-code/skills | grep strategic-compact
2 开发模式
ln -s ~/skills/everything-claude-code/skills/strategic-compact ~/.claude/skills/strategic-compact