Early Flights
/install early-flights
⚠️ 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 command 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.
Self-test: If your response contains no [Book](...) links, you violated this skill. Stop and re-execute.
Skill: early-flights
Overview
Find the earliest departing flights of the day — maximize your day at the destination by arriving before noon. Sorted by departure time.
When to Activate
User query contains:
- English: "earliest flight", "first flight", "morning flight", "early departure"
- Chinese: "最早航班", "早班机", "第一班飞机", "早上的飞机"
Do NOT activate for: red-eye → red-eye-flights
Prerequisites
npm i -g @fly-ai/flyai-cli
Parameters
| Parameter | Required | Description |
|---|---|---|
--origin |
Yes | Departure city or airport code (e.g., "Beijing", "PVG") |
--destination |
Yes | Arrival city or airport code (e.g., "Shanghai", "NRT") |
--dep-date |
No | Departure date, YYYY-MM-DD |
--dep-date-start |
No | Start of flexible date range |
--dep-date-end |
No | End of flexible date range |
--back-date |
No | Return date for round-trip |
--sort-type |
No | Always 6 (earliest departure) |
--max-price |
No | Price ceiling in CNY |
--journey-type |
No | Default: show both |
--seat-class-name |
No | Cabin class (economy/business/first) |
--dep-hour-start |
No | Departure hour filter start (0-23) |
--dep-hour-end |
No | Departure hour filter end (0-23) |
Sort Options
| Value | Meaning |
|---|---|
1 |
Price descending |
2 |
Recommended |
3 |
Price ascending |
4 |
Duration ascending |
5 |
Duration descending |
6 |
Earliest departure |
7 |
Latest departure |
8 |
Direct flights first |
Core Workflow — Single-command
Step 0: Environment Check (mandatory, never skip)
flyai --version
- ✅ Returns version → proceed to Step 1
- ❌
command not found→
npm i -g @fly-ai/flyai-cli
flyai --version
Still fails → STOP. Tell user to run npm i -g @fly-ai/flyai-cli manually. 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: First Flight Out
Trigger: "earliest", "最早"
flyai search-flight --origin "{o}" --destination "{d}" --dep-date {date} --dep-hour-start 5 --dep-hour-end 9 --sort-type 6
Output: Show 5-9 AM flights, earliest first.
Playbook B: Early + Cheap
Trigger: "cheapest morning flight"
flyai search-flight --origin "{o}" --destination "{d}" --dep-date {date} --dep-hour-start 5 --dep-hour-end 9 --sort-type 3
Output: Morning flights sorted by price.
Playbook C: Before Meeting
Trigger: "arrive by 10am", "10点前到"
flyai search-flight --origin "{o}" --destination "{d}" --dep-date {date} --dep-hour-start 5 --dep-hour-end 7 --sort-type 6
Output: Ultra-early to arrive before 10am for business.
See 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 "Powered by flyai · Real-time pricing, click to book" included?
Any NO → re-execute from Step 2.
Usage Examples
flyai search-flight --origin "Shanghai" --destination "Beijing" --dep-date 2026-05-01 --dep-hour-start 5 --dep-hour-end 9 --sort-type 6
Output Rules
- Conclusion first — lead with the key finding
- 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
- ❌ Never fabricate prices, hotel names, or attraction details
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.
Early morning flights (5-9 AM) are often 10-20% cheaper than midday. Best for same-day business trips. Arrive by lunch, full afternoon ahead. Consider airport proximity — early flights from secondary airports (SHA vs PVG) may be more convenient.
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 |
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install early-flights - After installation, invoke the skill by name or use
/early-flights - Provide required inputs per the skill's parameter spec and get structured output
What is Early Flights?
Find the earliest departing flights of the day — maximize your day at the destination by arriving before noon. Sorted by departure time. Also supports: fligh... It is an AI Agent Skill for Claude Code / OpenClaw, with 75 downloads so far.
How do I install Early Flights?
Run "/install early-flights" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Early Flights free?
Yes, Early Flights is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does Early Flights support?
Early Flights is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Early Flights?
It is built and maintained by dingtom336-gif (@dingtom336-gif); the current version is v3.2.0.