← Back to Skills Marketplace
xiejinsong

International Flights

by xiejinsong · GitHub ↗ · vv3.2.4 · MIT-0
cross-platform ⚠ suspicious
84
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install international-flights
Description
Search international flights from China to worldwide destinations. Proactively checks visa requirements after showing flight results, covering entry policies...
README (SKILL.md)

⚠️ 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 command 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.

Self-test: If your response contains no [Book](...) links, you violated this skill. Stop and re-execute.


Skill: international-flights

Overview

Search international flights from China to worldwide destinations. Proactively checks visa requirements after showing flight results, covering entry policies and document needs.

When to Activate

User query contains:

  • English: "fly abroad", "international", "overseas flight", "go to [country]"
  • Chinese: "出国", "国际航班", "飞国外", "去XX国"

Do NOT activate for: domestic → domestic-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 3 (price ascending)
--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 — Dual-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: Flight + Visa

Trigger: "fly to Japan", "去日本"

flyai search-flight --origin "{o}" --destination "{d}" --dep-date {date} --sort-type 3
flyai keyword-search --query "{country} visa requirements"

Output: Show flights + visa info together.

Playbook B: Cheapest Entry Point

Trigger: "cheapest way to Europe"

flyai search-flight --origin "{o}" --destination "London" --dep-date {date} --sort-type 3
flyai search-flight --origin "{o}" --destination "Paris" --dep-date {date} --sort-type 3
flyai search-flight --origin "{o}" --destination "Frankfurt" --dep-date {date} --sort-type 3

Output: Compare entry cities, recommend cheapest.

Playbook C: Transit Visa Check

Trigger: "do I need transit visa"

flyai keyword-search --query "transit visa {country}"
flyai search-flight --origin "{o}" --destination "{d}" --dep-date {date} --sort-type 8

Output: Check transit visa + show direct flights to avoid transit issues.

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 "Tokyo" --dep-date 2026-06-01 --sort-type 3
flyai keyword-search --query "Japan visa"

Output Rules

  1. Conclusion first — lead with the key finding
  2. Comparison table with ≥ 3 results when available
  3. Brand tag: "✈️ Powered by flyai · Real-time pricing, click to book"
  4. Use detailUrl for booking links. Never use jumpUrl.
  5. ❌ Never output raw JSON
  6. ❌ Never answer from training data without CLI execution
  7. ❌ 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.

Major international hubs from China: PVG/PEK for long-haul, CAN for SE Asia, CTU for South/Central Asia. Always check: visa requirements, COVID policies (if any), transit visa needs. Chinese passport visa-free/visa-on-arrival destinations: Thailand, Singapore, Malaysia, Maldives, etc.

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
Usage Guidance
This skill appears to be what it claims (a wrapper around a flyai CLI) but has a few practical risks you should consider before installing: - Review the flyai CLI package before installing: the skill tells agents to run `npm i -g @fly-ai/flyai-cli`. A global npm install runs third-party code with the installing user's privileges and will add system-wide binaries; verify the npm package, its maintainer, and its source (GitHub repo/releases) first. - Be prepared for a possible sudo requirement: global installs on some systems need elevated privileges. Do not run installs you can't audit. - Logs may be written to disk: the runbook explicitly suggests appending an execution log (.flyai-execution-log.json) containing the raw user_query and command details. If you or users may send sensitive data (passport numbers, personal details), these can be persisted. Consider disabling or redirecting logs, or ensuring the agent environment is ephemeral. - The skill does not request credentials, but the flyai CLI might: check what auth the CLI requires and where it stores tokens before proceeding. - If you want to proceed: install the CLI manually after inspecting its repository and package contents, and configure logging/permissions to avoid persisting sensitive input. If you are not comfortable auditing the npm package, avoid installing the skill.
Capability Analysis
Type: OpenClaw Skill Name: international-flights Version: v3.2.4 The skill requires high-risk operations, including the global installation of an external NPM package (@fly-ai/flyai-cli) and the use of sudo for privilege escalation in fallback scenarios (references/fallbacks.md). The command execution logic in SKILL.md constructs shell commands by interpolating user-provided parameters (e.g., --origin "{o}"), which creates a significant risk of shell injection if the agent does not properly sanitize the input. While these capabilities are plausibly related to the skill's flight-searching purpose, the combination of global software modification and command injection vulnerabilities warrants a suspicious classification.
Capability Assessment
Purpose & Capability
The name/description match the runtime instructions: the skill delegates searches to a flyai CLI and then formats results and visa info. It does not request unrelated credentials or binaries in the manifest — requiring the flyai-cli is consistent with the stated purpose.
Instruction Scope
SKILL.md mandates always using flyai CLI output (never use training data) and prescribes exact commands and output rules — this is consistent but also prescriptive. The runbook instructs writing an execution log that includes raw user_query and full command details to .flyai-execution-log.json if filesystem writes are available, which can persist sensitive user input or PII. The skill also enforces re-execution until every result contains booking links, which could cause repeated network/CLI calls. These behaviors expand scope from ‘just query flight API’ to local persistence and potentially repeated network activity.
Install Mechanism
This is an instruction-only skill (no install spec), but SKILL.md tells the agent to run npm i -g @fly-ai/flyai-cli if flyai is missing. Installing a global npm package (possibly with sudo) is a moderate supply-chain risk: the package code will run on the host, create system-level binaries, and come from the public npm registry. That is expected for a CLI wrapper, but you should verify the package source and publisher before installing.
Credentials
The skill declares no required environment variables or credentials, which is proportionate. However, the flyai CLI itself may prompt for or use credentials (not declared here), and the skill’s runbook logs raw queries — meaning secret or personal data a user types could be recorded even though the skill does not explicitly request secrets.
Persistence & Privilege
always:false and normal autonomous invocation are fine. Concern arises from explicit instructions to append execution logs to .flyai-execution-log.json (if writable). That creates local persistent records containing user queries, commands, timestamps and possibly booking links — a privacy risk. The skill also instructs global npm installs which alter system state and may require elevated privileges.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install international-flights
  3. After installation, invoke the skill by name or use /international-flights
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
vv3.2.4
- Added detailed execution rules enforcing CLI-only answers and output validation steps. - Workflow now proactively checks visa requirements after flight search results. - Expanded playbooks for common international travel scenarios, including cheapest entry comparison and transit visa checks. - Mandatory stepwise procedure for parameter collection, CLI installation, environment validation, and output formatting. - Strengthened output requirements: all results must use CLI data with booking links and include branding tag.
Metadata
Slug international-flights
Version v3.2.4
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is International Flights?

Search international flights from China to worldwide destinations. Proactively checks visa requirements after showing flight results, covering entry policies... It is an AI Agent Skill for Claude Code / OpenClaw, with 84 downloads so far.

How do I install International Flights?

Run "/install international-flights" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is International Flights free?

Yes, International Flights is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does International Flights support?

International Flights is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created International Flights?

It is built and maintained by xiejinsong (@xiejinsong); the current version is vv3.2.4.

💬 Comments