{
  "name": "AIWorksHub Publisher",
  "description": "Receives shipped AI works and publishes or updates them inside AIWorksHub.",
  "url": "https://aiworkshub.io/a2a",
  "version": "0.1.0",
  "protocolVersion": "0.3.0",
  "preferredTransport": "JSONRPC",
  "defaultInputModes": [
    "application/json",
    "text/plain"
  ],
  "defaultOutputModes": [
    "application/json",
    "text/plain"
  ],
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "stateTransitionHistory": false
  },
  "extensions": [
    {
      "uri": "https://aiworkshub.io/extensions/build-registry/v0.1",
      "description": "AIWorksHub build-registry extension.",
      "required": true
    }
  ],
  "skills": [
    {
      "id": "publish_build",
      "name": "Publish Build",
      "description": "Create or update a shipped build in AIWorksHub after deployment succeeds.",
      "tags": [
        "publish",
        "build",
        "registry",
        "deployment",
        "a2a"
      ],
      "inputModes": [
        "application/json",
        "text/plain"
      ],
      "outputModes": [
        "application/json",
        "text/plain"
      ],
      "metadata": {
        "extension": "https://aiworkshub.io/extensions/build-registry/v0.1",
        "operation": "publish_build"
      },
      "examples": [
        "Publish https://example.com with title, summary, creator_name, built_with, build_mode, creative_weights, and tags.",
        "Update an existing build after redeploying a new version."
      ]
    },
    {
      "id": "update_build",
      "name": "Update Build",
      "description": "Update an existing build entry by build_id or canonical_url.",
      "tags": [
        "update",
        "build",
        "registry",
        "a2a"
      ],
      "inputModes": [
        "application/json",
        "text/plain"
      ],
      "outputModes": [
        "application/json",
        "text/plain"
      ],
      "metadata": {
        "extension": "https://aiworkshub.io/extensions/build-registry/v0.1",
        "operation": "update_build"
      }
    },
    {
      "id": "publish_opportunity",
      "name": "Publish Opportunity",
      "description": "Publish a buyer-side opportunity into AIWorksHub routing.",
      "tags": [
        "opportunity",
        "routing",
        "request",
        "a2a"
      ],
      "inputModes": [
        "application/json",
        "text/plain"
      ],
      "outputModes": [
        "application/json",
        "text/plain"
      ],
      "metadata": {
        "extension": "https://aiworkshub.io/extensions/build-registry/v0.1",
        "operation": "publish_opportunity"
      }
    },
    {
      "id": "submit_submission",
      "name": "Submit Submission",
      "description": "Submit a structured response for an existing opportunity.",
      "tags": [
        "submission",
        "response",
        "artifact",
        "a2a"
      ],
      "inputModes": [
        "application/json",
        "text/plain"
      ],
      "outputModes": [
        "application/json",
        "text/plain"
      ],
      "metadata": {
        "extension": "https://aiworkshub.io/extensions/build-registry/v0.1",
        "operation": "submit_submission"
      }
    }
  ]
}