{
  "specVersion": "1.0",
  "specSource": "https://github.com/ards-project/ard-spec",
  "specVersionNote": "Draft v0.9; tracked upstream via ADR-0012. Migrations to v1.0 are non-breaking for this manifest.",
  "host": {
    "displayName": "USERNAME.md",
    "identifier": "did:web:username.md",
    "documentationUrl": "https://username.md/developers.html"
  },
  "entries": [
    {
      "identifier": "urn:air:username.md:skill:username-md",
      "displayName": "USERNAME.md Skill",
      "type": "application/ai-skill+md",
      "url": "https://username.md/SKILL.md",
      "signatureUrl": "https://username.md/SKILL.md.sig",
      "description": "Teach an agent to resolve, verify, and act on username.md handles: lookups, content negotiation, signed-response verification, availability checks.",
      "tags": ["identity", "handles", "skill", "verification"],
      "representativeQueries": [
        "look up the username.md handle chris",
        "verify this profile response came from username.md",
        "is the handle NAME available on username.md"
      ]
    },
    {
      "identifier": "urn:air:username.md:mcp:identity-router",
      "displayName": "USERNAME.md MCP Server",
      "type": "application/mcp+json",
      "url": "https://mcp.username.md/mcp",
      "description": "Model Context Protocol server (streamable HTTP) for handle resolution, profile retrieval, and availability checks.",
      "tags": ["mcp", "identity", "handles"],
      "representativeQueries": [
        "resolve the handle chris",
        "get the JSON profile for a username.md handle",
        "check availability of a handle"
      ]
    },
    {
      "identifier": "urn:air:username.md:api:profiles",
      "displayName": "Profile API (content-negotiated, signed)",
      "type": "application/vnd.oai.openapi",
      "url": "https://username.md/openapi.yaml",
      "description": "Public REST API behind every handle. Profiles negotiate HTML, JSON, JSON-LD, Markdown, and signed JWS; every response is Ed25519-signed per RFC 9421.",
      "tags": ["api", "openapi", "rfc9421", "signed-responses"]
    },
    {
      "identifier": "urn:air:username.md:profile:platform",
      "displayName": "USERNAME.md platform identity",
      "type": "application/did+json",
      "url": "https://username.md/.well-known/did.json",
      "description": "did:web document for the platform itself. Per-handle DIDs resolve at username.md/users/<handle>/.well-known/atproto-did and /v1/users/<handle>.",
      "tags": ["did", "did-web", "identity"]
    },
    {
      "identifier": "urn:air:username.md:surface:agent-handshake",
      "displayName": "Agent surface descriptor",
      "type": "application/json",
      "url": "https://username.md/.well-known/agent.json",
      "description": "finger.md-schema surface map: site, docs, SKILL.md, DID, contact routes, and the .md family of related identity domains.",
      "tags": ["agent-handshake", "discovery", "finger.md"]
    },
    {
      "identifier": "urn:air:username.md:asset:brand-pack",
      "displayName": "Brand asset pack",
      "type": "application/json",
      "url": "https://username.md/assets/brand/manifest.json",
      "description": "Machine-readable brand manifest: /u/ mark + wordmark files with sha256 hashes and byte sizes, palette tokens for both themes, and usage rules. Human page at /brand.html, plain text at /brand.txt, full zip in the manifest's surfaces.zip.",
      "tags": ["brand", "press-kit", "assets", "logo", "discovery"],
      "representativeQueries": [
        "get the username.md logo",
        "what are the username.md brand colors",
        "am I allowed to use the username.md mark on my integration page"
      ]
    },
    {
      "identifier": "urn:air:username.md:surface:llms-txt",
      "displayName": "llms.txt",
      "type": "text/plain",
      "url": "https://username.md/llms.txt",
      "description": "Plain-text orientation for language models: what username.md is, which surfaces exist, and how to use them.",
      "tags": ["llms-txt", "discovery"]
    }
  ]
}
