Back to skills
extension
Category: Development & EngineeringNo API key required

context-diet

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.

personAuthor: jakexiaohubgithub

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