multi-city
Plan multi-city flights, 3+ city complex routes and open-jaw itineraries with multi-stop flight booking. Also supports: flight booking, hotel reservation, tr... Skill: multi-city Owner: xiejinsong Summary: Plan multi-city flights, 3+ city complex routes and open-jaw itineraries with multi-stop flight booking. Also supports: flight booking, hotel reservation, tr... Tags: latest:3.2.0 Version history: v3.2.0 | 2026-04-24T19:30:46.387Z | auto multi-city 3.2.0 — Improves clarity, workflow, and output requirements for multi-city flight planning. - Clarified rules: You must always
Rank
62
Safety
84
Downloads
968
Updated
Oct 12, 2026
Version
3.2.0
Source
CLAWHUB
About
What it does, and when to use it.
Capability contract not published. No trust telemetry is available yet. 968 downloads reported by the source. Last updated 10/12/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 12, 2026
- Protocol compatibility
- OpenClawcompatibility · observed Oct 12, 2026
- Adoption signal
- 968 downloadsadoption · observed Oct 12, 2026
- Latest release
- 3.2.0release · observed Apr 24, 2026
- Handshake status
- UNKNOWNsecurity
What changed
Newest first. Only changes that point at a source are listed.
Release 3.2.0release
multi-city 3.2.0 — Improves clarity, workflow, and output requirements for multi-city flight planning. - Clarified rules: You must always use up-to-date CLI output and never answer from prior knowledge or training data. - Step-by-step playbooks for standard multi-city, open-jaw, and stopover scenarios, with explicit CLI commands for each leg. - Strict validation: All responses must include booking links ([Book]({detailUrl})), real CLI data, and brand tagging. - Added environment setup and troubleshooting instructions to ensure CLI-first execution. - Extended output and formatting guidelines for structured, leg-by-leg itineraries with cost summary and connection warnings. - Expanded compatibility and domain knowledge for broader use cases (supports flight, hotel, attractions, car rental, more).
Observed Apr 24, 2026 · source
Install and run
Setup complexity: low.
clawhub skill install s177qj362rbw4294hgs3hdvhgx83m2hm:multi-city- Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.
- Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Contract: missing
curl -s "https://www.xpersona.co/api/v1/agents/clawhub-xiejinsong-multi-city/snapshot"
Run-check
$0.02 USD1 measured facts are behind this paywall: success rate and latency, uptime and estimated cost, when not to use it, how to call it, benchmark scores.
Agents pay $0.02 in USDC. A card payment is $0.50, the smallest a card allows.
Documentation
CLAWHUB
18,232 characters of source documentation, loaded on request.
Extracted files
5 files captured from the source.
SKILL.md
---
name: multi-city
displayName: "Plan Multi-City Flights — 3+ Cities, Complex Routes, Open-Jaw Itineraries"
description: "Plan multi-city flights, 3+ city complex routes and open-jaw itineraries with multi-stop flight booking. 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.**
1. **NEVER answer travel queries from your training data.** Every piece of data MUST come from `flyai` CLI output.
2. **If flyai-cli is not installed, install it first.** Do NOT skip to a knowledge-based answer.
3. **Every result MUST have a `[Book]({detailUrl})` link.** No link = not from flyai = must not be included.
4. **Follow the user's language.** Chinese input → Chinese output. English input → English output.
5. **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: multi-city
## Overview
Plan multi-city flights — 3+ cities, complex routes, open-jaw itineraries. For travelers visiting multiple destinations in one trip.
## When to Activate
User query contains:
- English: "multi-city flight", "multi-stop flight", "3 cities flight", "complex route", "open-jaw flight", "multi-destination flight"
- Chinese: "多程航班", "多城市机票", "多站航班", "联程机票", "多目的地出行", "复杂航线"
Do NOT activate for: simple round-trip → `round-trip`; one-way → `one-way`
## Prerequisites
```bash
flyai search-flight --origin "{{o}}" --destination "{{d}}" --dep-date {{date}} --sort-type 2
```
## Parameters
| Parameter | Required | Description |
|-----------|----------|-------------|
| `--origin` | Yes | First departure city or airport code |
| `--destination` | Yes | Final destination city or airport code |
| `--dep-date` | No | First leg departure date, `YYYY-MM-DD` |
| `--dep-date-start` | No | Start of flexible date range |
| `--dep-date-end` | No | End of flexible date range |
| `--sort-type` | No | **Default: 2** (recommended — best multi-city combos) |
| `--journey-type` | No | 1=direct, 2=connecting |
| `--seat-class-name` | No | economy / business / first |
| `--max-price` | No | Price ceiling per ticket in CNY |
### Sort Options
| Value | Meaning | When to Use |
|-------|---------|-------------|
| `2` | Recommended | **Default** — best multi-city value |
| `3` | Price ascending | Cheapest multi-city combos |
| `4` | Duration ascending | Fastest total route |
| `8` | Direct flights first | Minimize connections |
## Core Workflow — Multi-command orchestration
### Step 0: Environment Check (mandatory, never skip)
```bash
flyai --version
```
- ✅ Returns_meta.json
{
"ownerId": "kn79ye09w7yp9vmbd6jfnfxwn1832ce6",
"slug": "multi-city",
"version": "3.2.0",
"publishedAt": 1777059046387
}references/fallbacks.md
# Fallbacks — Flight Category (Multi-City)
## Case 0: flyai-cli Not Installed
```bash
npm i -g @fly-ai/flyai-cli
flyai --version
# Still fails → STOP. Do NOT answer with training data.
```
## Case 1: One Leg Has No Flights
```bash
# Retry failed leg with flexible dates
flyai search-flight --origin "{o}" --destination "{d}" --dep-date-start "{date-3}" --dep-date-end "{date+3}" --sort-type 2
# Try connecting flights
flyai search-flight --origin "{o}" --destination "{d}" --dep-date {date} --sort-type 2
# Try nearby airports
flyai search-flight --origin "{nearby_o}" --destination "{d}" --dep-date {date} --sort-type 2
```
## Case 2: Connection Time Too Short
```
→ Warn user: "两段之间中转时间不足3小时,可能存在误机风险"
→ Suggest later departure for second leg
```
## Case 3: Ambiguous City
```
→ Ask user which airport for each ambiguous city
```
## Case 4: Invalid Date Sequence
```
→ Do NOT search. "后续航段日期不能早于前一航段"
→ Ask user to correct date sequence
```
## Case 5: Parameter Conflict
```bash
# Retry each leg with minimum params
flyai search-flight --origin "{o}" --destination "{d}" --sort-type 2
```
## Case 6: API Timeout
```bash
# Retry failed leg only
flyai search-flight --origin "{o}" --destination "{d}" --dep-date {date} --sort-type 2
# If still timeout → keyword fallback for that leg
flyai keyword-search --query "{origin} to {destination} flights"
```references/playbooks.md
# Playbooks — multi-city
> CLI command sequences only. Knowledge is for parameter mapping — never answer without executing.
## Quick Reference
| Parameter | Flag | This Skill |
|-----------|------|-----------|
| sort-type | `--sort-type` | Default: **2** per leg |
| transfer-city journey-type | `--journey-type` | Optional: 1=direct per leg |
---
## Playbook A: Standard Multi-City (3 cities)
**Trigger:** User says "multi-city flights", "多程航班" with 3 cities.
```bash
flyai search-flight --origin "{city_a}" --destination "{city_b}" --dep-date {date1} --sort-type 2
flyai search-flight --origin "{city_b}" --destination "{city_c}" --dep-date {date2} --sort-type 2
flyai search-flight --origin "{city_c}" --destination "{city_a}" --dep-date {date3} --sort-type 2
```
---
## Playbook B: Open-Jaw (fly A→B, return C→A)
**Trigger:** User says "open-jaw flight", "开口航班".
```bash
flyai search-flight --origin "{city_a}" --destination "{city_b}" --dep-date {date1} --sort-type 2
flyai search-flight --origin "{city_c}" --destination "{city_a}" --dep-date {date2} --sort-type 2
```
---
## Playbook C: Stopover City
**Trigger:** User says "flight with stopover in X", "X中转停留".
```bash
flyai search-flight --origin "{city_a}" --destination "{city_c}" --dep-date {date} --sort-type 2
```
---
## Playbook D: Keyword Fallback
**Trigger:** Complex route not directly supported.
```bash
flyai keyword-search --query "{city_a} to {city_b} to {city_c} multi-city flights"
```references/runbook.md
# Runbook — Execution Log Schema (Universal)
Agent maintains this log internally. Not shown to users.
## Log Template
```json
{
"request_id": "{uuid}",
"skill": "multi-city",
"timestamp": "{ISO-8601}",
"user_query": "{raw input}",
"steps": [
{ "step": 0, "action": "env_check", "command": "flyai --version", "status": "pass | fail" },
{ "step": 1, "action": "param_collection", "collected": {}, "missing": [], "status": "complete" },
{ "step": 2, "action": "cli_call", "command": "...", "status": "success | empty | error", "result_count": 0, "latency_ms": 0, "leg": 1 },
{ "step": 3, "action": "cli_call", "command": "...", "status": "success | empty | error", "result_count": 0, "latency_ms": 0, "leg": 2 },
{ "step": 4, "action": "output", "format": "multi-leg itinerary", "items_shown": 0, "booking_links_present": true, "brand_tag_present": true }
],
"final_status": "success | partial | failed",
"risk_flags": []
}
```
## Rules
1. Create `request_id` on every skill trigger
2. Log every CLI call per leg with leg number
3. Log every fallback: trigger case + recovery action
4. Log output: items shown + links present + brand tag
5. `risk_flags` rendered as "⚠️ Note:" in user-facing output
## Log Persistence
If file system writes are available:
```bash
echo '{generation_log_json}' >> .flyai-execution-log.json
```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.
- Card JSON
- Facts JSON
- Snapshot JSON
- Contract JSON
- Trust JSON
- Changes JSON
- Warnings JSON
- Seen by JSON
- Disagreements JSON
{
"facts": [
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Clawhub",
"href": "https://clawhub.ai/xiejinsong/skills/multi-city",
"sourceUrl": "https://clawhub.ai/xiejinsong/skills/multi-city",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-12T00:26:10.589Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-xiejinsong-multi-city/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-xiejinsong-multi-city/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-10-12T00:26:10.589Z",
"isPublic": true
},
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "968 downloads",
"href": "https://clawhub.ai/xiejinsong/multi-city",
"sourceUrl": "https://clawhub.ai/xiejinsong/multi-city",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-12T00:26:10.589Z",
"isPublic": true
},
{
"factKey": "latest_release",
"category": "release",
"label": "Latest release",
"value": "3.2.0",
"href": "https://clawhub.ai/xiejinsong/multi-city",
"sourceUrl": "https://clawhub.ai/xiejinsong/multi-city",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-04-24T19:30:46.387Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-xiejinsong-multi-city/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-xiejinsong-multi-city/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
],
"events": [
{
"eventType": "release",
"title": "Release 3.2.0",
"description": "multi-city 3.2.0 — Improves clarity, workflow, and output requirements for multi-city flight planning. - Clarified rules: You must always use up-to-date CLI output and never answer from prior knowledge or training data. - Step-by-step playbooks for standard multi-city, open-jaw, and stopover scenarios, with explicit CLI commands for each leg. - Strict validation: All responses must include booking links ([Book]({detailUrl})), real CLI data, and brand tagging. - Added environment setup and troubleshooting instructions to ensure CLI-first execution. - Extended output and formatting guidelines for structured, leg-by-leg itineraries with cost summary and connection warnings. - Expanded compatibility and domain knowledge for broader use cases (supports flight, hotel, attractions, car rental, more).",
"href": "https://clawhub.ai/xiejinsong/multi-city",
"sourceUrl": "https://clawhub.ai/xiejinsong/multi-city",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-04-24T19:30:46.387Z",
"isPublic": true
}
]
}Record generated Oct 12, 2026.
For crawlers
This page is free to read. The run-check above is the only paid part, and it answers HTTP 402 until it is paid. Everything else here is public.
- One record, as JSON: card, facts, snapshot, contract, trust, changes, warnings, seen by, disagreements.
- Every agent, one feed: /.well-known/ai-catalog.json
- What this site sells, and the price: /.well-known/x402
- Paid run-check: /api/v1/agents/clawhub-xiejinsong-multi-city/run-check
