Skills fly-flight

Query China domestic transport options through one skill. Use when a user wants domestic flight or high-speed rail results, departure and arrival times, stations or airports, airline or train details, or public reference fares from open web sources. Route the request by transport mode and return a shared outer response shape. 一个同时支持中国国内航班和高铁查询的统一 transport skill,可根据 mode 路由到航班或高铁 provider。

install
source · Clone the upstream repo
git clone https://github.com/openclaw/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/baizhexue/fly-flight" ~/.claude/skills/clawdbot-skills-fly-flight && rm -rf "$T"
manifest: skills/baizhexue/fly-flight/SKILL.md
source content

Fly Flight

Use the unified transport entrypoint in this skill to handle China domestic trip lookup for both flights and high-speed rail.

这是一个统一的中国境内出行查询 skill,同时支持航班和高铁。 它通过同一个 transport 入口按 mode 路由到底层 provider。

Requirements

Require the following runtime environment before using this skill:

  • python3
  • node
  • Network access to Tongcheng public flight pages and official 12306 public endpoints

使用这个 skill 前,运行环境必须具备:

  • python3
  • node
  • 能访问同程公开航班页面和 12306 官方公开接口的网络环境

These dependencies are required whether the skill is installed from GitHub or from ClawHub.
无论这个 skill 是从 GitHub 安装还是从 ClawHub 安装,这些依赖都必须满足。

Current implementation status:

  • flight
    mode is implemented through Tongcheng public flight pages.
  • train
    mode is implemented through official 12306 public high-speed rail query and public price endpoints.

Quick Start

Flight query:

python3 {baseDir}/scripts/transport_service.py search \
  --mode flight --from 北京 --to 上海 --date 2026-03-20 --sort-by price --pretty

High-speed rail query:

python3 {baseDir}/scripts/transport_service.py search \
  --mode train --from 北京 --to 上海 --date 2026-03-20 \
  --seat-type second_class --sort-by price --pretty

The legacy flight-only entrypoint remains available for backward compatibility:

python3 {baseDir}/scripts/domestic_flight_public_service.py search \
  --from 北京 --to 上海 --date 2026-03-20 --sort-by price --pretty

Optional local HTTP mode:

python3 {baseDir}/scripts/transport_service.py serve --port 8766

Workflow

  1. Determine transport mode. Use

    flight
    for flights, airports, airlines, or plane tickets. Use
    train
    for high-speed rail, rail tickets, stations, or train numbers. If the user is ambiguous, infer conservatively from their wording or ask.

  2. Route to the correct provider. Use scripts/transport_service.py as the shared entrypoint. Flight mode delegates to scripts/providers/flight_public_service.py. Train mode delegates to scripts/providers/train_public_service.py.

  3. Preserve a shared outer response shape. Return

    mode
    ,
    provider
    ,
    trip_type
    ,
    outbound
    , and optional
    return
    . Keep mode-specific fields inside each leg's
    options
    .

  4. Apply only mode-specific filters that make sense. Flight filters: airline, direct-only, preferred airports. Train filters: train type, seat type, preferred stations.

  5. Summarize results with the mode label. Clearly say whether the result is a flight result or a train result. Treat public-source prices as reference prices that can differ from final checkout prices.

Output Rules

  • Prefer up to 5 options unless the user asked for more.
  • State the exact travel date in
    YYYY-MM-DD
    .
  • Keep the outer response consistent across modes.
  • Do not force a single shared field schema for airports and stations; keep mode-specific details inside
    options
    .
  • For round trips, clearly separate
    outbound
    and
    return
    .
  • For train mode, explain that prices come from official public fare data and seat availability comes from public query results.

Resources