Add 'limitations' field to AgentCard
- Dominant language
- Shell
- Stars
- 25.7k
- Forks
- 2.6k
- Avg merge
- 3d 6h
- Merged PRs (30d)
- 16
Description
## Summary
Proposal to add an optional `limitations` field to the `AgentCard` message in the A2A specification.
## Motivation
Currently, the `AgentCard` describes what an agent **can** do (via `description`, `skills`, `capabilities`), but there is no structured way to express what an agent **cannot** do or where it may underperform.
Exposing limitations is important for:
- **Agent-to-agent orchestration**: A calling agent can make better routing decisions if it knows the limitations of downstream agents (e.g., language support, file size limits, domain restrictions).
- **User trust & transparency**: Users can set appropriate expectations before interacting with an agent.
- **Safety & compliance**: Explicitly declaring limitations helps prevent misuse in unsupported scenarios.
## Proposed Change
Add a `repeated string limitations` field to the `AgentCard` message in `specification/a2a.proto`:
```protobuf
// Optional. A human-readable description of the agent's limitations,
// helping users and other agents understand what the agent cannot do
// or where it may underperform.
// Example: ["Does not support languages other than English",
// "Cannot process images larger than 10MB"]
repeated string limitations = 15;
```
This field is optional (empty list by default) and fully backward-compatible.
## Examples
```json
{
"name": "Recipe Agent",
"description": "Agent that helps users with recipes and cooking.",
"limitations": [
"Does not support languages other than English",
"Cannot process images larger than 10MB",
"Not suitable for professional nutritional advice"
]
}
```
Contributor guide
Assessment
This issue has not been assessed yet.