拡張 · ライブデータLocal SEO Agent

Local Competitor Scan

ローカルパックで自社より上位のビジネスを洗い出し、順位を動かすシグナルで分析し、口コミ数と評価の差を定量化します。

エージェントネイティブ

Claude、ChatGPT のカスタム MCP アプリ、OpenClaw、Hermes、Codex、Claude Code、Cursor、VS Code、その他の MCP 対応クライアントの中で実行できます。専用の GUI フローも、別の LLM API キーも不要です。

ライブの公開データに裏打ちされている

すべてのステップが UnifAPI の返すライブ公開データのレコードに基づいているため、出力は一般的なベストプラクティスの一覧ではなく、実際にランクインし、投稿され、語られているものを引用します。

組み合わせ自由でオープンソース

Skills は互いを参照し合い、MIT 形式の公開リポジトリに置かれています。GitHub で SKILL.md の全文を読むも、フォークするも、agent の中でそのまま実行するも自由です。

実行プロンプト

これを Codex または Claude Code に貼り付けてください

プロンプトは意図的に編集できるようになっています。ハンドル、市場、予算、キャンペーン目標を置き換えたら、ライブの公開データが必要になったときに agent に UnifAPI MCP を呼び出させましょう。

Map the businesses beating me in the local pack for "dentist near me" in my city, profile each on rating, review count, and category, and tell me the concrete signal gap to close.
skill の仕組み

SKILL.md からレンダリングされた、skill の全文

あなたはローカル競合アナリストです。ローカルパックであなたより前に座っている事業者は、あなたのカテゴリと都市でローカル Google が何を報いるかについての、最も明確なブリーフです。このスキルは、ある事業者のターゲットローカルクエリでランクインしている競合をマッピングし、ローカルランクを動かすシグナルで彼らをプロファイルし — リーダーについては、より広いオーガニックの強さを取得して なぜ 彼らが勝つかを説明し — 続いて具体的なギャップを浮かび上がらせます。読み取り専用。

これは enhanced スキルです。UnifAPI を通じてライブの公開データを読み取ります。

ライブの根拠には UnifAPI を使う

記憶から構築した競合ブリーフは推測です。実際のパックのライバル、彼らの実際の掲載、そして — リーダーについては — 彼らの実際のオーガニックフットプリントを読まなければなりません。unifapi スキルを使って接続し(OAuth MCP)、続いて以下を呼び出します。

  • パックのライバル — local/search、maps/search — 各ターゲットクエリ × ロケーションでローカルパックを占めている事業者、加えてそれぞれの name、place_id、主要 + 副次 category、rating、review_count、phone、website、hours、position。クエリ(とロケーション)をループし、place_id でライバルを重複排除します — 繰り返し登場するライバルが本当の競合として浮かび上がります。
  • オーガニックローカル結果 — seo/serp — 同じクエリでオーガニックのブルーリンクにランクインしているのは誰か。ライバルがオーガニック結果を押さえていてもパックでは後れを取る、あるいはその逆もあり得ます。両方を読むことで「マップで勝つ」と「ページで勝つ」を切り分けます。
  • なぜリーダーが勝つか(より広いオーガニックの強さ) — seo/competitors/domain(ライバルのオーガニック競合と、それが実際に競合しているドメイン)と seo/competitors/ranked-keywords(ライバルのサイトがランクインしているクエリの幅)。これが 文脈 のレイヤーです: 何百ものローカルクエリでもランクインしているパックリーダーは、その知名度を裏打ちするサイト権威性を持っています — それは、単にレビューが多いだけのライバルとは異なる、より厳しいギャップです。

UnifAPI は公開データのみを読み取ります — どの事業者のプロフィールにも一切触れません。billing メタデータは保持し、出力がレコードコストを記載できるようにしてください。

ワークフロー

  1. クエリとロケーションを設定する — 必須。 事業者の優先ローカルクエリと都市を受け取ります(local-pack-audit が存在する場合はそのセットを再利用)。クエリが不足していれば尋ねます。(.agents/product-marketing.md / .claude/product-marketing.md が存在する場合は、まずそれを読みます。)
  2. 繰り返し登場する競合を特定する。 local/search + maps/search で各クエリのパックを取得し、それらをまたいで登場する事業者を place_id でキー付けして収集し、オーガニックブロックを seo/serp でクロスチェックします。各ライバルがいくつのターゲットクエリに登場するかを数えます — 頻度が最初のフィルタ です: 6 つのパックのうち 5 つに登場する事業者は中核ライバルであり、1 クエリだけのカメオはノイズです。
  3. 各競合をプロファイルする。 ローカルランクが報いるシグナルで: 主要 category(関連性)、rating と review_count(知名度)、見える範囲でのレビューの新しさ、副次カテゴリ、営業時間の完全さ、ウェブサイトの有無。
  4. リーダーにオーガニックの文脈を加える。 トップの繰り返しライバルについて、seo/competitors/ranked-keywords(オーガニックフットプリントの広さ)と seo/competitors/domain(誰のオーガニック領域を争っているか)を実行します。サイト権威性に裏打ちされたパックリードは、単なるレビュー数の優位ではなく構造的な優位です — どちらなのかを述べてください。
  5. ギャップをスコアリングする。 各競合をターゲットと比較し、以下のルーブリックで。スキャンがライバルを単なる存在ではなく 脅威 でランク付けするようにします。
  6. 共通分母を見つける。 トップランクのライバルが共通して持ち、ターゲットが欠いているものは何か — レビュー数の下限、より具体的な主要カテゴリ、広いオーガニックランキング — そしてそれを定量化します。

脅威スコアリングルーブリック

繰り返し登場する各競合について、ローカルランクが報いるレバーでターゲットからどれだけ先行しているかをスコアリングします。合計が高いほど = 大きな脅威 / 明確なブリーフ:

シグナルスコアリング方法(競合 vs. ターゲット)ウェイト
パック頻度登場するクエリ数 ÷ ターゲットの総クエリ数×3
レビュー量ターゲットに対する review_count の比率(3× で上限)×3
評価ターゲットに対する評価の差(+0.1 ごとに 1 点、上限あり)×2
カテゴリ適合主要カテゴリがクエリにより具体的か?(0/1/2)×2
オーガニックの強さターゲットに対する ranked-keywords 数 — 広いローカルフットプリントか?(0〜3)×2
完全性副次カテゴリ + 営業時間 + ウェブサイトがすべて存在するか?(0〜3)×1

脅威スコア = Σ(シグナル × ウェイト)。 競合を脅威の降順でランク付けします。そのリストのトップが、最初に研究し打ち負かすべき事業者です。そのスコアを牽引しているシグナルが ToDo リストです。

出力: 競合テーブル + ギャップサマリー

# Local Competitor Scan — <business> — <date>

Queries: <…> · location: <…> · language/device: <…>

## Competitor profile (ranked by threat score)

| Competitor    | Pack freq | Primary category       | Rating | Reviews | Ranked kw | Threat | Lead over target                            |
| ------------- | --------- | ---------------------- | ------ | ------- | --------- | ------ | ------------------------------------------- |
| Cool Air HVAC | 6/6       | Furnace repair service | 4.9    | 680     | 1,240     | 19     | Reviews 3.2×, exact category, broad organic |
| A1 Comfort    | 5/6       | HVAC contractor        | 4.7    | 410     | 320       | 11     | Reviews 2×, full hours                      |
| _Target_      | 3/6       | HVAC contractor        | 4.7    | 210     | 180       | —      | —                                           |

## Gap summary

- The signal gap in concrete numbers: where the target trails the pack leaders (review volume, rating, category specificity, organic footprint).
- The common denominator: what every top-3 rival has that the target doesn't.
- A ranked shortlist of what to close first, ordered by the rubric's weighting.

Each figure cited to the live local-pack / listing / SERP record it came from. Record cost consumed (or best estimate).

作業例

ブリーフ: HVAC 会社、クエリ「ac repair / furnace repair / hvac repair」× Austin。ターゲット: 評価 4.7、レビュー 210、主要 category「HVAC contractor」、「ac」/「hvac」のパックで 3/3 に登場するが「furnace repair」には不在。

  • Cool Air HVAC — より広いクエリセットをまたいで 6/6 に登場、4.9 / 680 レビュー、主要「Furnace repair service」。seo/competitors/ranked-keywords は約 1,240 のランクインクエリ(ターゲットの約 180 に対し)を示し、seo/competitors/domain はそれを市のオーガニックリーダーの中に位置付けます。脅威スコア 19: レビュー 3.2×、ターゲットが不在のクエリに対する正確なカテゴリ、かつ 構造的なサイト権威性。ブリーフ: レビュー速度 + furnace カテゴリ + コンテンツの深さ。
  • A1 Comfort — 5/6、4.7 / 410、主要「HVAC contractor」(ターゲットと同じ)、控えめなオーガニックフットプリント。脅威スコア 11: 純粋なレビュー量のリードであり、カテゴリや権威性の優位はなし — 最も打ち負かしやすいリーダー。
  • 共通分母: 上位 2 ライバルはともに約 400 レビューを超え、クエリ固有の主要カテゴリを持ちます。最も厳しい(Cool Air)はさらに、ターゲットが欠く広いオーガニックランキングも持ちます。

評決: A1 はレビューだけで追いつける。Cool Air にはレビュー + furnace カテゴリ + コンテンツ施策が必要。読み取り: local/maps 6 + SERP 3 + 競合オーガニック 4。

ガードレール

  • 読み取り専用(「手ではなく目」)。 公開データのみ。公開された競合データを分析します。どの掲載も編集せず、投稿せず、競合に連絡もしません。ギャップに対して行動するのはオペレーター自身のチームです。
  • 確認済み vs 推論。 評価、レビュー数、ランクインキーワード数は確認済みの読み取りとして報告し、脅威スコアと「なぜ彼らが勝つか」の帰属は推論として扱います — 高いスコアは明確なブリーフを意味するのであり、そのシグナルをコピーすればパックが覆るという証明ではありません。ローカルランクには公開データでは見えない要因があります。
  • 日付付きスナップショット、再実行可能。 ローカルランキングはパーソナライズされ時間に敏感です — ロケーション、言語、デバイス、タイムスタンプを記録し、ライバルのウォッチリストを保持して、スキャンを再実行できるようにします。
  • 操作のコピーを推奨しない。 ライバルが名前の詰め込みや偽カテゴリでランクインしている場合は、模倣すべき戦術としてではなく、リスク / 持続不可能と思われるものとしてフラグ付けします。

関連スキル

  • local-pack-audit(Local SEO): 誰がそれを打ち負かすかをプロファイルする前に、事業者がどこにランクインしているかを確立します。
  • listing-accuracy-audit(Local SEO): 競合のバーが明確になったら、ターゲット自身の掲載をチェックします。
  • unifapi: 共有データスキル — MCP を接続し、上記のオペレーションを発見します。

ソース: GitHub 上の local-competitor-scan/SKILL.md — 改善するにはそちらで PR を開いてください。

公開データツール

この skill が呼び出すライブ API

この skill が指定するすべてのオペレーションは、これらの UnifAPI プラットフォームのいずれかです — プロダクトコード、デバッグ、カスタムエージェントフロー向けに、引き続き表示・呼び出しが可能です。

  • 競合表:各ライバルのカテゴリ、評価、レビュー数、ランクインしているクエリ
  • ローカルパックのリーダーとのシグナルギャップを具体的な数値で
  • 勝っている競合に共通し、対象に欠けているもののショートリスト
  • すべての数値はライブのローカルパックと掲載情報レコードに引用根拠を持つ
関連する skills

Local SEO Agentにある、ほかの skills

同じ agent の中でこれらをつなげれば、ある意思決定の成果物から次の成果物へと進めます — それぞれが独自の実行プロンプト、ワークフロー、期待される出力を持っています。

ローカルパック監査

ビジネスのクエリに対するライブのローカルパック/マップ結果を取得し、競合に対して正確にどこにランクインしているかを報告します。

ローカルパック監査 を開く

掲載情報の正確性

ビジネスの公開マップ/ローカル掲載情報を読み取り、詳細が不整合・不完全・誤りである箇所を指摘します。

掲載情報の正確性 を開く
Local SEO Agentのすべての skill を見る