Skip to main content

ctxaudit

Audit the invisible context tax from agent skills, rules, and instruction files.

Every AI coding agent silently loads skills, rules, and instruction files into your context window. Most of this context is stale, duplicated, or irrelevant to what you're actually doing -- and it actively degrades agent performance. More context doesn't mean better results. Irrelevant instructions compete for attention, contradict each other, and push useful conversation history out of the window faster.

ctxaudit scans everything that gets loaded and shows you exactly what's eating your context -- so you can cut the noise.

Install & Run

uvx ctxaudit

Or install permanently:

uv tool install ctxaudit

What it scans

Source Platforms
Skills (SKILL.md) Claude Code, Cursor, Codex, Cline, Amp, Windsurf, Gemini CLI, Copilot, Roo Code, and more
Rules (.mdc, .md) Cursor, Claude Code, Roo Code, Windsurf, Cline
Instruction files CLAUDE.md, AGENTS.md, GEMINI.md, .cursorrules, .goosehints, etc.
Plugins Claude Code plugins (skills, agents, commands)

Both user-level (~/.claude/, ~/.cursor/, etc.) and project-level (.cursor/rules/, AGENTS.md, etc.) paths are scanned.

Example output

CONTEXT AUDIT  (project: ~/work/my-project)
──────────────────────────────────────────────────────

User-Level

  Claude Code (2 skills, 53 plugin items)
    ~/.claude/skills                              95 startup     4,170 full
    15 plugin skills                           1,087 startup    41,730 full
    19 plugin agents                           1,515 startup    22,781 full
    19 plugin commands                           242 startup    16,370 full
  Cursor (12 skills)
    ~/.cursor/skills, ~/.cursor/skills-cursor    244 startup    10,653 full

──────────────────────────────────────────────────────

Project-Level

  Cursor (48 files)
    .cursor/rules/always/project-index.mdc    1,353 always
    .cursor/rules/features/auth.mdc               11 description (5,738 full)
    ...

──────────────────────────────────────────────────────

  Scannable context: ~18,244 tokens loaded every session
  System overhead:  ~15,000-30,000 tokens (agent system prompt, tools, built-in instructions)
  Effective total:  ~33,244-48,244 tokens before you type anything
  Context used:    17-24% of 200,000 token window

What the columns mean

  • startup — tokens loaded into every session (skill metadata, always-on rules)
  • full — total tokens if the skill/rule is fully activated
  • always — loaded every session unconditionally
  • description — only the description is loaded at startup; the agent decides whether to load the full content
  • on-demand — not loaded at startup; only loaded when triggered by file globs or explicit invocation

Options

ctxaudit              # Scan user-level + current project
ctxaudit --user-only  # Scan user-level only (no project context)

Loading behavior by file type

File type Startup cost When fully loaded
Skill (SKILL.md) Name + description Agent decides to invoke it
Cursor rule (alwaysApply: true) Full content Always
Cursor rule (with description) Description only Agent decides it's relevant
Cursor rule (with globs) Nothing Matching file is open
Claude Code rule (no paths) Full content Always
Claude Code rule (with paths) Nothing Matching file is open
Instruction file (CLAUDE.md, etc.) Full content Always

License

MIT

Metadata

Release files for ctxaudit 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ctxaudit 0.1.0
File Size Uploaded
ctxaudit-0.1.0.tar.gz 38.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ctxaudit 0.1.0
File Interpreter ABI Platform
ctxaudit-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 51.8 kB

Release files / ctxaudit-0.1.0.tar.gz

Download URL ctxaudit-0.1.0.tar.gz
Size 38.9 kB
Tags Source
SHA-256 checksum
How to use checksums
d713bffc9e0a8afb603e411f4e70d49e88247896c963c4dd83c21931c57fc131
BLAKE2b-256 checksum
How to use checksums
4fe7f72ebb55783d8b92496562d5a4647b2ec68475cf8edaa8c2496b9be990e4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.6.9

Release files / ctxaudit-0.1.0-py3-none-any.whl

Download URL ctxaudit-0.1.0-py3-none-any.whl
Size 12.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2dd533aaff881604f22a50c7059fedf8097f92addaf232d5528ffbfaf7712b32
BLAKE2b-256 checksum
How to use checksums
8776c969e87d8161e0ac3178b7da9b0aa0b41fe2ec74d4d05e04a3e66becc1d3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.6.9

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page