{
  "name": "AclipA",
  "description": "AclipA generates narrated demo videos, automated end-to-end tests, and step-by-step screenshot guides from any website URL. Provide a URL and a plain-language prompt; the AI navigates the site and produces all three outputs simultaneously.",
  "url": "https://aclipa.com",
  "version": "0.1.0",
  "documentationUrl": "https://aclipa.com/docs",
  "capabilities": {
    "streaming": true,
    "pushNotifications": true,
    "stateTransitionHistory": false
  },
  "defaultInputModes": ["text"],
  "defaultOutputModes": ["text", "data"],
  "negotiation": {
    "endpoint": "https://aclipa.com/api/negotiate",
    "method": "POST",
    "description": "POST {capabilities:[...]} to discover which capabilities are mutually supported. Returns supported/unsupported breakdown and protocol links."
  },
  "handoff": {
    "endpoint": "https://aclipa.com/api/handoff",
    "method": "GET",
    "description": "Returns a full cross-service handoff descriptor: entry points, available actions, authentication, and links for another agent to resume a task."
  },
  "streaming": {
    "sse": {
      "endpoint": "https://aclipa.com/api/events",
      "method": "GET",
      "contentType": "text/event-stream",
      "params": {"since": "Unix timestamp — only return events after this point"},
      "events": ["waitlist.joined", "contact.received"]
    }
  },
  "skills": [
    {
      "id": "get-product-info",
      "name": "Get Product Info",
      "description": "Returns structured information about AclipA: features, status, links, and API surface.",
      "tags": ["info", "discovery"],
      "inputModes": ["text"],
      "outputModes": ["data"],
      "examples": ["What does AclipA do?", "List AclipA features"]
    },
    {
      "id": "list-features",
      "name": "List Features",
      "description": "Returns the list of AclipA product features. Optional filter by category: video, testing, or guides.",
      "tags": ["features", "product"],
      "inputModes": ["text"],
      "outputModes": ["data"],
      "examples": ["GET /api/features", "GET /api/features?category=video"]
    },
    {
      "id": "search-faq",
      "name": "Search FAQ",
      "description": "Searches AclipA FAQ items by keyword or category. Supports ?q= for full-text search and ?category= for filtering.",
      "tags": ["faq", "search", "documentation"],
      "inputModes": ["text"],
      "outputModes": ["data"],
      "examples": ["GET /api/faq?q=Loom", "GET /api/faq?category=testing"]
    },
    {
      "id": "join-waitlist",
      "name": "Join Waitlist",
      "description": "Submits an email address to the AclipA early-access waitlist. Accepts JSON or multipart/form-data.",
      "tags": ["waitlist", "signup", "action"],
      "inputModes": ["data"],
      "outputModes": ["data"],
      "examples": ["POST /api/waitlist {\"email\": \"user@example.com\"}"]
    },
    {
      "id": "send-contact",
      "name": "Send Contact Message",
      "description": "Sends a message to the AclipA team. Requires name, email, and message. Accepts JSON or multipart/form-data.",
      "tags": ["contact", "message", "action"],
      "inputModes": ["data"],
      "outputModes": ["data"],
      "examples": ["POST /api/contact {\"name\": \"Agent\", \"email\": \"a@b.com\", \"message\": \"Hello\"}"]
    },
    {
      "id": "subscribe-webhook",
      "name": "Subscribe to Events via Webhook",
      "description": "Registers an HTTPS endpoint to receive real-time event notifications (waitlist.joined, contact.received). Responses are HMAC-SHA256 signed.",
      "tags": ["webhooks", "subscriptions", "push", "action"],
      "inputModes": ["data"],
      "outputModes": ["data"],
      "examples": ["POST /api/webhooks {\"url\": \"https://yourserver.com/hook\", \"events\": [\"waitlist.joined\"]}"]
    },
    {
      "id": "stream-events",
      "name": "Stream Events via SSE",
      "description": "Opens a Server-Sent Events stream returning platform events in real-time. Use ?since=<unix_ts> to resume from a checkpoint.",
      "tags": ["sse", "streaming", "events"],
      "inputModes": ["text"],
      "outputModes": ["data"],
      "examples": ["GET /api/events", "GET /api/events?since=1745000000"]
    },
    {
      "id": "negotiate-capabilities",
      "name": "Negotiate Capabilities",
      "description": "Posts a list of desired capabilities and receives a breakdown of supported vs. unsupported ones, along with protocol links.",
      "tags": ["negotiation", "discovery", "a2a"],
      "inputModes": ["data"],
      "outputModes": ["data"],
      "examples": ["POST /api/negotiate {\"capabilities\": [\"sse\", \"mcp\", \"webhooks\"]}"]
    },
    {
      "id": "run-workflow",
      "name": "Run Multi-Step Workflow",
      "description": "Executes a sequence of up to 10 actions in a single request. Steps run sequentially; execution stops on first error by default.",
      "tags": ["workflow", "orchestration", "automation"],
      "inputModes": ["data"],
      "outputModes": ["data"],
      "examples": ["POST /api/workflow {\"steps\": [{\"action\": \"search-faq\", \"params\": {\"q\": \"video\"}}, {\"action\": \"join-waitlist\", \"params\": {\"email\": \"a@b.com\"}}]}"]
    },
    {
      "id": "get-handoff",
      "name": "Get Cross-Service Handoff Descriptor",
      "description": "Returns a complete service descriptor for agent handoff: entry points, available actions, capabilities, and authentication details.",
      "tags": ["handoff", "cross-service", "discovery"],
      "inputModes": ["text"],
      "outputModes": ["data"],
      "examples": ["GET /api/handoff"]
    }
  ],
  "authentication": null,
  "provider": {
    "organization": "AclipA",
    "url": "https://aclipa.com",
    "contact": "https://aclipa.com/contact"
  }
}
