An agent working on your code requires extensive knowledge: your coding conventions, the frameworks in use, how to run tests, and how to utilise each available tool. Loading all of this into every agent for every task would be slow, costly, and counterproductive — a model given hundreds of pages of irrelevant instructions performs worse, not better.
Progressive skills is the solution: agents carry a small core set of capabilities and load specific skills only when the task demands them.
How it works
Each agent begins with what it always needs — its role, the task, and the specification. Extra skills are loaded in response to the work at hand. An agent dealing with a database migration loads the necessary migration-handling skills; one that never interacts with the database never incurs the cost of those skills.
Why it matters to you
There are three practical outcomes:
Cost. Tokens constitute the main variable cost of running agents, and context accounts for most of the token usage. Loading only what is required significantly reduces this expense.
Quality. This effect is less obvious but likely more important. A model’s attention span is limited. An agent with a context full of irrelevant material is more prone to overlooking crucial details. A focused context yields better results, not just lower costs.
Scale. This enables agents to work efficiently in large repositories. The alternative — attempting to fit the entire codebase into the context — ceases to function well long before most real-world projects reach that stage.
What you control
Not much, intentionally. Skill loading happens automatically based on the requirements of the task.
What you can control is the context that agents use: Project context determines what can be loaded initially. Curating this context properly is more important than trying to manage skills directly.