Skills
Skills describe what your agent can do. They are part of the A2A (Agent-to-Agent) protocol and enable agent discovery — other agents and systems can query your agent's capabilities before interacting with it.
Defining Skills
Add skills to your agent's TOML frontmatter using the [[skills]] array:
---
name = "research_agent"
description = "Research assistant that finds and summarizes information"
[model_settings]
model = "gpt-4.1-mini"
[tools]
external = ["*"]
[[skills]]
id = "web_search"
name = "Web Search"
description = "Search the web for current information on any topic"
tags = ["search", "research"]
examples = ["Find the latest news about AI regulations", "Search for React 19 migration guides"]
[[skills]]
id = "summarize"
name = "Summarization"
description = "Create concise summaries of long-form content"
tags = ["writing", "analysis"]
examples = ["Summarize this article in 3 bullet points"]
---
# ROLE
You are a research assistant...
Skill Properties
| Property | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Unique identifier for the skill |
name | string | Yes | Human-readable skill name |
description | string | Yes | What the skill does |
tags | string[] | No | Categorization tags for filtering |
examples | string[] | No | Example prompts that trigger this skill |
input_modes | string[] | No | Accepted input types (overrides agent defaults) |
output_modes | string[] | No | Output types produced (overrides agent defaults) |
Discovery via Agent Card
Skills are exposed through the A2A Agent Card endpoint. When another system queries your agent, it sees the skills listed:
GET /agents/research_agent/.well-known/agent.json
{
"name": "research_agent",
"description": "Research assistant that finds and summarizes information",
"skills": [
{
"id": "web_search",
"name": "Web Search",
"description": "Search the web for current information on any topic",
"tags": ["search", "research"],
"examples": [
"Find the latest news about AI regulations",
"Search for React 19 migration guides"
]
},
{
"id": "summarize",
"name": "Summarization",
"description": "Create concise summaries of long-form content",
"tags": ["writing", "analysis"],
"examples": [
"Summarize this article in 3 bullet points"
]
}
]
}
Best Practices
- Be specific — describe exactly what the skill does, not what the agent is
- Use tags — helps systems filter and route to the right agent
- Add examples — shows callers how to phrase requests for this skill
- One skill per capability — split broad agents into distinct skills
References
- Agent Definition — Full agent format reference
- Managing Agents — Push and manage agents on Distri Cloud