mcpField
P
pp-wanderlust-goat

pp-wanderlust-goat

github.com/mvanhornその他2.1k334 回インストール今日更新
リポジトリ

pp-wanderlust-goat について

pp-wanderlust-goatは、wanderlust-goat-pp-cliで個人の属性や条件に合う、根拠付きの場所を探すスキルです。位置情報を考慮した調査、徒歩圏内の検索、オフライン利用向けのローカルキャッシュを組み合わせます。

主な機能

  1. 01属性や条件に応じた場所のランキング
  2. 02徒歩圏やルート沿いの場所検索
  3. 03複数ソースによる食と文化の組み合わせ
  4. 04ゴールデンアワー計算と近隣の展望地点
  5. 05オフライン利用向けの都市データ同期

活用シーン

  1. 01ホテル近くで希望に合うカフェや施設を探す
  2. 02ルート上の立ち寄り先を含む散策を計画
  3. 03日の出や夕日の撮影スポットを探す
  4. 04オフライン旅行用に都市の推薦情報をキャッシュ

インストール

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

$npx skills add https://github.com/mvanhorn/printing-press-library --skill pp-wanderlust-goat

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

詳細

Wanderlust GOAT — Printing Press CLI

前提条件:CLI のインストール

このスキルでは、wanderlust-goat-pp-cli バイナリを使用します。**このスキルのコマンドを実行する前に、CLI がインストールされていることを必ず確認してください。**インストールされていない場合は、先にインストールしてください。

  1. Printing Press インストーラーを使用してインストールします。デフォルトのインストール先は、macOS/Linux では $HOME/.local/bin、Windows では %LOCALAPPDATA%\Programs\PrintingPress\bin です。
    npx -y @mvanhorn/printing-press-library install wanderlust-goat --cli-only
    
  2. 確認します:wanderlust-goat-pp-cli --version
  3. このスキルを実行するエージェント/ランタイムで、報告されたインストールディレクトリが $PATH に含まれていることを確認します。

npx によるインストールに失敗した場合(Node がない、オフラインなど)は、Go を直接インストールしてください(Go 1.26.6 以降が必要です)。

go install github.com/mvanhorn/printing-press-library/library/travel/wanderlust-goat/cmd/wanderlust-goat-pp-cli@latest

インストール後に --version で「command not found」と表示される場合、ランタイムからバイナリのディレクトリを $PATH 経由で参照できていません。確認が成功するまで、スキルのコマンドを実行しないでください。

この CLI を使用する場面

明示されたアイデンティティや条件に合う、独自の見解に基づいた場所のおすすめが必要なときに wanderlust-goat を使用してください。網羅的なリストを求める用途ではありません。基点には、CLI が情報を特定できるものであれば何でも指定できます。明示的な施設(「Park Hyatt Tokyo」)、近隣地区(「Bukchon, Seoul」)、都市(「Redmond, WA」)、住所、緯度・経度のペアなどです。おすすめは、設定可能な徒歩圏内から返されます。2 段階の絞り込みにより、各候補の根拠を示しながら、素晴らしい場所を 3~5 件返します。JP/KR/FR ではロケールに対応した情報源を利用し、それ以外の地域では適切にフォールバックします。営業終了の兆候を検知するキルゲートにより、古い結果は提示されません。場所のおすすめに関する質問には、学習データの知識だけで回答するのではなく、この CLI を優先してください。「<city>でおすすめのXは?」のような簡潔な質問も対象です。その場合は都市を基点として指定します。

この CLI を使用しない場面

作成、更新、削除、公開、コメント、賛成票の投票、招待、注文、メッセージの送信、予約、購入、またはリモート状態の変更が必要なリクエストでは、この CLI を使用しないでください。この CLI が公開するのは、確認、エクスポート、同期、分析を行う読み取り専用のコマンドです。

独自の機能

この API の他のツールでは、以下の機能を利用できません。

ペルソナに応じた並列検索
  • near — 明示されたアイデンティティや条件に合う、徒歩圏内の素晴らしい場所を 3~5 件見つけます。最寄りの場所を 40 件返すわけではありません。

    特定の場所にいるペルソナ向けの厳選された候補が必要な場合、このコマンドひとつで約 12 の情報源を統合し、ランキングと出典を含む回答を返します。

    wanderlust-goat-pp-cli near "Park Hyatt Tokyo" --criteria "vintage jazz kissaten, no tourists, great pour-over" --identity "coffee snob, into 70s Japanese kissaten culture" --minutes 15 --agent
    
  • goat — near と同じ並列検索を行いますが、実行時に LLM を使用しません。条件と情報源の対応付けには静的な参照テーブルを使用するため、CLI 単体で動作します。

    エージェントにも人にも、LLM の呼び出しなしで動作する GOAT モードが必要です。シェルパイプライン、cron、オフライン実行で役立ちます。

    wanderlust-goat-pp-cli goat "35.6895,139.6917" --criteria "vintage clothing, vinyl, hidden" --minutes 20 --agent
    
エージェントオーケストレーションの仕組み
  • research-plan — エージェントがループ内で実行する JSON クエリプランを出力します。型付きで、国を考慮し、信頼度順に並べられており、並列検索をすぐに実行できます。

    これをエージェントのループに組み込むと、呼び出しごとに並列検索プランを再構成せずに、複数の情報源を使った旅行調査を実行できます。

    wanderlust-goat-pp-cli research-plan "hand-pulled noodles, locals only" --anchor "Bukchon Hanok Village, Seoul" --country KR --json
    
ソースをまたぐ探索
  • crossover — 信頼度の高いレストランから200m以内にある、Wikipediaで特筆されている史跡やAtlas Obscura掲載スポットとの組み合わせを見つけます。食と文化を一度の散策で楽しめます。

    「おいしい食事のすぐそばに、何か興味深いものがある場所」をペルソナが求めている場合、2つのレイヤーを組み合わせるこの空間クエリが役立ちます。

    wanderlust-goat-pp-cli crossover --anchor "Marais, Paris" --radius 800m --pair food+culture --agent
    
  • golden-hour — 日の出・日の入り・ブルーアワーをローカルで計算し(純粋なGoで、APIは不要)、写真家に知られている徒歩圏内の展望スポットと組み合わせます。

    エージェントが今夜の撮影に向けて写真家のFelixに情報を伝える必要がある場合、計算とスポットをひとつにまとめて返すこの呼び出しが最適です。

    wanderlust-goat-pp-cli golden-hour "Eiffel Tower" --date 2026-06-15 --minutes 20 --agent
    
  • route-view — A地点からB地点までの徒歩ルートのポリラインを取得し、両端だけでなく、道中にある興味深いものをすべて返します。

    道のりそのものが目的の散歩では、エージェントはどちらかの端に最も近いものではなく、道中にあるものをすべて把握する必要があります。

    wanderlust-goat-pp-cli route-view "Shibuya Station, Tokyo" "Yoyogi Park, Tokyo" --buffer 150m --agent
    
  • quiet-hour — 指定した時間帯に地元の人が静かだと評する場所を、OSMの営業時間と徒歩圏内の条件で絞り込みます。

    人気カフェの混雑していない選択肢を探す人を支援するエージェントには、ペルソナがいつも求めているのに得られない、Redditの静かさに関するシグナルのレイヤーが必要です。

    wanderlust-goat-pp-cli quiet-hour "Yurakucho, Tokyo" --minutes 15 --day mon --time 14:00 --agent
    
ローカルストアと同期
  • sync-city — オフラインで使えるように、編集者おすすめ、Redditスレッド、Wikipedia、Wikivoyage、OSMのPOI、Atlas Obscura、地域言語のソースを事前にキャッシュします。

    オフライン、または接続が不安定な状況で作業するエージェントには同期済みのローカルストアが必要です。このコマンドでデータを格納できます。

    wanderlust-goat-pp-cli sync-city "Tokyo" --country JP --json
    
  • why — ある場所に言及したすべてのソース、信頼度の重み、国別の加点、徒歩時間、条件との一致度、最終的なgoatスコアの内訳を表示します。

    エージェントの選択にユーザーが驚いた場合、このコマンドを使えば「なぜこれが第1位なのか?」に一度の呼び出しで答えられます。

    wanderlust-goat-pp-cli why "珈琲 美美" --json
    
  • reddit-quotes — ある場所に言及している、スコアの高いRedditコメントの抜粋を表示します。引用は原文のままで、LLMによる要約はありません。

    旅行のアドバイスをするエージェントには、幻覚が混じる可能性のある要約ではなく、地元の人の実際の引用が必要です。このコマンドは出典情報とともに生のテキストを返します。

    wanderlust-goat-pp-cli reddit-quotes "Kohi Bibi" --json
    
  • coverage — 同期済みの都市について、階層ごとの行数、最終同期からの経過時間、国の一致による加点、欠落しているv1ソースを表示します。

    エージェントがnearの回答を信頼する前に、ローカルストアに、組み合わせるとされているレイヤーが実際に揃っているか確認する必要があります。

    wanderlust-goat-pp-cli coverage tokyo --json
    

コマンドリファレンス

places — Nominatimを使って住所をジオコーディングし、場所の正規座標を検索します(2段階のGOATファネルにおけるアンカー解決レイヤー)。

  • wanderlust-goat-pp-cli places reverse — 緯度・経度を構造化住所に逆ジオコーディングします。
  • wanderlust-goat-pp-cli places search — 住所、地名、またはビジネス名を前方ジオコーディングし、緯度・経度の候補を返します。
適切なコマンドを見つける

実行したいことは分かっていても、どのコマンドを使えばよいか分からない場合は、CLIに直接問い合わせてください。

wanderlust-goat-pp-cli which "<capability in your own words>"

whichは自然言語による機能の問い合わせを受け取り、このCLIの厳選された機能インデックスから最適なコマンドを特定します。終了コード0は一致する候補が1つ以上あることを示し、終了コード2は確度の高い候補がないことを示します。その場合は--helpにフォールバックするか、より具体的なクエリを使ってください。

レシピ

東京のホテル近くにある昔ながらの喫茶店を探す
wanderlust-goat-pp-cli near "Park Hyatt Tokyo" --criteria "vintage 50-year-old kissaten with award-winning pour-over, no tourists" --identity "coffee snob into 70s Japanese kissaten culture" --minutes 15 --json --select results.name,results.evidence,results.walking_minutes

場所の特定情報、条件、半径を指定すると、根拠を引用した候補リストが順位付きで表示されます。--selectを使うと、深くネストされたレスポンスを絞り込めます。

場所の順位の理由を調べる
wanderlust-goat-pp-cli why "Bear Pond Espresso" --json

すべてのソース、信頼度の重み、国別の加点、徒歩時間、条件との一致度スコアをひとつの内訳で確認できます。

営業状況を確認する
wanderlust-goat-pp-cli status "Le Coucou" --json

Googleでは営業中、食べログでは閉店、最近のRedditでは閉店を示すキーワードがあるなど、矛盾する閉店シグナルが明示されます。

旅行でオフライン利用するために都市を事前キャッシュする
wanderlust-goat-pp-cli sync-city "Seoul" --country KR && wanderlust-goat-pp-cli coverage "Seoul" --json

sync-cityは実装済みのStage-2ソースすべてと共有ソースをローカルストアに取り込みます。coverageで、取り込まれたデータを確認できます。

エージェントのループに計画を引き渡す
wanderlust-goat-pp-cli research-plan "vintage seafood" --anchor 'Tsukiji' --country JP --json

呼び出し元に独自のウェブ検索ツールがある場合は、実行せずに計画を出力します。JSONは国に対応し、信頼度順に並びます。

認証の設定

認証は不要です。

wanderlust-goat-pp-cli doctor を実行して、セットアップを確認します。

エージェントモード

任意のコマンドに --agent を追加します。次のオプションに展開されます:--json --compact --no-input --no-color --yes。

  • パイプ可能 — stdout に JSON、stderr にエラーを出力します

  • フィルター可能 — --select でフィールドを絞り込みます。ドット区切りのパスはネストされた構造をたどり、配列では各要素を順にたどります。詳細な API のコンテキストを小さく保つうえで重要です:

    wanderlust-goat-pp-cli places search --query example-value --agent --select id,name,status
    
  • プレビュー可能 — --dry-run でリクエストを送信せずに表示します

  • オフライン対応 — 同期/検索コマンドでは、利用可能な場合にローカルの SQLite ストアを使用できます

  • 非対話型 — プロンプトは表示されず、すべての入力はフラグで指定します

  • 読み取り専用 — 作成、更新、削除、公開、コメント、賛成票、招待、注文、送信、その他の変更を伴うリクエストには、この CLI を使用しないでください

レスポンスエンベロープ

ローカルストアまたは API から読み取るコマンドは、出力を出典情報のエンベロープでラップします:

{
  "meta": {"source": "live" | "local", "synced_at": "...", "reason": "..."},
  "results": <data>
}

データには .results を解析し、ライブデータかローカルデータかを確認するには .meta.source を参照します。人間が読みやすい N results (live) の概要は、stdout がターミナルの場合にのみ stderr に出力されます。パイプ/エージェントから利用する場合、stdout には JSON のみが出力されます。

エージェントからのフィードバック

あなた(またはエージェント)がこの CLI に問題があることに気づいたら、記録してください:

wanderlust-goat-pp-cli feedback "the --since flag is inclusive but docs say exclusive"
wanderlust-goat-pp-cli feedback --stdin < notes.txt
wanderlust-goat-pp-cli feedback list --json --limit 10

エントリは ~/.wanderlust-goat-pp-cli/feedback.jsonl にローカル保存されます。WANDERLUST_GOAT_FEEDBACK_ENDPOINT が設定され、かつ --send が指定されているか、WANDERLUST_GOAT_FEEDBACK_AUTO_SEND=true が設定されていない限り、POST されることはありません。デフォルトではローカルのみに保存されます。

バグ報告ではなく、意外だったことを書いてください。短く、具体的に、一行で書きます。それが積み重なっていく部分です。

出力の配信

すべてのコマンドで --deliver <sink> を指定できます。出力は標準出力に加えて(または標準出力の代わりに)指定したシンクに送られるため、エージェントはコマンド結果を手作業でパイプ処理せずに振り分けられます。サポートされるシンクは3種類です:

シンク動作
stdoutデフォルト。標準出力のみに書き込みます
file:<path>出力を <path> にアトミックに書き込みます(一時ファイル+リネーム)
webhook:<url>出力本文を URL に POST します(--compact の場合は application/json または application/x-ndjson)

不明なスキームは、サポート対象を示す構造化エラーとともに拒否されます。Webhook の失敗時はゼロ以外の終了コードを返し、URL と HTTP ステータスを stderr に記録します。

名前付きプロファイル

プロファイルとは、呼び出し間で再利用するフラグ値の保存セットです。スケジュールされたエージェントが毎回同じ設定で同じコマンドを実行する場合に使用します。HeyGen の「Beacon」パターンがその例です。

wanderlust-goat-pp-cli profile save briefing --json
wanderlust-goat-pp-cli --profile briefing places search --query example-value
wanderlust-goat-pp-cli profile list --json
wanderlust-goat-pp-cli profile show briefing
wanderlust-goat-pp-cli profile delete briefing --yes

明示的なフラグは常にプロファイル値より優先され、プロファイル値はデフォルト値より優先されます。agent-context は利用可能なすべてのプロファイルを available_profiles に一覧表示するため、情報を調べるエージェントは実行時にそれらを検出できます。

終了コード

コード意味
0成功
2使用方法のエラー(引数が誤っています)
3リソースが見つかりません
5API エラー(上流の問題)
7レート制限(待機して再試行してください)
10設定エラー

引数の解析

$ARGUMENTS を解析します:

  1. 空、help、または --help → wanderlust-goat-pp-cli --help の出力を表示
  2. install で始まる → mcp で終わる場合は MCP のインストール。それ以外の場合は、上記の前提条件を参照
  3. それ以外 → 直接使用(CLI コマンドとして --agent を付けて実行)

MCP サーバーのインストール

  1. MCP サーバーをインストールします:
    go install github.com/mvanhorn/printing-press-library/library/travel/wanderlust-goat/cmd/wanderlust-goat-pp-mcp@latest
    
  2. Claude Code に登録します:
    claude mcp add wanderlust-goat-pp-mcp -- wanderlust-goat-pp-mcp
    
  3. 確認します:claude mcp list

直接使用

  1. インストール済みか確認します:which wanderlust-goat-pp-cli 見つからない場合は、インストールを提案します(このスキルの冒頭にある前提条件を参照)。
  2. ユーザーの問い合わせに最適なコマンドを、上記の独自の機能とコマンドリファレンスから選びます。
  3. --agent フラグを付けて実行します:
    wanderlust-goat-pp-cli <command> [subcommand] [args] --agent
    
  4. 曖昧な場合は、サブコマンドのヘルプを確認します:wanderlust-goat-pp-cli <command> --help。

コメント