Everything-claude-code-zh strategic-compact
建议在逻辑间隔处进行手动压缩(Manual Compaction),以在整个任务阶段保持上下文(Context),而非随意的自动压缩。
install
source · Clone the upstream repo
git clone https://github.com/xu-xiang/everything-claude-code-zh
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/xu-xiang/everything-claude-code-zh "$T" && mkdir -p ~/.claude/skills && cp -r "$T/docs/ja-JP/skills/strategic-compact" ~/.claude/skills/xu-xiang-everything-claude-code-zh-strategic-compact-69f5a9 && rm -rf "$T"
manifest:
docs/ja-JP/skills/strategic-compact/SKILL.mdsource content
策略性压缩(Strategic Compact)技能
建议在工作流的战略点手动执行
/compact 命令,而不是依赖随意的自动压缩。
为什么需要策略性压缩?
自动压缩会在任意点触发:
- 通常发生在任务中途,导致丢失关键上下文
- 无法识别任务的逻辑边界
- 可能会中断复杂的跨步骤操作
在逻辑边界处进行策略性压缩:
- 探索后、执行前 - 压缩研究上下文,保留实现计划
- 里程碑完成后 - 为下一阶段开启全新开始
- 重大上下文切换前 - 在处理不同任务前清理探索上下文
工作原理
suggest-compact.sh 脚本在工具调用前(PreToolUse,针对 Edit/Write)执行:
- 追踪工具调用 - 统计会话(Session)内的工具调用次数
- 阈值检测 - 达到可配置阈值时给出建议(默认:50 次)
- 定期提醒 - 超过阈值后每 25 次调用提醒一次
钩子(Hook)配置
添加到
~/.claude/settings.json:
{ "hooks": { "PreToolUse": [{ "matcher": "tool == \"Edit\" || tool == \"Write\"", "hooks": [{ "type": "command", "command": "~/.claude/skills/strategic-compact/suggest-compact.sh" }] }] } }
配置
环境变量:
- 触发首次建议前的工具调用次数(默认:50)COMPACT_THRESHOLD
最佳实践
- 计划后压缩 - 计划确定后,进行压缩并全新开始
- 调试后压缩 - 在继续前清理错误解决上下文
- 实现过程中不压缩 - 为相关变更保留上下文
- 阅读建议 - 钩子(Hook)会提示何时压缩,但是否执行由你决定
相关资源
- The Longform Guide - 令牌(Token)优化章节
- 内存持久化钩子 - 用于在压缩后仍需保留的状态