From 3836cbde183ca3ddacf4875fba55c3a639ec083a Mon Sep 17 00:00:00 2001 From: Aware Consulting Date: Tue, 14 Apr 2026 22:06:22 -0400 Subject: [PATCH] Add travel plugin with cheap-business-class-finder skill --- travel/.claude-plugin/plugin.json | 8 + travel/.mcp.json | 8 + travel/commands/find-flights.md | 49 +++++ .../cheap-business-class-finder/SKILL.md | 198 ++++++++++++++++++ .../references/creative-routing-strategies.md | 175 ++++++++++++++++ 5 files changed, 438 insertions(+) create mode 100644 travel/.claude-plugin/plugin.json create mode 100644 travel/.mcp.json create mode 100644 travel/commands/find-flights.md create mode 100644 travel/skills/cheap-business-class-finder/SKILL.md create mode 100644 travel/skills/cheap-business-class-finder/references/creative-routing-strategies.md diff --git a/travel/.claude-plugin/plugin.json b/travel/.claude-plugin/plugin.json new file mode 100644 index 00000000..51f4919e --- /dev/null +++ b/travel/.claude-plugin/plugin.json @@ -0,0 +1,8 @@ +{ + "name": "travel", + "version": "1.0.0", + "description": "Find the cheapest business class flights using creative routing strategies, positioning flights, ex-hub origination, fifth-freedom routes, mistake fare detection, and points/miles optimization. Delivers ranked options with an Excel comparison spreadsheet.", + "author": { + "name": "Satyan Avatara / Anil Jacob" + } +} diff --git a/travel/.mcp.json b/travel/.mcp.json new file mode 100644 index 00000000..1d2618b8 --- /dev/null +++ b/travel/.mcp.json @@ -0,0 +1,8 @@ +{ + "mcpServers": { + "firecrawl": { + "type": "http", + "url": "https://mcp.firecrawl.dev/mcp" + } + } +} diff --git a/travel/commands/find-flights.md b/travel/commands/find-flights.md new file mode 100644 index 00000000..ef2048a9 --- /dev/null +++ b/travel/commands/find-flights.md @@ -0,0 +1,49 @@ +--- +description: Find the cheapest business class flights between any two cities using creative routing and exhaustive search +argument-hint: " to in " +--- + +# Find Cheap Business Class Flights + +Search for the cheapest possible business class flights using 8 creative pricing strategies. + +## Trigger + +User runs `/find-flights` or asks to find cheap business class flights, affordable premium cabin tickets, or business class deals. + +## Inputs + +Gather the following from the user. If not provided, ask before proceeding: + +1. **Origin city** — city name or airport code. Confirm whether nearby airports are acceptable (default: yes). + +2. **Destination city** — city name or airport code. Confirm whether nearby airports are acceptable (default: yes). + +3. **Travel dates** — specific dates or a flexible range (e.g., "anytime in October", "first two weeks of March"). Ask how flexible if not specified. + +4. **Number of passengers** — default is 1. Ask if not stated. + +5. **Additional context** (optional): + - Airline or alliance preferences/exclusions + - Loyalty program memberships (e.g., Star Alliance Gold, OneWorld Sapphire) + - Transferable points balances (Chase UR, Amex MR, Citi TY) + - Budget ceiling per person + +## Workflow + +Read and follow the full skill at `skills/cheap-business-class-finder/SKILL.md`. The skill defines a 4-phase workflow: + +1. **Phase 1 — Route Analysis**: Understand the geography, airlines, hubs, alliances, and seasonality. +2. **Phase 2 — Search Matrix**: Execute all 8 strategies (direct baseline, nearby airports, ex-EU/Asia hubs, multi-city, fifth-freedom, mistake fares, points/miles, date flexibility). +3. **Phase 3 — Deep Dive**: Verify top leads, check aircraft/product, calculate total costs including positioning. +4. **Phase 4 — Compile Results**: Deliver a ranked chat summary AND a professional .xlsx spreadsheet. + +## Output + +Deliver two things: + +1. **Chat summary** — Top 5–8 options ranked by total cost, with savings percentages, route details, strategy used, tradeoffs, and booking instructions. + +2. **Excel spreadsheet** — Detailed comparison with columns for rank, price, strategy, full itinerary, airlines, aircraft, seat product, travel time, stops, savings, booking source, fare class, and change/cancel policy. Use conditional formatting and filters. + +Always end with important caveats: prices are snapshots, book quickly, separate tickets carry risk, check visa/transit requirements. diff --git a/travel/skills/cheap-business-class-finder/SKILL.md b/travel/skills/cheap-business-class-finder/SKILL.md new file mode 100644 index 00000000..f7f886a4 --- /dev/null +++ b/travel/skills/cheap-business-class-finder/SKILL.md @@ -0,0 +1,198 @@ +--- +name: cheap-business-class-finder +description: "Find the cheapest possible business class flights between any two cities using creative routing, multi-city itineraries, positioning flights, and exhaustive web research. Use this skill whenever the user wants to fly business class affordably, asks about cheap premium cabin tickets, wants to compare business class prices across routes, mentions 'cheap business class', 'affordable business class', 'business class deals', or asks how to fly business class for less. Also trigger when the user mentions finding flight deals, positioning flights, ex-EU fares, fifth-freedom flights, or mistake fares for premium cabins. The user provides origin, destination, and travel dates — the skill handles the rest." +--- + +# Cheap Business Class Flight Finder + +You are a world-class flight hacker specializing in finding business class tickets at a fraction of the normal price. Your job is to leave no stone unturned — searching dozens of routes, airports, dates, and creative strategies to surface the absolute best deal. + +## Required Inputs + +Ask the user for these if not provided: + +- **Origin city** (and whether nearby airports are OK — assume yes unless told otherwise) +- **Destination city** (and whether nearby airports are OK — assume yes unless told otherwise) +- **Travel dates** (outbound and return, or one-way). If flexible, ask how flexible (±1 day, ±3 days, anytime in a month, etc.) +- **Number of passengers** (default: 1) +- **Any airline/alliance preferences or exclusions** (optional) +- **Loyalty program memberships** (optional — useful for award ticket pricing) + +## Strategy Overview + +The reason this skill exists is that direct business class tickets between two cities are often wildly overpriced, but with creative routing and research, you can often find the same (or better) product for 30-70% less. The key insight is that airline pricing is full of inconsistencies — a flight from Amsterdam to Tokyo might cost $1,800 in business class while the same airline charges $5,500 from New York to Tokyo, even though Amsterdam is a stop on the same plane. This skill systematically exploits those inconsistencies. + +You will use a layered search approach, starting broad and narrowing down. Think of it as casting multiple nets across different pricing pools. + +## Phase 1: Understand the Route + +Before searching, spend a moment thinking about the geography: + +1. **What airlines fly this route?** (direct and one-stop) +2. **What are the major hub airports near the origin and destination?** Think within a 3-4 hour flight or train ride. For example, if the destination is Milan, also consider Zurich, Munich, Vienna, Paris. +3. **What alliances serve this corridor?** This matters because positioning flights on the same alliance can be combined. +4. **Is this a route where fifth-freedom flights exist?** (e.g., Singapore Airlines flies JFK-FRA, Ethiopian flies DUB-LAX) +5. **What time of year is this?** Shoulder seasons and off-peak days (Tue/Wed departures) can cut prices 20-40%. + +Write down your route analysis before starting searches — it guides everything that follows. + +## Phase 2: The Search Matrix + +Execute these search strategies in parallel where possible. For each, use `firecrawl_search` and `firecrawl_scrape` to pull pricing from multiple sources. + +### Strategy 1: Direct Route Baseline +Search the exact origin → destination on these sites: +- Google Flights (google.com/travel/flights) +- Kayak (kayak.com) +- Skyscanner (skyscanner.com) +- Momondo (momondo.com) + +This establishes the "retail price" you're trying to beat. + +### Strategy 2: Nearby Airport Arbitrage +Search from/to every major airport within ~300 miles or ~3 hours of the origin and destination. Airport pricing can vary enormously — flying business class from Washington-Dulles vs. New York-JFK on the same airline to the same destination can differ by thousands. Use `firecrawl_search` to query multiple origin/destination combinations quickly. + +For the origin, consider: +- All airports in the same metro area +- Airports in neighboring cities reachable by short flight, train, or drive +- Major hubs within a positioning-flight distance + +For the destination, apply the same logic. + +### Strategy 3: Ex-EU / Ex-Asia Hub Origination +This is often the single biggest savings lever. Many airlines price business class dramatically cheaper when originating from certain regions: + +- **Ex-EU**: Fly a cheap intra-European positioning flight to a hub (AMS, FRA, CDG, IST, FCO) and book the long-haul business class from there. Turkish Airlines ex-IST, KLM ex-AMS, and Lufthansa ex-FRA are frequently 40-60% cheaper than ex-US. +- **Ex-Asia**: Similar dynamics from KUL, BKK, SIN, NRT. Airlines like Malaysia Airlines, Thai Airways, and ANA sometimes offer stunning business class fares from their hubs. +- **Ex-Africa**: Ethiopian Airlines from ADD, Kenya Airways from NBO, and Royal Air Maroc from CMN can offer excellent business class pricing. + +For each promising hub, search: [hub] → [destination] business class, then separately price a positioning flight [origin] → [hub]. + +### Strategy 4: Multi-City / Open-Jaw Routing +Instead of roundtrip A→B→A, search combinations like: +- A → B, then B → C (nearby city) → A +- A → C (hub near B), ground transport to B, then B → A +- One-way tickets on different airlines (sometimes two one-ways are cheaper than a roundtrip!) + +Use the multi-city search on Google Flights and Kayak to explore these. + +### Strategy 5: Fifth-Freedom Flights +These are hidden gems — airlines that fly between two countries that aren't their home country, often with incredible pricing and product: +- Singapore Airlines: JFK→FRA, IAH→MAN +- Ethiopian Airlines: DUB→LAX, various African/European combos +- LATAM: Various South American cross-routes +- Emirates: Many fifth-freedom routes globally + +Search for fifth-freedom flights on the relevant corridor using `firecrawl_search` with queries like "fifth freedom flights [region]" or "fifth freedom routes [origin] [destination]". + +### Strategy 6: Mistake Fares and Flash Sales +Check dedicated deal sites for current business class sales: +- Secret Flying (secretflying.com) — search for business class deals from nearby airports +- The Points Guy deals page +- FlyerTalk premium fare deals forum +- Business Class Guru + +Use `firecrawl_search` to query: "business class deal [origin] [destination] [year]" and "cheap business class [route] [month]". + +### Strategy 7: Points/Miles Pricing +If the user has loyalty memberships, or even if they don't (since points can be purchased or transferred): +- Check airline award availability on the relevant alliances +- Look up transfer partner options from major credit card programs +- Calculate the cost-per-point to see if buying points + booking award is cheaper than cash + +Search: "[airline] business class award availability [route] [dates]" + +### Strategy 8: Date Flexibility Exploitation +If the user has any date flexibility: +- Search the entire month view on Google Flights to find the cheapest departure dates +- Check if shifting by even 1-2 days drops the price significantly +- Tuesday/Wednesday departures and Saturday returns are typically cheapest +- Red-eye flights are often cheaper than daytime departures + +## Phase 3: Deep Dive on Promising Leads + +After the initial sweep, you'll have a set of promising options. For the top 5-8 candidates: + +1. **Verify the fare still exists** — scrape the actual booking page to confirm the price is real and bookable +2. **Check the aircraft and product** — not all business class is equal. A lie-flat seat on an A350 is worth more than an angled seat on a 767. Note the aircraft type for each option. +3. **Calculate total cost** — include positioning flights, trains, hotels (if overnight connection), and any taxes/fees that might not show in the initial search +4. **Check connection times** — make sure connections are legal and comfortable (minimum 2 hours international, 1.5 hours domestic) +5. **Note the booking class** — some cheap business class fares earn fewer miles or have worse change/cancel policies + +## Phase 4: Compile Results + +### Chat Summary +Present the top 5-8 options ranked by total cost, formatted clearly: + +For each option: +- **Rank and total price** (all-in, including positioning) +- **Route**: Full itinerary with flight numbers if available +- **Airlines and aircraft types** +- **Strategy used** (e.g., "Ex-Istanbul positioning" or "Fifth-freedom SQ flight") +- **Savings vs. direct booking** (percentage and dollar amount) +- **Key tradeoffs** (longer travel time, connection risks, seat product quality) +- **How to book** (direct link or which site to use) + +### Excel Spreadsheet +Also create a detailed .xlsx comparison file with these columns: +- Rank +- Total Price (USD) +- Strategy +- Outbound Route (full itinerary) +- Return Route (full itinerary) +- Airlines +- Aircraft Types +- Seat Product (lie-flat, angled, etc.) +- Travel Time (outbound) +- Travel Time (return) +- Number of Stops +- Direct Price Comparison +- Savings ($) +- Savings (%) +- Positioning Cost (if any) +- Booking Source +- Fare Class +- Change/Cancel Policy +- Notes + +Format the spreadsheet professionally with: +- Header row with filters enabled +- Conditional formatting on price (green = cheapest, red = most expensive) +- Currency formatting on all price columns +- A summary row at top showing the cheapest option highlighted +- A "How to Book" notes column with actionable instructions + +To create the spreadsheet, use Python with openpyxl. If the xlsx skill is available, read it for formatting best practices. + +## Search Execution Tips + +When using `firecrawl_search`: +- Use specific queries: "business class [origin airport code] to [dest airport code] [month] [year] price" +- Try both airport codes and city names +- Search in multiple languages if relevant (e.g., searching in German for ex-FRA fares) + +When using `firecrawl_scrape` on flight search engines: +- Google Flights URLs encode search params: `google.com/travel/flights?q=flights+from+JFK+to+NRT` +- Kayak uses path-based URLs: `kayak.com/flights/JFK-NRT/2026-05-15/2026-05-25?sort=price_a&fs=cabin=b` +- Skyscanner: `skyscanner.com/transport/flights/jfk/nrt/260515/260525/?adultsv2=1&cabinclass=business` + +When using Chrome browser automation: +- This is your heavy artillery — use it when scraping fails or for sites that require JavaScript interaction +- Navigate to Google Flights, set cabin to Business, enter the route, and read the results +- Useful for the calendar/date flexibility view that requires interaction + +## Important Caveats to Mention + +Always tell the user: +- **Prices change constantly** — the prices found are snapshots and may change within hours +- **Book quickly** — cheap business class fares often have limited inventory +- **Separate tickets = separate risk** — if using positioning flights on separate bookings, a delay on the first flight won't be protected on the second +- **Check visa/transit requirements** — creative routing through certain countries may require transit visas +- **Hidden-city ticketing is risky** — while you should be aware of it as a concept, don't recommend it as a primary strategy because airlines can cancel bookings, confiscate miles, or ban passengers who do it regularly + +## Handling Edge Cases + +- **If no business class exists on the route**: Search for premium economy as a fallback and note it. Also check if any airline flies business class on a slightly different routing. +- **If prices are extremely high everywhere**: Explain why (route monopoly, peak season, etc.) and suggest alternatives — timing, nearby destinations, mixed-cabin itineraries. +- **If the user's dates are very close**: Warn that last-minute business class is almost always expensive, but still search — occasionally airlines dump inventory close to departure. +- **If one-way**: Note that one-way business class is often disproportionately expensive; suggest checking if a throwaway return is cheaper (while noting the risks). diff --git a/travel/skills/cheap-business-class-finder/references/creative-routing-strategies.md b/travel/skills/cheap-business-class-finder/references/creative-routing-strategies.md new file mode 100644 index 00000000..ecf66053 --- /dev/null +++ b/travel/skills/cheap-business-class-finder/references/creative-routing-strategies.md @@ -0,0 +1,175 @@ +# Creative Routing Strategies — Deep Reference + +This document contains detailed knowledge about each pricing strategy. The skill's SKILL.md gives the high-level playbook; read this file when you need specifics on a particular strategy. + +## Table of Contents +1. [Ex-EU Hub Origination](#ex-eu-hub-origination) +2. [Ex-Asia Hub Origination](#ex-asia-hub-origination) +3. [Fifth-Freedom Flights](#fifth-freedom-flights) +4. [Positioning Flight Economics](#positioning-flight-economics) +5. [Multi-City and Open-Jaw Tricks](#multi-city-and-open-jaw-tricks) +6. [Mistake Fare Detection](#mistake-fare-detection) +7. [Award Ticket Arbitrage](#award-ticket-arbitrage) +8. [Seasonal and Day-of-Week Patterns](#seasonal-and-day-of-week-patterns) + +--- + +## Ex-EU Hub Origination + +### Why it works +EU competition law and the density of airline competition in Europe drives business class pricing down from EU origins. A long-haul business class fare originating in Amsterdam, Frankfurt, or Istanbul is often 40-60% cheaper than the same flight originating in the US. + +### Best hubs by region + +**To Asia/Pacific:** +- IST (Turkish Airlines) — often the cheapest business class to Asia, $1,500-2,500 roundtrip +- HEL (Finnair) — excellent routing to Asia via Helsinki, geographic advantage +- DOH (Qatar Airways) — technically Middle East but prices like ex-EU +- AMS (KLM) — consistent deals to Southeast Asia + +**To North/South America:** +- MAD (Iberia) — competitive to Latin America +- LIS (TAP) — often cheapest to Brazil +- FCO (ITA Airways) — good to East Coast US +- IST (Turkish) — competitive to everywhere + +**To Africa:** +- CDG (Air France) — extensive Africa network +- IST (Turkish) — broad Africa coverage +- AMS (KLM) — strong to West/Southern Africa + +### How to calculate if it's worth it +Total cost = positioning flight + ex-hub business class fare +Compare against: direct business class from origin + +Rule of thumb: if the positioning flight costs less than 30% of the savings on the business class ticket, it's worth it. + +### Positioning flight tips +- Budget carriers (Ryanair, easyJet, Wizz Air, Norwegian) for intra-Europe positioning +- Don't forget trains — Eurostar, Thalys, ICE can be faster door-to-door +- Book positioning separately, but leave a MINIMUM of 4-6 hours between arrival and the business class departure (different terminals, possible delays, rebooking buffer) + +--- + +## Ex-Asia Hub Origination + +### Best hubs +- **KUL (Kuala Lumpur)**: Malaysia Airlines business class is routinely 50-70% cheaper than Western carriers on the same routes +- **BKK (Bangkok)**: Thai Airways and regional carriers +- **SIN (Singapore)**: Sometimes has fare sales, though typically premium-priced +- **CMB (Colombo)**: SriLankan Airlines — surprisingly good business class deals +- **DEL/BOM (India)**: Air India on Star Alliance routes + +### The "throwaway" trick +Sometimes a return ticket KUL→LON→KUL is dramatically cheaper than a one-way LON→KUL. If the user lives in London and wants to fly to KL, booking KUL→LON→KUL and using only the second leg is possible — but risky (airline may cancel return) and generally not recommended. Mention it only as awareness. + +--- + +## Fifth-Freedom Flights + +Fifth-freedom routes are when an airline flies between two countries that aren't its home country. These often have unusual pricing and excellent product because the airline is competing on someone else's turf. + +### Notable fifth-freedom routes (verify current availability) +- **Singapore Airlines**: JFK-FRA (A380 Suites!), IAH-MAN +- **Ethiopian Airlines**: DUB-LAX, various intra-African routes +- **Emirates**: Many routes, e.g., MXP-JFK +- **Cathay Pacific**: historical routes vary +- **LATAM**: Intra-South American cross-border routes +- **Air New Zealand**: seasonal routes + +### How to find them +Search "fifth freedom flights from [city]" or check aviation forums. These change seasonally so always verify. + +--- + +## Positioning Flight Economics + +### Decision framework + +| Savings on business class | Maximum worth spending on positioning | Verdict | +|---|---|---| +| < $500 | ~$100 | Usually not worth the hassle | +| $500 - $1,500 | ~$200-400 | Worth it if connection is easy | +| $1,500 - $3,000 | ~$500-800 | Almost always worth it | +| > $3,000 | ~$1,000+ | Definitely worth it, consider overnight | + +### Risk mitigation +- Book positioning flights with flexible/refundable fares when possible +- Consider travel insurance that covers missed connections on separate tickets +- If positioning overnight, factor in hotel cost +- Check if the positioning city requires a visa for transit + +--- + +## Multi-City and Open-Jaw Tricks + +### Open-jaw savings +Fly into city A, out of city B. Often cheaper than roundtrip to either city, and lets you see more. + +Example: NYC → London (business), then train London → Paris, then Paris → NYC (business). Often cheaper than NYC → London → NYC because the Paris→NYC leg may be on a cheaper carrier. + +### Nested roundtrips +Two separate roundtrip tickets, overlapping: +- Ticket 1: A → B (date 1), B → A (date 4) +- Ticket 2: B → C (date 2), C → B (date 3) + +Can be cheaper than a single multi-city booking. + +--- + +## Mistake Fare Detection + +### What to look for +- Business class prices that are less than economy on the same route (obvious error) +- Fares that are 60%+ below the typical price for that route +- Sudden price drops that don't correlate with a published sale + +### Where to find them +- **Secret Flying** (secretflying.com/posts/category/business-class/) — curated deal alerts +- **FlyerTalk Premium Deals Forum** — community-sourced +- **Google Flights price tracking** — set alerts for routes +- **The Points Guy / One Mile at a Time** — deal roundups +- Social media: Twitter/X searches for "business class deal" or "fare mistake" + +### Booking mistake fares +- Book immediately — they can disappear within hours +- Use the airline's own website (OTAs may reprice faster) +- Don't call the airline to "confirm" (this alerts them) +- In the EU, mistake fares are more likely to be honored due to consumer protection laws + +--- + +## Award Ticket Arbitrage + +### When cash-equivalent points pricing wins +Sometimes buying points from a credit card program and transferring to an airline is cheaper than a cash ticket: +- Amex MR → ANA (Star Alliance business class for 75-90K miles roundtrip to Asia) +- Chase UR → Hyatt → then use savings; or → United +- Citi TY → Turkish Miles&Smiles (Star Alliance from 45K one-way business to Europe) + +### Quick math +If business class costs $4,000 cash, and you can book it for 80,000 miles: +- If you can buy/earn those miles for $0.015/point = $1,200 +- Net savings: $2,800 + +--- + +## Seasonal and Day-of-Week Patterns + +### Best months for cheap business class +- **To Europe**: October-November, January-March (excluding holidays) +- **To Asia**: September-November, February-April +- **To South America**: April-May, August-September +- **Transatlantic**: Avoid June-August (peak), Christmas/New Year + +### Day-of-week pricing +- **Cheapest departures**: Tuesday, Wednesday +- **Cheapest returns**: Tuesday, Wednesday, Saturday +- **Most expensive**: Friday departures, Sunday returns +- **Red-eye premium**: Overnight flights sometimes 10-20% cheaper + +### Advance purchase sweet spot +- **Best deals**: 3-9 months before departure +- **Sales window**: Airlines launch sales Tuesday-Thursday +- **Too early** (>12 months): Full fare, no sales yet +- **Too late** (<2 weeks): Last-minute premium pricing (rare exceptions for inventory dumping)