SEO and GEO Audit
dageno-agents/seo-geo-audit
Runs one prioritized audit that combines technical SEO, content quality, trust signals, entity clarity and AI search readiness for a page, site or domain.
Google Flights cash prices, Google Hotels, and Google Travel Explore via SerpAPI.
$ npx skills add borski/travel-hacking-toolkit --skill serpapi -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install borski/travel-hacking-toolkit serpapi --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/serpapi .claude/skills/serpapi && 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 "serpapi" agent skill from https://github.com/borski/travel-hacking-toolkit/tree/main/plugins/travel-hacking-toolkit/skills/serpapi into .claude/skills/serpapi/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "serpapi", 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/serpapiType 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 serpapi -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install borski/travel-hacking-toolkit serpapi --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/serpapi .agents/skills/serpapi && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "serpapi" agent skill from https://github.com/borski/travel-hacking-toolkit/tree/main/plugins/travel-hacking-toolkit/skills/serpapi into .agents/skills/serpapi/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "serpapi", 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 serpapi -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install borski/travel-hacking-toolkit serpapi --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/serpapi .cursor/skills/serpapi && 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 "serpapi" agent skill from https://github.com/borski/travel-hacking-toolkit/tree/main/plugins/travel-hacking-toolkit/skills/serpapi into .cursor/skills/serpapi/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "serpapi", 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/serpapi--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 serpapi -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install borski/travel-hacking-toolkit serpapi --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/serpapi .gemini/skills/serpapi && 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 "serpapi" agent skill from https://github.com/borski/travel-hacking-toolkit/tree/main/plugins/travel-hacking-toolkit/skills/serpapi into .gemini/skills/serpapi/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "serpapi", 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 serpapiInstalls 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 serpapi -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/serpapi .github/skills/serpapi && 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 "serpapi" agent skill from https://github.com/borski/travel-hacking-toolkit/tree/main/plugins/travel-hacking-toolkit/skills/serpapi into .github/skills/serpapi/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "serpapi", 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 serpapi -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 serpapi --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/serpapi .opencode/skills/serpapi && 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 "serpapi" agent skill from https://github.com/borski/travel-hacking-toolkit/tree/main/plugins/travel-hacking-toolkit/skills/serpapi into .opencode/skills/serpapi/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "serpapi", 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.
serpapiGoogle Flights cash prices, Google Hotels, and Google Travel Explore via SerpAPI.
Serpapi is an agent skill from borski/travel-hacking-toolkit. Google Flights cash prices, Google Hotels, and Google Travel Explore via SerpAPI. Use for award-vs-cash comparison, hotel search, and destination discovery.
Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It works with 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.
4 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:
curljqFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
serpapi.comFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
SERPAPI_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Serpapi loads about 1.9k tokens when it runs. Until then it costs about 41 tokens; SKILL.md has 666 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 noted patterns worth knowing about, such as sudo or a known installer.
`SERPAPI_API_KEY` is set in `.env`. All requests use `api_key` query parameter.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). 666 words, ~1,923 tokens.
.claude/skills/serpapi/SKILL.md (or your agent's skills folder).Scrape Google Flights, Google Hotels, and Google Travel Explore via SerpAPI. Provides cash flight prices (for Chase/Amex portal comparison), hotel pricing, and destination discovery.
Source: serpapi.com — Free tier available, paid plans for higher volume.
SERPAPI_API_KEY is set in .env. All requests use api_key query parameter.
https://serpapi.com/searchSearch for flight prices and schedules. Essential for comparing: "Is 88,000 United miles better than paying $900 cash through the Chase portal?" (Chase portal pricing is now dynamic via Points Boost, ~1.5-2.0 cpp on select bookings; verify the actual quote.)
curl -s "https://serpapi.com/search?engine=google_flights&departure_id=SFO&arrival_id=NRT&outbound_date=2026-08-10&type=2&adults=2&travel_class=1¤cy=USD&stops=2&sort_by=2&api_key=$SERPAPI_API_KEY" | jq '{best: [.best_flights[]? | {price: .price, duration: .total_duration, stops: (.layovers | length), flights: [.flights[] | {from: .departure_airport.id, to: .arrival_airport.id, airline: .airline, flight: .flight_number, depart: .departure_airport.time, arrive: .arrival_airport.time}]}], price_insights: .price_insights}'| Param | Required | Description |
|---|---|---|
engine | Yes | google_flights |
departure_id | Yes | Airport code(s), comma-separated: SFO,PDX |
arrival_id | Yes | Airport code(s), comma-separated: NRT,HND |
outbound_date | Yes | YYYY-MM-DD |
return_date | Round trip | YYYY-MM-DD (required if type=1) |
type | No | 1 = round trip (default), 2 = one way, 3 = multi-city |
adults | No | Default 1 |
children | No | Default 0 |
travel_class | No | 1 = economy, 2 = premium economy, 3 = business, 4 = first |
stops | No | 0 = any, 1 = nonstop, 2 = 1 stop or fewer, 3 = 2 stops or fewer |
sort_by | No | 1 = top flights, 2 = price, 3 = departure, 4 = arrival, 5 = duration |
include_airlines | No | IATA codes: SK,KL,UA or alliances: STAR_ALLIANCE,SKYTEAM,ONEWORLD |
max_price | No | Maximum ticket price in USD |
max_duration | No | Maximum flight duration in minutes |
bags | No | Number of carry-on bags |
deep_search | No | true for browser-identical results (slower) |
currency | No | Default USD |
Use type=3 with multi_city_json:
curl -s "https://serpapi.com/search?engine=google_flights&type=3&multi_city_json=%5B%7B%22departure_id%22%3A%22SFO%22%2C%22arrival_id%22%3A%22NRT%22%2C%22date%22%3A%222026-08-05%22%7D%2C%7B%22departure_id%22%3A%22ICN%22%2C%22arrival_id%22%3A%22SFO%22%2C%22date%22%3A%222026-08-26%22%7D%5D&adults=2&travel_class=1¤cy=USD&api_key=$SERPAPI_API_KEY" | jq '.'The JSON value for multi_city_json is URL-encoded. Decoded:
[{"departure_id":"SFO","arrival_id":"NRT","date":"2026-08-05"},{"departure_id":"ICN","arrival_id":"SFO","date":"2026-08-26"}]Each flight in best_flights[] and other_flights[]:
| Field | Description |
|---|---|
price | Cash price in USD |
total_duration | Total minutes |
flights[] | Array of legs with airline, flight number, times, airplane, legroom |
layovers[] | Array with duration and airport for each connection |
departure_token | Token to get return flight options (round trip) |
booking_token | Token to get booking options |
price_insights includes lowest_price, price_level (low/typical/high), and typical_price_range.
Chase Sapphire Reserve: dynamic Points Boost pricing, typically 1.5-2.0 cpp on select bookings (not a fixed floor). Verify actual portal price for the specific booking. If cash price is $900, portal cost = 60,000 UR points. If award price is 88,000 United miles, cash via portal is better value.
Amex: typically 1 cpp via portal (worse value, use transfers instead).
Capital One Venture X: 1 cpp via portal, but transfer partners can be better.
Search hotels and vacation rentals with pricing from multiple OTAs.
curl -s "https://serpapi.com/search?engine=google_hotels&q=hotels+Tokyo+Japan&check_in_date=2026-08-10&check_out_date=2026-08-13&adults=2¤cy=USD&sort_by=3&api_key=$SERPAPI_API_KEY" | jq '[.properties[]? | {name: .name, type: .type, rating: .overall_rating, reviews: .reviews, price: .rate_per_night.extracted_lowest, class: .extracted_hotel_class, amenities: .amenities}] | .[0:10]'| Param | Required | Description |
|---|---|---|
engine | Yes | google_hotels |
q | Yes | Search query: hotels Tokyo Japan |
check_in_date | Yes | YYYY-MM-DD |
check_out_date | Yes | YYYY-MM-DD |
adults | No | Default 2 |
children | No | Default 0 |
sort_by | No | 3 = lowest price, 8 = highest rating, 13 = most reviewed |
min_price / max_price | No | Price range filter |
hotel_class | No | 2,3,4,5 (comma-separated) |
rating | No | 7 = 3.5+, 8 = 4.0+, 9 = 4.5+ |
vacation_rentals | No | Set to true for Airbnb-style results |
property_token | No | Get details for a specific property |
Discover destinations and cheapest flights from an origin. Great for "where can I fly cheaply in August?"
curl -s "https://serpapi.com/search?engine=google_travel_explore&departure_id=SFO&outbound_date=2026-08-05&return_date=2026-08-26&adults=2&travel_class=1¤cy=USD&api_key=$SERPAPI_API_KEY" | jq '[.destinations[]? | {name: .name, country: .country, airport: .destination_airport.code, price: .flight_price, duration: .flight_duration, stops: .number_of_stops, airline: .airline}] | .[0:15]'| Param | Required | Description |
|---|---|---|
engine | Yes | google_travel_explore |
departure_id | Yes | Airport code or kgmid |
arrival_id | No | Specific destination |
arrival_area_id | No | Region kgmid (e.g., /m/02j9z for Europe) |
outbound_date | No | YYYY-MM-DD |
return_date | No | YYYY-MM-DD |
month | No | 1-12 for flexible dates |
travel_duration | No | 1 = weekend, 2 = 1 week, 3 = 2 weeks |
interest | No | /g/11bc58l13w = Outdoors, /m/0b3yr = Beaches |
include_airlines | No | Filter by airline or alliance |
max_price | No | Maximum price |
stops | No | Same as Google Flights |
no_cache=true to force fresh.deep_search=true gives browser-identical results but is slower.price_insights with historical price data and trend.© 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/serpapi of borski/travel-hacking-toolkit.
Open the folder on GitHubat commit db82131
Serpapi 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 |
|---|---|---|---|---|---|---|
| Serpapi this skillborski/travel-hacking-toolkit | 689 | — | ~1.9k | Automated safety check: Notes | MIT | |
| SEO and GEO Auditdageno-agents/seo-geo-audit | 176 | — | ~2k | Automated safety check: Pass | MIT | |
| Stock Analysisliusai0820/Stock-Analysis-Skill | 142 | — | ~904 | Automated safety check: Notes | None | |
| Caption Writerstevenflanagan1/social-ai-team | 239 | — | ~2.9k | Automated safety check: Pass | None | |
| Image Search UsageOtoDock/oto-dock | 190 | — | ~1.1k | Automated safety check: Pass | Custom licence | |
| Serpapi AutomationComposioHQ/awesome-claude-skills | 77k | 3 repos | ~730 | Automated safety check: Pass | None |
dageno-agents/seo-geo-audit
Runs one prioritized audit that combines technical SEO, content quality, trust signals, entity clarity and AI search readiness for a page, site or domain.
liusai0820/Stock-Analysis-Skill
股票智能分析技能。输入股票代码(A股/港股/美股),自动完成: 1. An agent skill from liusai0820/Stock-Analysis-Skill.
stevenflanagan1/social-ai-team
Writes on-brand social media captions for SMBs. An agent skill from stevenflanagan1/social-ai-team.
OtoDock/oto-dock
Search the web for images with filters and download them. An agent skill from OtoDock/oto-dock.
ComposioHQ/awesome-claude-skills
Automate Serpapi tasks via Rube MCP (Composio). An agent skill from ComposioHQ/awesome-claude-skills.
brightdata/skills
Build production-ready Bright Data integrations with best practices baked in.
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
Google Flights cash prices, Google Hotels, and Google Travel Explore via SerpAPI. Serpapi is an agent skill from borski/travel-hacking-toolkit. Google Flights cash prices, Google Hotels, and Google Travel Explore via SerpAPI.
Serpapi fits situations like: award-vs-cash comparison; destination discovery.
Run `npx skills add borski/travel-hacking-toolkit --skill serpapi -a claude-code`. Or copy the skill folder (plugins/travel-hacking-toolkit/skills/serpapi in borski/travel-hacking-toolkit) into .claude/skills/serpapi in your project. Claude Code loads it when a task matches its description.
Run `npx skills add borski/travel-hacking-toolkit --skill serpapi -a codex`. Or copy the skill folder (plugins/travel-hacking-toolkit/skills/serpapi in borski/travel-hacking-toolkit) into .agents/skills/serpapi 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 serpapi -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/serpapi, .gemini/skills/serpapi, .github/skills/serpapi and .opencode/skills/serpapi in your project.
Going by SKILL.md and its folder, Serpapi needs the command-line tools its instructions call (curl and jq) and credentials named SERPAPI_API_KEY. Our summary lists: A credential in SERPAPI_API_KEY.
SKILL.md names 1 domain. In commands or code: serpapi.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Serpapi is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.9k tokens (SKILL.md is roughly 7.7k 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 Serpapi: SEO and GEO Audit (dageno-agents/seo-geo-audit, 176 stars), Stock Analysis (liusai0820/Stock-Analysis-Skill, 142 stars), Caption Writer (stevenflanagan1/social-ai-team, 239 stars) and Image Search Usage (OtoDock/oto-dock, 190 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 689 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.