# Partner Awards

Loyalty program airline ticketing partnerships (alliance + bilateral).

- Repository: https://github.com/borski/travel-hacking-toolkit (839 stars)
- Category: Engineering
- License: MIT
- Last updated: 2026-10-26
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add borski/travel-hacking-toolkit --skill partner-awards -g -a claude-code -y`
Codex: `npx skills add borski/travel-hacking-toolkit --skill partner-awards -g -a codex -y`
Cursor: `npx skills add borski/travel-hacking-toolkit --skill partner-awards -g -a cursor -y`
Gemini CLI: `npx skills add borski/travel-hacking-toolkit --skill partner-awards -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add borski/travel-hacking-toolkit`

## Description

Loyalty program airline ticketing partnerships (alliance + bilateral). Cross-references credit card currencies to booking programs for award reachability checks.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Partner Awards

**Reference data:** `data/partner-awards.json`

When recommending award bookings, check this file to verify:
1. The booking program can actually ticket the airline you're recommending
2. Whether the partnership is alliance-based or bilateral
3. Cross-alliance highlights (VA→ANA, Etihad→AA, Alaska→Starlux, etc.)
4. Which credit card currencies can reach the booking program

## Cross-Alliance Bookings Are Where the Real Value Hides

The best redemptions often involve booking an airline through a program in a DIFFERENT alliance (or no alliance at all). Always check the `cross_alliance_highlights` section.

## Verification Is Mandatory, Not Optional

When recommending a transfer, ALWAYS verify the transfer path exists in `data/transfer-partners.json` BEFORE committing to the recommendation. If a user or your own reasoning suggests a transfer path not in the file, verify it before agreeing. The file may be stale, or the path may not exist.

This is a hard gate, not a soft check. Never accept a transfer path at face value.

## Reachability Workflow

When checking if a user can actually book an award flight:

1. **Identify the operating airline.** Star Alliance? oneworld? SkyTeam? Independent?
2. **List all programs that can ticket it.** Alliance partners + bilateral partners from `partner-awards.json`.
3. **For each program, check direct balance.** AwardWallet shows what the user has now.
4. **For each program with insufficient balance, check transfer paths.** `data/transfer-partners.json` lists every credit card currency → airline program path with the ratio.
5. **Effective balance = direct balance + max transferable in.** A user with 16K United miles but 145K Chase UR has 161K effective United miles (UR transfers 1:1 to United).
6. **Drop programs that are unreachable.** Only compare cpp on options the user can actually book.

## Common Failure Modes

The rest: https://github.com/borski/travel-hacking-toolkit/blob/HEAD/plugins/travel-hacking-toolkit/skills/partner-awards/SKILL.md
