Agent-driven points, miles, free cruises, and casino status — for people who'd rather have Claude or Codex manage their travel portfolio than read another blog post.
A knowledge base and skill library that turns any capable coding agent — Claude Code, Codex, Cursor, Perplexity Computer — into a travel-hacking copilot that:
- Plans redemptions against your actual card portfolio and goals
- Monitors sweet spots and transfer bonuses in the background
- Drafts status match requests when opportunities open
- Documents your trips back to a personal archive, and optionally shares anonymized case studies upstream so the next person starts with your data instead of zero
The repo is structured for agents first. Structured YAML in data/ is the source of truth. Your personal state lives in context/. Skills tell agents exactly how to work through a problem. Human-readable narrative lives in docs/ if you want to learn the subject yourself.
I'm Daniel Shanklin — Fort Worth, TX. Former quantitative trader at Q Investments, now AI director at AIC Holdings. I've been travel hacking since before "travel hacking" was a phrase. I flew a Cessna solo at age 7, did a 50-state road trip, appeared on Letterman and in Ripley's, and have since redirected the same obsessive attention to optimizing travel costs using points, status matches, and casino comps. I built this repo because every existing resource optimizes for ad revenue and affiliate commissions. I optimize for agent correctness. That's a different incentive structure and should produce different output.
- Any of: Claude Code, Codex, Cursor, Perplexity Computer
- GitHub CLI (
gh) for the contribution flow yqfor reading YAML (optional but recommended)
-
Fork this repo.
-
Copy
context/*.example.yamltocontext/*.yamland fill in your actual state — cards, balances, statuses, base airport, goals. -
Install the skills for your agent:
- Perplexity Computer: copy
skills/perplexity-computer/*.mdto your space skills - Claude Code: copy
skills/claude-code/*into.claude/in a project - Codex: copy
skills/codex/*as system prompts - Cursor: copy
skills/cursor/*.mdcinto.cursor/rules/
- Perplexity Computer: copy
-
Ask your agent:
"run plan-redemption for a Tokyo business-class trip in spring 2027"
The agent reads your context, checks the sweet spots database, applies the relevant card rules, and returns ranked redemption paths with CPP estimates and booking instructions.
travel-hacking/
├── AGENTS.md # Agent entry point — start here if you're an agent
├── MANIFESTO.md # Principles
├── README.md # This file
├── CONTRIBUTING.md # How to share back
├── LICENSE
├── data/ # Machine-readable knowledge base (YAML)
│ ├── programs.yaml
│ ├── sweet-spots.yaml
│ ├── transfer-partners.yaml
│ ├── card-rules.yaml
│ └── status-match-chains.yaml
├── context/ # Your personal state (gitignored by default)
│ ├── profile.example.yaml
│ ├── goals.example.yaml
│ └── preferences.example.yaml
├── skills/ # Agent skill definitions
│ ├── _shared/ # Canonical, platform-agnostic skill files
│ ├── perplexity-computer/
│ ├── claude-code/
│ ├── codex/
│ └── cursor/
├── scripts/ # Automation scripts
│ └── share-upstream.sh # Opens anonymized PR upstream
├── examples/ # Completed trip case studies (contributed)
│ └── contributions/
└── docs/ # Human-readable guides and stories
├── guides/
├── skills/
├── stories/
├── resources/
├── tools/
└── templates/
data/health.yaml is a machine-generated report (produced by scripts/generate-health.py) that shows how current every data entry is — fresh (≤60 days), aging (61–90 days), or stale (>90 days, SLA violation). Agents read this file at the start of every session and flag any stale entry before citing it. To regenerate it after a data update, run python3 scripts/generate-health.py. To check freshness in CI or from the command line, run python3 scripts/verify-freshness.py — exit code 1 means stale entries exist.
New user? Run the bootstrap-profile skill first. It walks you through filling in context/profile.yaml one question at a time — Chase 5/24 count, Sapphire bonus date, AAdvantage balance, Amex popup history, MGM tier — before any planning skill will work correctly. See skills/_shared/bootstrap-profile.md for the procedure, or invoke it directly from your platform's wrapper.
plan-redemption reads your state and goals, finds candidates in the sweet spots database, cross-checks transfer partners and card rules, verifies freshness, and ranks options by cents per point against cash price.
document-redemption writes the case study after a booking is complete — locally to your trip log, and optionally as an anonymized PR upstream. This is the contribution engine. Every trip you document, the next user starts with better data.
When you complete a redemption, document-redemption gives you the option to open a PR against this repo with an anonymized version of your case study. No PII, no account numbers — just the route, program, points cost, taxes, CPP, and what you learned. Aggregated across dozens of users, the sweet spots database stays current and the examples directory becomes genuinely useful. Private hoarding doesn't compound. Shared data does.
If you want to learn travel hacking yourself rather than delegate it, /docs/ has the full narrative guides, stories, and explainers. Start with docs/guides/credit-cards/chase-5-24.md or docs/skills/beginner/01-start-here.md.
- Churning for profit — credit score optimization and manufactured spending without real travel goals
- Anyone uncomfortable operating in gray areas (read MANIFESTO.md first)
- Non-technical users who won't be running an agent
- AGENTS.md — how agents navigate this repo
- MANIFESTO.md — what we stand for
- CONTRIBUTING.md — how to share back
- docs/ — human-readable reference layer
Last updated: 2026-04-23 | github.com/dshanklin-bv/travel-hacking