Find flights
Skill rymc/find-flights
Search and summarize flight options using the fast-flights (AWeirdDev/flights) Python library (a typed Google Flights scraper). Use when you need to look up one-way/round-trip/multi-city flights for specific dates, filter by cabin class/passengers/max stops/airlines, list/search airport codes, or troubleshoot fetch modes (common/fallback/local) and consent/bot blocking.From its SKILL.md
npx -y skills add rymc/find-flightsAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
4.4 KB, ~1.0k tokens by cl100k_base, as published. Nobody here has run it
Find Flights
Quick Start
Agent setup rule:
- If
uvexists (command -v uvsucceeds), useuvcommands. - If
uvis unavailable, fall back topython3 -m venv+pip.
Preferred path (uv available):
uv run --with "fast-flights[local]" playwright install chromium
uv run --with "fast-flights[local]" python scripts/search_airports.py "Portland"
uv run --with "fast-flights[local]" python scripts/search_flights.py --from PDX --to LAX --date 2026-03-10 --fetch-mode local
Fallback path (uv unavailable):
python3 -m venv .venv
. .venv/bin/activate
python3 -m pip install "fast-flights[local]"
playwright install chromium
python3 scripts/search_airports.py "Portland"
python3 scripts/search_flights.py --from PDX --to LAX --date 2026-03-10 --fetch-mode local
Fallback note: if python3 -m venv fails with ensurepip is not available, install the system venv package first (for example on Ubuntu/Debian: sudo apt install python3-venv) or install fast-flights[local] into the active Python environment.
Search airports (returns enum matches and IATA codes):
uv run --with "fast-flights[local]" python scripts/search_airports.py "Portland"
uv run --with "fast-flights[local]" python scripts/search_airports.py "Berlin"
Search flights:
# One-way
uv run --with "fast-flights[local]" python scripts/search_flights.py --from PDX --to LAX --date 2026-03-10 --seat economy --adults 1 --fetch-mode local
# Round-trip (return leg is auto-added as TO -> FROM)
uv run --with "fast-flights[local]" python scripts/search_flights.py --from PDX --to LAX --date 2026-03-10 --return-date 2026-03-17 --max-stops 0 --fetch-mode local
Troubleshooting
If Google Flights blocks the request or returns no results, retry with:
uv run --with "fast-flights[local]" python scripts/search_flights.py ... --fetch-mode local
uv run --with fast-flights python scripts/search_flights.py ... --fetch-mode fallback
uv run --with fast-flights python scripts/search_flights.py ... --data-source js
Notes:
--data-source jsand--airlines ...may be ignored depending on the installedfast-flightsversion.- If you see a Google consent page (e.g., "Before you continue to Google"), prefer
--fetch-mode local. --fetch-mode fallbackmay rely on a hosted Playwright service in some environments; if it fails, use--fetch-mode local.
Recommended local Playwright setup with uv:
uv run --with "fast-flights[local]" playwright install chromium
uv run --with "fast-flights[local]" python scripts/search_flights.py ... --fetch-mode local
Alternative with pip/venv:
python3 -m pip install "fast-flights[local]"
playwright install chromium
python3 scripts/search_flights.py ... --fetch-mode local
References
- See
references/fast_flights_api.mdfor the underlying API and fetch-mode notes.
Runtime lessons learned
- For first run,
uv run --with "fast-flights[local]" ... --fetch-mode localis the most reliable path and avoids global installs. - Start with
--fetch-mode localwhen the environment has Playwright installed. Thecommonandfallbackmodes can fail with consent screens or upstream timeouts. - Some installs throw
No module named 'playwright'iffast-flights[local]is not installed. - The same route/date can return duplicates or malformed rows (
price: 0,stops: Unknown), so use post-filters to keep only valid positive prices. --airlinesand--data-sourceare version-dependent; keep these as optional inputs and fall back cleanly when unsupported.- Use one-way legs when you need custom constraints (time-window filtering, minimum layover/ground-time, route shape), then combine legs manually to enforce exact rules.
- Airport-name lookups can be ambiguous. Run
search_airports.pyfirst and pick the exact IATA code you want before searching flights.
Output formatting preference
- Always include the day of week when reporting dates (example:
Sat, Feb 21,Mon, Feb 23) so dates remain explicit.
What ships with it: 5 files
28.6 KB alongside SKILL.md, 2 of them executable
agents/
- openai.yaml699 B
references/
- fast_flights_api.md2.6 KB
scripts/
- search_airports.pyruns1.4 KB
- search_flights.pyruns16.2 KB
- README.md7.8 KB