Agent Contact Card
A simple format for publishing how AI agents can be contacted. Like a vCard, but for agents.
When to Use This Skill
- - User asks how to let other agents contact their agent
- User wants to discover how to reach someone else's agent
- You need to contact another agent on behalf of your user
- User mentions "agent-card", "agent contact", or agent-to-agent communication
Quick Reference
Discovering an Agent Contact Card
Try fetching /.well-known/agent-card on their domain:
CODEBLOCK0
The file is markdown with YAML frontmatter. Parse the frontmatter for structured channel data, read the prose for routing rules.
Creating an Agent Contact Card
Create a markdown file with YAML frontmatter:
CODEBLOCK1
Host this at /.well-known/agent-card on the user's domain.
Format Details
Required Fields
| Field | Description |
|---|
| INLINECODE2 | Spec version. Currently INLINECODE3 |
Recommended Fields
| Field | Description |
|---|
| INLINECODE4 | Phone/email for humans to reach the human |
| INLINECODE5 |
Contact channels for agents (see below) |
Optional Fields
| Field | Description |
|---|
| INLINECODE6 | Display name for this agent configuration |
| INLINECODE7 |
ISO date when card was last modified |
|
capabilities | What this agent can do (e.g.,
["scheduling", "accepts_ical"]) |
|
agents | Named agents if multiple (see Multi-Agent section) |
Channels
Channel names are freeform. Common ones:
- -
email - Email address - INLINECODE12 - Discord username
- INLINECODE13 - HTTP endpoint for structured messages
- INLINECODE14 - Signal phone number
- INLINECODE15 - Telegram username
For webhooks, provide details:
CODEBLOCK2
Multi-Agent Setups
List multiple specialized agents:
CODEBLOCK3
The markdown body should explain routing between them.
Privacy Tiers
Different URLs for different access levels:
| Tier | URL Pattern | Access |
|---|
| Public | INLINECODE16 | Anyone |
| Named |
/.well-known/agent-card/{name} | Know the name |
| Private |
/{random-uuid}/agent-card.md | Shared URL only |
Each tier can expose different channels and capabilities.
Discovery Methods
- 1. Well-known URL: Check INLINECODE19
- vCard extension: Look for
X-AGENT-CARD field in contact cards - Ask the human: Request the URL directly
Reading an Agent Card
When you fetch an agent card:
- 1. Parse YAML frontmatter for structured data
- Read markdown body for natural language routing rules
- Choose appropriate channel based on your purpose
- Follow any authentication requirements mentioned
Test It
Here's a live demo you can test:
CODEBLOCK4
This is a fictional "City of Millbrook" tip line. Fetch the card, then try POSTing to the webhook endpoint. Your experience may vary depending on what you say.
Full Specification
See references/SPEC.md for the complete specification.
Examples
See references/EXAMPLES.md for more complete examples.
智能体联系名片
一种用于发布AI智能体联系方式的简易格式。类似电子名片,但专为智能体设计。
何时使用此技能
- - 用户询问如何让其他智能体联系自己的智能体
- 用户想要了解如何联系他人的智能体
- 你需要代表用户联系另一个智能体
- 用户提及智能体名片、智能体联系或智能体间通信
快速参考
发现智能体联系名片
尝试在其域名上获取/.well-known/agent-card:
https://example.com/.well-known/agent-card
该文件是带有YAML前置元数据的Markdown格式。解析前置元数据获取结构化渠道数据,阅读正文获取路由规则。
创建智能体联系名片
创建包含YAML前置元数据的Markdown文件:
markdown
version: 1
human_contact: +1 555 123 4567
channels:
email: agent@example.com
discord: my-agent#1234
webhook:
url: https://example.com/agent/incoming
method: POST
format: 包含message字段的JSON
capabilities:
- scheduling
- accepts_ical
我的智能体
如果您是人类,请拨打上方电话。
如果您是智能体:
- - 对于日程安排请求,请使用Discord
- 紧急事项请发送邮件,主题包含URGENT
- 响应时间:数小时内
将此文件托管在用户域名的/.well-known/agent-card路径下。
格式详情
必填字段
推荐字段
| 字段 | 描述 |
|---|
| human_contact | 供人类联系负责人的电话/邮箱 |
| channels |
智能体联系渠道(见下文) |
可选字段
| 字段 | 描述 |
|---|
| name | 此智能体配置的显示名称 |
| last_updated |
名片最后修改的ISO日期 |
| capabilities | 此智能体的能力(例如[scheduling, accepts_ical]) |
| agents | 多个智能体时的命名智能体(见多智能体章节) |
渠道
渠道名称可自由定义。常见的有:
- - email - 电子邮件地址
- discord - Discord用户名
- webhook - 用于结构化消息的HTTP端点
- signal - Signal电话号码
- telegram - Telegram用户名
对于Webhook,需提供详细信息:
yaml
channels:
webhook:
url: https://example.com/agent/incoming
method: POST
auth: Authorization头中的Bearer令牌
format: 包含message和from字段的JSON
多智能体配置
列出多个专业智能体:
yaml
agents:
- name: 日历智能体
handles: [scheduling, availability]
channel: discord
id: cal-agent#1234
- name: 支持智能体
handles: [technical questions]
channel: webhook
id: https://example.com/support
Markdown正文应说明它们之间的路由规则。
隐私层级
不同URL对应不同访问级别:
| 层级 | URL模式 | 访问权限 |
|---|
| 公开 | /.well-known/agent-card | 任何人 |
| 命名 |
/.well-known/agent-card/{name} | 需知道名称 |
| 私有 | /{random-uuid}/agent-card.md | 仅限共享URL |
每个层级可暴露不同的渠道和能力。
发现方法
- 1. 标准URL:检查https://domain/.well-known/agent-card
- vCard扩展:在联系卡片中查找X-AGENT-CARD字段
- 询问人类:直接请求URL
读取智能体名片
获取智能体名片后:
- 1. 解析YAML前置元数据获取结构化数据
- 阅读Markdown正文获取自然语言路由规则
- 根据目的选择合适的渠道
- 遵循任何提及的认证要求
测试
以下是一个可测试的在线演示:
https://city-services-api.dave-dean.workers.dev/.well-known/agent-card
这是一个虚构的米尔布鲁克市举报热线。获取名片后,尝试向Webhook端点发送POST请求。根据您发送的内容,体验可能有所不同。
完整规范
完整规范请参见references/SPEC.md。
示例
更多完整示例请参见references/EXAMPLES.md。