Comprehensive TTC (Toronto Transit Commission) toolkit with real-time service alerts, arrival predictions, and live vehicle tracking. Use when the user asks about TTC transit status, delays, service disruptions, route arrivals, vehicle locations, or wants to check if a specific route (bus, streetcar, or subway line) is running normally. Supports queries like "What's the status of bus 68?", "Is line 2 running?", "Any delays on streetcar 509?", "When's the next bus 68?", "Where is my bus right now?", or "Check TTC service alerts".
Comprehensive real-time Toronto Transit Commission (TTC) information including service alerts, arrival predictions, and live vehicle tracking.
This skill provides three powerful tools for TTC transit:
All data comes from TTC's official GTFS-Realtime feed.
Check service disruptions, delays, planned work, and accessibility issues.
Check system-wide alerts:
python3 scripts/check_ttc_status.py --all
Check specific route:
python3 scripts/check_ttc_status.py 68 # Bus 68
python3 scripts/check_ttc_status.py 2 # Line 2 subway
python3 scripts/check_ttc_status.py 509 # Streetcar 509
Show only alerts happening RIGHT NOW:
python3 scripts/check_ttc_status.py 1 --now
Filters out scheduled future work and past alerts.
Filter by transit mode:
python3 scripts/check_ttc_status.py --all --mode subway # Subway only
python3 scripts/check_ttc_status.py --all --mode bus # Buses only
python3 scripts/check_ttc_status.py --all --mode streetcar # Streetcars only
python3 scripts/check_ttc_status.py --all --mode accessibility # Elevators/escalators
| User Says | Command |
|---|---|
| "What's the status of bus 68?" | check_ttc_status.py 68 |
| "Is line 2 running normally?" | check_ttc_status.py 2 |
| "Any subway delays right now?" | check_ttc_status.py --mode subway --now |
| "Check accessibility issues" | check_ttc_status.py --all --mode accessibility |
| "Any streetcar alerts?" | check_ttc_status.py --mode streetcar |
Shows for each alert:
Get live arrival predictions for TTC stops or routes.
By stop ID:
python3 scripts/check_ttc_arrivals.py --stop 12345
By route (next vehicles on route):
python3 scripts/check_ttc_arrivals.py --route 68
python3 scripts/check_ttc_arrivals.py --route 2
python3 scripts/check_ttc_arrivals.py --route 509
Limit results:
python3 scripts/check_ttc_arrivals.py --route 68 --limit 3 # Show next 3 arrivals
| User Says | Command |
|---|---|
| "When's the next bus 68?" | check_ttc_arrivals.py --route 68 |
| "How long until the streetcar 509?" | check_ttc_arrivals.py --route 509 |
| "Next arrivals at stop 12345" | check_ttc_arrivals.py --stop 12345 |
Shows:
--limit)Note: Stop IDs can be found on TTC stop signs or via TTC's trip planner.
Track real-time vehicle positions with GPS coordinates.
Track specific route:
python3 scripts/check_ttc_vehicles.py 68 # Track bus 68
python3 scripts/check_ttc_vehicles.py 2 # Track Line 2 trains
python3 scripts/check_ttc_vehicles.py 509 # Track streetcar 509
Show all vehicles system-wide:
python3 scripts/check_ttc_vehicles.py --all
Limit results:
python3 scripts/check_ttc_vehicles.py 68 --limit 5 # Show 5 vehicles max
| User Says | Command |
|---|---|
| "Where is bus 68 right now?" | check_ttc_vehicles.py 68 |
| "Show all Line 2 trains" | check_ttc_vehicles.py 2 |
| "Track streetcar 509" | check_ttc_vehicles.py 509 |
Shows for each vehicle:
Use route number: 7, 36, 68, 192, etc.
1 - Line 1 (Yonge-University)2 - Line 2 (Bloor-Danforth)3 - Line 3 (Scarborough RT)4 - Line 4 (Sheppard)Use route number: 501, 504, 505, 506, 509, 510, 511, 512
# 1. Check if your route has alerts
python3 scripts/check_ttc_status.py 68 --now
# 2. If clear, check when next bus arrives
python3 scripts/check_ttc_arrivals.py --route 68 --limit 3
# 3. Track the bus approaching your stop
python3 scripts/check_ttc_vehicles.py 68
# Check all current alerts
python3 scripts/check_ttc_status.py --all --now
# See subway-specific issues
python3 scripts/check_ttc_status.py --mode subway --now
# User reports: "Is Line 2 delayed?"
python3 scripts/check_ttc_status.py 2 --now # Check alerts
python3 scripts/check_ttc_vehicles.py 2 --limit 10 # See train positions
All scripts require gtfs-realtime-bindings to parse TTC's GTFS-Realtime protobuf feed.
Install:
pip install gtfs-realtime-bindings
The scripts will display a clear error message with installation instructions if the library is missing.
/alerts/all - Service alerts (all modes)/alerts/{subway,bus,streetcar,accessibility} - Mode-specific alerts/trips/update - Real-time arrival predictions/vehicles/position - Live vehicle GPS positions