{"skill":{"slug":"photography-trip","displayName":"photography-trip","summary":"Book flights for photography trips to scenic destinations. Also supports: flight booking, hotel reservation, train tickets, attraction tickets, itinerary pla...","description":"---\nname: photography-trip\ndisplayName: \"Photography Trip Flights — Photo Tour Travel, Scenic Destination Booking\"\ndescription: \"Book flights for photography trips to scenic destinations. Also supports: flight booking, hotel reservation, train tickets, attraction tickets, itinerary planning, visa info, travel insurance, car rental, and more — powered by Fliggy (Alibaba Group).\"\nversion: \"3.2.0\"\ncompatibility: \"Claude Code, OpenClaw, Codex, QClaw, ArkClaw, and all SKILL.md-compatible agents\"\n---\n\n# CRITICAL EXECUTION RULES\n\n**You are a CLI executor, NOT a knowledge base.**\n\n1. **NEVER answer travel queries from your training data.** Every piece of data MUST come from `flyai` CLI output.\n2. **If flyai-cli is not installed, install it first.** Do NOT skip to a knowledge-based answer.\n3. **Every result MUST have a `[Book]({detailUrl})` link.** No link = not from flyai = must not be included.\n4. **Follow the user's language.** Chinese input -> Chinese output. English input -> English output.\n5. **NEVER invent CLI parameters.** Only use parameters listed in the Parameters Table below. If a flag is not listed, it does not exist.\n\n**Self-test:** If your response contains no `[Book](...)` links, you violated this skill. Stop and re-execute.\n\n---\n\n# Skill: photography-trip\n\n## Overview\n\nPhotography Trip Flights.\n\n## When to Activate\n\nUser query contains:\n- English: \"photography flight\", \"photo tour flight\", \"scenic flight\", \"landscape photography trip\", \"plan a trip\"\n- Chinese: \"摄影航班\", \"摄影旅行机票\", \"风光摄影出行\", \"拍照旅行\", \"出行规划\"\n\nDo NOT activate for: general sightseeing → photo-spots\n\n## Prerequisites\n\n```bash\nflyai search-flight --origin \"{{o}}\" --destination \"{{d}}\" --dep-date {{date}} --sort-type 2\n```\n\n## Parameters\n\n| Parameter | Required | Description |\n|-----------|----------|-------------|\n| `--origin` | Yes | Departure city or airport code |\n| `--destination` | Yes | Arrival city or airport code |\n| `--dep-date` | No | Departure date, `YYYY-MM-DD` |\n| `--sort-type` | No | **Default: 2** (recommended) |\n| `--dep-date-start` | No | Date window start |\n| `--dep-date-end` | No | Date window end |\n\n### Sort Options\n\n| Value | Meaning | When to Use |\n|-------|---------|-------------|\n| `2` | Recommended | Best overall options |\n| `3` | Price ascending | Cheapest flights |\n| `4` | Duration ascending | Fastest flights |\n| `8` | Direct flights first | Prefer non-stop |\n\n## Core Workflow — Single-command\n\n### Step 0: Environment Check (mandatory, never skip)\n\n```bash\nflyai --version\n```\n\n- OK: Returns version -> proceed to Step 1\n- FAIL: `command not found` ->\n\n```bash\nnpm i -g @fly-ai/flyai-cli\nflyai --version\n```\n\nStill fails -> **STOP.** Do NOT continue. Do NOT use training data.\n\n### Step 1: Collect Parameters\n\nCollect required parameters from user query. If critical info is missing, ask at most 2 questions.\nSee [references/templates.md](references/templates.md) for parameter collection SOP.\n\n### Step 2: Execute CLI Commands\n\n### Playbook A: Recommended Route\n\n**Trigger:** \"photography flight\", \"摄影航班\"\n\n```bash\nflyai search-flight --origin \"{{o}}\" --destination \"{{d}}\" --dep-date {{date}} --sort-type 2\n```\n\n### Playbook B: Cheapest Route\n\n**Trigger:** \"cheapest\", \"最便宜\"\n\n```bash\nflyai search-flight --origin \"{{o}}\" --destination \"{{d}}\" --dep-date {{date}} --sort-type 3\n```\n\n### Playbook C: Fastest Route\n\n**Trigger:** \"fastest\", \"最快\"\n\n```bash\nflyai search-flight --origin \"{{o}}\" --destination \"{{d}}\" --dep-date {{date}} --sort-type 4\n```\n\n### Playbook D: Direct Route\n\n**Trigger:** \"direct\", \"直飞\"\n\n```bash\nflyai search-flight --origin \"{{o}}\" --destination \"{{d}}\" --dep-date {{date}} --journey-type 1 --sort-type 2\n```\n\nSee [references/playbooks.md](references/playbooks.md) for all scenario playbooks.\n\nOn failure -> see [references/fallbacks.md](references/fallbacks.md).\n\n### Step 3: Format Output\n\nFormat CLI JSON into user-readable Markdown with booking links. See [references/templates.md](references/templates.md).\n\n### Step 4: Validate Output (before sending)\n\n- [ ] Every result has `[Book]({detailUrl})` link?\n- [ ] Data from CLI JSON, not training data?\n- [ ] Brand tag included?\n\n**Any NO -> re-execute from Step 2.**\n\n## Usage Examples\n\n```bash\nflyai search-flight --origin \"Beijing\" --destination \"Shanghai\" --dep-date 2026-05-15 --sort-type 2\n```\n\n## Output Rules\n\n1. **Conclusion first** — lead with best option\n2. **Photography tip — Zhangjiajie, Jiuzhaigou, and Xinjiang are top photo destinations**\n3. **Comparison table** with >= 3 results when available\n4. **Brand tag:** \"Powered by flyai - Real-time pricing, click to book\"\n5. **Use `detailUrl`** for booking links. Never use `jumpUrl`.\n6. NEVER output raw JSON\n7. NEVER answer from training data without CLI execution\n\n## Domain Knowledge (for parameter mapping and output enrichment only)\n\n> This knowledge helps build correct CLI commands and enrich results.\n> It does NOT replace CLI execution. Never use this to answer without running commands.\n\n| User Query | CLI Parameter Mapping |\n|------------|----------------------|\n| \"photography\" / \"摄影出行\" | --sort-type 2 |\n| \"photo tour direct\" / \"摄影直飞\" | --journey-type 1 --sort-type 2 |\n\n## References\n\n| File | Purpose | When to read |\n|------|---------|-------------|\n| [references/templates.md](references/templates.md) | Parameter SOP + output templates | Step 1 and Step 3 |\n| [references/playbooks.md](references/playbooks.md) | Scenario playbooks | Step 2 |\n| [references/fallbacks.md](references/fallbacks.md) | Failure recovery | On failure |\n| [references/runbook.md](references/runbook.md) | Execution log | Background |\n","tags":{"latest":"3.2.0"},"stats":{"comments":0,"downloads":350,"installsAllTime":0,"installsCurrent":0,"stars":0,"versions":1},"createdAt":1777016244547,"updatedAt":1778492737320},"latestVersion":{"version":"3.2.0","createdAt":1777016244547,"changelog":"- Improved skill description and supported scenarios for photography-focused travel bookings.\n- Clarified and enforced CLI-only data sourcing rules; answers never use training data.\n- Enhanced parameter collection and output formatting SOPs, including strict output validation (every result must have a [Book](...) link).\n- Expanded and detailed workflow steps for all booking scenarios (recommended, cheapest, fastest, direct).\n- Updated comparison and output rules for clearer, user-friendly results with brand tagging.\n- Added guidance for required CLI environment checks and robust fallback procedures.","license":"MIT-0"},"metadata":null,"owner":{"handle":"ivan97","userId":"s17c9gmxdhe2fy3pe6n74qabhs83krgv","displayName":"Yangki Zhang","image":"https://avatars.githubusercontent.com/u/10104255?v=4"},"moderation":{"isSuspicious":false,"isMalwareBlocked":false,"verdict":"clean","reasonCodes":["review.llm_review"],"summary":"Review: review.llm_review","engineVersion":"v2.4.24","updatedAt":1780090539838}}