Skip to content
Business
Skill

/compare-hotels

Unified hotel comparison across Chase Edit, Amex FHR/THC, metasearch, and Airbnb. Highlights premium program benefits, stacking opportunities, and benefit-adjusted pricing.

BOOST
From plugin
travel-hacker
69748 skills1 agent6 MCP
Install
$ npx -y skills add borski/travel-hacking-toolkit --skill compare-hotels --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/compare-hotels

Context preview

The summary Claude sees to decide when to auto-load this skill.

Unified hotel comparison across Chase Edit, Amex FHR/THC, metasearch, and Airbnb. Highlights premium program benefits, stacking opportunities, and benefit-adjusted pricing.

SKILL.md

compare-hotels.SKILL.md
name: compare-hotels
description: Unified hotel comparison across Chase Edit, Amex FHR/THC, metasearch, and Airbnb. Highlights premium program benefits, stacking opportunities, and benefit-adjusted pricing.
category: orchestration
summary: Unified hotel comparison across portals, metasearch, and Airbnb. FHR/Edit stacking detection.
api_key: Uses individual skill keys

**Companion reference skills.** Load these for deeper context:

  • `hotel-chains` — branded property to loyalty program mapping
  • `premium-hotels` — FHR / THC / Chase Edit credits and stacking strategy
  • `points-valuations` — CPP floor/ceiling for hotel programs (Hyatt 1.4-1.7cpp, Hilton 0.4cpp floor, etc.)
  • `fallback-and-resilience` — recovery when a hotel source fails

Compare Hotels

Search every available source for accommodation and present one unified comparison. Combines portal premium programs (Chase Edit, Amex FHR/THC), cash pricing, and Airbnb alternatives into a single view.

**This is an orchestration skill.** It tells the agent which tools to run and how to combine results. No standalone script.

When to Use

  • "Find me a hotel in Paris for Aug 11-15"
  • "Should I book through Chase or Amex for this hotel?"
  • "Compare hotels vs Airbnb in Oslo"
  • Any accommodation search where the user wants the full picture

Sources

Run these in parallel where possible. **Never fail silently.**

Portal Premium Programs (Docker required)

| Source | Skill | Speed | What It Finds | |--------|-------|-------|---------------| | Chase Travel | `chase-travel` | ~45s | Edit hotels ($100 credit, breakfast, upgrade), Points Boost, standard hotels | | Amex Travel | `amex-travel` | ~45s | FHR ($100+ credit, breakfast, upgrade, late checkout), THC ($100 credit on 2+ nights) |

Cash Prices and Metasearch

| Source | Skill/Tool | Speed | What It Finds | |--------|------------|-------|---------------| | SerpAPI | `serpapi` | ~3s | Google Hotels cash prices and direct booking links. | | Trivago | web search | ~5s | Metasearch across many OTAs. Use tavily/exa to search `trivago.com`. Finds the absolute cheapest OTA rate. | | LiteAPI | web search | ~5s | Hotel API aggregator with negotiated rates. Check `liteapi.travel`. Can find rates below public OTA pricing. | | RapidAPI | `rapidapi` | ~3s | Booking.com inventory and pricing. Optional, use when user asks for Booking.com specifically. |

Quality and Ratings

| Source | Skill/Tool | Speed | What It Finds | |--------|------------|-------|---------------| | TripAdvisor | `tripadvisor` | ~2s | Ratings, rankings, subratings (location/service/cleanliness), reviews, photos, amenities, awards. 5K calls/month. |

**SerpAPI, Trivago, and LiteAPI are all default.** Always search all three. Only add RapidAPI if the user asks for Booking.com specifically. Use TripAdvisor for quality data (ratings, rankings, reviews) to complement pricing from other sources.

Vacation Rentals

| Source | Skill/Tool | Speed | What It Finds | |--------|------------|-------|---------------| | Airbnb | `airbnb_search` MCP tool | ~5s | Entire homes, private rooms, with total pricing | | VRBO | `vrbo` skill (Patchright) | ~20s | Whole homes, condos, cabins. Professionally-managed units often not on Airbnb. Headed/Docker — behind Akamai. |

Premium Property Databases (local, instant)

| Source | Data File | What It Finds | |--------|-----------|---------------| | FHR properties | `data/fhr-properties.json` | Check if a hotel is FHR before booking | | THC properties | `data/thc-properties.json` | Check if a hotel is THC | | Chase Edit properties | `data/chase-edit-properties.json` | Check if a hotel is in Chase's Edit program |

Workflow

Step 1: Search All Sources

PARALLEL GROUP 1 (fast — HTTP/API/MCP calls, no browser, ~3-5s):
  - SerpAPI: Google Hotels cash prices
  - Trivago: metasearch across OTAs (web search)
  - LiteAPI: negotiated hotel rates (web search)
  - Airbnb: vacation rentals in the area (npx MCP — lightweight scrape, not a browser)
  - Local data: check premium-hotels databases for the city

PARALLEL GROUP 2 (slow — headed browser via Patchright/Xvfb in Docker, ~20-45s):
  - VRBO: whole homes / condos / cabins — vrbo skill (~20s, headed/Docker, behind Akamai; run for whole-home comparisons alongside Airbnb)
  - Chase Travel: --hotel --dest "City" --checkin YYYY-MM-DD --checkout YYYY-MM-DD --json
  - Amex Travel: --hotel --dest "City" --checkin YYYY-MM-DD --checkout YYYY-MM-DD --json

For each source, capture:

  • Source name
  • Status: "ok" | "error: {reason}" | "skipped: {reason}"
  • Results count
  • Data

Step 2: Identify Stacking Opportunities

Cross-reference results with `data/fhr-properties.json`, `data/thc-properties.json`, and `data/chase-edit-properties.json`:

For each hotel in results:
  - Is it in FHR? → Tag [FHR]
  - Is it in THC? → Tag [THC]
  - Is it in Chase Edit? → Tag [EDIT]
  - Is it in multiple? → Tag [FHR+EDIT] and note stacking potential

Stacking means: book through one portal, pay with the other card separately. For example, book FHR through Amex (get breakfast + credit + upgrade), then use CSR $300 travel credit on something else at the property.

Step 3: Calculate Points Value

**Chase:**

  • Chase portal pricing on CSR/CSP is dynamic Points Boost. Each booking quotes a specific points price; effective cpp typically falls in the 1.5-2.0 cpp range on CSR but is not a guaranteed floor on every booking. Pull the actual portal quote.
  • Points Boost offers are dynamic and vary by route/date/inventory.
  • The portal quote IS the actual UR cost. Don't divide by 1.5 — the listed points already reflect the dynamic Boost rate at quote time.

**Amex:**

  • Hotel portal pricing is variable (NOT always 1 cpp like flights).
  • The points price shown is the actual MR cost. Calculate CPP from cash/points ratio.
  • FHR benefits ($100+ credit, breakfast) offset the rate significantly.

**Calculate benefit-adjusted price:**

FHR adjusted = total_pric
Read more
Ships withtravel-hacker

AI-powered travel hacking with points, miles, and award flights. Drop-in skills and MCP servers for OpenCode, Claude Code, and Codex. Ask your AI to find you a 60,000-mile business class flight to Tokyo.

Get the whole plugin

Other skills on travel-hacker.