Skip to main content
ClaudeWave
Skill2.3k repo starsupdated 4d ago

compact-guard

Compact Guard preserves critical context before Claude Code's automatic or manual compaction cycles by identifying the five most important files, documenting current task progress, architectural decisions, and blockers. Use this skill immediately when an auto-compact warning appears or before manually invoking the `/compact` command to ensure essential work state survives the context window reduction.

Install in Claude Code
Copy
git clone --depth 1 https://github.com/rohitg00/pro-workflow /tmp/compact-guard && cp -r /tmp/compact-guard/skills/compact-guard ~/.claude/skills/compact-guard
Then start a new Claude Code session; the skill loads automatically.

SKILL.md

# Compact Guard

Protect important context through compaction cycles. Based on Claude Code internals: compaction restores max 5 files with 5K tokens each, within a 50K total budget.

## Trigger

Use before `/compact` or when auto-compact warning appears.

## Key Constants (from Claude Code source)

- `POST_COMPACT_MAX_FILES_TO_RESTORE = 5` — only 5 files survive
- `POST_COMPACT_TOKEN_BUDGET = 50K` — total restore budget
- `POST_COMPACT_MAX_TOKENS_PER_FILE = 5K` — per-file limit
- Auto-compact fires at `context_window - 13K` buffer

## Pre-Compact Checklist

Before compacting, save these to memory or a scratch file:

1. **Current task** — What are you working on? One sentence.
2. **Files in progress** — Which files are being edited? (max 5 — compaction only restores 5)
3. **Decisions made** — Any architectural choices made this session
4. **Blockers** — What's preventing progress?
5. **Next steps** — What to do immediately after compact

## Strategy: Microcompact First

Before full compaction, try microcompact:
- Large tool results (test output, grep results) can be trimmed
- File reads that are no longer relevant can be dropped
- Use subagents for heavy exploration to keep main context clean

## Post-Compact Recovery

After compaction, immediately:

1. Re-read the top-priority file (the one you're actively editing)
2. Check task list for current progress
3. Review any scratch notes saved pre-compact
4. Resume from next steps

## Prevention Strategies

| Strategy | Token Savings | When |
|----------|--------------|------|
| Delegate grep/search to subagent | 30-60% per search | Always for broad searches |
| Read only needed lines (`offset`/`limit`) | 50-90% per read | Large files |
| Compact at task boundaries | Preserves coherence | Between logical steps |
| Use `/resume` for fresh start | 100% | Unrelated new task |

## Output

After running compact-guard:
```text
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.
```

## Rules

- Always save state before compacting — never compact blind
- Prioritize the file you're actively editing as #1 to restore
- If auto-compact fires unexpectedly, immediately re-read your working file
- Keep CLAUDE.md under 60 lines to leave room for actual context