{
  "schemaVersion": "1.0",
  "item": {
    "slug": "wheels-router",
    "name": "Wheels Router",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/anscg/wheels-router",
    "canonicalUrl": "https://clawhub.ai/anscg/wheels-router",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/wheels-router",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=wheels-router",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-07T17:22:31.273Z",
      "expiresAt": "2026-05-14T17:22:31.273Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
        "contentDisposition": "attachment; filename=\"afrexai-annual-report-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/wheels-router"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/wheels-router",
    "agentPageUrl": "https://openagent3.xyz/skills/wheels-router/agent",
    "manifestUrl": "https://openagent3.xyz/skills/wheels-router/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/wheels-router/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "What I do",
        "body": "I help you plan public transit trips anywhere in the world by connecting to the Wheels Router MCP server.\n\nFor Hong Kong trips, I use the Wheels Router API which provides:\n\nDetailed routing with MTR, bus, tram, ferry, and walking\nReal-time schedules and accurate fares\nPlatform information and exit details\nInterchange discounts (轉乘優惠) when available\n\nFor worldwide trips, I use the Transitous API which covers:\n\nMajor cities globally with transit data\nBasic routing with public transportation\nWalking directions and transfers"
      },
      {
        "title": "When to use me",
        "body": "Use this skill whenever you need to:\n\nPlan a trip using public transportation\nFind the best route between two locations\nCheck transit schedules and connections\nGet fare estimates for Hong Kong transit\nSearch for locations before planning routes\n\nExamples:\n\n\"How do I get from Yau Tong MTR to Hong Kong Airport?\"\n\"What's the best way to Central from Causeway Bay right now?\"\n\"Plan a trip from Tokyo Station to Shibuya\"\n\"Search for locations near Victoria Park\""
      },
      {
        "title": "If you're using mcporter (clawdbot, etc.)",
        "body": "Follow your mcporter skill, if you don't have one follow below:\nAdd to config/mcporter.json:\n\n{\n  \"mcpServers\": {\n    \"wheels-router\": {\n      \"description\": \"Plan public transit trips globally\",\n      \"baseUrl\": \"https://mcp.justusewheels.com/mcp\"\n    }\n  }\n}\n\nThen call tools directly:\n\nnpx mcporter call wheels-router.search_location query=\"Hong Kong Airport\"\nnpx mcporter call wheels-router.plan_trip origin=\"22.28,114.24\" destination=\"22.31,113.92\""
      },
      {
        "title": "For other MCP clients",
        "body": "Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):\n\n{\n  \"mcpServers\": {\n    \"wheels-router\": {\n      \"command\": \"npx\",\n      \"args\": [\"mcp-remote\", \"https://mcp.justusewheels.com/mcp\"]\n    }\n  }\n}\n\nCursor/Windsurf/VS Code (.cursor/mcp.json or similar):\n\n{\n  \"mcpServers\": {\n    \"wheels-router\": {\n      \"command\": \"npx\",\n      \"args\": [\"mcp-remote\", \"https://mcp.justusewheels.com/mcp\"]\n    }\n  }\n}"
      },
      {
        "title": "search_location",
        "body": "Search for places before planning trips. Always use this first if you don't have exact coordinates.\n\nParameters:\n\nquery (required): Place name or address (e.g., \"Hong Kong Airport\", \"Yau Tong MTR Exit A2\")\nlimit (optional): Number of results (1-10, default 5)\n\nExample:\n\nsearch_location({\n  query: \"Hong Kong International Airport\",\n  limit: 3\n})\n\nReturns:\n\ndisplay_name: Full address\nlat, lon: Coordinates for use in plan_trip\ntype, class: Location category"
      },
      {
        "title": "plan_trip",
        "body": "Plan a transit route between two points.\n\nParameters:\n\norigin (required): Starting point as \"lat,lon\" or \"stop:ID\"\ndestination (required): Ending point as \"lat,lon\" or \"stop:ID\"\ndepart_at (optional): ISO 8601 departure time (e.g., \"2026-01-26T10:00:00+08:00\")\narrive_by (optional): ISO 8601 arrival deadline\nmodes (optional): Comma-separated modes like \"mtr,bus,ferry\" (only specify if needed)\nmax_results (optional): Limit number of route options (1-5)\n\nExample:\n\nplan_trip({\n  origin: \"22.2836,114.2358\",\n  destination: \"22.3080,113.9185\",\n  depart_at: \"2026-01-26T14:30:00+08:00\",\n  max_results: 3\n})\n\nReturns:\n\nplans: Array of route options\n\nduration_seconds: Total trip time\nfares_min, fares_max: Fare range in HKD (Hong Kong only)\nlegs: Step-by-step directions\n\ntype: \"walk\", \"transit\", \"wait\", \"station_transfer\"\nTransit legs include: route name, headsign, stops, platform info\nWalk legs include: distance, duration"
      },
      {
        "title": "Best practices",
        "body": "Always search first: Use search_location to find coordinates before calling plan_trip\nUse coordinates: Plan trips with lat,lon format for best results\nSpecify times: Include depart_at or arrive_by for accurate schedules\nCheck multiple options: Request 2-3 route options with max_results\nUnderstand fares: fares_min and fares_max show the range—interchange discounts are noted separately when available"
      },
      {
        "title": "Important notes",
        "body": "Interchange discounts (轉乘優惠): Only shown when explicitly present in Hong Kong routes, not all routes qualify\nReal-time data: Hong Kong routes use live schedules; worldwide coverage may vary\nTime zones: Use UTC or local timezone offsets (HKT is UTC+8)\nCoverage: Best for Hong Kong; worldwide coverage varies by city"
      },
      {
        "title": "Example workflow",
        "body": "// 1. Search for locations\nconst origins = await search_location({ \n  query: \"Yau Tong MTR Station\", \n  limit: 1 \n});\n\nconst destinations = await search_location({ \n  query: \"Hong Kong Airport\", \n  limit: 1 \n});\n\n// 2. Plan the trip\nconst routes = await plan_trip({\n  origin: `${origins[0].lat},${origins[0].lon}`,\n  destination: `${destinations[0].lat},${destinations[0].lon}`,\n  depart_at: \"2026-01-26T15:00:00+08:00\",\n  max_results: 2\n});\n\n// 3. Present the best options to the user or present specific results but only if user asked specifically. By default just give them something like \"[walk] > [3D] > [walk] > [Kwun Tong Line] > [walk]\"- unless they ask for specifics."
      },
      {
        "title": "Error handling",
        "body": "\"Could not find location\": Try a more specific search query\n\"No routes found\": Check if coordinates are valid and in a covered area\n\"Invalid time format\": Ensure ISO 8601 format with timezone\nRate limits: Be mindful of API usage, cache results when appropriate"
      },
      {
        "title": "Coverage areas",
        "body": "✅ Full coverage: Hong Kong (MTR, bus, tram, ferry, detailed fares)\n✅ Good coverage: Major global cities with Transitous data\n⚠️ Limited coverage: Smaller cities may have incomplete transit data"
      }
    ],
    "body": "What I do\n\nI help you plan public transit trips anywhere in the world by connecting to the Wheels Router MCP server.\n\nFor Hong Kong trips, I use the Wheels Router API which provides:\n\nDetailed routing with MTR, bus, tram, ferry, and walking\nReal-time schedules and accurate fares\nPlatform information and exit details\nInterchange discounts (轉乘優惠) when available\n\nFor worldwide trips, I use the Transitous API which covers:\n\nMajor cities globally with transit data\nBasic routing with public transportation\nWalking directions and transfers\nWhen to use me\n\nUse this skill whenever you need to:\n\nPlan a trip using public transportation\nFind the best route between two locations\nCheck transit schedules and connections\nGet fare estimates for Hong Kong transit\nSearch for locations before planning routes\n\nExamples:\n\n\"How do I get from Yau Tong MTR to Hong Kong Airport?\"\n\"What's the best way to Central from Causeway Bay right now?\"\n\"Plan a trip from Tokyo Station to Shibuya\"\n\"Search for locations near Victoria Park\"\nHow to connect\nIf you're using mcporter (clawdbot, etc.)\n\nFollow your mcporter skill, if you don't have one follow below: Add to config/mcporter.json:\n\n{\n  \"mcpServers\": {\n    \"wheels-router\": {\n      \"description\": \"Plan public transit trips globally\",\n      \"baseUrl\": \"https://mcp.justusewheels.com/mcp\"\n    }\n  }\n}\n\n\nThen call tools directly:\n\nnpx mcporter call wheels-router.search_location query=\"Hong Kong Airport\"\nnpx mcporter call wheels-router.plan_trip origin=\"22.28,114.24\" destination=\"22.31,113.92\"\n\nFor other MCP clients\n\nClaude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):\n\n{\n  \"mcpServers\": {\n    \"wheels-router\": {\n      \"command\": \"npx\",\n      \"args\": [\"mcp-remote\", \"https://mcp.justusewheels.com/mcp\"]\n    }\n  }\n}\n\n\nCursor/Windsurf/VS Code (.cursor/mcp.json or similar):\n\n{\n  \"mcpServers\": {\n    \"wheels-router\": {\n      \"command\": \"npx\",\n      \"args\": [\"mcp-remote\", \"https://mcp.justusewheels.com/mcp\"]\n    }\n  }\n}\n\nAvailable tools\nsearch_location\n\nSearch for places before planning trips. Always use this first if you don't have exact coordinates.\n\nParameters:\n\nquery (required): Place name or address (e.g., \"Hong Kong Airport\", \"Yau Tong MTR Exit A2\")\nlimit (optional): Number of results (1-10, default 5)\n\nExample:\n\nsearch_location({\n  query: \"Hong Kong International Airport\",\n  limit: 3\n})\n\n\nReturns:\n\ndisplay_name: Full address\nlat, lon: Coordinates for use in plan_trip\ntype, class: Location category\nplan_trip\n\nPlan a transit route between two points.\n\nParameters:\n\norigin (required): Starting point as \"lat,lon\" or \"stop:ID\"\ndestination (required): Ending point as \"lat,lon\" or \"stop:ID\"\ndepart_at (optional): ISO 8601 departure time (e.g., \"2026-01-26T10:00:00+08:00\")\narrive_by (optional): ISO 8601 arrival deadline\nmodes (optional): Comma-separated modes like \"mtr,bus,ferry\" (only specify if needed)\nmax_results (optional): Limit number of route options (1-5)\n\nExample:\n\nplan_trip({\n  origin: \"22.2836,114.2358\",\n  destination: \"22.3080,113.9185\",\n  depart_at: \"2026-01-26T14:30:00+08:00\",\n  max_results: 3\n})\n\n\nReturns:\n\nplans: Array of route options\nduration_seconds: Total trip time\nfares_min, fares_max: Fare range in HKD (Hong Kong only)\nlegs: Step-by-step directions\ntype: \"walk\", \"transit\", \"wait\", \"station_transfer\"\nTransit legs include: route name, headsign, stops, platform info\nWalk legs include: distance, duration\nBest practices\nAlways search first: Use search_location to find coordinates before calling plan_trip\nUse coordinates: Plan trips with lat,lon format for best results\nSpecify times: Include depart_at or arrive_by for accurate schedules\nCheck multiple options: Request 2-3 route options with max_results\nUnderstand fares: fares_min and fares_max show the range—interchange discounts are noted separately when available\nImportant notes\nInterchange discounts (轉乘優惠): Only shown when explicitly present in Hong Kong routes, not all routes qualify\nReal-time data: Hong Kong routes use live schedules; worldwide coverage may vary\nTime zones: Use UTC or local timezone offsets (HKT is UTC+8)\nCoverage: Best for Hong Kong; worldwide coverage varies by city\nExample workflow\n// 1. Search for locations\nconst origins = await search_location({ \n  query: \"Yau Tong MTR Station\", \n  limit: 1 \n});\n\nconst destinations = await search_location({ \n  query: \"Hong Kong Airport\", \n  limit: 1 \n});\n\n// 2. Plan the trip\nconst routes = await plan_trip({\n  origin: `${origins[0].lat},${origins[0].lon}`,\n  destination: `${destinations[0].lat},${destinations[0].lon}`,\n  depart_at: \"2026-01-26T15:00:00+08:00\",\n  max_results: 2\n});\n\n// 3. Present the best options to the user or present specific results but only if user asked specifically. By default just give them something like \"[walk] > [3D] > [walk] > [Kwun Tong Line] > [walk]\"- unless they ask for specifics.\n\nError handling\n\"Could not find location\": Try a more specific search query\n\"No routes found\": Check if coordinates are valid and in a covered area\n\"Invalid time format\": Ensure ISO 8601 format with timezone\nRate limits: Be mindful of API usage, cache results when appropriate\nCoverage areas\n✅ Full coverage: Hong Kong (MTR, bus, tram, ferry, detailed fares)\n✅ Good coverage: Major global cities with Transitous data\n⚠️ Limited coverage: Smaller cities may have incomplete transit data"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/anscg/wheels-router",
    "publisherUrl": "https://clawhub.ai/anscg/wheels-router",
    "owner": "anscg",
    "version": "0.5.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/wheels-router",
    "downloadUrl": "https://openagent3.xyz/downloads/wheels-router",
    "agentUrl": "https://openagent3.xyz/skills/wheels-router/agent",
    "manifestUrl": "https://openagent3.xyz/skills/wheels-router/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/wheels-router/agent.md"
  }
}