mcpField
T
travel-planner

travel-planner

github.com/ailabs-393生産性4604.1k 回インストール50 週間前に更新
リポジトリ

travel-planner について

travel-planner は Claude 向けの旅行計画スキルで、旅行の好みを保存し、個別の旅程、予算、持ち物リスト、文化ガイドを作成します。旅行中の支出記録や、旅行後の訪問先の記録にも対応します。

主な機能

  1. 01旅行の好みと旅行情報の保存
  2. 02日ごとの旅程作成
  3. 03旅行予算の内訳作成
  4. 04持ち物と出発準備リストの作成
  5. 05目的地の文化ガイド提供
  6. 06支出の記録と過去の旅行の更新

活用シーン

  1. 01好みに沿った複数日旅行の計画
  2. 02予算の見積もりと旅行中の支出管理
  3. 03持ち物リストと出発までの予定の準備
  4. 04目的地のマナーや実用情報の確認

インストール

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

$npx skills add https://github.com/ailabs-393/ai-labs-claude-skills --skill travel-planner

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

index.js
package.json
references/
cultural_etiquette.md
travel_guidelines.md
scripts/
plan_generator.py
travel_db.py

詳細

旅行プランナー

概要

このスキルはClaudeを包括的な旅行計画アシスタントに変え、旅行の好みを記録し、あらゆる目的地について旅程、予算の内訳、荷造りリスト、文化的なガイドラインを含む、詳細でパーソナライズされた旅行プランを作成します。

このスキルを使う場面

旅行関連のタスクには、このスキルを呼び出してください。

  • 旅行の計画と旅程の作成
  • 予算の計画と支出の管理
  • 目的地の調査とおすすめの紹介
  • 荷造りチェックリストの作成
  • 文化的なエチケットと、してよいこと・避けるべきことの確認
  • 旅行前の準備スケジュールの作成
  • 旅行の好みの管理

ワークフロー

ステップ 1:既存の好みを確認する

旅行の好みがすでにあるか確認します。

python3 scripts/travel_db.py is_initialized

「false」の場合は、ステップ 2(初期設定)に進みます。「true」の場合は、ステップ 3(旅行の計画)に進みます。

ステップ 2:初回の好みの収集

好みがまだない場合は、旅行に関する情報を幅広く収集します。

旅行のスタイルと予算:

  • 予算のレベル:節約、標準、高級
  • 旅行のペース:ゆったり、標準、盛りだくさん
  • 宿泊施設の好み:ホステル、ホテル、Airbnb、リゾート
  • 旅行の同行者:一人、カップル、家族、グループ

興味・アクティビティ:

  • 観光・ランドマーク
  • 食べ物・食体験
  • 冒険・アウトドアアクティビティ
  • 文化・歴史
  • ビーチ・リラクゼーション
  • ナイトライフ・エンターテインメント
  • ショッピング
  • 自然・野生動物
  • 写真撮影
  • ウェルネス・スパ

食事・健康:

  • 食事制限(ベジタリアン、ビーガン、アレルギー)
  • バリアフリーに関するニーズ
  • 健康上の留意事項
  • 体力レベル

言語・スキル:

  • 話せる言語
  • 旅行経験のレベル
  • 冒険への抵抗感

これまでの旅行:

  • 訪れた国・都市
  • お気に入りの目的地
  • 行ってみたい目的地

好みの保存:

import sys
sys.path.append('[SKILL_DIR]/scripts')
from travel_db import save_preferences

preferences = {
    "travel_style": "adventurous",
    "budget_level": "mid-range",
    "accommodation_preference": ["boutique hotels", "Airbnb"],
    "interests": ["culture", "food", "hiking", "photography"],
    "dietary_restrictions": ["vegetarian"],
    "pace_preference": "moderate",
    "travel_companions": "couple",
    "language_skills": ["English", "Spanish"],
    "previous_destinations": ["Paris", "Tokyo", "Barcelona"],
    "bucket_list": [
        {"destination": "New Zealand", "notes": "Lord of the Rings locations"},
        {"destination": "Peru", "notes": "Machu Picchu"}
    ]
}

save_preferences(preferences)

[SKILL_DIR] を実際のスキルパスに置き換えてください。

ステップ 3:新しい旅行を作成する

ユーザーが旅行の計画を希望する場合、次の情報を収集します。

必須情報:

  1. 目的地:都市・国
  2. 日程:出発日と帰着日(または柔軟な日程の範囲)
  3. 期間:日数
  4. 予算:総予算または1日あたりの予算
  5. 目的:休暇、出張、特別な行事
  6. 必ず見たい・体験したいもの:特定の観光スポットやアクティビティ

旅行の作成:

from travel_db import add_trip

trip = {
    "destination": {
        "city": "Barcelona",
        "country": "Spain",
        "region": "Catalonia"
    },
    "departure_date": "2025-06-15",
    "return_date": "2025-06-22",
    "duration_days": 7,
    "budget": {
        "total": 2500,
        "currency": "USD"
    },
    "purpose": "vacation",
    "travelers": 2,
    "climate": "warm Mediterranean",
    "activities": ["sightseeing", "food tours", "beach", "architecture"],
    "accommodation": {
        "type": "boutique hotel",
        "location": "Gothic Quarter"
    }
}

trip_id = add_trip(trip, status="current")
ステップ 4:目的地を調査する

ウェブ検索を使って、最新の情報を収集します。

調査する必須項目:

  1. 入国要件 - ビザ、パスポート、予防接種
  2. 訪問に最適な時期 - 天候、季節、祭り
  3. 安全情報 - 渡航情報、安全な地域、よくある詐欺
  4. 文化的な慣習 - してよいこと・避けるべきこと(ガイドとして references/cultural_etiquette.md を使用)
  5. 現地の交通機関 - 地下鉄、バス、タクシー、アプリ
  6. 主な観光スポット - 必見の場所、営業時間、料金
  7. 食事のおすすめ - 郷土料理、人気のレストラン
  8. 周辺地域 - 宿泊におすすめの場所、散策におすすめの場所
  9. 日帰り旅行の候補 - 近隣の観光スポット
  10. 実用情報 - 通貨、チップ、コンセント、言語

調査する検索トピック:

  • "[Destination] visa requirements for [nationality]"
  • "[Destination] best time to visit weather"
  • "[Destination] cultural do's and don'ts"
  • "[Destination] top attractions and activities"
  • "[Destination] local transportation guide"
  • "[Destination] where to stay neighborhoods"
  • "[Destination] food and restaurants"
  • "[Destination] scams to avoid"
  • "[Destination] budget guide"
  • "[Destination] 7-day itinerary"
ステップ 5:詳細な旅行計画を作成する

以下のすべての要素を含む包括的な計画を作成します。

A. 日ごとの旅程

ユーザーのペースの好みと調査内容に基づいて、各日の予定を組み立てます。

Day 1: Arrival & Gothic Quarter
- Morning (9:00 AM): Arrive Barcelona, hotel check-in
- Late Morning (11:00 AM): Walking tour of Gothic Quarter
  - Barcelona Cathedral
  - Plaça Reial
  - Las Ramblas (brief walk)
- Afternoon (2:00 PM): Lunch at Cal Pep (tapas)
- Afternoon (4:00 PM): Picasso Museum
- Evening (7:00 PM): Dinner in El Born neighborhood
- Evening (9:00 PM): Stroll along waterfront

Transportation: Metro from airport (30 min, €5)
Estimated Cost: €120/person (meals, museum, transport)
Notes: Book Picasso Museum tickets online in advance

各日について、以下を確実に含めます。

  • 地理的に無理のないグループ分け
  • 余裕を持たせた現実的な時間配分
  • さまざまな種類のアクティビティの組み合わせ
  • 食事の提案
  • 交通手段の詳細
  • 費用の見積もり
  • 予約に関する注意事項

B. 予算の内訳

plan_generator.py を使うか、手動で作成します。

from plan_generator import calculate_budget_breakdown

budget = calculate_budget_breakdown(
    total_budget=2500,
    num_days=7,
    accommodation_level="mid-range"
)

次のように提示します。

Total Budget: $2,500 (7 days)
Daily Average: $357

Breakdown:
- Accommodation: $875 (35%) - $125/night
  * Boutique hotel in Gothic Quarter
  * Includes breakfast

- Food: $625 (25%) - $89/day
  * Breakfast: Included
  * Lunch: $25-30/person
  * Dinner: $40-50/person
  * Snacks/drinks: $15/day

- Activities: $625 (25%) - $89/day
  * Sagrada Familia: $35
  * Park Güell: $13
  * Picasso Museum: $15
  * Food tour: $95
  * Day trip to Montserrat: $50
  * Other attractions: ~$100

- Transportation: $250 (10%) - $36/day
  * Airport transfers: $35 each way
  * Metro pass (7-day): $40
  * Taxis: ~$100 total

- Miscellaneous: $125 (5%)
  * Tips, emergencies, souvenirs

C. 持ち物チェックリスト

plan_generator.py を使うか、目的地の気候やアクティビティに基づいて作成します。

from plan_generator import generate_packing_checklist

checklist = generate_packing_checklist(
    destination_climate="warm Mediterranean",
    duration_days=7,
    trip_activities=["sightseeing", "beach", "dining"]
)

内容を調整して、次のように提示します。

ESSENTIALS:
- [ ] Passport (check 6-month validity)
- [ ] Visa (if required)
- [ ] Travel insurance documents
- [ ] Hotel confirmations
- [ ] Flight tickets
- [ ] Credit cards (notify bank)
- [ ] Euros cash (€200-300)
- [ ] Phone & charger
- [ ] European plug adapter
- [ ] Medications

CLOTHING (June weather: 70-80°F, sunny):
- [ ] 3 pairs shorts
- [ ] 2 pairs long pants
- [ ] 5-7 t-shirts/tops
- [ ] 1-2 dresses/nice shirts for dinner
- [ ] Light jacket for evenings
- [ ] Swimsuit
- [ ] Comfortable walking shoes
- [ ] Sandals
- [ ] Sun hat
- [ ] Sunglasses

ACTIVITIES:
- [ ] Day backpack
- [ ] Reusable water bottle
- [ ] Camera
- [ ] Beach towel (compact)
- [ ] Sunscreen SPF 50
- [ ] Walking tour comfortable shoes

D. 文化に関する注意点

references/cultural_etiquette.md をテンプレートとして使い、国ごとのガイドラインを調査して提示します。

SPAIN / BARCELONA - Cultural Etiquette

DO'S:
✓ Greet with "Hola" and a kiss on each cheek (friends)
✓ Learn basic Spanish/Catalan phrases
✓ Eat dinner late (9-10 PM is normal)
✓ Take your time with meals
✓ Dress stylishly (locals dress well)
✓ Respect siesta time (2-5 PM, some shops close)
✓ Say "Bon profit" before meals
✓ Tip 5-10% for good service

DON'TS:
✗ Don't expect early dinner (restaurants open at 8 PM)
✗ Don't wear beach clothes in city center
✗ Don't assume everyone speaks English
✗ Don't call it Spain - it's Catalunya to locals
✗ Don't rush through meals
✗ Don't yell or be loud in public
✗ Don't take photos in churches during mass

DINING ETIQUETTE:
- Lunch: 2-4 PM
- Dinner: 9-11 PM
- Service charge sometimes included (check bill)
- Say "La cuenta, por favor" for bill
- It's okay to share tapas
- Bread is not free at all restaurants

SAFETY TIPS:
- Watch for pickpockets on Las Ramblas and metro
- Keep bag in front in crowded areas
- Don't leave valuables on beach
- Be cautious accepting help from strangers
- Use official taxis or Uber/Cabify

E. 旅行前の準備タイムライン

plan_generator.py を使うか、出発日に基づいて作成します。

from plan_generator import generate_pre_trip_checklist

prep_checklist = generate_pre_trip_checklist(
    destination_country="Spain",
    departure_date="2025-06-15"
)

タイムラインとして提示します。

PRE-TRIP CHECKLIST

2 MONTHS BEFORE (April 15):
- [ ] Book flights
- [ ] Book hotel
- [ ] Purchase travel insurance
- [ ] Check passport expiration
- [ ] Research visa requirements
- [ ] Start researching activities

1 MONTH BEFORE (May 15):
- [ ] Book Sagrada Familia tickets (sell out!)
- [ ] Book food tour
- [ ] Book any other popular activities
- [ ] Notify bank of travel dates
- [ ] Set up international phone plan
- [ ] Download offline maps (Google Maps, Citymapper)
- [ ] Make dinner reservations (popular restaurants)

2 WEEKS BEFORE (June 1):
- [ ] Confirm all reservations
- [ ] Print/save all confirmations offline
- [ ] Exchange some currency (~€200)
- [ ] Check weather forecast
- [ ] Create packing list
- [ ] Arrange pet/plant care
- [ ] Hold mail delivery

1 WEEK BEFORE (June 8):
- [ ] Check in for flights (24 hours before)
- [ ] Pack luggage
- [ ] Charge all electronics
- [ ] Download language apps (Google Translate, Duolingo)
- [ ] Save emergency numbers
- [ ] Make copies of passport
- [ ] Clean out fridge

DAY BEFORE (June 14):
- [ ] Re-check flight time
- [ ] Prepare carry-on
- [ ] Take out trash
- [ ] Adjust thermostat
- [ ] Unplug electronics
- [ ] Set multiple alarms for departure
ステップ 6:旅行と予算を記録する

旅行中は、支出を記録します。

from travel_db import add_expense

expense = {
    "category": "food",
    "amount": 45.00,
    "description": "Dinner at Cervecería Catalana",
    "date": "2025-06-16"
}

add_expense(trip_id, expense)

予算の状況を確認します。

from travel_db import get_budget_summary

summary = get_budget_summary(trip_id)
# Shows: total_budget, spent, remaining, percentage_used, by_category
ステップ 7:旅行後の更新

旅行後、過去の旅行に移動し、次の情報を更新します。

from travel_db import move_trip_to_past, add_previous_destination

move_trip_to_past(trip_id)
add_previous_destination("Barcelona, Spain")

ベストプラクティス

  1. 十分に調査する - 最新で正確な情報をウェブ検索で調べます
  2. 現実的な計画を立てる - 予定を詰め込みすぎず、休息や予定外の行動の余地を確保します
  3. 早めに予約する - 人気の観光スポットは、特に繁忙期には予約が埋まります
  4. 予算に余裕を持たせる - 想定外の出費に備えて、10~20%を上乗せします
  5. 文化を尊重する - 現地の習慣を調べ、尊重します
  6. 安全を最優先する - 渡航情報を確認し、大使館に登録します
  7. 柔軟に対応する - 天候や状況は変化します
  8. すべて記録する - 予約確認書や重要な情報を保存し、オフラインでも確認できるようにします

やり取りの例

User: "I want to plan a 7-day trip to Barcelona in June"

Claude: [Checks preferences - finds initialized]

Great! I'll create a detailed travel plan for Barcelona. Based on your preferences,
I know you enjoy culture, food, and moderate-paced travel with a mid-range budget.

First, a few questions:
1. What are your exact travel dates?
2. What's your total budget?
3. Any specific must-see attractions?
4. Traveling solo or with someone?

User: "June 15-22, $2500 budget, want to see Gaudí architecture, traveling with partner"

Claude: [Creates trip in database, performs web research]

Perfect! I've created your Barcelona trip plan. Let me present the complete itinerary:

[Generates detailed 7-day itinerary with Sagrada Familia, Park Güell, Casa Batlló, etc.]
[Creates budget breakdown: $2500 over 7 days]
[Generates packing checklist for June Mediterranean weather]
[Provides Spanish cultural do's and don'ts]
[Creates timeline of pre-trip tasks]

Key highlights:
✓ Day 2: Sagrada Familia (book tickets NOW - they sell out)
✓ Day 4: Food tour in El Born (€95/person, worth it!)
✓ Day 6: Day trip to Montserrat
✓ Budget: $357/day average (€325)
✓ Accommodation: €125/night in Gothic Quarter

Important notes:
- Book Sagrada Familia tickets immediately
- Dinner reservations needed for Tickets Bar, Cervecería Catalana
- Pickpocket awareness on Las Ramblas
- Bring European plug adapter (Type C/F)

Would you like me to adjust anything in the itinerary?

技術上の注意事項

データ保存先:

  • 設定:~/.claude/travel_planner/preferences.json
  • 旅行:~/.claude/travel_planner/trips.json

CLI コマンド:

# Check initialization
python3 scripts/travel_db.py is_initialized

# View data
python3 scripts/travel_db.py get_preferences
python3 scripts/travel_db.py get_trips current
python3 scripts/travel_db.py stats

# Generate plan
python3 scripts/plan_generator.py --trip-id <id> --output plan.json

# Export backup
python3 scripts/travel_db.py export > backup.json

リソース

scripts/travel_db.py

設定、旅行、予算の記録、旅程、旅行統計を管理するデータベースです。

scripts/plan_generator.py

旅程、予算の内訳、持ち物チェックリスト、準備タイムラインを生成します。

references/travel_guidelines.md

目的地の調査、予算の計画、旅程の作成、荷造りの方法、安全に関するヒントを網羅したガイドです。

references/cultural_etiquette.md

国ごとの習慣、服装規定、食事のマナー、宗教上の配慮事項、避けるべきよくある失敗を調査するためのテンプレートとガイドラインです。

コメント