Documentation

Progressive skills

Agents load capability on demand instead of carrying everything at once, which is why they stay effective on large codebases.

An agent working on your code needs a lot of potential knowledge: your conventions, the frameworks in play, how to run your tests, how to use each tool available to it. Loading all of that into every agent on every task would be slow, expensive, and counterproductive — a model given a hundred pages of irrelevant instruction reasons worse, not better.

Progressive skills is the alternative: agents carry a small core and load specific capability only when the work calls for it.

How it works

Each agent starts with what it always needs — its role, the task, the specification. Additional skills load in response to the work in front of it. An agent that encounters a database migration loads what it needs to handle migrations; one that never touches the database never pays for that knowledge.

Why it matters to you

Three practical consequences:

Cost. Tokens are the dominant variable cost of running agents, and context is most of the token spend. Loading only what is needed cuts that substantially.

Quality. This is the less obvious one and probably the more important. Model attention is finite. An agent whose context is mostly irrelevant material is more likely to miss the relevant part. A focused context produces better work, not just cheaper work.

Scale. It is what lets agents work effectively in large repositories. The alternative — trying to hold the whole codebase in context — stops working well before most real projects.

What you control

Not much, deliberately. Skill loading is automatic, driven by what the work requires.

What you do control is the context the agents draw on: Project context determines what is available to load in the first place. Curating that well matters more than trying to manage skills directly.