Optimize Claude Code context window usage. Identify what to keep in context vs fetch on-demand. Use when context is bloated, responses are slow, hitting token limits, or want to slim down context.
Scanned 2/12/2026
Install via CLI
openskills install majiayu000/claude-skill-registry---
name: context-diet
description: Optimize Claude Code context window usage. Identify what to keep in context vs fetch on-demand. Use when context is bloated, responses are slow, hitting token limits, or want to slim down context.
allowed-tools: Read, Grep, Glob
---
# Context Diet
Optimizes context window usage for efficient Claude Code sessions.
## When to Use
- "Too much context"
- "Slim down context"
- "Hitting token limits"
- "Session feels slow"
- "What should I keep in context?"
## Context Budget
| Priority | Keep in Context | Fetch on Demand |
| ------------- | ----------------------- | ---------------------- |
| Always | CLAUDE.md (~500 tokens) | Full file contents |
| Task-specific | Current file | Related files |
| Reference | Function signatures | Implementation details |
## This Repo's Essential Files
### Always Relevant (Keep Short Reference)
| File | What to Know | Size |
| ------------------------ | -------------------------- | ----------- |
| `CLAUDE.md` | Commands, rules, structure | ~500 tokens |
| Active file being edited | Full content | Varies |
### Fetch When Needed
| Task | Files to Fetch |
| -------- | ---------------------------------------- |
| API work | `apps/web/app/api/_lib/`, specific route |
| Database | `packages/db/src/schema.ts` |
| Auth | `packages/auth/src/index.ts` |
| Tests | Specific test file only |
| Mobile | Specific screen/component |
### Skip (Already Known)
- Standard TypeScript patterns
- React/Next.js conventions
- Node.js fundamentals
- Common library usage
## Procedure
### Step 1: Assess Current Task
What's the user working on?
- Single file edit → Keep only that file
- Cross-package feature → Keep interface files, fetch impl
- Debugging → Keep error context, fetch related
### Step 2: Identify Essential Context
For the current task, what's truly needed?
```markdown
## Essential for This Task
1. {file1} - {why needed}
2. {file2} - {why needed}
## Can Fetch If Needed
- {file3} - Only if {condition}
- {file4} - Only if {condition}
## Skip
- {file5} - Already known / not relevant
```
### Step 3: Context Shortlist
Generate a minimal file list:
```markdown
## Context Shortlist
### Must Have (read fully)
- `{path}` - Active editing
### Reference Only (read signatures)
- `{path}` - Import types
- `{path}` - Check pattern
### Fetch If Blocked
- `{path}` - Implementation details
```
### Step 4: Recommend Actions
```markdown
## Recommendations
### To Reduce Context Now
1. {action} - saves ~{tokens}
2. {action} - saves ~{tokens}
### For Future Sessions
- Start with: "I'm working on {task}. Files: {shortlist}"
- Use subagents for exploration
- Split large tasks into focused sessions
```
## Context Patterns
### Bad (Context Bloat)
```
"Read the entire codebase"
"Show me all the packages"
"Give me everything about auth"
```
### Good (Focused)
```
"I'm editing apps/web/app/api/users/route.ts"
"Show me the getCurrentUser function signature"
"What tables are in the schema?"
```
## Token Estimates
| Item | ~Tokens |
| ----------------------- | --------- |
| Average TypeScript file | 500-1500 |
| Large component | 1000-2000 |
| Schema file | 800-1200 |
| Full CLAUDE.md | 500 |
| Test file | 400-800 |
## Guardrails
- DO NOT recommend skipping CLAUDE.md
- Always include the file being actively edited
- Prefer interfaces over implementations
- Suggest subagents for broad exploration
- Be specific about what "fetch if needed" means
No comments yet. Be the first to comment!