← Back to Skills Marketplace
brianleach

Metra Skill

by Brian Leach · GitHub ↗ · v1.0.0
cross-platform ⚠ suspicious
486
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install metra
Description
Chicago Metra commuter rail — real-time train arrivals, vehicle tracking, service alerts, and schedule info for all 11 Metra lines serving the Chicago metrop...
Usage Guidance
What to check before installing: - Confirm the METRA_API_KEY requirement: SKILL.md and the code require METRA_API_KEY, but the registry metadata omitted it. Don't install if the platform would grant broader secrets than this. - Verify the external endpoints: the script uses gtfspublic.metrarr.com (GTFS-RT) and schedules.metrarail.com (static). Confirm those hosts are legitimate (they look related to Metra but double-check the GTFS-RT hostname). If unsure, open the repository link and inspect the endpoints yourself. - Expect to run `npm install` in the skill folder (installs protobufjs from npm). Run this in a controlled environment if you audit dependencies first. - The skill will create ~/.metra/gtfs/ and read GTFS CSV files; if you prefer no persistent files, don't install or run refresh-gtfs. - The script reads a local .env file in the skill directory — avoid storing long-lived credentials in places you don't control, or use an agent-managed secret store instead. - If you want higher assurance, review the full scripts/metra.mjs contents (it uses child_process.execFileSync for local unzip operations) and test the skill in a sandboxed environment first. If you want, I can point out exact lines in scripts/metra.mjs that reference the endpoints, .env loading, unzip/exec usage, and the GTFS cache location.
Capability Analysis
Type: OpenClaw Skill Name: metra Version: 1.0.0 The OpenClaw Metra skill is designed to provide real-time Metra transit information. It uses standard Node.js practices, fetches data from official Metra API endpoints over HTTPS, and stores static GTFS data locally in the user's home directory. The `SKILL.md` and `README.md` provide clear, benign instructions for the AI agent and users. The `scripts/metra.mjs` code uses `node:util.parseArgs` for robust command-line argument parsing and `execFileSync` with fixed arguments for `unzip`, mitigating shell injection risks from user input. No evidence of intentional harmful behavior, data exfiltration, persistence, or malicious prompt injection was found.
Capability Assessment
Purpose & Capability
The code, README, and SKILL.md all describe a GTFS-RT + GTFS static integration and require Node.js, unzip, and an API key (METRA_API_KEY). That aligns with the skill's stated purpose. However the registry metadata provided to the platform lists no required binaries and no required env vars — an inconsistency that could mislead install-time checks.
Instruction Scope
SKILL.md and the included script keep operations within the expected scope: call Metra GTFS-RT endpoints (Bearer token auth), download/extract GTFS static into ~/.metra/gtfs/, and read that cache. The script also loads a local .env file (from the skill directory) into process.env — expected but worth noting because users may store their API key there.
Install Mechanism
There is no arbitrary remote binary download: dependencies are standard npm packages (protobufjs) and the SKILL.md asks the user to run `npm install`. This is a common, moderate-risk install mechanism (trusted registry). The package-lock shows protobufjs from the npm registry. No unusual third-party URLs or archive extraction beyond the GTFS static zip from Metra's schedule site.
Credentials
The runtime code requires a single API key (METRA_API_KEY) which is proportionate to retrieving protected GTFS-RT feeds. However the registry metadata omits this requirement entirely, which is inconsistent and could cause the platform to present incorrect permission prompts. The script also loads a local .env file and will cache static data under the user's home directory.
Persistence & Privilege
The skill does not request global 'always' presence. It will write/read a local cache directory (~/.metra/gtfs/) and may store a key in a local .env in the skill folder per the instructions. Those are normal for a data-integration skill but you should expect persistent files on disk.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install metra
  3. After installation, invoke the skill by name or use /metra
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release: Real-time Chicago Metra commuter rail data — train arrivals, vehicle tracking, service alerts, schedules, and fare calculation for all 11 Metra lines.
Metadata
Slug metra
Version 1.0.0
License
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is Metra Skill?

Chicago Metra commuter rail — real-time train arrivals, vehicle tracking, service alerts, and schedule info for all 11 Metra lines serving the Chicago metrop... It is an AI Agent Skill for Claude Code / OpenClaw, with 486 downloads so far.

How do I install Metra Skill?

Run "/install metra" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Metra Skill free?

Yes, Metra Skill is completely free (open-source). You can download, install and use it at no cost.

Which platforms does Metra Skill support?

Metra Skill is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Metra Skill?

It is built and maintained by Brian Leach (@brianleach); the current version is v1.0.0.

💬 Comments