{
  "schemaVersion": "1.0",
  "item": {
    "slug": "smart-route",
    "name": "SmartRoute - Google Routes Calculator",
    "source": "tencent",
    "type": "skill",
    "category": "效率提升",
    "sourceUrl": "https://clawhub.ai/vemec/smart-route",
    "canonicalUrl": "https://clawhub.ai/vemec/smart-route",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/smart-route",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=smart-route",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "scripts/get_route.js",
      "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-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-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/smart-route"
    },
    "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/smart-route",
    "agentPageUrl": "https://openagent3.xyz/skills/smart-route/agent",
    "manifestUrl": "https://openagent3.xyz/skills/smart-route/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/smart-route/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": "Google Routes Calculator",
        "body": "Get real-time traffic and routing information via Google Routes API (v2)."
      },
      {
        "title": "When to use",
        "body": "Use this skill immediately when the user asks:\n\n\"How is the traffic to X?\"\n\"How long does it take to drive to Y?\"\n\"Give me the route to Z.\"\n\"What's the distance between A and B?\""
      },
      {
        "title": "Usage",
        "body": "This skill executes a Node.js script. It requires an API Key with \"Routes API\" enabled."
      },
      {
        "title": "Command",
        "body": "node skills/smart-route/scripts/get_route.js --origin \"Origin Address\" --destination \"Destination Address\" [--mode DRIVE|BICYCLE|WALK]"
      },
      {
        "title": "Output Format",
        "body": "The script returns a JSON object:\n\n{\n  \"origin\": \"Union Square, San Francisco, CA\",\n  \"destination\": \"Golden Gate Bridge, San Francisco, CA\",\n  \"mode\": \"DRIVE\",\n  \"duration\": \"30 min\",\n  \"distance\": \"13.5 km\",\n  \"traffic_duration_seconds\": 1835,\n  \"route_link\": \"https://www.google.com/maps/dir/?api=1&origin=...&destination=...&travelmode=driving\"\n}"
      },
      {
        "title": "Examples",
        "body": "Check traffic in San Francisco:\nnode skills/smart-route/scripts/get_route.js --origin \"Union Square, San Francisco, CA\" --destination \"Golden Gate Bridge, San Francisco, CA\"\n\n\nDrive time in Los Angeles:\nnode skills/smart-route/scripts/get_route.js --origin \"Los Angeles, CA\" --destination \"Santa Monica, CA\" --mode DRIVE"
      },
      {
        "title": "Privacy & Security",
        "body": "Scope: This skill only communicates with routes.googleapis.com.\nData Handling:\n\nIt does not read local files or other environment variables besides the ones specified below.\nPII Notice: User-supplied origin and destination addresses are sent to Google Routes API and printed to stdout in the JSON response. Users should consider these addresses as potentially sensitive information (PII).\n\n\nCredentials: API keys must be provided via environment variables. Providing keys via CLI flags is disabled for security reasons (to avoid exposing secrets in process lists)."
      },
      {
        "title": "API Credentials",
        "body": "This skill requires a Google Cloud API Key with the Routes API enabled.\n\nVariable: GOOGLE_ROUTES_API_KEY\nDetection: The skill will check for this environment variable at runtime.\nStrict Mode: If the variable is missing, the script will exit with an error rather than falling back to other keys, ensuring no accidental usage of incorrect credentials."
      },
      {
        "title": "Setup Instructions",
        "body": "Open the Google Cloud Console.\nEnable the Routes API for your project.\nGenerate an API Key under Credentials.\nExport the key to your environment:\nexport GOOGLE_ROUTES_API_KEY=\"your_api_key_here\""
      }
    ],
    "body": "Google Routes Calculator\n\nGet real-time traffic and routing information via Google Routes API (v2).\n\nWhen to use\n\nUse this skill immediately when the user asks:\n\n\"How is the traffic to X?\"\n\"How long does it take to drive to Y?\"\n\"Give me the route to Z.\"\n\"What's the distance between A and B?\"\nUsage\n\nThis skill executes a Node.js script. It requires an API Key with \"Routes API\" enabled.\n\nCommand\nnode skills/smart-route/scripts/get_route.js --origin \"Origin Address\" --destination \"Destination Address\" [--mode DRIVE|BICYCLE|WALK]\n\nOutput Format\n\nThe script returns a JSON object:\n\n{\n  \"origin\": \"Union Square, San Francisco, CA\",\n  \"destination\": \"Golden Gate Bridge, San Francisco, CA\",\n  \"mode\": \"DRIVE\",\n  \"duration\": \"30 min\",\n  \"distance\": \"13.5 km\",\n  \"traffic_duration_seconds\": 1835,\n  \"route_link\": \"https://www.google.com/maps/dir/?api=1&origin=...&destination=...&travelmode=driving\"\n}\n\nExamples\n\nCheck traffic in San Francisco: node skills/smart-route/scripts/get_route.js --origin \"Union Square, San Francisco, CA\" --destination \"Golden Gate Bridge, San Francisco, CA\"\n\nDrive time in Los Angeles: node skills/smart-route/scripts/get_route.js --origin \"Los Angeles, CA\" --destination \"Santa Monica, CA\" --mode DRIVE\n\nConfiguration\nPrivacy & Security\nScope: This skill only communicates with routes.googleapis.com.\nData Handling:\nIt does not read local files or other environment variables besides the ones specified below.\nPII Notice: User-supplied origin and destination addresses are sent to Google Routes API and printed to stdout in the JSON response. Users should consider these addresses as potentially sensitive information (PII).\nCredentials: API keys must be provided via environment variables. Providing keys via CLI flags is disabled for security reasons (to avoid exposing secrets in process lists).\nAPI Credentials\n\nThis skill requires a Google Cloud API Key with the Routes API enabled.\n\nVariable: GOOGLE_ROUTES_API_KEY\nDetection: The skill will check for this environment variable at runtime.\nStrict Mode: If the variable is missing, the script will exit with an error rather than falling back to other keys, ensuring no accidental usage of incorrect credentials.\nSetup Instructions\nOpen the Google Cloud Console.\nEnable the Routes API for your project.\nGenerate an API Key under Credentials.\nExport the key to your environment:\nexport GOOGLE_ROUTES_API_KEY=\"your_api_key_here\""
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/vemec/smart-route",
    "publisherUrl": "https://clawhub.ai/vemec/smart-route",
    "owner": "vemec",
    "version": "1.0.4",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/smart-route",
    "downloadUrl": "https://openagent3.xyz/downloads/smart-route",
    "agentUrl": "https://openagent3.xyz/skills/smart-route/agent",
    "manifestUrl": "https://openagent3.xyz/skills/smart-route/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/smart-route/agent.md"
  }
}