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。
Scanned 9/9/2026
Install to Claude Code
npx -y skills add Lord1Egypt/awesome-skill-forge --skill fly-flight --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Fly Flight?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/lord1egypt-fly-flight)More formats (shields.io, HTML) on the badges page.
---
name: fly-flight
description: "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。"
metadata: { "openclaw": { "requires": { "bins": ["python3", "node"] } } }
---
# 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.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!