mcpField
C
compact-guard

compact-guard

github.com/rohitg00Agent 工作流2.9k169 次安装4 周前更新
代码仓库

关于 compact-guard

compact-guard 是用于 Claude Code 上下文压缩前后的技能,帮助保存任务状态、关键文件和后续步骤,并提供压缩后的恢复清单。

主要功能

  1. 01压缩前保存任务状态与决策
  2. 02优先标记需保留的文件
  3. 03建议先清理不相关上下文
  4. 04压缩后按清单恢复工作

适用场景

  1. 01运行 /compact 前整理重要上下文
  2. 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 缓冲区处触发

压缩前检查清单

压缩前,将以下内容保存到记忆或临时文件中:

  1. 当前任务 — 你正在做什么?用一句话说明。
  2. 正在处理的文件 — 正在编辑哪些文件?(最多 5 个——压缩只会恢复 5 个)
  3. 已做出的决策 — 本次会话中做出的架构决策
  4. 阻碍因素 — 是什么阻碍了进展?
  5. 后续步骤 — 压缩后立即要做什么?

策略:优先微压缩

完整压缩前,先尝试微压缩:

  • 可以精简大型工具结果(测试输出、grep 结果)
  • 可以丢弃已不再相关的文件读取内容
  • 使用子 Agent 进行繁重的探索,以保持主上下文整洁

压缩后恢复

压缩后,立即:

  1. 重新读取优先级最高的文件(当前正在编辑的文件)
  2. 查看任务列表,确认当前进度
  3. 查看压缩前保存的临时笔记
  4. 从后续步骤继续

预防策略

策略令牌节省量时机
将 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