{
  "message": "This is the A2A JSON-RPC endpoint; it answers POST. The agent card below is also served at https://zckr.dev/.well-known/agent-card.json.",
  "methods": [
    "message/send",
    "tasks/get",
    "tasks/cancel",
    "agent/getAuthenticatedExtendedCard"
  ],
  "card": {
    "protocolVersion": "0.3",
    "name": "zckr.dev lab agent",
    "description": "Read-only access to Zac Acker's engineering lab: projects with measured results and causes of death, engineering notes and TILs, the tool stack, and dated monthly focus snapshots. Ask in a sentence; answers come back as task artifacts with source URLs. No authentication.",
    "url": "https://zckr.dev/api/a2a",
    "preferredTransport": "JSONRPC",
    "provider": {
      "organization": "zckr.dev",
      "url": "https://zckr.dev"
    },
    "version": "1.0.0",
    "documentationUrl": "https://zckr.dev/developers#a2a",
    "iconUrl": "https://zckr.dev/icon.svg",
    "capabilities": {
      "streaming": false,
      "pushNotifications": false,
      "stateTransitionHistory": false
    },
    "securitySchemes": {},
    "security": [],
    "defaultInputModes": [
      "text/plain"
    ],
    "defaultOutputModes": [
      "text/plain",
      "application/json"
    ],
    "skills": [
      {
        "id": "search_lab",
        "name": "Search the lab",
        "description": "Full-text search across every project, engineering note, and monthly currents snapshot on zckr.dev. Returns matches with a snippet and a URL. This is the right skill when the question names a topic rather than a project.",
        "tags": [
          "search",
          "projects",
          "notes",
          "research"
        ],
        "examples": [
          "What has Zac written about MCP servers?",
          "search the lab for local inference",
          "Find anything about agent memory"
        ],
        "inputModes": [
          "text/plain"
        ],
        "outputModes": [
          "text/plain",
          "application/json"
        ]
      },
      {
        "id": "get_project",
        "name": "Get a project's lab notebook",
        "description": "The full record for one experiment, problem, hypothesis, architecture, measured results, learnings, and, when it failed, its cause of death. Accepts a project slug or a name.",
        "tags": [
          "projects",
          "post-mortem",
          "metrics"
        ],
        "examples": [
          "Tell me about the swing-sight project",
          "What killed Nexus?",
          "project aeroslip"
        ],
        "inputModes": [
          "text/plain"
        ],
        "outputModes": [
          "text/plain",
          "application/json"
        ]
      },
      {
        "id": "list_projects",
        "name": "List projects by state",
        "description": "Every project in the lab with its lifecycle state (building, experiment, shipped, paused, dead) and type. Ask for a state by name to filter.",
        "tags": [
          "projects",
          "inventory",
          "status"
        ],
        "examples": [
          "What is Zac building right now?",
          "list the dead projects",
          "show me everything that shipped"
        ],
        "inputModes": [
          "text/plain"
        ],
        "outputModes": [
          "text/plain",
          "application/json"
        ]
      },
      {
        "id": "current_focus",
        "name": "Read the current focus",
        "description": "The latest monthly currents snapshot: what is getting a yes right now, what is being built, and what is being read, watched and obsessed over. Dated and immutable, so an old answer is honestly old.",
        "tags": [
          "currents",
          "now",
          "focus"
        ],
        "examples": [
          "What is Zac focused on this month?",
          "current focus",
          "what's he working on now"
        ],
        "inputModes": [
          "text/plain"
        ],
        "outputModes": [
          "text/plain",
          "application/json"
        ]
      }
    ],
    "supportsAuthenticatedExtendedCard": false
  }
}