A tool is a capability an agent can invoke. Tools are how an agent reaches out into the world: read a file, run a shell command, fetch a URL, update a calendar, send a message, query a database.
Key properties:
- Side effects. Tools can mutate state. Calling a tool is not
free — it changes the world. That's why tool calls are usually logged, gated, or reversible.
- Structured input/output. Tools take typed arguments and return
typed results. The model sees the schema; the runtime sees the call.
- Composable. Tools can be chained. The output of one tool is the
input to the next, often through the model's reasoning step.
The simplest distinction between a tool and a skill: a tool is a thing the agent can do; a skill is a pattern for when and how to do it well.