Awesome-omni-skill mvg
Munich public transport (MVG) - departures, schedules, and alerts. Use when user shares location in Munich, asks about transport schedules, nearby stops, or transit disruptions.
install
source · Clone the upstream repo
git clone https://github.com/diegosouzapw/awesome-omni-skill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/development/mvg" ~/.claude/skills/diegosouzapw-awesome-omni-skill-mvg && rm -rf "$T"
manifest:
skills/development/mvg/SKILL.mdsource content
MVG Skill 🚇
Munich public transport departures, schedules, and alerts.
1. Departures by Location
When user shares location or asks about nearby transport:
python3 mvg-departures.py <lat> <lng> # With options python3 mvg-departures.py <lat> <lng> --limit 5 --offset 3 --compact
Options
| Flag | Description |
|---|---|
| Max departures (default: 8) |
| Walking time to stop (filters out departures leaving too soon) |
| Filter by transport type |
| One-line format |
| JSON output |
Examples
# Central Munich python3 mvg-departures.py 48.137 11.575 # Only U-Bahn and S-Bahn, 5 min walk to station python3 mvg-departures.py 48.137 11.575 --types U,S --offset 5 # Compact output python3 mvg-departures.py 48.137 11.575 --compact
Output Format
📍 **Marienplatz** (München) 🚇 U3 → Fürstenried West (2 min) 🚇 U6 → Klinikum Großhadern (3 min) 🚆 S1 → Freising (5 min +2)
Delay shown as
(+N) minutes.
2. On Location Share
When user sends a location via Telegram/Signal, automatically show nearby departures:
python3 mvg-departures.py <lat> <lng> --limit 6 --compact
3. Alerts & Disruptions
Check for strikes, disruptions, construction:
web_search "München MVG Streik Störung" --freshness pd
Keywords
— strikeStreik
— disruptionStörung
— closureSperrung
— cancellationAusfall
— delayVerspätung
— constructionBauarbeiten
MVG vs S-Bahn
| Service | Operator | During MVG Strike |
|---|---|---|
| U-Bahn | MVG | ❌ Affected |
| Tram | MVG | ❌ Affected |
| Bus (1-199) | MVG | ❌ Affected |
| S-Bahn | DB | ✅ Usually runs |
| Regional trains | DB | ✅ Usually runs |
⚠️ S-Bahn is operated by Deutsche Bahn, not MVG!
4. Heartbeat Integration
Add to HEARTBEAT.md for automated checks:
### 🚨 MVG Alerts (every heartbeat) - web_search: "München MVG Streik Störung" freshness=pd - Report NEW alerts only (check reportedAlerts in state) ### 📍 On Location - python3 mvg-departures.py <lat> <lng> --limit 6
Track reported alerts in state file:
{ "reportedAlerts": ["mvg-streik-2026-02-02"], "acknowledgedAlerts": [] }
5. API Reference
Uses unofficial MVG API:
Base: https://www.mvg.de/api/bgw-pt/v3 GET /stations/nearby?latitude=X&longitude=Y GET /departures?globalId=STATION_ID&limit=N&offsetInMinutes=M
Python package:
pip install mvg
Requirements
pip install mvg
Munich Tips
- Rush hours: 7:00-9:00, 16:30-19:00
- Oktoberfest: U4/U5 crowded (late Sept)
- Allianz Arena: U6 packed on match days
- Night service: Limited after 00:30 (weekdays)