Agent skill

Trip Calculator

by borski in borski/travel-hacking-toolkit

Cash vs points trip cost comparison. An agent skill from borski/travel-hacking-toolkit.

MITAuto-check passedBusiness, Finance & HR

Install Trip Calculator

skills CLI
$ npx skills add borski/travel-hacking-toolkit --skill trip-calculator -a claude-code

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

GitHub CLI
$ gh skill install borski/travel-hacking-toolkit trip-calculator --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/trip-calculator .claude/skills/trip-calculator && 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
trip-calculator
GitHub stars
688
Token cost
~2.4k tokens
SKILL.md length
999 words
Files
1
Skills in repo
46
Repo updated
First seen
Licence
MIT

At a glance

Cash vs points trip cost comparison. An agent skill from borski/travel-hacking-toolkit.

  • Works in 6 steps: Gather Prices → Calculate CPP for Each Award Option → Factor in Transfer Ratios → …
  • Business, Finance & HR work in your project
  • SKILL.md covers Data Files, When to Use, Core Concepts and Workflow, plus 5 more sections
  • Calls jq

What it does

Trip Calculator is an agent skill from borski/travel-hacking-toolkit. Cash vs points trip cost comparison. Factors in transfer ratios, taxes, fees, CPP valuations, and opportunity cost to recommend the best redemption strategy for flights and hotels.

Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Business, Finance & HR. It works with C++. 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

  • Business, Finance & HR work in your project

Example prompts

  • “/trip-calculator”

Workflow steps

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

  1. Gather Prices
  2. Calculate CPP for Each Award Option
  3. Factor in Transfer Ratios
  4. Compare Against Valuations
  5. Present Comparison
  6. Round-Trip and Multi-Segment

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:

    • jq

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

  • Network

    No URLs in SKILL.md.

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

  • Credentials

    Names no API keys, tokens, secrets or passwords.

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

Context cost

Trip Calculator loads about 2.4k tokens when it runs. Until then it costs about 49 tokens; SKILL.md has 999 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~49
When it runs · the whole SKILL.md, loaded when a task matches
~2.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). 999 words, ~2,444 tokens.

Download SKILL.mdSave it as .claude/skills/trip-calculator/SKILL.md (or your agent's skills folder).
name
trip-calculator
description
Cash vs points trip cost comparison. Factors in transfer ratios, taxes, fees, CPP valuations, and opportunity cost to recommend the best redemption strategy for flights and hotels.
category
orchestration
summary
Cash vs points decision answered with math. Transfer ratios, taxes, opportunity cost.
api_key
None (free, local data)

Trip Cost Calculator

"Should I pay cash or use points?" answered with math.

Compares the true cost of booking with cash versus each available points currency, accounting for transfer ratios, taxes/fees, and the opportunity cost of burning your points.

No API key needed. Uses local JSON data files plus flight/hotel search results.

Data Files

FilePurpose
data/points-valuations.jsonCPP valuations per program (floor/ceiling)
data/transfer-partners.jsonCredit card → loyalty program transfer ratios

When to Use

  • User has both cash prices (from Duffel/Ignav/Google Flights) and award prices (from seats.aero)
  • User asks "should I pay cash or use points?"
  • User wants to know the CPP of a specific redemption
  • User is deciding between multiple booking strategies for a trip

Core Concepts

Cents Per Point (CPP)

The value you're getting per point when redeeming:

cpp = (cash_price - taxes_on_award) / points_needed × 100

A CPP above the floor valuation from points-valuations.json means you're getting above-average value. Below floor = poor redemption.

Opportunity Cost

Points have value even when unspent. Burning 100K Chase UR at 1.7 cpp (floor) means you're "spending" $1,700 in future travel flexibility:

opportunity_cost = points_needed × floor_cpp / 100

If the cash price is lower than the opportunity cost, pay cash. If higher, use points.

The Decision Framework
IF cash_price < opportunity_cost → PAY CASH (points are worth more saved)
IF cash_price > opportunity_cost → USE POINTS (good redemption)
IF cash_price ≈ opportunity_cost → PAY CASH (preserve flexibility)

The tie goes to cash because points maintain optionality.

Workflow

Step 1: Gather Prices

Cash prices (use one or more sources):

Duffel API → exact bookable fares
Ignav API → fast comparison prices
Google Flights → browser-based, includes Southwest

Award prices (use seats.aero):

Seats.aero API → cached availability across 25+ programs
Seats.aero web → live search (local Patchright only)
Step 2: Calculate CPP for Each Award Option

For each award option with a corresponding cash price:

cpp = (cash_price_usd - award_taxes_usd) / award_miles × 100

Award taxes come from seats.aero trip details (TotalTaxes field, in cents) or estimate $5.60 per segment for domestic US, $50-$200 for international (varies wildly by carrier and routing).

Step 3: Factor in Transfer Ratios

If using transferable points (Chase UR, Amex MR, etc.), the effective points cost changes:

effective_points = award_miles / transfer_ratio
effective_cpp = (cash_price - award_taxes) / effective_points × 100

Example: Flying Blue award at 50,000 miles via Capital One (1:1):

  • Effective points: 50,000
  • Cash price: $1,200, taxes: $100
  • CPP: ($1,200 - $100) / 50,000 × 100 = 2.2 cpp

Contrast: a separate Emirates award at 72,500 Skywards miles via Capital One (4:3 ratio, the worst Cap One transfer rate):

  • Effective points needed: 72,500 / 0.75 = 96,667 Cap One miles
  • Same $1,200 cash equivalent: ($1,200 - $100) / 96,667 × 100 = 1.14 cpp. Worse than the Flying Blue path.

Important: pick the best currency for the destination program. Emirates Skywards has a 1:1 transfer from Bilt Rewards (no fee, instant). For the same Emirates redemption, 72,500 Bilt = 72,500 Skywards = ($1,200 - $100) / 72,500 × 100 = 1.52 cpp. Always check data/transfer-partners.json for every transferable currency the user holds before recommending a transfer — Bilt's 1:1 to Emirates beats Capital One's 4:3 by a wide margin. The skill enforces this in Step 0 (load transfer-partners first to enumerate every viable path).

Step 4: Compare Against Valuations

Load valuations from points-valuations.json:

bash
jq -r '.credit_card_points.chase_ultimate_rewards | "Chase UR: floor \(.floor)cpp, ceiling \(.ceiling)cpp"' data/points-valuations.json
RatingCPP vs FloorMeaning
Excellent> ceilingExceptional redemption. Book it.
Good> floorAbove average. Solid use of points.
Fair0.8× to 1× floorMediocre. Consider cash instead.
Poor< 0.8× floorBad deal. Pay cash.
Step 5: Present Comparison

Always use markdown tables.

Flight: SFO → NRT Business Class, Aug 15
OptionProgramMiles/PointsTaxesCash EquivCPPRating
Cash———$4,200——
United via Chase URUnited88,000 UR$45$1,4964.72Excellent
Aeroplan via Chase URAeroplan75,000 UR$120$1,2755.44Excellent
Alaska via BiltAlaska55,000 Bilt$30$9357.58Excellent
Virgin Atlantic → ANA via Chase URVA52,500 UR$200$8937.62Excellent

Recommendation:

  • Best value: Virgin Atlantic at 7.62 cpp, but $200 in taxes and must call to book.
  • Best convenience: Aeroplan at 5.44 cpp, bookable online, low taxes.
  • Cash price ($4,200) vs opportunity cost ($893-$1,496): Points win decisively. Use points.
Step 6: Round-Trip and Multi-Segment

For round trips, calculate each direction separately. Award pricing is usually one-way, cash pricing is often round-trip. Make sure you're comparing apples to apples:

If cash = round-trip $4,200:
  Compare against: outbound award + return award
  e.g., 75K out + 75K return = 150K total vs $4,200 cash
  CPP = ($4,200 - $240 taxes) / 150,000 = 2.64 cpp
Show full SKILL.md (391 more words)Show less

jq Recipes

Get floor valuation for a currency
bash
jq -r '.credit_card_points.chase_ultimate_rewards.floor' data/points-valuations.json
Calculate opportunity cost
bash
# 75,000 Chase UR points
POINTS=75000
FLOOR=$(jq -r '.credit_card_points.chase_ultimate_rewards.floor' data/points-valuations.json)
echo "$POINTS points × $FLOOR cpp = \$$(echo "$POINTS * $FLOOR / 100" | bc) opportunity cost"
Full comparison for one route
bash
# Cash: $4200 round trip. Award: 75000 Aeroplan each way, $120 taxes each way.
CASH=4200
MILES_ONEWAY=75000
TAXES_ONEWAY=120
TOTAL_MILES=$((MILES_ONEWAY * 2))
TOTAL_TAXES=$((TAXES_ONEWAY * 2))

echo "Cash: \$$CASH"
echo "Award: $TOTAL_MILES miles + \$$TOTAL_TAXES taxes"
echo "CPP: $(echo "scale=2; ($CASH - $TOTAL_TAXES) / $TOTAL_MILES * 100" | bc)"

# Opportunity cost at floor valuation
FLOOR=$(jq -r '.credit_card_points.chase_ultimate_rewards.floor' data/points-valuations.json)
echo "Opportunity cost: \$$(echo "scale=0; $TOTAL_MILES * $FLOOR / 100" | bc)"

Hotel Comparison

The same framework works for hotels:

hotel_cpp = (cash_rate_per_night × nights) / total_points × 100

Hotel redemptions vary more than flights. Use points-valuations.json hotel section:

  • Hyatt: floor 1.4 cpp (consistently best hotel currency)
  • Hilton: floor 0.4 cpp (high point costs, low per-point value)
  • Marriott: floor 0.6 cpp

For premium hotel programs (FHR, THC, Chase Edit), factor in the additional benefits (breakfast, upgrade, credit, late checkout) when comparing cash vs points. A $500/night FHR rate with $100 breakfast credit and potential suite upgrade might be worth more than the sticker price.

Chase Travel Portal vs Transfer

Chase Sapphire Reserve uses dynamic Points Boost pricing in the Chase travel portal: roughly 1.5-2.0 cpp on select bookings, but not a guaranteed floor on every booking. The historical 1.5 cpp fixed multiplier is gone — current redemptions vary by route, date, and inventory. Always check the actual portal price before assuming a rate.

Rough decision rule, with the caveat that you must verify the actual portal quote:

If actual portal CPP > award CPP → portal wins
If award CPP > actual portal CPP → transfer to partner wins

Sapphire Preferred is similar (1.5-1.75 cpp typical via Points Boost). Amex portal is ~1.0 cpp for flights (1 cent per MR point). Capital One portal is ~0.75-1.0 cpp.

Always pull the real portal quote via the chase-travel or amex-travel skills before making a points-vs-portal recommendation. Don't assume the headline rate applies to your specific booking.

Common Pitfalls

  • Ignoring taxes/fees on awards. Some airlines (especially BA, Lufthansa, Singapore on own metal) add $500+ in fuel surcharges to award tickets. Always subtract taxes before calculating CPP.
  • Comparing one-way award to round-trip cash. Make sure denominators match.
  • Forgetting transfer ratios. 50K miles via Amex → Emirates at 5:4 costs 62,500 MR, not 50,000.
  • Not checking portal pricing. Sometimes Chase/Amex portal pricing beats the transfer math.
  • Over-optimizing small differences. If two options are within 0.5 cpp of each other, pick the one with better routing, lower taxes, or more flexibility.

Notes

  • Point valuations are subjective. The floor from points-valuations.json is the most defensible number.
  • "Opportunity cost" assumes you WILL use those points eventually at floor value. If you're sitting on a huge balance with no plans, the real opportunity cost is lower.
  • Currency devaluation risk matters for long-term holdings. Points are depreciating assets.
  • Transfer bonuses can shift the math significantly. A 30% bonus on Chase → Flying Blue means 75K UR becomes 97.5K Flying Blue miles.

© 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/trip-calculator of borski/travel-hacking-toolkit.

Open the folder on GitHubat commit db82131

Compare with similar skills

Trip Calculator 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.

Trip Calculator compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Trip Calculator this skillborski/travel-hacking-toolkit688—~2.4kAutomated safety check: PassMIT
Update Milvus SDK Docsmilvus-io/web-content138—~13kAutomated safety check: PassApache-2.0
Backend Interview SimulatorHazehacker/backend-interview-simulator208—~2.3kAutomated safety check: PassMIT
Tiger Brokers C++ OpenAPI SDKqusong0627/QuantMind1.7k—~942Automated safety check: PassApache-2.0
Sched2tlx Perf Testingfacebookexperimental/triton201—~1.9kAutomated safety check: PassMIT
File Organization And Structurekitchen-engineer42/pdf2skills134—~500Automated safety check: PassNone

Similar skills

  • Update Milvus SDK Docs

    milvus-io/web-content

    Update the Milvus SDK API reference documentation under APIReference/ in the web-content repository so it reflects a new SDK release, using the SDK repository's git tags as ground truth.

    138 GitHub stars~13k tokensUpdated today
    Business, Finance & HRAuto-check passed
  • Backend Interview Simulator

    Hazehacker/backend-interview-simulator

    A skill your agent uses when users want to practice or simulate Java, C++, Go, Golang, mixed-stack, or general backend technical interviews, including resume-based and job-description-based…

    208 GitHub stars~2.3k tokensUpdated 2 mo ago
    Business, Finance & HRAuto-check passed
  • Tiger Brokers C++ OpenAPI SDK

    qusong0627/QuantMind

    Guides an agent through the Tiger Brokers OpenAPI C++ SDK for build setup, market data, orders and real-time push, defaulting to paper trading.

    1.7k GitHub stars~942 tokensUpdated today
    Backend & APIsAuto-check passed
  • Sched2tlx Perf Testing

    facebookexperimental/triton

    Official

    Run the sched2tlx perf/correctness harness over the modulo-scheduling example corpus (case1-9: GEMM, persistent GEMM, FA fwd/bwd, addmm+bias, LayerNorm, wgrad+bias, multiphase GEMM, scaledmm).

    201 GitHub stars~1.9k tokensUpdated today
    Productivity & AutomationAuto-check passed
  • File Organization And Structure

    kitchen-engineer42/pdf2skills

    Organize routines within files using blank line separation, consider alphabetical ordering when appropriate, and follow C++ standard file structure.

    134 GitHub stars~500 tokensUpdated 7 mo ago
    Productivity & AutomationAuto-check passed
  • Technical Analyst

    tradermonty/claude-trading-skills

    This skill should be used when analyzing weekly price charts for stocks, stock indices, cryptocurrencies, or forex pairs.

    3k GitHub starsUsed in 4 repos~4.6k tokens
    Business, Finance & HRAuto-check passed

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 4 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 4 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 4 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 4 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 4 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 4 days ago
    Auto-check passed

Works with

Questions about Trip Calculator

What does Trip Calculator do?

Cash vs points trip cost comparison. An agent skill from borski/travel-hacking-toolkit. Trip Calculator is an agent skill from borski/travel-hacking-toolkit. Cash vs points trip cost comparison.

When should I use Trip Calculator?

Trip Calculator fits situations like: business, Finance & HR work in your project.

How do I install Trip Calculator in Claude Code?

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

How do I install Trip Calculator in Codex?

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

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

What does Trip Calculator need to run?

Going by SKILL.md and its folder, Trip Calculator needs the command-line tools its instructions call (jq).

Does Trip Calculator access the network?

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.

Is Trip Calculator 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 Trip Calculator use?

Trip Calculator 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 Trip Calculator use?

About 2.4k tokens (SKILL.md is roughly 9.8k 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 Trip Calculator?

Skills that share tags, products or a category with Trip Calculator: Update Milvus SDK Docs (milvus-io/web-content, 138 stars), Backend Interview Simulator (Hazehacker/backend-interview-simulator, 208 stars), Tiger Brokers C++ OpenAPI SDK (qusong0627/QuantMind, 1.7k stars) and Sched2tlx Perf Testing (facebookexperimental/triton, 201 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Trip Calculator?

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.