{
  "specVersion": "1.0",
  "host": {
    "displayName": "Chris Taylor",
    "identifier": "did:web:christaylor.ai",
    "url": "https://christaylor.ai",
    "description": "Engineer, architect, and educator. Portfolio, product line, and a chess engine."
  },
  "entries": [
    {
      "identifier": "urn:air:christaylor.ai:server:portfolio",
      "displayName": "christaylor.ai portfolio MCP server",
      "description": "Read-only tools over every published page, plus a chess engine that plays a real game and renders it as an animated GIF.",
      "type": "application/mcp-server-card+json",
      "url": "https://christaylor.ai/.well-known/mcp/server-card.json",
      "representativeQueries": [
        "what has Chris Taylor measured about AI-assisted development",
        "show me the GitHub Copilot adoption work at Coyote Logistics",
        "play a game of chess against a deterministic engine",
        "what projects has Chris Taylor shipped"
      ]
    },
    {
      "identifier": "urn:air:christaylor.ai:agent:concierge",
      "displayName": "christaylor.ai concierge",
      "description": "A2A v1.0 retrieval agent that answers by quoting and citing published pages.",
      "type": "application/a2a-agent-card+json",
      "url": "https://christaylor.ai/.well-known/agent-card.json",
      "representativeQueries": [
        "who is Chris Taylor and what does he do",
        "how do I get in touch with Chris Taylor"
      ]
    },
    {
      "identifier": "urn:air:christaylor.ai:skill:markdown-negotiation",
      "displayName": "Markdown negotiation",
      "description": "Fetch any page of christaylor.ai as clean markdown instead of HTML, using content negotiation or an index.md twin. Use when reading site content without parsing HTML.",
      "type": "text/markdown",
      "url": "https://christaylor.ai/.well-known/agent-skills/markdown-negotiation/SKILL.md",
      "representativeQueries": [
        "fetch a page as markdown instead of HTML",
        "read christaylor.ai without parsing HTML"
      ]
    },
    {
      "identifier": "urn:air:christaylor.ai:skill:play-chess",
      "displayName": "Play chess",
      "description": "Play a full game of chess against a deterministic engine over MCP. Each move returns how it ranked against every legal alternative, the board as an image to show the person watching, and the finished game as an animation. Use when asked to play chess.",
      "type": "text/markdown",
      "url": "https://christaylor.ai/.well-known/agent-skills/play-chess/SKILL.md",
      "representativeQueries": [
        "play a game of chess against an engine",
        "analyse this chess position and rank the legal moves",
        "show me an animated replay of a chess game"
      ]
    },
    {
      "identifier": "urn:air:christaylor.ai:skill:portfolio-search",
      "displayName": "Portfolio search",
      "description": "Search and quote the published work of Chris Taylor (engineer, architect, educator) at christaylor.ai, with citable URLs. Use when asked what Chris has built, measured, taught, or published.",
      "type": "text/markdown",
      "url": "https://christaylor.ai/.well-known/agent-skills/portfolio-search/SKILL.md",
      "representativeQueries": [
        "search Chris Taylor's portfolio for evidence",
        "what did Chris Taylor measure and where is it published"
      ]
    },
    {
      "identifier": "urn:air:christaylor.ai:doc:agent-guide",
      "displayName": "Agent guide",
      "description": "Every page with its markdown URL, and the agent endpoints, in one plain-text index.",
      "type": "text/plain",
      "url": "https://christaylor.ai/llms.txt",
      "representativeQueries": [
        "what pages does christaylor.ai publish",
        "where is the machine-readable index for christaylor.ai"
      ]
    },
    {
      "identifier": "urn:air:christaylor.ai:doc:authentication",
      "displayName": "Authentication",
      "description": "How an agent authenticates here, and why it does not have to.",
      "type": "text/markdown",
      "url": "https://christaylor.ai/auth.md",
      "representativeQueries": [
        "do I need a token to use christaylor.ai",
        "how does an agent register with christaylor.ai"
      ]
    }
  ]
}
