{
  "schemaVersion": "1.0",
  "item": {
    "slug": "capmetro-skill",
    "name": "CapMetro Skill",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/brianleach/capmetro-skill",
    "canonicalUrl": "https://clawhub.ai/brianleach/capmetro-skill",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/capmetro-skill",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=capmetro-skill",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "README.md",
      "SKILL.md",
      "package-lock.json",
      "package.json",
      "scripts/capmetro.mjs"
    ],
    "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. Then review README.md for any prerequisites, environment setup, or post-install checks. 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. Then review README.md for any prerequisites, environment setup, or post-install checks. 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/capmetro-skill"
    },
    "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/capmetro-skill",
    "agentPageUrl": "https://openagent3.xyz/skills/capmetro-skill/agent",
    "manifestUrl": "https://openagent3.xyz/skills/capmetro-skill/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/capmetro-skill/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. Then review README.md for any prerequisites, environment setup, or post-install checks. 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. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "CapMetro Austin Transit",
        "body": "Real-time Austin CapMetro transit data - vehicle positions, next arrivals, service alerts, and route information. No API key required."
      },
      {
        "title": "When to Use",
        "body": "User asks about Austin bus or train schedules, arrival times, or delays\nUser asks \"when is the next bus/train\" or \"is the 801 running\"\nUser asks about CapMetro service alerts, detours, or disruptions\nUser wants to know where a bus/train currently is\nUser asks about nearby stops or route information\nUser mentions MetroRail (Red Line), MetroRapid (801/803), or any Austin bus route\nUser asks about CapMetro fares, how to ride, or general transit info"
      },
      {
        "title": "Data Sources",
        "body": "All feeds are open access, no API key required, hosted on the Texas Open Data Portal."
      },
      {
        "title": "GTFS-RT (Real-Time) Feeds - Updated every 15 seconds",
        "body": "FeedFormatURLVehicle PositionsJSONhttps://data.texas.gov/download/cuc7-ywmd/text%2FplainVehicle PositionsProtobufhttps://data.texas.gov/download/eiei-9rpf/application%2Foctet-streamTrip UpdatesProtobufhttps://data.texas.gov/download/rmk2-acnw/application%2Foctet-streamService AlertsProtobufhttps://data.texas.gov/download/nusn-7fcn/application%2Foctet-stream"
      },
      {
        "title": "GTFS Static Feed - Route/Stop/Schedule data",
        "body": "FeedFormatURLGTFS Static (zip)ZIPhttps://data.texas.gov/download/r4v4-vz24/application%2Fx-zip-compressed"
      },
      {
        "title": "Quick Start: Use the helper scripts",
        "body": "The scripts in this skill's scripts/ directory handle fetching, parsing, and presenting CapMetro data."
      },
      {
        "title": "Script: scripts/capmetro.mjs",
        "body": "Main entry point. Supports these commands:\n\n# Get current service alerts\nnode scripts/capmetro.mjs alerts\n\n# Get real-time vehicle positions (optionally filter by route)\nnode scripts/capmetro.mjs vehicles [--route 801]\n\n# Get next arrivals at a stop (by stop_id)\nnode scripts/capmetro.mjs arrivals --stop <stop_id>\n\n# Get arrivals by searching stop name (uses best match)\nnode scripts/capmetro.mjs arrivals --stop-search \"lakeline\" --route 550\n\n# Get arrivals filtered by direction/headsign\nnode scripts/capmetro.mjs arrivals --stop-search \"downtown\" --route 550 --headsign \"lakeline\"\n\n# Get arrivals filtered by route at a stop\nnode scripts/capmetro.mjs arrivals --stop <stop_id> --route 801\n\n# Search for stops by name or location\nnode scripts/capmetro.mjs stops --search \"domain\" \nnode scripts/capmetro.mjs stops --near 30.4,-97.7\n\n# List all routes\nnode scripts/capmetro.mjs routes\n\n# Get route details including stops\nnode scripts/capmetro.mjs route-info --route 801\n\n# Download/refresh GTFS static data (run periodically)\nnode scripts/capmetro.mjs refresh-gtfs"
      },
      {
        "title": "Setup: GTFS Static Data",
        "body": "On first use, run node scripts/capmetro.mjs refresh-gtfs to download and extract the static GTFS data (routes, stops, schedules) to ~/.capmetro/gtfs/. This only needs to be refreshed when CapMetro updates their schedule (typically quarterly or during service changes)."
      },
      {
        "title": "Key Route Reference",
        "body": "RouteNameType550MetroRail Red LineRail (Leander ↔ Downtown)801MetroRapid North/SouthRapid Bus (Tech Ridge ↔ Southpark Meadows)803MetroRapid Burnet/South LamarRapid Bus (Domain ↔ Westgate)1N Lamar/S CongressLocal Bus7Duval/Dove SpringsLocal Bus10S 1st/Red RiverLocal Bus20Manor Rd/RiversideLocal Bus300Oltorf/Riverside CrosstownCrosstown Bus325Ohlen/LoyolaCrosstown Bus985Night OwlLate Night Service"
      },
      {
        "title": "Tips for Users",
        "body": "Stop IDs can be found on CapMetro stop signs, in the Transit app, or by searching with the stops command\nMetroRapid 801/803 have the most frequent service (every 10-12 minutes during peak)\nMetroRail Red Line (550) runs Leander to Downtown Austin with limited frequency\nService alerts often contain detour information - check alerts before advising routes\nVehicle position data updates every ~15 seconds, so locations are near real-time"
      },
      {
        "title": "Error Handling",
        "body": "If a feed returns an error or empty data, inform the user that real-time data may be temporarily unavailable\nThe JSON vehicle positions feed is easier to parse and a good fallback if protobuf parsing fails\nGTFS static data is required for stop names, route names, and schedule lookups - ensure it's been downloaded"
      },
      {
        "title": "Response Formatting",
        "body": "When presenting transit info to the user:\n\nLead with the most actionable info (next arrival time, active alerts)\nInclude route number AND name (e.g., \"Route 801 MetroRapid\")\nShow times in 12-hour format with AM/PM\nFor delays, show both scheduled and estimated times\nFor vehicle positions, describe location relative to landmarks when possible\nIf there are active service alerts for the route the user asked about, always mention them"
      },
      {
        "title": "Fares Reference (as of 2025)",
        "body": "Fare TypePriceLocal / MetroRapid$1.25MetroRail$3.50 (single)Day Pass$2.507-Day Pass$11.2531-Day Pass$41.25\n\nPayment via Umo app, tap-to-pay, or fare card. Free transfers within 2 hours."
      },
      {
        "title": "External Endpoints",
        "body": "EndpointData SentData Receiveddata.texas.gov/download/cuc7-ywmd/...None (GET only)Vehicle positions (JSON)data.texas.gov/download/eiei-9rpf/...None (GET only)Vehicle positions (Protobuf)data.texas.gov/download/rmk2-acnw/...None (GET only)Trip updates (Protobuf)data.texas.gov/download/nusn-7fcn/...None (GET only)Service alerts (Protobuf)data.texas.gov/download/r4v4-vz24/...None (GET only)GTFS static data (ZIP)\n\nAll endpoints are open-access Texas Open Data Portal URLs. No API key, authentication, or user data is transmitted."
      },
      {
        "title": "Security & Privacy",
        "body": "No credentials required - all data sources are open access, no API keys or tokens\nNo user data transmitted - requests are anonymous GET calls with no query parameters containing user info\nLocal storage only - GTFS static data is cached locally at ~/.capmetro/gtfs/; no data is written elsewhere\nNo telemetry - this skill does not phone home or collect usage data\nInput handling - stop names and route IDs from user input are used only for local filtering, never interpolated into URLs or shell commands"
      },
      {
        "title": "Trust Statement",
        "body": "This skill only reads publicly available transit data from the Texas Open Data Portal. It does not access, store, or transmit any personal information. All network requests are read-only GET calls to open government data feeds."
      }
    ],
    "body": "CapMetro Austin Transit\n\nReal-time Austin CapMetro transit data - vehicle positions, next arrivals, service alerts, and route information. No API key required.\n\nWhen to Use\nUser asks about Austin bus or train schedules, arrival times, or delays\nUser asks \"when is the next bus/train\" or \"is the 801 running\"\nUser asks about CapMetro service alerts, detours, or disruptions\nUser wants to know where a bus/train currently is\nUser asks about nearby stops or route information\nUser mentions MetroRail (Red Line), MetroRapid (801/803), or any Austin bus route\nUser asks about CapMetro fares, how to ride, or general transit info\nData Sources\n\nAll feeds are open access, no API key required, hosted on the Texas Open Data Portal.\n\nGTFS-RT (Real-Time) Feeds - Updated every 15 seconds\nFeed\tFormat\tURL\nVehicle Positions\tJSON\thttps://data.texas.gov/download/cuc7-ywmd/text%2Fplain\nVehicle Positions\tProtobuf\thttps://data.texas.gov/download/eiei-9rpf/application%2Foctet-stream\nTrip Updates\tProtobuf\thttps://data.texas.gov/download/rmk2-acnw/application%2Foctet-stream\nService Alerts\tProtobuf\thttps://data.texas.gov/download/nusn-7fcn/application%2Foctet-stream\nGTFS Static Feed - Route/Stop/Schedule data\nFeed\tFormat\tURL\nGTFS Static (zip)\tZIP\thttps://data.texas.gov/download/r4v4-vz24/application%2Fx-zip-compressed\nImplementation\nQuick Start: Use the helper scripts\n\nThe scripts in this skill's scripts/ directory handle fetching, parsing, and presenting CapMetro data.\n\nScript: scripts/capmetro.mjs\n\nMain entry point. Supports these commands:\n\n# Get current service alerts\nnode scripts/capmetro.mjs alerts\n\n# Get real-time vehicle positions (optionally filter by route)\nnode scripts/capmetro.mjs vehicles [--route 801]\n\n# Get next arrivals at a stop (by stop_id)\nnode scripts/capmetro.mjs arrivals --stop <stop_id>\n\n# Get arrivals by searching stop name (uses best match)\nnode scripts/capmetro.mjs arrivals --stop-search \"lakeline\" --route 550\n\n# Get arrivals filtered by direction/headsign\nnode scripts/capmetro.mjs arrivals --stop-search \"downtown\" --route 550 --headsign \"lakeline\"\n\n# Get arrivals filtered by route at a stop\nnode scripts/capmetro.mjs arrivals --stop <stop_id> --route 801\n\n# Search for stops by name or location\nnode scripts/capmetro.mjs stops --search \"domain\" \nnode scripts/capmetro.mjs stops --near 30.4,-97.7\n\n# List all routes\nnode scripts/capmetro.mjs routes\n\n# Get route details including stops\nnode scripts/capmetro.mjs route-info --route 801\n\n# Download/refresh GTFS static data (run periodically)\nnode scripts/capmetro.mjs refresh-gtfs\n\nSetup: GTFS Static Data\n\nOn first use, run node scripts/capmetro.mjs refresh-gtfs to download and extract the static GTFS data (routes, stops, schedules) to ~/.capmetro/gtfs/. This only needs to be refreshed when CapMetro updates their schedule (typically quarterly or during service changes).\n\nKey Route Reference\nRoute\tName\tType\n550\tMetroRail Red Line\tRail (Leander ↔ Downtown)\n801\tMetroRapid North/South\tRapid Bus (Tech Ridge ↔ Southpark Meadows)\n803\tMetroRapid Burnet/South Lamar\tRapid Bus (Domain ↔ Westgate)\n1\tN Lamar/S Congress\tLocal Bus\n7\tDuval/Dove Springs\tLocal Bus\n10\tS 1st/Red River\tLocal Bus\n20\tManor Rd/Riverside\tLocal Bus\n300\tOltorf/Riverside Crosstown\tCrosstown Bus\n325\tOhlen/Loyola\tCrosstown Bus\n985\tNight Owl\tLate Night Service\nTips for Users\nStop IDs can be found on CapMetro stop signs, in the Transit app, or by searching with the stops command\nMetroRapid 801/803 have the most frequent service (every 10-12 minutes during peak)\nMetroRail Red Line (550) runs Leander to Downtown Austin with limited frequency\nService alerts often contain detour information - check alerts before advising routes\nVehicle position data updates every ~15 seconds, so locations are near real-time\nError Handling\nIf a feed returns an error or empty data, inform the user that real-time data may be temporarily unavailable\nThe JSON vehicle positions feed is easier to parse and a good fallback if protobuf parsing fails\nGTFS static data is required for stop names, route names, and schedule lookups - ensure it's been downloaded\nResponse Formatting\n\nWhen presenting transit info to the user:\n\nLead with the most actionable info (next arrival time, active alerts)\nInclude route number AND name (e.g., \"Route 801 MetroRapid\")\nShow times in 12-hour format with AM/PM\nFor delays, show both scheduled and estimated times\nFor vehicle positions, describe location relative to landmarks when possible\nIf there are active service alerts for the route the user asked about, always mention them\nFares Reference (as of 2025)\nFare Type\tPrice\nLocal / MetroRapid\t$1.25\nMetroRail\t$3.50 (single)\nDay Pass\t$2.50\n7-Day Pass\t$11.25\n31-Day Pass\t$41.25\n\nPayment via Umo app, tap-to-pay, or fare card. Free transfers within 2 hours.\n\nExternal Endpoints\nEndpoint\tData Sent\tData Received\ndata.texas.gov/download/cuc7-ywmd/...\tNone (GET only)\tVehicle positions (JSON)\ndata.texas.gov/download/eiei-9rpf/...\tNone (GET only)\tVehicle positions (Protobuf)\ndata.texas.gov/download/rmk2-acnw/...\tNone (GET only)\tTrip updates (Protobuf)\ndata.texas.gov/download/nusn-7fcn/...\tNone (GET only)\tService alerts (Protobuf)\ndata.texas.gov/download/r4v4-vz24/...\tNone (GET only)\tGTFS static data (ZIP)\n\nAll endpoints are open-access Texas Open Data Portal URLs. No API key, authentication, or user data is transmitted.\n\nSecurity & Privacy\nNo credentials required - all data sources are open access, no API keys or tokens\nNo user data transmitted - requests are anonymous GET calls with no query parameters containing user info\nLocal storage only - GTFS static data is cached locally at ~/.capmetro/gtfs/; no data is written elsewhere\nNo telemetry - this skill does not phone home or collect usage data\nInput handling - stop names and route IDs from user input are used only for local filtering, never interpolated into URLs or shell commands\nTrust Statement\n\nThis skill only reads publicly available transit data from the Texas Open Data Portal. It does not access, store, or transmit any personal information. All network requests are read-only GET calls to open government data feeds."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/brianleach/capmetro-skill",
    "publisherUrl": "https://clawhub.ai/brianleach/capmetro-skill",
    "owner": "brianleach",
    "version": "1.0.3",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/capmetro-skill",
    "downloadUrl": "https://openagent3.xyz/downloads/capmetro-skill",
    "agentUrl": "https://openagent3.xyz/skills/capmetro-skill/agent",
    "manifestUrl": "https://openagent3.xyz/skills/capmetro-skill/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/capmetro-skill/agent.md"
  }
}