context-budgetlisted
Install: claude install-skill Univers42/claude-deal-with-the-devil
# Context budget
Configuration is not free. Every always-on rule and every skill description is in the
window before you type anything, on every session, forever. The cost is invisible, which
is why it grows.
This repo shipped 11 rules using Cursor's `globs:`/`alwaysApply:` fields — which Claude
Code does not read — so **22,018 bytes loaded on every session**, including the Go and
REST rules on a Python project. Nothing reported it, because nothing measured it.
## 1. Measure
```sh
.claude/tools/context.sh # always-on vs lazy, per file
/skill-doctor # which loaded skills never actually fire
```
The number that matters is **always-on total**: always-on rules plus every invocable's
`description:`. Everything else loads only when it is needed.
## 2. Know what loads when
| Loads | What |
|---|---|
| **Every session** | `rules/*.md` with **no** `paths:` — full text |
| **Every session** | the `description:` of every skill, command and workflow |
| On a matching file | `rules/*.md` **with** `paths:` |
| On invocation | a skill, command or workflow body |
| In its own context only | an agent definition |
The whole lever is in the first two rows.
## 3. The cuts, in order of return
**1. Give a tech-scoped rule `paths:`.** The biggest single win, and the one most often
missed because the Cursor syntax looks like it works.
```yaml
---
paths:
- "**/*.go"
---
```
A universal rule keeps **no** frontmatter — that is the signal for always-load, a