| 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?
## 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:
## 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
## 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