alliances
Airline alliance membership (Star Alliance, oneworld, SkyTeam) and cross-alliance booking relationships. Maps which loyalty…
Credit card to loyalty program transfer ratios. Cross-references seats.aero award prices with transfer ratios to find the cheapest path from UR, MR, TYP, Capital One, or Bilt to any mileage program.
$ npx -y skills add borski/travel-hacking-toolkit --skill transfer-partners --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/transfer-partnersContext preview
The summary Claude sees to decide when to auto-load this skill.
Credit card to loyalty program transfer ratios. Cross-references seats.aero award prices with transfer ratios to find the cheapest path from UR, MR, TYP, Capital One, or Bilt to any mileage program.
name: transfer-partners description: Credit card to loyalty program transfer ratios. Cross-references seats.aero award prices with transfer ratios to find the cheapest path from UR, MR, TYP, Capital One, or Bilt to any mileage program. category: loyalty summary: Cheapest transfer path from credit card points to mileage programs. api_key: None (local data)
Given award flight prices (from seats.aero or manual input) and your transferable point balances, find the cheapest path to book.
**No API key needed.** Uses local JSON data files.
| File | Purpose | |------|---------| | `data/transfer-partners.json` | Credit card → loyalty program transfer ratios | | `data/points-valuations.json` | CPP valuations per program (floor/ceiling from TPG, UP, OMAAT, VFTW) | | `data/partner-awards.json` | Which programs can book which airlines |
Before recommending any transfer, load the `transfer-bonuses` skill and check `data/transfer-bonuses.json` for active bonuses on the relevant currency-to-program pair. A 30% bonus turns a 1:1 ratio into 1:1.3, which can flip the cheapest-currency calculation in Step 3 entirely. Bonuses also have expiration dates that affect timing decisions.
Use seats.aero (API or web) to search for award flights. Each result includes:
Seats.aero source names map to `transfer-partners.json` keys:
| Seats.aero Source | Transfer Partner Key | Programs That Transfer In | |-------------------|---------------------|---------------------------| | `united` | `united` | Chase UR (1:1), Bilt (1:1) | | `aeroplan` | `aeroplan` | Chase UR (1:1), Amex MR (1:1), Bilt (1:1), Capital One (1:1) | | `flyingblue` | `flying_blue` | Chase UR (1:1), Amex MR (1:1), Bilt (1:1), Capital One (1:1), Citi TY (1:1), Wells Fargo (1:1) | | `american` | `american` | Citi TY (1:1) | | `alaska` | `alaska_hawaiian` | Bilt (1:1) | | `virginatlantic` | `virgin_atlantic` | Chase UR (1:1), Amex MR (1:1), Bilt (1:1), Citi TY (1:1), Wells Fargo (1:1 via Virgin Red) | | `delta` | `delta` | Amex MR (1:1) | | `emirates` | `emirates` | Bilt (1:1), Amex MR (5:4), Capital One (4:3), Citi TY (5:4) | | `etihad` | `etihad` | Bilt (1:1), Capital One (1:1), Citi TY (1:1) | | `singapore` | `singapore` | Chase UR (1:1), Amex MR (1:1), Capital One (1:1), Citi TY (1:1) | | `jetblue` | `jetblue` | Chase UR (1:1), Citi TY (1:1), Wells Fargo (1:1), Amex MR (250:200), Capital One (5:3) | | `qatar` | `qatar` | Amex MR (1:1), Bilt (1:1), Capital One (1:1), Citi TY (1:1) | | `turkish` | `turkish` | Bilt (1:1), Capital One (1:1), Citi TY (1:1) | | `eurobonus` | (no direct transfer) | N/A | | `aeromexico` | `aeromexico` | Amex MR (1:1.6), Capital One (1:1), Citi TY (1:1) | | `smiles` | (no direct transfer) | N/A | | `finnair` | `finnair` | Capital One (1:1) | | `lufthansa` | (no direct transfer) | N/A | | `ethiopian` | (no direct transfer) | N/A | | `saudia` | (no direct transfer) | N/A |
Programs with "no direct transfer" can only be booked by earning miles directly or through alliance partner bookings.
For each award option, calculate the cost in each transferable currency:
effective_cost = award_miles / transfer_ratio
Example: Aeroplan business at 55,000 miles
Example: Emirates business at 72,500 miles
Use `points-valuations.json` to assess what each currency is "worth":
opportunity_cost = effective_cost × point_value_cpp / 100
This tells you the "cash equivalent" you're giving up. Lower is better.
**Always use markdown tables.**
| Program | Miles Needed | Best Currency | Points Needed | CPP Value | Cash Equivalent | |---------|-------------|---------------|---------------|-----------|-----------------| | Aeroplan | 55,000 | Chase UR | 55,000 | 1.7¢ | $935 | | United | 55,000 | Chase UR | 55,000 | 1.7¢ | $935 | | Alaska | 37,500 | Bilt | 37,500 | 1.7¢ | $638 | | Flying Blue | 57,000 | Any 1:1 | 57,000 | 1.7¢ | $969 |
After the table:
jq -r '
to_entries | .[] | select(.key != "_meta") |
.key as $currency | .value.display_name as $name |
(.value.airlines // {}) + (.value.hotels // {}) |
to_entries[] | select(.key == "PROGRAM_KEY") |
"\($name): \(.value.ratio):1 → \(.value.program)"
' data/transfer-partners.jsonReplace `PROGRAM_KEY` with the key (e.g., `united`, `aeroplan`, `flying_blue`).
# Given: 55000 miles via aeroplan PROGRAM="aeroplan" MILES=55000 jq -r --arg prog "$PROGRAM" --argjson miles $MILES ' to_entries | .[] | select(.key != "_meta") | .key as $currency | .value.display_na
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.
Airline alliance membership (Star Alliance, oneworld, SkyTeam) and cross-alliance booking relationships. Maps which loyalty…
Check American Airlines AAdvantage balance, elite status, and loyalty points via Patchright. Handles email 2FA with 6-box code…
Search Amex travel portal for cash prices, MR points pricing, IAP discounts, and FHR/THC hotel benefits via Patchright. Use when…
Search Atlas Obscura for weird, wonderful, and hidden gem places near any destination. Find the interesting stuff, not boring…
Find the cheapest award dates for a route over a date range. Searches seats.aero across all programs, groups by date, and shows a…
Per-program rules for placing award flights on hold before transferring points. Covers programs with holds (AA, Lufthansa, Flying…