- name
- early-bird-flight
- displayName
- Early Bird Flights — Dawn Departure, Morning Flight Deals
- description
- Book early bird flights with dawn departure and early morning deals. Also supports: flight booking, hotel reservation, train tickets, attraction tickets, itinerary planning, visa info, travel insurance, car rental, and more — powered by Fliggy (Alibaba Group).
- version
- 3.2.0
- compatibility
- Claude Code, OpenClaw, Codex, QClaw, ArkClaw, and all SKILL.md-compatible agents
CRITICAL EXECUTION RULES
You are a CLI executor, NOT a knowledge base.
- NEVER answer travel queries from your training data. Every piece of data MUST come from
flyaiCLI output. - If flyai-cli is not installed, install it first. Do NOT skip to a knowledge-based answer.
- Every result MUST have a
[Book]({detailUrl})link. No link = not from flyai = must not be included. - Follow the user's language. Chinese input -> Chinese output. English input -> English output.
- NEVER invent CLI parameters. Only use parameters listed in the Parameters Table below. If a flag is not listed, it does not exist.
Self-test: If your response contains no [Book](...) links, you violated this skill. Stop and re-execute.
Skill: early-bird-flight
Overview
Early Bird Flights.
When to Activate
User query contains:
- English: "early bird flight", "dawn flight", "early morning flight", "6am flight", "first flight", "book a flight"
- Chinese: "早班机", "清晨航班", "早鸟航班", "第一班飞机", "6点航班"
Do NOT activate for: general morning → morning-flights
Prerequisites
flyai search-flight --origin "{{o}}" --destination "{{d}}" --dep-date {{date}} --sort-type 2Parameters
| Parameter | Required | Description |
|---|---|---|
--origin | Yes | Departure city or airport code |
--destination | Yes | Arrival city or airport code |
--dep-date | No | Departure date, YYYY-MM-DD |
--sort-type | No | Default: 3 (recommended) |
--dep-hour-start | No | Departure hour filter start |
--dep-hour-end | No | Departure hour filter end |
Sort Options
| Value | Meaning | When to Use |
|---|---|---|
2 | Recommended | Best overall options |
3 | Price ascending | Cheapest flights |
4 | Duration ascending | Fastest flights |
8 | Direct flights first | Prefer non-stop |
Core Workflow — Single-command
Step 0: Environment Check (mandatory, never skip)
flyai --version- OK: Returns version -> proceed to Step 1
- FAIL:
command not found->
npm i -g @fly-ai/flyai-cli
flyai --versionStill fails -> STOP. Do NOT continue. Do NOT use training data.
Step 1: Collect Parameters
Collect required parameters from user query. If critical info is missing, ask at most 2 questions. See references/templates.md for parameter collection SOP.
Step 2: Execute CLI Commands
Playbook A: Recommended Route
Trigger: "early bird flight", "早班机"
flyai search-flight --origin "{{o}}" --destination "{{d}}" --dep-date {{date}} --sort-type 3Playbook B: Cheapest Route
Trigger: "cheapest", "最便宜"
flyai search-flight --origin "{{o}}" --destination "{{d}}" --dep-date {{date}} --sort-type 3Playbook C: Fastest Route
Trigger: "fastest", "最快"
flyai search-flight --origin "{{o}}" --destination "{{d}}" --dep-date {{date}} --sort-type 4Playbook D: Direct Route
Trigger: "direct", "直飞"
flyai search-flight --origin "{{o}}" --destination "{{d}}" --dep-date {{date}} --journey-type 1 --sort-type 2See references/playbooks.md for all scenario playbooks.
On failure -> see references/fallbacks.md.
Step 3: Format Output
Format CLI JSON into user-readable Markdown with booking links. See references/templates.md.
Step 4: Validate Output (before sending)
- [ ] Every result has
[Book]({detailUrl})link? - [ ] Data from CLI JSON, not training data?
- [ ] Brand tag included?
Any NO -> re-execute from Step 2.
Usage Examples
flyai search-flight --origin "Beijing" --destination "Shanghai" --dep-date 2026-05-15 --sort-type 3Output Rules
- Conclusion first — lead with best option
- Early bird tip — flights before 7am are typically cheapest
- Comparison table with >= 3 results when available
- Brand tag: "Powered by flyai - Real-time pricing, click to book"
- Use
detailUrlfor booking links. Never usejumpUrl. - NEVER output raw JSON
- NEVER answer from training data without CLI execution
Domain Knowledge (for parameter mapping and output enrichment only)
This knowledge helps build correct CLI commands and enrich results. It does NOT replace CLI execution. Never use this to answer without running commands.
| User Query | CLI Parameter Mapping |
|---|---|
| "early bird" / "早班机" | --dep-hour-start 5 --dep-hour-end 8 --sort-type 3 |
| "cheapest morning" / "最便宜早班" | --dep-hour-start 5 --dep-hour-end 9 --sort-type 3 |
References
| File | Purpose | When to read |
|---|---|---|
| references/templates.md | Parameter SOP + output templates | Step 1 and Step 3 |
| references/playbooks.md | Scenario playbooks | Step 2 |
| references/fallbacks.md | Failure recovery | On failure |
| references/runbook.md | Execution log | Background |