mcpField
I
inbound-lead-qualifier-skill

inbound-lead-qualifier-skill

github.com/scientiacapital营销与增长2836 次安装3 周前更新
代码仓库

关于 inbound-lead-qualifier-skill

面向 Claude 的入站线索处理 Skill,使用 HubSpot 数据和补全信息进行资格判断、评分与分流。它将首次联系邮件保存为 Gmail 草稿,并要求在对外沟通前完成检查。

主要功能

  1. 01查询 HubSpot 联系人和公司
  2. 02资格门槛与线索评分
  3. 03为合格线索补全信息
  4. 04按等级和响应时限分流
  5. 05创建 Gmail 草稿并提议 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

详细介绍

入站线索筛选与路由

在两分钟内将入站信号转化为决策:从 HubSpot 获取联系人,让 `qualify_lead` 判断其是否为线索(客户、渠道、仅参与产品活动的联系人、由 AE 负责的联系人、已抑制联系人),以及其所属层级;补充缺失信息;评估 ICP 匹配度 + 意向 + 紧迫性,得出 0-100 的优先级和响应 SLA;进行路由(由 Tim 跟进,或安排演示并移交给 AE);并将首次联系邮件保存为 Gmail 草稿。线索响应速度:整个流程应在 CLAUDE.md 规定的 60 分钟线索响应时限内完成。 关键词:`inbound lead`、`qualify inbound`、`score lead`、`demo request`、`form fill`、`triage`

<quick_start> 触发语:“筛选这条入站线索”、“为 [姓名](来自 [公司])评分并路由”、“分流入站线索”。 **输入:**姓名 + 公司,或电子邮件,或粘贴的表单通知。可选:来源、表单字段。

工具顺序:

  1. hubspot_search_contacts → hubspot_get_contact(Epiphan AI)——获取记录、转化、页面浏览、负责人和生命周期。对相应账户使用 hubspot_get_company。
  2. qualify_lead(Epiphan AI)——Gate Q。判定结果决定排除、STALE AE LEAD 或层级,然后才能进行任何评分。
  3. enrich_contact(Epiphan AI)——为通过 Gate Q 的记录补充职位、资历、组织规模和 LinkedIn 信息。备用方案:apollo_people_match(Apollo 插件)。
  4. 评分(Stage 4)→ 路由(Stage 5)。
  5. 对表单中提及的任何产品执行 Gate S(search_product_catalog + Epiphan Knowledge search);对邮件和开场白执行 Gate B(get_writing_style 一次,针对每段文案使用 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 中追加一行。 </house_rules>

<success_criteria>

  • 在 HubSpot 中找到联系人(或标记为 not in HubSpot,并根据粘贴的表单进行评分)
  • 记录 qualify_lead 判定结果:附带原因的排除、STALE AE LEAD 或 ATL/GRAY/BTL 层级
  • 仅为通过 Gate Q 的线索尝试补充信息
  • 给出 0-100 的评分,展示三个组成部分及其对应输入
  • 给出优先级层级 + SLA + 路由(Tim / 通过 ae-handoff-brief 转交 AE / CSM / 渠道),并附上一句话说明原因
  • 根据垂直领域和表单中说明的需求,列出资格确认问题(必问 + 建议询问)
  • 邮件/开场白中的产品表述通过 Gate S;所有面向客户的文案均通过 check_my_copy
  • 首次联系邮件已保存为 Gmail 草稿;提议创建 HubSpot 备注/任务,但不得悄悄写入
  • 已写入结果 sidecar 和运行日志行 </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。

  • 有多条匹配记录 → 选择最近一次转化的记录;将其他记录列为可能的重复项,供 Gate Q 处理。
  • 未找到匹配项(潜在客户通过粘贴的表单通知提交)→ 使用表单数据继续处理,标记为 not in HubSpot,并建议在交付时调用 hubspot_create_contact(先确认)。
  • 来源优先级:HubSpot 中的表单/转化名称优先于用户输入的内容。

第 2 阶段:Gate Q — qualify_lead 决定这是否是潜在客户

MCP 工具: 对联系人(以及新联系人的所属公司)调用 mcp__claude_ai_Epiphan_Ai__qualify_lead。

判定结果路由(停止评分)
现有客户(device_count >= 1 / 生命周期阶段为客户)属于增购或支持,不是入站线索:交给负责的 AE/CSM,并附上一行备注。不要向潜在客户起草邮件。
渠道合作伙伴交给渠道经理;不起草邮件。
仅对产品感兴趣的联系人(设置/注册表单,而非演示或定价)创建支持工单,不视为潜在客户。添加备注;停止处理。
由 AE 负责,且活动发生在 90 天内通知负责的 AE(Slack/邮件备注),不由 BDR 起草邮件。
由 AE 负责,且超过 90 天无活动STALE AE LEAD — 评分后提交给 Tim,并注明 AE 姓名;由 Tim 决定是否重新跟进。
已抑制(bdr_suppressed / 本地抑制文件)停止处理;说明原因。新的入站互动本身就是解除抑制的信号——标记给 Tim,不要悄悄恢复。
通过继续处理。层级(ATL / GRAY / BTL / NEVER)来自此判定;分类规则见 CLAUDE.md,此处不再重述。

非北美潜在客户:标记并继续评分,根据 identifiers.md 转给区域负责人。 重试一次后 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) — 依据 Epiphan 的垂直行业,而非通用 SaaS:

  • 垂直行业 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(来自 Gate 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): “尽快”/有日期的活动 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 门槛的任何商机):根据 house-rules 技能中 reference/identifiers.md 的区域/客户组合确定 AE;此处不要写入负责人 ID。 使用 ae-handoff-brief-skill 交接;更改负责人前必须先确认(hubspot_update_contact_owner)。
  • Tim 路径(通过 Gate Q 的其他所有商机):Tim 是记录在案的 BDR;设置通话任务。
  • 现有客户 / 渠道 / 支持:按第 2 阶段的表格处理。 用一行说明“为何采用此路由”(级别、垂直行业、分数、区域)。

第 6 阶段:面向客户撰写任何内容前通过 Gate S 和 B

  • **S:**对于表单或开场白中提到的每款产品:search_product_catalog(Epiphan AI)→ Epiphan Knowledge search/fetch。已停产产品需说明停产情况并指向当前产品线,绝不提供规格。没有实时结果 → [spec unverified],并标记为 partial。
  • 竞品内容(Extron、Matrox、Blackmagic、Crestron、vMix、Teradek):用同样的方式验证,否则省略——“可能在比较 X”仅可作为给 Tim 的内部备注,绝不能出现在草稿中。
  • **B:**每个会话调用一次 get_writing_style;对邮件主题、正文和电话开场白调用 check_my_copy。暂存前应用修改建议。品牌 MCP 不可用 → 暂存时标记 [brand check skipped]。

第 7 阶段:交付

  1. Gmail 草稿 — 使用 mcp__claude_ai_Gmail__create_draft,发件人为 [email protected],收件人为潜在客户。 主题 Re: <form/demo request> — <Company>。正文:一行确认具体表单及对方的需求;仅在相关时写一行经验证的产品信息;一个恰当的问题;并提出 15 分钟交流。绝不调用 send_message。
  2. HubSpot — 先提出建议,确认后再调用:hubspot_create_contact_note(“Inbound scored /100 ; route ; reason …”)以及 hubspot_create_contact_task,在 SLA 时限内安排通话。 对于 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]
qualify this inbound lead: Maria Lopez, Director of Academic Technology, Riverside Community College, demo request form, "need lecture capture in 12 rooms by fall" HubSpot 命中,qualify_lead 通过,级别 ATL。得分 93(ICP 38:高等教育 10、ATL 10、12 个房间 10、财年 8 · 意向 30 · 紧迫性 25)。🔴 HOT,1 小时 SLA,通过 ae-handoff-brief 路由至 AE(北美,高等教育)。通过 search_product_catalog + Epiphan Knowledge 验证 Pearl Nexus 产品信息。Gmail 草稿已暂存,备注 + 任务已提出。 score and route Dan Wu from Acme Studios, pricing page form qualify_lead:现有客户(device_count 2)。不作为入站潜在客户评分;作为扩展机会转给所属 AE,并附一行备注。不起草潜在客户邮件。

<anti_patterns>

  • 联系人已存在于 HubSpot 时,仅依据粘贴的文本评分。
  • 撰写包含未通过 Gate S 验证的产品或竞品声明的电话脚本。
  • 在此文件中硬编码 AE 姓名/负责人 ID——这些信息由 identifiers.md 管理。
  • 不起草邮件,而是直接发送首次联系邮件。
  • 在行内重新实现抑制检查;qualify_lead 已会应用该检查。 </anti_patterns>

<self_healing> success = 已识别、完成门禁检查、评分、路由并暂存草稿。partial = 已生成决策卡,但某个阶段降级处理(信息补全失败、跳过 Gate S/B 并加以标记、HubSpot 备注未确认、Gate Q 未验证 → 不生成草稿)。error = 完全无法识别潜在客户(没有可用的姓名/公司/电子邮件)。按 ~/.claude/skills/epiphan-house-rules-skill/reference/self-healing.md 中的阶梯处理:重试一次 → 降级处理并加上标记 → 提醒 Tim → 停止。每次运行向 ~/.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"。

评论

支持 Markdown