Agent skill

Compare Hotels

by borski in borski/travel-hacking-toolkit

Unified hotel comparison across Chase Edit, Amex FHR/THC, metasearch, and Airbnb.

MITAuto-check passed

Install Compare Hotels

skills CLI
$ npx skills add borski/travel-hacking-toolkit --skill compare-hotels -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install borski/travel-hacking-toolkit compare-hotels --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/borski/travel-hacking-toolkit.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/travel-hacking-toolkit/skills/compare-hotels .claude/skills/compare-hotels && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
compare-hotels
GitHub stars
688
Token cost
~2.6k tokens
SKILL.md length
1,076 words
Files
1
Skills in repo
46
Repo updated
First seen
Licence
MIT

At a glance

Unified hotel comparison across Chase Edit, Amex FHR/THC, metasearch, and Airbnb.

  • Works in 5 steps: Search All Sources → Identify Stacking Opportunities → Calculate Points Value → …
  • SKILL.md covers When to Use, Sources, Workflow and Airbnb Integration, plus 3 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Compare Hotels is an agent skill from borski/travel-hacking-toolkit. Unified hotel comparison across Chase Edit, Amex FHR/THC, metasearch, and Airbnb. Highlights premium program benefits, stacking opportunities, and benefit-adjusted pricing.

Its SKILL.md is about 2.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

The repository describes itself as: AI-powered travel hacking and search with cash, points, miles, and award flights. Drop-in skills and MCP servers for Claude, Codex, and OpenCode. The licence is MIT.

Example prompts

  • “/compare-hotels”

Requirements

  • Node.js
  • Docker

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Search All Sources
  2. Identify Stacking Opportunities
  3. Calculate Points Value
  4. Present Unified Table
  5. Recommendation

What it can do on your machine

Read from SKILL.md and the folder at commit db82131. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Compare Hotels loads about 2.6k tokens when it runs. Until then it costs about 47 tokens; SKILL.md has 1,076 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~47
When it runs · the whole SKILL.md, loaded when a task matches
~2.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from borski/travel-hacking-toolkit at commit db82131, republished under its MIT licence (© borski). 1,076 words, ~2,592 tokens.

Download SKILL.mdSave it as .claude/skills/compare-hotels/SKILL.md (or your agent's skills folder).
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)
SourceSkillSpeedWhat It Finds
Chase Travelchase-travel~45sEdit hotels ($100 credit, breakfast, upgrade), Points Boost, standard hotels
Amex Travelamex-travel~45sFHR ($100+ credit, breakfast, upgrade, late checkout), THC ($100 credit on 2+ nights)
Cash Prices and Metasearch
SourceSkill/ToolSpeedWhat It Finds
SerpAPIserpapi~3sGoogle Hotels cash prices and direct booking links.
Trivagoweb search~5sMetasearch across many OTAs. Use tavily/exa to search trivago.com. Finds the absolute cheapest OTA rate.
LiteAPIweb search~5sHotel API aggregator with negotiated rates. Check liteapi.travel. Can find rates below public OTA pricing.
RapidAPIrapidapi~3sBooking.com inventory and pricing. Optional, use when user asks for Booking.com specifically.
Quality and Ratings
SourceSkill/ToolSpeedWhat It Finds
TripAdvisortripadvisor~2sRatings, 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
SourceSkill/ToolSpeedWhat It Finds
Airbnbairbnb_search MCP tool~5sEntire homes, private rooms, with total pricing
VRBOvrbo skill (Patchright)~20sWhole homes, condos, cabins. Professionally-managed units often not on Airbnb. Headed/Docker — behind Akamai.
Premium Property Databases (local, instant)
SourceData FileWhat It Finds
FHR propertiesdata/fhr-properties.jsonCheck if a hotel is FHR before booking
THC propertiesdata/thc-properties.jsonCheck if a hotel is THC
Chase Edit propertiesdata/chase-edit-properties.jsonCheck 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_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)
Step 4: Present Unified Table

Always use markdown tables. Hotels sorted by benefit-adjusted total price.

Show full SKILL.md (479 more words)Show less
Example: Paris, Aug 11-15 (4 nights, 2 guests)
#HotelProgramStarsPer NightTotalPointsBenefitsAdj Total
1SO/ ParisEDIT+BOOST5★$639$2,555127,756 URBreakfast, $100 credit, upgrade~$1,855
2Hotel BalzacEDIT+BOOST5★$614$2,455122,769 URBreakfast, $100 credit, upgrade~$1,755
3Le BristolFHR5★$1,849$8,284n/a$100 credit, breakfast, upgrade, 4pm checkout~$6,884
4Marriott Champs-Élysées—4★$289$1,156——$1,156
5Airbnb: Marais 2BR——$195$780—Kitchen, washing machine$780

Sources checked:

  • ✅ Chase Travel: 21 hotels (15 Edit, 6 standard)
  • ✅ Amex Travel: 17 hotels (13 FHR, 4 THC)
  • ✅ SerpAPI: 25 hotels
  • ✅ Trivago: 30 hotels (cheapest OTA per hotel)
  • ✅ LiteAPI: 22 hotels (negotiated rates)
  • ✅ Airbnb: 18 listings
  • ✅ Premium databases: 8 FHR, 3 THC, 15 Edit properties in Paris
  • ⏭️ RapidAPI/Booking.com: skipped (not requested)
Step 5: Recommendation

After the table, always provide:

  1. Best luxury value: Which premium hotel gives the most benefit-adjusted savings
  2. Best budget option: Cheapest option (often Airbnb for longer stays)
  3. Stacking opportunities: Hotels in both FHR/THC AND Chase Edit
  4. Credit usage: Which card credits apply ($600 Amex FHR, $300 CSR travel, $250 Select Hotels)
  5. Points vs cash: Is using points worthwhile for any of these? (Calculate CPP)
  6. Direct booking comparison: Note if direct booking is significantly cheaper than portal price

Airbnb Integration

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:

  • Name, price, rating, reviews
  • Property type (entire home, private room)
  • Key amenities (kitchen, washer, wifi, AC)
  • Direct link to listing

When Airbnb makes sense:

  • Stays of 5+ nights (usually cheaper per night)
  • Groups or families needing space
  • Destinations where hotels are overpriced
  • When kitchen access matters (dietary restrictions, saving on meals)

When hotels win:

  • Short stays (1-2 nights)
  • Premium benefits offset the rate (FHR breakfast alone can be $100+/night value)
  • Points redemption gives good CPP
  • Loyalty status benefits (upgrades, late checkout, lounge access)

Error Handling

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

Data Files Used

FilePurpose
data/fhr-properties.jsonFHR property lookup by city/coordinates
data/thc-properties.jsonTHC property lookup
data/chase-edit-properties.jsonChase Edit property lookup
data/hotel-chains.jsonHotel chain to loyalty program mapping
data/points-valuations.jsonCPP valuations for points calculations

Limitations

  • Portal searches require Docker and credentials. Skip if not configured.
  • Airbnb MCP must be available. Skip gracefully if not.
  • FHR/THC/Edit databases are updated periodically. Properties may have been added or removed.
  • Amex hotel points pricing is variable (not 1 cpp). Use the actual points price from the portal.
  • Chase portal pricing is dynamic Points Boost (~1.5-2.0 cpp on select bookings, not a guaranteed floor). The historical static 1.5x multiplier is gone.
  • Direct booking prices (via SerpAPI) may differ from portal prices for the same hotel.

© borski, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in plugins/travel-hacking-toolkit/skills/compare-hotels of borski/travel-hacking-toolkit.

Open the folder on GitHubat commit db82131

Compare with similar skills

Compare Hotels next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Compare Hotels compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Compare Hotels this skillborski/travel-hacking-toolkit688—~2.6kAutomated safety check: PassMIT
Active Comparator Single Soc Faers Safety Comparisonaipoch/medical-research-skills2k—~4.2kAutomated safety check: PassMIT
Unified Memoryaffaan-m/ECC276k1 repos~2kAutomated safety check: PassMIT
Schema Unifygarrytan/gbrain31k—~3.4kAutomated safety check: PassMIT
Gaia Architecture Comparisonruvnet/ruflo74k—~1.3kAutomated safety check: NotesMIT
Comparetaishi-i/awesome-japanese-nlp-resources1k—~4.1kAutomated safety check: NotesCC0-1.0

Similar skills

  • Generates complete FAERS pharmacovigilance study designs for multi-drug or class-level safety comparison inside one predefined SOC or AE family using active comparators, disproportionality analysis…

    2k GitHub stars~4.2k tokensUpdated 22 days ago
    Research & ScienceAuto-check passed
  • Unified Memory

    affaan-m/ECC

    Share durable, inspectable context and handoffs between Claude, Codex, Hermes, Cursor, OpenCode, and other agents through the local ECC Memory Vault.

    276k GitHub starsUsed in 1 repo~2k tokens
    Auto-check passed
  • Schema Unify

    garrytan/gbrain

    Migrate a brain from gbrain-base (or any pack) to gbrain-base-v2's 14-canonical-type taxonomy via gbrain onboard --check + the unify-types Minion handler.

    31k GitHub stars~3.4k tokensUpdated today
    Auto-check passed
  • Side-by-side comparison of ruflo vs HAL vs other GAIA harnesses — capability gaps, design decisions, and improvement roadmap

    74k GitHub stars~1.3k tokensUpdated today
    DevelopmentAuto-check: notes
  • Compare

    taishi-i/awesome-japanese-nlp-resources

    Compare several Japanese NLP libraries, models, or datasets for a keyword (a specific tool name, or a function/task like '形態素解析') across a handful of criteria chosen for that comparison, rendered as…

    1k GitHub stars~4.1k tokensUpdated 3 days ago
    AI & LLM EngineeringAuto-check: notes
  • Unified AI Gateway

    sickn33/agentic-awesome-skills

    Operate and evaluate Unified AI System through fifteen governed MCP tools, including provider-free prompt enhancement, while preserving fake-provider, authorization, and evidence boundaries.

    47k GitHub starsUsed in 2 repos~3.8k tokens
    Agent WorkflowsAuto-check: notes

More from borski/travel-hacking-toolkit

All 46 skills in this repo
  • Amex Travel

    borski/travel-hacking-toolkit

    Search Amex travel portal for cash prices, MR points pricing, IAP discounts, and FHR/THC hotel benefits via Patchright.

    688 GitHub stars~3.1k tokensUpdated 4 days ago
    Auto-check passed
  • Chase Travel

    borski/travel-hacking-toolkit

    Search Chase UR travel portal via Patchright for cash prices, points pricing, Points Boost offers, and Chase Edit hotel benefits.

    688 GitHub stars~2.8k tokensUpdated 4 days ago
    Auto-check passed
  • Deutsche Bahn

    borski/travel-hacking-toolkit

    Deutsche Bahn train schedules, journey planning, and departures across Germany and into neighboring countries (Austria, Switzerland, Netherlands, France, Belgium).

    688 GitHub stars~1.5k tokensUpdated 4 days ago
    Auto-check passed
  • Sutochno

    borski/travel-hacking-toolkit

    Search Sutochno.ru (СУТОЧНО.РУ), a Russian short-term apartment-rental platform where you book directly from owners and pay in rubles (Mir card / bank transfer).

    688 GitHub stars~2.1k tokensUpdated 4 days ago
    Auto-check passed
  • Ticketsatwork

    borski/travel-hacking-toolkit

    Search TicketsAtWork (EBG corporate perks) for hotels, theme park tickets, attractions, and rental cars via Patchright.

    688 GitHub stars~4.2k tokensUpdated 4 days ago
    Auto-check passed
  • Vrbo

    borski/travel-hacking-toolkit

    Search VRBO (Vrbo / Expedia Group) vacation rentals including entire homes, condos, and cabins via Patchright browser automation.

    688 GitHub stars~1.7k tokensUpdated 4 days ago
    Auto-check passed

Questions about Compare Hotels

What does Compare Hotels do?

Unified hotel comparison across Chase Edit, Amex FHR/THC, metasearch, and Airbnb. Compare Hotels is an agent skill from borski/travel-hacking-toolkit. Unified hotel comparison across Chase Edit, Amex FHR/THC, metasearch, and Airbnb.

How do I install Compare Hotels in Claude Code?

Run `npx skills add borski/travel-hacking-toolkit --skill compare-hotels -a claude-code`. Or copy the skill folder (plugins/travel-hacking-toolkit/skills/compare-hotels in borski/travel-hacking-toolkit) into .claude/skills/compare-hotels in your project. Claude Code loads it when a task matches its description.

How do I install Compare Hotels in Codex?

Run `npx skills add borski/travel-hacking-toolkit --skill compare-hotels -a codex`. Or copy the skill folder (plugins/travel-hacking-toolkit/skills/compare-hotels in borski/travel-hacking-toolkit) into .agents/skills/compare-hotels in your project. Codex loads it when a task matches its description.

Can I use Compare Hotels in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add borski/travel-hacking-toolkit --skill compare-hotels -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/compare-hotels, .gemini/skills/compare-hotels, .github/skills/compare-hotels and .opencode/skills/compare-hotels in your project.

What does Compare Hotels need to run?

SKILL.md names no scripts, command-line tools or credentials: Compare Hotels is instructions for the agent only. Our summary lists: Node.js; Docker.

Does Compare Hotels access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Compare Hotels safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Compare Hotels use?

Compare Hotels is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Compare Hotels use?

About 2.6k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Compare Hotels?

Skills that share tags, products or a category with Compare Hotels: Active Comparator Single Soc Faers Safety Comparison (aipoch/medical-research-skills, 2k stars), Unified Memory (affaan-m/ECC, 276k stars), Schema Unify (garrytan/gbrain, 31k stars) and Gaia Architecture Comparison (ruvnet/ruflo, 74k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Compare Hotels?

borski (a GitHub user) maintains it in borski/travel-hacking-toolkit, which has 688 GitHub stars. The repository holds 46 skills in this directory. The repository was last updated on October 5, 2026.

Source: borski/travel-hacking-toolkit on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.