Strategic compaction skill: suggests context compression at logical breakpoints. Use to suggest compaction at logical intervals during development sessions.
View on GitHubxiaobei930/claude-code-best-practices
cc-best
January 25, 2026
Select agents to install to:
npx add-skill https://github.com/xiaobei930/claude-code-best-practices/blob/main/skills/strategic-compact/SKILL.md -a claude-code --skill strategic-compactInstallation paths:
.claude/skills/strategic-compact/# 策略性压缩技能
本技能用于在合适的时机建议上下文压缩,优化会话效率。
## 触发条件
- 工具调用次数达到阈值
- 从研究/探索阶段转向实现阶段
- 完成一个里程碑后
- 计划已最终确定
## 为什么需要策略性压缩
### 自动压缩的问题
- 发生在任意点,经常在任务中途
- 可能丢失重要上下文
- 打断思维连贯性
### 策略性压缩的优势
- 在逻辑阶段边界压缩
- 保留关键决策和上下文
- 探索后、执行前压缩
- 里程碑完成后压缩
## 压缩时机
### 适合压缩的时机
```
1. 探索/研究完成,准备开始实现
2. 计划已确定,准备执行
3. 完成一个功能模块
4. 解决一个复杂问题后
5. 代码审查反馈处理完
6. 上下文使用率 > 70%
```
### 不适合压缩的时机
```
1. 调试进行中
2. 多文件修改未完成
3. 测试失败修复中
4. 重要决策讨论中
5. 复杂逻辑实现中途
```
## 压缩前检查清单
```markdown
## 压缩前确认
- [ ] 当前任务状态已记录到 progress.md
- [ ] 重要决策已记录
- [ ] 待确认假设已标注
- [ ] 未完成的代码变更已保存
- [ ] 下一步明确
## 压缩内容
- 当前进度
- 关键决策及原因
- 待处理项
- 下一步任务
```
## 使用方式
### 手动触发
```
/compact
```
### 自动建议
当达到以下条件时,系统会提示考虑压缩:
1. **工具调用数达到阈值**(默认 50 次)
2. **每隔一定间隔**(默认每 25 次工具调用后提醒)
## 配置
### 阈值配置
```bash
# 环境变量
export COMPACT_THRESHOLD=50 # 首次提醒的工具调用数
```
### Hook 配置
在 `settings.local.json` 中:
```json
{
"hooks": {
"PreToolUse": [
{
"matcher": "Edit|Write",
"hooks": [
{
"type": "command",
"command": "bash skills/strategic-compact/suggest-compact.sh"
}
],
"description": "在逻辑间隔建议压缩"
}
]
}
}
```
## 压缩摘要模板
压缩时,确保包含以下信息:
```markdown
## 会话摘要
### 完成的任务
1. [任务1描述]
2. [任务2描述]
### 关键决策
| 决策 | 原因 | 置信度 |
| ------- | ------ | -------- |
| [决策1] | [原因] | 高/中/低 |
### 当前状态
- 进度: [百分比或阶段]
- 阻塞: [如有]
### 待处理
- [ ] [待处理项1]
- [ ] [待处理项2]
### 下一步
[明确的下一步任务]
```
## 与其他命令配合
```
/compact # 执行压缩
/checkpoint # 创建检查点(包含压缩)
/memory # 更新记忆文件
/status # 查看当前状态
```
## 最佳实践
1. **阶段边界压缩** - 探索→实现,设计→编码
2. **记录再压缩** - 先更新 progress.md
3. **明确下一步** - 压缩摘要包含下一步
4. **不要中途压缩** - 避免在复杂任务中途
5. **关注上下文率** - 超过 70% 考虑压缩
6. **保留关键决策** - 重要决策带入新上下文
7. **标注待确认项** - 不确定的内容明确标注
---
**记住**:好的压缩时机比压缩本身更重要。在逻辑断点压缩,保持思维连贯性。