Agent skill

Award Calendar

by borski in borski/travel-hacking-toolkit

Find the cheapest award dates for a route over a date range.

MITAuto-check passed

Install Award Calendar

skills CLI
$ npx skills add borski/travel-hacking-toolkit --skill award-calendar -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install borski/travel-hacking-toolkit award-calendar --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ 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/award-calendar .claude/skills/award-calendar && rm -rf skills-src

Use ~/.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/

Facts

Skill name
award-calendar
GitHub stars
688
Token cost
~1.4k tokens
SKILL.md length
615 words
Files
1
Skills in repo
46
Repo updated
First seen
Licence
MIT

At a glance

Find the cheapest award dates for a route over a date range.

  • Works in 5 steps: Search the Date Range → Group by Date → Apply Transfer Partner Optimization → …
  • Dates are flexible and you want to find the sweet spot
  • SKILL.md covers When to Use, When NOT to Use, Workflow and Error Handling, plus 1 more section
  • Calls curl; reaches seats.aero; needs SEATS_AERO_API_KEY

What it does

Award Calendar is an agent skill from borski/travel-hacking-toolkit. 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.

Its SKILL.md is about 1.4k 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.

When your agent uses it

  • Dates are flexible and you want to find the sweet spot

Example prompts

  • “/award-calendar”

Requirements

  • A credential in SEATS_AERO_API_KEY

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Search the Date Range
  2. Group by Date
  3. Apply Transfer Partner Optimization
  4. Present Calendar Grid
  5. Additional Context

What it can do on your machine

Read from SKILL.md and the folder at commit db82131. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • curl

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • seats.aero

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • SEATS_AERO_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Award Calendar loads about 1.4k tokens when it runs. Until then it costs about 61 tokens; SKILL.md has 615 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~61
When it runs · the whole SKILL.md, loaded when a task matches
~1.4k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from borski/travel-hacking-toolkit at commit db82131, republished under its MIT licence (© borski). 615 words, ~1,436 tokens.

Download SKILL.mdSave it as .claude/skills/award-calendar/SKILL.md (or your agent's skills folder).
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

Award Calendar

"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.

When to Use

  • "When's the cheapest time to fly SFO to NRT in business on points?"
  • "Show me award availability for SFO-CDG in September"
  • "I'm flexible on dates. When should I fly?"
  • Any award search where dates are flexible

When NOT to Use

  • Specific date search (use seats-aero directly)
  • Cash price calendar (use Google Flights "Date grid" or Skiplagged)
  • Hotel date flexibility (not supported here)

Workflow

Step 1: Search the Date Range

Use the seats.aero cached search API with a date range. The API supports up to ~60 days per query.

bash
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:

  • origin_airport: Can be comma-delimited for nearby airports (e.g., SFO,SJC,OAK)
  • destination_airport: Same. Use multiple for metro areas (e.g., NRT,HND for Tokyo)
  • start_date, end_date: YYYY-MM-DD. Keep range under 60 days for best results.
  • cabin: Optional filter. economy, premium, business, first. Omit for all cabins.
  • order_by: Use lowest_mileage to get cheapest first.
  • take: Set to 1000 to get all results in one page.

For ranges over 60 days, split into two queries and combine results.

Step 2: Group by Date

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 programs
Step 3: Apply Transfer Partner Optimization

For 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
Step 4: Present Calendar Grid

Always use markdown tables. One table per cabin class requested.

Business Class: SFO → NRT, September 2026
DateProgramMilesBest CurrencyPointsCPP*SeatsDirect
Sep 3 ⭐Virgin Atlantic52,500Chase UR52,5008.02✅ ANA
Sep 5Flying Blue55,000Any 1:155,0007.64✅ AF
Sep 7Aeroplan70,000Chase UR70,0006.01✅ ANA
Sep 8United88,000Chase UR88,0004.83✅ UA
Sep 10——————❌ No availability
Sep 12Aeroplan75,000Amex MR75,0005.62❌ 1-stop
........................

*CPP calculated against cheapest cash fare from Duffel/Ignav if available, otherwise estimated.

⭐ = Best deal of the month

Summary:

  • Best date: Sep 3 via Virgin Atlantic → ANA at 52,500 miles (8.0 cpp)
  • Runner-up: Sep 5 via Flying Blue at 55,000 miles
  • Worst week: Sep 10-14 (no business availability most days)
  • Cheapest economy: Sep 12 at 25,000 United miles
Show full SKILL.md (220 more words)Show less
Step 5: Additional Context

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).

Error Handling

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)

Limitations

  • Cached data only. Results may be 1-48 hours old. Live search (via seats-aero-web) is more current but Bobby-local only.
  • 60-day query limit. Split longer ranges into multiple queries.
  • No round-trip optimization. Shows one-way availability. For round-trip, run two calendar searches (outbound and return).
  • No cash price calendar. This is award-only. For cash date flexibility, use Google Flights "Date grid" view.
  • Phantom availability. Some results may not actually be bookable. Always verify.

© borski, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in plugins/travel-hacking-toolkit/skills/award-calendar of borski/travel-hacking-toolkit.

Open the folder on GitHubat commit db82131

Compare with similar skills

Award Calendar 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.

Award Calendar compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Award Calendar this skillborski/travel-hacking-toolkit688—~1.4kAutomated safety check: PassMIT
Date Range Analyzerjeremylongshore/tons-of-skills-marketplace2.8k—~564Automated safety check: PassMIT
Google Calendarcodewhale-hq/Codewhale41k—~512Automated safety check: PassMIT
OmniRoute Routing CLIdiegosouzapw/OmniRoute75k—~342Automated safety check: PassMIT
OmniRoute Combo Routingdiegosouzapw/OmniRoute75k—~2.1kAutomated safety check: PassMIT
Team Calendarsickn33/agentic-awesome-skills47k1 repos~3.3kAutomated safety check: PassMIT

Similar skills

  • Date Range Analyzer

    jeremylongshore/tons-of-skills-marketplace

    Analyze date range analyzer operations. An agent skill from jeremylongshore/tons-of-skills-marketplace.

    2.8k GitHub stars~564 tokensUpdated yesterday
    Data & AnalyticsAuto-check passed
  • Google Calendar

    codewhale-hq/Codewhale

    Reads schedules, checks free and busy time, and creates or updates Google Calendar events through the Calendar API, with care around invites and recurring series.

    41k GitHub stars~512 tokensUpdated today
    Productivity & AutomationAuto-check passed
  • OmniRoute Routing CLI

    diegosouzapw/OmniRoute

    Creates, switches, and inspects OmniRoute model-routing combos, plus a suggestion command with cost and latency constraints.

    75k GitHub stars~342 tokensUpdated today
    AI & LLM EngineeringAuto-check passed
  • OmniRoute Combo Routing

    diegosouzapw/OmniRoute

    Manages OmniRoute routing combos through its REST API: create and update combos, choose from 19 strategies, set fallback chains, test outcomes and read metrics.

    75k GitHub stars~2.1k tokensUpdated today
    Backend & APIsAuto-check passed
  • Team Calendar

    sickn33/agentic-awesome-skills

    Team calendar: event, type, date and time with time zone, attendees, organizer, location and source module.

    47k GitHub starsUsed in 1 repo~3.3k tokens
    Productivity & AutomationAuto-check passed
  • Intelligence Route

    ruvnet/ruflo

    Route tasks via the 3-tier model selector and learned patterns; emits a routing rationale via hooksexplain

    74k GitHub stars~874 tokensUpdated yesterday
    DevelopmentAuto-check: notes

More from borski/travel-hacking-toolkit

All 46 skills in this repo
  • Amex Travel

    borski/travel-hacking-toolkit

    Search Amex travel portal for cash prices, MR points pricing, IAP discounts, and FHR/THC hotel benefits via Patchright.

    688 GitHub stars~3.1k tokensUpdated 6 days ago
    Auto-check passed
  • Chase Travel

    borski/travel-hacking-toolkit

    Search Chase UR travel portal via Patchright for cash prices, points pricing, Points Boost offers, and Chase Edit hotel benefits.

    688 GitHub stars~2.8k tokensUpdated 6 days ago
    Auto-check passed
  • Deutsche Bahn

    borski/travel-hacking-toolkit

    Deutsche Bahn train schedules, journey planning, and departures across Germany and into neighboring countries (Austria, Switzerland, Netherlands, France, Belgium).

    688 GitHub stars~1.5k tokensUpdated 6 days ago
    Auto-check passed
  • Sutochno

    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).

    688 GitHub stars~2.1k tokensUpdated 6 days ago
    Auto-check passed
  • Ticketsatwork

    borski/travel-hacking-toolkit

    Search TicketsAtWork (EBG corporate perks) for hotels, theme park tickets, attractions, and rental cars via Patchright.

    688 GitHub stars~4.2k tokensUpdated 6 days ago
    Auto-check passed
  • Vrbo

    borski/travel-hacking-toolkit

    Search VRBO (Vrbo / Expedia Group) vacation rentals including entire homes, condos, and cabins via Patchright browser automation.

    688 GitHub stars~1.7k tokensUpdated 6 days ago
    Auto-check passed

Questions about Award Calendar

What does Award Calendar do?

Find the cheapest award dates for a route over a date range. Award Calendar is an agent skill from borski/travel-hacking-toolkit. Find the cheapest award dates for a route over a date range.

When should I use Award Calendar?

Award Calendar fits situations like: dates are flexible and you want to find the sweet spot.

How do I install Award Calendar in Claude Code?

Run `npx skills add borski/travel-hacking-toolkit --skill award-calendar -a claude-code`. Or copy the skill folder (plugins/travel-hacking-toolkit/skills/award-calendar in borski/travel-hacking-toolkit) into .claude/skills/award-calendar in your project. Claude Code loads it when a task matches its description.

How do I install Award Calendar in Codex?

Run `npx skills add borski/travel-hacking-toolkit --skill award-calendar -a codex`. Or copy the skill folder (plugins/travel-hacking-toolkit/skills/award-calendar in borski/travel-hacking-toolkit) into .agents/skills/award-calendar in your project. Codex loads it when a task matches its description.

Can I use Award Calendar in Cursor, Gemini CLI or GitHub Copilot?

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 award-calendar -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/award-calendar, .gemini/skills/award-calendar, .github/skills/award-calendar and .opencode/skills/award-calendar in your project.

What does Award Calendar need to run?

Going by SKILL.md and its folder, Award Calendar needs the command-line tools its instructions call (curl) and credentials named SEATS_AERO_API_KEY. Our summary lists: A credential in SEATS_AERO_API_KEY.

Does Award Calendar access the network?

SKILL.md names 1 domain. In commands or code: seats.aero; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Award Calendar safe to install?

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.

What licence does Award Calendar use?

Award Calendar is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Award Calendar use?

About 1.4k tokens (SKILL.md is roughly 5.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Award Calendar?

Skills that share tags, products or a category with Award Calendar: Date Range Analyzer (jeremylongshore/tons-of-skills-marketplace, 2.8k stars), Google Calendar (codewhale-hq/Codewhale, 41k stars), OmniRoute Routing CLI (diegosouzapw/OmniRoute, 75k stars) and OmniRoute Combo Routing (diegosouzapw/OmniRoute, 75k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Award Calendar?

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.