Choosing: model vs skill vs tool
When an agent isn’t doing what you want, the fix usually lands in one of three places: the model (raw capability), a skill (reusable instructions), or a tool (an action in the outside world). Knowing which lever to pull saves time and cost.
The three levers
| Lever | What it changes | Reach for it when… |
|---|---|---|
| Model | How capable, fast, and expensive the agent’s reasoning is. | The task is genuinely hard, or responses are too slow/costly for what they need to be. |
| Skill | A reusable bundle of instructions the agent loads when a request matches it. | You want consistent behavior you’ll reuse across agents or requests. |
| Tool | An action that touches the outside world (search, send, fetch, run). | The agent needs to do something or get information it doesn’t already have. |
How to decide
Work through these in order — the cheapest fix first:
- Is the agent missing an action or live data? Add a tool. No amount of prompting lets a model send an email or read today’s records on its own.
- Is the behavior right but inconsistent, or repeated across agents? Use a skill so the same instructions apply every time, in one place.
- Is the reasoning itself falling short on real tasks? Move up to a stronger model — but only after confirming it’s a capability gap, not a prompt or knowledge gap.
Don’t reach for the model first
Upgrading the model is the most expensive lever and often the wrong one. Many “the model isn’t smart enough” problems are really:
- Unclear instructions — fix with better instructions.
- Missing context — fix with a knowledge base.
- A missing action — fix with a tool.
Skill vs. inline instructions
Both shape behavior, but a skill is reusable and centrally maintained. Prefer a skill when:
- The same behavior is needed across multiple agents.
- The instructions are long enough to clutter the system prompt.
- You want to update the behavior in one place.
Keep behavior inline when it’s unique to one agent and short.