A skill is a discrete, reusable capability packaged for agent use. Skills can be implemented as tool definitions, prompt templates, sub-workflows, or combinations thereof. They abstract away implementation details so that an agent (or orchestrator) can reason about capabilities at a high level — selecting the right skill for a subtask without needing to understand the underlying API calls or logic. Skill registries allow agents to discover and invoke capabilities dynamically based on task requirements.