关于 compact-guard
compact-guard 是用于 Claude Code 上下文压缩前后的技能,帮助保存任务状态、关键文件和后续步骤,并提供压缩后的恢复清单。
主要功能
- 01压缩前保存任务状态与决策
- 02优先标记需保留的文件
- 03建议先清理不相关上下文
- 04压缩后按清单恢复工作
适用场景
- 01运行 /compact 前整理重要上下文
- 02自动压缩后恢复正在编辑的工作
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ rohitg00/ pro-workflow --skill compact-guard安装后在 Claude Code 中输入/compact-guard确认已加载。
详细介绍
Compact Guard
在压缩周期中保护重要上下文。基于 Claude Code 内部机制:压缩最多恢复 5 个文件,每个文件 5K 个令牌,总预算为 50K。
触发时机
在使用 /compact 前,或出现自动压缩警告时使用。
关键常量(来自 Claude Code 源代码)
POST_COMPACT_MAX_FILES_TO_RESTORE = 5— 仅有 5 个文件会保留POST_COMPACT_TOKEN_BUDGET = 50K— 总恢复预算POST_COMPACT_MAX_TOKENS_PER_FILE = 5K— 每个文件的上限- 自动压缩会在
context_window - 13K缓冲区处触发
压缩前检查清单
压缩前,将以下内容保存到记忆或临时文件中:
- 当前任务 — 你正在做什么?用一句话说明。
- 正在处理的文件 — 正在编辑哪些文件?(最多 5 个——压缩只会恢复 5 个)
- 已做出的决策 — 本次会话中做出的架构决策
- 阻碍因素 — 是什么阻碍了进展?
- 后续步骤 — 压缩后立即要做什么?
策略:优先微压缩
完整压缩前,先尝试微压缩:
- 可以精简大型工具结果(测试输出、grep 结果)
- 可以丢弃已不再相关的文件读取内容
- 使用子 Agent 进行繁重的探索,以保持主上下文整洁
压缩后恢复
压缩后,立即:
- 重新读取优先级最高的文件(当前正在编辑的文件)
- 查看任务列表,确认当前进度
- 查看压缩前保存的临时笔记
- 从后续步骤继续
预防策略
| 策略 | 令牌节省量 | 时机 |
|---|---|---|
| 将 grep/搜索交给子 Agent | 每次搜索节省 30-60% | 广泛搜索时始终如此 |
只读取需要的行(offset/limit) | 每次读取节省 50-90% | 大型文件 |
| 在任务节点进行压缩 | 保持连贯性 | 逻辑步骤之间 |
使用 /resume 重新开始 | 100% | 开始无关的新任务 |
输出
运行 compact-guard 后:
COMPACT GUARD
Files to preserve: [list top 5]
Task state: [one sentence]
Decisions: [key choices]
Next step: [immediate action after compact]
Ready to compact. Run /compact now.
规则
- 压缩前始终保存状态——绝不盲目压缩
- 将当前正在编辑的文件列为恢复优先级第 1 位
- 如果意外触发自动压缩,立即重新读取工作文件
- 将 CLAUDE.md 控制在 60 行以内,为实际上下文留出空间
评论
支持 Markdown