Skip to main content

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

PropertyTypeRequiredDescription
idstringYesUnique identifier for the skill
namestringYesHuman-readable skill name
descriptionstringYesWhat the skill does
tagsstring[]NoCategorization tags for filtering
examplesstring[]NoExample prompts that trigger this skill
input_modesstring[]NoAccepted input types (overrides agent defaults)
output_modesstring[]NoOutput 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