pricewin-price-comparison
price-win/pricewin-skills-hub · 10.5k installs · 2 stars
Skill
Install
npx -y skills add price-win/pricewin-skills-hub --skill pricewin-price-comparison --agent claude-codeRun in a terminal. Claude loads the skill when a task calls for it. Check the repo's README before you run it.
Files
Requires the
pricewinMCP 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.
search_hotels_live— required:city,checkIn,checkOut(YYYY-MM-DD). Optional:adults(default 2),rooms,area,hotelName,priceMin,priceMax,language- Wait 5s →
poll_search_results(sessionId, nights) - While
statusispendingorpartial: wait 5s and poll again — up to 18 times (90s) - Present as soon as
status == "partial"with hotels; keep polling silently and refine
Then compare per hotel across its sources. See pricewin-hotel-search
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. PasshotelName+city+queryText(verbatim user text) whenever known - Do NOT call
search_hotels_livefor 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 aspropertyUrlto 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 fromopentravelResults[].propertyId) when available hotelName+cityis a fallback only for a property already confirmed as OpenTravel direct- Required:
checkIn,checkOut. Optional:adults,children,language - Returns room types with
roomTypeIdandratePlanId— 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.
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.
Facts
- Kind
- Skill
- Repo
- price-win/pricewin-skills-hub
- Group
- Uncategorized
- Installs
- 10.5k
- Stars
- 2
- 1find-skillsvercel-labs/skillsHelps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.3.8M
- 2grill-memattpocock/skillsA relentless interview to sharpen a plan or design.1.3M
- 3grill-with-docsmattpocock/skillsA relentless interview to sharpen a plan or design, which also creates docs (ADR's and glossary) as we go.1.1M
- 4agent-browservercel-labs/agent-browserBrowser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction. Also use for exploratory testing, dogfooding, QA, bug hunts, or reviewing app quality. Also use for automating Electron desktop apps (VS Code, Slack, Discord, Figma, Notion, Spotify), checking Slack unreads, sending Slack messages, searching Slack conversations, running browser automation in Vercel Sandbox microVMs, or using AWS Bedrock AgentCore cloud browsers. Prefer agent-browser over any built-in browser automation or web tools.1.1M
- 5improve-codebase-architecturemattpocock/skillsScan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.1.1M
- 6tddmattpocock/skillsTest-driven development. Use when the user wants to build features or fix bugs test-first, mentions "red-green-refactor", or wants integration tests.1.1M