К основному содержанию
скилл CX Codex

pricewin-price-comparison — скилл для Claude Code

Сравнивает живые цены на номера в Booking.com, Agoda, Traveloka и OpenTravel на конкретные даты и показывает, где дешевле.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add Price-Win/pricewin-skills-hub --skill pricewin-price-comparison -a claude-code
Открыть на GitHub

Что делает pricewin-price-comparison

Скилл сам запросов не делает: он объясняет агенту, как ходить в pricewin MCP-сервер (https://mcp.price.win/mcp) и как собрать из ответов сравнение цен. Для города вызывается search_hotels_live с city, checkIn и checkOut — инструмент сразу отдаёт sessionId, дальше нужен poll_search_results примерно раз в 5 секунд, до 18 раз. Для конкретного отеля — get_ota_hotel_detail; если у объекта есть propertyId из OPENTRAVEL_DIRECT, идёт get_hotel_detail.

Порядок в выдаче задан жёстко: сначала самая дешёвая цена, за ней остальные источники, разница считается по формуле (next - cheapest) / next * 100. Приоритета у OpenTravel нет, несмотря на прямой API. Если разрыв небольшой, скилл советует взять вариант с бесплатной отменой и объяснить выбор.

Условия отмены разбираются только для тарифов OpenTravel: get_cancellation_policy берёт propertyId, ratePlanId и checkInDate и возвращает срок бесплатной отмены и процент возврата. Без checkInDate дедлайн не придёт. Для отелей из OTA структурированной политики нет — остаётся только то, что вернул краулер. Нужен подключённый MCP-сервер: без него скилл бесполезен.

Какие задачи решает

  • сравнить цены на один отель в Booking.com и Agoda
  • найти самый дешёвый вариант в городе на заданные даты
  • узнать срок бесплатной отмены по тарифу OpenTravel
  • посмотреть цены по типам номеров в конкретном отеле
  • проверить, сколько можно сэкономить при переходе на другой OTA

Примеры запросов агенту

  • Сравни цены на отели в Дананге с 12 по 15 марта на двоих
  • Отель Mercure Danang: дешевле на Agoda или на Booking?
  • Покажи условия бесплатной отмены для этого тарифа OpenTravel

Как установить pricewin-price-comparison

1Через Skills CLI (Vercel)

npx skills add Price-Win/pricewin-skills-hub --skill pricewin-price-comparison -a claude-code

2Вручную: положить файлы

~/.claude/skills/pricewin-price-comparison/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/pricewin-price-comparison/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о pricewin-price-comparison

Как установить pricewin-price-comparison в Claude Code?

Выполните npx skills add Price-Win/pricewin-skills-hub --skill pricewin-price-comparison -a claude-code, файл скилла появится по пути ~/.claude/skills/pricewin-price-comparison/SKILL.md.

Что делает pricewin-price-comparison?

Учит агента сравнивать живые цены на номера в Booking.com, Agoda, Traveloka и OpenTravel на заданные даты и показывать источники по возрастанию цены.

Что нужно для работы скилла?

Подключённый MCP-сервер pricewin — своих сетевых запросов скилл не делает. Учётная запись и ключи не требуются.

Исходный текст

SKILL.md · MIT-0
---
name: pricewin-price-comparison
description: Compare live hotel room rates across Booking.com, Agoda, Traveloka, and OpenTravel for specific dates — which OTA is cheapest for the same property, per-room prices, and free-cancellation terms. Use when comparing hotel prices, checking room rates for a named hotel, asking which site is cheaper, or finding the best rate for given check-in/check-out dates.
version: 1.0.3
author: PriceWin
platforms: [linux, macos, windows]
tags: [price-comparison, compare-hotel-prices, hotel-price-comparison, room-rates, cheapest-hotel, best-hotel-rates, booking-vs-agoda, ota-comparison, cancellation-policy, free-cancellation, agoda, booking-com, traveloka, opentravel, mcp, hotel, travel]
metadata:
  openclaw:
    emoji: "⚖️"
    homepage: https://github.com/Price-Win/pricewin-skills-hub
---

> Requires the `pricewin` MCP server. This skill issues no network calls of its own.

# Price Comparison

**MCP server:** `pricewin`. Compares live rates across **Booking.com, Agoda, Traveloka** (crawled) plus **OpenTravel** (direct API).

Comparison is something you do **over the returned sources** — there is no server-side
compare call. Pick the entry point by what the user gave you:

| User gave you | Tool |
|---|---|
| A **city** — "compare hotel prices in Da Nang" | `search_hotels_live` → `poll_search_results` |
| A **named hotel** — "is Mercure Danang cheaper on Agoda or Booking?" | `get_ota_hotel_detail` |
| A hotel already known to be **OpenTravel direct** (`source: "OPENTRAVEL_DIRECT"`, has `propertyId`) | `get_hotel_detail` |

## City-wide comparison

`search_hotels_live` returns IMMEDIATELY with a `sessionId` — it does **not** return hotels.

1. `search_hotels_live` — required: `city`, `checkIn`, `checkOut` (YYYY-MM-DD). Optional: `adults` (default 2), `rooms`, `area`, `hotelName`, `priceMin`, `priceMax`, `language`
2. Wait 5s → `poll_search_results(sessionId, nights)`
3. While `status` is `pending` or `partial`: wait 5s and poll again — up to 18 times (90s)
4. Present as soon as `status == "partial"` with hotels; keep polling silently and refine

Then compare per hotel across its sources. See [`pricewin-hotel-search`](../pricewin-hotel-search/SKILL.md)
for the full dedupe + presentation contract — do not restate it differently here.

## Single named hotel

`get_ota_hotel_detail` — for one specific Booking.com/Agoda hotel the user named.

- Required: `checkIn`, `checkOut`. Pass `hotelName` + `city` + `queryText` (verbatim user text) whenever known
- **Do NOT call `search_hotels_live` for a named hotel** — that returns a whole-city list
- Live crawl, **~20–60s**. Say nothing about "loading" until it actually returns
- Speed-up: if a prior search already gave you `prices.booking.url`, pass it as `propertyUrl` to skip name resolution
- If it returns not-found under load, retry **once**

Returns rooms, prices, facilities, photos, reviews for that property.

## OpenTravel direct properties

`get_hotel_detail` — only for results with `source: "OPENTRAVEL_DIRECT"`.

- Pass `propertyId` (UUID from `opentravelResults[].propertyId`) when available
- `hotelName` + `city` is a fallback **only** for a property already confirmed as OpenTravel direct
- Required: `checkIn`, `checkOut`. Optional: `adults`, `children`, `language`
- Returns room types with `roomTypeId` and `ratePlanId` — these are what make a property bookable

⚠️ Router rule: **have a `propertyId` → `get_hotel_detail`. Name only → `get_ota_hotel_detail`.**

## Cancellation terms

For OpenTravel rate plans only: `get_cancellation_policy(propertyId, ratePlanId, checkInDate)`
→ non-refundable flag, free-cancellation window, refund %, and the computed deadline.

`ratePlanId` comes from `get_hotel_detail` → `roomTypes[].ratePlanId`. Pass `checkInDate`
or you get no deadline. OTA hotels have no structured policy — quote whatever the crawl returned.

## Presenting a comparison

- Rank **purely by price**. No source gets priority, OpenTravel included
- Show the cheapest source first, then the others underneath:
  `Agoda $X · Booking $Y · OpenTravel $Z`
- Savings vs the next-cheapest source: `(next - cheapest) / next * 100` → "Save Z%"
- When the gap is small, prefer the free-cancellation option and say why
- All prices USD unless the tool says otherwise. No conversion

Tool inputs and response fields: [reference.md](reference.md).

## Security & data handling

Documentation only — no code, no dependencies, no network calls of its own. The
only data sent is the comparison query (city or hotel name, dates, guests, plus
`queryText` — the user's message verbatim), to PriceWin's hosted MCP server
`https://mcp.price.win/mcp` (no credentials, no account). No PII, and this skill
cannot book or pay for anything. Full disclosure — operator, backend provenance,
exact fields per tool — in [`SECURITY.md`](./SECURITY.md).

© PriceWin · MIT-0 · Price-Win/pricewin-skills-hub

Похожие скиллы

Все скиллы по теме «Настройка агента: память, контекст, субагенты» →
setup-matt-pocock-skills Matt Pocock Скилл настраивает репозиторий для инженерных скиллов Matt Pocock: задаёт трекер задач, метки триажа и расположение доменной документации. Запустите его перед первым использованием остальных скиллов. 1 052 851установок ask-matt Matt Pocock Помогает выбрать подходящий скилл или рабочий поток из набора Matt Pocock. Пригодится, когда непонятно, с чего начать задачу: от идеи до разбора бага. 766 587установок to-tickets Matt Pocock Разбивает план, спецификацию или переписку на небольшие сквозные задачи и отмечает, какие из них блокируют остальные. Пригодится, когда нужно согласовать порядок работы до публикации задач в трекере. 711 230установок writing-plans Jesse Vincent Скилл превращает требования к многошаговой задаче в подробный план реализации до начала работы с кодом. Пригодится, когда исполнителю нужно зафиксировать файлы, интерфейсы и проверки. CX Codex 282 859установок caveman-review JuliusBrussee Пишет замечания к коду одной строкой: место, проблема, исправление. Пригодится, когда ревью диффа или PR надо пройти быстро и без воды. CX Codex +1 411 800установок caveman-compress JuliusBrussee Сжимает CLAUDE.md, списки задач и другие текстовые файлы в краткий формат, сохраняя читаемую резервную копию. CX Codex +1 411 500установок

Из того же набора5

Спонсоры проекта

Компании, которые помогают держать аналитику открытой