{
  "protocolVersion": "0.3.0",
  "name": "rehabit.at Concierge",
  "description": "Finds, recommends and watches live events from the teachers behind the Rehabit future-self method, and hands you off to official ticket checkout.",
  "url": "https://rehabit.at/a2a",
  "preferredTransport": "JSONRPC",
  "additionalInterfaces": [
    {
      "url": "https://rehabit.at/a2a",
      "transport": "JSONRPC"
    }
  ],
  "version": "0.1.0",
  "provider": {
    "organization": "Rehabit",
    "url": "https://rehabit.us"
  },
  "documentationUrl": "https://rehabit.at/agents/",
  "iconUrl": "https://rehabit.at/favicon.svg",
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "stateTransitionHistory": true
  },
  "defaultInputModes": [
    "text/plain",
    "application/json"
  ],
  "defaultOutputModes": [
    "application/json",
    "text/plain"
  ],
  "skills": [
    {
      "id": "find_events",
      "name": "Find events",
      "description": "Search upcoming retreats, immersions and talks by teacher, place, dates, price, length or availability. Returns structured events with official ticket URLs and last-verified timestamps.",
      "tags": [
        "events",
        "search",
        "retreats"
      ],
      "examples": [
        "Upcoming Joe Dispenza retreats in the US",
        "Events in Mexico in February 2027"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "application/json",
        "text/plain"
      ]
    },
    {
      "id": "recommend",
      "name": "Recommend which event to attend",
      "description": "Ranks upcoming events against your constraints (budget, region, dates, length, experience) and explains the reasons for each ranking.",
      "tags": [
        "recommendation",
        "planning"
      ],
      "examples": [
        "Which Dispenza retreat should a beginner go to?",
        "A weekend immersion in the US under $1,000"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "application/json",
        "text/plain"
      ]
    },
    {
      "id": "watch",
      "name": "Watch for changes",
      "description": "Creates a watch on an event or a teacher. The daily sync records price, status and new-date changes on the returned task, and POSTs them to webhookUrl if one is given.",
      "tags": [
        "alerts",
        "tracking"
      ],
      "examples": [
        "Tell me when the April Cancún retreat opens",
        "Watch Gregg Braden for new events"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "application/json",
        "text/plain"
      ]
    },
    {
      "id": "get_tickets",
      "name": "Get tickets (handoff)",
      "description": "Prepares a ticket purchase: confirms the event is bookable, returns price, the official checkout URL and anything to check first. Forwards to the organizer's A2A agent when one is registered. Never takes payment; the task ends input-required for the human to complete checkout.",
      "tags": [
        "tickets",
        "booking",
        "handoff"
      ],
      "examples": [
        "Get me 2 tickets for Brian Scott in Nashville"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "application/json",
        "text/plain"
      ]
    },
    {
      "id": "get_event",
      "name": "Get one event",
      "description": "Full details for one event id, including tiers, capacity and provenance.",
      "tags": [
        "events"
      ],
      "examples": [
        "brian-scott-nashville-2027-01"
      ],
      "inputModes": [
        "text/plain",
        "application/json"
      ],
      "outputModes": [
        "application/json",
        "text/plain"
      ]
    }
  ]
}