---
name: strategic-compact
description: 建議在邏輯斷點手動進行內容壓縮 (Context Compaction)，以確保在工作階段切換時能精準保留關鍵上下文，而非依賴系統自動壓縮。
---

# 策略性壓縮技能 (Strategic Compact Skill)

建議在工作流的「邏輯邊界」手動執行 `/compact` 指令，而非依賴系統隨機觸發的自動壓縮，從而更精準地管理上下文。

## 何時啟用

- 處理長達 200K+ Tokens 的長會話時。
- 在「研究 → 規劃 → 實作 → 測試」等多階段任務之間切換時。
- 在同一會話中切換至完全不相關的新任務時。
- 完成重大里程碑 (Milestone) 並準備開始新工作前。
- 當 Agent 回顯變慢或邏輯連貫性下降（上下文壓力增大）時。

## 為什麼需要「策略性」壓縮？

**系統自動壓縮**往往在隨機點觸發：
- 可能在任務中途發生，導致重要細節丟失。
- 無法識別邏輯上的任務邊界。

**在邏輯邊界手動壓縮**的優勢：
- **研究結束後 → 執行前**：壓縮冗長的探索過程，保留精煉後的實作計畫。
- **里程碑達成後**：為下一階段準備清新的上下文環境。
- **重心轉移前**：在處理新問題前，清空舊問題的干擾資訊。

## 決策指南

| 階段轉換點 | 建議壓縮？ | 決策理由 |
|-----------------|----------|-----|
| 研究完畢 → 進入規劃 | **是** | 研究過程佔用大量體積；規劃內容才是精華產出。 |
| 規劃完畢 → 進入實作 | **是** | 計畫已存入檔案或待辦清單 (TodoWrite)；釋放空間給程式碼。 |
| 實作完畢 → 進入測試 | **視情況** | 若測試需參考近期代碼則保留；若切換測試焦點則壓縮。 |
| 除錯完畢 → 下個功能 | **是** | 偵錯軌跡會污染與新工作無關的上下文。 |
| 實作中途 | **否** | 遺失變數名稱、路徑或局部狀態的代價極高。 |
| 嘗試失敗後 | **是** | 在嘗試新方法前，清空死胡同的推理過程。 |

## 壓縮後的存留狀況

了解哪些資訊會保留，能讓你更放心地執行壓縮：

- **會保留的項目**：`CLAUDE.md` 指令、`TodoWrite` 任務清單、`.claude/memory/` 記憶存檔、Git 狀態、磁碟檔案內容。
- **會丟失的項目**：中途推理與分析過程、先前讀過但未變動的檔案緩存、詳細的工具調用聯絡史。

## 實踐最佳實踐

1. **先儲存再壓縮**：在手動壓縮前，將關鍵發現或偏好記錄到 `MEMORY.md` 或 `CLAUDE.md` 中。
2. **配合摘要使用**：執行 `/compact` 時可帶上訊息，例如 `/compact 下一階段專注於實作身份驗證中間件`。
3. **規劃後執行**：一旦 `TodoWrite` 中的計畫定案，就是最佳壓縮時機。
