Communitygithub.com

Lord1Egypt/awesome-skill-forge

OpenStreetMap/OSRM を利用してジオコーディング、POI 検索、ルート案内、タイムゾーン情報などを提供します。

awesome-skill-forge とは?

Maps Skill は、OpenStreetMap や OSRM などの無料・オープンデータソースを活用した位置情報インテリジェンスツールです。8 つのコマンド、44 の POI カテゴリを備え、Python 標準ライブラリのみで動作するため、追加のパッケージインストールや API キーは不要です。主な機能として、地名から座標を取得する `search`、座標から住所を逆引きする `reverse`、周辺の施設をカテゴリ別に検索する `nearby`、2 地点間の距離や移動時間を計算する `distance`、ターンバイターン方式の道順を取得する `directions`、座標からタイムゾーンを調べる `timezone`、地名のバウンディングボックスを取得する `area`、矩形範囲内で POI を検索する `bbox` があります。Telegram の位置情報ピンと連携しやすく、ユーザーが送信した緯度・経度を直接 `nearby` コマンドに渡すことで、周辺のレストランや病院などを素早く案内できます。結果には名前、住所、距離、Google Maps リンク、営業時間などが含まれ、ルート案内では各ステップの指示や移動種別も提供します。

対応✓Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/Lord1Egypt/awesome-skill-forge/tree/HEAD/skills/maps

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

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

ドキュメント

Maps Skill

無料・オープンデータソースを利用した位置情報インテリジェンス。8 つのコマンド、44 の POI カテゴリ、依存関係ゼロ(Python 標準ライブラリのみ)、API キー不要。

データソース: OpenStreetMap/Nominatim、Overpass API、OSRM、TimeAPI.io。

このスキルは旧 find-nearby スキルを統合しています。find-nearby の全機能は以下の nearby コマンドでカバーされ、同じ --near "<場所>" ショートカットと複数カテゴリ対応を備えています。

使用タイミング

  • ユーザーが Telegram の位置情報ピン(メッセージ内の緯度・経度)を送信した場合 → nearby
  • ユーザーが地名の座標を知りたい場合 → search
  • ユーザーが座標を持っていて住所を知りたい場合 → reverse
  • ユーザーが近くのレストラン、病院、薬局、ホテルなどを尋ねた場合 → nearby
  • ユーザーが運転/徒歩/自転車での距離や移動時間を知りたい場合 → distance
  • ユーザーが 2 地点間のターンバイターン方式の道順を知りたい場合 → directions
  • ユーザーが場所のタイムゾーン情報を知りたい場合 → timezone
  • ユーザーが地理的な領域内で POI を検索したい場合 → area + bbox

前提条件

Python 3.8+(標準ライブラリのみ — pip インストール不要)。

スクリプトパス: ~/.hermes/skills/maps/scripts/maps_client.py

コマンド

MAPS=~/.hermes/skills/maps/scripts/maps_client.py

search — 地名のジオコーディング

python3 $MAPS search "Eiffel Tower"
python3 $MAPS search "1600 Pennsylvania Ave, Washington DC"

返り値: 緯度、経度、表示名、種別、バウンディングボックス、重要度スコア。

reverse — 座標から住所へ

python3 $MAPS reverse 48.8584 2.2945

返り値: 完全な住所分解(通り、市区町村、州、国、郵便番号)。

nearby — カテゴリ別に場所を検索

# 座標から(例:Telegram の位置情報ピン)
python3 $MAPS nearby 48.8584 2.2945 restaurant --limit 10
python3 $MAPS nearby 40.7128 -74.0060 hospital --radius 2000

# 住所 / 市区町村 / 郵便番号 / ランドマークから — --near で自動ジオコーディング
python3 $MAPS nearby --near "Times Square, New York" --category cafe
python3 $MAPS nearby --near "90210" --category pharmacy

# 複数カテゴリを1回のクエリでマージ
python3 $MAPS nearby --near "downtown austin" --category restaurant --category bar --limit 10

46 カテゴリ: restaurant、cafe、bar、hospital、pharmacy、hotel、guest_house、camp_site、supermarket、atm、gas_station、parking、museum、park、school、university、bank、police、fire_station、library、airport、train_station、bus_stop、church、mosque、synagogue、dentist、doctor、cinema、theatre、gym、swimming_pool、post_office、convenience_store、bakery、bookshop、laundry、car_wash、car_rental、bicycle_rental、taxi、veterinary、zoo、playground、stadium、nightclub。

各結果には: name、address、lat/lon、distance_m、maps_url(タップ可能な Google Maps リンク)、directions_url(検索地点からの Google Maps 案内)、および利用可能な場合はプロモーションタグ — cuisine、hours(営業時間)、phone、website。

distance — 移動距離と時間

python3 $MAPS distance "Paris" --to "Lyon"
python3 $MAPS distance "New York" --to "Boston" --mode driving
python3 $MAPS distance "Big Ben" --to "Tower Bridge" --mode walking

モード: driving(デフォルト)、walking、cycling。道路距離、所要時間、比較用の直線距離を返します。

directions — ターンバイターンナビゲーション

python3 $MAPS directions "Eiffel Tower" --to "Louvre Museum" --mode walking
python3 $MAPS directions "JFK Airport" --to "Times Square" --mode driving

番号付きのステップを、指示、距離、所要時間、道路名、操作種別(turn、depart、arrive など)とともに返します。

timezone — 座標のタイムゾーン

python3 $MAPS timezone 48.8584 2.2945
python3 $MAPS timezone 35.6762 139.6503

タイムゾーン名、UTC オフセット、現在の現地時間を返します。

area — 場所のバウンディングボックスと面積

python3 $MAPS area "Manhattan, New York"
python3 $MAPS area "London"

バウンディングボックス座標、幅/高さ(km)、おおよその面積を返します。bbox コマンドの入力として便利です。

bbox — バウンディングボックス内を検索

python3 $MAPS bbox 40.75 -74.00 40.77 -73.98 restaurant --limit 20

地理的な矩形内で POI を検索します。まず area を使って名前付き場所のバウンディングボックス座標を取得してください。

Telegram 位置情報ピンの取り扱い

ユーザーが位置情報ピンを送信すると、メッセージには latitude: と longitude: フィールドが含まれます。それらを抽出してそのまま nearby に渡します:

# ユーザーが (36.17, -115.14) にピンを送信し「近くのカフェを探して」と尋ねた場合
python3 $MAPS nearby 36.17 -115.14 cafe --radius 1500

結果は、名前、距離、maps_url フィールドを含む番号付きリストで提示し、ユーザーがタップしてリンクを開けるようにします。「今開いてる?」という質問に対しては、hours フィールドを確認してください。もし不明瞭または欠落している場合は、web_search で確認してください。OSM の営業時間はコミュニティ管理であり、常に最新とは限らないためです。

ワークフロー例

「コロッセオの近くでイタリアンレストランを探して」:

  1. nearby --near "Colosseum Rome" --category restaurant --radius 500 — 1 コマンドで、自動ジオコーディング

「相手が送ってきたこの位置情報ピンの近くは?」:

  1. Telegram メッセージから緯度・経度を抽出
  2. nearby LAT LON cafe --radius 1500

「ホテルからコンベンションセンターまでどう歩く?」:

  1. directions "Hotel Name" --to "Conference Center" --mode walking

「シアトルのダウンタウンにはどんなレストランがある?」:

  1. area "Downtown Seattle" → バウンディングボックスを取得
  2. bbox S W N E restaurant --limit 30

注意点

  • Nominatim ToS: 最大 1 req/s(スクリプトが自動処理)
  • nearby には緯度・経度 または --near "<住所>" のいずれかが必要 — どちらか一方が必要
  • OSRM のルーティングカバレッジはヨーロッパと北米で最良
  • Overpass API はピーク時に遅くなる可能性があります。スクリプトは自動的にミラー間でフォールバックします(overpass-api.de → overpass.kumi.systems)
  • distance と directions は目的地に --to フラグを使用します(位置引数ではありません)
  • 郵便番号だけで世界的にあいまいな結果になる場合は、国や州を含めてください

検証

python3 ~/.hermes/skills/maps/scripts/maps_client.py search "Statue of Liberty"
# 緯度 ~40.689、経度 ~-74.044 が返るはず

python3 ~/.hermes/skills/maps/scripts/maps_client.py nearby --near "Times Square" --category restaurant --limit 3
# Times Square から約 500m 以内のレストランのリストが返るはず

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

Lord1Egypt/awesome-skill-forge

Generate a conversion-focused landing page that compares offers, pricing cues, and trust signals for a insurance agency. Use when handling offer...

Lord1Egypt/awesome-skill-forge

Generates a complete landing page with copy, layout, hero image, and responsive design from a text description. Use when launching a product quickly.

Lord1Egypt/awesome-skill-forge

Generate a conversion-focused landing page that compares offers, pricing cues, and trust signals for a family law practice. Use when handling offer...

Lord1Egypt/awesome-skill-forge

Generate a conversion-focused landing page that compares offers, pricing cues, and trust signals for a fractional CFO firm. Use when handling offer...

Lord1Egypt/awesome-skill-forge

Generate a conversion-focused landing page that compares offers, pricing cues, and trust signals for a home remodeling company. Use when handling offer...

Lord1Egypt/awesome-skill-forge

Generate a conversion-focused landing page that compares offers, pricing cues, and trust signals for a HVAC service company. Use when handling offer...

Lord1Egypt/awesome-skill-forge

Generate a conversion-focused landing page that compares offers, pricing cues, and trust signals for a immigration law firm. Use when handling offer...

Lord1Egypt/awesome-skill-forge

Generate a conversion-focused landing page that compares offers, pricing cues, and trust signals for a CPA tax advisory firm. Use when handling offer...

Lord1Egypt/awesome-skill-forge

Generate a conversion-focused landing page that compares offers, pricing cues, and trust signals for a estate planning law firm. Use when handling...

Lord1Egypt/awesome-skill-forge

Fastest way to create or update a pawr.link profile. One curl command, $19 USDC to create, $0.10 to update. Patch-style update-links endpoint lets you add, remove, or move individual links without replacing the whole profile.

Lord1Egypt/awesome-skill-forge

Use this skill when the user wants to review today, look back on yesterday, reflect on this week, or wrap things up with a gentle, low-pressure reflection.

Lord1Egypt/awesome-skill-forge

Read-only queue dashboard for workspace-aware ship. (gstack)

Lord1Egypt/awesome-skill-forge

Landing page quality assessment for paid advertising campaigns. Evaluates message match, page speed, mobile experience, trust signals, form optimization, and conversion rate potential. Use when user says landing page, post-click experience, landing page audit, LP audit, conversion rate, landing page CRO, post-click CRO, or landing page optimization.

Lord1Egypt/awesome-skill-forge

Create HTML-based video compositions, animated title cards, social overlays, captioned talking-head videos, audio-reactive visuals, and shader transitions using HyperFrames. HTML is the source of truth for video. Use when the user wants a rendered MP4/WebM from an HTML composition, wants to animate text/logos/charts over media, needs captions synced to audio, wants TTS narration, or wants to convert a website into a video.

Lord1Egypt/awesome-skill-forge

Search arXiv papers by keyword, author, category, or ID.

Lord1Egypt/awesome-skill-forge

Delegate coding to OpenAI Codex CLI (features, PRs).

Lord1Egypt/awesome-skill-forge

Track Apple devices/AirTags via FindMy.app on macOS.

Lord1Egypt/awesome-skill-forge

Jailbreak LLMs: Parseltongue, GODMODE, ULTRAPLINIAN.

Lord1Egypt/awesome-skill-forge

Notion API + ntn CLI: pages, databases, markdown, Workers.

Lord1Egypt/awesome-skill-forge

p5.js sketches: gen art, shaders, interactive, 3D.

関連スキル