I've been thinking about how we structure "skills" in agent systems.
Across different frameworks, "skills" can mean very different things:
- a tool / function
- a role or persona
- a multi-step workflow
But there are actually two separate questions here:
What does the skill describe?
- persona
- tool
- workflow
How does it execute?
- stateless (safe to retry, parallelize)
- stateful (has side effects, ordering matters)
Most frameworks mix these together.
That works fine in demos — but starts to break in real systems.
For example:
- a tool that reads data behaves very differently from one that writes data
- a workflow that analyzes is fundamentally simpler than one that publishes results
Once stateful steps are involved, you need more structure:
- checkpoints
- explicit handling of side effects
- sometimes even a "dry-run" step before execution
A simple way to think about it:
→ skills = (what it describes) × (how it executes)
Curious how others are thinking about this.
Do you explicitly distinguish between these two dimensions in your agent workflows?
[link] [comments]




