Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Unified hotel comparison across Chase Edit, Amex FHR/THC, metasearch, and Airbnb. Highlights premium program benefits, stacking opportunities, and benefit-adjusted pricing.
.claude/skills/borski-compare-hotels/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-09 | ✗→✓ | ▲ Improved | 146% | 0% |
| case-13 | ✗→✓ | ▲ Improved | 113% | 0% |
| case-16 | ✗→✓ | ▲ Improved | 110% | 0% |
| case-17 | ✗→✓ | ▲ Improved | 118% | 0% |
| case-20 | ✗→✓ | ▲ Improved | 80% | 0% |
Companion reference skills. Load these for deeper context:
hotel-chains — branded property to loyalty program mappingpremium-hotels — FHR / THC / Chase Edit credits and stacking strategypoints-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 failsSearch 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.
Run these in parallel where possible. Never fail silently.
| 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) |
| 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. |
| 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.
| 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. |
| 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 |
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 --jsonFor each source, capture:
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 potentialStacking 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.
Chase:
Amex:
Calculate benefit-adjusted price:
FHR adjusted = total_price - $100 credit - (breakfast_value × nights)
breakfast_value ≈ $30-50/person × 2 people = $60-100/night
THC adjusted = total_price - $100 credit (2+ night stays only)
Edit adjusted = total_price - $100 credit - (breakfast_value × nights)Always use markdown tables. Hotels sorted by benefit-adjusted total price.
| # | Hotel | Program | Stars | Per Night | Total | Points | Benefits | Adj Total | |---|-------|---------|-------|-----------|-------|--------|----------|-----------| | 1 | SO/ Paris | EDIT+BOOST | 5★ | $639 | $2,555 | 127,756 UR | Breakfast, $100 credit, upgrade | ~$1,855 | | 2 | Hotel Balzac | EDIT+BOOST | 5★ | $614 | $2,455 | 122,769 UR | Breakfast, $100 credit, upgrade | ~$1,755 | | 3 | Le Bristol | FHR | 5★ | $1,849 | $8,284 | n/a | $100 credit, breakfast, upgrade, 4pm checkout | ~$6,884 | | 4 | Marriott Champs-Élysées | — | 4★ | $289 | $1,156 | — | — | $1,156 | | 5 | Airbnb: Marais 2BR | — | — | $195 | $780 | — | Kitchen, washing machine | $780 |
Sources checked:
After the table, always provide:
Use the airbnb_search MCP tool:
airbnb_search(
location="Paris, France",
checkin="2026-08-11",
checkout="2026-08-15",
adults=2,
propertyType="entire_home"
)For each Airbnb result, extract:
When Airbnb makes sense:
When hotels win:
NEVER fail silently. Every source must report its status.
- ❌ Chase Travel: Login failed. No Chase portal pricing available.
- ❌ Airbnb: No results for this location/dates.
- ⚠️ Amex Travel: Only 3 results (some hotels may not be available for these dates).If premium databases show FHR/Edit properties in the city but the portal search didn't return them, note this: "The FHR database lists 8 properties in Paris but Amex Travel only returned 3. Some may not have availability for your dates."
| File | Purpose | |------|---------| | data/fhr-properties.json | FHR property lookup by city/coordinates | | data/thc-properties.json | THC property lookup | | data/chase-edit-properties.json | Chase Edit property lookup | | data/hotel-chains.json | Hotel chain to loyalty program mapping | | data/points-valuations.json | CPP valuations for points calculations |
Other measured skills in the registry, with their headline benchmark lift.