{
  "schemaVersion": "1.0",
  "item": {
    "slug": "metra",
    "name": "Metra Skill",
    "source": "tencent",
    "type": "skill",
    "category": "AI 智能",
    "sourceUrl": "https://clawhub.ai/brianleach/metra",
    "canonicalUrl": "https://clawhub.ai/brianleach/metra",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/metra",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=metra",
    "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/metra.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/metra"
    },
    "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/metra",
    "agentPageUrl": "https://openagent3.xyz/skills/metra/agent",
    "manifestUrl": "https://openagent3.xyz/skills/metra/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/metra/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": "Chicago Metra Commuter Rail",
        "body": "Real-time Chicago Metra commuter rail data — train arrivals (GTFS-RT protobuf), vehicle positions, service alerts, schedule info, and fare calculation for all 11 Metra lines serving the six-county northeastern Illinois region. Requires a free API key for all feeds."
      },
      {
        "title": "When to Use",
        "body": "User asks about Metra, Chicago commuter rail, or commuter trains in Chicago\nUser asks \"when is the next train\" in a Chicago suburban context\nUser mentions specific Metra lines: BNSF, UP-N, UP-NW, UP-W, MD-N, MD-W, ME (Metra Electric), RI (Rock Island), NCS, HC (Heritage Corridor), SWS (SouthWest Service)\nUser mentions specific Metra stations: Union Station, Ogilvie, Millennium Station, LaSalle Street, Naperville, Aurora, Downers Grove, Evanston, Highland Park, etc.\nUser asks about Metra service alerts, delays, or construction\nUser asks about Metra fares, zones, monthly passes, Ventra\nUser asks about Chicago train schedules (distinguish from CTA \"L\" trains — Metra is commuter rail)"
      },
      {
        "title": "When NOT to Use",
        "body": "User asks about CTA trains (the \"L\"), CTA buses, or Pace buses — those are separate systems\nUser asks about Amtrak long-distance trains at Union Station"
      },
      {
        "title": "Data Sources",
        "body": "Metra uses standard GTFS-RT protobuf feeds served from a single base URL with Bearer token authentication. No proprietary extensions — clean standard GTFS-RT."
      },
      {
        "title": "GTFS Realtime Feeds (Protobuf, requires METRA_API_KEY)",
        "body": "Get a free key at: https://metra.com/developers\n\nFeedEndpointDescriptionTrip UpdatesGET /gtfs/public/tripupdatesReal-time arrival/departure predictionsVehicle PositionsGET /gtfs/public/positionsGPS locations of active trainsAlertsGET /gtfs/public/alertsService alerts, delays, construction notices\n\nBase URL: https://gtfspublic.metrarr.com\n\nAuthentication: Authorization: Bearer {METRA_API_KEY} header.\n\nData updates every 30 seconds. No need to poll more frequently."
      },
      {
        "title": "GTFS Static Feed",
        "body": "FeedURLGTFS Static (zip)https://schedules.metrarail.com/gtfs/schedule.zipPublished timestamphttps://schedules.metrarail.com/gtfs/published.txt\n\nStatic schedule updates regularly (sometimes within 24 hours). New scheduled updates publish at 3:00 AM."
      },
      {
        "title": "Important Notes from Metra",
        "body": "If realtime data is unavailable for a trip, assume the static schedule is correct\nVehicle positions may drop when trains are underground or at terminals (GPS loss)\nTrip updates may be provided hours in advance for annulled or added trains\nIf an alert is in the feed, it's active; if it's not, it's no longer active (regardless of active_period)"
      },
      {
        "title": "Script: scripts/metra.mjs",
        "body": "Main entry point. Supports these commands:\n\n# Train arrivals\nnode scripts/metra.mjs arrivals --station \"Union Station\"\nnode scripts/metra.mjs arrivals --station \"Naperville\" --line BNSF\nnode scripts/metra.mjs arrivals --station \"Ogilvie\"\nnode scripts/metra.mjs arrivals --station \"Millennium Station\" --line ME\n\n# Vehicle tracking\nnode scripts/metra.mjs vehicles --line BNSF\nnode scripts/metra.mjs vehicles --line UP-N\nnode scripts/metra.mjs vehicles --line ME\n\n# Service alerts\nnode scripts/metra.mjs alerts\nnode scripts/metra.mjs alerts --line BNSF\nnode scripts/metra.mjs alerts --line RI\n\n# Routes and stops\nnode scripts/metra.mjs routes\nnode scripts/metra.mjs stops --search \"downers grove\"\nnode scripts/metra.mjs stops --line BNSF\nnode scripts/metra.mjs stops --near 41.8781,-87.6298\nnode scripts/metra.mjs route-info --line UP-NW\n\n# Fares\nnode scripts/metra.mjs fares\nnode scripts/metra.mjs fares --from \"Union Station\" --to \"Naperville\"\n\n# Schedule\nnode scripts/metra.mjs schedule --station \"Naperville\"\nnode scripts/metra.mjs schedule --station \"Ogilvie\" --line UP-N\n\n# Maintenance\nnode scripts/metra.mjs refresh-gtfs"
      },
      {
        "title": "Setup: API Key",
        "body": "All Metra feeds require authentication:\n\nRegister for a free key at https://metra.com/developers\nSet environment variable: METRA_API_KEY"
      },
      {
        "title": "Setup: GTFS Static Data",
        "body": "On first use, run node scripts/metra.mjs refresh-gtfs to download and extract the static GTFS data (routes, stops, schedules) to ~/.metra/gtfs/. Refresh periodically or when Metra updates their schedule."
      },
      {
        "title": "Metra Lines Reference",
        "body": "Line CodeLine NameColorDowntown TerminalOuter TerminalBNSFBNSF RailwayOrangeUnion Station (CUS)AuroraMEMetra ElectricTealMillennium StationUniversity Park / South Chicago / Blue IslandHCHeritage CorridorPurpleUnion Station (CUS)JolietMD-NMilwaukee District NorthLight GreenUnion Station (CUS)Fox LakeMD-WMilwaukee District WestLight GreenUnion Station (CUS)Elburn / Big TimberNCSNorth Central ServiceGoldUnion Station (CUS)AntiochRIRock IslandRedLaSalle Street StationJolietSWSSouthWest ServiceDark PurpleUnion Station (CUS)ManhattanUP-NUnion Pacific NorthDark GreenOgilvie Transportation Center (OTC)KenoshaUP-NWUnion Pacific NorthwestBlueOgilvie Transportation Center (OTC)Harvard / McHenryUP-WUnion Pacific WestBlueOgilvie Transportation Center (OTC)Elburn"
      },
      {
        "title": "Downtown Terminal Stations",
        "body": "Chicago Union Station (CUS) — Zone 1 — BNSF, HC, MD-N, MD-W, NCS, SWS\nOgilvie Transportation Center (OTC) — Zone 1 — UP-N, UP-NW, UP-W\nLaSalle Street Station — Zone 1 — RI\nMillennium Station — Zone 1 — ME"
      },
      {
        "title": "Metra Fares Reference (4-Zone System, effective Feb 2024)",
        "body": "Ticket TypeZones 1-2Zones 1-2-3Zones 1-2-3-4Zones 2-3-4 (no downtown)One-Way$3.75$5.50$6.75$3.75Day Pass$7.50$11.00$13.50$7.50Day Pass 5-Pack$35.75$52.25$64.25$35.75Monthly Pass$75.00$110.00$135.00$75.00\n\nSpecial Passes:\n\nSaturday/Sunday/Holiday Day Pass: $7.00 (systemwide)\nWeekend Pass (Ventra app only): $10.00 (systemwide)\nRegional Connect Pass (with Monthly): $30.00 (adds CTA + Pace)\nOnboard Surcharge (cash on train): $5.00\n\nMonthly Passes are valid for unlimited rides on weekdays between selected zones and systemwide on weekends."
      },
      {
        "title": "Tips for Users",
        "body": "Metra uses inbound (toward downtown Chicago) and outbound (away from downtown) for directions\nTrain numbers matter — Metra riders often know their train by number (e.g., \"the 7:42 BNSF\" or \"Train 1252\")\nDifferent lines use different downtown terminals — always note which terminal\nPeak trains run during rush hours; off-peak and weekend service is less frequent\nIf real-time data is unavailable, the schedule command shows static times\nUse --line to filter by specific Metra line code (BNSF, UP-N, etc.)"
      },
      {
        "title": "Error Handling",
        "body": "If METRA_API_KEY is not set, all commands print a helpful message with the signup URL\nInvalid station names show \"No matching station found\" with a suggestion to use stops --search\nNo real-time data available → fall back to static schedule with a note\nNetwork errors produce friendly messages\nGPS dropout for vehicle positions → note that train may be underground or at terminal"
      },
      {
        "title": "Response Formatting",
        "body": "When presenting transit info to the user:\n\nLead with the most actionable info (next arrival time, active alerts)\nShow line name AND train number (e.g., \"BNSF Train 1252 inbound\")\nShow times in 12-hour format with AM/PM\nFor arrivals: show both real-time ETA and scheduled time when available\nAlways note the downtown terminal for the line\nIf there are active service alerts for the line being queried, mention them"
      },
      {
        "title": "External Endpoints",
        "body": "EndpointData SentData Receivedgtfspublic.metrarr.com/gtfs/public/tripupdatesAPI key (Bearer header, HTTPS)Trip updates (Protobuf)gtfspublic.metrarr.com/gtfs/public/positionsAPI key (Bearer header, HTTPS)Vehicle positions (Protobuf)gtfspublic.metrarr.com/gtfs/public/alertsAPI key (Bearer header, HTTPS)Service alerts (Protobuf)schedules.metrarail.com/gtfs/schedule.zipNone (GET only)GTFS static data (ZIP)schedules.metrarail.com/gtfs/published.txtNone (GET only)Schedule publish timestamp (text)\n\nAll API calls use HTTPS. The API key is passed as a Bearer token in the Authorization header. No other user data is transmitted."
      },
      {
        "title": "Security & Privacy",
        "body": "API key required — All GTFS-RT feeds require a free developer key passed as a Bearer token in the Authorization header\nNo user data transmitted — Requests contain only the API key; no personal information\nLocal storage only — GTFS static data is cached locally at ~/.metra/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 shell commands"
      },
      {
        "title": "Trust Statement",
        "body": "This skill reads publicly available transit data from Metra's official GTFS-RT feeds. The API key is used only for Metra API authentication. The skill does not access, store, or transmit any personal information beyond the API key configured by the user."
      }
    ],
    "body": "Chicago Metra Commuter Rail\n\nReal-time Chicago Metra commuter rail data — train arrivals (GTFS-RT protobuf), vehicle positions, service alerts, schedule info, and fare calculation for all 11 Metra lines serving the six-county northeastern Illinois region. Requires a free API key for all feeds.\n\nWhen to Use\nUser asks about Metra, Chicago commuter rail, or commuter trains in Chicago\nUser asks \"when is the next train\" in a Chicago suburban context\nUser mentions specific Metra lines: BNSF, UP-N, UP-NW, UP-W, MD-N, MD-W, ME (Metra Electric), RI (Rock Island), NCS, HC (Heritage Corridor), SWS (SouthWest Service)\nUser mentions specific Metra stations: Union Station, Ogilvie, Millennium Station, LaSalle Street, Naperville, Aurora, Downers Grove, Evanston, Highland Park, etc.\nUser asks about Metra service alerts, delays, or construction\nUser asks about Metra fares, zones, monthly passes, Ventra\nUser asks about Chicago train schedules (distinguish from CTA \"L\" trains — Metra is commuter rail)\nWhen NOT to Use\nUser asks about CTA trains (the \"L\"), CTA buses, or Pace buses — those are separate systems\nUser asks about Amtrak long-distance trains at Union Station\nData Sources\n\nMetra uses standard GTFS-RT protobuf feeds served from a single base URL with Bearer token authentication. No proprietary extensions — clean standard GTFS-RT.\n\nGTFS Realtime Feeds (Protobuf, requires METRA_API_KEY)\n\nGet a free key at: https://metra.com/developers\n\nFeed\tEndpoint\tDescription\nTrip Updates\tGET /gtfs/public/tripupdates\tReal-time arrival/departure predictions\nVehicle Positions\tGET /gtfs/public/positions\tGPS locations of active trains\nAlerts\tGET /gtfs/public/alerts\tService alerts, delays, construction notices\n\nBase URL: https://gtfspublic.metrarr.com\n\nAuthentication: Authorization: Bearer {METRA_API_KEY} header.\n\nData updates every 30 seconds. No need to poll more frequently.\n\nGTFS Static Feed\nFeed\tURL\nGTFS Static (zip)\thttps://schedules.metrarail.com/gtfs/schedule.zip\nPublished timestamp\thttps://schedules.metrarail.com/gtfs/published.txt\n\nStatic schedule updates regularly (sometimes within 24 hours). New scheduled updates publish at 3:00 AM.\n\nImportant Notes from Metra\nIf realtime data is unavailable for a trip, assume the static schedule is correct\nVehicle positions may drop when trains are underground or at terminals (GPS loss)\nTrip updates may be provided hours in advance for annulled or added trains\nIf an alert is in the feed, it's active; if it's not, it's no longer active (regardless of active_period)\nImplementation\nScript: scripts/metra.mjs\n\nMain entry point. Supports these commands:\n\n# Train arrivals\nnode scripts/metra.mjs arrivals --station \"Union Station\"\nnode scripts/metra.mjs arrivals --station \"Naperville\" --line BNSF\nnode scripts/metra.mjs arrivals --station \"Ogilvie\"\nnode scripts/metra.mjs arrivals --station \"Millennium Station\" --line ME\n\n# Vehicle tracking\nnode scripts/metra.mjs vehicles --line BNSF\nnode scripts/metra.mjs vehicles --line UP-N\nnode scripts/metra.mjs vehicles --line ME\n\n# Service alerts\nnode scripts/metra.mjs alerts\nnode scripts/metra.mjs alerts --line BNSF\nnode scripts/metra.mjs alerts --line RI\n\n# Routes and stops\nnode scripts/metra.mjs routes\nnode scripts/metra.mjs stops --search \"downers grove\"\nnode scripts/metra.mjs stops --line BNSF\nnode scripts/metra.mjs stops --near 41.8781,-87.6298\nnode scripts/metra.mjs route-info --line UP-NW\n\n# Fares\nnode scripts/metra.mjs fares\nnode scripts/metra.mjs fares --from \"Union Station\" --to \"Naperville\"\n\n# Schedule\nnode scripts/metra.mjs schedule --station \"Naperville\"\nnode scripts/metra.mjs schedule --station \"Ogilvie\" --line UP-N\n\n# Maintenance\nnode scripts/metra.mjs refresh-gtfs\n\nSetup: API Key\n\nAll Metra feeds require authentication:\n\nRegister for a free key at https://metra.com/developers\nSet environment variable: METRA_API_KEY\nSetup: GTFS Static Data\n\nOn first use, run node scripts/metra.mjs refresh-gtfs to download and extract the static GTFS data (routes, stops, schedules) to ~/.metra/gtfs/. Refresh periodically or when Metra updates their schedule.\n\nMetra Lines Reference\nLine Code\tLine Name\tColor\tDowntown Terminal\tOuter Terminal\nBNSF\tBNSF Railway\tOrange\tUnion Station (CUS)\tAurora\nME\tMetra Electric\tTeal\tMillennium Station\tUniversity Park / South Chicago / Blue Island\nHC\tHeritage Corridor\tPurple\tUnion Station (CUS)\tJoliet\nMD-N\tMilwaukee District North\tLight Green\tUnion Station (CUS)\tFox Lake\nMD-W\tMilwaukee District West\tLight Green\tUnion Station (CUS)\tElburn / Big Timber\nNCS\tNorth Central Service\tGold\tUnion Station (CUS)\tAntioch\nRI\tRock Island\tRed\tLaSalle Street Station\tJoliet\nSWS\tSouthWest Service\tDark Purple\tUnion Station (CUS)\tManhattan\nUP-N\tUnion Pacific North\tDark Green\tOgilvie Transportation Center (OTC)\tKenosha\nUP-NW\tUnion Pacific Northwest\tBlue\tOgilvie Transportation Center (OTC)\tHarvard / McHenry\nUP-W\tUnion Pacific West\tBlue\tOgilvie Transportation Center (OTC)\tElburn\nDowntown Terminal Stations\nChicago Union Station (CUS) — Zone 1 — BNSF, HC, MD-N, MD-W, NCS, SWS\nOgilvie Transportation Center (OTC) — Zone 1 — UP-N, UP-NW, UP-W\nLaSalle Street Station — Zone 1 — RI\nMillennium Station — Zone 1 — ME\nMetra Fares Reference (4-Zone System, effective Feb 2024)\nTicket Type\tZones 1-2\tZones 1-2-3\tZones 1-2-3-4\tZones 2-3-4 (no downtown)\nOne-Way\t$3.75\t$5.50\t$6.75\t$3.75\nDay Pass\t$7.50\t$11.00\t$13.50\t$7.50\nDay Pass 5-Pack\t$35.75\t$52.25\t$64.25\t$35.75\nMonthly Pass\t$75.00\t$110.00\t$135.00\t$75.00\n\nSpecial Passes:\n\nSaturday/Sunday/Holiday Day Pass: $7.00 (systemwide)\nWeekend Pass (Ventra app only): $10.00 (systemwide)\nRegional Connect Pass (with Monthly): $30.00 (adds CTA + Pace)\nOnboard Surcharge (cash on train): $5.00\n\nMonthly Passes are valid for unlimited rides on weekdays between selected zones and systemwide on weekends.\n\nTips for Users\nMetra uses inbound (toward downtown Chicago) and outbound (away from downtown) for directions\nTrain numbers matter — Metra riders often know their train by number (e.g., \"the 7:42 BNSF\" or \"Train 1252\")\nDifferent lines use different downtown terminals — always note which terminal\nPeak trains run during rush hours; off-peak and weekend service is less frequent\nIf real-time data is unavailable, the schedule command shows static times\nUse --line to filter by specific Metra line code (BNSF, UP-N, etc.)\nError Handling\nIf METRA_API_KEY is not set, all commands print a helpful message with the signup URL\nInvalid station names show \"No matching station found\" with a suggestion to use stops --search\nNo real-time data available → fall back to static schedule with a note\nNetwork errors produce friendly messages\nGPS dropout for vehicle positions → note that train may be underground or at terminal\nResponse Formatting\n\nWhen presenting transit info to the user:\n\nLead with the most actionable info (next arrival time, active alerts)\nShow line name AND train number (e.g., \"BNSF Train 1252 inbound\")\nShow times in 12-hour format with AM/PM\nFor arrivals: show both real-time ETA and scheduled time when available\nAlways note the downtown terminal for the line\nIf there are active service alerts for the line being queried, mention them\nExternal Endpoints\nEndpoint\tData Sent\tData Received\ngtfspublic.metrarr.com/gtfs/public/tripupdates\tAPI key (Bearer header, HTTPS)\tTrip updates (Protobuf)\ngtfspublic.metrarr.com/gtfs/public/positions\tAPI key (Bearer header, HTTPS)\tVehicle positions (Protobuf)\ngtfspublic.metrarr.com/gtfs/public/alerts\tAPI key (Bearer header, HTTPS)\tService alerts (Protobuf)\nschedules.metrarail.com/gtfs/schedule.zip\tNone (GET only)\tGTFS static data (ZIP)\nschedules.metrarail.com/gtfs/published.txt\tNone (GET only)\tSchedule publish timestamp (text)\n\nAll API calls use HTTPS. The API key is passed as a Bearer token in the Authorization header. No other user data is transmitted.\n\nSecurity & Privacy\nAPI key required — All GTFS-RT feeds require a free developer key passed as a Bearer token in the Authorization header\nNo user data transmitted — Requests contain only the API key; no personal information\nLocal storage only — GTFS static data is cached locally at ~/.metra/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 shell commands\nTrust Statement\n\nThis skill reads publicly available transit data from Metra's official GTFS-RT feeds. The API key is used only for Metra API authentication. The skill does not access, store, or transmit any personal information beyond the API key configured by the user."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/brianleach/metra",
    "publisherUrl": "https://clawhub.ai/brianleach/metra",
    "owner": "brianleach",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/metra",
    "downloadUrl": "https://openagent3.xyz/downloads/metra",
    "agentUrl": "https://openagent3.xyz/skills/metra/agent",
    "manifestUrl": "https://openagent3.xyz/skills/metra/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/metra/agent.md"
  }
}