Communitygithub.com

orodmorais/trip-map-3d

会話から旅行プランをインタラクティブな3D地図サイトに変換します。目的地、日程、天気、オフライン対応を備えたウェブサイトを生成します。

trip-map-3d とは?

このスキルは、旅行の会話から、実際の地形と日別ルート、天気情報を表示する3D地図サイトを自動生成します。Claude CodeやCursorなど、ファイル作成・コマンド実行が可能なAIエージェント向けに設計されています。ユーザーに数回の質問で目的地、日程、日々のアクティビティ、言語、単位などを尋ね、それらを `trip.yaml` にまとめます。その後、ジオコーディング(位置情報解決)と3Dマップ生成のパイプラインを実行し、最終的にGitHub Pagesで公開します。鍵となるのは、公共API(Open-Meteo、ジオコーダー)の利用制限を尊重し、ユーザー確認を徹底しながら、一度の設定で旅行全体を表現できる点です。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/orodmorais/trip-map-3d/tree/HEAD

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

trip-map-3d は何をしますか?

旅行をウェブサイトに変換します。各地域のリアルな3D地図、日別のアニメーションルート、ピン、カード、天気、オフライン対応を備えています。すべては1つのファイル trip.yaml から生成されます。

1. 旅行について質問する

不足している情報について、一度にいくつかの質問をしてください。

  • 場所、期間、日数。
  • 各日の計画とその順序。名前だけで十分です。
  • 宿泊先について。最初に、サイトが無料のGitHubアカウントで公開されることを警告し、地域名だけで十分だと伝えてください。ユーザーが強く希望しない限り、番地を書かないでください。
  • 言語(en、pt-BR、es)と単位。
  • 任意:サーフスポット、潮汐、写真、テーマ。

写真はユーザー自身のものかライセンス済みのものでなければなりません。インターネットから写真をダウンロードしてはいけません。

2. trip.yaml を作成する

examples/trip.example.yaml に従ってください。必須なのは title、dates.start、days のみです。場所名には必ず都市を追加してください:"パンテオン" ではなく "パンテオン、ローマ" としてください。

3. ビルドと確認

python -m pip install -r requirements.txt
python -m pipeline check trip.yaml

レポートをユーザーと一緒に1行ずつ読んでください。ジオコーダーは誤った結果を出す可能性があるため、見つかったすべての場所をユーザーに示してください。CHECK とマークされた行は確認が必要です。場所が間違っていたり欠けている場合は、検索を再試行する代わりに places: に lat と lon を追加してください。

次にビルドします:

python -m pipeline build trip.yaml --out dist
python -m pip install -r requirements-dev.txt
python tools/check_site.py dist --shots shots --hashes "" dia-1

スクリーンショットを開き、問題なく動作することを確認してから完了と言ってください。すべての場所が収まり、ルートがカードの下に隠れていないこと、エラーが出力されていないことを確認してください。

4. 公開 — ユーザーの確認後にのみ行う

リポジトリ名と公開設定について確認してください。その後:

  1. このテンプレートから作成したリポジトリにプッシュします。
  2. Settings > Pages で Source を GitHub Actions に設定します。この手順は手動で行います。
  3. プッシュごとにワークフローがビルドと公開を実行します。

ルール

  • 公開サービスは共有リソースです。ループさせないでください。trip.lock.json はすべての回答を保持します。これをコミットし、再試行のために削除しないでください。
  • このプロジェクトは公開Nominatim APIを使用しません。そのポリシーでは、汎用ジオコーダーとしてこのようなツールに組み込むことを禁止しています。ユーザーがNominatimを要求した場合は、利用ポリシーと services.geocoder を参照して独自インスタンスを使用するよう案内してください。
  • 無料のOpen-Meteo APIは非商用利用向けです。旅行代理店が使用する場合は有料キーが必要です。services.open_meteo_key を設定してください。
  • サイト内のデータクレジットは維持してください。これらは法的に要求されています(DATA_SOURCES.md を参照)。

関連スキル