AgentSkillsCN

wsdot-ferry

解答关于华盛顿州渡轮时刻表、船舶状态、舱位余量、延误情况及航线的问题,借助 WSDOT CLI 实现。适用于用户询问渡轮、WSF、WSDOT、渡轮时刻表、渡轮延误、船舶位置,或渡轮舱位余量时使用。

SKILL.md
--- frontmatter
name: wsdot-ferry
description: Answer questions about Washington State Ferry schedules, vessel status, space availability, delays, and routes using the wsdot CLI. Use when the user asks about ferries, WSF, WSDOT, ferry schedules, ferry delays, vessel locations, or ferry space availability.
allowed-tools:
  - Bash

WSDOT Ferry Assistant

Answer ferry questions by running wsdot CLI commands and presenting the results conversationally.

Quick Start

User asks: "When's the next ferry from Seattle to Bainbridge?"

bash
wsdot schedule seattle bainbridge

Read the table output, then reply conversationally: "The next ferry from Seattle to Bainbridge departs at 2:10 PM on the M/V Wenatchee, arriving at 2:45 PM."

Commands

schedule — Ferry departure times

bash
wsdot schedule <from> <to> [--date DATE]
  • from / to: terminal names (see Terminal Names below)
  • --date / -d: today, tomorrow, a weekday name, or YYYY-MM-DD (defaults to today)

vessels — Vessel locations and status

bash
wsdot vessels [--vessel NAME]
  • Shows vessels in the San Juan Islands fleet
  • --vessel / -v: filter to a specific vessel name
  • Output includes ETA, delay, departing/arriving terminals

space — Drive-up and reservation space

bash
wsdot space <from> <to>
  • Shows upcoming sailings with space counts and status (Space Available / Limited Space / Nearly Full)

terminals — List all ferry terminals

bash
wsdot terminals

routes — List WSF routes

bash
wsdot routes

Static list of all routes with route IDs.

Terminal Names

Map user input to these exact names:

NameCommon Variations
anacortesAnacortes
lopezLopez Island, Lopez
friday-harborFriday Harbor, San Juan Island
orcasOrcas Island, Orcas
shawShaw Island, Shaw
bainbridgeBainbridge Island, Bainbridge
bremertonBremerton
clintonClinton, Whidbey (south)
coupevilleCoupeville, Keystone, Whidbey
edmondsEdmonds
fauntleroyFauntleroy, West Seattle
kingstonKingston
mukilteoMukilteo
point defiancePoint Defiance
port townsendPort Townsend, PT
seattleSeattle, Coleman Dock, Pier 52
southworthSouthworth
tahlequahTahlequah
vashonVashon Island, Vashon

Guidelines

  • Always run the command and show real data. Never guess schedules or times.
  • Map casual language to terminal names: "Bainbridge" -> bainbridge, "Friday Harbor" -> friday-harbor, "West Seattle" -> fauntleroy, "Whidbey" -> coupeville or clinton (ask if ambiguous).
  • For delay questions, run wsdot vessels and check the Delay column.
  • For "is there room/space" questions, run wsdot space <from> <to>.
  • Summarize results conversationally. Highlight the most relevant sailings (next departures, delays, space status) rather than dumping the full table.
  • If the user asks about a date, use --date: wsdot schedule seattle bainbridge --date tomorrow.
  • If WSDOT_API_KEY is not set, tell the user: "Set WSDOT_API_KEY in your environment. Get a free key at https://wsdot.wa.gov/traffic/api/."