mcpField
P
pp-usgs-earthquakes

pp-usgs-earthquakes

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

pp-usgs-earthquakes について

pp-usgs-earthquakesは、USGS地震データを扱うCLI向けのエージェントスキルです。ローカルSQLiteキャッシュ、複数イベントの分析、エージェント向け出力を備えています。

主な機能

  1. 01USGS地震イベントの検索と取得
  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-usgs-earthquakes

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

詳細

USGS 地震 — Printing Press CLI

前提条件:CLI をインストールする

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

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

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

go install github.com/mvanhorn/printing-press-library/library/other/usgs-earthquakes/cmd/usgs-earthquakes-pp-cli@latest

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

この CLI を使用する場面

エージェントが USGS の地震について質問に答える必要がある場合はいつでも、この CLI を使用してください。最近の活動、過去の地震の検索、個別イベントの詳細、余震系列、地域間の比較、リアルタイム監視などに対応します。速度が重要な場合(オフラインの SQLite キャッシュ)、出力をエージェント向けにする必要がある場合(すべてのコマンドで --json、--select、--compact、--csv を使用)、または生の FDSN API では複数のイベントをつなぎ合わせる必要があるワークフローに適しています。USGS 以外の地震ネットワーク(IRIS event service、EMSC)や、波形/観測点データには適していません。これらには obspy のような FDSN station-service クライアントが必要です。

この CLI を使用しない場面

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

独自の機能

これらの機能は、この API 向けのほかのツールでは利用できません。

リアルタイム監視
  • watch — USGS サマリーフィードを長時間ポーリングし、ローカルストアと照合して重複を排除します。新しいイベントごとに任意のシェルフックを実行し、独自のアラートを設定できます。

    ポーリングループを書かずに USGS の地震を長時間監視したい場合に使用してください。プラグイン可能なシェルフックにより、notify-send、Slack curl、ページングシステムなど、あらゆるものと組み合わせられます。

    usgs-earthquakes-pp-cli watch --min-magnitude 5 --notify "echo {id}: {place}" --interval 60s
    
イベントをまたいだ分析
  • aftershocks — 本震の発生後、半径 R km、T 日以内のイベントを時刻順に表示します。ローカルの SQLite でハーバーサイン距離を使って検索し、キャッシュにない場合は FDSN にフォールバックします。

    本震のイベント ID があり、その後に何が起きたかを確認したい場合に使用してください。単一の呼び出しで済ませる代わりに /query を数十回呼び出して jq でつなぎ合わせる方法もあります。

    usgs-earthquakes-pp-cli aftershocks us7000abcd --radius-km 100 --days 30 --min-mag 3.0 --json
    
  • swarm-detect — ローカルの地震ストア内の時空間クラスターを検出します。グリッドバケットによるクラスタリングで、前震/余震系列、火山性群発地震、誘発地震のホットスポットを特定します。

    火山、断層帯、またはフラッキング地域で異常なクラスターを監視する場合に使用してください。出力には、各クラスターの中心、件数、最大マグニチュード、時間範囲が示されます。

    usgs-earthquakes-pp-cli swarm-detect --bbox -122.5,46.5,-121.5,47.5 --window 7d --min-events 10 --cluster-radius-km 20 --json
    
  • compare — 2 つの地域または 2 つの期間を並べて比較します。件数、最大マグニチュード、総地震エネルギーを並列の列で返します。

    「地域 A は地域 B より活発か?」や「この地域は以前より静かになったか?」に答える場合に使用してください。変化率とエネルギー比も出力されます。

    usgs-earthquakes-pp-cli compare --region-a -122.5,37.5,-122.0,37.9 --region-b -118.5,33.8,-118.0,34.2 --window 30d --json
    
エージェント向け出力
  • brief — 単一の地震について、エージェントがすぐに使えるブリーフィングを作成します。マグニチュード、場所、PAGER アラート、DYFI の有感報告数、ShakeMap MMI、津波の状況、プロダクトの一覧が含まれます。

    編集者や後続のエージェントがそのまま原稿に使える、1件のイベント概要が必要なニュースルームや Slack の場面でご利用ください。USGS のイベントページ URL も含まれます。

    usgs-earthquakes-pp-cli brief us7000abcd --format markdown
    
  • top — 複合的な編集スコア(重要度 × アラートの重み × 有感報告数 × 津波フラグ)で最近のイベントを順位付けします。デフォルトの期間は 24h、件数は 10 です。

    「マグニチュード順ですべてのイベント」ではなく、「今まさに重要なイベント」を知りたいときにご利用ください。複合スコアでは、マグニチュードそのものより、有感報告、PAGER、津波の情報が重視されます。

    usgs-earthquakes-pp-cli top --window 24h --limit 10 --score composite --json
    
蓄積されるローカル状態
  • changes — 前回の同期からの差分を表示します。新たに発生したイベント、マグニチュード・深さ・アラートが修正されたイベント、取り下げられたイベントを確認できます。USGS の解の改訂を時系列で追跡します。同期が少なくとも 2 回完了するまでは「まだ改訂は記録されていません」と返します。

    これまで自動処理されていたイベントが、アナリストによって確認され、マグニチュードやアラートが修正された可能性がある場合や、「前回確認してから何が変わったか」を知りたいときにご利用ください。

    usgs-earthquakes-pp-cli changes --since 24h --type revised --min-mag-delta 0.3 --json
    
  • decode-id — USGS のイベント ID を解析し、ソースネットワークコード、シーケンス、運営機関名を表示します。キャッシュされた貢献機関辞書を参照し、ネットワークの表示名も取得します。

    不透明な USGS イベント ID(例:nc73947885、ak0202xyz)を見て、データを確認する前にどのネットワークから報告されたものか知りたいときにご利用ください。

    usgs-earthquakes-pp-cli decode-id us7000abcd
    

コマンドリファレンス

catalogs — USGS の地震ソースカタログ(ANSS の貢献機関と処理センター)

  • usgs-earthquakes-pp-cli catalogs — FDSN Event サービスで認識されているすべてのソースカタログを一覧表示します(XML 応答)

contributors — USGS の地震データ貢献機関

  • usgs-earthquakes-pp-cli contributors — FDSN Event サービスで認識されているすべてのデータ貢献機関を一覧表示します(XML 応答)

events — USGS FDSN Event サービスから地震を検索・取得します

  • usgs-earthquakes-pp-cli events count — 指定したフィルターに一致するイベント数を、イベントデータを返さずにカウントします(検索全体の前に行う高速な事前確認)
  • usgs-earthquakes-pp-cli events get — USGS イベント ID(例:us7000abcd)を指定して単一の地震イベントを取得します
  • usgs-earthquakes-pp-cli events search — FDSN の全パラメーターに対応して、USGS の地震カタログを検索します

feeds — USGS が毎分更新する、GeoJSON 形式の事前生成済み地震概要フィード

  • usgs-earthquakes-pp-cli feeds <feed> — 名前を指定して GeoJSON 形式の概要フィードを取得します。次のいずれかを指定します:significant_{hour|day|week|month}、4.5_{hour|day|week|month}、...

metadata — FDSN Event サービスのメタデータ:各パラメーターの列挙値

  • usgs-earthquakes-pp-cli metadata — カタログ、貢献機関、イベントタイプ、プロダクトタイプ、マグニチュードタイプの列挙値辞書を表示します
適切なコマンドを見つける

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

usgs-earthquakes-pp-cli which "<capability in your own words>"

which は、自然言語による機能の問い合わせを、この CLI の厳選された機能インデックスから最適なコマンドに対応付けます。終了コード 0 は少なくとも 1 件の一致が見つかったことを示し、終了コード 2 は確信を持てる一致がないことを示します。その場合は --help を確認するか、より絞り込んだ問い合わせを使用してください。

手書き拡張機能

これらのコマンドは仕様の作成者が宣言したもので、別途手書きの配線が必要です。ジェネレーターはこれらの Cobra 登録を出力しません。見つけやすいようにここに記載しています。また、verify-skill の不明なコマンドのチェックでジェネレーターが管理するパスとして扱われないよう、意図的に ## Command Reference の外に置いています。

  • usgs-earthquakes-pp-cli recent — 最近の地震を一覧表示します(デフォルト:過去24時間、M2.5以上)。--since/--near フラグを使う events search の便利なラッパーです。
  • usgs-earthquakes-pp-cli near <latitude> <longitude> — 座標の近くで発生した最近の地震を、距離と重大度の順に表示します。
  • usgs-earthquakes-pp-cli sync — ローリング地震カタログ(デフォルト:過去30日間、M2.5以上)とカタログ/貢献者/メタデータを同期します...
  • usgs-earthquakes-pp-cli search [query] — ローカルに同期した地震を全文検索します(場所とイベントタイトルを対象とする FTS5)。
  • usgs-earthquakes-pp-cli sql <query> — ローカルの地震ストアに対して SELECT クエリを実行します。
  • usgs-earthquakes-pp-cli feed-list — 20種類の USGS サマリーフィード名をすべて、マグニチュードのレベル、期間、更新頻度とともに一覧表示します。
  • usgs-earthquakes-pp-cli watch — サマリーフィードを長時間ポーリングし、ローカルストアと照合して重複を除外します。オプションの --notify フックを呼び出します...
  • usgs-earthquakes-pp-cli aftershocks <event-id> — 本震の後に半径 R km、T 日以内で発生したイベントを、時刻順に表示します。ローカルの SQLite クエリを使用し、必要に応じて FDSN にフォールバックします...
  • usgs-earthquakes-pp-cli swarm-detect — ローカルストア内の時空間クラスターを検出します(前震/余震の連鎖、火山性群発地震、誘発地震など...
  • usgs-earthquakes-pp-cli compare — 2つの地域または2つの期間を並べて比較します。--region-a/--region-b または --period-a/--period-b を指定します。
  • usgs-earthquakes-pp-cli brief <event-id> — イベントのエージェント向けニュースルーム概要です。マグニチュード、場所、PAGER アラート、DYFI、津波の状況、ShakeMap MMI などを含みます...
  • usgs-earthquakes-pp-cli top — 最近のイベントを複合編集スコア(重大度 × アラート × 有感度 × 津波)で順位付けします。デフォルト:--window 24h...
  • usgs-earthquakes-pp-cli changes — 前回の同期以降の状態差分です。新規イベント、修正されたマグニチュード/深さ/アラート、削除されたイベントを表示します。
  • usgs-earthquakes-pp-cli decode-id <event-id> — USGS イベント ID をネットワークコード、シーケンス、運用者に解析します(キャッシュ済みの貢献者辞書を使用)。

レシピ

過去1時間にニュース価値のある出来事はありましたか?
usgs-earthquakes-pp-cli top --window 1h --limit 10 --json --select events.id,events.mag,events.place,events.alert,events.tsunami,events.score

過去1時間のイベントを複合編集スコア(重大度 × アラート × 有感度 × 津波)で順位付けし、--select を使って編集上重要なフィールドだけにエージェントのコンテキストを絞り込みます。

過去7日間のマウント・フッドの群発地震を追跡する
usgs-earthquakes-pp-cli swarm-detect --near 45.3736,-121.6960 --radius-km 25 --window 7d --min-events 5 --json

マウント・フッドの座標周辺で時空間クラスタリングを行い、名前付きクラスターとその中心、件数、最大マグニチュード、時間範囲を返します。

最近の本震の余震レポート
usgs-earthquakes-pp-cli aftershocks us7000abcd --radius-km 100 --days 14 --min-mag 3.0 --json

本震の発生時刻と場所を基準に範囲を限定したローカル SQLite のハバースイン距離クエリです。イベントがキャッシュされていない場合は FDSN /query にフォールバックします。

トップイベントの日次ニュースルーム概要
usgs-earthquakes-pp-cli top --window 24h --limit 1 --json --select events.id

最上位イベントの ID のみを返します。xargs -I {} usgs-earthquakes-pp-cli brief {} --format markdown にパイプすると、ニュースルームですぐに使える概要を取得できます。

サンフランシスコ付近で ShakeMap プロダクトがあるイベントを検索する
usgs-earthquakes-pp-cli events search --latitude 37.7749 --longitude -122.4194 --max-radius-km 200 --product-type shakemap --start 2025-01-01 --json

FDSN の --product-type フィルター(競合する MCP では公開されていません)と --latitude/--longitude の円形範囲フィルターを使い、年初以降に ShakeMap ポリゴンがあるイベントを検索します。

認証の設定

認証は不要です。

usgs-earthquakes-pp-cli doctor を実行して、セットアップを確認してください。

エージェントモード

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

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

  • フィルタ可能 — --select でフィールドの一部を保持します。ドット区切りのパスはネストされた構造をたどり、配列は各要素をたどります。出力の多い API でコンテキストを小さく保つために重要です:

    usgs-earthquakes-pp-cli catalogs --agent --select id,name,status
    
  • プレビュー可能 — --dry-run でリクエストを送信せずに表示します

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

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

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

レスポンスエンベロープ

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

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

データには .results を解析し、ライブデータかローカルデータかを確認するには .meta.source を参照してください。stdout がターミナルであり、機械可読形式のフラグ(--json、--csv、--compact、--quiet、--plain、--select)が指定されていない場合に限り、人間が読みやすい N results (live) の概要が stderr のみに出力されます。パイプやエージェントで利用する場合、および形式を明示的に指定した場合、stdout には純粋な JSON が出力されます。

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

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

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

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

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

出力の送信先

すべてのコマンドで --deliver <sink> を指定できます。出力は標準出力に加えて(または標準出力の代わりに)指定した送信先に渡されるため、エージェントは結果を手作業でパイプしなくても振り分けられます。次の 3 つの送信先に対応しています:

送信先効果
stdoutデフォルト。標準出力のみに書き込みます
file:<path>出力を <path> にアトミックに書き込みます(一時ファイルを作成してからリネーム)
webhook:<url>出力本文を URL に POST します(--compact 指定時は application/json または application/x-ndjson)

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

名前付きプロファイル

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

usgs-earthquakes-pp-cli profile save briefing --json
usgs-earthquakes-pp-cli --profile briefing catalogs
usgs-earthquakes-pp-cli profile list --json
usgs-earthquakes-pp-cli profile show briefing
usgs-earthquakes-pp-cli profile delete briefing --yes

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

終了コード

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

引数の解析

$ARGUMENTS を解析します:

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

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

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

直接使用

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

コメント