{
  "name": "Prasad Kavuri — Portfolio Agent",
  "description": "Answers questions about Prasad Kavuri's professional profile and runs the Governed Agent Platform reference workflow: a synthetic payment-exception review with per-tool authorization, human approval, and trajectory evaluation. All finance data is fictional.",
  "supportedInterfaces": [
    {
      "url": "https://www.prasadkavuri.com/api/a2a",
      "protocolBinding": "JSONRPC",
      "protocolVersion": "1.0"
    }
  ],
  "provider": {
    "url": "https://www.prasadkavuri.com",
    "organization": "Prasad Kavuri (personal portfolio)"
  },
  "version": "1.0.0",
  "documentationUrl": "https://www.prasadkavuri.com/demos/governed-agent-platform",
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "extendedAgentCard": false
  },
  "securitySchemes": {
    "agentAuth": {
      "httpAuthSecurityScheme": {
        "description": "Bearer credential issued by the auth.md flow (https://www.prasadkavuri.com/auth.md). Scopes: read:profile, finance:sandbox.",
        "scheme": "Bearer",
        "bearerFormat": "auth.md HMAC token"
      }
    }
  },
  "defaultInputModes": [
    "text/plain",
    "application/json"
  ],
  "defaultOutputModes": [
    "application/json",
    "text/plain"
  ],
  "skills": [
    {
      "id": "profile-brief",
      "name": "Profile brief",
      "description": "Returns a structured brief of Prasad Kavuri's current role, prior roles, and headline outcomes. No credential required.",
      "tags": [
        "profile",
        "career",
        "ai-platform-leadership"
      ],
      "examples": [
        "Who is Prasad Kavuri?",
        "Summarize Prasad's AI platform leadership."
      ],
      "inputModes": [
        "text/plain"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "payment-exception-review",
      "name": "Payment exception review (synthetic)",
      "description": "Reviews a fictional payment exception (PX-1001…PX-1004) through a policy-enforcing tool gateway. Pauses in TASK_STATE_INPUT_REQUIRED for human approval above threshold or when untrusted data is detected; resume by sending {\"decision\":\"approve\"|\"reject\"} on the same task. Requires the finance:sandbox scope.",
      "tags": [
        "agent-governance",
        "human-approval",
        "tool-authorization",
        "finance-ops-sandbox"
      ],
      "examples": [
        "{\"exceptionId\":\"PX-1002\"}",
        "Review payment exception PX-1003"
      ],
      "inputModes": [
        "application/json",
        "text/plain"
      ],
      "outputModes": [
        "application/json"
      ],
      "securityRequirements": [
        {
          "schemes": {
            "agentAuth": {
              "list": [
                "finance:sandbox"
              ]
            }
          }
        }
      ]
    }
  ]
}
