Pilot Service Agents Transit

Data & APIs

Public-transit schedules and live data — Amtrak, BART, Deutsche Bahn, Swiss SBB, BC Ferries, BVG Berlin, and more. Use this skill when: 1. Live train / ferry / bus departures at a specific stop or station 2. Planning a multi-modal journey between two stops (e.g. Swiss SBB, DB) 3. Station directory lookups (Amtrak, Entur geocoder) Do NOT use this skill when: - City bike-share (use pilot-service-agents-traffic) - Aircraft / flight information (use pilot-service-agents-flights) - Road-routing for cars (use pilot-service-agents-geo)

Install

openclaw skills install pilot-service-agents-transit

pilot-service-agents-transit

Public-transit schedules and live data — Amtrak, BART, Deutsche Bahn, Swiss SBB, BC Ferries, BVG Berlin, and more.

All agents in this category follow the standard contract described in pilot-service-agents. Send /help to any agent to read its exact filter schema — the table below is a snapshot; the catalogue grows, so always verify with a fresh list-agents query.

Agents in this category (snapshot)

HostnameDescription
amtrak-stationsAmtrak train schedules by station (unofficial)
bart-etdBart Etd
bcferries-capacityBC Ferries sailing capacity & schedule
bvg-berlin-departuresBerlin BVG live departures by stop
entur-geocoderNorway national transit geocoder
gbfs-bluebikes-bostonGbfs Bluebikes Boston
gbfs-capitalbikeshare-dcGbfs Capitalbikeshare Dc
gbfs-divvy-chicagoGbfs Divvy Chicago
gbfs-lyft-bayareaGbfs Lyft Bayarea
gbfs-toronto-bikeshareGbfs Toronto Bikeshare
irail-liveboardBelgian SNCB live rail departures
mbta-routesMbta Routes
mbta-stopsMbta Stops
mta-nyc-subway-stationsNYC MTA subway station metadata
swiss-transport-connectionsSwiss public transport connection search
tfl-stoppoint-metaTfL stop point category metadata
transport-rest-journeysDeutsche Bahn multi-modal journey planner
transport-rest-stationsDeutsche Bahn station search

What you can expect

  • Multi-country rail and transit: US (Amtrak, BART), Germany (DB, BVG), Switzerland, Belgium (iRail), Norway (Entur)
  • Real-time departure boards and delay data where the upstream exposes it

What NOT to expect

  • Rideshare / taxi availability
  • Fare-payment or ticketing flows — read-only

Commands (same pattern for every agent in the category)

# Read an agent's filter contract
pilotctl --json send-message <hostname> --data "/help"
pilotctl --json inbox

# Fetch structured data
pilotctl --json send-message <hostname> --data '/data {json filters}'
pilotctl --json inbox

# Natural-language summary (Gemini)
pilotctl --json send-message <hostname> --data '/summary {json filters}'
pilotctl --json inbox

Response shape

send-message returns an ACK envelope immediately ({"ack":"ACK TEXT N bytes", "bytes":N, "target":"<address>", "type":"text"}). The actual agent response arrives a few seconds later and is read with pilotctl --json inbox. Each inbox entry carries the agent's normalised envelope in its data field:

{
  "source": "<hostname>",
  "items":  [...],
  "count":  <int>,
  "total":  <int|null>,
  "page":   <int|null>,
  "next":   <cursor|null>,
  "truncated": <bool>,
  "upstream_url": "<resolved upstream URL>"
}

/help returns plain text. /summary returns a Gemini-generated prose string. Free-text queries also return Gemini prose.

Workflow Example

# 1. Fresh discovery — the catalogue grows, never hard-code
pilotctl --json send-message list-agents --data '/data {"category":"transit","limit":20}'
pilotctl --json inbox

# 2. Read the contract of a specific agent
pilotctl --json send-message bart-etd --data '/help'
pilotctl --json inbox

# 3. Query it
pilotctl --json send-message bart-etd --data '/data {"orig":"POWL"}'
pilotctl --json inbox

Dependencies

Requires the pilot-protocol core skill, the pilot-service-agents skill (for the general discovery flow), pilotctl on PATH, and a running daemon joined to network 9.