← 返回 Skills 市场
dingtom336-gif

anniversary-flight

作者 dingtom336-gif · GitHub ↗ · v3.2.0 · MIT-0
cross-platform ⚠ suspicious
67
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install anniversary-flight
功能描述
Book flights for anniversary celebrations and milestone occasions. Also supports: flight booking, hotel reservation, train tickets, attraction tickets, itine...
使用说明 (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: anniversary-flight

Overview

Anniversary Flight.

When to Activate

User query contains:

  • English: "anniversary flight", "milestone flight", "celebration flight", "special occasion travel", "book a flight"
  • Chinese: "纪念日航班", "周年庆机票", "特殊纪念出行", "里程碑庆祝", "订机票"

Do NOT activate for: romantic → couple-romantic-stay; anniversary → anniversary

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

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: "anniversary 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. Anniversary tip — upgrade to business class for special occasions
  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
"anniversary" / "纪念日出游" --sort-type 2
"anniversary 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
安全使用建议
This skill is plausibly a travel-booking helper, but it has three actionable red flags you should consider before installing: (1) The SKILL.md requires installing and running an external npm package (@fly-ai/flyai-cli) at runtime even though the skill metadata has no install declaration — installing global npm packages lets arbitrary code run on your host. (2) The skill claims it's "powered by Fliggy" but uses a different provider/CLI (flyai); that mismatch suggests poor provenance or mislabeling. (3) The skill does not document how API credentials (if any) are handled by the CLI. If you plan to use it: only proceed if you can verify the npm package author and source (check the npm registry page, package owner, and recent publish history), run installs in a controlled environment (container or VM), and confirm how the CLI stores or requests credentials. If you cannot verify the flyai package or you cannot accept global npm installs, do not use this skill.
功能分析
Type: OpenClaw Skill Name: anniversary-flight Version: 3.2.0 The skill contains a shell injection vulnerability in SKILL.md and references/playbooks.md, as user-provided parameters are passed directly into shell commands without sanitization. It also mandates the global installation of an external NPM package (@fly-ai/flyai-cli) in SKILL.md and references/fallbacks.md, which is a high-privilege operation. While these actions appear intended to facilitate flight searches, the lack of input validation and the requirement for global software installation pose significant security risks.
能力评估
Purpose & Capability
The skill claims to be "powered by Fliggy (Alibaba Group)" but requires use of a 'flyai' CLI (@fly-ai/flyai-cli). That provider mismatch is unexplained. Requiring a third‑party CLI for live search is plausible for a booking skill, but the declared homepage/source are missing and there is no explanation why 'flyai' (not Fliggy) is needed — this inconsistency reduces trust.
Instruction Scope
SKILL.md tightly restricts all answers to results produced by the flyai CLI and forbids using training data. This is coherent with a real-time booking workflow, but the instructions also mandate installing and running npm i -g @fly-ai/flyai-cli if the binary is absent and demand re-execution until [Book](...) links appear. That can cause the agent to repeatedly install/run arbitrary third-party code and loop attempting to satisfy link checks.
Install Mechanism
There is no declared install spec in the skill metadata; instead installation is embedded in runtime instructions that call npm i -g @fly-ai/flyai-cli. Installing a global npm package at runtime is a moderate-to-high risk action because npm packages execute code and the package's provenance is not documented. The skill does not reference a trusted release host or verify the package identity.
Credentials
The skill requests no environment variables or credentials in metadata, which is proportional. However, the flyai CLI might itself require credentials or prompt for tokens; the skill does not document how credentials are managed or whether secrets will be stored/exposed. This omission is a gap that could have privacy/credential implications.
Persistence & Privilege
The skill does not request persistent 'always' inclusion and does not claim to modify other skills or system-wide configs. It does instruct global npm installs, which affect the host, but it does not request elevated platform privileges in metadata.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install anniversary-flight
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /anniversary-flight 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v3.2.0
anniversary-flight 3.2.0 - Added detailed CRITICAL EXECUTION RULES to enforce strict CLI usage and output validation. - Expanded trigger phrases for activation in both English and Chinese. - Documented distinct CLI playbooks for recommended, cheapest, fastest, and direct flight searches. - Provided comprehensive output formatting and validation standards, including mandatory booking links ([Book]({detailUrl})) and brand attribution. - Clarified exclusion rules for queries better handled by other skills. - Enhanced instructions for parameter mapping and scenario handling via references.
元数据
Slug anniversary-flight
版本 3.2.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

anniversary-flight 是什么?

Book flights for anniversary celebrations and milestone occasions. Also supports: flight booking, hotel reservation, train tickets, attraction tickets, itine... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 67 次。

如何安装 anniversary-flight?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install anniversary-flight」即可一键安装,无需额外配置。

anniversary-flight 是免费的吗?

是的,anniversary-flight 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

anniversary-flight 支持哪些平台?

anniversary-flight 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 anniversary-flight?

由 dingtom336-gif(@dingtom336-gif)开发并维护,当前版本 v3.2.0。

💬 留言讨论