Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
One-word trigger for next bus arrival to your destination
One-word trigger for next bus arrival to your destination
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
Natural language bus lookup for Singapore.
bus from <source location> to <destination location> Examples: "bus from Silat Road Sikh Temple to Queens condo" "bus from Tanjong Pagar MRT to VivoCity" "bus from my office to home"
Use web_fetch to resolve the source location to coordinates via OneMap API: https://www.onemap.gov.sg/api/common/elastic/search?searchVal=<source>&returnGeom=Y&getAddrDetails=Y&pageNum=1 Extract LATITUDE and LONGITUDE from the first result.
Fetch the full Singapore bus stop list and find stops closest to source coordinates: https://busrouter.sg/data/2/bus-stops.json This returns a JSON object where each key is a bus stop code, with fields: description, road, lat, lng. Compute distance using: sqrt((lat2-lat1)^2 + (lng2-lng1)^2) (approximate is fine for short distances). Pick the 3 nearest stops within ~300m.
Same as Step 1 for the destination. Extract its coordinates.
For each of the 3 nearest source stops, fetch arrivals: https://arrivelah2.busrouter.sg/?id=<stop_code> Then for each bus service at those stops, check if it passes near the destination using: https://busrouter.sg/data/2/routes.json This maps bus service numbers to arrays of stop codes in order. Cross-reference with bus-stops.json to get coordinates of each stop on the route, and check if any stop is within ~400m of the destination coordinates. Keep only buses that: Have the source stop before the destination stop in their route (correct direction) Pass within ~400m of the destination
For each matching bus at the source stop, get from the arrivelah2 response: next.duration_ms โ minutes until next bus subsequent.duration_ms โ minutes until bus after that next.load โ seat availability: SEA = Seats Available, SDA = Standing Available, LSD = Limited Standing next.feature โ WAB = Wheelchair accessible next.type โ DD = Double decker, SD = Single deck, BD = Bendy
๐ Buses from [Source Stop Name] โ [Destination] Bus [XX] โฐ Next: X min | Then: Y min ๐บ [Seats Available / Standing / Limited Standing] ๐ [Double Decker / Single Deck] Bus [YY] โฐ Next: X min | Then: Y min ๐บ [Seats Available / Standing / Limited Standing] ๐ Stop: [Stop Description], [Road Name] (Stop code: XXXXX) If no direct bus found, say so and suggest nearest MRT or alternative.
SEA = Seats Available ๐ข SDA = Standing Available ๐ก LSD = Limited Standing ๐ด
DD = Double Decker SD = Single Deck BD = Bendy Bus WAB = Wheelchair Accessible Bus
OneMap geocode: https://www.onemap.gov.sg/api/common/elastic/search Bus stops: https://busrouter.sg/data/2/bus-stops.json Routes: https://busrouter.sg/data/2/routes.json Live arrivals: https://arrivelah2.busrouter.sg/?id=<stop_code>
Messaging, meetings, inboxes, CRM, and teammate communication surfaces.
Largest current source with strong distribution and engagement signals.