google-flights▌
skillhq/flight-search · updated Apr 9, 2026
MDX-style export adds YAML metadata + attribution linking explainx.ai and this canonical listing URL.
Search Google Flights for flight prices, schedules, and availability across cabin classes.
- ›Supports round-trip, one-way, and multi-city searches with economy and business class comparison by default
- ›URL-based fast path loads results in 3 commands; interactive fallback handles premium economy, multi-city, and consent banners
- ›Extracts flight details (airline, duration, times, prices) and presents results in compact list format with cabin-class deltas
- ›Provides booking provider links
Google Flights Search
Search Google Flights via agent-browser to find flight prices, schedules, and availability.
When to Use
- User asks to search/find/compare flights or airfare
- User wants to know flight prices between cities
- User asks about flight schedules or availability
- User wants to find the cheapest flight for specific dates
When NOT to Use
- Completing purchases: This skill finds flights and extracts booking links, but do not attempt to complete a purchase on a booking site.
- Hotels/rental cars: Use other tools for non-flight travel searches.
- Historical price data: Google Flights shows current prices, not historical.
Session Convention
- Economy + Business comparison (default):
--session econand--session biz - Single cabin search:
--session flights - Interactive fallback:
--session flights
Fast Path: URL-Based Search (Preferred)
Construct a URL with a natural language ?q= parameter. Loads results directly — 3 commands total.
URL Template
https://www.google.com/travel/flights?q=Flights+from+{ORIGIN}+to+{DEST}+on+{DATE}[+returning+{DATE}][+one+way][+business+class][+N+passengers]
Default: Economy + Business Comparison
Always run two parallel sessions — economy and business — to show the price delta. This adds no extra time since both load concurrently.
# Launch both in parallel (background the first)
agent-browser --session econ open "https://www.google.com/travel/flights?q=Flights+from+BKK+to+NRT+on+2026-03-20+returning+2026-03-27" &
agent-browser --session biz open "https://www.google.com/travel/flights?q=Flights+from+BKK+to+NRT+on+2026-03-20+returning+2026-03-27+business+class" &
wait
# Wait for both to load
agent-browser --session econ wait --load networkidle &
agent-browser --session biz wait --load networkidle &
wait
# Snapshot both
agent-browser --session econ snapshot -i
agent-browser --session biz snapshot -i
# Close biz (only needed for delta column); keep econ alive for booking links
agent-browser --session biz close
Then present results in compact list format (see Output Format section below).
Matching logic: Match flights by airline name and departure time. Not all economy flights have a business equivalent (budget carriers like ZIPAIR, Air Japan don't offer business). Show "—" when no business match exists.
Tip: When an airline appears in business results but not economy (e.g., Philippine Airlines), it may operate business-only pricing on that route. Include it with "—" for economy.
One Way with Business Delta
Same pattern — just add +one+way to both URLs:
agent-browser --session econ open "https://www.google.com/travel/flights?q=Flights+from+LAX+to+LHR+on+2026-04-15+one+way" &
agent-browser --session biz open "https://www.google.com/travel/flights?q=Flights+from+LAX+to+LHR+on+2026-04-15+one+way+business+class" &
wait
When User Asks for Business Only
If the user specifically asks for business class (not a comparison), run just the business session:
agent-browser --session flights open "https://www.google.com/travel/flights?q=Flights+from+JFK+to+CDG+on+2026-06-01+returning+2026-06-15+business+class"
agent-browser --session flights wait --load networkidle
agent-browser --session flights snapshot -i
# Keep session alive for booking links
First Class / Multiple Passengers
agent-browser --session flights open "https://www.google.com/travel/flights?q=Flights+from+JFK+to+CDG+on+2026-06-01+returning+2026-06-15+first+class+2+adults+1+child"
agent-browser --session flights wait --load networkidle
agent-browser --session flights snapshot -i
# Keep session alive for booking links
What Works via URL
| Feature | URL syntax | Status |
|---|---|---|
| Round trip | +returning+YYYY-MM-DD |
Works |
| One way | +one+way |
Works |
| Business class | +business+class |
Works |
| First class | +first+class |
Works |
| N passengers (adults) | +N+passengers |
Works |
| Adults + children | +2+adults+1+child |
Works |
| IATA codes | BKK, NRT, LAX |
Works |
| City names | Bangkok, Tokyo |
Works |
| Dates as YYYY-MM-DD | 2026-03-20 |
Works (best) |
| Natural dates | March+20 |
Works |
| Premium economy | +premium+economy |
Fails |
| Multi-city | N/A | Fails |
What Requires Interactive Fallback
- Premium economy cabin class
- Multi-city trips (3+ legs)
- Infant passengers (seat vs lap distinction)
- URL didn't load results (consent banner, CAPTCHA, locale issue)
Reading Results from Snapshot
Each flight appears as a link element with a full description:
link "From 20508 Thai baht round trip total. Nonstop flight with Air Japan.
Leaves Suvarnabhumi Airport at 12:10 AM on Friday, March 20 and arrives
at Narita International Airport at 8:15 AM on Friday, March 20.
Total duration 6 hr 5 min. Select flight"
Parse economy + business snapshots into the compact list format:
1. JAL — Nonstop · 5h 55m
8:05 AM → 4:00 PM
Economy: THB 23,255 · Business: THB 65,915 (+183%)
2. THAI — Nonstop · 5h 50m
10:30 PM → 6:20 AM+1
Economy: THB 28,165 · Business: THB 75,000 (+166%)
3. Air Japan — Nonstop · 6h 05m
12:10 AM → 8:15 AM
Economy: THB 20,515 · Business: —
4. ZIPAIR — Nonstop · 5h 45m
11:45 PM → 7:30 AM+1
Economy: THB 21,425 · Business: —
Matching: Pair economy and business results by airline + departure time. Budget carriers without business class show "—". Include "Best"/"Cheapest" labels from Google when present.
Booking Options Handoff
After presenting the results table, always offer booking links: "Want booking links for any of these? Just say which one."
When the user picks a flight, extract booking options by clicking the flight's link element in the snapshot. Google Flights shows a panel with booking providers (airlines, OTAs) each with a price and a "Continue" link to the booking site.
Workflow
# User picks flight #N — click the corresponding link from the results snapshot
agent-browser --session econ click @eN
agent-browser --session econ wait 3000
agent-browser --session econ snapshot -i
The booking panel snapshot will show link elements like:
link "Book with Emirates THB 28,960" → href="https://..."
link "Book with Booking.com THB 29,512" → href="https://..."
link "Book with Teaflight THB 28,171" → href="https://..."
Extract the provider name, price, and href URL from each link.
Output Format
📋 Booking Options for JAL BKK→NRT (5h 55m, Nonstop)
| Provider | Price | Book |
|----------|-------|------|
| Emirates | THB 28,960 | [Continue](https://...) |
| Booking.com | THB 29,512 | [Continue](https://...) |
| Teaflight | THB 28,171 | [Continue](https://...) |
Notes
- Session lifecycle: Keep the results session alive for booking links; close
--session bizimmediately (only needed for delta). Close the results session after the user gets booking links or declines. - If booking panel fails to load: Re-snapshot and wait longer before retrying.
Interactive Workflow (Fallback)
Use for multi-city, premium economy, or when the URL path fails.
Open and Snapshot
agent-browser --session flights open "https://www.google.com/travel/flights"
agent-browser --session flights wait 3000
agent-browser --session flights snapshot -i
If a consent banner appears, click "Accept all" or "Reject all" first.
Set Trip Type (if not Round Trip)
agent-browser --session flights click @eN # Trip type combobox ("Round trip")
agent-browser --session flights snapshot -i
agent-browser --session flights click @eN # "One way" or "Multi-city"
agent-browser --session flights wait 1000
agent-browser --session flights snapshot -i
Set Cabin Class / Passengers (if non-default)
Cabin class:
agent-browser --session flights click @eN # Cabin class combobox
agent-browser --session flights snapshot -i
agent-browser --session flights click @eN # Select class
agent-browser --session flights wait 1000
agent-browser --session flights snapshot -i
Passengers:
agent-browser --session flights click @eN # Passengers button
agent-browser --session flights snapshot -i
agent-browser --session flights click @eN # "+" for Adults/Children/Infants
agent-browser --session flights snapshot -i
agent-browser --session flights click @eN # "Done"
agent-browser --session flights wait 1000
agent-browser --session flights snapshot -i
Enter Airport (Origin or Destination)
agent-browser --session flights click @eN # Combobox field
agent-browser --session flights wait 1000
agent-browser --session flights snapshot -i
agent-browser --session flights fill @eN "BKK"
agent-browser --session flights wait 2000 # CRITICAL: wait for autocomplete
agent-browser --session flights snapshot -i
agent-browser --session flights click @eN # Click suggestion (NEVER press Enter)
agent-browser --session flights wait 1000
agent-browser --session flights snapshot -i
Set Dates
agent-browser --session flights click @eN # Date textbox
agent-browser --session flights wait 1000
agent-browser --session flights snapshot -i
# Calendar shows dates as buttons: "Friday, March 20, 2026"
agent-browser --session flights click @eN # Click target date
agent-browser --session flights wait 500
agent-browser --session flights snapshot -i
# Click "Done" to close calendar
agent-browser --session flights click @eN # "Done" button
agent-browser --session flights wait 1000
agent-browser --session flights snapshot -i
Search
"Done" only closes the calendar. You MUST click "Search" separately.
agent-browser --session flights click @eN # "Search" button
agent-browser --session flights wait --load networkidle
agent-browser --session flights snapshot -i
# Keep session alive for booking links
Multi-City Specifics
After selecting "Multi-city" trip type, the form shows one row per leg:
- Each leg has: origin combobox, destination combobox, departure date textbox
- Origins auto-fill from the previous leg's destination
- Click "Add flight" to add more legs (default: 2 legs shown)
- Click "Remove flight from X to Y" buttons to remove legs
- Results show flights for the first leg, with prices reflecting the total multi-city cost
Fill each leg's destination + date in order, then click "Search".
Output Format
Always use compact list format — never markdown tables. Output is typically displayed in chatbot interfaces (Telegram, etc.) where tables render poorly.
Economy + Business comparison (default)
1. JAL — Nonstop · 5h 55m
8:05 AM → 4:00 PM
Economy: THB 23,255 · Business: THB 65,915 (+183%)
2. THAI — Nonstop · 5h 50m
10:30 PM → 6:20 AM+1
Economy: THB 28,165 · Business: THB 75,000 (+166%)
3. Air Japan — Nonstop · 6h 05m
12:10 AM → 8:15 AM
How to use google-flights on Cursor
AI-first code editor with Composer
Prerequisites
Before installing skills in Cursor, ensure your development environment meets these requirements:
- ›Cursor installed and configured on your development machine
- ›Node.js version 16.0+ with npm package manager (verify with
node --version) - ›Active project directory or workspace where you want to add google-flights
Execute installation command
Execute the skills CLI command in your project's root directory to begin installation:
The skills CLI fetches google-flights from GitHub repository skillhq/flight-search and configures it for Cursor.
Select Cursor when prompted
The CLI will show a list of available agents. Use arrow keys to navigate and space to select Cursor:
Verify installation
Confirm successful installation by checking the skill directory location:
Reload or restart Cursor to activate google-flights. Access the skill through slash commands (e.g., /google-flights) or your agent's skill management interface.
Security & Verification Notice
We perform automated surface-level scans (Gen AI Scanner, Socket, Snyk) during installation. These checks detect common vulnerabilities but do not guarantee complete security. Always review skill source code and verify the publisher's reputation before production use.
Skills execute code in your development environment. Always verify the publisher's identity, review recent commits, and test in isolated environments before production deployment.
List & Monetize Your Skill
Submit your Claude Code skill and start earning
Use Cases▌
Task Automation & Efficiency
Automate repetitive workflows and reduce manual effort
Example
Generate reports, summarize documents, draft communications
Save 3-5 hours per week on routine tasks
Knowledge Enhancement
Learn new skills, understand complex topics, get expert guidance
Example
Explain concepts, provide examples, suggest learning resources
Accelerate learning and skill development by 2x
Quality Improvement
Enhance output quality through reviews, suggestions, and refinements
Example
Review drafts, suggest improvements, catch errors
Improve work quality by 30-40% with less effort
Implementation Guide▌
Prerequisites
- ›Claude Desktop or compatible AI client with skill support
- ›Clear understanding of task or problem to solve
- ›Willingness to iterate and refine outputs
Time Estimate
15-45 minutes depending on use case complexity
Installation Steps
- 1.Install skill using provided installation command
- 2.Test with simple use case relevant to your work
- 3.Evaluate output quality and relevance
- 4.Iterate on prompts to improve results
- 5.Integrate into regular workflow if valuable
Common Pitfalls
- ⚠Expecting perfect results without iteration
- ⚠Not providing enough context in prompts
- ⚠Using skill for tasks outside its intended scope
- ⚠Accepting outputs without review and validation
Best Practices▌
✓ Do
- +Start with clear, specific prompts
- +Provide relevant context and constraints
- +Review and refine all outputs before using
- +Iterate to improve output quality
- +Document successful prompt patterns
✗ Don't
- −Don't use without understanding skill limitations
- −Don't skip validation of outputs
- −Don't share sensitive information in prompts
- −Don't expect skill to replace human judgment
💡 Pro Tips
- ★Be specific about desired format and style
- ★Ask for multiple options to choose from
- ★Request explanations to understand reasoning
- ★Combine AI efficiency with human expertise
When to Use This▌
✓ Use When
Use when skill capabilities match your task, clear ROI on time saved, and you can validate outputs. Best for repetitive tasks, learning, and quality improvement.
✗ Avoid When
Avoid when task requires deep expertise you can't validate, involves sensitive decisions, or when learning process is more valuable than speed of completion.
Learning Path▌
- 1Familiarize yourself with skill capabilities and limitations
- 2Start with low-risk, non-critical tasks
- 3Progress to more complex and valuable use cases
- 4Build expertise through regular use and experimentation
Discussion
Product Hunt–style comments (not star reviews)- No comments yet — start the thread.
Ratings
4.7★★★★★57 reviews- ★★★★★Benjamin Liu· Dec 20, 2024
google-flights is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.
- ★★★★★Anaya Agarwal· Dec 16, 2024
Useful defaults in google-flights — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.
- ★★★★★Sophia Jain· Dec 12, 2024
Keeps context tight: google-flights is the kind of skill you can hand to a new teammate without a long onboarding doc.
- ★★★★★Yuki Li· Dec 12, 2024
I recommend google-flights for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.
- ★★★★★Advait Flores· Dec 4, 2024
google-flights reduced setup friction for our internal harness; good balance of opinion and flexibility.
- ★★★★★Isabella Kim· Nov 23, 2024
I recommend google-flights for anyone iterating fast on agent tooling; clear intent and a small, reviewable surface area.
- ★★★★★Diego Srinivasan· Nov 7, 2024
Registry listing for google-flights matched our evaluation — installs cleanly and behaves as described in the markdown.
- ★★★★★Yusuf Malhotra· Nov 3, 2024
google-flights reduced setup friction for our internal harness; good balance of opinion and flexibility.
- ★★★★★Diego Iyer· Oct 26, 2024
google-flights reduced setup friction for our internal harness; good balance of opinion and flexibility.
- ★★★★★Noor Diallo· Oct 22, 2024
Registry listing for google-flights matched our evaluation — installs cleanly and behaves as described in the markdown.
showing 1-10 of 57