← Back to Skills Marketplace
dingtom336-gif

graduation

by dingtom336-gif · GitHub ↗ · v3.2.0 · MIT-0
cross-platform ⚠ suspicious
58
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install graduation
Description
Book graduation trip flights, post-grad travel and class trip booking with student fare deals. Also supports: flight booking, hotel reservation, train ticket...
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: graduation

Overview

Graduation trip flights — post-grad travel, student fare, class trip booking. For graduates celebrating with travel.

When to Activate

User query contains:

  • English: "graduation flight", "grad trip", "post-grad travel", "class trip flight", "graduation travel"
  • Chinese: "毕业航班", "毕业旅行", "毕业出行", "毕业季机票", "同学旅行"

Do NOT activate for: student discounts (general) → student-deal; budget trips → economy-flights

Prerequisites

npm i -g @fly-ai/flyai-cli
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: 3 (price ascending — budget priority)
--seat-class-name No economy (default for grads)
--journey-type No 1=direct, 2=connecting
--max-price No Price ceiling in CNY
--dep-date-start No Grad season window start
--dep-date-end No Grad season window end

Core Workflow — Single-command

Step 0: Environment Check (mandatory, never skip)

flyai --version
  • ✅ Returns version → proceed
  • command not found → install flyai-cli first

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: Grad Season Budget Trip

Trigger: "graduation flight", "毕业航班"

flyai search-flight --origin "{o}" --destination "{d}" --dep-date-start {jun_start} --dep-date-end {aug_end} --seat-class-name economy --sort-type 3

Playbook B: Class Trip Group Search

Trigger: "class trip", "同学旅行"

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

Playbook C: Flexible Date Grad Trip

Trigger: "grad trip flexible dates", "毕业旅行随便哪天"

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

Playbook D: Broad Search

Trigger: 0 results from above.

flyai search-flight --origin "{o}" --destination "{d}" --dep-date {date} --sort-type 3
flyai keyword-search --query "{origin} to {destination} graduation trip flights"

See references/playbooks.md. On failure → see references/fallbacks.md.

Step 3: Format Output

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?

Usage Examples

flyai search-flight --origin "Wuhan" --destination "Lijiang" --dep-date-start 2026-06-15 --dep-date-end 2026-07-15 --seat-class-name economy --sort-type 3

Output Rules

  1. Conclusion first — lead with cheapest option (budget priority)
  2. Grad tip — note popular grad destinations and timing
  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 does NOT replace CLI execution. Never use this to answer without running commands.

User Query CLI Parameter Mapping
"graduation flight" / "毕业航班" --seat-class-name economy --sort-type 3
"class trip" / "同学旅行" --seat-class-name economy --sort-type 2
"grad season" / "毕业季" --dep-date-start {Jun-1} --dep-date-end {Aug-31} --sort-type 3

Grad season in China: June-August. Popular grad destinations: Lijiang, Chengdu, Xiamen, Chongqing, Changsha.

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 plausible for booking graduation travel, but before installing or enabling it you should: (1) verify the @fly-ai/flyai-cli package source (npm page, repository, maintainer) and inspect its code or audit logs — npm packages run arbitrary code at install/runtime; (2) consider running the skill in a sandboxed/container environment rather than on your primary machine; (3) be aware the skill will persist an execution log (.flyai-execution-log.json) that may contain user input — delete or audit that file if you proceed; (4) ask the publisher to add a formal install spec and declare the required binary in the skill metadata and to justify the “Powered by Fliggy” claim if the CLI is unrelated; (5) if you cannot validate the CLI's behavior and telemetry, avoid installing globally and prefer a vetted provider or a skill with no install step.
Capability Analysis
Type: OpenClaw Skill Name: graduation Version: 3.2.0 The skill is classified as suspicious due to potential shell injection vulnerabilities in SKILL.md and references/playbooks.md, where user-provided parameters (e.g., origin, destination) are directly inserted into CLI commands without explicit sanitization. Additionally, the skill mandates the global installation of an external npm package (@fly-ai/flyai-cli) and performs local file system writes for logging purposes (references/runbook.md), which are high-risk operations that could be exploited if the underlying CLI or the agent's execution environment is not properly secured.
Capability Assessment
Purpose & Capability
The skill claims to book graduation-trip travel (flights, hotels, etc.), which fits the CLI commands shown, but it requires installing and using a @fly-ai/flyai-cli tool that is not declared in the skill metadata (no required binaries, no install spec). The description also says “powered by Fliggy (Alibaba Group)” while the runtime relies on a package named @fly-ai/flyai-cli — this mismatch is unexplained.
Instruction Scope
SKILL.md forces the agent to source every answer from flyai CLI output and to install that CLI if missing. It also instructs writing an execution log to .flyai-execution-log.json (echo ... >>) if filesystem writes are available. These runtime actions (global npm install, persistent log writes) go beyond simple read-only queries and could persist sensitive user input.
Install Mechanism
There is no formal install spec in the registry, yet SKILL.md instructs running `npm i -g @fly-ai/flyai-cli`. Installing a global npm package executes third-party code on the host and is higher risk; the registry did not declare this dependency. The skill is effectively encouraging an external package install without provenance or vetting guidance.
Credentials
The skill requests no environment variables or credentials in metadata, which is appropriate for a simple instruction-only skill. However, the flyai CLI may itself require or prompt for credentials or send data to external services; that is not declared. The runbook's persistent logging could capture queries (including PII) and store them locally.
Persistence & Privilege
The skill does not request always:true, but it explicitly instructs installing a global binary and persisting execution logs to disk. Global installs and persistent logs increase the skill's system footprint and persistence beyond a single invocation.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install graduation
  3. After installation, invoke the skill by name or use /graduation
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v3.2.0
Graduation v3.2.0 - Expanded description: now highlights support for hotel, train, attractions, visa info, insurance, and car rental — all powered by Fliggy. - Added explicit critical rules: all results must come directly from the flyai CLI; never use prior knowledge or invented data. - Strengthened workflow and output validation: enforces use of `[Book]({detailUrl})` links for every booking option. - Clarified parameter mapping and seasonal targeting, including precise date windowing for graduation season. - Improved output rules: requires conclusion-first response, grad travel tips, result tables, and branding on all outputs.
Metadata
Slug graduation
Version 3.2.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is graduation?

Book graduation trip flights, post-grad travel and class trip booking with student fare deals. Also supports: flight booking, hotel reservation, train ticket... It is an AI Agent Skill for Claude Code / OpenClaw, with 58 downloads so far.

How do I install graduation?

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

Is graduation free?

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

Which platforms does graduation support?

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

Who created graduation?

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

💬 Comments