mcpField
S
search-hotel

search-hotel

github.com/justintravalaその他0188 回インストール23 週間前に更新
リポジトリ

search-hotel について

宿泊先の検索に使うスキルです。travel-cli で目的地や日程、人数、条件を指定し、料金や評価、客室確認・予約に使うホテル ID を取得します。

主な機能

  1. 01目的地と日程でホテル検索
  2. 02人数と部屋数の指定
  3. 03料金や設備による絞り込み
  4. 04料金、評価、ホテル ID の取得

活用シーン

  1. 01指定都市のホテルを比較
  2. 02予算内の宿泊先を検索
  3. 03プールや無料朝食で絞り込み

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/justintravala/travel-skills --skill search-hotel

インストール後、Claude Code で/search-hotelを入力して読み込まれたか確認します。

詳細

search-hotel

travel-cli を使用してホテルを検索します。条件に一致するホテルの一覧を、料金、評価、予約や客室オプションの確認に必要な ID とともに返します。

使用するタイミング

ユーザーが宿泊先を探したい場合に、このスキルを起動します。例:

  • 「5月1日から5月5日まで、東京のホテルを探して」
  • 「パリでオーシャンビューの4つ星ホテルを見せて」
  • 「来週末、渋谷の近くで泊まれる場所はある?」
  • 「バンコクで大人2人と子ども1人が泊まれる場所が必要です」

フライト、ツアー、レストラン、または宿泊以外の旅行に関する問い合わせには、このスキルを使用しないでください。

前提条件

travel-cli CLI が利用可能である必要があります。npx 経由で実行します:

npx @tvl-justin/travel-cli@latest search-hotel ...

ユーザーがグローバルにインストールしている場合(npm install -g @tvl-justin/travel-cli)、travel-cli を直接呼び出します。

呼び出し方法

コマンド全体:

npx @tvl-justin/travel-cli@latest search-hotel \
  --location "<city or destination>" \
  --checkin <YYYY-MM-DD> \
  --checkout <YYYY-MM-DD> \
  --rooms "<occupancy>" \
  --limit 5
パラメーターのルール
  • --location(必須) — 都市、地域、または目的地の名前です。ユーザーが指定した中で最も具体的な場所を使用します。ユーザーが「Tokyo」とだけ言った場合は "Tokyo" を使用し、「Shinjuku, Tokyo」と言った場合は "Shinjuku, Tokyo" を使用します。
  • --checkin / --checkout(必須) — YYYY-MM-DD 形式です。呼び出す前に、「来週末」「明日」などの相対日付を今日の日付に基づいて確定します。ユーザーが日付を1つと宿泊日数(「5月1日から3泊」など)だけを指定した場合は、チェックアウト日を計算します。
  • --rooms — 宿泊人数の文字列です。形式:
    • "2" = 1部屋、大人2人
    • "2,5" = 1部屋、大人2人+5歳の子ども1人
    • "2,3,8" = 1部屋、大人2人+3歳と8歳の子ども
    • 複数の部屋は ; で区切ります:"2;2,5" = 1部屋目は大人2人、2部屋目は大人2人+5歳の子ども1人
    • ユーザーが指定しない場合のデフォルト値は "2" です。
  • --limit — 返すホテルの件数です。デフォルトは5です。ユーザーがより多くの選択肢を希望する場合は10に増やします。
  • --min-price / --max-price — 1泊あたりの料金(USD)です。他の通貨は渡す前に必ず USD に換算します。例:「200万 VND 未満」→ --max-price 80。
  • --filters — カンマ区切りです。使用可能な値:free_breakfast、swimming_pool、ocean_view、all_inclusive。ユーザーが明示的に希望したフィルターのみを含めます。
  • --lat / --lng — 精度を高めるための任意の座標です。有名な都市の座標がわかる場合に使用します。

不足情報の確認

ユーザーが目的地を指定していて日程を指定していない場合は、チェックイン日とチェックアウト日(またはチェックイン日と宿泊日数)の両方を一度に尋ねます。問い合わせ内容からデフォルト以外の人数であることがわかる場合(例:「家族4人で」)を除き、宿泊人数は尋ねないでください。

出力

CLI は JSON を標準出力に出力します:

{
  "sessionId": "abc123",
  "hotels": [
    {
      "hotelId": "h_001",
      "name": "Park Hyatt Tokyo",
      "rating": 9.2,
      "star": 5,
      "pricePerNight": 450,
      "totalPrice": 1800,
      "currency": "USD",
      "packageId": "pkg_001",
      "refundability": "free_cancellation_until_2026-04-29"
    }
  ]
}

重要 — sessionId を保存してください。ユーザーが後続の呼び出し(search-room、book-hotel)を行う際に必要です。

ユーザーへの検索結果の提示

ホテル名、1泊あたりの料金、評価、注目すべき特徴を含む、見やすく簡潔なリストを表示します。生の JSON をそのまま出力しないでください。例:

東京で5月1日〜5月5日に宿泊できるホテルが5軒見つかりました:

  1. Park Hyatt Tokyo — 1泊 $450 · 9.2/10 · 4月29日までキャンセル無料
  2. Hotel Gracery Shinjuku — 1泊 $180 · 8.5/10 · 朝食無料
  3. ...

いずれかの客室オプションを確認しますか?それとも、このまま予約しますか?

次のステップを必ず明確に提案します:客室を確認する(search-room スキル)か、直接予約する(book-hotel スキル)。

よくあるエラー

  • Network error — Travel API に接続できません。ユーザーに伝え、再試行するか尋ねてください。
  • 400 Bad Request — 通常は日付が無効です(チェックアウト日がチェックイン日より前、日付が過去など)。入力を再確認し、もう一度尋ねてください。
  • No hotels found — より広い地域、または別の日程で試してください。

コメント