mcpField
I
inbound-lead-enrichment

inbound-lead-enrichment

github.com/nikiandr营销与增长199 次安装31 周前更新
代码仓库

关于 inbound-lead-enrichment

inbound-lead-enrichment 是用于补全入站线索信息的技能,适合处理资料不完整的销售线索。它研究公司和联系人、发现相关决策参与者,并检查 CRM 与外联记录,最后整理为扩展线索记录和 CSV。

主要功能

  1. 01盘点线索缺失字段并确定补全深度
  2. 02研究公司和联系人资料
  3. 03识别购买委员会相关人员
  4. 04检查 CRM、外联及公司商机记录
  5. 05输出扩展线索记录和 CSV

适用场景

  1. 01补全只有邮箱或部分资料的入站线索
  2. 02为销售团队整理潜在客户公司档案
  3. 03找出线索公司的经济买家和技术评估者
  4. 04识别已有客户关系或在谈商机

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/nikiandr/goose-skills --skill inbound-lead-enrichment

安装后在 Claude Code 中输入/inbound-lead-enrichment确认已加载。

附带文件skill.meta.json

详细介绍

入站线索信息补全

接收数据不完整的入站线索,并补齐缺失信息。研究公司、确定联系人的职位、查找公司内的其他利益相关者,并检查 CRM 中是否存在现有关系。将一个简单的电子邮件地址转化为完整的线索资料。

自动加载时机

在以下情况下加载此组合:

  • 用户说“补全这些线索的信息”“填入缺失数据”或“研究这些入站线索”
  • inbound-lead-qualification 将线索标记为 insufficient_data
  • inbound-lead-triage 检测到线索缺少公司或职位字段
  • 用户提供了电子邮件列表或不完整的线索数据,需要补全资料

架构

[Raw Leads] → Step 1: Assess Gaps → Step 2: Company Research → Step 3: Person Research → Step 4: Stakeholder Discovery → Step 5: Relationship Check → Step 6: Compile & Output
                   ↓                      ↓                         ↓                          ↓                             ↓                          ↓
            Gap inventory        Company profiles         Person profiles            Buying committee          CRM/pipeline matches       Enriched lead records

步骤 0:配置(每个客户端仅需一次)

首次运行时,确定信息补全工具的偏好设置。保存到 clients/<client-name>/config/lead-enrichment.json。

{
  "enrichment_tools": {
    "company_research": {
      "primary": "web-search | Apollo | Crunchbase | none",
      "secondary": "web-search"
    },
    "person_research": {
      "primary": "Apollo | LinkedIn scraper (Apify) | web-search | none",
      "secondary": "web-search"
    },
    "stakeholder_finding": {
      "primary": "Apollo | LinkedIn Sales Nav export | company-contact-finder | none",
      "secondary": "web-search"
    }
  },
  "crm_source": {
    "tool": "Supabase | HubSpot | Salesforce | CSV | none",
    "access_method": ""
  },
  "buyer_personas": [],
  "enrichment_depth": {
    "tier_1_leads": "deep",
    "tier_2_leads": "deep",
    "tier_3_leads": "standard",
    "tier_4_leads": "minimal",
    "untiered_leads": "standard"
  },
  "cost_controls": {
    "max_apify_credits_per_run": null,
    "max_apollo_credits_per_run": null,
    "skip_paid_enrichment_for_tier_4": true
  }
}

后续运行时: 静默加载配置。


步骤 1:评估数据缺口

流程

对每条线索,列出已知信息和未知信息:

必填字段(必须补全):

  • company_name — 他们在哪家公司工作?
  • company_domain — 公司网站域名
  • person_name — 全名
  • person_title — 当前职位
  • person_email — 联系电子邮件(通常已从入站线索中获取)

有价值的字段(尽可能补全):

  • company_size — 员工人数或范围
  • company_industry — 行业分类
  • company_stage — 融资阶段或成熟度
  • company_hq — 总部所在地
  • company_description — 一句话介绍公司业务
  • person_seniority — IC、经理、总监、副总裁、高管、创始人
  • person_department — 工程、销售、市场营销等
  • person_linkedin — LinkedIn 个人资料 URL
  • person_tenure — 在当前公司的任职时间

额外字段(有则更好):

  • company_tech_stack — 已知的技术栈
  • company_recent_news — 近期动态(融资、发布、招聘)
  • person_background — 过往公司、教育经历
  • person_social_activity — 近期帖子或互动主题
缺口分类

对每条线索,分类所需的信息补全工作量:

缺口级别缺失内容所需信息补全工作成本
最少1-2 个有价值的字段快速网页搜索免费
标准缺少公司或职位信息网页搜索 + 可能的 API 查询低
深入缺少多个必填字段多来源研究中
仅有电子邮件只有电子邮件地址从头开始全面研究高
输出
  • 缺口清单表,列出每条线索及其缺失信息
  • 为每条线索建议信息补全深度(根据缺口级别以及可用时的紧急程度)
  • 如需使用付费工具,估算费用
人工确认点

“以下是线索中缺失的信息:[X] 条需要深入补全,[Y] 条需要标准补全,[Z] 条只需快速查询。预计费用:[金额]。是否继续?”


步骤 2:公司研究

流程

对于潜在客户列表中的每家独立公司(去重——不要针对多个潜在客户重复研究同一家公司):

从电子邮件域名推断(缺少公司名称时):

  1. 从电子邮件中提取域名(例如,[email protected] → acme.com)
  2. 跳过个人电子邮件域名(gmail、yahoo、hotmail、outlook 等)
  3. 查询域名 → 公司名称、描述

公司资料研究:

字段首选来源备用来源
公司名称域名查询网络搜索
描述公司网站(首页、关于页面)Crunchbase、LinkedIn 公司页面
员工人数Apollo、LinkedIn 公司页面Crunchbase、网络搜索
行业LinkedIn 公司页面、Crunchbase根据网站内容推断
阶段/融资情况Crunchbase、新闻文章Apollo、网络搜索
总部所在地LinkedIn 公司页面、网站Crunchbase
技术栈招聘信息、BuiltWith网络搜索
最新消息网络搜索(最近 90 天)Twitter/社交媒体提及

按配置确定研究深度:

  • 深入: 涵盖所有字段,使用多个来源,并交叉验证
  • 标准: 涵盖必需且有价值的字段,仅使用首选来源
  • 最低限度: 仅包括公司名称、描述和规模
输出

每家公司都会获得一个 company_profile 块:

{
  "company_name": "",
  "company_domain": "",
  "company_description": "",
  "employee_count": "",
  "employee_range": "",
  "industry": "",
  "sub_industry": "",
  "stage": "",
  "last_funding": "",
  "hq_location": "",
  "tech_stack": [],
  "recent_news": [],
  "research_sources": [],
  "confidence": "high | medium | low"
}
处理个人电子邮件域名

如果潜在客户使用了个人电子邮件(gmail 等):

  1. 检查姓名和其他可用数据能否用于识别公司(例如,表单字段、聊天消息)
  2. 如果他们在表单提交或聊天中提到了公司,则使用该信息
  3. 如果确实无法确定,则标记为 company_unidentified——如果有姓名,仍继续研究此人

第 3 步:人员研究

流程

为每位潜在客户建立人员资料:

根据姓名和公司进行查询(缺少职位时):

  1. 在 LinkedIn 上搜索该公司中的人员(通过已配置的工具或网络搜索)
  2. 与 Apollo 或其他联系人数据库交叉核对
  3. 如果有多个匹配结果,使用电子邮件域名消除歧义

人员资料研究:

字段首选来源备用来源
全名输入数据LinkedIn 个人资料
当前职位LinkedIn 个人资料、Apollo网络搜索
职级根据职位推断LinkedIn 个人资料
部门根据职位推断LinkedIn 个人资料
在公司的任职时间LinkedIn 个人资料Apollo
曾任职公司LinkedIn 个人资料网络搜索
教育背景LinkedIn 个人资料跳过
LinkedIn 网址Apollo、网络搜索跳过
LinkedIn 标题LinkedIn 个人资料跳过
最新动态LinkedIn 帖子(如果配置了抓取工具)跳过

职级推断规则:

  • 职位包含:Intern、Associate、Coordinator、Specialist → IC_junior
  • 职位包含:Analyst、Engineer、Designer、Developer(不含“Senior/Lead/Staff”)→ IC_mid
  • 职位包含:Senior、Lead、Staff、Principal → IC_senior
  • 职位包含:Manager、Team Lead → Manager
  • 职位包含:Director、Head of → Director
  • 职位包含:VP、Vice President、SVP、EVP → VP
  • 职位包含:Chief、C 级缩写(CTO、CMO、CRO、CFO)、President → C_Level
  • 职位包含:Founder、Co-founder、Owner → Founder

根据公司规模调整:

  • 员工少于 20 人的公司:职级上调一级(“Manager” 的职责范围相当于 Director)
  • 员工超过 5000 人的公司:职级下调一级(“Director” 的自主权可能相当于 Manager)
输出

每位潜在客户都会获得一个 person_profile 块:

{
  "full_name": "",
  "current_title": "",
  "seniority_level": "",
  "department": "",
  "tenure_months": null,
  "previous_companies": [],
  "education": "",
  "linkedin_url": "",
  "linkedin_headline": "",
  "recent_activity_summary": "",
  "research_sources": [],
  "confidence": "high | medium | low"
}

第 4 步:利益相关者发现

流程

对于线索列表中的每家公司,找出其他相关人员——购买委员会。

为何重要:

  • 入站线索很少是唯一的决策者
  • 尽早找到购买委员会的其他成员,有助于加快交易进程
  • 多线程拓展(与同一公司的多位人员接洽)能显著提高赢单率

需要寻找的对象(根据配置中的买家画像):

  1. 经济买家 — 签字付款的人。通常是相关部门的副总裁或更高级别,或 C 级高管。
  2. 内部支持者 — 最有可能推动公司内部采用产品的人。通常是感受到痛点的资深个人贡献者或总监。
  3. 技术评估者 — 评估产品技术适配度的人。通常来自工程或运营部门。
  4. 最终用户 — 日常使用产品的人。他们的认可有助于避免售后客户流失。

每家公司的流程:

  1. 根据买家画像确定要搜索哪些职位
  2. 使用已配置的工具搜索(Apollo、LinkedIn、company-contact-finder)
  3. 记录找到的每位利益相关者的信息:姓名、职位、资历级别、LinkedIn URL、电子邮件(如有)
  4. 注明对方与入站线索的关系:同一团队?同一部门?不同职能?

深入程度控制:

  • 深度补充(Tier 1-2 线索):找出全部 4 类利益相关者,并逐一调查。
  • 标准补充(Tier 3 线索):只找出经济买家和内部支持者。
  • 最低限度补充(Tier 4 / 未分级):跳过利益相关者发现。
输出

每家公司都会得到一个 stakeholder_map:

{
  "company": "",
  "inbound_lead": {
    "name": "",
    "title": "",
    "role_in_deal": "economic_buyer | champion | evaluator | user | unknown"
  },
  "stakeholders_found": [
    {
      "name": "",
      "title": "",
      "seniority": "",
      "linkedin_url": "",
      "email": "",
      "role_in_deal": "",
      "relationship_to_lead": "",
      "confidence": "high | medium | low"
    }
  ],
  "buying_committee_completeness": "full | partial | minimal",
  "recommended_multi_thread": ""
}
利益相关者优先级

如果入站线索就是经济买家 → 利益相关者是补充背景信息 如果入站线索是用户/评估者 → 找到经济买家至关重要 如果入站线索身份未知 → 确定其角色有助于制定多线程拓展策略


步骤 5:关系核查

流程

针对每条线索和每位找到的利益相关者,检查现有系统中是否存在过往关系:

检查 1 — CRM / Supabase people 表:

  • 此人是否已存在于我们的系统中?
  • 如果存在:其当前状态是什么?(活跃线索、已联系、培育中、客户、已流失)
  • 如果存在:由谁负责维护关系?

检查 2 — 外联记录(outreach_log):

  • 我们以前是否给此人发送过电子邮件/消息?
  • 如果发送过:何时、通过什么渠道、结果如何?
  • 关键:避免出现“我们上周给你发了陌生开发邮件,你没理我们,现在你主动入站联系”的冲突

检查 3 — 公司级销售管道(companies 表或 CRM):

  • 这家公司是否有正在进行的交易?
  • 如果有:处于什么阶段?谁是交易负责人?
  • 有正在进行交易的公司出现入站线索是一个重大信号——请醒目标记

检查 4 — 信号历史记录(signals 表):

  • 这家公司是否出现在任何信号扫描中?
  • 如果出现过:有哪些信号?是否采取了行动?

检查 5 — 共同人脉(如有数据):

  • 我们团队中是否有人认识这家公司的某个人?
  • 如果有:注明可通过谁进行暖介绍
输出

每条线索都会得到一个 relationship_context 区块:

{
  "person_in_crm": true/false,
  "person_crm_status": "",
  "person_outreach_history": [
    {
      "date": "",
      "channel": "",
      "campaign": "",
      "outcome": ""
    }
  ],
  "company_in_pipeline": true/false,
  "company_deal_stage": "",
  "company_deal_owner": "",
  "company_signal_history": [],
  "mutual_connections": [],
  "relationship_summary": ""
}

步骤 6:汇总并输出

补充信息后的线索记录

将所有研究结果合并为每条线索的一条补充信息记录:

{
  "original_data": {},
  "company_profile": {},
  "person_profile": {},
  "stakeholder_map": {},
  "relationship_context": {},
  "enrichment_metadata": {
    "enrichment_depth": "deep | standard | minimal",
    "fields_filled": X,
    "fields_still_missing": [],
    "sources_used": [],
    "confidence_overall": "high | medium | low",
    "enrichment_date": "",
    "cost_incurred": ""
  }
}
输出格式

主要:增强型 CSV

生成一个 CSV,在原始潜在客户数据基础上添加所有增强字段:

原始字段+ 公司字段+ 个人字段+ 利益相关方字段+ 关系字段+ 元数据
所有输入列company_description, employee_count, industry, stage, hq, tech_stack, recent_newscurrent_title, seniority, department, tenure, linkedin_url, headlinestakeholder_1_name, stakeholder_1_title, stakeholder_1_role, ...(最多 4 个)in_crm, crm_status, in_pipeline, deal_stage, outreach_history_summaryenrichment_depth, confidence, fields_missing, sources_used

保存至:clients/<client-name>/leads/inbound-enriched-[date].csv

次要:增强报告

## Lead Enrichment Report: [Date]

### Summary
- **Total leads enriched:** X
- **Deep enrichment:** X leads (Tier 1-2)
- **Standard enrichment:** X leads (Tier 3)
- **Minimal enrichment:** X leads (Tier 4)

### Data Quality
- **Fully enriched** (all required + valuable fields): X leads
- **Mostly enriched** (all required, some valuable): X leads
- **Partially enriched** (some required fields still missing): X leads
- **Could not enrich** (insufficient starting data): X leads

### Company Research
- **Unique companies researched:** X
- **Companies already in CRM:** X
- **Companies with active deals:** X (flag for deal owner)
- **Companies with signal history:** X

### Stakeholder Discovery
- **Total stakeholders found:** X across Y companies
- **Economic buyers identified:** X
- **Champions identified:** X
- **Full buying committees mapped:** X companies

### Relationship Flags
- **Leads already in CRM:** X (update status, don't create duplicates)
- **Previously contacted leads:** X (check outreach history before re-engaging)
- **Companies with active deals:** X (coordinate with deal owner)
- **Warm intro paths found:** X

### Cost
- **Enrichment tool credits used:** [breakdown by tool]
- **Cost per lead:** [average]

### CSV saved to: [path]

处理边缘情况

潜在客户仅提供电子邮件,没有其他信息:

  1. 提取域名 → 查询公司
  2. 在 LinkedIn/网络上搜索“[name] [company]”
  3. 如果仍无法确认身份:标记为 enrichment_failed 并注明原因,建议人工查询
  4. 对确实无法识别的潜在客户,不要浪费付费 API 额度——先进行网络搜索

同一家公司出现多次(多个入站潜在客户):

  • 只调查公司一次,并将结果应用于所有潜在客户
  • 每家公司只进行一次利益相关方发现,而非每个潜在客户各做一次
  • 记录多位潜在客户的信号:“来自 [Company] 的 3 人提交了入站线索——采购委员会正在形成?”

潜在客户填写的职位与 LinkedIn 不符:

  • 相信 LinkedIn,而非自行填报的表单数据(人们有时会在表单中夸大职位)
  • 记录差异:“表单填写的是 ‘VP of Engineering’,LinkedIn 显示的是 ‘Senior Engineer’”
  • 资格评估时使用 LinkedIn 上的职位

公司近期更名、合并或被收购:

  • 如果公司域名发生重定向,跟随重定向
  • 记录公司行动:“[Company] 于 [date] 被 [Parent] 收购”
  • 根据当前实体而非历史实体进行资格评估

填写表单后,人员已离开公司:

  • 如果 LinkedIn 显示的公司与表单提交时填写的公司不同,请标记
  • 记录:“潜在客户通过 [Company] 提交表单,但截至 [date] 已在 [New Company] 任职”
  • 如果两家公司都可能相关,则分别评估

增强工具遭遇速率限制或失败:

  • 如果主要工具失败,则改用备用工具(网络搜索始终可用)
  • 如果针对某位潜在客户的两种工具都失败,将其标记为 enrichment_partial 并继续处理
  • 切勿因为一位潜在客户处理失败而阻塞整个批次

数量非常大(100+ 位潜在客户):

  • 先批量调查公司(对公司去重)
  • 通过 Task Agent 并行开展个人调查(每批 15-20 位潜在客户)
  • 跳过 Tier 4 和未分级潜在客户的利益相关方发现
  • 使用付费增强工具前,先提供费用估算

个人邮箱域名:

  • 如果表单中填写了公司字段:即使邮箱是个人邮箱,也使用该公司信息
  • 如果没有公司信息:尝试按姓名搜索 LinkedIn
  • 最后手段:标记为 company_unidentified,仅增强个人信息

更新协议

增强完成后,更新源系统:

  1. 如果已配置 CRM: 使用增强后的数据创建或更新潜在客户记录。不要覆盖现有数据——只追加信息或填补空缺。
  2. 如果 Supabase 是数据存储: Upsert 至 people 和 companies 表。
  3. 标记重复项: 如果增强结果显示某位潜在客户已使用其他邮箱存在于 CRM 中,应标记为重复项,而不是创建第二条记录。

所需工具

  • 网络搜索 — 所有调查的主要备用方案
  • Apollo — 公司和个人查询(可选,可提升增强深度)
  • LinkedIn scraper (Apify) — 个人资料增强(可选)
  • Company-contact-finder — 利益相关方发现
  • CRM 访问权限 — 关系检查(HubSpot、Salesforce、Supabase)
  • Supabase client — 流程、外联历史和信号查询
  • 读取/写入 — CSV I/O 和配置管理
  • Task 工具 — 并行处理大量潜在客户

评论

支持 Markdown