"Find the cheapest flights between any two cities. Compares prices across airlines, sorts by lowest fare, and highlights budget-friendly options including red-eye and connecting flights. Also supports: hotel reservation, attraction tickets, itinerary plan
Find the cheapest flights between cities with sorted price comparisons, plus hotel booking, tickets, itinerary, visa, insurance, and car rental options.
Rank
62
Safety
84
Downloads
2.8k
Updated
Oct 9, 2026
Version
1.0.56052
Source
CLAWHUB
About
What it does, and when to use it.
Capability contract not published. No trust telemetry is available yet. 2.8K downloads reported by the source. Last updated 10/9/2026.
Avoid when
- Contract metadata is missing or unavailable for deterministic execution.
Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing
Public facts
Every fact links back to the source it came from.
- Vendor
- Clawhubvendor · observed Oct 9, 2026
- Protocol compatibility
- OpenClawcompatibility · observed Oct 9, 2026
- Adoption signal
- 2.8K downloadsadoption · observed Oct 9, 2026
- Latest release
- 1.0.56052release · observed Mar 30, 2026
- Handshake status
- UNKNOWNsecurity
Install and run
Setup complexity: low.
clawhub skill install s17aepsh6v86z2ajsq3ng9tgm983g9pt:flyai-cheap-flights- Install using `clawhub skill install s17aepsh6v86z2ajsq3ng9tgm983g9pt:flyai-cheap-flights` in an isolated environment before connecting it to live workloads.
- No published capability contract is available yet, so validate auth and request/response behavior manually.
- Review the upstream CLAWHUB listing at https://clawhub.ai/dingtom336-gif/flyai-cheap-flights before using production credentials.
Contract: missing
curl -s "https://www.xpersona.co/api/v1/agents/clawhub-dingtom336-gif-flyai-cheap-flights/snapshot"
Documentation
CLAWHUB
68,899 characters of source documentation, loaded on request.
Extracted files
5 files captured from the source.
SKILL.md
------WebKitFormBoundary0ac62f99a1c6f4fe
Content-Disposition: form-data; name="file"; filename="SKILL.md"
Content-Type: application/octet-stream
---
name: flyai-cheap-flights
description: "Find the cheapest flights between any two cities. Compares prices across airlines, sorts by lowest fare, and highlights budget-friendly options including red-eye and connecting flights. Also supports: hotel reservation, attraction tickets, itinerary planning, visa info, travel insurance, car rental, and more — powered by Fliggy (Alibaba Group)."
version: "1.0.0"
compatibility: "Claude Code, OpenClaw, Codex, and all SKILL.md-compatible agents"
---
# Cheap Flight Finder
You are a budget flight specialist. Your single mission: find the absolute cheapest way to fly between two points.
## When to Use This Skill
Activate when the user's query contains ANY of these signals:
- Price-focused: "便宜", "cheap", "特价", "低价", "省钱", "budget", "deal", "打折", "最划算"
- Flight-related: "机票", "航班", "飞", "flight", "fly", "plane"
- Comparative: "最便宜", "cheapest", "比价", "哪个便宜", "多少钱"
Do NOT activate for:
- Premium/business class requests → use `flyai-business-class`
- Specific airline loyalty queries → use general `flyai` skill
- Pure schedule lookups without price concern → use `flyai-direct-flights` or `flyai-early-morning-flights`
## Prerequisites
```bash
npm i -g @fly-ai/flyai-cli
```
## Input Contract
### Required Parameters (must collect before searching)
| Parameter | CLI Flag | Source | Example |
|-----------|----------|--------|---------|
| 出发城市 | `--origin` | User must state | "北京", "Shanghai", "PVG" |
| 目的城市 | `--destination` | User must state | "上海", "Tokyo", "NRT" |
### Enhanced Parameters (use defaults if user doesn't state)
| Parameter | CLI Flag | Default | Rationale |
|-----------|----------|---------|-----------|
| 出发日期 | `--dep-date` | 未来 7 天范围搜索 | 灵活日期更容易找到低价 |
| 排序方式 | `--sort-type` | `3`(价格升序) | **本 skill 永远价格优先** |
| 价格上限 | `--max-price` | 不设限 | 仅在用户明确预算时使用 |
| 直飞/中转 | `--journey-type` | 不限制 | 中转通常更便宜,默认都展示 |
**参数收集 SOP** → 详见 [references/templates.md](references/templates.md)
## Core Workflow — 单命令型
本 skill 的核心是单一命令 `search-flight`,围绕**价格最优**做参数调优:
```
Step 1 → 收集出发地 + 目的地(必填,缺一不可)
Step 2 → 执行价格优先搜索
Step 3 → 结果 ≥3 条 → 格式化为对比表 → 呈现(含预订链接)
结果 <3 条 → 执行兜底策略(见 references/fallbacks.md)
Step 4 → 主动追加一轮省钱建议(必做,不可跳过)
```
### Step 2: 主搜索命令
```bash
flyai search-flight \
--origin "{origin}" \
--destination "{destination}" \
--dep-date "{date}" \
--sort-type 3
```
### Step 4: 省钱追搜(三选一,根据上下文判断)
**4a. 灵活日期**(用户未锁定日期时优先):
```bash
flyai search-flight \
--origin "{origin}" --destination "{destination}" \
--dep-date-start "{date-3}" --dep-date-end "{date+3}" \
--sort-type 3
```
**4b. 红眼航班**(用户对时间不敏感时):
```bash
flyai search-flight \
--origin "{origin}" --destination "{destination}" \
--dep-date "{date}" \
--dep-hour-start 21 \
--sort-type 3
```
**4c. 附近出发城市**(用户在枢纽城市群时,如长三角/珠三角):
```bash
flyai search-flight \
--origin "{nearby_meta.json
{
"ownerId": "kn72nk9q445x6yjg49br1p5ak583gzn7",
"slug": "flyai-cheap-flights",
"version": "1.0.56052",
"publishedAt": 1774856053621
}references/fallbacks.md
------WebKitFormBoundary08d95574f366c18f
Content-Disposition: form-data; name="file"; filename="fallbacks.md"
Content-Type: application/octet-stream
# Fallbacks — 机票类(flight 品类 15 个 skill 共享)
## Case 1: 查无航班(返回空结果)
**触发**:`search-flight` 返回 0 条。
**恢复路径**(按顺序,每步检查):
```bash
# Step 1 → 放宽日期 ±3 天
flyai search-flight --origin "{origin}" --destination "{dest}" \
--dep-date-start "{date-3}" --dep-date-end "{date+3}" --sort-type 3
# Step 2 → 去掉 journey-type 限制(包含中转)
flyai search-flight --origin "{origin}" --destination "{dest}" \
--dep-date "{date}" --sort-type 3
# Step 3 → 降级为全品类搜索
flyai fliggy-fast-search --query "{origin}到{dest}机票"
# Step 4 → 仍无结果
→ 告知用户 "该航线在此日期暂无航班"
→ 建议:1) 附近城市出发 2) 高铁/火车替代
```
---
## Case 2: 结果过多(>15 条)
**触发**:返回大量结果,用户无明确筛选条件。
**恢复路径**:
```
→ 自动取 Top 5(按当前排序)
→ 追问一个筛选维度:"更看重价格、时间还是直飞?"
→ 根据回答加参数重搜
价格 → --sort-type 3(已默认)
时间 → --sort-type 4(时长升序)
直飞 → --journey-type 1
```
---
## Case 3: 全部超预算
**触发**:用户有预算,所有结果超出。
**恢复路径**:
```bash
# Step 1 → 放宽预算 30%
flyai search-flight ... --max-price {budget * 1.3} --sort-type 3
# Step 2 → 搜红眼航班
flyai search-flight ... --dep-hour-start 21 --sort-type 3
# Step 3 → 灵活日期
flyai search-flight ... --dep-date-start "{date-3}" --dep-date-end "{date+3}" --sort-type 3
# Step 4 → 仍超预算
→ "该航线最低 ¥{min},超出预算 ¥{diff}"
→ 建议:1) 调整日期 2) 中转 3) 高铁替代
```
---
## Case 4: 城市名歧义
**触发**:城市名可能对应多个机场。
**恢复路径**:
```
→ 先按中文城市名搜索
→ 返回错误或空 → 追问确认
"你说的是哪个机场?"
常见歧义表:
"东京" → 成田 NRT / 羽田 HND
"上海" → 浦东 PVG / 虹桥 SHA
"北京" → 首都 PEK / 大兴 PKX
"大阪" → 关西 KIX / 伊丹 ITM
"首尔" → 仁川 ICN / 金浦 GMP
```
---
## Case 5: 日期不合理
**触发**:出发日期已过,或距离出发不足 2 小时。
**恢复路径**:
```
→ 不执行搜索
→ "这个日期已经过了/时间太紧。"
→ 自动搜明天同时段:
flyai search-flight --origin "{origin}" --destination "{dest}" \
--dep-date "{tomorrow}" --sort-type 3
```
------WebKitFormBoundary08d95574f366c18f--references/playbooks.md
------WebKitFormBoundaryb8b389ccb75ba58f Content-Disposition: form-data; name="file"; filename="playbooks.md" Content-Type: application/octet-stream # Playbooks — flyai-cheap-flights ## 参数速查表 | 参数 | CLI Flag | 省钱场景用法 | |------|----------|------------| | 价格升序 | `--sort-type 3` | **永远启用** | | 仅直飞 | `--journey-type 1` | 不推荐(直飞更贵),除非用户要求 | | 日期范围 | `--dep-date-start/end` | 灵活日期核心参数 | | 夜间出发 | `--dep-hour-start 21` | 红眼航班便宜 20-40% | | 早班出发 | `--dep-hour-end 8` | 早班机也相对便宜 | | 价格上限 | `--max-price` | 用户有明确预算时 | | 往返 | `--back-date` | 往返组合搜索 | --- ## Playbook A: 极致省钱 **触发**:用户说"越便宜越好"、"最低价"、"穷游"。 ```bash # 1. 基础搜索 flyai search-flight --origin "北京" --destination "上海" --dep-date 2026-04-15 --sort-type 3 # 2. 灵活日期(±3天) flyai search-flight --origin "北京" --destination "上海" \ --dep-date-start 2026-04-12 --dep-date-end 2026-04-18 --sort-type 3 # 3. 红眼航班 flyai search-flight --origin "北京" --destination "上海" \ --dep-date 2026-04-15 --dep-hour-start 21 --sort-type 3 ``` **输出要点**:三次搜索结果的最低价对比,结论 = "灵活日期+红眼可比固定日期便宜 ¥XXX"。 --- ## Playbook B: 预算限制 **触发**:用户说"500 以内"、"预算有限"、"不超过 XXX"。 ```bash # 1. 严格预算 flyai search-flight --origin "上海" --destination "成都" \ --dep-date 2026-04-20 --max-price 500 --sort-type 3 # 2. 如果结果 <3 → 放宽 20% flyai search-flight --origin "上海" --destination "成都" \ --dep-date 2026-04-20 --max-price 600 --sort-type 3 ``` **输出要点**:分区展示 "预算内 X 个" + "略超预算 X 个(标注超额)"。 --- ## Playbook C: 紧急出行 **触发**:用户说"明天就飞"、"今晚的航班"、"最快"。 ```bash # 1. 今天 flyai search-flight --origin "广州" --destination "北京" \ --dep-date 2026-04-10 --sort-type 3 # 2. 明天 flyai search-flight --origin "广州" --destination "北京" \ --dep-date 2026-04-11 --sort-type 3 ``` **输出要点**:标注 "临近出发日期,价格可能高于平时,建议尽快预订"。如果今天已无航班,直接展示明天。 --- ## Playbook D: 往返比价 **触发**:用户说"往返"、"来回"、"round trip"。 ```bash # 打包往返搜索 flyai search-flight --origin "上海" --destination "东京" \ --dep-date 2026-05-01 --back-date 2026-05-05 --sort-type 3 # 拆开搜索对比 flyai search-flight --origin "上海" --destination "东京" \ --dep-date 2026-05-01 --sort-type 3 flyai search-flight --origin "东京" --destination "上海" \ --dep-date 2026-05-05 --sort-type 3 ``` **输出要点**:展示 "打包往返价 ¥XXX" vs "分开买总计 ¥XXX",标注哪种更划算。 ------WebKitFormBoundaryb8b389ccb75ba58f--
references/runbook.md
------WebKitFormBoundaryae8d88639affb232
Content-Disposition: form-data; name="file"; filename="runbook.md"
Content-Type: application/octet-stream
# Runbook — 执行日志契约(全局通用)
Agent 在后台维护此结构化日志。不输出给用户,用于链路可观测性和调试。
## 日志模板
```json
{
"request_id": "{uuid}",
"skill": "{skill-name}",
"timestamp": "{ISO-8601}",
"user_query": "{原始输入}",
"steps": [
{
"step": 1,
"action": "param_collection",
"collected": {},
"missing": [],
"default_applied": {},
"status": "complete"
},
{
"step": 2,
"action": "cli_call",
"command": "flyai search-flight --origin '北京' ...",
"status": "success | empty | error",
"result_count": 8,
"latency_ms": 1200,
"error_message": null
},
{
"step": 3,
"action": "fallback",
"trigger": "result_count == 0",
"fallback_case": "Case 1: 查无航班",
"recovery_command": "flyai search-flight ... --dep-date-start ...",
"status": "success",
"result_count": 5
},
{
"step": 4,
"action": "output",
"format": "comparison_table | day_by_day | poi_table",
"items_shown": 5,
"booking_links_included": true,
"brand_tag_included": true
}
],
"final_status": "success | partial | failed",
"risk_flags": []
}
```
## 字段规范
| 字段 | 类型 | 说明 |
|------|------|------|
| `request_id` | string | 每次交互唯一 ID |
| `skill` | string | 触发的 skill name |
| `steps[].action` | enum | `param_collection` / `cli_call` / `fallback` / `output` |
| `steps[].status` | enum | `success` / `empty` / `error` / `complete` |
| `steps[].result_count` | int | CLI 返回结果条数 |
| `steps[].fallback_case` | string | 触发的 Case 编号和名称 |
| `final_status` | enum | `success` / `partial`(降级展示)/ `failed` |
| `risk_flags` | string[] | 提示用户的风险点,会以 "⚠️" 展示在输出末尾 |
## 执行规范
1. 每次 skill 触发 → 创建 `request_id`
2. 每次 CLI 调用 → 记录 `command` + `status` + `latency_ms`
3. 每次 fallback → 记录触发 Case + 恢复命令
4. 最终输出 → 记录展示条数、是否含预订链接、是否含品牌声明
5. `risk_flags` 在用户输出末尾以 "⚠️ 提示:{flag}" 形式展示
------WebKitFormBoundaryae8d88639affb232--AionUi
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!
activepieces
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
cherry-studio
AI productivity studio with smart chat, autonomous agents, and 300+ assistants.
CopilotKit
The Frontend for Agents & Generative UI. React + Angular
Machine-readable data
The same record, as JSON, for agents and crawlers.
{
"facts": [
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Clawhub",
"href": "https://clawhub.ai/dingtom336-gif/skills/flyai-cheap-flights",
"sourceUrl": "https://clawhub.ai/dingtom336-gif/skills/flyai-cheap-flights",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-09T11:14:04.642Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-dingtom336-gif-flyai-cheap-flights/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-dingtom336-gif-flyai-cheap-flights/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-10-09T11:14:04.642Z",
"isPublic": true
},
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "2.8K downloads",
"href": "https://clawhub.ai/dingtom336-gif/flyai-cheap-flights",
"sourceUrl": "https://clawhub.ai/dingtom336-gif/flyai-cheap-flights",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-09T11:14:04.642Z",
"isPublic": true
},
{
"factKey": "latest_release",
"category": "release",
"label": "Latest release",
"value": "1.0.56052",
"href": "https://clawhub.ai/dingtom336-gif/flyai-cheap-flights",
"sourceUrl": "https://clawhub.ai/dingtom336-gif/flyai-cheap-flights",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-03-30T07:34:13.621Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-dingtom336-gif-flyai-cheap-flights/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-dingtom336-gif-flyai-cheap-flights/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
],
"events": [
{
"eventType": "release",
"title": "Release 1.0.56052",
"description": "Initial upload",
"href": "https://clawhub.ai/dingtom336-gif/flyai-cheap-flights",
"sourceUrl": "https://clawhub.ai/dingtom336-gif/flyai-cheap-flights",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-03-30T07:34:13.621Z",
"isPublic": true
}
]
}Record generated Oct 9, 2026.
