{
  "name": "Surf, Skate, or Bike",
  "description": "Given a free-time window and location, recommends surf, skate, bike, or work — call find_activity(available_window, user_location, preferences).",
  "url": "https://agentnativesurfskate.vercel.app/",
  "version": "0.1.0",
  "protocolVersion": "1.0",
  "provider": {
    "organization": "Surf or Skate",
    "url": "https://agentnativesurfskate.vercel.app/"
  },
  "capabilities": {
    "streaming": false,
    "pushNotifications": false
  },
  "securitySchemes": {
    "bearer": {
      "type": "http",
      "scheme": "bearer",
      "description": "Obtain via POST /credential — zero-gate, self-serve, no human approval required"
    }
  },
  "security": [{ "bearer": [] }],
  "skills": [
    {
      "id": "find_activity",
      "name": "find_activity",
      "description": "Recommends surf, skate, bike, or stay-and-work for a given free-time window, location, and preferences. Returns destination, departure time, travel time, and confidence.",
      "tags": ["activity-recommendation", "surf", "skate", "bike"],
      "examples": ["Surf or skate before my 3 PM meeting?"]
    }
  ],
  "x-invocation": {
    "credential": {
      "method": "POST",
      "url": "https://agentnativesurfskate.vercel.app/credential",
      "auth": "none",
      "returns": {
        "access_token": "string",
        "token_type": "bearer",
        "expires_in": "seconds",
        "scope": "find_activity"
      }
    },
    "find_activity": {
      "method": "POST",
      "url": "https://agentnativesurfskate.vercel.app/find_activity",
      "auth": "Authorization: Bearer <access_token>",
      "body": {
        "available_window": { "start": "ISO8601", "end": "ISO8601" },
        "user_location": { "lat": 0, "lon": 0 },
        "preferences": { "activities": ["surf", "skate", "bike", "stay"] }
      }
    }
  }
}
