Flights
asgeirtj/system_prompts_leaks
Research, book, or manage flights, including check-in. An agent skill from asgeirtj/system_prompts_leaks.
Unified flight comparison across cash (Duffel, Ignav), award (seats.aero), and portal (Chase, Amex) sources in parallel.
$ npx skills add borski/travel-hacking-toolkit --skill compare-flights -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install borski/travel-hacking-toolkit compare-flights --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-flights .claude/skills/compare-flights && rm -rf skills-srcUse ~/.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/
Install the "compare-flights" agent skill from https://github.com/borski/travel-hacking-toolkit/tree/main/plugins/travel-hacking-toolkit/skills/compare-flights into .claude/skills/compare-flights/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "compare-flights", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/borski/travel-hacking-toolkit/tree/main/plugins/travel-hacking-toolkit/skills/compare-flightsType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add borski/travel-hacking-toolkit --skill compare-flights -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install borski/travel-hacking-toolkit compare-flights --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/borski/travel-hacking-toolkit.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/travel-hacking-toolkit/skills/compare-flights .agents/skills/compare-flights && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "compare-flights" agent skill from https://github.com/borski/travel-hacking-toolkit/tree/main/plugins/travel-hacking-toolkit/skills/compare-flights into .agents/skills/compare-flights/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "compare-flights", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add borski/travel-hacking-toolkit --skill compare-flights -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install borski/travel-hacking-toolkit compare-flights --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/borski/travel-hacking-toolkit.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/travel-hacking-toolkit/skills/compare-flights .cursor/skills/compare-flights && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "compare-flights" agent skill from https://github.com/borski/travel-hacking-toolkit/tree/main/plugins/travel-hacking-toolkit/skills/compare-flights into .cursor/skills/compare-flights/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "compare-flights", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/borski/travel-hacking-toolkit.git --path plugins/travel-hacking-toolkit/skills/compare-flights--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add borski/travel-hacking-toolkit --skill compare-flights -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install borski/travel-hacking-toolkit compare-flights --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/borski/travel-hacking-toolkit.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/travel-hacking-toolkit/skills/compare-flights .gemini/skills/compare-flights && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "compare-flights" agent skill from https://github.com/borski/travel-hacking-toolkit/tree/main/plugins/travel-hacking-toolkit/skills/compare-flights into .gemini/skills/compare-flights/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "compare-flights", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install borski/travel-hacking-toolkit compare-flightsInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add borski/travel-hacking-toolkit --skill compare-flights -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/borski/travel-hacking-toolkit.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/travel-hacking-toolkit/skills/compare-flights .github/skills/compare-flights && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "compare-flights" agent skill from https://github.com/borski/travel-hacking-toolkit/tree/main/plugins/travel-hacking-toolkit/skills/compare-flights into .github/skills/compare-flights/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "compare-flights", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add borski/travel-hacking-toolkit --skill compare-flights -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install borski/travel-hacking-toolkit compare-flights --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/borski/travel-hacking-toolkit.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/travel-hacking-toolkit/skills/compare-flights .opencode/skills/compare-flights && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "compare-flights" agent skill from https://github.com/borski/travel-hacking-toolkit/tree/main/plugins/travel-hacking-toolkit/skills/compare-flights into .opencode/skills/compare-flights/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "compare-flights", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
compare-flightsUnified flight comparison across cash (Duffel, Ignav), award (seats.aero), and portal (Chase, Amex) sources in parallel.
Compare Flights is an agent skill from borski/travel-hacking-toolkit. Unified flight comparison across cash (Duffel, Ignav), award (seats.aero), and portal (Chase, Amex) sources in parallel. Outputs one table with transfer partner optimization and recommendations.
Its SKILL.md is about 3k 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.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit db82131. It shows what the files ask for, not the result of running them.
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.
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.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Compare Flights loads about 3k tokens when it runs. Until then it costs about 53 tokens; SKILL.md has 1,397 words of instructions outside code blocks.
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.
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.
The full file from borski/travel-hacking-toolkit at commit db82131, republished under its MIT licence (© borski). 1,397 words, ~2,979 tokens.
.claude/skills/compare-flights/SKILL.md (or your agent's skills folder).Search every available source for a route and present one unified comparison. Combines cash pricing, award availability, portal pay-with-points, and transfer partner optimization into a single table.
This is an orchestration skill. It tells the agent which tools to run and how to combine results. No standalone script.
Companion reference skills. Load these for deeper context:
flight-search-strategy — full source priority, market selection, source accuracy hierarchypoints-valuations — CPP rules, floor/ceiling, surcharge programs, transfer bonusespartner-awards — alliance + bilateral partnership reachabilitylessons-learned — Seats.aero workflow, Southwest specifics, Companion Pass mathfallback-and-resilience — what to do when a source failstransfer-bonuses — current active transfer bonuses (live data); changes effective ratios when computing options 4-7 of the comparison tablestopovers — when an itinerary has a long layover or multi-city, check if a stopover-allowing program priced lower than separate one-waysround-the-world — for 3+ stop multi-region itineraries, RTW products may beat sum-of-parts award pricingaward-holds — many major Western programs (UA, Aeroplan, AS, DL, BA, ANA, Qatar, Korean) no longer offer holds. Some still do: AA (24h online), Lufthansa M&M (5 days), Flying Blue (3 days, $25 phone fee), Cathay (2 days, $39 fee), Turkish (2 days), Virgin Atlantic (1-2 days, free phone), Singapore (agent discretionary). Affects whether the recommended path is "transfer first then ticket" or "ticket immediately"status-match — when comparing options that include upgrades or elite-only benefits (lounge access, free bags, priority); status changes the real cost of a flightRun these in parallel where possible. Never fail silently. If a source errors, report it in the output so the user knows what's missing.
| Source | Skill | Speed | Notes |
|---|---|---|---|
| Duffel | duffel | ~3s | Primary. Real GDS fares with fare classes. No Southwest. |
| Ignav | ignav | ~2s | Fast REST API. Good for price comparison. Booking links. |
| Google Flights | google-flights | ~10s | Browser-automated. All airlines including Southwest cash. Good cross-check. |
| Skiplagged | web search | ~5s | Hidden city ticketing. Often finds significantly cheaper fares. Search skiplagged.com/flights/{origin}/{dest}/{date}. |
| Kiwi.com | web search | ~5s | Creative routings, self-transfer combos, multi-city. Search kiwi.com. |
| Southwest | southwest | ~20s | Patchright, Docker only. Points + cash for all 4 fare classes. Only needed when SW flies the route. |
Skiplagged and Kiwi: Use web search (tavily or exa) to find their prices. They don't have MCP skills but their URLs are predictable. Always note that Skiplagged fares have restrictions (can't check bags, must use the "missed" connection city as destination).
Southwest: Run the southwest skill if SW flies the route. Include SW Rapid Rewards points in the comparison table as a separate currency. The lessons-learned skill has the full details on SW specifics (fare class requirements, Companion Pass math, GDS gap).
SerpAPI is optional. Only use if the user asks for Google Hotels or destination discovery.
| Source | Skill | Speed | Notes |
|---|---|---|---|
| Seats.aero | seats-aero | ~5s | Cached award availability across 25+ programs. Primary award source. |
| Source | Skill | Speed | Notes |
|---|---|---|---|
| Chase UR | chase-travel | ~45s | Dynamic Points Boost pricing (~1.5-2.0 cpp on select bookings, not a guaranteed floor). |
| Amex MR | amex-travel | ~45s | IAP discount detection on Platinum. |
Portal searches are slower (require browser login). Run them in parallel with each other, but don't block on them. Start cash + award searches first, present those results, then append portal results when ready.
Only run portal searches if the user has the relevant card or asks for portal pricing. Don't run Chase if they don't have a Sapphire card.
Run searches in parallel. Track which sources succeeded and which failed.
PARALLEL GROUP 1 (fast, ~3-5s):
- Duffel: cash prices with fare classes
- Ignav: cash prices with booking links
- Seats.aero: award availability by program
- Skiplagged: hidden city fares (web search)
- Kiwi.com: creative routings (web search)
PARALLEL GROUP 2 (browser-automated, ~10-45s, Docker):
- Google Flights: all airlines including Southwest cash
- Southwest: points + cash for all fare classes (if SW flies the route)
- Chase Travel: UR portal pricing + Points Boost
- Amex Travel: MR portal pricing + IAP discountsFor each source, capture:
For every seats.aero award result, calculate the effective cost in each transferable currency using data/transfer-partners.json:
For each award (e.g., United business at 88,000 miles):
1. Look up which currencies transfer to United: Chase UR (1:1), Bilt (1:1)
2. Calculate effective cost: 88,000 / 1.0 = 88,000 UR or 88,000 Bilt
3. Calculate opportunity cost using data/points-valuations.json:
88,000 UR × 1.7cpp floor = $1,496 equivalentInclude ALL viable transfer paths, not just the cheapest. The user may have more points in one currency than another.
Chase portal uses dynamic Points Boost pricing on CSR/CSP. The historical static 1.5x multiplier is gone. Each booking now quotes a specific points price; the effective cpp typically falls in the 1.5-2.0 cpp range on CSR but is not a guaranteed floor on every booking. Always pull the actual portal quote rather than computing from a multiplier.
Worked example with a Points Boost quote (verify the actual price):
Portal quote: 269,841 points for a $5,397 flight
True CPP: $5,397 / 269,841 = 2.0 cpp (excellent)For lower-boost or non-boost bookings, the same flight might quote at 1.5 cpp or worse. Always use the real quote in the comparison.
Amex portal is ~1 cpp for flights (1 MR = 1 cent). IAP fares are discounted cash prices:
Standard: $5,044 = 504,400 MR points
IAP: $4,381 = 438,100 MR points (saves 66,300 MR)Always use markdown tables. One table with all options sorted by effective cost.
| # | Option | Source | Price | Points | Currency | CPP | Rating |
|---|---|---|---|---|---|---|---|
| 1 | Cash (lowest) | Duffel | $4,200 | — | — | — | — |
| 2 | Flying Blue via Chase UR | seats.aero | $120 tax | 55,000 | Chase UR | 7.4 | Excellent |
| 3 | Aeroplan via Chase UR | seats.aero | $200 tax | 70,000 | Chase UR | 5.7 | Excellent |
| 4 | Chase Portal (Boost offer) | chase-travel | $5,400 portal | 180,000 | Chase UR | 3.0 | Excellent (when offered) |
| 5 | Chase Portal (no Boost) | chase-travel | $5,400 portal | 360,000 | Chase UR | varies (~1.5 typical) | Pull live quote |
| 6 | Amex Portal (IAP) | amex-travel | $5,044 portal | 438,100 | Amex MR | 1.15 | Poor |
| 7 | Amex Portal (standard) | amex-travel | $5,044 portal | 504,400 | Amex MR | 1.0 | Poor |
Note: CPP for portal rows uses the portal's own quote ($5,400 / $5,044) as the anchor since that's the actual cash price the portal would charge. Award rows use the Duffel market price ($4,200) as the anchor since that's the cash equivalent the user is foregoing by burning miles. The two anchors differ because portals add a markup, so portal-CPP and award-CPP aren't directly comparable. Better comparison: total cash out-of-pocket (taxes + cash component) per option.
| # | Option | Source | Price | Points | Currency | CPP | Rating |
|---|---|---|---|---|---|---|---|
| 1 | SW Wanna Get Away | southwest | $79 | 5,200 | SW RR | 1.52 | Good |
| 2 | Cash (lowest) | Duffel | $89 | — | — | — | — |
| 3 | SW WGA+ | southwest | $119 | 8,400 | SW RR | 1.42 | Fair |
| 4 | United via Chase UR | seats.aero | $5.60 tax | 5,000 | Chase UR | 1.67 | Good |
| 5 | Chase Portal | chase-travel | — | 8,900 | Chase UR | varies (~1.5 typical) | Pull live quote |
| 6 | SW Anytime | southwest | $219 | 16,800 | SW RR | 1.30 | Fair |
Note: SW points values shown use direct redemption CPP. If the user has Companion Pass, effective CPP doubles (two tickets for the points price of one).
Sources checked:
After the table, always provide:
NEVER fail silently. Every source must report its status.
If a source fails:
- ❌ Duffel: API error (rate limit exceeded). Cash prices from Ignav only.
- ❌ Chase Travel: Login failed (2FA timeout). No portal pricing available.If ALL cash sources fail, say so explicitly. Don't present award-only results without noting the missing cash comparison.
If seats.aero returns no availability, say "No award availability found" instead of silently omitting the award section.
| File | Purpose |
|---|---|
data/transfer-partners.json | Credit card → loyalty program transfer ratios |
data/points-valuations.json | CPP floor/ceiling for calculating opportunity cost |
data/partner-awards.json | Cross-alliance booking options (VA→ANA, EY→AA, etc.) |
transfer-partners.json. Verify against issuer before large transfers.© borski, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in plugins/travel-hacking-toolkit/skills/compare-flights of borski/travel-hacking-toolkit.
Open the folder on GitHubat commit db82131
Compare Flights 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Compare Flights this skillborski/travel-hacking-toolkit | 688 | — | ~3k | Automated safety check: Pass | MIT | |
| Flightsasgeirtj/system_prompts_leaks | 69k | — | ~2.1k | Automated safety check: Pass | CC0-1.0 | |
| Flightscodewhale-hq/Codewhale | 41k | — | ~258 | Automated safety check: Pass | MIT | |
| Petty Cash Managementsickn33/agentic-awesome-skills | 47k | 1 repos | ~5.7k | Automated safety check: Pass | MIT | |
| Unified Memoryaffaan-m/ECC | 276k | 1 repos | ~2k | Automated safety check: Pass | MIT | |
| Schema Unifygarrytan/gbrain | 31k | — | ~3.4k | Automated safety check: Pass | MIT |
asgeirtj/system_prompts_leaks
Research, book, or manage flights, including check-in. An agent skill from asgeirtj/system_prompts_leaks.
codewhale-hq/Codewhale
Track flights and look up status and schedules. An agent skill from codewhale-hq/Codewhale.
sickn33/agentic-awesome-skills
Petty cash register: entry number, date and type, payee and purpose, cash in and out, running balance, cash limit flag, custodian, physical count and variance.
affaan-m/ECC
Share durable, inspectable context and handoffs between Claude, Codex, Hermes, Cursor, OpenCode, and other agents through the local ECC Memory Vault.
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.
ruvnet/ruflo
Side-by-side comparison of ruflo vs HAL vs other GAIA harnesses — capability gaps, design decisions, and improvement roadmap
borski/travel-hacking-toolkit
Search Amex travel portal for cash prices, MR points pricing, IAP discounts, and FHR/THC hotel benefits via Patchright.
borski/travel-hacking-toolkit
Search Chase UR travel portal via Patchright for cash prices, points pricing, Points Boost offers, and Chase Edit hotel benefits.
borski/travel-hacking-toolkit
Deutsche Bahn train schedules, journey planning, and departures across Germany and into neighboring countries (Austria, Switzerland, Netherlands, France, Belgium).
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).
borski/travel-hacking-toolkit
Search TicketsAtWork (EBG corporate perks) for hotels, theme park tickets, attractions, and rental cars via Patchright.
borski/travel-hacking-toolkit
Search VRBO (Vrbo / Expedia Group) vacation rentals including entire homes, condos, and cabins via Patchright browser automation.
Unified flight comparison across cash (Duffel, Ignav), award (seats.aero), and portal (Chase, Amex) sources in parallel. Compare Flights is an agent skill from borski/travel-hacking-toolkit.aero), and portal (Chase, Amex) sources in parallel.
Run `npx skills add borski/travel-hacking-toolkit --skill compare-flights -a claude-code`. Or copy the skill folder (plugins/travel-hacking-toolkit/skills/compare-flights in borski/travel-hacking-toolkit) into .claude/skills/compare-flights in your project. Claude Code loads it when a task matches its description.
Run `npx skills add borski/travel-hacking-toolkit --skill compare-flights -a codex`. Or copy the skill folder (plugins/travel-hacking-toolkit/skills/compare-flights in borski/travel-hacking-toolkit) into .agents/skills/compare-flights in your project. Codex loads it when a task matches its description.
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-flights -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-flights, .gemini/skills/compare-flights, .github/skills/compare-flights and .opencode/skills/compare-flights in your project.
SKILL.md names no scripts, command-line tools or credentials: Compare Flights is instructions for the agent only. Our summary lists: Docker.
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.
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.
Compare Flights is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Compare Flights: Flights (asgeirtj/system_prompts_leaks, 69k stars), Flights (codewhale-hq/Codewhale, 41k stars), Petty Cash Management (sickn33/agentic-awesome-skills, 47k stars) and Unified Memory (affaan-m/ECC, 276k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
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.