Agent Capability Manifest
also known as Agent Card, Agent Capability Descriptor, Well-Known Agent Manifest
Let each agent publish a standardized self-description — identity, skills, endpoint, and auth needs — at a well-known location, so others discover it and bind by capability at runtime instead of through hardcoded coupling.
Context
A team is building systems where agents from different teams or vendors must work together — one agent calling another's service, a client routing a task to whichever agent can handle it. Each agent has an identity, a set of skills, an endpoint, and authentication requirements. The team has to decide how one agent or client learns what another agent can do and how to reach it, without that knowledge being baked into code on both sides.
Problem
Hardcoding which agent does what, where it lives, and how to authenticate couples every caller to every callee: when an agent changes its skills, endpoint, or auth, every caller breaks until it is updated by hand. Embedding the same facts in a central configuration moves the coupling but not the brittleness. And when agents come from different vendors, there is no shared way to even express what an agent offers, so integration is bespoke per pair. Without a common, machine-readable self-description, discovery is manual and binding is rigid.
Forces
- A caller needs to know another agent's skills, endpoint, and auth before it can use it.
- Hardcoding those facts couples every caller to every callee and breaks on change.
- Agents from different vendors need a shared way to express what they offer.
- Discovery should happen at runtime, by capability, not at build time by identity.
- The description must be machine-readable yet stable enough to bind against.
Example
A travel-planning agent needs a currency-conversion service it did not ship with. Instead of hardcoding an endpoint, it fetches candidate agents' capability manifests, finds one that advertises a 'currency.convert' skill with a reachable endpoint and an auth scheme it supports, and binds to it at runtime. When that service later moves hosts or adds a skill, it updates its manifest; the travel agent re-fetches and keeps working without a code change.
Diagram
Solution
Therefore:
Define a standard schema for an agent's self-description — identity, skills or capabilities, service endpoint, supported protocols, and authentication requirements — and have each agent serve it as a machine-readable manifest at a well-known, discoverable location. Callers and registries fetch the manifest to learn what the agent can do and how to reach it, then bind by capability rather than by hardcoded address. The manifest is versioned so consumers can detect change, and because the format is shared, agents from different vendors interoperate without bespoke per-pair integration. A registry can aggregate many manifests; a peer can also fetch one directly.
What this pattern forbids. A caller may not hardcode another agent's skills, endpoint, or auth; it must discover them from the agent's published manifest and bind by capability, and a manifest without a version cannot be safely cached.
And the patterns that stand alongside it, or against it —
- complementsInter-Agent Communication★— Define a protocol for agents to exchange tasks, capabilities, and results across process or vendor boundaries.
- complementsTool/Agent Registry★— Maintain a single queryable catalogue of both available tools and available agents, with metadata (capability, cost, latency, quality) the agent can use to pick the right one for a task.
Neighbourhood
Click any neighbour to follow the language. Scroll to zoom, drag to pan.