X Twitter Scraper
Xquik-dev/x-twitter-scraper
Use Xquik to fetch X (Twitter) data or act through a connected account: search, profiles, followers, replies, threads, timelines, media downloads, bulk exports, trends, monitors, signed webhooks…
What to do when a tool fails, an API hits a rate limit, or a site blocks scraping.
$ npx skills add borski/travel-hacking-toolkit --skill fallback-and-resilience -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install borski/travel-hacking-toolkit fallback-and-resilience --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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/fallback-and-resilience .claude/skills/fallback-and-resilience && rm -rf skills-srcUse ~/.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/
Install the "fallback-and-resilience" agent skill from https://github.com/borski/travel-hacking-toolkit/tree/main/plugins/travel-hacking-toolkit/skills/fallback-and-resilience into .claude/skills/fallback-and-resilience/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fallback-and-resilience", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/borski/travel-hacking-toolkit/tree/main/plugins/travel-hacking-toolkit/skills/fallback-and-resilienceType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add borski/travel-hacking-toolkit --skill fallback-and-resilience -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install borski/travel-hacking-toolkit fallback-and-resilience --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/borski/travel-hacking-toolkit.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/travel-hacking-toolkit/skills/fallback-and-resilience .agents/skills/fallback-and-resilience && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "fallback-and-resilience" agent skill from https://github.com/borski/travel-hacking-toolkit/tree/main/plugins/travel-hacking-toolkit/skills/fallback-and-resilience into .agents/skills/fallback-and-resilience/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fallback-and-resilience", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add borski/travel-hacking-toolkit --skill fallback-and-resilience -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install borski/travel-hacking-toolkit fallback-and-resilience --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/borski/travel-hacking-toolkit.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/travel-hacking-toolkit/skills/fallback-and-resilience .cursor/skills/fallback-and-resilience && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "fallback-and-resilience" agent skill from https://github.com/borski/travel-hacking-toolkit/tree/main/plugins/travel-hacking-toolkit/skills/fallback-and-resilience into .cursor/skills/fallback-and-resilience/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fallback-and-resilience", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/borski/travel-hacking-toolkit.git --path plugins/travel-hacking-toolkit/skills/fallback-and-resilience--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add borski/travel-hacking-toolkit --skill fallback-and-resilience -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install borski/travel-hacking-toolkit fallback-and-resilience --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/borski/travel-hacking-toolkit.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/travel-hacking-toolkit/skills/fallback-and-resilience .gemini/skills/fallback-and-resilience && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "fallback-and-resilience" agent skill from https://github.com/borski/travel-hacking-toolkit/tree/main/plugins/travel-hacking-toolkit/skills/fallback-and-resilience into .gemini/skills/fallback-and-resilience/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fallback-and-resilience", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install borski/travel-hacking-toolkit fallback-and-resilienceInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add borski/travel-hacking-toolkit --skill fallback-and-resilience -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/borski/travel-hacking-toolkit.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/travel-hacking-toolkit/skills/fallback-and-resilience .github/skills/fallback-and-resilience && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "fallback-and-resilience" agent skill from https://github.com/borski/travel-hacking-toolkit/tree/main/plugins/travel-hacking-toolkit/skills/fallback-and-resilience into .github/skills/fallback-and-resilience/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fallback-and-resilience", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add borski/travel-hacking-toolkit --skill fallback-and-resilience -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install borski/travel-hacking-toolkit fallback-and-resilience --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/borski/travel-hacking-toolkit.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/travel-hacking-toolkit/skills/fallback-and-resilience .opencode/skills/fallback-and-resilience && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "fallback-and-resilience" agent skill from https://github.com/borski/travel-hacking-toolkit/tree/main/plugins/travel-hacking-toolkit/skills/fallback-and-resilience into .opencode/skills/fallback-and-resilience/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "fallback-and-resilience", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
fallback-and-resilienceWhat to do when a tool fails, an API hits a rate limit, or a site blocks scraping.
Fallback And Resilience is an agent skill from borski/travel-hacking-toolkit. What to do when a tool fails, an API hits a rate limit, or a site blocks scraping. Maps every primary tool to its best fallback so a single failure doesn't block the search.
Its SKILL.md is about 1.6k 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 Backend & APIs, covering Rate limiting and Web scraping. It works with Model Context Protocol and SerpApi. 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.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit db82131. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
dockercurlFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
business.awardwallet.comtripadvisor.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Fallback And Resilience loads about 1.6k tokens when it runs. Until then it costs about 49 tokens; SKILL.md has 907 words of instructions outside code blocks.
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.
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.
The full file from borski/travel-hacking-toolkit at commit db82131, republished under its MIT licence (© borski). 907 words, ~1,627 tokens.
.claude/skills/fallback-and-resilience/SKILL.md (or your agent's skills folder).Tools go down. APIs break. Have a backup plan for every search.
| Primary Tool | When It Fails | Fallback |
|---|---|---|
| Duffel | API error or timeout | Ignav, Google Flights skill, Skiplagged |
| Ignav | API error | Duffel, Google Flights skill, Skiplagged |
| Google Flights | agent-browser error | Duffel, Ignav, Skiplagged |
| Skiplagged | 502/timeout (Cloudflare issues) | Kiwi.com MCP, Duffel, Ignav |
| Kiwi.com | Server error | Skiplagged MCP, Duffel |
| Seats.aero | API error or stale data | Check airline website directly, use Duffel for GDS inventory |
| Southwest | SW rate limiting or bot detection | Wait a few minutes and retry. Use Docker (ghcr.io/borski/sw-fares) if running locally fails. Google Flights skill for SW cash prices as a fast fallback. |
| SerpAPI | Rate limit (100/mo free) | Trivago for hotels, web search for destination discovery |
| Trivago | Server error | LiteAPI for hotels, SerpAPI Google Hotels |
| LiteAPI | Auth error (401) | Trivago MCP, SerpAPI Google Hotels |
| Airbnb | Scraping blocked | Suggest user check airbnb.com directly |
| AwardWallet | API error | Ask user for their balances directly |
| Ferryhopper | Server error | SerpAPI or web search for ferry routes |
| Atlas Obscura | Script error | Web search for "unusual things to do in [destination]" |
| Chase Travel | Login failure or CSRF issues | Use Duffel/Ignav for cash prices. Note that Points Boost and Edit detection are Chase-only. |
| Amex Travel | Login failure or form changes | Use Duffel/Ignav for cash prices. Note that IAP fares and FHR/THC detection are Amex-only. |
| Deutsche Bahn (db-vendo) | Library error or bahn.de outage | SerpAPI Google Travel Explore, web search for "DB train [origin] [dest]", or fall back to confirming flight options instead. |
| Wikipedia airports | API rate limit (rare) or page missing | Web search "[airport name] airlines destinations" returns the same data via Google. |
| Fare tool says "no results" | Could be no availability OR no service | Use wikipedia-airports to confirm whether the route is flown at all. If Wikipedia lists the destination as served, fare tools have no availability on that date. If Wikipedia doesn't list it, the route doesn't exist. Saves you from asking the user to retry searches that can never succeed. |
Do not declare an MCP server "not available" from a glance at your tool list — attempt an actual tool call first. The Skiplagged and Kiwi servers need no API keys and are wired into every supported harness config; a session launched from the repo directory has them. If a call genuinely fails, quote the error to the user and then fall back.
And when falling back, never silently substitute ad-hoc browser scraping for the toolkit's sources. Improvised scraping (e.g., driving a browser to Google Flights by hand) produces prices that miss most of the market. If you're ever reduced to it, say so explicitly and label every price from it as low-confidence: "MCP sources were unreachable, so this is a single scraped quote — treat it as a ceiling, not a market price."
Several APIs in the toolkit enforce IP allowlists on the developer key. If you see one of these error signatures, do NOT rabbit-hole on auth or quotas. Suggest the user whitelist their IP first.
| API | Error Signature | Whitelist Page |
|---|---|---|
| AwardWallet | {"error": "access_denied", "code": "IP_DENIED"} | https://business.awardwallet.com/profile/api |
| TripAdvisor | User is not authorized to access this resource with an explicit deny | https://www.tripadvisor.com/developers |
Diagnostic flow when an API call fails with an auth-shaped error on first use:
curl ifconfig.me to get the user's current outbound IP.<their IP> at <provider page>, wait 1-5 min for AWS edge cache propagation, then retry."When Seats.aero returns no results for a route + program combination, that means Seats.aero has not scraped it recently. It does NOT mean the award is unbookable. When a reachable program shows no cached results, search the airline's website directly before declaring awards dead.
These hit websites directly with an undetected browser. Common failure modes:
If docker pull ghcr.io/borski/... fails:
unauthorized: Run docker logout ghcr.io then retry. Or login with a GitHub PAT that has read:packages. Or build locally with docker build -t <tag> skills/<skill>/.--platform linux/amd64 if you're on ARM and getting checksum mismatches.© borski, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in plugins/travel-hacking-toolkit/skills/fallback-and-resilience of borski/travel-hacking-toolkit.
Open the folder on GitHubat commit db82131
Fallback And Resilience 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Fallback And Resilience this skillborski/travel-hacking-toolkit | 688 | — | ~1.6k | Automated safety check: Pass | MIT | |
| X Twitter ScraperXquik-dev/x-twitter-scraper | 211 | 1 repos | ~2.6k | Automated safety check: Pass | MIT | |
| Apify Integration Developmentapify/agent-skills | 2.4k | — | ~3.4k | Automated safety check: Pass | None | |
| X Twitter Scraperdavila7/claude-code-templates | 33k | — | ~2.3k | Automated safety check: Pass | MIT | |
| Apify Yandex Search APIapify/awesome-skills | 266 | — | ~2.1k | Automated safety check: Pass | MIT | |
| Apify Rate Limitsjeremylongshore/tons-of-skills-marketplace | 2.8k | — | ~1.3k | Automated safety check: Pass | MIT |
Xquik-dev/x-twitter-scraper
Use Xquik to fetch X (Twitter) data or act through a connected account: search, profiles, followers, replies, threads, timelines, media downloads, bulk exports, trends, monitors, signed webhooks…
apify/agent-skills
Guides designing and building an official Apify integration for a company's product: workflow-automation apps, AI agent plugins, AI framework packages or direct API clients.
davila7/claude-code-templates
A skill your agent uses when the user wants to integrate with the X (Twitter) API via Xquik to search tweets, look up user profiles, extract followers, run giveaway draws, monitor accounts, or…
apify/awesome-skills
Get structured Yandex search results without an official API key using the Apify Yandex Search Scraper Actor (johnvc/Scrape-Yandex).
jeremylongshore/tons-of-skills-marketplace
Handle Apify API rate limits with proper backoff and request queuing.
Skyvern-AI/skyvern
Automates websites with Skyvern's AI browser agent to fill forms, extract data, download files, log in and run multi-step workflows through SDKs, REST, MCP or a CLI.
borski/travel-hacking-toolkit
Search Amex travel portal for cash prices, MR points pricing, IAP discounts, and FHR/THC hotel benefits via Patchright.
borski/travel-hacking-toolkit
Search Chase UR travel portal via Patchright for cash prices, points pricing, Points Boost offers, and Chase Edit hotel benefits.
borski/travel-hacking-toolkit
Deutsche Bahn train schedules, journey planning, and departures across Germany and into neighboring countries (Austria, Switzerland, Netherlands, France, Belgium).
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).
borski/travel-hacking-toolkit
Search TicketsAtWork (EBG corporate perks) for hotels, theme park tickets, attractions, and rental cars via Patchright.
borski/travel-hacking-toolkit
Search VRBO (Vrbo / Expedia Group) vacation rentals including entire homes, condos, and cabins via Patchright browser automation.
Works with
What to do when a tool fails, an API hits a rate limit, or a site blocks scraping. Fallback And Resilience is an agent skill from borski/travel-hacking-toolkit. What to do when a tool fails, an API hits a rate limit, or a site blocks scraping.
Fallback And Resilience fits situations like: tasks that involve Rate limiting; tasks that involve Web scraping.
Run `npx skills add borski/travel-hacking-toolkit --skill fallback-and-resilience -a claude-code`. Or copy the skill folder (plugins/travel-hacking-toolkit/skills/fallback-and-resilience in borski/travel-hacking-toolkit) into .claude/skills/fallback-and-resilience in your project. Claude Code loads it when a task matches its description.
Run `npx skills add borski/travel-hacking-toolkit --skill fallback-and-resilience -a codex`. Or copy the skill folder (plugins/travel-hacking-toolkit/skills/fallback-and-resilience in borski/travel-hacking-toolkit) into .agents/skills/fallback-and-resilience in your project. Codex loads it when a task matches its description.
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 fallback-and-resilience -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/fallback-and-resilience, .gemini/skills/fallback-and-resilience, .github/skills/fallback-and-resilience and .opencode/skills/fallback-and-resilience in your project.
Going by SKILL.md and its folder, Fallback And Resilience needs the command-line tools its instructions call (docker and curl). Our summary lists: Docker.
SKILL.md names 2 domains. As links in the text: business.awardwallet.com and tripadvisor.com. This is read from the text; nothing was executed.
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.
Fallback And Resilience is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.6k tokens (SKILL.md is roughly 6.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Fallback And Resilience: X Twitter Scraper (Xquik-dev/x-twitter-scraper, 211 stars), Apify Integration Development (apify/agent-skills, 2.4k stars), X Twitter Scraper (davila7/claude-code-templates, 33k stars) and Apify Yandex Search API (apify/awesome-skills, 266 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
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.