# Context Checkup

> Audit what auto-loads into an agent session's context window and suggest lean, reversible fixes to cut startup tokens.

- Skill: `eai-org/context-checkup` (Agent Skill)
- Install (CLI): `npx skillmds@latest add eai-org/context-checkup`
- Raw SKILL.md: https://api.skillmd.com/api/skills/eai-org/context-checkup/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- License: MIT
- Author: eai-org (https://skillmd.com/u/eai-org)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/eai-org/context-checkup

---


# Context checkup

Find what loads **automatically** into the session's context at startup, quantify it, and propose
**reversible** trims ranked by payoff — shrink the startup context window by cutting what isn't
worth its tokens. Read-only — measure and recommend; change settings only on explicit approval.

## Mental model (spend attention top-down)

Cost hierarchy, biggest first:
1. **MCP tool schemas** — large, but **deferred** by tool search. Only a problem if tool search is
   OFF.
2. **Always-on text** — CLAUDE.md/AGENTS.md chain, `@imports`, and **skill/agent/command
   descriptions** (every available one's description loads every session).
3. **MCP server instructions** — load per enabled server at startup; a chatty preamble can dwarf its
   tool names.
4. **MCP tool names** — ~10 tokens each. Cheap; 30 names ≈ 300 tokens isn't worth a recommendation.

Rules: **measure, never guess** — `wc`/count, then attach a rough token figure to each finding.
**Rank by tokens-saved × reversibility.** Distinguish **auto-loaded** from **lazy-linked** (nested
AGENTS.md referenced from a parent are *not* loaded — don't flag them).

Tool-name counts, the skills/agents/commands lists, and tool-search status come from the **session's
system-reminders**, not disk — read them from your own context.

## Checklist

**0. Verify tool search is on first.** If `ENABLE_TOOL_SEARCH` is disabled, MCP schemas load eagerly
and every "names are cheap" conclusion flips. Check this before anything else.

**1. Always-on docs.** Measure the CLAUDE.md/AGENTS.md chain: project file + **every parent dir up
to root** + global `~/.claude/CLAUDE.md`. Expand `@import` lines (recursive). `wc -w` each.

**2. Descriptions (often the largest unexamined chunk).** Skim the in-session lists of **skills,
subagent types, and slash commands** — their descriptions are always loaded. Many rarely-used
entries = standing cost.

**3. MCP servers.** From `.mcp.json` + settings, list enabled servers. Count tool **names** per
server; note any server with long **instructions**. Flag servers irrelevant to the user's work.

**4. Enablement levers.** Read `~/.claude/settings.json`, project `.claude/settings.json`,
`.claude/settings.local.json`. Check `enableAllProjectMcpServers`, `enabledMcpjsonServers`,
`enabledPlugins`. Precedence: managed > local > project > user. Each plugin can pull in MCP servers,
skills, agents, hooks.

**5. Memory.** Size of `MEMORY.md` index.

## Output

A short sizes table (source → ≈ tokens → auto-loaded? → relevant to user's work?), then a
prioritized action list. For each action give the exact setting/file edit, the rough savings, and
how to reverse it (prefer per-session toggles). Skip anything under ~a few hundred tokens unless
asked to be exhaustive. Then ask before editing.

## Useful probes

```bash
# always-on doc chain (run from project root; also check parent dirs + ~/.claude/CLAUDE.md)
for f in CLAUDE.md AGENTS.md ../CLAUDE.md ~/.claude/CLAUDE.md; do [ -f "$f" ] && wc -w "$f"; done
# enabled MCP + settings
cat .mcp.json; cat .claude/settings.json .claude/settings.local.json ~/.claude/settings.json 2>/dev/null
```

