{
  "version": "1.0.0",
  "name": "User Experience Researcher",
  "description": "An AI agent capable of creating, managing, and analyzing remote user usability tests via UserBob.com.",
  "categories": ["ux research", "user feedback"],
  "homepage": "https://userbob.com",
  "api_spec_url": "https://userbob.com/openapi.json",
  "auth": {
    "type": "api_key",
    "instructions": "Please login to your UserBob account and retrieve your API key from https://userbob.com/enterprise#apiKey",
    "parameter_name": "apiKey"
  },
  "contact_email": "support@userbob.com",
  "capabilities": {
    "test_constraints": {
      "min_users": 1,
      "max_users": 9,
      "min_duration_minutes": 1,
      "max_duration_minutes": 20,
      "polling_interval_seconds": 600
    },
    "demographic_options": [
      "Male", "Female", "Single", "Married", "Under30", "Over30", 
      "CollegeGrad", "NotCollegeGrad", "Pets", "NoPets", "Urban", 
      "NotUrban", "Kids", "NoKids", "Android", "iOS", 
      "<30k", ">30k", "<50k", ">50k", "<75k", ">75k"
    ]
  },
  "flows": [
    {
      "id": "start_usability_test",
      "description": "The sequence required to safely create and start a test with sufficient funds.",
      "steps": [
        {
          "action": "apiCreateTest",
          "url": "https://userbob.com/apiCreateTest",
          "note": "Returns the 'cost' of the requested test."
        },
        {
          "action": "apiGetBalance",
          "url": "https://userbob.com/apiGetBalance",
          "note": "Compare 'balance' with the 'cost' from the previous step."
        },
        {
          "action": "apiStartTest",
          "url": "https://userbob.com/apiStartTest",
          "condition": "Proceed only if balance >= cost"
        }
      ]
    }
  ],
  "pricing_logic": {
    "web_test": "numUsers * numMinutes",
    "mobile_web_test": "numUsers * (numMinutes + 1)",
    "app_test": "numUsers * (numMinutes + 2)"
  }
}
