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。

3,891 stars

Best use case

fly-flight is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

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。

Teams using fly-flight should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/fly-flight/SKILL.md --create-dirs "https://raw.githubusercontent.com/openclaw/skills/main/skills/baizhexue/fly-flight/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/fly-flight/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How fly-flight Compares

Feature / Agentfly-flightStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

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。

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

# 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:

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

High-speed rail query:

```bash
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:

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

Optional local HTTP mode:

```bash
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](./scripts/transport_service.py) as the shared entrypoint.
   Flight mode delegates to [scripts/providers/flight_public_service.py](./scripts/providers/flight_public_service.py).
   Train mode delegates to [scripts/providers/train_public_service.py](./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

- Use [scripts/transport_service.py](./scripts/transport_service.py) as the unified CLI and HTTP entrypoint.
- Use [scripts/providers/flight_public_service.py](./scripts/providers/flight_public_service.py) for flight lookups.
- Use [scripts/providers/train_public_service.py](./scripts/providers/train_public_service.py) for high-speed rail lookups.
- Use [scripts/domestic_flight_public_service.py](./scripts/domestic_flight_public_service.py) only for backward compatibility.
- Use [scripts/extract_tongcheng_state.js](./scripts/extract_tongcheng_state.js) to decode the Tongcheng public page payload.
- Use [references/provider-public-web.md](./references/provider-public-web.md) for public-source notes and limitations.

Related Skills

hna-666-flight-checker

3891
from openclaw/skills

查询海南航空 666Plus 权益可往返航班,自动遍历指定目的地

variflight-global-flight-fares

3891
from openclaw/skills

Variflight Global Flight Fares searches one-way flight fares from the Variflight ticket API by departure IATA city code, arrival IATA city code, and departure date.

domestic-flight-search

3891
from openclaw/skills

Query China domestic flights with schedules, airline details, airport resolution, and Juhe reference prices. Use when a user asks for domestic China flight options, lowest fares, same-day route comparisons, airport-specific searches, or Chinese city/airport name to IATA resolution before flight lookup.

clawflight

3891
from openclaw/skills

Find flights with Starlink satellite WiFi. Filters to Starlink-equipped airlines only, ranks by WiFi score/price/jet lag, returns affiliate booking links. Use when searching for flights where you need to work on the plane.

flight-search

3891
from openclaw/skills

Search Google Flights for prices, times, and airlines. No API key required.

flight-requirement-review

3891
from openclaw/skills

机票产品需求评审 Agent。对前端、后端、运营类机票需求文档进行结构化评审打分,含独立的流程图治理评审(去If化、卫语句、决策表、FSM、泳道图、分层建模)。输入需求文档(markdown/图片/HTML),输出分项评分、评语和改进建议。使用场景:用户说"评审需求"、"审需求文档"、"给需求打分"、"需求评审"、"评审流程图"、"检查流程图"、"流程图打分"时触发。

flyclaw (Flight N-in-1 Search Zero Login)

3891
from openclaw/skills

Multi-source flight aggregation — tickets, nonstop, round-trip, cabin. 航班机票/零登录/零API, zero login, zero account, zero API key. Pure Python, no browser. 机票价格/航班动态/直飞筛选.

---

3891
from openclaw/skills

name: article-factory-wechat

Content & Documentation

humanizer

3891
from openclaw/skills

Remove signs of AI-generated writing from text. Use when editing or reviewing text to make it sound more natural and human-written. Based on Wikipedia's comprehensive "Signs of AI writing" guide. Detects and fixes patterns including: inflated symbolism, promotional language, superficial -ing analyses, vague attributions, em dash overuse, rule of three, AI vocabulary words, negative parallelisms, and excessive conjunctive phrases.

Content & Documentation

find-skills

3891
from openclaw/skills

Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.

General Utilities

tavily-search

3891
from openclaw/skills

Use Tavily API for real-time web search and content extraction. Use when: user needs real-time web search results, research, or current information from the web. Requires Tavily API key.

Data & Research

baidu-search

3891
from openclaw/skills

Search the web using Baidu AI Search Engine (BDSE). Use for live information, documentation, or research topics.

Data & Research