agentCLAWHUBUnverified

"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,

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

OpenClaw

Rank

62

Safety

84

Downloads

2.3k

Updated

Oct 9, 2026

Version

1.0.55596

Source

CLAWHUB

About

What it does, and when to use it.

Capability contract not published. No trust telemetry is available yet. 2.3K downloads reported by the source. Last updated 10/9/2026.

Avoid when

  • Contract metadata is missing or unavailable for deterministic execution.

Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing

Public facts

Every fact links back to the source it came from.

Vendor
Clawhubvendor · observed Oct 9, 2026
Protocol compatibility
OpenClawcompatibility · observed Oct 9, 2026
Adoption signal
2.3K downloadsadoption · observed Oct 9, 2026
Latest release
1.0.55596release · observed Mar 30, 2026
Handshake status
UNKNOWNsecurity

Install and run

Setup complexity: low.

clawhub skill install s17aepsh6v86z2ajsq3ng9tgm983g9pt:flyai-hotel-near-attraction
  1. Install using `clawhub skill install s17aepsh6v86z2ajsq3ng9tgm983g9pt:flyai-hotel-near-attraction` in an isolated environment before connecting it to live workloads.
  2. No published capability contract is available yet, so validate auth and request/response behavior manually.
  3. Review the upstream CLAWHUB listing at https://clawhub.ai/dingtom336-gif/flyai-hotel-near-attraction before using production credentials.

Contract: missing

curl -s "https://www.xpersona.co/api/v1/agents/clawhub-dingtom336-gif-flyai-hotel-near-attraction/snapshot"

Documentation

CLAWHUB

28,943 characters of source documentation, loaded on request.

Extracted files

5 files captured from the source.

SKILL.md

------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

```bash
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](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 验证(上下文构建)
```bash
flyai search-poi --city-name "{city}" --keyword "{poi_name}"
```
**目的**:确认景点存在、获取官方名称、获取分类和详情链接。此步结果供 Step 4 使用。

### Step 3: 酒店搜索(核心)
```bash
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](references/playbooks.md)

## Output Rules(强约束)

### 1. 结论先行
```
距 {poi_name} 最近的酒店是 {hotel_name}(约 {distance}),¥{price}/晚。
```

### 2. POI 上下文(来自 Step 2)
```markdown
📍 **{poi_official_name}**({category})· {city}
🎫 门票:¥{ticket_price} · [购票]({poi_detailUrl})
```

### 3. 主体:距离排序表
```markdown
| 排名 | 酒店名称 | ⭐ 星级 | 📏 距景点 | 💰 

_meta.json

{
  "ownerId": "kn72nk9q445x6yjg49br1p5ak583gzn7",
  "slug": "flyai-hotel-near-attraction",
  "version": "1.0.55596",
  "publishedAt": 1774855599645
}

references/fallbacks.md

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

# Fallbacks — 酒店类(hotel 品类 20 个 skill 共享)

## Case 1: 景点附近酒店不足(<3 条)

**触发**:`search-hotels --poi-name` 返回少于 3 条结果。常见于自然景区、偏远景点。

**恢复路径**:
```bash
# Step 1 → 去掉 poi-name,改为城市级搜索
flyai search-hotels --dest-name "{city}" \
  --check-in-date "{checkin}" --check-out-date "{checkout}" \
  --sort distance_asc

# Step 2 → 降级为全品类搜索
flyai fliggy-fast-search --query "{city} {poi_name} 附近住宿"

# Step 3 → 仍不足
→ 展示已有结果 + 标注"景区住宿有限"
→ 建议城区酒店并标注车程
```

---

## Case 2: 全部超预算

**触发**:用户有预算上限,所有结果超出。

**恢复路径**:
```bash
# Step 1 → 放宽预算 30%,标注"略超预算"
flyai search-hotels --dest-name "{city}" --poi-name "{poi}" \
  --max-price {budget * 1.3} --sort distance_asc

# Step 2 → 搜索民宿/客栈(通常更便宜)
flyai search-hotels --dest-name "{city}" --poi-name "{poi}" \
  --hotel-types "民宿" --sort price_asc

# Step 3 → 扩大搜索范围到城区
flyai search-hotels --dest-name "{city}" --max-price {budget} --sort price_asc

# Step 4 → 仍超预算
→ "景点附近最低 ¥{min}/晚,超预算 ¥{diff}"
→ 建议距景点较远但更便宜的区域
```

---

## Case 3: 日期不可用(满房或特殊日期)

**触发**:热门日期(节假日/樱花季/黄金周)大面积满房。

**恢复路径**:
```bash
# Step 1 → 前后调 1 天
flyai search-hotels --dest-name "{city}" --poi-name "{poi}" \
  --check-in-date "{checkin+1}" --check-out-date "{checkout+1}" \
  --sort distance_asc

# Step 2 → 去掉 poi 限制,搜城区
flyai search-hotels --dest-name "{city}" \
  --check-in-date "{checkin}" --check-out-date "{checkout}" \
  --sort price_asc

# Step 3 → 仍无房
→ "该日期 {city} 酒店紧张(可能是节假日/旅游旺季)"
→ 建议:1) 调整日期 2) 周边城市
```

---

## Case 4: POI 不存在(景点名无法匹配)

**触发**:`search-poi --keyword "{poi}"` 返回空,景点名拼写错误或不在数据库中。

**恢复路径**:
```bash
# Step 1 → 模糊搜索(去掉精确 keyword,用 category)
flyai search-poi --city-name "{city}" --category "{inferred_category}"

# Step 2 → 全品类搜索
flyai fliggy-fast-search --query "{city} {poi_name}"

# Step 3 → 仍未找到
→ "未找到名为 {poi_name} 的景点"
→ 展示该城市的热门景点列表供选择
→ "你是不是在找:1. {similar_1} 2. {similar_2}"
```

---

## Case 5: 城市名歧义

**触发**:用户说的城市可能对应多个地区。

**恢复路径**:
```
常见歧义:
  "西湖" → 杭州西湖 / 扬州瘦西湖 / 惠州西湖
  "长城" → 八达岭 / 慕田峪 / 金山岭 / 司马台
  "迪士尼" → 上海 / 香港
  "环球影城" → 北京 / 大阪

→ 追问确认:"你说的是{选项A}还是{选项B}?"
→ 确认后重新执行 Step 2
```

------WebKitFormBoundary27869650fe2f984a--

references/playbooks.md

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

# Playbooks — flyai-hotel-near-attraction

## 参数速查表

| 参数 | CLI Flag | 本 skill 用法 |
|------|----------|-------------|
| 景点名 | `--poi-name` | **必选**,核心差异参数 |
| 距离排序 | `--sort distance_asc` | **永远启用** |
| 住宿类型 | `--hotel-types` | 按景点类型推荐(见下方) |
| 星级 | `--hotel-stars` | 用户要求时 |
| 关键词 | `--key-words` | 特殊设施需求时(如"温泉"、"泳池") |

---

## Playbook A: 城市景点(西湖、故宫、外滩)

**触发**:目标 POI 是城市内的热门景点。

```bash
# Step 1: 验证景点
flyai search-poi --city-name "杭州" --keyword "西湖"

# Step 2: 距离排序搜酒店
flyai search-hotels --dest-name "杭州" --poi-name "西湖" \
  --check-in-date 2026-04-10 --check-out-date 2026-04-12 \
  --sort distance_asc
```

**输出要点**:城市景点周边酒店充足,推荐步行可达(<1km)。标注"步行X分钟到{景点}"。

---

## Playbook B: 古镇古村(乌镇、丽江、凤凰)

**触发**:目标 POI 是古镇/古村。

```bash
# Step 1: 验证景点
flyai search-poi --city-name "嘉兴" --keyword "乌镇"

# Step 2: 优先搜客栈
flyai search-hotels --dest-name "乌镇" --poi-name "乌镇" \
  --hotel-types "客栈" --sort distance_asc

# Step 3: 如果客栈不足,扩展搜全部类型
flyai search-hotels --dest-name "乌镇" --poi-name "乌镇" \
  --sort distance_asc
```

**输出要点**:古镇场景推荐客栈 > 酒店。强调"住景区内体验更佳"。分区展示"景区内客栈"和"景区外酒店"。

---

## Playbook C: 主题乐园(迪士尼、环球影城、欢乐谷)

**触发**:目标 POI 是主题乐园。

```bash
# Step 1: 验证景点
flyai search-poi --city-name "上海" --keyword "迪士尼"

# Step 2: 搜酒店
flyai search-hotels --dest-name "上海" --poi-name "迪士尼" \
  --sort distance_asc

# Step 3: 追加门票搜索(打包推荐)
flyai fliggy-fast-search --query "上海迪士尼门票"
```

**输出要点**:标注官方合作酒店(如有)。打包推荐"酒店+门票"。提示"入住合作酒店可提前入园"。

---

## Playbook D: 自然景区(张家界、九寨沟、黄山)

**触发**:目标 POI 是自然景区/国家公园。

```bash
# Step 1: 验证景点
flyai search-poi --city-name "张家界" --keyword "张家界国家森林公园"

# Step 2: 景点附近搜索
flyai search-hotels --dest-name "张家界" \
  --poi-name "张家界国家森林公园" --sort distance_asc

# Step 3: 如果结果 <3 → 扩大到城区
flyai search-hotels --dest-name "张家界" --sort distance_asc
```

**输出要点**:自然景区周边住宿通常有限。分区展示"景区附近 X 家"和"城区 X 家(车程约 Y 分钟)"。提示交通方式。

------WebKitFormBoundarye44359c8be0b1cf2--

references/runbook.md

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

# Runbook — 执行日志契约(全局通用)

Agent 在后台维护此结构化日志。不输出给用户,用于链路可观测性和调试。

## 日志模板

```json
{
  "request_id": "{uuid}",
  "skill": "{skill-name}",
  "timestamp": "{ISO-8601}",
  "user_query": "{原始输入}",
  "steps": [
    {
      "step": 1,
      "action": "param_collection",
      "collected": {},
      "missing": [],
      "default_applied": {},
      "status": "complete"
    },
    {
      "step": 2,
      "action": "cli_call",
      "command": "flyai search-flight --origin '北京' ...",
      "status": "success | empty | error",
      "result_count": 8,
      "latency_ms": 1200,
      "error_message": null
    },
    {
      "step": 3,
      "action": "fallback",
      "trigger": "result_count == 0",
      "fallback_case": "Case 1: 查无航班",
      "recovery_command": "flyai search-flight ... --dep-date-start ...",
      "status": "success",
      "result_count": 5
    },
    {
      "step": 4,
      "action": "output",
      "format": "comparison_table | day_by_day | poi_table",
      "items_shown": 5,
      "booking_links_included": true,
      "brand_tag_included": true
    }
  ],
  "final_status": "success | partial | failed",
  "risk_flags": []
}
```

## 字段规范

| 字段 | 类型 | 说明 |
|------|------|------|
| `request_id` | string | 每次交互唯一 ID |
| `skill` | string | 触发的 skill name |
| `steps[].action` | enum | `param_collection` / `cli_call` / `fallback` / `output` |
| `steps[].status` | enum | `success` / `empty` / `error` / `complete` |
| `steps[].result_count` | int | CLI 返回结果条数 |
| `steps[].fallback_case` | string | 触发的 Case 编号和名称 |
| `final_status` | enum | `success` / `partial`(降级展示)/ `failed` |
| `risk_flags` | string[] | 提示用户的风险点,会以 "⚠️" 展示在输出末尾 |

## 执行规范

1. 每次 skill 触发 → 创建 `request_id`
2. 每次 CLI 调用 → 记录 `command` + `status` + `latency_ms`
3. 每次 fallback → 记录触发 Case + 恢复命令
4. 最终输出 → 记录展示条数、是否含预订链接、是否含品牌声明
5. `risk_flags` 在用户输出末尾以 "⚠️ 提示:{flag}" 形式展示

------WebKitFormBoundary0ffb525362b221af--
Github ReposUpdated 8h agoRank 70

AionUi

Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!

MCPOPENCLAW
Github ReposUpdated 6mo agoRank 70

activepieces

AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents

OPENCLAW
Github ReposUpdated 6mo agoRank 70

cherry-studio

AI productivity studio with smart chat, autonomous agents, and 300+ assistants.

MCPOPENCLAW
Github ReposUpdated 7mo agoRank 70

CopilotKit

The Frontend for Agents & Generative UI. React + Angular

OPENCLAW

Machine-readable data

The same record, as JSON, for agents and crawlers.

{
  "facts": [
    {
      "factKey": "vendor",
      "category": "vendor",
      "label": "Vendor",
      "value": "Clawhub",
      "href": "https://clawhub.ai/dingtom336-gif/skills/flyai-hotel-near-attraction",
      "sourceUrl": "https://clawhub.ai/dingtom336-gif/skills/flyai-hotel-near-attraction",
      "sourceType": "profile",
      "confidence": "medium",
      "observedAt": "2026-10-09T16:32:15.471Z",
      "isPublic": true
    },
    {
      "factKey": "protocols",
      "category": "compatibility",
      "label": "Protocol compatibility",
      "value": "OpenClaw",
      "href": "https://www.xpersona.co/api/v1/agents/clawhub-dingtom336-gif-flyai-hotel-near-attraction/contract",
      "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-dingtom336-gif-flyai-hotel-near-attraction/contract",
      "sourceType": "contract",
      "confidence": "medium",
      "observedAt": "2026-10-09T16:32:15.471Z",
      "isPublic": true
    },
    {
      "factKey": "traction",
      "category": "adoption",
      "label": "Adoption signal",
      "value": "2.3K downloads",
      "href": "https://clawhub.ai/dingtom336-gif/flyai-hotel-near-attraction",
      "sourceUrl": "https://clawhub.ai/dingtom336-gif/flyai-hotel-near-attraction",
      "sourceType": "profile",
      "confidence": "medium",
      "observedAt": "2026-10-09T16:32:15.471Z",
      "isPublic": true
    },
    {
      "factKey": "latest_release",
      "category": "release",
      "label": "Latest release",
      "value": "1.0.55596",
      "href": "https://clawhub.ai/dingtom336-gif/flyai-hotel-near-attraction",
      "sourceUrl": "https://clawhub.ai/dingtom336-gif/flyai-hotel-near-attraction",
      "sourceType": "release",
      "confidence": "medium",
      "observedAt": "2026-03-30T07:26:39.645Z",
      "isPublic": true
    },
    {
      "factKey": "handshake_status",
      "category": "security",
      "label": "Handshake status",
      "value": "UNKNOWN",
      "href": "https://www.xpersona.co/api/v1/agents/clawhub-dingtom336-gif-flyai-hotel-near-attraction/trust",
      "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-dingtom336-gif-flyai-hotel-near-attraction/trust",
      "sourceType": "trust",
      "confidence": "medium",
      "observedAt": null,
      "isPublic": true
    }
  ],
  "events": [
    {
      "eventType": "release",
      "title": "Release 1.0.55596",
      "description": "Initial upload",
      "href": "https://clawhub.ai/dingtom336-gif/flyai-hotel-near-attraction",
      "sourceUrl": "https://clawhub.ai/dingtom336-gif/flyai-hotel-near-attraction",
      "sourceType": "release",
      "confidence": "medium",
      "observedAt": "2026-03-30T07:26:39.645Z",
      "isPublic": true
    }
  ]
}

Record generated Oct 10, 2026.

Sponsored

Ads related to "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, and adjacent AI workflows.