← 返回
未分类 Key

hkroute

Smart public transport routing for Hong Kong with real-time bus ETAs. Queries Google Maps for transit alternatives, enriches bus legs with live arrival times...
为香港提供实时公交到站预测的智能公共交通路线规划,查询 Google 地图获取多种出行方案,并为公交段补充实时到站信息。
7ito 7ito 来源
未分类 clawhub v1.0.3 1 版本 99719.1 Key: 需要
★ 0
Stars
📥 355
下载
💾 0
安装
1
版本
#latest

概述

HK Route — Hong Kong Transit Routing with Real-Time ETAs

What this skill does

Finds the best public transport route in Hong Kong by combining Google Maps directions with real-time bus ETAs. Routes are ranked by effective total time (real-time wait + travel duration), not just schedule data.

Required environment

RequirementDetails
------
GOOGLE_MAPS_API_KEYGoogle Maps API key with Directions API enabled
node >= 18Runtime for the bundled script

External endpoints

This skill makes network requests to:

EndpointPurposeCredentials
---------
maps.googleapis.com (Google Directions API)Transit route planningGOOGLE_MAPS_API_KEY
HK government & operator APIs via hk-bus-eta (DATA.GOV.HK, KMB, CTB, etc.)Real-time bus arrival timesNone (public APIs)

No other network calls are made. The ETA database is cached locally at ~/.cache/hk-route/etaDb.json (refreshed every 24h).

Source code

The bundled scripts/hk-route.cjs is built from readable TypeScript source at github.com/7ito/hkroute. Build command: esbuild src/index.ts --bundle --platform=node --format=cjs.

How to invoke

node /path/to/skill/scripts/hk-route.cjs \
  --origin "<origin>" \
  --destination "<destination>"

> The scripts/hk-route.cjs bundle is self-contained — no npm install needed. Just node >= 18.

Optional flags

  • --departure-time "" — plan a future trip (e.g., --departure-time "2026-03-26T08:00:00+08:00")

Input formats

  • Coordinates: "22.2822,114.1875" (lat,lng — no space after comma)
  • Place name: "Causeway Bay", "Hong Kong Airport", "Stanley Market"
  • Both origin and destination accept either format.

Conversational flows

One-shot (user provides both locations)

User: "How do I get from Causeway Bay to Stanley?"

→ Run the CLI with --origin "Causeway Bay" --destination "Stanley", format the output.

Multi-turn (e.g., WhatsApp via OpenClaw)

  1. User sends /hkroute
  2. Ask: "Where are you now? Send a location pin or type your location."
  3. User sends a coordinate pin (e.g., 22.2822,114.1875) or text (e.g., "Tin Hau MTR")
  4. Ask: "Where do you want to go?"
  5. User sends destination as text or coordinates.
  6. Run the CLI, format the output.

If the user provides invalid input at any step, ask them to try again with a valid location.

Implicit activation

Activate this skill when the user asks about getting somewhere in Hong Kong by public transport, even without using /hkroute. Look for intent like "how do I get to...", "best way to...", "bus from...", etc., in a Hong Kong context.

Output format

The CLI outputs JSON to stdout. Format it for the user as follows:

WhatsApp / messaging format template

🚌 **Routes from {origin} to {destination}**

⭐ **Route 1 (Recommended)** — {effective_total_min} min
{for each leg:}
  🚶 Walk {duration_seconds/60} min — {instructions}
  🚌 Bus {route_number} from {departure_stop} — **Next bus: {etas[0] formatted as relative time}** (then {etas[1]})
     {num_stops} stops → {arrival_stop}
  🚇 MTR {route_number} from {departure_stop}
     {num_stops} stops → {arrival_stop}
  ⛴️ Ferry ...
  🚊 Light Rail / Tram ...

📍 Route 2 — {effective_total_min} min
{same leg format}

📍 Route 3 — {effective_total_min} min
{same leg format}

Formatting rules

  • Recommended route: Mark with ⭐ and "(Recommended)"
  • Actionable leg: The leg with actionable: true is the one that determines when the user needs to leave. Call it out prominently: "Next bus in X min — leave now!" or "Next bus in X min — you have time."
  • ETAs: Format as relative time ("in 3 min", "in 12 min"). Show up to 2 ETAs per bus leg.
  • Walking legs: Always show with duration. Use 🚶 emoji.
  • Transport emojis: 🚌 bus, 🚇 MTR/subway, ⛴️ ferry, 🚊 light rail/tram, 🚶 walk
  • Bold: Use bold for ETAs, route numbers, and the recommended route label.
  • Unavailable ETAs: If eta_source is "unavailable", show "ETA unavailable (scheduled: {departure_time})" instead of a real-time ETA.
  • Schedule-only: If eta_source is "schedule", show the scheduled departure time without a real-time label.

Error handling

If the CLI returns error: true:

  • NO_TRANSIT_ROUTES: Tell the user no transit routes were found. Suggest trying a different departure time or considering a taxi.
  • GOOGLE_API_ERROR: Tell the user there was an issue fetching routes. Suggest trying again.
  • INVALID_INPUT: Tell the user what was wrong with their input.

版本历史

共 1 个版本

  • v1.0.3 当前
    2026-05-03 10:40 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

dev-programming

Github

steipete
使用 `gh` CLI 与 GitHub 交互,通过 `gh issue`、`gh pr`、`gh run` 和 `gh api` 管理议题、PR、CI 运行及高级查询。
★ 677 📥 325,884
ai-agent

Skill Vetter

spclaudehome
AI智能体技能安全预审工具。安装ClawdHub、GitHub等来源技能前,检查风险信号、权限范围及可疑模式。
★ 1,232 📥 268,277
ai-agent

Self-Improving + Proactive Agent

ivangdavila
自我反思+自我批评+自我学习+自组织记忆。智能体评估自身工作、发现错误并持续改进。
★ 1,385 📥 320,993