context-budgeting
Advanced context window management — token arithmetic, anchor budget math, compact strategies, progressive loading, and large codebase partitioning
What this skill does
# Context Budget Mastery
Master the art of managing Claude Code's context window for maximum productivity.
## Goal
Help users understand exactly where context is consumed, plan sessions that avoid hitting limits, and recover gracefully when context gets tight.
## Context Window Sizes
| Model | Context Window | Practical Limit |
|-------|---------------:|----------------:|
| Opus 4.6 | 200,000 tokens | ~180,000 usable |
| Sonnet 4.6 | 200,000 tokens | ~180,000 usable |
| Haiku 4.5 | 200,000 tokens | ~180,000 usable |
The ~20k overhead comes from system prompt, tool definitions, and framework messages that are always present.
## Token Arithmetic
### What consumes context
Every request to Claude includes ALL of the following:
| Component | Loaded When | Typical Size | Cached? |
|-----------|-------------|-------------:|---------|
| System prompt | Every turn | 3-5k tokens | Yes (after turn 1) |
| CLAUDE.md (all levels) | Every turn | 2-20k tokens | Yes (after turn 1) |
| Rules (unconditional) | Every turn | 1-10k tokens | Yes (after turn 1) |
| Rules (path-scoped) | When matching files opened | 0-5k tokens | Partially |
| Skill descriptions | Every turn | 1-5k tokens | Yes |
| MCP tool schemas | Every turn | 2-15k tokens | Yes |
| Conversation history | Every turn (grows) | 5-150k tokens | Partially |
| Tool results (latest) | Current turn | 0-10k tokens | No |
### The growth problem
Context grows with every turn because conversation history accumulates:
- Turn 1: ~30k (system + CLAUDE.md + rules + skills + MCP + message)
- Turn 5: ~50k (+ 4 turns of Q&A and tool calls)
- Turn 15: ~100k (+ tool outputs, file reads)
- Turn 30: ~180k (approaching limit — auto-compact triggers)
### Fixed vs. variable budget
```
Fixed overhead (always loaded):
System prompt ≈ 4,000 tokens
CLAUDE.md files ≈ 5,000 tokens (varies)
Unconditional rules ≈ 3,000 tokens (varies)
Skill descriptions ≈ 2,000 tokens (varies)
MCP tool schemas ≈ 5,000 tokens (varies)
─────────────────────────────────────────────────
Total fixed overhead ≈ 19,000 tokens
Variable (grows with session):
Conversation history = grows per turn
Tool results = per tool call
Loaded skill bodies = when skills activated
Path-scoped rules = when matching files read
```
Your **effective working budget** = 200,000 - fixed overhead - safety margin
## Anchor Budget Math
### What are anchors?
Anchors are pieces of context you want to survive `/compact`. Without anchoring, compaction summarizes everything, potentially losing critical state.
### Calculating anchor budget
Rule of thumb: anchors should consume < 10% of your context window.
```
Context window: 200,000 tokens
Target anchor budget: 20,000 tokens (10%)
Available for conversation: 180,000 - fixed overhead
```
### What to anchor
Priority anchoring targets:
1. Current task definition and constraints
2. Key decisions made during the session
3. File paths and line numbers of changes in progress
4. Error messages being investigated
5. Architecture notes discovered during exploration
### What NOT to anchor
- File contents (can be re-read)
- Full conversation history (that's what compact summarizes)
- Tool output (can be regenerated)
- Generic instructions (already in CLAUDE.md)
## Compact Strategies
### When to compact
| Signal | Action |
|--------|--------|
| Auto-compact triggers (system message) | Let it happen, but consider manual compact first |
| Context utilization > 70% | Good time for proactive compact |
| Shifting to a new sub-task | Compact to clear old context |
| After a long research phase | Compact before implementation |
| After reading many files | Compact to summarize findings |
### Focus strings
When compacting, provide a focus to guide summarization:
```
/compact Focus on the auth middleware refactor: keep the API contract, test failures, and migration plan
```
Good focus strings:
- Name the specific task
- List what must survive
- Mention key file paths
Bad focus strings:
- Empty (default summarization may miss important details)
- Too broad ("keep everything important")
- Too narrow ("only keep line 42 of auth.ts")
### What survives compact automatically
- CLAUDE.md content (re-read from disk)
- Rules files (re-read from disk)
- Skill descriptions (re-injected)
- MCP tool schemas (re-injected)
- Auto-memory notes (persisted to disk)
### What does NOT survive compact
- Conversation details (summarized, not preserved verbatim)
- Tool outputs (lost unless anchored)
- In-progress reasoning (summarized)
- File contents you read (must re-read)
## Progressive Loading
### The 82% savings pattern
Skills use progressive loading:
- **At startup**: only frontmatter (name, description, triggers) loaded — ~50 tokens per skill
- **When activated**: full skill body loaded — ~500-2000 tokens per skill
With 30 skills:
- All loaded: 30 × 1000 = 30,000 tokens
- Progressive: 30 × 50 + 3 active × 1000 = 4,500 tokens (85% savings)
### Applying progressive loading to your content
1. Keep CLAUDE.md focused on routing and short rules
2. Move reference material to skills (loaded on demand)
3. Use path-scoped rules (loaded only for matching files)
4. Use `@path` imports for large documents (loaded but can be excluded)
## Large Codebase Patterns
### When a repo is too big for one session
Signs you need to partition:
- Reading more than 30-40 files per session
- Context fills up before implementation starts
- Frequent auto-compaction interrupts
### Partitioning strategies
1. **Module-by-module**: tackle one module per session
2. **Research then implement**: research session → notes → implementation session
3. **Subagent delegation**: main context stays clean, subagents explore
4. **Multi-session plan**: plan in session 1, implement in session 2-N
### Using subagents for context isolation
```
Main context: task planning, implementation
└── Subagent 1: research existing patterns (Haiku)
└── Subagent 2: explore test coverage (Haiku)
└── Subagent 3: review dependencies (Haiku)
```
Each subagent gets its own 200k context window. Only summaries return to main context.
## Anti-Patterns
| Anti-Pattern | Problem | Fix |
|-------------|---------|-----|
| CLAUDE.md > 500 lines | Eats working budget every turn | Split into rules and skills |
| 10+ unconditional rules | High fixed overhead | Path-scope where possible |
| All skills model-invocable | Description tokens add up | Use `disable-model-invocation: true` for manual-only skills |
| Too many MCP servers | Schema tokens accumulate | Disconnect unused servers (`/mcp`) |
| No compaction strategy | Hit limit unpredictably | Compact proactively at 70% |
| Reading entire large files | Each read adds thousands of tokens | Use Grep to find specific content |
| Ignoring auto-memory | Re-discovering the same facts each session | Let auto-memory persist findings |
## Quick Reference
### Context health check
```
/cost → see current token usage
/compact → manually compact context
/memory → see what CLAUDE.md/rules are loaded
/mcp → see MCP server token costs
/model → check/change current model
```
### Rule of thumb targets
| Metric | Target |
|--------|--------|
| Fixed overhead | < 25k tokens (12.5% of 200k) |
| Working budget | > 150k tokens |
| Compact trigger | 70% utilization |
| Anchor budget | < 20k tokens |
| Skills active at once | ≤ 5 |
| MCP servers connected | ≤ 5 |
Related in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.