mirror of
https://github.com/affaan-m/everything-claude-code.git
synced 2026-03-30 13:43:26 +08:00
136 lines
5.6 KiB
Markdown
136 lines
5.6 KiB
Markdown
---
|
||
name: context-budget
|
||
description: Audits Claude Code context window consumption across agents, skills, MCP servers, and rules. Identifies bloat, redundant components, and produces prioritized token-savings recommendations.
|
||
origin: ECC
|
||
---
|
||
|
||
# Context Budget
|
||
|
||
Analyze token overhead across every loaded component in a Claude Code session and surface actionable optimizations to reclaim context space.
|
||
|
||
## When to Use
|
||
|
||
- Session performance feels sluggish or output quality is degrading
|
||
- You've recently added many skills, agents, or MCP servers
|
||
- You want to know how much context headroom you actually have
|
||
- Planning to add more components and need to know if there's room
|
||
- Running `/context-budget` command (this skill backs it)
|
||
|
||
## How It Works
|
||
|
||
### Phase 1: Inventory
|
||
|
||
Scan all component directories and estimate token consumption:
|
||
|
||
**Agents** (`agents/*.md`)
|
||
- Count lines and tokens per file (words × 1.3)
|
||
- Extract `description` frontmatter length
|
||
- Flag: files >200 lines (heavy), description >30 words (bloated frontmatter)
|
||
|
||
**Skills** (`skills/*/SKILL.md`)
|
||
- Count tokens per SKILL.md
|
||
- Flag: files >400 lines
|
||
- Check for duplicate copies in `.agents/skills/` — skip identical copies to avoid double-counting
|
||
|
||
**Rules** (`rules/**/*.md`)
|
||
- Count tokens per file
|
||
- Flag: files >100 lines
|
||
- Detect content overlap between rule files in the same language module
|
||
|
||
**MCP Servers** (`.mcp.json` or active MCP config)
|
||
- Count configured servers and total tool count
|
||
- Estimate schema overhead at ~500 tokens per tool
|
||
- Flag: servers with >20 tools, servers that wrap simple CLI commands (`gh`, `git`, `npm`, `supabase`, `vercel`)
|
||
|
||
**CLAUDE.md** (project + user-level)
|
||
- Count tokens per file in the CLAUDE.md chain
|
||
- Flag: combined total >300 lines
|
||
|
||
### Phase 2: Classify
|
||
|
||
Sort every component into a bucket:
|
||
|
||
| Bucket | Criteria | Action |
|
||
|--------|----------|--------|
|
||
| **Always needed** | Referenced in CLAUDE.md, backs an active command, or matches current project type | Keep |
|
||
| **Sometimes needed** | Domain-specific (e.g. language patterns), not referenced in CLAUDE.md | Consider on-demand activation |
|
||
| **Rarely needed** | No command reference, overlapping content, or no obvious project match | Remove or lazy-load |
|
||
|
||
### Phase 3: Detect Issues
|
||
|
||
Identify the following problem patterns:
|
||
|
||
- **Bloated agent descriptions** — description >30 words in frontmatter loads into every Task tool invocation
|
||
- **Heavy agents** — files >200 lines inflate Task tool context on every spawn
|
||
- **Redundant components** — skills that duplicate agent logic, rules that duplicate CLAUDE.md
|
||
- **MCP over-subscription** — >10 servers, or servers wrapping CLI tools available for free
|
||
- **CLAUDE.md bloat** — verbose explanations, outdated sections, instructions that should be rules
|
||
|
||
### Phase 4: Report
|
||
|
||
Produce the context budget report:
|
||
|
||
```
|
||
Context Budget Report
|
||
═══════════════════════════════════════
|
||
|
||
Total estimated overhead: ~XX,XXX tokens
|
||
Context model: Claude Sonnet (200K window)
|
||
Effective available context: ~XXX,XXX tokens (XX%)
|
||
|
||
Component Breakdown:
|
||
┌─────────────────┬────────┬───────────┐
|
||
│ Component │ Count │ Tokens │
|
||
├─────────────────┼────────┼───────────┤
|
||
│ Agents │ N │ ~X,XXX │
|
||
│ Skills │ N │ ~X,XXX │
|
||
│ Rules │ N │ ~X,XXX │
|
||
│ MCP tools │ N │ ~XX,XXX │
|
||
│ CLAUDE.md │ N │ ~X,XXX │
|
||
└─────────────────┴────────┴───────────┘
|
||
|
||
WARNING: Issues Found (N):
|
||
[ranked by token savings]
|
||
|
||
Top 3 Optimizations:
|
||
1. [action] → save ~X,XXX tokens
|
||
2. [action] → save ~X,XXX tokens
|
||
3. [action] → save ~X,XXX tokens
|
||
|
||
Potential savings: ~XX,XXX tokens (XX% of current overhead)
|
||
```
|
||
|
||
In verbose mode, additionally output per-file token counts, line-by-line breakdown of the heaviest files, specific redundant lines between overlapping components, and MCP tool list with per-tool schema size estimates.
|
||
|
||
## Examples
|
||
|
||
**Basic audit**
|
||
```
|
||
User: /context-budget
|
||
Skill: Scans setup → 16 agents (12,400 tokens), 28 skills (6,200), 87 MCP tools (43,500), 2 CLAUDE.md (1,200)
|
||
Flags: 3 heavy agents, 14 MCP servers (3 CLI-replaceable)
|
||
Top saving: remove 3 MCP servers → -27,500 tokens (47% overhead reduction)
|
||
```
|
||
|
||
**Verbose mode**
|
||
```
|
||
User: /context-budget --verbose
|
||
Skill: Full report + per-file breakdown showing planner.md (213 lines, 1,840 tokens),
|
||
MCP tool list with per-tool sizes, duplicated rule lines side by side
|
||
```
|
||
|
||
**Pre-expansion check**
|
||
```
|
||
User: I want to add 5 more MCP servers, do I have room?
|
||
Skill: Current overhead 33% → adding 5 servers (~50 tools) would add ~25,000 tokens → pushes to 45% overhead
|
||
Recommendation: remove 2 CLI-replaceable servers first to stay under 40%
|
||
```
|
||
|
||
## Best Practices
|
||
|
||
- **Token estimation**: use `words × 1.3` for prose, `chars / 4` for code-heavy files
|
||
- **MCP is the biggest lever**: each tool schema costs ~500 tokens; a 30-tool server costs more than all your skills combined
|
||
- **Agent descriptions are loaded always**: even if the agent is never invoked, its description field is present in every Task tool context
|
||
- **Verbose mode for debugging**: use when you need to pinpoint the exact files driving overhead, not for regular audits
|
||
- **Audit after changes**: run after adding any agent, skill, or MCP server to catch creep early
|