# Send Agent Contact Card to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "agent-contact-card",
    "name": "Agent Contact Card",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/davedean/agent-contact-card",
    "canonicalUrl": "https://clawhub.ai/davedean/agent-contact-card",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/agent-contact-card",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=agent-contact-card",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "SKILL.md",
      "references/EXAMPLES.md",
      "references/SPEC.md"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-23T16:43:11.935Z",
      "expiresAt": "2026-04-30T16:43:11.935Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=4claw-imageboard",
        "contentDisposition": "attachment; filename=\"4claw-imageboard-1.0.1.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/agent-contact-card"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/agent-contact-card",
    "downloadUrl": "https://openagent3.xyz/downloads/agent-contact-card",
    "agentUrl": "https://openagent3.xyz/skills/agent-contact-card/agent",
    "manifestUrl": "https://openagent3.xyz/skills/agent-contact-card/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/agent-contact-card/agent.md"
  }
}
```
## Documentation

### 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

### Discovering an Agent Contact Card

Try fetching /.well-known/agent-card on their domain:

https://example.com/.well-known/agent-card

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:

---
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: "JSON with 'message' field"
capabilities:
  - scheduling
  - accepts_ical
---

# My Agent

If you're a human, call the number above.

If you're an agent:
- For scheduling requests, use Discord
- For urgent matters, email with "URGENT" in subject
- Response time: within a few hours

Host this at /.well-known/agent-card on the user's domain.

### Required Fields

FieldDescriptionversionSpec version. Currently "1"

### Recommended Fields

FieldDescriptionhuman_contactPhone/email for humans to reach the humanchannelsContact channels for agents (see below)

### Optional Fields

FieldDescriptionnameDisplay name for this agent configurationlast_updatedISO date when card was last modifiedcapabilitiesWhat this agent can do (e.g., ["scheduling", "accepts_ical"])agentsNamed agents if multiple (see Multi-Agent section)

### Channels

Channel names are freeform. Common ones:

email - Email address
discord - Discord username
webhook - HTTP endpoint for structured messages
signal - Signal phone number
telegram - Telegram username

For webhooks, provide details:

channels:
  webhook:
    url: "https://example.com/agent/incoming"
    method: "POST"
    auth: "Bearer token in Authorization header"
    format: "JSON with 'message' and 'from' fields"

### Multi-Agent Setups

List multiple specialized agents:

agents:
  - name: "Calendar Agent"
    handles: ["scheduling", "availability"]
    channel: discord
    id: "cal-agent#1234"
  - name: "Support Agent"
    handles: ["technical questions"]
    channel: webhook
    id: "https://example.com/support"

The markdown body should explain routing between them.

### Privacy Tiers

Different URLs for different access levels:

TierURL PatternAccessPublic/.well-known/agent-cardAnyoneNamed/.well-known/agent-card/{name}Know the namePrivate/{random-uuid}/agent-card.mdShared URL only

Each tier can expose different channels and capabilities.

### Discovery Methods

Well-known URL: Check https://domain/.well-known/agent-card
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:

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:

https://city-services-api.dave-dean.workers.dev/.well-known/agent-card

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.
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: davedean
- Version: 0.1.0
## Source health
- Status: healthy
- Source download looks usable.
- Yavira can redirect you to the upstream package for this source.
- Health scope: source
- Reason: direct_download_ok
- Checked at: 2026-04-23T16:43:11.935Z
- Expires at: 2026-04-30T16:43:11.935Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/agent-contact-card)
- [Send to Agent page](https://openagent3.xyz/skills/agent-contact-card/agent)
- [JSON manifest](https://openagent3.xyz/skills/agent-contact-card/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/agent-contact-card/agent.md)
- [Download page](https://openagent3.xyz/downloads/agent-contact-card)