fallback-and-resilience

Maps travel search tool failures to fallback alternatives and recovery procedures.

650|67|Updated Mar 21, 2026
One-click install
npx skills add https://github.com/borski/travel-hacking-toolkit --skill fallback-and-resilience
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: fallback-and-resilience
Source: https://github.com/borski/travel-hacking-toolkit/tree/main/plugins/travel-hacking-toolkit/skills/fallback-and-resilience
Command: npx skills add https://github.com/borski/travel-hacking-toolkit --skill fallback-and-resilience

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Travel search tools fail constantly: APIs hit rate limits, MCP servers return errors, scraping gets blocked, and IP allowlists reject first-time calls. Without a fallback plan, a single failure stalls the entire flight or hotel search workflow.

Core Features & Use Cases

  • Tool-by-Tool Fallback Table: Maps every primary tool (Duffel, Ignav, Skiplagged, Kiwi, Seats.aero, Trivago, LiteAPI, and more) to its best fallback so one failure never blocks a search.
  • IP Allowlist Diagnostics: Recognizes error signatures like AwardWallet's IP_DENIED and TripAdvisor's explicit deny, then walks through whitelisting the user's current IP.
  • Failure-Mode Guidance: Covers Patchright browser issues (bot detection, 2FA loops, login form changes), Docker pull failures, and misleading "no cached availability" results from Seats.aero.
  • Use Case: Skiplagged returns a 502 during a flight search. Instead of giving up, consult the fallback table, switch to the Kiwi.com MCP, and tell the user which source was used.

Quick Start

When a travel search tool fails or returns an error, consult this fallback guide to pick the next-best source and continue the search.

Frequently Asked Questions about fallback-and-resilience

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
What should I do when a flight search API fails?

Consult the fallback table mapping each primary tool to alternatives. For example, if Duffel errors, try Ignav, the Google Flights skill, or Skiplagged. Always try at least one fallback and tell the user which source was used.

How do I fix AwardWallet IP_DENIED or access_denied errors?

This is an IP allowlist issue, not a key problem. Run curl ifconfig.me to get your current IP, add it at the AwardWallet API profile page, wait 1-5 minutes for propagation, then retry. VPNs and new networks require separate entries.

Does no Seats.aero cached availability mean an award is unbookable?

No. Empty Seats.aero results only mean the route was not scraped recently. Search the airline's website directly for that program before declaring the award unavailable.

Why does the Southwest or airline browser automation fail?

Patchright-based skills fail from changed login forms, 2FA loops, bot detection, or headless detection. Try a fresh browser profile, wait an hour, verify 2FA settings, or run the Docker image with xvfb for a virtual display.

How do I fix docker pull unauthorized errors for ghcr.io images?

Run docker logout ghcr.io and retry, or log in with a GitHub PAT that has read:packages scope. Alternatively build locally with docker build from the skill directory. On ARM machines, retry with --platform linux/amd64.