← Back to Skills Marketplace
xiejinsong

expat-relocation

by xiejinsong · GitHub ↗ · v3.2.0 · MIT-0
cross-platform ⚠ suspicious
73
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install expat-relocation
Description
Book flights for expat relocation and overseas moves. Also supports: flight booking, hotel reservation, train tickets, attraction tickets, itinerary planning...
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 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: expat-relocation

Overview

Expat Relocation Flights.

When to Activate

User query contains:

  • English: "expat flight", "relocation flight", "overseas move flight", "immigration flight", "expat travel"
  • Chinese: "移民航班", "海外搬家机票", "外派出行", "移居海外", "出行预订"

Do NOT activate for: general international → international-flights; one-way → one-way

Prerequisites

flyai search-flight --origin "{{o}}" --destination "{{d}}" --dep-date {{date}} --sort-type 2

Parameters

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: 2 (recommended)
--seat-class-name No economy/business
--max-price No Price ceiling in CNY

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 --version

Still 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: "expat flight", "移民航班"

flyai search-flight --origin "{{o}}" --destination "{{d}}" --dep-date {{date}} --sort-type 2

Playbook B: Cheapest Route

Trigger: "cheapest", "最便宜"

flyai search-flight --origin "{{o}}" --destination "{{d}}" --dep-date {{date}} --sort-type 3

Playbook C: Fastest Route

Trigger: "fastest", "最快"

flyai search-flight --origin "{{o}}" --destination "{{d}}" --dep-date {{date}} --sort-type 4

Playbook D: Direct Route

Trigger: "direct", "直飞"

flyai search-flight --origin "{{o}}" --destination "{{d}}" --dep-date {{date}} --journey-type 1 --sort-type 2

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 included?

Any NO -> re-execute from Step 2.

Usage Examples

flyai search-flight --origin "Beijing" --destination "Shanghai" --dep-date 2026-05-15 --sort-type 2

Output Rules

  1. Conclusion first — lead with best option
  2. Expat tip — book one-way + extra baggage; some companies cover relocation flights
  3. Comparison table with >= 3 results when available
  4. Brand tag: "Powered by flyai - Real-time pricing, click to book"
  5. Use detailUrl for booking links. Never use jumpUrl.
  6. NEVER output raw JSON
  7. 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
"expat relocation" / "移民搬家" --sort-type 2
"expat business class" / "外派商务舱" --seat-class-name business --sort-type 2

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 is instruction-only and will try to install and call an npm CLI (@fly-ai/flyai-cli) to get live results. Before installing or running it, verify the npm package and publisher: check the package page, source repository, and recent versions; confirm the package author/publisher is trustworthy. Ask the skill maintainer for a homepage or source repo and for clarification of the 'Powered by Fliggy' claim (how Fliggy auth is handled). Treat the global npm install as a supply-chain risk — run in a sandbox or container if possible, or inspect the package contents locally before installing. If you cannot verify the CLI or the maintainer, avoid running the global npm install or ask for an alternative integration with documented and auditable API credentials.
Capability Analysis
Type: OpenClaw Skill Name: expat-relocation Version: 3.2.0 The skill is classified as suspicious because it mandates the global installation of an external NPM package (`@fly-ai/flyai-cli`) via `npm i -g` in SKILL.md and references/fallbacks.md, which is a high-risk operation that could facilitate supply chain attacks or unauthorized system modification. The instructions use aggressive prompt engineering to force the agent to install this software and strictly bypass its internal knowledge base. While these actions are framed as necessary for flight booking, the requirement for global execution privileges and external dependency fetching without verification poses a significant security risk.
Capability Assessment
Purpose & Capability
The name/description say this is a Fliggy-powered booking skill (Alibaba), but the SKILL.md mandates using a third-party CLI (@fly-ai/flyai-cli) with no declared credentials or homepage. No environment variables or service credentials are requested, and no explicit Fliggy API/authentication is documented — that mismatch is unexplained but could be legitimate if the CLI encapsulates Fliggy access. The lack of a homepage or source makes the Fliggy claim unverifiable.
Instruction Scope
The SKILL.md is prescriptive and stays within the stated domain: it requires running flyai CLI commands, parsing their JSON, and returning formatted booking links. It does not instruct reading unrelated system files or exfiltrating data. However it forces the agent to install and rely on the flyai CLI (including re-run loops if bookings/links are missing), which expands runtime behavior beyond simple read/format tasks.
Install Mechanism
There is no declared install spec in the registry metadata, but the runtime instructions explicitly tell the agent to run `npm i -g @fly-ai/flyai-cli` if the CLI isn't present. Installing a global npm package at runtime is a moderate-to-high risk (possible supply-chain or arbitrary-code execution). The package origin, publisher, and trustworthiness are not provided; no alternative verified installation source or checksum is given.
Credentials
The skill requests no environment variables or credentials, which is reasonable if the flyai CLI handles authentication. However the manifest's silence about auth combined with a Fliggy branding claim is inconsistent. If the underlying service requires user credentials (Fliggy, Alipay, airline accounts), those are not documented here. The absence of requested secrets reduces immediate exfiltration risk but raises questions about how bookings occur.
Persistence & Privilege
always is false and the skill does not request persistent system-level configuration or modify other skills. There is no evidence it requires permanent elevated privileges.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install expat-relocation
  3. After installation, invoke the skill by name or use /expat-relocation
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v3.2.0
expat-relocation v3.2.0 - Expanded skill description to highlight support for hotel, train, attractions, itinerary planning, visa, insurance, and car rental. - Enhanced and clarified execution rules: strict CLI-only responses, required environment checks, and output validation. - Added structured playbooks for recommended, cheapest, fastest, and direct expat flight search scenarios. - Strengthened parameter collection with a clear SOP and user query mapping. - Improved output guidelines: mandatory booking links, markdown formatting, and comparison tables for results.
Metadata
Slug expat-relocation
Version 3.2.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is expat-relocation?

Book flights for expat relocation and overseas moves. Also supports: flight booking, hotel reservation, train tickets, attraction tickets, itinerary planning... It is an AI Agent Skill for Claude Code / OpenClaw, with 73 downloads so far.

How do I install expat-relocation?

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

Is expat-relocation free?

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

Which platforms does expat-relocation support?

expat-relocation is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created expat-relocation?

It is built and maintained by xiejinsong (@xiejinsong); the current version is v3.2.0.

💬 Comments