alliances
Airline alliance membership (Star Alliance, oneworld, SkyTeam) and cross-alliance booking relationships. Maps which loyalty…
Find the cheapest award dates for a route over a date range. Searches seats.aero across all programs, groups by date, and shows a calendar grid of the best deals. Use when dates are flexible and you want to find the sweet spot.
$ npx -y skills add borski/travel-hacking-toolkit --skill award-calendar --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/award-calendarContext preview
The summary Claude sees to decide when to auto-load this skill.
Find the cheapest award dates for a route over a date range. Searches seats.aero across all programs, groups by date, and shows a calendar grid of the best deals. Use when dates are flexible and you want to find the sweet spot.
name: award-calendar description: Find the cheapest award dates for a route over a date range. Searches seats.aero across all programs, groups by date, and shows a calendar grid of the best deals. Use when dates are flexible and you want to find the sweet spot. category: orchestration summary: Cheapest award dates for a route across a date range. Calendar grid view. api_key: Seats.aero Pro
"When should I fly SFO to NRT on points?" answered with a calendar view.
Searches seats.aero across a date range and presents a grid showing the cheapest award per day, per cabin. Highlights the best dates to fly.
**This is an orchestration skill.** It tells the agent how to query seats.aero and format the results. No standalone script.
Use the seats.aero cached search API with a date range. The API supports up to ~60 days per query.
curl -s -H "Partner-Authorization: $SEATS_AERO_API_KEY" \
"https://seats.aero/partnerapi/search?origin_airport={ORIGIN}&destination_airport={DEST}&start_date={START}&end_date={END}&cabin={CABIN}"**Parameters:**
For ranges over 60 days, split into two queries and combine results.
Process the API response:
For each availability object:
date = result.Date
cabin = which cabin(s) are available (Y/W/J/F)
For each available cabin:
cost = result.{cabin}MileageCost
program = result.Source
Track: cheapest cost per date per cabin across all programsFor each cheapest-per-date result, calculate the effective cost in transferable currencies using `data/transfer-partners.json`:
For date 2026-09-05, cheapest business = 55,000 via Flying Blue: Chase UR: 55,000 / 1.0 = 55,000 UR Amex MR: 55,000 / 1.0 = 55,000 MR Bilt: 55,000 / 1.0 = 55,000 Bilt
**Always use markdown tables.** One table per cabin class requested.
| Date | Program | Miles | Best Currency | Points | CPP* | Seats | Direct | |------|---------|-------|---------------|--------|------|-------|--------| | **Sep 3** ⭐ | Virgin Atlantic | 52,500 | Chase UR | 52,500 | 8.0 | 2 | ✅ ANA | | Sep 5 | Flying Blue | 55,000 | Any 1:1 | 55,000 | 7.6 | 4 | ✅ AF | | Sep 7 | Aeroplan | 70,000 | Chase UR | 70,000 | 6.0 | 1 | ✅ ANA | | Sep 8 | United | 88,000 | Chase UR | 88,000 | 4.8 | 3 | ✅ UA | | Sep 10 | — | — | — | — | — | — | ❌ No availability | | Sep 12 | Aeroplan | 75,000 | Amex MR | 75,000 | 5.6 | 2 | ❌ 1-stop | | ... | ... | ... | ... | ... | ... | ... | ... |
*CPP calculated against cheapest cash fare from Duffel/Ignav if available, otherwise estimated.
⭐ = Best deal of the month
**Summary:**
After the grid, include:
1. **Freshness warning:** "Data from seats.aero cached search. Last seen times vary. Verify before transferring points." 2. **Transfer advice:** "Don't transfer until you've confirmed the specific flight exists on the airline's website." 3. **Cash comparison:** If a cash price was fetched (from Duffel/Ignav), show the CPP for context. 4. **Booking links:** For the top 3 dates, mention how to book (e.g., "Book via Virgin Atlantic website, call to hold"). 5. **Release date note:** If searching far out, mention which airlines may not have released space yet (use seats.aero release date tool).
**NEVER fail silently.**
- ❌ Seats.aero: API error (rate limit). Try again in a few minutes. - ⚠️ Seats.aero: Only 12 results for 30-day range. Some dates may have uncached availability. Try live search for specific dates of interest. - ℹ️ No business availability found for any date. Showing economy and premium economy instead.
If zero results come back for the entire range, say so explicitly and suggest: 1. Widening the airport search (add nearby airports) 2. Checking a different month 3. Looking at different cabins 4. Using the seats.aero live search for specific dates (local Patchright only)
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…
Per-program rules for placing award flights on hold before transferring points. Covers programs with holds (AA, Lufthansa, Flying…
Catalog of high-value award redemptions where points dramatically outvalue cash. Tiered by legendary/excellent/good with current…