Install any skill in seconds. Free to start, no credit card required.
Get Started Free →borski/scandinavia-transit
Search trains, buses, and ferries in Norway (Entur), Sweden (ResRobot), and Denmark (Rejseplanen). Intra-Scandinavia ground transport with schedules and Danish fare pricing.
Passed 18 of 20 test cases with the skill, and 6 of 20 without it.
and 18 more in the full report
13 fixed7 passed either way2 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 13 test cases the skill fixed. Same model, same prompt, with and without the skill.
What are the official Entur StopPlace IDs for Bergen stasjon and Trondheim S?
| Checked | Without skill | With skill |
|---|---|---|
| Uses stop ID NSR:StopPlace:548 for Bergen. | Missed | Passed |
| Uses stop ID NSR:StopPlace:41742 for Trondheim S. | Missed | Passed |
The instructions your model reads when the skill loads.
Search ground transport (trains, buses, ferries) within Norway, Sweden, and Denmark using their national transit APIs.
Sources:
Open GraphQL API. No key needed (but a client name header is required). Covers ALL Norwegian transit: Vy trains, buses, ferries, trams, metro. 60+ operators.
curl -s -X POST "https://api.entur.io/journey-planner/v3/graphql" \
-H "Content-Type: application/json" \
-H "ET-Client-Name: $ENTUR_CLIENT_NAME" \
-d '{"query": "{ trip(from: {place: \"NSR:StopPlace:59872\"}, to: {place: \"NSR:StopPlace:548\"}, numTripPatterns: 5) { tripPatterns { startTime duration legs { mode expectedStartTime expectedEndTime fromPlace { name } toPlace { name } line { publicCode name authority { name } } } } } }"}' | jq '.data.trip.tripPatterns[] | {start: .startTime, duration_min: (.duration / 60), legs: [.legs[] | {mode: .mode, from: .fromPlace.name, to: .toPlace.name, line: .line.publicCode, operator: .line.authority.name, depart: .expectedStartTime, arrive: .expectedEndTime}]}'
Stop IDs use the format NSR:StopPlace:XXXXX. Find them via the Geocoder:
curl -s "https://api.entur.io/geocoder/v1/autocomplete?text=Oslo%20S&size=3" \
-H "ET-Client-Name: $ENTUR_CLIENT_NAME" | jq '[.features[] | {name: .properties.name, id: .properties.id, type: .properties.layer}]'
| City | Stop ID | Name |
|---|---|---|
| Oslo S | NSR:StopPlace:59872 | Oslo S |
| Bergen | NSR:StopPlace:548 | Bergen stasjon |
| Stavanger | NSR:StopPlace:4130 | Stavanger |
| Trondheim | NSR:StopPlace:41742 | Trondheim S |
| Bodo | NSR:StopPlace:49484 | Bodo stasjon |
test cases passed, vs 6 / 20 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.