mcpField
C
company-research

company-research

github.com/browserbaseマーケティング・グロース3.7k2.4k 回インストール8 週間前に更新
リポジトリ

company-research について

company-research は、Browserbase Search で見込み企業を探し、Plan→Research→Synthesize の手順で評価する Claude スキルです。スコア付きの企業調査ファイルを作成し、営業開拓向けのレポートと CSV にまとめます。

主な機能

  1. 01Browserbase Search による企業発見
  2. 02深度モード別の企業調査
  3. 03ICP に基づく企業スコア付け
  4. 04企業ごとの調査ファイル作成
  5. 05HTML レポートと CSV の生成

活用シーン

  1. 01ウェブ検索から見込み顧客リストを作成
  2. 02営業 ICP に照らして対象企業を評価
  3. 03CRM や表計算への取り込み用に企業調査を準備

インストール

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

$npx skills add https://github.com/browserbase/skills --skill company-research

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

.gitignore
LICENSE.txt
profiles/
example.json
references/
example-research.md
report-template.html
research-patterns.md
workflow.md
scripts/
compile_report.mjs
extract_page.mjs
list_urls.mjs
package.json

詳細

企業調査

営業先となる企業を見つけ、詳細に調査します。企業の発見には Browserbase Search API を使用し、深掘り調査では Plan→Research→Synthesize のパターンを使用して、スコア付きの調査レポートと CSV を出力します。

必須:BROWSERBASE_API_KEY 環境変数と、インストール済みの browse CLI。

初回実行時のセットアップ:初回実行時には、browse cloud fetch、browse cloud search、cat、mkdir、sed などの実行許可を求められます。それぞれについて、「Yes, and don't ask again for: browse cloud fetch:*」(または同等の選択肢)を選ぶと、そのセッション中は自動的に許可されます。永続的に許可するには、以下を ~/.claude/settings.json の permissions.allow に追加します。

"Bash(browse:*)", "Bash(bunx:*)", "Bash(bun:*)", "Bash(node:*)",
"Bash(cat:*)", "Bash(mkdir:*)", "Bash(sed:*)", "Bash(head:*)", "Bash(tr:*)", "Bash(rm:*)"

パスのルール:すべての Bash コマンドでは、常に省略しない完全なパスを使用してください。~ や $HOME は使用しないでください(どちらも「シェル展開構文」の許可プロンプトを引き起こします)。ホームディレクトリは一度だけ解決し、以降はすべての場所でそのパスを使用してください。サブエージェントのプロンプトを作成する際は、{SKILL_DIR} を省略しない完全なパスに置き換えてください。

出力ディレクトリ:調査結果はすべて ~/Desktop/{company_slug}_research_{YYYY-MM-DD}/ に出力します。このディレクトリには、調査した企業ごとに 1 つの .md ファイルと、最後に 1 つの .csv ファイルが含まれます。ユーザーは、スコア付きのスプレッドシートと調査ファイル一式の両方をデスクトップで受け取ります。

重要 — ツールの制限(メインエージェントとすべてのサブエージェントに適用):

  • すべてのウェブ検索には browse cloud search を使用してください。WebSearch は絶対に使用しないでください。
  • すべてのページコンテンツの抽出には node {SKILL_DIR}/scripts/extract_page.mjs "<url>" を使用してください。このスクリプトは browse cloud fetch --output 経由で取得し、タイトル、メタタグ、表示されている本文テキストを解析します。また、取得に失敗した場合や、JavaScript で描画されたコンテンツがほとんど返されない場合は、自動的に browse get markdown にフォールバックします。browse cloud fetch | sed のパイプラインを手作業で作成することは絶対に避けてください。メタタグが削除され、標準出力の JSON エンベロープも解析されません。WebFetch は絶対に使用しないでください。
  • すべての調査結果は、サブエージェントが {OUTPUT_DIR}/{company-slug}.md に Bash ヒアドキュメントを使って、企業ごとに 1 つの Markdown ファイルとして書き出してください。Write ツールや python3 -c は絶対に使用しないでください。ファイル形式については references/example-research.md を参照してください。
  • レポートと CSV の作成には node {SKILL_DIR}/scripts/compile_report.mjs {OUTPUT_DIR} --open を使用してください。このコマンドで HTML レポートと CSV が一括生成され、ブラウザーで概要が開きます。
  • URL の重複排除には、発見後に node {SKILL_DIR}/scripts/list_urls.mjs /tmp を使用してください。
  • サブエージェントは Bash ツールのみを使用してください。他のツールは使用できません。
  • メインエージェントは、発見時の生の JSON バッチファイルを絶対に読み込まないでください。 重複排除には list_urls.mjs を使用してください。

重要 — ハルシネーション防止ルール(メインエージェントとすべてのサブエージェントに適用):

  • サイトのフォント、フレームワーク(Framer/Next.js/React)、デザインシステム、書体から product_description、industry、target_audience を推測することは絶対に避けてください。これらは見た目に関するものであり、企業が何を販売しているかを示すものではありません。
  • ユーザー自身の ICP を調査対象の説明に反映させないでください。調査対象が何をしているかわからない場合は、ICP に無理に当てはめず Unknown と記載してください。
  • product_description には、extract_page.mjs の出力(TITLE、META_DESCRIPTION、OG_DESCRIPTION、HEADINGS、BODY)にある具体的なフレーズを引用または言い換えて記載する必要があります。これらのフィールドに製品を示す内容が見つからない場合は、Unknown — homepage content not accessible と記載してください。
  • product_description が Unknown の場合、icp_fit_score は 3 を上限とし、icp_fit_reasoning には Insufficient evidence — homepage returned no readable content と設定してください。

重要 — 許可プロンプトの最小化:

  • サブエージェントは、連結したヒアドキュメントを使って、すべてのファイル書き込みを 1 回の Bash 呼び出しにまとめる必要があります。Bash 呼び出し 1 回につき、許可プロンプトは 1 回です。
  • && で連結して、すべての検索とすべての取得をそれぞれ 1 回の Bash 呼び出しにまとめてください。

パイプラインの概要

以下の5つのステップを順番に実行します。ステップを省略したり、順序を入れ替えたりしないでください。

  1. 企業調査 — ユーザーの会社、製品、販売先を深く理解します
  2. 調査深度の選択 — 希望するターゲット数に基づいて調査の深度を選択します
  3. 発見 — 多様な検索クエリを使ってターゲット企業を見つけます
  4. 詳細調査とスコアリング — 各企業を調査し、ICP への適合度をスコアリングします
  5. レポートと CSV — 調査結果を提示し、スコア付き CSV を作成します

ステップ 0:出力ディレクトリの設定

開始前に、ユーザーのデスクトップに出力ディレクトリを作成します。

OUTPUT_DIR=~/Desktop/{company_slug}_research_{YYYY-MM-DD}
mkdir -p "$OUTPUT_DIR"

{company_slug} をユーザーの会社名(小文字、ハイフン区切り)に、{YYYY-MM-DD} を今日の日付に置き換えます。サブエージェントのすべてのプロンプトに {OUTPUT_DIR}(~ を使わない完全なリテラルパス)を渡し、そこに調査ファイルを書き込むようにします。

また、以前の実行で作成された発見バッチファイルも削除します。

rm -f /tmp/company_discovery_batch_*.json

ステップ 1:企業の詳細調査

このステップが最も重要です。以降のすべての工程の品質は、ユーザーの会社をどれだけ深く理解できるかに左右されます。

  1. ユーザーに会社名または URL を尋ねます

  2. 既存のプロフィールを確認します:

    • {SKILL_DIR}/profiles/ 内のファイルを一覧表示します(example.json は無視します)
    • 一致するプロフィールがある場合 → 読み込み、ユーザーに「{researched_at} に作成したプロフィールがあります。現在も正確ですか?」と提示します。はいの場合はステップ 2 に進みます。
    • プロフィールがない場合 → 以下の詳細調査に進みます。
  3. Plan→Research→Synthesize のパターンを使って、ユーザーの会社について詳細な調査を実施します。 サブ質問のテンプレートと調査方法については、references/research-patterns.md を参照してください。

    主な調査手順:

    • 検索:browse cloud search "{company name}" --num-results 10
    • ホームページを取得:node {SKILL_DIR}/scripts/extract_page.mjs "{company website}"
    • サイトマップからサイト内のページを見つけます(/about や /customers のようなパスをハードコードしないでください):
      1. browse cloud fetch --allow-redirects "{company website}/sitemap.xml" — サイトマップは小さいため、通常の browse cloud fetch で問題ありません
      2. customer、case-stud、pricing、about、use-case、industry、solution などのキーワードを含む URL を探します
      3. 必要に応じて、ページの説明を確認するために /llms.txt も取得します
      4. 最も関連性の高い URL を3〜5件選び、extract_page.mjs で抽出します(通常の browse cloud fetch は使用しないでください)
    • 外部の情報と競合他社を検索します
    • 確信度を付けて調査結果を蓄積します

    プロフィールにまとめます: 会社、製品、既存顧客、競合他社、ユースケース。 ICP やサブバーティカルは含めないでください。これらは実行ごとに決定します。

  4. 確認のため、プロフィールをユーザーに提示します。確認が取れるまで先に進まないでください。

  5. 確認済みのプロフィールを {SKILL_DIR}/profiles/{company-slug}.json に保存します

  6. チェックボックス付きの AskUserQuestion を使って、追加の質問をします:

    • 「どのセグメントをターゲットにしますか?」 — 企業調査から導いた選択肢を提示します
    • 「企業の規模は?」 — スタートアップ、中堅企業、大企業、すべて
    • 「企業数/調査の深度は?」 — クイック(約100社)、詳細(約50社)、より詳細(約25社)
    • ユーザーとのやり取りはこれだけです。この後は、結果が用意できるまで何も伝えずに実行します。

ステップ 2:調査深度の選択

モード1社あたりの調査内容最適な用途
quickホームページ+検索1〜2件約100社を幅広く調査
deepサブ質問2〜3件、ツール呼び出し5〜8回約50社をしっかり調査
deeperサブ質問4〜5件、ツール呼び出し10〜15回約25社を徹底的に調査

ステップ 3:ディスカバリー

計算式:検索クエリの必要数は ceil(requested_companies / 35) です。絞り込みで通常 50~70%が除外されるため、目標の約 2~3 倍を発見してください。

次のパターンで検索クエリを作成します。

  • 業界 + 企業の成長段階 + 地域(「fintech startups series A Bay Area」)
  • テクノロジースタック + ユースケース(「companies using Selenium for web scraping」)
  • 競合企業との近接性(「alternatives to {known company in ICP}」)
  • 購買担当者のペルソナ + 課題(「engineering teams struggling with browser automation」)

手順:

  1. すべてのディスカバリーサブエージェントを一度に(1 メッセージにつき最大約 6 つ)起動します。それぞれのエージェントは、1 回の Bash 呼び出しでクエリをすべて実行します。
    browse cloud search "{query}" --num-results 25 --output /tmp/company_discovery_batch_{N}.json
    
  2. すべてのウェーブが完了したら、重複を排除します:node {SKILL_DIR}/scripts/list_urls.mjs /tmp
  3. URL リストを絞り込みます — 次のものを削除します。
    • ブログ記事、ニュース記事(globenewswire.com、techcrunch.com など)
    • ディレクトリ/アグリゲーター(tracxn.com、crunchbase.com、g2.com)
    • ユーザー自身の競合企業と既存顧客(プロフィールから確認) 企業のホームページのみを残します。

サブエージェントのプロンプトテンプレートとウェーブ管理については、references/workflow.md を参照してください。

ステップ 4:詳細調査とスコアリング

サブエージェントを起動して、企業を並行して調査します。エンリッチメント用サブエージェントのプロンプトテンプレートについては、references/workflow.md を参照してください。調査方法の全容については、references/research-patterns.md を参照してください。

手順:

  1. 絞り込んだ URL をサブエージェントごとにグループ分けします(簡易:約 10 件、詳細:約 5 件、より詳細:約 2~3 件)。

  2. すべてのエンリッチメント用サブエージェントを一度に(1 メッセージにつき最大約 6 つ)起動します。

  3. 各サブエージェントは Bash のみを使用し、企業ごとに次を実行します。

    フェーズ A — 計画(簡易モードでは省略): ICP とエンリッチメント項目に基づいて、2~5 個のサブクエスチョンに分解します。

    フェーズ B — 調査ループ: ページを検索・取得し、調査結果を抽出します。ステップ数の上限を守ってください(簡易:2~3、詳細:5~8、より詳細:10~15)。

    フェーズ C — 統合: 根拠を示しながら ICP 適合度を 1~10 で評価します。調査結果をもとにエンリッチメント項目を埋めます。

  4. サブエージェントは、連結したヒアドキュメントを使って 1 回の Bash 呼び出しですべての Markdown ファイルを {OUTPUT_DIR}/ に書き込みます。

  5. すべてのサブエージェントが完了したら、ステップ 5 に進みます。

重要:確認済みの ICP の説明を、すべてのサブエージェントプロンプトに一字一句そのまま含めてください。完全なリテラルの {OUTPUT_DIR} パスをすべてのサブエージェントに渡してください。

ステップ 5:レポートと CSV

  1. HTML レポートと CSV を生成します(概要が自動的にブラウザーで開きます)。

    node {SKILL_DIR}/scripts/compile_report.mjs {OUTPUT_DIR} --open
    

    次のファイルが生成されます。

    • {OUTPUT_DIR}/index.html — スコア付きテーブルを含む概要ページ(ブラウザーで開きます)
    • {OUTPUT_DIR}/companies/*.html — 個別の企業ページ(概要からリンクされています)
    • {OUTPUT_DIR}/results.csv — シート/CRM にインポートできる、スコア付きのスプレッドシート
  2. チャット内にも概要を提示します。

## Company Research Complete

- **Total companies researched**: {count}
- **Depth mode**: {mode}
- **Score distribution**:
  - Strong fit (8-10): {count}
  - Partial fit (5-7): {count}
  - Weak fit (1-4): {count}
- **Report opened in browser**: ~/Desktop/{company_slug}_research_{date}/index.html
  1. ICP スコア順に並べた上位企業をテーブルで表示します。
| Company | Score | Product | Industry | Fit Reasoning |
|---------|-------|---------|----------|---------------|
| Acme | 9 | AI inventory management | E-commerce SaaS | Series A, uses Selenium, expanding to EU |
  1. 上位 3~5 社について、主な調査結果、適合性が高い理由、アプローチする際の具体的な切り口を含む簡潔な調査概要を提示します。

特定の企業をさらに詳しく調査する、スコアリング基準を調整する、または異なるクエリでディスカバリーを再実行することを提案してください。

コメント