{
  "$schema": "https://a2aprotocol.org/schemas/agent-card.v1.json",
  "name": "PassbackAI",
  "description": "PassbackAI is the smart clipboard for the AI era — a station for the moment a long Claude, ChatGPT, Cursor, or Gemini answer comes back with five things wrong with it. Paste the draft, mark each passage where it sits (every comment ships with the verbatim quote AND the heading it's under — and for tables, the row or column the cell sits in), copy the structured export, paste it back into the chat. The model lands every fix on its exact target — no second round needed. The review tool runs entirely in your browser — paste, review, and export never leave the tab; a separate opt-in feature routes a document to a reviewer, which stores that doc on the backend (encrypted, server-managed keys). Free — $0, unlimited, no account, and no commercial tier.",
  "url": "https://passbackai.com/",
  "version": "1.0.0",
  "provider": {
    "organization": "PassbackAI",
    "url": "https://passbackai.com"
  },
  "documentationUrl": "https://passbackai.com/llms-full.txt",
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "stateTransitionHistory": false
  },
  "defaultInputModes": ["text/markdown", "text/plain"],
  "defaultOutputModes": ["text/markdown"],
  "skills": [
    {
      "id": "annotate-llm-answer",
      "name": "Annotate an LLM answer with anchored, multi-point feedback",
      "description": "Take a Markdown answer produced by an LLM, attach quoted-passage comments to specific spans, and emit a structured Markdown export pairing every comment with both the verbatim quote and the heading chain (or table row/column) it sits under. The export is designed to be pasted back into the originating chat so the model lands every fix on its exact target in one round-trip.",
      "tags": ["llm-feedback", "markdown", "annotation", "review", "prompt-engineering"],
      "examples": [
        "Give Claude five corrections on a 1,800-word answer in one paste, anchored.",
        "Tell ChatGPT exactly which row of a table to fix without it rewriting the whole document.",
        "Ship eleven scoped edits to Cursor's last README rewrite without it broadening into the rest of the file."
      ],
      "inputModes": ["text/markdown"],
      "outputModes": ["text/markdown"]
    },
    {
      "id": "passback",
      "name": "Weave the open points of any text into one interactive document — a primitive per ambiguity",
      "description": "Read any input (PRD, brief, retro, email, transcript), identify each unclear point — decisions not made, ambiguities, missing info — and author ONE Markdown document that gives every point the interaction primitive that fits: a single-choice (pick one), a multi-choice (pick many), an open-question (type an answer), a prioritize (rank a shortlist), or a questionnaire (a group of 3+ tightly-related questions). Prose carries the settled thinking and is itself a response channel (the reviewer annotates it). The document pastes into https://passbackai.com — or routes natively over MCP via the route_document tool — and renders as an interactive page; answers come back as structured data. Component palette at https://passbackai.com/ask (raw Markdown: https://passbackai.com/ask.md; JSON Schema: https://passbackai.com/schema.json); full skill at https://passbackai.com/skills/passback.md.",
      "tags": ["interactive-document", "decision-extraction", "open-questions", "questionnaire", "prioritize", "prompt-engineering", "claude", "chatgpt", "spec-review"],
      "examples": [
        "Turn a one-paragraph product brief into a woven page: prose context, a single-choice on auth, a prioritize on rollout order, an open-question on the deadline.",
        "Extract the unresolved decisions from a Slack retro and route the document back to the author over MCP.",
        "Pull the open questions out of an RFC and emit a document the engineer can paste into passbackai.com."
      ],
      "inputModes": ["text/markdown", "text/plain"],
      "outputModes": ["text/markdown"]
    }
  ],
  "supportsAuthenticatedExtendedCard": false
}
