google-flights について
agent-browser コマンドラインで Google Flights を検索するスキルです。航空券の価格や時刻、空席を調べるエージェント向けで、URL 検索と結果整理に対応しますが、予約手続きは行いません。
主な機能
- 01価格・時刻・空席の検索
- 02片道・往復便の検索
- 03エコノミーとビジネスの比較
- 04予約リンクの抽出
- 05Markdown テーブルでの結果表示
活用シーン
- 01指定日の都市間運賃の比較
- 02便の時刻と空席状況の確認
- 03Southwest の現金運賃の検索
MCP 対応
MCP 連携についての記載はありません。agent-browser コマンドラインから Google Flights にアクセスします。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ borski/ travel-hacking-toolkit --skill google-flightsインストール後、Claude Code で/google-flightsを入力して読み込まれたか確認します。
詳細
Google Flights 検索
agent-browser を使用して Google Flights を検索し、航空券の料金、スケジュール、空席状況を確認します。
前提条件
agent-browser CLI が必要です:
npm install -g agent-browser && agent-browser install
使用する場面
- ユーザーが航空券や運賃の検索、発見、比較を依頼した場合
- ユーザーが都市間の航空券の料金を知りたい場合
- ユーザーがフライトのスケジュールや空席状況を尋ねた場合
- ユーザーが特定の日程で最安値の航空券を探したい場合
- Southwest のフライト:Google Flights は、Southwest の現金価格を確認できる数少ない情報源のひとつです。GDS や API では Southwest の情報を取得できません。
使用しない場面
- 購入手続きの完了:このスキルではフライトを検索して予約リンクを抽出しますが、予約サイトで購入手続きを完了しないでください。
- ホテル/レンタカー:フライト以外の旅行検索には、別のツールを使用してください。
- 過去の料金データ:Google Flights が表示するのは現在の料金であり、過去の料金ではありません。
セッション規約
- エコノミー+ビジネスの比較(デフォルト):
--session econと--session biz - 単一クラスの検索:
--session flights - 対話型の代替手順:
--session flights
高速手順:URL ベースの検索(推奨)
自然言語の ?q= パラメーターを含む URL を作成します。合計 3 コマンドで結果を直接読み込みます。
URL テンプレート
https://www.google.com/travel/flights?q=Flights+from+{ORIGIN}+to+{DEST}+on+{DATE}[+returning+{DATE}][+one+way][+business+class][+N+passengers][&gl=XX]
デフォルト:エコノミー+ビジネスの比較
料金差を表示するため、2 つのセッション(エコノミーとビジネス)を並行して実行します:
# Launch both in parallel
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
片道
URL に +one+way を追加します:
agent-browser --session flights open "https://www.google.com/travel/flights?q=Flights+from+LAX+to+LHR+on+2026-04-15+one+way"
agent-browser --session flights wait --load networkidle
agent-browser --session flights snapshot -i
URL で使用できる項目
| 機能 | URL 構文 | ステータス |
|---|---|---|
| 往復 | +returning+YYYY-MM-DD | 使用可能 |
| 片道 | +one+way | 使用可能 |
| ビジネスクラス | +business+class | 使用可能 |
| ファーストクラス | +first+class | 使用可能 |
| N 名の乗客 | +N+passengers | 使用可能 |
| 大人+子ども | +2+adults+1+child | 使用可能 |
| IATA コード | BKK、NRT、LAX | 使用可能 |
| 都市名 | Bangkok、Tokyo | 使用可能 |
| YYYY-MM-DD 形式の日付 | 2026-03-20 | 使用可能(最適) |
| 市場/ロケール | &gl=TH(国コード) | 使用可能 |
| プレミアムエコノミー | +premium+economy | 非対応 |
| 複数都市 | 該当なし | 非対応 |
スナップショットからの結果の読み取り
各フライトは、詳細な説明を含む link 要素として表示されます:
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"
結果を Markdown テーブルにまとめます(下記の「出力形式」を参照)。
市場選択の方針
国ごとの市場によって、同じ路線でも異なる料金が表示されます。必ず次の順に試してください:
- 出発国の市場を最初に試す(米国発のフライトなら
&gl=US) - 目的地の国の市場を試す(日本行きのフライトなら
&gl=JP) - 追加の市場を試す前に、ユーザーに確認する
&gl=XX パラメーターで市場を指定します。ISO 3166-1 alpha-2 の国コードを使用してください。
予約オプションへの引き継ぎ
結果を提示した後、予約リンクを案内します。ユーザーがフライトを選んだら:
agent-browser --session econ click @eN # Click the flight's link
agent-browser --session econ wait 3000
agent-browser --session econ snapshot -i # Shows booking providers with prices and URLs
出力形式
フライトの結果は必ず Markdown テーブルで表示してください。
エコノミー+ビジネスの比較(デフォルト)
| # | 航空会社 | 経由地 | 所要時間 | 出発 | 到着 | エコノミー | ビジネス | 料金差 |
|---|---|---|---|---|---|---|---|---|
| 1 | JAL | 直行 | 5h 55m | 8:05 AM | 4:00 PM | $523 | $1,490 | +185% |
| 2 | THAI | 直行 | 5h 50m | 10:30 PM | 6:20 AM+1 | $628 | $1,675 | +166% |
エコノミーのみ
| # | 航空会社 | 経由地 | 所要時間 | 出発 | 到着 | 料金 |
|---|---|---|---|---|---|---|
| 1 | JAL | 直行 | 5h 55m | 8:05 AM | 4:00 PM | $523 |
書式ルール
- フライトごとに 1 行を使用する
- 乗り継ぎ便では経由都市を表示する(例:「ICN 経由で 1 回乗り継ぎ」)
- テーブルをコードブロックで囲まない
- テーブルの後に、最安、最速、最もお得なフライトを強調する
対話型ワークフロー(代替手順)
複数都市、プレミアムエコノミーの場合、または URL による手順が失敗した場合に使用します。フォーム入力、日付選択、複数都市検索のステップごとのコマンドを含む完全な対話型リファレンスについては、ajimix/travel-hacking-toolkit の google-flights スキルを参照してください。
主なルール
| ルール | 理由 |
|---|---|
| URL の高速パスを優先します | インタラクティブ操作を 15 回以上行う代わりに、3 つのコマンドで済みます |
wait --load networkidle を使用します | 固定の wait 5000 よりも適切に待機できます |
空港コードには type ではなく fill を使用します | 既存のテキストを先に消去します |
| 空港コードを入力した後は 2 秒待ちます | オートコンプリートには API との往復通信が必要です |
| 候補は必ずクリックし、Enter は使いません | オートコンプリートでは Enter が確実に機能しません |
| 操作のたびにスナップショットを再取得します | DOM が変化すると参照が無効になります |
| 予約リンク用に結果のセッションを維持します | 差分を取得した後、biz セッションを閉じます |
トラブルシューティング
- 同意ポップアップ:スナップショット内の「Accept all」または「Reject all」をクリックします。
- URL の高速パスが機能しなかった場合:インタラクティブ操作に切り替えます。
- ボット検知/CAPTCHA:ユーザーに伝えます。CAPTCHA の解決は行わないでください。