Work with Obsidian vaults (plain Markdown notes) and automate via obsidian-cli.
npx skills add Miles0sage/claude-ultimate-stack --skill "strategic-compact"
Install specific skill from multi-skill repository
# Description
Suggests manual context compaction at logical intervals to preserve context through task phases rather than arbitrary auto-compaction.
# SKILL.md
name: strategic-compact
description: Suggests manual context compaction at logical intervals to preserve context through task phases rather than arbitrary auto-compaction.
origin: ECC
Strategic Compact Skill
Suggests manual /compact at strategic points in your workflow rather than relying on arbitrary auto-compaction.
When to Activate
- Running long sessions that approach context limits (200K+ tokens)
- Working on multi-phase tasks (research β plan β implement β test)
- Switching between unrelated tasks within the same session
- After completing a major milestone and starting new work
- When responses slow down or become less coherent (context pressure)
Why Strategic Compaction?
Auto-compaction triggers at arbitrary points:
- Often mid-task, losing important context
- No awareness of logical task boundaries
- Can interrupt complex multi-step operations
Strategic compaction at logical boundaries:
- After exploration, before execution β Compact research context, keep implementation plan
- After completing a milestone β Fresh start for next phase
- Before major context shifts β Clear exploration context before different task
How It Works
The suggest-compact.js script runs on PreToolUse (Edit/Write) and:
- Tracks tool calls β Counts tool invocations in session
- Threshold detection β Suggests at configurable threshold (default: 50 calls)
- Periodic reminders β Reminds every 25 calls after threshold
Hook Setup
Add to your ~/.claude/settings.json:
{
"hooks": {
"PreToolUse": [
{
"matcher": "Edit",
"hooks": [{ "type": "command", "command": "node ~/.claude/skills/strategic-compact/suggest-compact.js" }]
},
{
"matcher": "Write",
"hooks": [{ "type": "command", "command": "node ~/.claude/skills/strategic-compact/suggest-compact.js" }]
}
]
}
}
Configuration
Environment variables:
- COMPACT_THRESHOLD β Tool calls before first suggestion (default: 50)
Compaction Decision Guide
Use this table to decide when to compact:
| Phase Transition | Compact? | Why |
|---|---|---|
| Research β Planning | Yes | Research context is bulky; plan is the distilled output |
| Planning β Implementation | Yes | Plan is in TodoWrite or a file; free up context for code |
| Implementation β Testing | Maybe | Keep if tests reference recent code; compact if switching focus |
| Debugging β Next feature | Yes | Debug traces pollute context for unrelated work |
| Mid-implementation | No | Losing variable names, file paths, and partial state is costly |
| After a failed approach | Yes | Clear the dead-end reasoning before trying a new approach |
What Survives Compaction
Understanding what persists helps you compact with confidence:
| Persists | Lost |
|---|---|
| CLAUDE.md instructions | Intermediate reasoning and analysis |
| TodoWrite task list | File contents you previously read |
Memory files (~/.claude/memory/) |
Multi-step conversation context |
| Git state (commits, branches) | Tool call history and counts |
| Files on disk | Nuanced user preferences stated verbally |
Best Practices
- Compact after planning β Once plan is finalized in TodoWrite, compact to start fresh
- Compact after debugging β Clear error-resolution context before continuing
- Don't compact mid-implementation β Preserve context for related changes
- Read the suggestion β The hook tells you when, you decide if
- Write before compacting β Save important context to files or memory before compacting
- Use
/compactwith a summary β Add a custom message:/compact Focus on implementing auth middleware next
Token Optimization Patterns
Trigger-Table Lazy Loading
Instead of loading full skill content at session start, use a trigger table that maps keywords to skill paths. Skills load only when triggered, reducing baseline context by 50%+:
| Trigger | Skill | Load When |
|---|---|---|
| "test", "tdd", "coverage" | tdd-workflow | User mentions testing |
| "security", "auth", "xss" | security-review | Security-related work |
| "deploy", "ci/cd" | deployment-patterns | Deployment context |
Context Composition Awareness
Monitor what's consuming your context window:
- CLAUDE.md files β Always loaded, keep lean
- Loaded skills β Each skill adds 1-5K tokens
- Conversation history β Grows with each exchange
- Tool results β File reads, search results add bulk
Duplicate Instruction Detection
Common sources of duplicate context:
- Same rules in both ~/.claude/rules/ and project .claude/rules/
- Skills that repeat CLAUDE.md instructions
- Multiple skills covering overlapping domains
Context Optimization Tools
token-optimizerMCP β Automated 95%+ token reduction via content deduplicationcontext-modeβ Context virtualization (315KB to 5.4KB demonstrated)
Related
- The Longform Guide β Token optimization section
- Memory persistence hooks β For state that survives compaction
continuous-learningskill β Extracts patterns before session ends
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.