Implement ARD (Agentic Resource Discovery)

SkillAI & models

Lets your agent help you publish a catalog file on your website so AI agents can find your tools.

Instructions available. Your AI can read the instructions. Execution depends on the setup they require.

Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.

Then ask your AI: use the Implement ARD (Agentic Resource Discovery) skill

About this skill

Sub-skill: Implement ARD (Agentic Resource Discovery). Publish /.well-known/ai-catalog.json so agents can discover MCP servers, A2A agents, skills and API tools (agenticresourcediscovery.org / ai-catalog).

What this skill tells your AI

The instructions your AI receives, as published by fabricioctelles/skills in skills/agent-ready-cloudflare/ard/SKILL.md and read by ahel’s review.

Publish a capability manifest so agents can discover your MCP servers, A2A agents, skills and API tools, per the ARD spec and the ai-catalog data model.

The ARD spec is a v0.9 draft, so the scanner validates structure only and reports non-conformant identifiers and media types without failing the check.

Note that specVersion refers to the ai-catalog data model, not the ARD spec version, which is why the example below reads 1.0. The scanner only requires it to be a non-empty string.

Requirements

  • Serve /.well-known/ai-catalog.json from the origin root with Content-Type: application/json, HTTP 200, and Access-Control-Allow-Origin: *
  • Include a specVersion string and a non-empty entries array
  • Add a host object with displayName and a stable identifier
  • Each entry needs an identifier, a displayName, and a type media type
  • Each entry needs exactly one of url or data — never both, never neither (spec §3.4)
  • Use urn:air:<your-fqdn>:<namespace>:<name> for entry identifiers
  • Add 2-5 representativeQueries per entry so registries can build semantic embeddings

Example

{
  "specVersion": "1.0",
  "host": {
    "displayName": "Example Systems",
    "identifier": "did:web:example.com"
  },
  "entries": [
    {
      "identifier": "urn:air:example.com:server:weather",
      "displayName": "Weather Telemetry Server",
      "type": "application/mcp-server-card+json",
      "url": "https://example.com/mcp/weather.json",
      "representativeQueries": [
        "what is the wind speed in Chicago",
        "get the 5-day forecast for Seattle"
      ]
    }
  ]
}

Additional discovery mechanisms

The well-known path is the primary mechanism. Any of the following can point agents at a manifest hosted elsewhere (spec §6.1), and the scanner reports which ones you publish:

  • robots.txt: add an Agentmap: https://example.com/ai-catalog.json directive
  • HTML: add <link rel="ai-catalog" href="/.well-known/ai-catalog.json"> to <head>
  • DNS: publish a _catalog._agents.example.com TXT record containing url=https://example.com/.well-known/ai-catalog.json
  • DNS: publish a _search._agents.example.com SRV record to advertise a semantic search endpoint (reported only; the scanner never queries it)

Validate

POST https://isitagentready.com/api/scan
Content-Type: application/json

{"url": "https://YOUR-SITE.com"}

Check that checks.discovery.ard.status is "pass".

Signals

GitHub stars
98
Forks
8
Last commit
Oct 2026
Advanced
Item type
skill
Key
agent-ready-ard
Source
github.com/fabricioctelles/skills