lookalike-customer-finder-skill について
lookalike-customer-finder-skillは、ライブの顧客・注文データから類似企業を順位付けし、ICPを導出してApolloとClayで候補を拡張します。Epiphanの見込み顧客開拓向けで、企業と担当者は掲載前に適格性確認を通過します。
主な機能
- 01ライブCRMデータから顧客を抽出
- 02補完した企業情報からICPを導出
- 03ApolloとClayで候補を拡張
- 04スコアリング前に候補を確認
- 05企業を採点して分類
- 06順位付きXLSXレポートの作成
活用シーン
- 01業種別のターゲットアカウントリスト作成
- 02指定顧客に似た企業の検索
- 03新規アカウントの開拓優先度付け
- 04依頼に応じた適格確認済みHubSpotリストの準備
MCP 対応
このスキルはMCPツールを使ってCRMスキーマ、企業、注文を照会し、企業や担当者の検索・情報補完を行います。候補はスコアリングや掲載の前に `qualify_lead` で確認されます。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ scientiacapital/ skills --skill lookalike-customer-finder-skillインストール後、Claude Code で/lookalike-customer-finder-skillを入力して読み込まれたか確認します。
同梱ファイルconfig.jsonreference/targeting-playbook.md
詳細
類似顧客ファインダー
Epiphan の優良顧客を HubSpot と顧客注文テーブルからライブで取得し、Epiphan の業種(高等教育、裁判所・法務、政府、企業 AV、医療、礼拝施設、K-12)に紐づく理想顧客プロファイル(ICP)を導出し、Apollo と Clay を介して 100 社以上の新規類似企業に拡張し、それぞれを 0〜100 でスコアリングし、リストに表示される前にすべての企業と担当者を `qualify_lead` でゲート処理します。出力はランク付けされた XLSX と任意の HubSpot リストであり、静的なテンプレートではありません。 キーワード: `lookalike`、`similar companies`、`target account list`、`ICP`、`expand vertical`<quick_start> トリガー: 「[顧客名] のような企業を探して」または「[業種] の類似ターゲットアカウントリストを作成して」。
ツールの順序(すべての呼び出しはライブで実行され、リスト内のいかなる項目も推測されません):
- シード —
execute_sql(Epiphan AI。最初にcrm://schema.mdを読み取る)を、注文と結合したhubspot_companiesに対して実行:lifecyclestage = 'customer'またはdevice_count >= 1、注文収益でランク付け。フォールバック:crm_search_customers+crm_get_customer_orders、またはユーザーがシードを指定した場合はhubspot_search_companies。 - ICP 導出 — 各シードに対して
apollo_organizations_enrich(またはapollo_organizations_bulk_enrich)を実行し、業種、従業員数、収益、技術、成長を取得。返されたフィールドから ICP を計算します。 - 拡張 — ICP フィルター(業種キーワード、従業員範囲、USA/Canada)を指定して
apollo_mixed_companies_searchを実行し、さらに説明文の類似性のためにsearch_companies_by_description(Epiphan AI)、ギャップ補完のために Clay のfind-and-enrich-companyを使用。 raw 候補 150 社以上を目標とします。 - ゲート Q — すべての候補企業(および後で浮上するすべての担当者)に対して
qualify_leadを実行。除外、STALE AE LEAD、ATL/BTL ティアは、その判定からのみ導出されます。 - スコア + ティア — 以下の重み付き類似度モデル。Tier 1 ≥ 85、Tier 2 70〜84、Tier 3 60〜69。
- 意思決定者 — Tier 1 のみ:
hubspot_find_contacts_by_roleを実行し、次に ATL 役職を指定してapollo_mixed_people_api_searchを実行。各担当者は再度qualify_leadを通します。 - 納品 —
~/.claude/skill-state/lookalike-customer-finder/<date>-<vertical>.xlsxを書き込み(ランク付けシート + ICP シート + ゲート除外シート)。リクエストがあればhubspot_create_list+hubspot_update_list_membership(確認を先に行う)。アウトリーチの文案はすべてゲート B を通してからcreate_draftに進みます。 </quick_start>
<house_rules>
顧客向けスキルです。出力前に、ゲートを順番に実行します(詳細: /.claude/skills/epiphan-house-rules-skill/reference/gates.md):
S: 製品に関する主張の前に search_product_catalog(Epiphan AI)または Epiphan Knowledge search。 B: すべての顧客向け文字列に対して check_my_copy。
Q: 候補取得の直後、ティアリング/エンリッチメント/ドラフトの前に qualify_lead。 D: アウトバウンドのテキストは Gmail ドラフトになり、送信されることはありません。
識別子(オーナー ID、ポータル、メール、シート)はそのスキルの reference/identifiers.md から取得します — ここに再掲しないでください。
いずれかのゲートが失敗した場合は reference/self-healing.md に従い(リトライ、フラグ付きで縮退、Tim へのアラート、停止)、/.claude/skill-runs/.jsonl に 1 行追記します。
</house_rules>
<success_criteria>
- シードがライブで取得されている(SQL または customer-orders MCP)。シードリストと収益ランクが ICP シートに表示されている
- ICP が Apollo でエンリッチされたシードフィールドから導出され、Epiphan の業種と ICP スコアにマッピングされている
- 100 社以上の候補が Apollo/Clay 経由で拡張されている。raw 件数とゲート後件数の両方が報告されている
- すべての候補企業と担当者が、ティアリングの前に
qualify_leadを通っている。除外は理由別に集計されている - 企業ごとに 0〜100 の類似度スコアが、次元ごとの内訳とともに表示されている
- XLSX が skill-state に書き込まれている。HubSpot リストは明示的なリクエストがあった場合のみ
- アウトカムのサイドカーと実行ログの 1 行が書き込まれている </success_criteria>
推奨: execute_sql クエリを 1 回。作成前に crm://schema.md(または get_schema)を読み、カラム名を推測しないでください。
-- strategy: best customers by lifetime order revenue, USA/Canada, with vertical and headcount
SELECT c.id, c.name, c.domain, c.industry, c.numberofemployees, c.country, c.device_count,
SUM(o.total) AS lifetime_revenue, COUNT(o.id) AS orders
FROM hubspot_companies c
JOIN crm_orders o ON o.hubspot_company_id = c.id
WHERE (c.lifecyclestage = 'customer' OR c.device_count >= 1)
AND c.country IN ('United States','USA','US','Canada','CA')
GROUP BY c.id ORDER BY lifetime_revenue DESC LIMIT 25;
ユーザーがシードを指定する場合: 名前ごとに hubspot_search_companies、その後、売上には crm_get_customer_orders。シードは 10〜25 件を維持します。使用可能なシードが 5 件未満の場合は、追加を求めるか、業種別(バーティカル)に範囲を広げ、その実行を partial(stage: seeds)としてマークします。
ステージ 2 — ICP の導出
シードドメインごとに apollo_organizations_enrich(10 件超の場合は一括版)。返されたフィールドのみから ICP を構築します:
| ディメンション | ソースフィールド | 重み |
|---|---|---|
| 業界 / バーティカル | industry、keywords → Epiphan バーティカル | 25% |
| 企業規模 | estimated_num_employees | 20% |
| テックスタック | technologies(Panopto、Kaltura、Zoom、Crestron など) | 15% |
| 成長段階 | founded_year、資金調達イベント、従業員数の推移 | 15% |
| 地域 | country、state(デフォルトは USA/Canada) | 10% |
| 売上範囲 | annual_revenue | 15% |
ディメンションごとに中央値/最頻値を記録します。それが ICP です。タイブレーカーとして CLAUDE.md のバーティカル ICP スコア(高等教育 90 … K-12 65)を添付します。
ステージ 3 — 拡張
apollo_mixed_companies_search: ICP からorganization_num_employees_ranges、バーティカルのキーワードからq_organization_keyword_tags、organization_locationsは USA/Canada。生の候補が 150 件以上になるか、結果が尽きるまでページングします。search_companies_by_description(Epiphan AI)に ICP の説明を 1 段落で指定 → Apollo が見逃す、すでに CRM グラフにある企業を追加します。- ステップ 1 の後に従業員数/売上が欠落している候補には Clay の
find-and-enrich-company。
ゲート Q の前にドメインで重複排除します。
ステージ 4 — ゲート Q(必須、スコアリング前)
候補企業ごとに qualify_lead。ネット新規かつ対象地域内の判定のみを保持します。STALE AE LEAD の判定は、AE 名と最終アクティビティ日を含む別シートに送り、Tim が判断します。1 回のリトライ後も qualify_lead が利用できない場合は 停止 します: 生の候補ファイルを skill-state に書き込み、Tim に警告し、リストは生成しません。抑制と AE のルールは qualify_lead 内で評価されます。ここで繰り返すのではなく、epiphan-house-rules-skill 内の reference/gates.md と reference/identifiers.md を参照してください。
ステージ 5 — 類似度スコアリング
存続した各企業を上記の重みで ICP に対してスコアリングします(0〜100)。ティア: Tier 1 85〜100、Tier 2 70〜84、Tier 3 60〜69、60 未満は除外。低いスコアが説明可能になるよう、シートにディメンションごとの寄与を表示します。
ステージ 6 — 意思決定者(Tier 1 のみ)
hubspot_find_contacts_by_role(role: IT / AV / アカデミックテクノロジーのリーダーシップ)、次にバーティカルの ATL タイトルで apollo_mixed_people_api_search。すべての連絡先は除外とティアのために qualify_lead を通り、シートには返されたティアバッジが表示されます。検証済みメールがない連絡先は enrich-needed としてフラグを立てたままにし、推測するのではなく prospect-enrich-skill に引き渡します。
ステージ 7 — 納品
- XLSX:
~/.claude/skill-state/lookalike-customer-finder/<date>-<vertical>.xlsx、シートはRanked、ICP、Stale AE、Excluded(行ごとの理由付き)。 - チャットでの概要: シード数、ICP の一文要約、生 → ゲート後 → ティア別の件数、トップ 10 の表。
- 任意、先に確認:
hubspot_create_list(「Lookalike 」)+hubspot_update_list_membership。 - Tier 1 アカウント向けの提案オープナー:
get_writing_styleを 1 回、文字列ごとにcheck_my_copy、その後 Tim メールボックスからcreate_draft。決して送信しないでください。
ケイデンス、ティア別プレイブック、KPI トラッキングは reference/targeting-playbook.md にあります。
ステージ 8 — 成果サイドカー + 実行ログの出力
~/.claude/skill-analytics/last-outcome-lookalike-customer-finder-skill.json を書き出します:
{"ts":"[UTC ISO8601]","skill":"lookalike-customer-finder-skill","version":"<frontmatter version>","variant":"default",
"status":"[success|partial|error]","runtime_ms":[estimated ms from start],
"metrics":{"seed_customers_analyzed":[n],"raw_candidates":[n],"excluded_by_qualify":[n],"stale_ae_surfaced":[n],
"lookalikes_found":[n],"tier1":[n],"tier2":[n],"tier3":[n],"icp_dimensions_scored":[n]},
"error":null,"session_id":"[YYYY-MM-DD]"}
status が partial/error の場合は、error で失敗したステージを明示する必要があります。~/.claude/skill-runs/lookalike-customer-finder-skill.jsonl に 1 行を追記します。
<self_healing>
partial = リストは生成されたが、いずれかのステージが劣化した場合: シードがユーザー指定の企業にフォールバックした、Apollo の拡張がリトライ後も失敗した (Clay のみ)、search_companies_by_description が空だった、XLSX は書き出されたが HubSpot リストがスキップされた。error = シードが 5 件未満で、拡張できる業種もない場合、または qualify_lead が利用できない場合 (中止: Gate Q が確認していないリストは決して出力しない)。~/.claude/skills/epiphan-house-rules-skill/reference/self-healing.md に従ったラダー: 1 回リトライ → フラグを付けて劣化 → Slack DM で Tim に通知 → ~/.claude/skill-state/lookalike-customer-finder/ に状態を保存して中止。
</self_healing>
<anti_patterns>
- 記憶からシード顧客や類似顧客をでっち上げること。すべての行はツールの結果にたどれる必要があります。
- Golden Rules や ATL/BTL キーワードテーブルをインラインで再実装すること。判定は
qualify_leadが担います。 - ドメインパターンからメールアドレスを推測すること。不明な連絡先は prospect-enrich-skill に送ります。
- プレイブックの応答率ベンチマークを実測値として扱うこと。outcomes.jsonl が別途示すまでは、これらは例示的なものです。 </anti_patterns>
<reference_guides>
reference/targeting-playbook.md— ティアのケイデンス、KPI トラッキング、月次/四半期ごとのリフレッシュ~/.claude/skills/epiphan-house-rules-skill/reference/gates.md— Gate Q の判定セマンティクス、地理のデフォルト~/.claude/skills/epiphan-house-rules-skill/reference/identifiers.md— オーナー ID、ポータル、メール (ここでは決して再掲しない)- 関連スキル:
contact-hunter-skill(ポイント参照)、intent-signal-aggregator-skill(タイミング)、prospect-enrich-skill(電話/メール) </reference_guides>