📚 工程方法 全难度 📦 community

strategic-compact

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

📄 相关文章

📊 评分明细

📦 打包完整度
2.1 2.1 / 2.5
🎯 实用性
2.1 2.1 / 2.5
📖 文档清晰度
1.6 1.6 / 2
👥 社区影响力
1.2 1.2 / 1.5
🔗 集成度
1.2 1.2 / 1.5

🎯 适用场景

免费设计模式编程

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<br>
git clone https://github.com/affaan-m/everything-claude-code.git<br>
ls everything-claude-code/skills | grep strategic-compact<br>
```<br>
确认能看到 `strategic-compact` 目录后,把它软链到你的 agent skills 目录。Claude Code 的默认路径是 `~/.claude/skills/`:<br>
```bash<br>
ln -s ~/skills/everything-claude-code/skills/strategic-compact ~/.claude/skills/strategic-compact<br>
```<br>
OpenCode 用户请放到 `~/.config/opencode/skills/`,Cursor 用户放到 `~/.cursor/skills/`(目录不存在就先 `mkdir -p`)。<br>
### 第 2 步:验证 Skill 已加载<br>
重启你的客户端,然后在对话里问一句:<br>
```<br>
/skills list<br>
```<br>
如果输出里能看到 `strategic-compact`,就说明安装成功。如果列表为空,九成是软链路径没指对,检查一下 `~/.claude/skills/strategic-compact/SKILL.md` 这个文件是否真实存在。<br>
### 第 3 步:用 Skill 跑第一个任务<br>
准备一段"故意撑长"的对话:把一个开源项目(比如一个 200 行左右的 Python 脚本)直接整段贴进对话,加上 3-4 轮"帮我加注释/改个函数名/重构成类"的修改请求。等上下文明显变长(客户端顶部 token 数显示 60% 以上)时,触发:<br>
```<br>
/strategic-compact<br>
```<br>
观察 AI 的行为:它应当先列出"准备保留/准备总结/准备丢弃"三档内容,再执行压缩,最后给出一份"上下文压缩报告",里面包含关键信息的位置索引。完成之后,接着让它执行一个早期提到过的需求,看它能不能准确还原——这就是对压缩质量的实际验收。<br>
## 常见踩坑<br>
1. **软链指向了错误的 SKILL.md**:`everything-claude-code` 仓库下有多个 Skill 子目录,确认链的是 `strategic-compact/SKILL.md`,不是 `skills/strategic-compact` 的上一级。<br>
2. **客户端没重启**:多数 agent 在启动时一次性加载 skill 索引,改完软链必须重启,否则 `/skills list` 仍显示旧列表。<br>
3. **太早触发**:上下文才到 20% 就去压缩,AI 会"无料可压"反而输出空话,建议在 60%-80% 区间触发。<br>
4. **太晚触发**:已经到了 95% 再压缩,关键信息已经被截断,这时候压什么都不完整。养成看顶部 token 进度条的习惯。<br>
5. **没读"压缩报告"**:`strategic-compact` 不是无脑丢弃,它会在压缩后给一份索引(类似 TODO 列表),忽略这份索引,等于白压。<br>
6. **手动删除历史当替代**:直接 `delete` 消息可能把工具调用结果、文件 diff 一起丢,不如让 Skill 帮你做有结构的保留。<br>
## 初级用法<br>
- **半路插一刀**:在长任务的中段手动 `/strategic-compact`,把当前成果做个"中转",再继续推进。<br>
- **配合 plan 模式**:Claude Code 的 plan 模式下,先 `/strategic-compact` 再 `/plan`,能让计划阶段拿到一份"清爽"的上下文,推理更稳。<br>
## 高级玩法<br>
- **接 Hook 自动触发**:在 `~/.claude/settings.json` 里配置 PreCompact 钩子,让 token 用量达到 75% 时自动调用 Skill,完全不用手敲命令。<br>
- **多 Skill 协同**:把 `strategic-compact` 和 `tdd`、`diagnose` 串起来用,先压上下文,再让 diagnose 排错,TDD 写测试,可以稳定推进一个大型 refactor。<br>
- **自定义保留策略**:把 `SKILL.md` 里 `priority_keywords` 改成本项目的高频术语,这样压缩时这些词永远不被总结,只被原样保留。<br>
## 小技巧<br>
- 压缩前先 `cat` 出当前 SKILL.md 看一眼,有时候作者会更新保留规则。<br>
- 配合 `claude --resume` 一起用,压缩后立刻 `resume` 加载"压缩后上下文",体验最顺。<br>
- 如果你的客户端支持 `/compact` 原生命令,把它和 `strategic-compact` 对比一下,后者通常更结构化。<br>
- 任务收尾时也跑一次 `/strategic-compact`,把项目脉络打成索引,下次开新会话时直接喂索引就能接着干。<br>
- 不要在压缩后立刻连续触发,留 1-2 轮让模型"消化"再压下一刀。<br>
## 常见问题 FAQ<br>
**Q1: 这个 Skill 跟 strategic-compact 有什么关系?必须装吗?**<br>
A: Skill 是给 AI Agent 用的"技能包",能告诉 Agent 怎么按特定规范工作。**不是必须装**——如果你的项目规模小、要求不高,不装也能用。但装上能让 Agent 输出的质量更高、更符合最佳实践,推荐装。<br>

**Q2: 这个 Skill 适合哪些 AI Agent?Cursor?Claude Code?其他?**<br>
A: strategic-compact 来自 community,主要面向支持 Skill 机制的 Agent。常见兼容 Agent 包括 Claude Code、Cursor、OpenCode、Windsurf 等。具体兼容性请查 Skill 官方文档。<br>

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

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

**Q5: 这个 Skill 有许可证吗?能商用吗?**<br>
A: 取决于 strategic-compact 的许可证。常见许可证包括 MIT(完全自由)、Apache-2.0(自由但有专利条款)、源可用(可看不能用)、GPL(强开源)。商用前请查仓库 LICENSE 文件。<br>
## 参考链接<br>
- [仓库主页](https://github.com/affaan-m/everything-claude-code)<br>
- [Claude Code Skills 文档](https://docs.claude.com/en/docs/claude-code/skills)<br>
- [OpenCode 官方介绍](https://opencode.ai/docs/skills)<br>
- [Anthropic Skills 合集](https://github.com/anthropics/skills)<br>
- [相关 Skill 索引](https://github.com/JackyST0/awesome-agent-skills)

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 处理大型代码库的开发者。


参考资料

📊 评分与标签

评分说明

总分 8.2/10 · P_优选

📊 可观测社区指标(数据核验日期:2026-07-23)

  • 官方仓库与维护入口:affaan-m/ECC。GitHub API 核验时触发限流,未记录无法再次确认的 Stars/Forks 精确快照,避免用估算值替代事实。

📦 可安装性 2.1/2.5

  • 官方来源提供可复制的 Skill、MCP 或 Markdown 目录;安装前仍需按 README 配置宿主客户端、运行时和最小权限凭据。
  • 与 Anthropic Skills、OpenCode Skills 对比,本项遵循开放目录思路,但插件命令、脚本依赖和更新方式并不完全统一。

🎯 实用性 2.1/2.5

  • 在阶段边界压缩上下文并减少信息漂移;这里只确认官方材料明确描述的范围,未把未经实测的准确率、性能或生产收益计入评分。
  • 与 GitHub CLI、Zapier 等专用工具对比,Skill 更适合把操作步骤交给 Agent 复用,不能替代完整运行时、监控和人工验收。

📖 文档质量 1.6/2.0

  • README、技能目录或官方参考页可核对安装、能力和约束;未发现统一的端到端性能基准,因此采用保守文档分。
  • 与 Vercel Agent Skills、Obra Superpowers 对比,目标任务说明直接,但版本迁移、失败恢复和跨平台案例仍依赖上游维护。

👥 社区活跃 1.1/1.5

  • 仓库公开提交历史、Issue 与 Pull Request 入口可追踪维护;因 API 限流未写入易变精确计数,社区分不依据未经复核的热度数字。
  • 与 anthropics/skills、obra/superpowers 对比,具备公开协作入口,但不能据此推导响应时效、长期承诺或企业支持等级。

🔗 兼容性 1.3/1.5

  • 可在能够读取 Skills/MCP 指令并具备相应工具权限的 Agent 环境使用;API、Token、浏览器和本地工具链会形成额外约束。
  • 与 Claude Code、Codex、Cursor 的原生扩展对比,开放文件格式便于迁移,但触发、脚本执行和资源加载行为存在客户端差异。

评分依据可追溯至公开来源,每项分数均有明确理由和数据支撑。

🏷️ 标签说明

  • 免费: 公开来源可访问;外部服务费用不计入 Skill 本身。来源:官方来源
  • 设计模式: 核心能力与“在阶段边界压缩上下文并减少信息漂移”直接对应。来源:官方来源
  • 编程: 官方材料显示其面向该使用方式。来源:官方来源

局限说明:本次为官方仓库与文档核验,未执行跨客户端、跨操作系统端到端基准测试;外部 API 配额、授权和价格可能变化,应以上游最新说明为准。

📋 来源与核验记录

  • ✅ 官方仓库页面已核验:https://github.com/affaan-m/ECC
  • ✅ 官方文档或功能页已核验:https://github.com/affaan-m/ECC
  • ⚠️ 未验证(访问限制):GitHub REST API 于 2026-07-23 返回限流,未采用无法复核的精确 Stars/Forks 数值
  • ⚠️ 间接来源(二手数据):未用于核心功能与维度评分
  • ❌ 已删除死链:无