Skip to content
Back to skills

Context Budget

ASecurity

Measure and cut what a config costs in context every session: always-on rules, invocable descriptions, skills that never fire. Use when the window fills before any work starts, a session compacts mid-task, or it is unclear what loads every session. Auto-triggers on: "reduce token usage", "context is full", "what is loading", "trim the config", "context budget", "why is my context so big"

  • 4 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 27, 2026
ai-agentspythongobashgitfrontend

Works with

  • cursor

Security analysis

A100/100

Scanned October 1, 2026

npx -y skills add Univers42/claude-deal-with-the-devil --skill context-budget --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Context Budget?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Context Budget
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/univers42-context-budget/badge)](https://www.skillsdirectory.com/skills/univers42-context-budget)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: context-budget
description: >
  Measure and cut what a config costs in context every session: always-on rules,
  invocable descriptions, skills that never fire.
  Use when the window fills before any work starts, a session compacts mid-task, or it
  is unclear what loads every session.
  Auto-triggers on: "reduce token usage", "context is full", "what is loading",
  "trim the config", "context budget", "why is my context so big"
allowed-tools: Read, Edit, Grep, Glob, Bash
metadata:
  stage: beta
  since: "1.0.0"
---

# 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
devil context  # 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, and it
is deliberate. Verify with `devil selfcheck`, which fails on `globs:` and
`alwaysApply:`.

**2. Split a long skill.** `SKILL.md` holds the procedure; detail moves to a sibling
`reference.md` the skill reads when it reaches that step. `frontend` does this — the
body stays short, `reference.md` and `a11y.md` load only when relevant.

**3. Tighten descriptions.** Each one is always-on. One sentence plus the trigger
phrases. Trim the prose, keep the triggers — the triggers are what makes it fire.

**4. Delete what never fires.** `/skill-doctor` names skills that load and go unused.
An unused skill is pure always-on cost. Delete it; git has it.

**5. Fork the heavy read-only commands.** `context: fork` with `background: false`
runs the work in an isolated context and returns only the verdict, so the tool chatter
never enters the main window.

## 4. The habits that matter more than the config

Config is the fixed cost; these are the variable one, and usually larger:

- **Tools over re-reading.** `devil digest` returns the conclusion from a
  cache fingerprinted to git state. Hand-reading a tree to answer what a tool digested
  is the most expensive habit there is.
- **Read by query.** `rg`, `jq`, `Read` with offset/limit. Never slurp a file to find
  one symbol.
- **Memory over re-derivation.** A measured baseline or a decision belongs in agent
  memory; anything a tool re-derives does not (`rules/memory.md`).
- **Fork the sprawling work.** A wide search in a subagent returns the answer, not the
  file dumps.
- **Compact deliberately** at around half the window, rather than being compacted
  mid-task.

## 5. Re-measure and record

Run `devil context` again and state the before and after. A cut you did not
measure is a claim (`rules/prompt-contract.md`).

## Report

| | Before | After |
|---|---:|---:|
| Always-on rules | | |
| Invocable descriptions | | |
| **Always-on total** | | |

- Rules moved to `paths:`, skills split, descriptions tightened, skills deleted.
- Bytes saved per session, and the command that proves it.
- What you deliberately left always-on, and why it earns its place.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.