skillbudget
Your agent's always-loaded context has a token budget. Spend it wisely — and fail CI when you blow it.
Every turn, before the user says a word, your coding agent loads CLAUDE.md, every
skill's description, and your always-apply rules into its context window. Teams quietly
let this grow to tens of thousands of tokens — one enterprise setup burned
143K of 200K tokens (72%) on definitions alone.
A bloated CLAUDE.md (>5K tokens) measurably shrinks the room left for actual work.
skillbudget measures that always-on surface and gives you a CI gate.
pipx install mujin-skillbudget
skillbudget scan --budget 8000 # exit 1 if always-on context exceeds the budget
always-on context budget: 8,000 tokens [estimated (~4 chars/token — pip install tiktoken for exact)]
1,853 CLAUDE.md
16 skill deploy · frontmatter
13 skill test · frontmatter
-------
1,882 TOTAL always-on (1,882/8,000 ok)
on-invocation (not counted — loads only when triggered):
500 skill deploy · body
suggestions:
- CLAUDE.md is 1,853 tokens — move rarely-needed guidance into on-demand skills.
What counts (and what doesn't)
The key insight most "context size" tools miss: skill bodies are lazy. A skill only puts its name + description into context until it's actually invoked. So skillbudget charges the always-on budget for:
CLAUDE.md(orAGENTS.md) — loaded every turn,- each skill's frontmatter (
.claude/skills/*/SKILL.mddescription), - Cursor rules with
alwaysApply: true.
…and reports skill bodies and glob-scoped rules separately as on-invocation cost — real, but only when triggered. Budget the thing that's always there.
Exact counts
By default it estimates (~4 chars/token, zero dependencies, fully offline). For exact
cl100k_base counts, pip install mujin-skillbudget[accurate] (pulls tiktoken) — it's
auto-detected.
CI gate
# .github/workflows/context-budget.yml
jobs:
skillbudget:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with: { python-version: "3.11" }
- run: pipx install mujin-skillbudget
- run: skillbudget scan --budget 8000 # fails the build if context bloats
--json for machine output, --no-fail to report without gating.
Part of a set
- agentsync — keep CLAUDE.md / AGENTS.md / Cursor / Copilot in sync.
- agentaudit — audit skills / MCP servers / plugins for security & quality.
Sync your config → budget its size → audit it for risk. Same files, same CI.
Built by Mujin Labs — tooling for the autonomous-agent era. MIT.
Metadata
Release files for mujin-skillbudget 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| mujin_skillbudget-0.1.0.tar.gz | 7.5 kB | Without provenance | Details for mujin_skillbudget-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| mujin_skillbudget-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for mujin_skillbudget-0.1.0-py3-none-any.whl |
Total release size: 15.9 kB
Release files / mujin_skillbudget-0.1.0.tar.gz
| Download URL | mujin_skillbudget-0.1.0.tar.gz |
|---|---|
| Size | 7.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3cb2130e1ebd33f6795e3d104267c28c26c3eef06249ef73e88d6be16bc419e5
|
|
BLAKE2b-256 checksum How to use checksums |
384d8a8767635ff3695c2c97226b1068cb400addfa2325a67d2efda4544cf983
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.3
|
Release files / mujin_skillbudget-0.1.0-py3-none-any.whl
| Download URL | mujin_skillbudget-0.1.0-py3-none-any.whl |
|---|---|
| Size | 8.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8f764b26043ecbf2ec0c0c9995b33494f388d81106d4f48df6ee54582bb289fd
|
|
BLAKE2b-256 checksum How to use checksums |
7cfeaf1b0c8b86a78a03e17964a996337399c2527b83222831564c79b93ebc9e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.3
|
Security for mujin-skillbudget 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.