mcpField
L
lookalike-customer-finder-skill

lookalike-customer-finder-skill

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

关于 lookalike-customer-finder-skill

lookalike-customer-finder-skill 根据实时客户和订单数据生成相似公司的排名列表,推导 ICP,并通过 Apollo 和 Clay 扩展候选对象。它面向 Epiphan 的潜在客户开发流程,要求公司和联系人先通过资格审核再列入结果。

主要功能

  1. 01从实时 CRM 数据查找种子客户
  2. 02根据丰富后的公司字段推导 ICP
  3. 03通过 Apollo 和 Clay 扩展候选对象
  4. 04评分前审核候选对象资格
  5. 05为公司评分并分级
  6. 06生成排名 XLSX 报告

适用场景

  1. 01为某个垂直领域建立目标账户列表
  2. 02查找与指定客户相似的公司
  3. 03为潜在客户开发排列新账户优先级
  4. 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

详细介绍

相似客户查找器

从 HubSpot 和客户订单表中实时提取 Epiphan 的优质客户,推导出与 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> 触发条件:“查找与 [客户名称] 相似的公司”或“为 [垂直行业] 创建相似目标公司列表”。

工具调用顺序(每次调用都获取实时数据;列表中没有推断内容):

  1. 种子客户 — 先读取 crm://schema.md,然后在 Epiphan AI 中通过 execute_sql 查询 hubspot_companies 并联接订单表:按订单收入对 lifecyclestage = 'customer' 或 device_count >= 1 的客户排序。备用方案:使用 crm_search_customers + crm_get_customer_orders;如果用户指定了种子客户,则使用 hubspot_search_companies。
  2. 推导 ICP — 对每个种子客户使用 apollo_organizations_enrich(或 apollo_organizations_bulk_enrich),获取行业、员工人数、收入、技术和增长情况。根据返回字段计算 ICP。
  3. 扩展 — 使用 ICP 筛选条件(行业关键词、员工人数范围、美国/加拿大)调用 apollo_mixed_companies_search,并使用 search_companies_by_description(Epiphan AI)查找描述相似的公司,再通过 Clay 的 find-and-enrich-company 补齐遗漏。目标是获取 150 家以上的原始候选公司。
  4. Q 筛选 — 对每家候选公司(以及之后找到的每位联系人)调用 qualify_lead。排除项、STALE AE LEAD 和 ATL/BTL 层级仅以其判定结果为准。
  5. 评分 + 分层 — 使用下方的加权相似度模型;Tier 1 ≥ 85,Tier 2 为 70-84,Tier 3 为 60-69。
  6. 决策者 — 仅针对 Tier 1:先调用 hubspot_find_contacts_by_role,再使用 ATL 职位名称调用 apollo_mixed_people_api_search;每位联系人都要再次通过 qualify_lead 筛选。
  7. 交付 — 写入 ~/.claude/skill-state/lookalike-customer-finder/<date>-<vertical>.xlsx(包含排名工作表、ICP 工作表和按筛选排除的工作表);按需调用 hubspot_create_list + hubspot_update_list_membership(先确认)。所有外联文案都必须经过 Gate B,然后调用 create_draft。 </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>

  • 实时提取种子客户(SQL 或客户订单 MCP);在 ICP 工作表中显示种子客户列表和收入排名
  • 根据 Apollo 补充信息后的种子客户字段推导 ICP,并映射至 Epiphan 垂直行业和 ICP 评分
  • 通过 Apollo/Clay 扩展 100 家以上候选公司;同时报告原始数量和通过筛选后的数量
  • 每家候选公司和联系人在分层前都通过 qualify_lead;按原因统计排除数量
  • 为每家公司提供 0-100 的相似度评分,并显示各维度的评分明细
  • XLSX 文件写入 skill-state;仅在明确请求时创建 HubSpot 列表
  • 写入结果侧车文件和运行日志行 </success_criteria>
## 阶段 1 — 种子客户(实时)

首选:执行一条 execute_sql 查询。编写查询前先读取 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(阶段:种子客户)。

阶段 2 — ICP 推导

对每个种子客户域名调用 apollo_organizations_enrich(超过 10 个时使用批量版本)。仅根据返回的字段构建 ICP:

维度来源字段权重
行业 / 垂直领域industry、keywords → Epiphan 垂直领域25%
公司规模estimated_num_employees20%
技术栈technologies(Panopto、Kaltura、Zoom、Crestron 等)15%
成长阶段founded_year、融资事件、员工人数趋势15%
地理位置country、state(默认 USA/Canada)10%
收入范围annual_revenue15%

记录每个维度的中位数 / 众数;这就是 ICP。附上 CLAUDE.md 中的垂直领域 ICP 分数(Higher Ed 90 … K-12 65)作为决胜依据。

阶段 3 — 扩展

  1. 调用 apollo_mixed_companies_search:根据 ICP 设置 organization_num_employees_ranges,根据垂直领域关键词设置 q_organization_keyword_tags,将 organization_locations 设为 USA/Canada。持续翻页,直到原始候选公司达到 ≥ 150 家或结果耗尽。
  2. 使用一段 ICP 描述调用 Epiphan AI 的 search_companies_by_description → 补充 CRM 图谱中已有、但 Apollo 未找到的公司。
  3. 对步骤 1 后缺少员工人数 / 收入数据的候选公司,使用 Clay find-and-enrich-company。

在 Gate Q 前按域名去重。

阶段 4 — Gate Q(强制,评分前执行)

对每家候选公司调用 qualify_lead。仅保留判定为全新且位于目标区域的公司。STALE AE LEAD 判定结果应放入单独的表格,并注明 AE 姓名和最近活动日期;由 Tim 决定。如果重试一次后 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(角色: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 一句话描述、原始 → 通过 Gate 后 → 分级后的数量、前 10 名表格。
  • 可选,须先确认:hubspot_create_list("Lookalike ")+ hubspot_update_list_membership。
  • 对任何 Tier 1 客户建议的开场白:调用一次 get_writing_style,对每段文案调用 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 追加一行。

<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 中的流程:重试一次 → 带标记降级 → Slack 私信 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>

评论

支持 Markdown