AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Trip Calculator

skill-borski-travel-hacking-toolkit-trip-calculator · by borski

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.

No reviews yet
0 installs
0 views
view→install

Install

$ agentstack add skill-borski-travel-hacking-toolkit-trip-calculator

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-borski-travel-hacking-toolkit-trip-calculator)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
3mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Trip Calculator? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

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

| File | Purpose | |------|---------| | data/points-valuations.json | CPP valuations per program (floor/ceiling) | | data/transfer-partners.json | Credit 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 → 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:

jq -r '.credit_card_points.chase_ultimate_rewards | "Chase UR: floor \(.floor)cpp, ceiling \(.ceiling)cpp"' data/points-valuations.json

| Rating | CPP vs Floor | Meaning | |--------|-------------|---------| | Excellent | > ceiling | Exceptional redemption. Book it. | | Good | > floor | Above average. Solid use of points. | | Fair | 0.8× to 1× floor | Mediocre. Consider cash instead. | | Poor | 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.

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [borski](https://github.com/borski)
- **Source:** [borski/travel-hacking-toolkit](https://github.com/borski/travel-hacking-toolkit)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.