{
  "schemaVersion": "1.0",
  "item": {
    "slug": "trimet",
    "name": "Trimet",
    "source": "tencent",
    "type": "skill",
    "category": "通讯协作",
    "sourceUrl": "https://clawhub.ai/mjrussell/trimet",
    "canonicalUrl": "https://clawhub.ai/mjrussell/trimet",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/trimet",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=trimet",
    "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-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/trimet"
    },
    "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/trimet",
    "agentPageUrl": "https://openagent3.xyz/skills/trimet/agent",
    "manifestUrl": "https://openagent3.xyz/skills/trimet/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/trimet/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": "TriMet CLI",
        "body": "CLI for TriMet Portland transit data. Check arrivals, plan trips, and view alerts."
      },
      {
        "title": "Installation",
        "body": "npm install -g trimet-cli"
      },
      {
        "title": "Setup",
        "body": "Get free API key from https://developer.trimet.org/\nSet environment variable: export TRIMET_APP_ID=\"your-key\""
      },
      {
        "title": "Arrivals",
        "body": "trimet arrivals <stop-id>              # Real-time arrivals\ntrimet arrivals 8383 --line 90         # Filter by route\ntrimet arrivals 8383 --json"
      },
      {
        "title": "Trip Planning",
        "body": "trimet trip -f <from> -t <to>\ntrimet trip -f 8383 -t 9969\ntrimet trip -f \"Pioneer Square\" -t \"PDX Airport\"\ntrimet trip -f 8383 -t 9969 --arrive-by \"5:30 PM\"\ntrimet trip -f 8383 -t 9969 --depart-at \"2:00 PM\"\ntrimet trip -f 8383 -t 9969 --json"
      },
      {
        "title": "Next Departures",
        "body": "trimet next -f <from> -t <to>          # Simplified view\ntrimet next -f 8383 -t 9969 -c 5       # Show 5 options\ntrimet next -f 8383 -t 9969 --line 90  # Filter by route"
      },
      {
        "title": "Service Alerts",
        "body": "trimet alerts                          # All alerts\ntrimet alerts --route 90               # Alerts for route\ntrimet alerts --json"
      },
      {
        "title": "Common Stop IDs",
        "body": "Pioneer Courthouse Square: 8383 (westbound), 8384 (eastbound)\nPDX Airport: 10579\nPortland Union Station: 7787\nBeaverton TC: 9969"
      },
      {
        "title": "Usage Examples",
        "body": "User: \"When's the next MAX?\"\n\ntrimet arrivals 8383\n\nUser: \"How do I get to the airport?\"\n\ntrimet trip -f \"Pioneer Square\" -t \"PDX Airport\"\n\nUser: \"I need to be downtown by 5pm\"\n\ntrimet trip -f <user-location-stop> -t 8383 --arrive-by \"5:00 PM\"\n\nUser: \"Are there any delays on the Blue Line?\"\n\ntrimet alerts --route 100\n\nUser: \"Next trains to Beaverton\"\n\ntrimet next -f 8383 -t 9969"
      },
      {
        "title": "Route Numbers",
        "body": "MAX Blue Line: 100\nMAX Red Line: 90\nMAX Yellow Line: 190\nMAX Orange Line: 290\nMAX Green Line: 200"
      },
      {
        "title": "Notes",
        "body": "Stop IDs are displayed at TriMet stops and on trimet.org\nAddresses work for trip planning (e.g., \"Pioneer Square, Portland\")\nTimes support natural formats (\"5:30 PM\", \"17:30\")"
      }
    ],
    "body": "TriMet CLI\n\nCLI for TriMet Portland transit data. Check arrivals, plan trips, and view alerts.\n\nInstallation\nnpm install -g trimet-cli\n\nSetup\nGet free API key from https://developer.trimet.org/\nSet environment variable: export TRIMET_APP_ID=\"your-key\"\nCommands\nArrivals\ntrimet arrivals <stop-id>              # Real-time arrivals\ntrimet arrivals 8383 --line 90         # Filter by route\ntrimet arrivals 8383 --json\n\nTrip Planning\ntrimet trip -f <from> -t <to>\ntrimet trip -f 8383 -t 9969\ntrimet trip -f \"Pioneer Square\" -t \"PDX Airport\"\ntrimet trip -f 8383 -t 9969 --arrive-by \"5:30 PM\"\ntrimet trip -f 8383 -t 9969 --depart-at \"2:00 PM\"\ntrimet trip -f 8383 -t 9969 --json\n\nNext Departures\ntrimet next -f <from> -t <to>          # Simplified view\ntrimet next -f 8383 -t 9969 -c 5       # Show 5 options\ntrimet next -f 8383 -t 9969 --line 90  # Filter by route\n\nService Alerts\ntrimet alerts                          # All alerts\ntrimet alerts --route 90               # Alerts for route\ntrimet alerts --json\n\nCommon Stop IDs\nPioneer Courthouse Square: 8383 (westbound), 8384 (eastbound)\nPDX Airport: 10579\nPortland Union Station: 7787\nBeaverton TC: 9969\nUsage Examples\n\nUser: \"When's the next MAX?\"\n\ntrimet arrivals 8383\n\n\nUser: \"How do I get to the airport?\"\n\ntrimet trip -f \"Pioneer Square\" -t \"PDX Airport\"\n\n\nUser: \"I need to be downtown by 5pm\"\n\ntrimet trip -f <user-location-stop> -t 8383 --arrive-by \"5:00 PM\"\n\n\nUser: \"Are there any delays on the Blue Line?\"\n\ntrimet alerts --route 100\n\n\nUser: \"Next trains to Beaverton\"\n\ntrimet next -f 8383 -t 9969\n\nRoute Numbers\nMAX Blue Line: 100\nMAX Red Line: 90\nMAX Yellow Line: 190\nMAX Orange Line: 290\nMAX Green Line: 200\nNotes\nStop IDs are displayed at TriMet stops and on trimet.org\nAddresses work for trip planning (e.g., \"Pioneer Square, Portland\")\nTimes support natural formats (\"5:30 PM\", \"17:30\")"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/mjrussell/trimet",
    "publisherUrl": "https://clawhub.ai/mjrussell/trimet",
    "owner": "mjrussell",
    "version": "0.1.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/trimet",
    "downloadUrl": "https://openagent3.xyz/downloads/trimet",
    "agentUrl": "https://openagent3.xyz/skills/trimet/agent",
    "manifestUrl": "https://openagent3.xyz/skills/trimet/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/trimet/agent.md"
  }
}