email-search について
選択した連絡先情報補完サービスを使い、LinkedInプロフィールから検証済みメールアドレスや電話番号を取得するマーケティング向けスキルです。人物テーブルまたはCSVを受け取り、整理した連絡先CSVを出力します。
主な機能
- 01テーブルまたはCSVから連絡先を読み込み
- 02連絡先補完サービスを選択
- 03一括補完と一致状況の追跡
- 04重複排除と無効メールの除外
- 05補完した連絡先をCSVに出力
活用シーン
- 01見込み顧客リストの検証済みメール取得
- 02連絡先レコードへの電話番号追加
- 03未一致の連絡先を別サービスで処理
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ extruct-ai/ gtm-skills --skill email-searchインストール後、Claude Code で/email-searchを入力して読み込まれたか確認します。
同梱ファイルreferences/fullenrich-api.mdreferences/prospeo-api.md
詳細
メールファインダー
LinkedIn プロフィールから、確認済みのメールアドレスと電話番号を取得します。people-search の出力を受け取り、Prospeo や Fullenrich などの連絡先情報補完プロバイダーにかけます。
関連スキル
list-segmentation → people-search → email-search → email-generation → email-response-simulation → campaign-sending
people-search で連絡先の候補(LinkedIn URL を含む)が見つかった後、このスキルで確認済みの連絡先情報を取得します。
Extruct API の操作
このスキルでは、Extruct API のすべての呼び出しを extruct-api スキルに委任します。
Extruct API の操作を行う際は、skills/extruct-api/SKILL.md の指示を読み、それに従ってください。
このスキルで行う Extruct の操作は、people テーブルデータの読み取りのみです。連絡先情報の補完には、独自の API を持つ別のプロバイダー(Prospeo、Fullenrich など)を使用します。
入力
| 入力 | ソース | 必須 |
|---|---|---|
| People テーブル ID | people-search の子テーブル | はい(または CSV) |
| People CSV | claude-code-gtm/csv/input/{campaign}/people_linkedin.csv | はい(またはテーブル) |
| プロバイダーの希望 | ユーザーの選択 | はい |
| 携帯電話番号を含める | ユーザーの選択 | いいえ(デフォルト:いいえ) |
プロバイダーの選択
ユーザーに、利用したい連絡先情報補完プロバイダーを尋ねます。選択のアドバイスが必要な場合は、次の点を考慮してください。
- LinkedIn URL があるか? → LinkedIn 情報の補完に対応したプロバイダーが最適です
- メールアドレスの取得率を最優先するか? → ウォーターフォール型のプロバイダーは複数の情報源を試します
- 予算を重視するか? → マッチごとのクレジット費用を確認します
- 携帯電話番号が必要か? → プロバイダーが電話番号データを扱っているか確認します
- 網羅率を最大化したいか? → まず1つ目のプロバイダーを実行し、見つからなかった対象に2つ目を実行します
ユーザーがどこから始めればよいかわからない場合は、ローカルの参考ドキュメント付きで事前設定されたオプションを references/ で確認できます。
ワークフロー
ステップ 0:プロバイダーを確認し、API を把握する
- ユーザーに、利用したい連絡先情報補完プロバイダーを尋ねます
- プロバイダーの API ドキュメントを取得または読み、次の項目を確認します:
- 情報補完エンドポイント(単件および一括)
- 必須入力フィールド(LinkedIn URL、氏名、ドメインなど)
- 認証方法と認証情報
- スループットの上限とリクエストの制約
- レスポンス形式(メールアドレス、電話番号、確認ステータス)
- クレジット/料金体系
- API 認証情報をユーザーに尋ね、アクセスできることを確認します
- 実装を計画し、続行する前にユーザーの確認を得ます
ステップ 1:人物データを読み込む
オプション A:Extruct people テーブルから取得(推奨) — extruct-api スキルを使用して、people テーブルからデータを取得します。各行から full_name、profile_url、role、parent_row_id を抽出します。フルネームを名と姓に分割します。
オプション B:CSV から取得 — claude-code-gtm/csv/input/{campaign}/people_linkedin.csv を読み込みます。
ステップ 2:クレジットを確認する
情報補完を実行する前に、選択したプロバイダーのエンドポイント(ステップ 0 で確認)を使用して、ユーザーが利用できるクレジットまたは割り当て量を確認します。情報補完する連絡先数に基づいて費用の見積もりを提示します。
ステップ 3:情報補完を実行する
選択したプロバイダーの API(ステップ 0 で確認)を使用します。
- プロバイダーが想定する形式(LinkedIn URL、氏名+ドメインなど)で連絡先データを準備します
- プロバイダーのレート制限に従って、連絡先をバッチで送信します
- プロバイダーがポーリングを使用する場合は、非同期レスポンスを処理します
- 結果(メールアドレス、電話番号、確認ステータス)を収集します
- マッチした連絡先とマッチしなかった連絡先を記録します
ユーザーがウォーターフォール(2つのプロバイダー)を希望する場合は、1つ目のプロバイダーを実行して見つからなかった対象を収集し、その後、該当する対象に2つ目のプロバイダーを実行します。
ステップ 4:重複を除去して整理する
メールアドレスを基準に重複を除去します。次の項目は除外します。
- メールアドレスがないエントリー
- プロバイダーが確認結果を無効と判定した結果
ステップ 5:連絡先 CSV を出力する
情報補完した連絡先を claude-code-gtm/csv/input/{campaign}/contacts.csv に保存します。列は次のとおりです。
first_name、last_name、email、email_verified、job_title、company_name、domain、linkedin_url、phone、location、source
ステップ 6:ユーザーと確認
概要を提示します:
Enrichment Results:
- Contacts submitted: N
- Emails found: N (X% hit rate)
- Emails verified: N
- Phones found: N
- No match: N
- Provider: [chosen provider]
スポットチェック用に連絡先を10件表示します:
| 名前 | 役職 | 会社 | メールアドレス | 電話番号 | ソース |
|---|---|---|---|---|---|
| ... | ... | ... | ... | ... | ... |
次の点を尋ねます:
- 「ヒット率は許容範囲ですか?(60%超なら良好、80%超なら非常に良好です)」
- 「見つからなかった連絡先を別のプロバイダーで試しますか?」
- 「
email-generationに進めてもよいですか?」
API リファレンス
事前設定済みのプロバイダーのドキュメントは references/ ディレクトリにあります。他のプロバイダーのドキュメントはステップ 0 で取得されます。