mcpField
I
inbound-lead-qualifier-skill

inbound-lead-qualifier-skill

github.com/scientiacapitalマーケティング・グロース2836 回インストール3 週間前に更新
リポジトリ

inbound-lead-qualifier-skill について

HubSpotのデータと補完情報を使い、インバウンドリードの適格性判定、スコアリング、振り分けを行うClaudeスキルです。初回メールはGmailの下書きとして用意し、顧客向けの記述には事前チェックを求めます。

主な機能

  1. 01HubSpotの連絡先・企業検索
  2. 02適格性ゲートとリードスコアリング
  3. 03適格リードの情報補完
  4. 04ティアと応答期限に応じた振り分け
  5. 05Gmail下書きとHubSpotフォローアップの提案

活用シーン

  1. 01デモや価格問い合わせのトリアージ
  2. 02適合度・意向・緊急度による優先順位付け
  3. 03既存顧客やパートナー問い合わせの振り分け
  4. 04確認済みの初回メールの準備

MCP 対応

MCPツールでHubSpot検索、適格性判定、情報補完、製品検索、文面チェック、Gmail下書き作成を行います。顧客向けメールは下書きにとどめ、送信しません。

インストール

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

$npx skills add https://github.com/scientiacapital/skills --skill inbound-lead-qualifier-skill

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

同梱ファイルconfig.json

詳細

インバウンドリードの選別とルーティング

インバウンドのシグナルを2分以内に意思決定へつなげます。HubSpotから連絡先を取得し、`qualify_lead`でそれがそもそもリードなのか(顧客、チャネル、製品のみのエンゲージャー、AE所有、抑制対象)とどのティアに属するかを判断させ、不足情報をエンリッチし、ICPフィット + インテント + 緊急度をレスポンスSLA付きの0〜100の優先度にスコアリングし、ルーティングし(Timが対応する、またはデモを予約してAEに引き継ぐ)、初回接触メールをGmailの下書きとして準備します。スピード・トゥ・リード:実行全体はCLAUDE.mdが定める60分のスピード・トゥ・リードの窓の中で完了させる必要があります。 キーワード:`inbound lead`、`qualify inbound`、`score lead`、`demo request`、`form fill`、`triage`

<quick_start> トリガー:「このインバウンドリードを選別して」「[company]の[name]をスコアリングしてルーティングして」「インバウンドをトリアージして」。 入力: 名前 + 会社名、またはメールアドレス、または貼り付けられたフォーム通知。任意:ソース、フォームフィールド。

ツールの順序:

  1. hubspot_search_contacts → hubspot_get_contact(Epiphan AI)— レコード、そのコンバージョン、ページビュー、オーナー、ライフサイクル。アカウントについてはhubspot_get_company。
  2. qualify_lead(Epiphan AI)— ゲートQ。判定により、何かをスコアリングする前に除外 / STALE AE LEAD / ティアが決まります。
  3. enrich_contact(Epiphan AI)— ゲートQを通過した行について、役職、シニアリティ、組織規模、LinkedIn。フォールバック:apollo_people_match(Apolloプラグイン)。
  4. スコアリング(ステージ4)→ ルーティング(ステージ5)。
  5. フォームが指定した製品に対してゲートS(search_product_catalog + Epiphan Knowledgeのsearch)、メールとコール冒頭に対してゲートB(get_writing_styleを1回、文字列ごとにcheck_my_copy)。
  6. 配信:[email protected]からGmailのcreate_draft(絶対に送信しない);HubSpotのノート + タスク、確認優先;AEパス → ae-handoff-brief-skill。 </quick_start>

<house_rules> 顧客対応スキル。出力前に、ゲートを順番に実行します(詳細:/.claude/skills/epiphan-house-rules-skill/reference/gates.md): S:製品に関する主張の前にsearch_product_catalog(Epiphan AI)またはEpiphan Knowledgeの検索。 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>

  • 連絡先がHubSpotで解決されている(またはnot in HubSpotとしてフラグが立ち、貼り付けられたフォームからスコアリングされている)
  • qualify_leadの判定が記録されている:理由付き除外、STALE AE LEAD、またはティアATL/GRAY/BTL
  • エンリッチはゲートQを通過したリードに対してのみ試行されている
  • 0〜100のスコアが、3つの構成要素とそれを生み出した入力とともに表示されている
  • 優先ティア + SLA + ルート(Tim / ae-handoff-brief経由のAE / CSM / チャネル)が一行の理由付きで示されている
  • 選別質問(必須 + 推奨)が、業種とフォームに記載されたニーズに結びついている
  • メール/冒頭の製品ラインがゲートSを通過している;すべての顧客対応文字列がcheck_my_copyを通過している
  • 初回接触メールがGmailの下書きとして存在する;HubSpotのノート/タスクは提案され、無言で書き込まれていない
  • 結果サイドカー + 実行ログの行が書き込まれている </success_criteria>
## ステージ 1: HubSpot でリードを特定する

MCP ツール: mcp__claude_ai_Epiphan_Ai__hubspot_search_contacts(メールアドレスで、なければ名前 + 会社名)→ mcp__claude_ai_Epiphan_Ai__hubspot_get_contact → mcp__claude_ai_Epiphan_Ai__hubspot_get_company。

取得項目: firstname, lastname, email, phone, jobtitle, company, country, lifecyclestage, hs_lead_status, hubspot_owner_id, first_conversion_event_name, recent_conversion_event_name, recent_conversion_date, hs_analytics_num_page_views, hs_analytics_last_url, notes_last_updated, device_count, is_channel、会社の industry, numberofemployees, domain。

  • 複数一致 → 最も新しいコンバージョンを持つレコードを採用し、その他はゲート Q 用の重複候補としてリストアップします。
  • 一致なし(リードが貼り付けられたフォーム通知として届いた場合)→ フォームデータで続行し、not in HubSpot とマークし、納品時に hubspot_create_contact を提案します(確認優先)。
  • ソースの優先順位: HubSpot 内のフォーム/コンバージョン名が、ユーザーが入力した内容より優先されます。

ステージ 2: ゲート Q — qualify_lead がこれがリードかどうかを判定する

MCP ツール: mcp__claude_ai_Epiphan_Ai__qualify_lead をコンタクトに対して(コンタクトが新規の場合は 会社に対しても)実行します。

判定ルート(スコアリングを停止)
既存顧客(device_count >= 1 / ライフサイクルが customer)インバウンドではなく拡張またはサポート: 担当 AE/CSM に一行メモを添えて引き継ぎます。見込み客への下書きは作成しません。
チャネルパートナーチャネルマネージャーへ。下書きは作成しません。
製品のみのエンゲージ(セットアップ/登録フォームであり、デモや価格ではない)リードではなくサポートチケットです。記録して停止します。
AE が所有、アクティビティ < 90 日所有 AE に通知(Slack/メールメモ)、BDR の下書きは作成しません。
AE が所有、停滞 > 90 日STALE AE LEAD — スコアリングし、AE 名とともに Tim に提示します。再エンゲージするかは Tim が判断します。
抑制対象(bdr_suppressed / ローカル抑制ファイル)停止し、理由を述べます。新たなインバウンドのエンゲージ自体がリリースのシグナルであるため、黙って復活させるのではなく Tim にフラグを立てます。
パス続行します。ティア(ATL / GRAY / BTL / NEVER)はこの判定から導出されます。分類は CLAUDE.md にあり、ここでは繰り返しません。

非 NA のリード: フラグを立て、スコアリングは行い、identifiers.md に従って地域担当者にルーティングします。 1 回のリトライ後も qualify_lead が利用不可 → [Gate Q unverified] を付けてスコアを生成し、下書きなし、 ルーティングなし、アウトカムは partial、Tim にアラートを送ります。

ステージ 3: 不足している情報をエンリッチする

MCP ツール: mcp__claude_ai_Epiphan_Ai__enrich_contact で役職、シニアリティ、部門、LinkedIn、 組織規模を取得します。フォールバックは mcp__plugin_sales_apollo__apollo_people_match。HubSpot にすでに 役職 + 会社規模がある場合はスキップします。エンリッチの失敗は partial であり、停止には決してなりません — 判明している情報で スコアリングし、不足している入力をマークします。

ステージ 4: スコアリング

ICP 適合度(0-40) — 汎用 SaaS ではなく Epiphan のバーティカル:

  • バーティカル ICP(0-10): CLAUDE.md のバーティカルスコア(高等教育 90、裁判所/法務 85、政府 80、コーポレート AV 80、ヘルスケア 75、礼拝施設 70、K-12 65)÷ 9 をマッピングします。不明なバーティカル = 4。
  • バイヤーティア(0-10): ATL 10 · GRAY 6 · BTL 3 · NEVER 0(ゲート Q より)。
  • 組織適合度(0-10): 複数ルーム/複数拠点/定期的なキャプチャ需要がフォーム、会社規模、またはサイトで見える = 8-10。単一ルームのホビー用途 = 2-4。
  • 予算シグナル(0-10): 予算の明言または見積もり依頼 10。進行中の助成金/会計年度の言及 7。過去の商談履歴 6。なし 3。

インテント(0-30): デモ依頼 30 · 価格/見積もり 20 · コンテンツダウンロードまたはウェビナー 10 · 一般的な問い合わせ 5。過去 30 日間に hs_analytics_num_page_views > 5 の場合 +5 を加算(上限 30)。

緊急度(0-30): 「ASAP」/日付指定のイベント 30 · タイムラインの明言 20 · 「検討中」10 · なし 5。

合計優先度SLAデフォルトルート
80-100🔴 HOT1 時間以内に電話ATL/GRAY → デモを予約し、ae-handoff-brief-skill で AE に引き継ぎ。BTL → Tim が電話し、EB を見つける
60-79🟡 WARM24 時間以内に電話Tim が対応。EB とタイムラインが確認できたらデモ
40-59🟢 COOLまずメール、その後電話Tim。Gmail の下書き + Nooks シーケンスの提案
< 40⚪ NURTURE電話なしマーケティングのナーチャリング。コンタクトにメモ

ステージ 5: ルーティング

  • AE パス(HOT + ATL/GRAY、またはフォームが BDR しきい値を超える規模と判定した案件):ハウスルールスキルの reference/identifiers.md にあるテリトリー/ブックで AE を選びます。ここにオーナー ID を書かないでください。ae-handoff-brief-skill で引き継ぎます。オーナー変更は確認優先です(hubspot_update_contact_owner)。
  • Tim パス(ゲート Q を通過したその他すべて):Tim が記録上の BDR です。コールタスクを設定します。
  • 既存顧客 / チャネル / サポート:ステージ 2 の表に従います。 「このルートの理由」を 1 行で記載します(ティア、業種、スコア、テリトリー)。

ステージ 6: 顧客向けテキストの前にゲート S と B

  • S: フォームまたは冒頭文で言及されたすべての製品について:search_product_catalog(Epiphan AI)→ Epiphan Knowledge の search/fetch。販売終了製品には EOL の確認と現行ラインナップへの誘導を付け、スペックは決して記載しません。ライブ結果がない場合 → [spec unverified] および partial。
  • 競合製品の記載(Extron、Matrox、Blackmagic、Crestron、vMix、Teradek):同様に検証するか、省略します。「おそらく X と比較している」は Tim への内部メモとしてのみ許容され、下書きには決して入れません。
  • B: get_writing_style をセッションごとに 1 回、check_my_copy をメールの件名、本文、コールの冒頭文に対して実行します。ステージング前に修正を適用します。ブランド MCP がダウンしている場合 → [brand check skipped] を付けてステージングします。

ステージ 7: 配信

  1. Gmail 下書き — mcp__claude_ai_Gmail__create_draft、差出人 [email protected]、宛先はリード。件名 Re: <form/demo request> — <Company>。本文:特定のフォームと要望に言及する 1 行、関連する場合のみ検証済みの製品 1 行、調整済みの質問 1 つ、15 分のお願い。send_message は決して使いません。
  2. HubSpot — 提案し、確認後に:hubspot_create_contact_note(「Inbound scored /100 ; route ; reason …」)と SLA 内のコール用に hubspot_create_contact_task。not in HubSpot のリード → まず hubspot_create_contact(確認優先)。
  3. チャット出力(意思決定カード):
# Inbound: <Name> — <Company>            Source: <form> · Received: <ts>
Score <n>/100  🔴/🟡/🟢/⚪  SLA: <x>   Gate Q: pass | STALE AE LEAD (<AE>) | excluded: <reason>
ICP <n>/40 (vertical <v> · tier <t> · org <o> · budget <b>) · Intent <n>/30 · Urgency <n>/30
Route: <Tim | AE <name> via ae-handoff-brief | CSM | channel>  — why: <one line>
Must-ask: 1. what is driving this now  2. current setup / what breaks  3. timeline + event
          4. who signs  Good-to-ask: success picture · budget range · alternatives seen
Call opener (brand-checked): "<2 sentences>"
Draft: <Gmail draft id>   HubSpot: note + task proposed (confirm)   Flags: [spec unverified] [brand check skipped] [not in HubSpot]
このインバウンドリードを認定してください:Maria Lopez、Riverside Community College の Academic Technology ディレクター、デモ依頼フォーム、「秋までに 12 室で講義キャプチャが必要」 HubSpot ヒット、qualify_lead 合格、ティア ATL。スコア 93(ICP 38:高等教育 10、ATL 10、12 室 10、会計年度 8 · インテント 30 · 緊急度 25)。🔴 HOT、1 時間 SLA、ae-handoff-brief 経由で AE にルーティング(NA、高等教育)。Pearl Nexus の記載は search_product_catalog + Epiphan Knowledge で検証済み。Gmail 下書きをステージング、ノート + タスクを提案済み。 Acme Studios の Dan Wu をスコアリングしてルーティングしてください、料金ページのフォーム qualify_lead:既存顧客(device_count 2)。インバウンドとしてスコアリングせず、拡張案件として担当 AE に 1 行のメモを付けてルーティング。見込み客向けの下書きはなし。

<anti_patterns>

  • 連絡先が HubSpot に存在するのに、貼り付けられたテキストだけでスコアリングすること。
  • ゲート S を通過していない製品または競合製品の主張を含むコールスクリプトを書くこと。
  • このファイルに AE 名/オーナー ID をハードコードすること — それらは identifiers.md が管理します。
  • 初回接触メールを下書きではなく送信してしまうこと。
  • 抑制チェックをインラインで再実装すること;qualify_lead がすでに適用しています。 </anti_patterns>

<self_healing> success = 解決済み、ゲート通過済み、スコアリング済み、ルーティング済み、下書きステージング済み。partial = 意思決定カードは生成されたが、いずれかのステージが低下した(エンリッチメント失敗、ゲート S/B をスキップしてフラグ付け、HubSpot ノートが未確認、ゲート Q 未検証 → 下書きなし)。error = リードをまったく特定できなかった(使用可能な名前/会社/メールがない)。ラダーは ~/.claude/skills/epiphan-house-rules-skill/reference/self-healing.md に従います:1 回再試行 → フラグを付けて低下 → Tim に通知 → 停止。実行ごとに 1 行を ~/.claude/skill-runs/inbound-lead-qualifier-skill.jsonl に追記します。 </self_healing>

結果サイドカーの出力

最終ステップとして、~/.claude/skill-analytics/last-outcome-inbound-lead-qualifier-skill.json に書き込みます:

{"ts":"[UTC ISO8601]","skill":"inbound-lead-qualifier-skill","version":"<frontmatter version>","variant":"default",
 "status":"[success|partial|error]","runtime_ms":[estimated ms from start],
 "metrics":{"leads_qualified":[n],"hot_leads":[n],"warm_leads":[n],"cool_leads":[n],"nurture":[n],"excluded_by_qualify":[n],"stale_ae_surfaced":[n],"routed_to_ae":[n],"drafts_created":[n],"avg_score":[n]},
 "error":null,"session_id":"[YYYY-MM-DD]"}

一部のステージが失敗しても結果が生成された場合は、ステータスに「partial」を使用します。error にはステージ名を指定する必要があります。出力がまったく生成されなかった場合にのみ「error」を使用します。

コメント