← Back to Skills Marketplace
Metra Skill
by
Brian Leach
· GitHub ↗
· v1.0.0
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
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install metra - After installation, invoke the skill by name or use
/metra - 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
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.
More Skills