spiiritual/claude-code-stuff/tree/main/plugins/better-compaction
better-compaction
一個 Claude Code 外掛,會把自動壓縮延後到回合結束,並以可設定的 effort 層級產生摘要,同時保留提示快取。
關於這個 mod
better-compaction 是透過 claude-code-stuff plugin marketplace 發布的 Claude Code mod。它改變壓縮的兩個面向:等模型回合結束後才自動壓縮(除非上下文超過可設定的門檻,預設 80%,或發生 prompt-too-long 錯誤),並以自己的 effort 層級(預設 medium)執行摘要,同時維持相同模型以保留提示快取。需要透過 CLAUDE_CODE_ENABLE_FUNCTION_HOOKS 啟用 function hooks。/config 提供 deferCompaction、deferUnderPercent 和 compactionEffort 設定。無頭模式下,延後的壓縮會在下一個提示開始時執行。儲存庫還包含 whiteboard-defense 外掛。
安裝
請先查看作者 README,確認 marketplace 與外掛名稱;指令可能隨儲存庫結構而變動。
claude plugin marketplace add spiiritual/claude-code-stuff claude plugin install better-compaction
原文 / README
claude-code-stuff
A Claude Code plugin marketplace.
/plugin marketplace add spiiritual/claude-code-stuff
/plugin install better-compaction@claude-code-stuff
better-compaction
A Claude Mod that fixes two things about compaction:
- Waits for the turn to end. Auto-compaction no longer interrupts the model mid-turn; it runs as soon as the turn finishes. Past 80% of the context window (configurable), or after a prompt-too-long error, it compacts mid-turn as usual.
- Summarizes at its own effort. The summary runs at a lower effort than the conversation (default
medium). The model stays the same, so the prompt cache is kept. Subagents running during a summary keep their own effort.
Mods need function hooks on. Add this to ~/.claude/settings.json:
{ "env": { "CLAUDE_CODE_ENABLE_FUNCTION_HOOKS": "1" } }
Settings, in /config:
| Option | Default | |
|---|---|---|
| deferCompaction | on | Wait for the turn to end before compacting |
| deferUnderPercent | 80 | Stop waiting once the context is this full (% of the window) |
| compactionEffort | medium | inherit, low, medium, high, xhigh or max |
Measured on a 214k-token session (3 runs each, recall quiz of 22 facts):
| Effort | Summary time | Quiz | |---|---|---| | low | 31s | 20.2 | | medium | 46s | 20.8 | | high | 59s | 20.7 | | xhigh | 76s | 19.8 | | max | 164s | 20.8 |
Recall was the same within noise at every level, while time grew with effort.
In headless mode (-p, SDK) the deferred compaction runs at the start of the next prompt instead of right after the turn.
whiteboard-defense
/plugin install whiteboard-defense@claude-code-stuff
For Mitchell Hashimoto's whiteboard defense: you should be able to explain any customer-facing system you ship and defend its decisions, even if Claude wrote the code.
/whiteboard-defense planreplaces the written plan. Claude draws the system as a real diagram, asks you the decisions that matter as consequence stories ("server dies mid-refund: customer charged with no refund, or refund 30s late?"), then has you explain it back./whiteboard-defense grillquizzes you after building: why X over Y, what a malicious user can do, where it fails. Answers are graded against the code, and drift from the plan is flagged.
Plans are saved as cards in the plugin's data folder, never in your repo.
The diagrams are pictures drawn in the transcript by a mod, so they need function hooks on (see above), macOS (it renders with the built-in qlmanage), and a terminal that shows images (Ghostty, kitty, iTerm2, WezTerm; not tmux). Anywhere else you get a text diagram.
