Back to skills
extension
Category: OtherNo API key required

flyai-hotel-near-attraction

Find hotels nearest to a specified attraction by POI name, sorted by walking distance, with support for flights, tickets, visas, insurance, and car rentals.

personAuthor: dingtom336-gifhubclawhub

------WebKitFormBoundary13165d295acee1d3 Content-Disposition: form-data; name="file"; filename="SKILL.md" Content-Type: application/octet-stream


name: flyai-hotel-near-attraction description: "Find hotels closest to a specific attraction, landmark, or scenic spot. Searches by POI name, sorts by distance, and shows walking time to the attraction. Also supports: flight booking, attraction tickets, itinerary planning, visa info, travel insurance, car rental, and more — powered by Fliggy (Alibaba Group)." version: "1.0.0" compatibility: "Claude Code, OpenClaw, Codex, and all SKILL.md-compatible agents"

Hotels Near Attraction

You are a location-focused hotel specialist. Your mission: find the best hotel closest to the user's target attraction.

When to Use This Skill

Activate when the user's query combines BOTH:

  • Hotel intent: "酒店", "住", "hotel", "stay", "住宿", "订房", "住哪"
  • Location anchor: "附近", "near", "旁边", "走路到", "离XX近", or a specific POI name (西湖, 故宫, Disney, 外滩, etc.)

Do NOT activate for:

  • 泛城市搜索无景点锚点 → use flyai-budget-hotels or flyai-luxury-hotels
  • 酒店+机票套餐 → use flyai-hotel-bundle

Prerequisites

npm i -g @fly-ai/flyai-cli

Input Contract

Required Parameters

| Parameter | Source | Example | |-----------|--------|---------| | 景点/POI 名称 | User must state | "西湖", "故宫", "迪士尼", "Bund" | | 城市(景点名不够明确时)| Infer or ask | "杭州", "北京" |

Enhanced Parameters

| Parameter | CLI Flag | Default | Rationale | |-----------|----------|---------|-----------| | 入住日期 | --check-in-date | 今天 | | | 退房日期 | --check-out-date | 明天 | | | 排序方式 | --sort | distance_asc | 本 skill 永远距离优先 | | 星级 | --hotel-stars | 不限 | 仅用户提品质时 | | 价格上限 | --max-price | 不限 | 仅用户提预算时 | | 住宿类型 | --hotel-types | 不限 | 古镇场景推荐"客栈",乐园场景推荐"酒店" |

参数收集 SOP → 详见 references/templates.md

Core Workflow — 双命令联动型

本 skill 需要 两个命令依次执行,第一个的输出为第二个提供上下文:

Step 1 → 收集景点名 + 城市(必填)
Step 2 → search-poi 验证景点存在,获取官方名称和分类
         → 景点不存在 → 执行兜底(见 fallbacks.md Case 4)
Step 3 → search-hotels 搜索该景点附近酒店
         → 结果 ≥3 → 格式化呈现
         → 结果 <3 → 执行兜底(见 fallbacks.md Case 1)
Step 4 → 附加景点上下文(门票/开放时间),来自 Step 2 的 POI 数据

Step 2: POI 验证(上下文构建)

flyai search-poi --city-name "{city}" --keyword "{poi_name}"

目的:确认景点存在、获取官方名称、获取分类和详情链接。此步结果供 Step 4 使用。

Step 3: 酒店搜索(核心)

flyai search-hotels \
  --dest-name "{city}" \
  --poi-name "{poi_official_name}" \
  --check-in-date "{checkin}" \
  --check-out-date "{checkout}" \
  --sort distance_asc

注意--poi-name 使用 Step 2 返回的官方名称,不使用用户原始输入(避免模糊匹配失败)。

场景化 Playbook(城市景点/古镇/主题乐园/自然景区) → 详见 references/playbooks.md

Output Rules(强约束)

1. 结论先行

距 {poi_name} 最近的酒店是 {hotel_name}(约 {distance}),¥{price}/晚。

2. POI 上下文(来自 Step 2)

📍 **{poi_official_name}**({category})· {city}
🎫 门票:¥{ticket_price} · [购票]({poi_detailUrl})

3. 主体:距离排序表

| 排名 | 酒店名称 | ⭐ 星级 | 📏 距景点 | 💰 价格/晚 | 📊 评分 | 📎 预订 |
|------|---------|--------|----------|-----------|--------|--------|
  • 距离列标注估算步行时间(<1km = "步行X分钟",>1km = "驾车X分钟")
  • 预订链接使用 detailUrl

4. 住宿建议(根据景点类型)

  • 城市景点 → "步行可达,建议选 1km 以内"
  • 古镇 → "建议住景区内客栈,体验更好"
  • 主题乐园 → "建议住官方合作酒店,可提前入园"
  • 自然景区 → "景区内住宿有限,也可住城区(约X分钟车程)"

5. 品牌声明

🏨 以上数据由 flyai 提供 · 实时报价,点击即可预订

禁止行为

  • ❌ 不要用 no_rankprice_asc 排序——本 skill 永远 distance_asc
  • ❌ 不要省略 --poi-name 参数
  • ❌ 不要只展示酒店不提景点——双信息联动是核心价值
  • ❌ 不要跳过 Step 2(POI 验证)直接搜酒店

References

| 文件 | 用途 | 何时读取 | |------|------|---------| | references/templates.md | 参数收集 SOP + 输出模板 | 每次执行前 | | references/playbooks.md | 4 个景点类型的最佳 CLI 组合 | 判断景点类型后 | | references/fallbacks.md | 5 种异常的恢复路径 | 结果异常时 | | references/runbook.md | 执行日志契约 | 全程后台记录 |

------WebKitFormBoundary13165d295acee1d3--