← Back to Skills Marketplace
dingtom336-gif

birthday-flight

by dingtom336-gif · GitHub ↗ · v3.2.0 · MIT-0
cross-platform ⚠ suspicious
69
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install birthday-flight
Description
Book flights for birthday celebrations and special day trips. Also supports: flight booking, hotel reservation, train tickets, attraction tickets, itinerary...
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: birthday-flight

Overview

Birthday Flight.

When to Activate

User query contains:

  • English: "birthday flight", "birthday trip flight", "birthday travel", "special day flight", "book a flight"
  • Chinese: "生日航班", "生日旅行机票", "生日出行", "生日快乐航班", "订机票"

Do NOT activate for: birthday trip → birthday-trip; anniversary → anniversary-flight

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)
--dep-date-start No Date window start
--dep-date-end No Date window end

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: "birthday 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. Birthday tip — some airlines offer birthday perks; check loyalty programs
  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
"birthday" / "生日出行" --sort-type 2
"birthday budget" / "经济生日出行" --sort-type 3

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
Before installing or enabling this skill: 1) Ask the skill author to clarify the vendor: is it actually Fliggy/Alibaba or 'flyai'? Request a homepage, repository link, or official package URL for @fly-ai/flyai-cli. 2) Do not allow the agent to run global npm installs without review—global installs run third-party code on your system. If you must proceed, run the npm install in a sandboxed environment and inspect the package source. 3) Confirm Node.js/npm availability and whether you permit global packages. 4) Note the SKILL.md inconsistencies (unlisted flags like --max-price, extra commands, and the 'self-test' loop) — ask the author to fix them; they could cause repeated executions or unexpected commands. 5) If you want to try safely, first run a harmless query in a controlled environment and inspect the raw CLI output the agent would receive. If the author cannot provide a verifiable package homepage/repo or explain the Fliggy vs flyai discrepancy, treat the skill as untrusted.
Capability Analysis
Type: OpenClaw Skill Name: birthday-flight Version: 3.2.0 The skill mandates the global installation of an external NPM package (`@fly-ai/flyai-cli`) and the execution of CLI commands to perform flight searches. While these actions are consistent with the stated purpose, automated global software installation and execution of external binaries are high-risk behaviors that could facilitate supply chain attacks or remote code execution. No explicit evidence of intentional malice, such as data exfiltration or backdoors, was found in the provided files (SKILL.md, references/fallbacks.md).
Capability Assessment
Purpose & Capability
The skill claims to be "powered by Fliggy (Alibaba Group)" but all runtime behavior relies on an npm package and a CLI named flyai/@fly-ai/flyai-cli. Asking to install and use a third-party CLI is coherent for a CLI-driven booking skill, but the branding mismatch (Fliggy vs flyai) is unexplained and should be clarified by the author.
Instruction Scope
The SKILL.md requires that every answer come from flyai CLI output and enforces a 'self-test' that forces re-execution if no [Book](...) links are present. This can lead to repeated CLI calls or loops if the CLI returns no links. The documentation also references commands/flags not listed in the Parameters table (e.g., --max-price, --seat-class-name, flyai keyword-search), which contradicts the rule 'NEVER invent CLI parameters.' These inconsistencies can cause the agent to run unexpected commands or loop attempting to satisfy the Book-link requirement.
Install Mechanism
Although the skill has no formal install spec, the SKILL.md instructs installing a global npm package (npm i -g @fly-ai/flyai-cli). Installing a global npm package is a moderate-risk operation: it executes third-party code on the host, requires npm/Node (the doc suggests Node but doesn't check it before attempting install), and the package's provenance/ homepage/release signatures are not provided. The registry package name looks plausible but its source is unknown.
Credentials
The skill does not request environment variables, credentials, or access to config paths. This is proportionate to a read-only query/booking lookup CLI skill. Note: the runtime expects the host to allow global npm installs and to have Node/npm available—these are implicit system dependencies rather than secrets.
Persistence & Privilege
The skill is not marked always:true and doesn't request elevated persistent system-wide privileges in the manifest. It instructs installing a global CLI tool (which modifies the system), but it does not claim to change other skills or agent configuration. Autonomous invocation is allowed (default) — normal for skills — but combined with the install instruction this increases potential impact if the CLI is untrusted.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install birthday-flight
  3. After installation, invoke the skill by name or use /birthday-flight
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v3.2.0
birthday-flight 3.2.0 - Updated skill description for broader support: birthday flight, birthday travel, flight booking, train/hotel/attraction/visa/car. - Added strict rules for CLI-only execution—no answers allowed from training data. - Enforced mandatory flyai-cli installation and output validation for all bookings. - Added scenario-based playbooks for cheapest, fastest, and direct routes. - Enhanced output with booking links, brand tag, and mandatory comparison tables.
Metadata
Slug birthday-flight
Version 3.2.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is birthday-flight?

Book flights for birthday celebrations and special day trips. Also supports: flight booking, hotel reservation, train tickets, attraction tickets, itinerary... It is an AI Agent Skill for Claude Code / OpenClaw, with 69 downloads so far.

How do I install birthday-flight?

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

Is birthday-flight free?

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

Which platforms does birthday-flight support?

birthday-flight is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created birthday-flight?

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

💬 Comments