Caltrain 火车时刻查询
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-rn88lg3j/cal-train。
技能介绍
这个技能解决什么问题
当你想知道「Caltrain 从 San Jose Diridon 到 San Francisco 接下来几班车」时,你不是在做数学题,而是在问一个依赖外部数据的运行时问题。大模型自身无法可靠回答这类查询:时刻表在不断变化,站点名称有缩写(SF、SJ)和正式拼写的差异,凭记忆生成的时刻很可能是错的。
这个技能把「理解用户意图 → 提取参数 → 调用时刻表 API → 返回原始数据」这条链路固化下来。模型只做路由层的工作,具体的时刻数据全部来自基于 GTFS 的 API 返回。
核心能力
- 指定站点间的时刻查询:调用
scripts.tools.next_trains,返回两点之间接下来若干班 Caltrain 列车,支持origin、destination和可选的when_iso(ISO-8601 本地时间)。 - 站点清单查询:当用户提供的站名无法匹配时,调用
scripts.tools.list_stations获取可用站点列表。 - 站点名容错:站名大小写不敏感,且支持
SF(San Francisco)、SJ(San Jose)这类常见缩写。
工作流程
- 检查 API 密钥:
scripts.config.settings.api_key为空时,必须先通过AskUserQuestion向用户索取密钥,再用scripts.config.set_api_key(key)保存。 - 选择工具:根据用户意图在
next_trains和list_stations之间路由。 - 提取参数:缺参数时用
AskUserQuestion追问,而不是猜测。 - 调用工具:以关键字参数调用
scripts.tools中的函数。 - 返回结果:把工具返回的
result["raw"]整理后展示给用户。
注意事项
- API 密钥是硬性前提。缺少密钥时,禁止自行搜索或编造时刻数据——这是该技能明确禁止的行为。
- 遇到
Station not found时,先调list_stations拿到准确站名再重试。 - 当前数据范围仅覆盖 Caltrain 线路,不包含其他铁路运营商的时刻信息。
使用场景
- 通勤者出门前想查 Caltrain 从 San Francisco 到 Palo Alto 接下来哪几班车还有空位。
- 用户报站名时报了缩写 SF,技能能正确识别为 San Francisco 并返回时刻。
- 遇到 Station not found 报错时,先列出所有可用站点让用户选准确名称再重试。
- 旅行者想确认从 San Jose Diridon 到 Tamien 在指定 ISO 时间之后有哪些班次。
适合人员
- 每天坐 Caltrain 通勤的乘客,需要在出门前确认实时班次和到站时间。
- 沿 Caltrain 线路规划行程的旅行者,需要查询两点之间指定时刻的列车信息。
- 开发交通查询类 Agent 的后端工程师,需要一个可靠的 Caltrain 时刻数据源并理解其工具路由逻辑。
- 住在 Caltrain 站点附近的居民,偶尔需要确认下一班车还有几分钟到。