CtrlK
BlogDocsLog inGet started
Tessl Logo

strategic-compact

建议在逻辑间隔进行手动上下文压缩(Context Compaction),以便在任务阶段中保留上下文,而不是依赖任意的自动压缩。

51

Quality

56%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./.agents/skills/strategic-compact/SKILL.md
SKILL.md
Quality
Evals
Security

策略性压缩(Strategic Compact)技能

建议在工作流的策略点手动执行 /compact 命令,而不是依赖任意的自动压缩(Auto-compaction)。

何时启用

  • 运行接近上下文限制(200K+ tokens)的长会话(Long Sessions)时
  • 处理多阶段任务(研究 → 规划 → 实现 → 测试)时
  • 在同一会话中切换到不相关的任务时
  • 完成重大里程碑(Milestone)并开始新工作后
  • 当响应变慢或连贯性下降(上下文压力)时

为什么要进行策略性压缩?

自动压缩在任意点触发:

  • 通常在任务中间,导致重要上下文丢失
  • 缺乏对逻辑任务边界的感知
  • 可能会中断复杂的多步骤操作

逻辑边界处的策略性压缩:

  • 在探索之后,执行之前 —— 压缩研究上下文,保留实现方案
  • 完成里程碑之后 —— 为下一阶段提供全新的开始
  • 重大上下文转移之前 —— 在开始不同任务前清除探索上下文

工作原理

suggest-compact.js 脚本在 PreToolUseEdit/Write)钩子(Hook)上运行,并且:

  1. 跟踪工具调用 —— 统计会话中的工具调用(Tool Calls)次数
  2. 阈值检测 —— 在达到可配置的阈值(默认:50 次调用)时提出建议
  3. 定期提醒 —— 达到阈值后,每隔 25 次调用提醒一次

钩子配置(Hook Setup)

添加到你的 ~/.claude/settings.json 中:

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Edit",
        "hooks": [{ "type": "command", "command": "node ~/.claude/skills/strategic-compact/suggest-compact.js" }]
      },
      {
        "matcher": "Write",
        "hooks": [{ "type": "command", "command": "node ~/.claude/skills/strategic-compact/suggest-compact.js" }]
      }
    ]
  }
}

配置

环境变量:

  • COMPACT_THRESHOLD —— 第一次建议前的工具调用次数(默认:50)

压缩决策指南

使用下表来决定何时压缩:

阶段转换是否压缩?原因
研究 → 规划研究上下文很臃肿;方案是提炼后的产出
规划 → 实现方案已在 TodoWrite 或文件中;为代码腾出上下文空间
实现 → 测试可能如果测试引用了近期代码则保留;如果切换关注点则压缩
调试 → 下一功能调试追踪(Debug traces)会污染不相关工作的上下文
实现中丢失变量名、文件路径和部分状态的代价很高
方案失败后在尝试新方案前清除死胡同式的推理

压缩后保留的内容

了解哪些内容会持久化,有助于你充满信心地进行压缩:

保留丢失
CLAUDE.md 指令中间推理和分析
TodoWrite 任务列表之前读取过的文件内容
记忆文件(~/.claude/memory/多步骤对话上下文
Git 状态(提交、分支)工具调用历史和计数
磁盘上的文件口头陈述的细微用户偏好

最佳实践

  1. 规划完成后压缩 —— 一旦方案在 TodoWrite 中确定,就进行压缩以全新开始
  2. 调试完成后压缩 —— 在继续之前清除错误解决上下文
  3. 不要在实现过程中压缩 —— 保留相关更改的上下文
  4. 阅读建议 —— 钩子告诉你何时,你决定是否
  5. 压缩前写入 —— 在压缩前将重要上下文保存到文件或记忆中
  6. 使用带有总结的 /compact —— 添加自定义消息:/compact 下一步重点实现认证中间件

相关内容

  • 长篇指南(The Longform Guide) —— 令牌(Token)优化章节
  • 记忆持久化钩子(Memory persistence hooks) —— 用于压缩后仍保留的状态
  • continuous-learning 技能 —— 在会话结束前提取模式
Repository
xu-xiang/everything-claude-code-zh
Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.