mhylle/claude-skills-collection/strategic-compact
- community
Checking that the SKILL.md file is still in the repository.
Suggest context compaction at optimal logical boundaries — between phases, after a research burst, after a debugging session ends — rather than waiting for the automatic compaction threshold to hit mid-task. Use when the user asks whether to compact, mentions context is getting long, wants to checkpoint before a big task, or when you notice the session is approaching a natural transition where compacting would preserve the next phase's context. Complements (doesn't replace) Claude Code's built-in auto-compaction. Triggers on "/strategic-compact", "should I compact", "when should I clear context", "getting long", or proactively at phase boundaries and session transitions.
Install
npx vskill@latest install mhylle/claude-skills-collection/strategic-compactSKILL.md
Strategic Compact
<!-- contents: generated by tests/skill_structure.py --write; edit headings, not this block -->
Contents
- Why strategic > automatic
- When to use
- The core heuristic
- Suggest when…
- Don't suggest when…
- Threshold
- Preserve before compact
- Suggestion format
- Integration with other skills
- Core principles (keep these in mind)
- References (loaded on demand)
Reference files (open one when a step points to it):
references/boundary-rules.md: Boundary rules — when to suggest, when not toreferences/hook-setup.md: Hook setup and configuration
<!-- /contents -->
Suggest context compaction at logical boundaries — not arbitrary token thresholds. Auto-compaction is a safety net; strategic compaction is a workflow optimization that makes compaction feel like a natural pause instead of an interruption.
Why strategic > automatic
Auto-compaction fires on simple thresholds (token count, time). That creates real problems:
- Mid-task disruption — auto-compact might fire while you're debugging, losing the mental model built up over many interactions.
- Context fragmentation — arbitrary cutoffs create artificial boundaries in session history.
- Lost continuity — "why" decisions get compacted away at random points rather than preserved at meaningful boundaries.
- Incomplete state — mid-implementation compaction can lose partially completed work.
Strategic compaction instead:
- Monitors for logical boundaries (task completion, phase transitions, successful commits).
- Considers semantic state (actively debugging vs. between tasks).
- Provides suggestions — never forces compaction.
- Integrates with
context-saverto preserve critical state first. - Respects workflow rhythm rather than imposing arbitrary limits.
Goal: compaction that feels like a natural pause, not an interruption.
When to use
Passive monitoring — via PreToolUse hook that attaches to every tool call, tracks counters, and evaluates boundaries. Hook setup → references/hook-setup.md.
Direct invocation:
/strategic-compact— check current session state and get a recommendation./strategic-compact status— view tool counts and threshold proximity./strategic-compact now— force a suggestion (auto-invokes context-saver first).
Trigger phrases: "should I compact", "when should I clear context", "getting long", "checkpoint", "context is getting big".
The core heuristic
Two questions:
- Has enough work happened that compaction is worthwhile? (weighted tool-call count vs. threshold)
- Is this moment a good place to compact? (logical boundary vs. mid-task)
Both must be yes before suggesting. The full rule set is in references/boundary-rules.md. Summary:
Suggest when…
| Signal strength | Trigger | |
|---|---|---|
| Strong | Task completion (TaskUpdate → completed), + ≥60% threshold, + >10min since last suggestion | |
| Strong | Successful git commit, + ≥70% threshold, + no pending tasks in this feature | |
| Medium | New feature starting (TaskUpdate → in_progress after completing previous), + ≥50% threshold | |
| Warning (high priority) | Estimated context usage >80% + ≥90% threshold — prevent forced auto-compaction mid-task |
Don't suggest when…
- Active debugging — recent errors, investigation-pattern tool sequence, or task name contains "debug/fix/investigate".
- Active implementation — uncommitted changes, recent edits, unresolved test failures.
- User recently deferred — respect the last "not now".
- Critical operation in progress — rollback, migration, destructive commands.
- Last suggestion was <10 min ago — avoid nagging.
Threshold
Default: 50 weighted tool calls between logical boundaries.
"Significant" means the weighted count — raw tool calls multiplied by the weight table below. A tool call with weight 1.0 contributes 1 significant call; a Read with weight 0.5 contributes 0.5. Weights:
- Edit / Write / Bash / NotebookEdit / TaskUpdate — weight 1.0 (state-modifying or complex)
- Read — 0.5 (inspection, lower cognitive load)
- Glob / Grep — 0.3 (searches, low cost)
- WebFetch / WebSearch — 0.5 (external lookups)
Scenario-tuned thresholds (standard dev 50, debugging 75, quick fixes 30, large refactor 40, docs 60). Full config + dynamic adjustment rules → references/hook-setup.md.
Preserve before compact
When a suggestion is accepted, auto-invoke context-saver before compaction (via integrate_context_saver: true in hook config — default). This produces a handoff doc capturing:
- What was being worked on
- Files mid-edit with line numbers
- Decisions made
- Next steps
The compacted session can be resumed from that file. See context-saver/SKILL.md for the doc format.
Suggestion format
Keep suggestions informative but non-intrusive:
Always show why now — the specific boundary and conditions that triggered the suggestion. Users trust the heuristic faster when they can see its reasoning.
Minimal mode (for experienced users):
Integration with other skills
- `context-saver` — auto-invoked before compact. Captures in-flight state as a handoff doc.
- `implement-phase` — emits
phase_completeboundary events. - `create-plan` — plan creation emits a boundary.
- `code-review` — review completion emits a boundary.
Full integration specs → references/hook-setup.md.
Core principles (keep these in mind)
- Suggest, don't force — respect the user's workflow.
- Boundary-aware — align with natural pause points, not token counts.
- Context-preserving — always integrate with context-saver before compact.
- Configurable — adapt thresholds per project and scenario.
- Non-intrusive — clear but minimal suggestions; include the "why."
References (loaded on demand)
references/hook-setup.md— PreToolUse hook config, state tracking, tool weights, dynamic thresholds, per-project configuration, integration specs, troubleshootingreferences/boundary-rules.md— Full suggest-when / suppress-when rule specifications with YAML patterns, plus accept/defer heuristics for users
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/strategic-compact/SKILL.md
Popularity
- Repository stars
- 13
- 7-day trend score
- 13
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 7 Apr 2026, 6 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/mhylle/claude-skills-collection/strategic-compact)