Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Austrian public transport (VOR AnachB) for all of Austria. Query real-time departures, search stations/stops, plan routes between locations, and check service disruptions. Use when asking about Austrian trains, buses, trams, metro (U-Bahn), or directions involving public transport in Austria.
.claude/skills/sundial-org-anachb/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-14 | ✗→✓ | ▲ Improved | 49% | 0% |
| case-01 | ✗→✓ | ▲ Improved | 222% | 0% |
| case-25 | ✗→✓ | ▲ Improved | 215% | 0% |
| case-09 | ✗→✓ | ▲ Improved | -2% | 0% |
| case-10 | ✗→✓ | ▲ Improved | -14% | 0% |
Query Austrian public transport for real-time departures, route planning, and service disruptions using the HAFAS API.
| Script | Purpose | |--------|---------| | search.sh | Find stations/stops by name | | departures.sh | Real-time departures at a station | | route.sh | Plan a trip between two locations | | disruptions.sh | Current service disruptions |
API: HAFAS (Hacon Fahrplan-Auskunfts-System) Endpoint: https://vao.demo.hafas.de/gate
Find station IDs by name:
bash./search.sh "Stephansplatz" ./search.sh "Wien Hauptbahnhof" ./search.sh "Linz" ./search.sh "Salzburg Hbf"
Returns station names, IDs (extId), and coordinates.
Response fields:
name: Station nameextId: Station ID for use in other queriestype: S (Station), A (Address), P (POI)coordinates: WGS84 coordinates (lon/lat in 1e-6 format)Get next departures from a station:
bash./departures.sh <station-id> [count] # Examples: ./departures.sh 490132000 # Wien Stephansplatz, 10 departures ./departures.sh 490132000 20 # Wien Stephansplatz, 20 departures ./departures.sh 490060200 # Wien Hauptbahnhof ./departures.sh 444130000 # Linz Hbf ./departures.sh 455000100 # Salzburg Hbf
Response fields:
line: Line name (U1, S1, RJ, etc.)direction: Final destinationdeparture: Scheduled departure timedelay: Delay in minutes (if any)platform: Platform/track numberPlan a trip between two stations:
bash./route.sh <from-id> <to-id> [results] # Examples: ./route.sh 490132000 490060200 # Stephansplatz → Hauptbahnhof ./route.sh 490132000 444130000 5 # Wien → Linz, 5 results ./route.sh "Graz Hbf" "Wien Hbf" # Search by name (slower)
Response fields:
departure: Departure timearrival: Arrival timeduration: Trip durationchanges: Number of transferslegs: Array of trip segments with line infoCheck current service disruptions:
bash./disruptions.sh [category] # Examples: ./disruptions.sh # All disruptions ./disruptions.sh TRAIN # Train disruptions only ./disruptions.sh BUS # Bus disruptions only
| Station | ID | |---------|-----| | Wien Stephansplatz | 490132000 | | Wien Hauptbahnhof | 490134900 | | Wien Westbahnhof | 490024300 | | Wien Praterstern | 490056100 | | Wien Karlsplatz | 490024600 | | Wien Schwedenplatz | 490119500 | | Linz Hbf | 444116400 | | Salzburg Hbf | 455000200 | | Graz Hbf | 460086000 | | Innsbruck Hbf | 481070100 | | Klagenfurt Hbf | 492019500 | | St. Pölten Hbf | 431543300 | | Wiener Neustadt Hbf | 430521000 | | Krems a.d. Donau | 431046400 |
Tip: Always use ./search.sh to find the correct station ID.
| Code | Type | |------|------| | ICE/RJ/RJX | High-speed trains | | IC/EC | InterCity/EuroCity | | REX/R | Regional Express/Regional | | S | S-Bahn (suburban rail) | | U | U-Bahn (Vienna metro) | | STR | Tram/Straßenbahn | | BUS | Bus | | AST | Demand-responsive transport |
The scripts use the HAFAS JSON API. For custom queries:
bashcurl -s -X POST "https://vao.demo.hafas.de/gate" \ -H "Content-Type: application/json" \ -d '{ "svcReqL": [{ "req": { ... }, "meth": "METHOD_NAME", "id": "1|1|" }], "client": {"id": "VAO", "v": "1", "type": "AND", "name": "nextgen"}, "ver": "1.73", "lang": "de", "auth": {"aid": "nextgen", "type": "AID"} }'
Available methods:
LocMatch - Location/station searchStationBoard - Departures/arrivalsTripSearch - Route planningHimSearch - Disruptions/service messagesJourneyDetails - Details of a specific journeysearch.sh to find the correct station ID before querying departures or routes.Other measured skills in the registry, with their headline benchmark lift.