mcpField
I
icp-identification

icp-identification

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

关于 icp-identification

icp-identification 是用于研究公司或产品构想、定义理想客户画像并选择后续路径的营销技能。它先收集并验证目标与排除条件,再引导用户选择市场规模分析或潜在客户开发。

主要功能

  1. 01收集公司、产品与客户信息
  2. 02研究市场、竞品和买家信号
  3. 03定义 ICP 与排除条件
  4. 04在 TAM 分析和找线索间分流
  5. 05获批前禁止写入数据库

适用场景

  1. 01为新产品界定目标市场
  2. 02基于公司网站研究潜在客户
  3. 03规划 TAM 分析或线索开发

安装

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

$npx skills add https://github.com/nikiandr/goose-skills --skill icp-identification

安装后在 Claude Code 中输入/icp-identification确认已加载。

附带文件skill.meta.json

详细介绍

ICP 识别

研究一家公司或一个想法,定义理想客户画像,并引导至合适的下一步。这是任何“帮我找潜在客户”或“帮我绘制市场版图”请求的入口——它位于所有寻找潜在客户和构建 TAM 的技能上游,确保我们在执行前了解业务、定义目标并选择合适的方法。

自动加载时机

  • 用户说“帮我找潜在客户”“帮我寻找客户对象”“我应该向谁销售”或类似的话
  • 用户提供公司 URL,并询问潜在客户或客户对象
  • 用户描述一个想法或产品,并想寻找客户
  • 用户询问“我的 ICP 是什么?”或“帮我定义目标市场”
  • 用户要求“绘制我的 TAM”“估算我的市场规模”或“建立目标客户名单”

阶段 0:收集背景信息

触发后,向用户收集以下信息:

  1. 公司 URL,或描述你的想法/产品
  2. 产品/服务的作用是什么?(如果已提供 URL,则跳过——我们会自行研究)
  3. 你目前有哪些客户?(如果有,请询问具体公司名称、买家/支持者的职位,以及他们如何发现产品。这些示例比抽象描述更能校准搜索筛选条件。)
  4. 你的定价/交易规模是多少?(有助于判断买家的资历层级)
  5. 哪些人不适合?——询问哪些行业、公司类型、公司规模或职位明确不适合该产品。可用以下示例引导:“有没有哪些行业肯定行不通?公司规模太小或太大?哪些职位看起来合适,但从来不会购买?” 即使是粗略的排除条件,也能避免后续搜索结果嘈杂。

如果用户提供了公司 URL,请先使用网页工具进行研究,再提出后续问题。不要询问可以从网站上找到答案的问题。

信息收集原则: 每个回答都应有助于填充搜索筛选条件(职位、行业、员工人数范围、地区)或排除筛选条件(要跳过的职位、要忽略的行业、要避开的公司类型)。如果用户的回答过于模糊,无法转化为筛选条件,就进一步追问。不要问泛泛的策略问题——要问能让搜索更精准的问题。

阶段 1:研究

使用网页搜索和公司 URL,调查:

  1. 公司研究——他们销售什么?卖给谁?价值主张是什么?定价模式是什么?
  2. 市场分析——属于什么类别/领域?有哪些市场规模信号?处于什么增长阶段?
  3. 竞争对手识别——排名前 3-5 的竞争对手是谁?他们如何定位?
  4. 买家信号——谁会购买这类产品?职位是什么?哪些因素会触发购买?

输出: 将研究结果整理成简报(5-10 条要点),并交由用户确认。例如:

研究摘要:

  • 公司向 Y 销售 X
  • 主要竞争对手:A、B、C
  • 典型买家:中型市场公司的副总裁/总监级人员
  • 购买触发因素:团队扩张、从旧版工具迁移、新预算周期
  • 定价表明目标买家属于中型市场/企业级

询问用户:“这符合你的理解吗?有什么需要纠正或补充的吗?”

阶段 2:定义 ICP

根据研究结果和用户输入,提出结构化的 ICP:

维度建议理由
职位名称例如:销售副总裁、营收运营负责人销售工具的直接买家
资历层级例如:副总裁、总监对于此交易规模拥有预算审批权
公司规模例如:51-200 名员工最适合该产品的目标区间
行业例如:SaaS、FinTech产品与市场契合度最高
地区例如:美国、旧金山湾区当前市场重点
信号例如:近期招聘、发布过相关痛点时机指标

以表格形式呈现。请用户确认、调整或完善。持续迭代,直至用户批准。

排除条件(同样重要)

定义需要筛除的对象。这些条件直接对应搜索工具中的“not in”/排除参数:

维度排除对象原因
要排除的职位名称例如:实习生、协调员、助理、学生没有预算权限或决策权
要排除的行业例如:政府、教育、非营利组织产品不服务于这些垂直行业
要排除的公司类型例如:代理机构、咨询公司、独资企业不符合产品模式
要排除的公司规模例如:1–10 名员工、10,000 名以上员工规模太小,不需要该产品/规模太大,无法购买
要排除的特定公司例如:现有客户、竞争对手、合作伙伴已在销售管道中,或不适合

将排除条件与纳入条件表一并呈现。请用户确认两者。

重要提示: ICP 定义将作为所有下游技能的输入上下文。请务必具体——模糊的 ICP 会产生模糊的潜在客户。

搜索精准度警告: 下游工具(Crustdata、Apollo)会根据你提供的确切职位名称字符串、行业标签和关键词进行匹配。过于宽泛或堆砌过多的筛选条件(例如,15 个关键词标签)会产生大量噪声结果。每个筛选值都应具体且有明确目的。如有疑问,请使用更少、更精准的值,并通过排除条件进一步缩小范围。

第 3 阶段:选择路径——TAM 还是潜在客户?

ICP 确定后,询问用户:

“现在我们已经定义了 ICP,你想要:

  1. 绘制 TAM——建立经过评分的可寻址市场总量:发现所有符合 ICP 的公司,为其评分和分层,并为最匹配的客户建立人物画像观察名单。这是一种以市场为先的战略方法。
  2. 立即寻找潜在客户——直接寻找可以联系的个人。这是一种注重战术、追求即时结果的方法。

如果你想全面了解市场、持续监测信号,并系统地采用基于客户的营销方法,最适合绘制 TAM。如果你需要立即联系目标对象,最适合寻找潜在客户。”

路径 A:绘制 TAM → tam-builder

如果用户选择绘制 TAM,不要直接开始完整构建。请先完成规模评估和确认环节:

关键:未经用户明确批准,不得写入数据库。 在用户查看样本结果并表示“开始”之前,tam-builder 绝不能向 Supabase 执行 upsert。这可以避免将不需要的条目写入数据库,导致后续难以清理。

步骤 1:预览 TAM 范围

使用 --preview 标志运行 tam-builder,统计公司总数,且不触及数据库:

python3 skills/capabilities/tam-builder/scripts/tam_builder.py \
  --config <config>.json --mode build --preview

向用户展示数量,以及成本/资源相关信息:

“根据你的 ICP 筛选条件,Apollo 在你的 TAM 范围内找到了 约 X 家公司。完整构建的预估如下:

  • **Apollo API 额度:**约 Y 页公司搜索结果(每页 100 家公司)+ Tier 1–2 级公司的客户画像查询
  • **Supabase 行数:**最多 X 条公司记录 + 预估数量的人物画像记录
  • **耗时:**完整构建大约需要 Z 分钟

在正式开始之前,我先运行一次样本查询,让你了解评分和结果的情况。”

步骤 2:运行示例(不写入数据库)

在进行任何数据库写入之前,务必先运行示例:

python3 skills/capabilities/tam-builder/scripts/tam_builder.py \
  --config <config>.json --mode build --sample --test

此操作会搜索 Apollo(1 页,约 100 家公司),仅在内存中为它们评分,并打印:

  • 层级分布(Tier 1 / 2 / 3 的数量)
  • 得分最高的 Tier 1 公司
  • Tier 2 公司示例

**不会向 Supabase 写入任何数据。**向用户展示输出,并询问:

“这是示例结果——[层级分布 + 公司示例]。看起来合适吗?您想要:

  1. 继续完整构建——将约 X 家公司全部 upsert 到 Supabase
  2. 限制构建范围——将公司数量限制在指定数目
  3. 调整筛选条件——调整 ICP 筛选条件并重新采样 ”

如果用户想调整筛选条件并重新采样,再次运行 --sample --test。重新采样多少次都免费——在用户批准之前,不会触及数据库。

步骤 3:执行构建(仅在获得明确批准后)

用户确认后,在约定的范围内(完整或受限)运行 tam-builder,不要使用 --sample:

python3 skills/capabilities/tam-builder/scripts/tam_builder.py \
  --config <config>.json --mode build

**首次构建时切勿传入 --yes。**脚本内置的确认提示是额外的安全保障。

构建完成后,总结结果并说明后续步骤:

  • signal-scanner — 监控 TAM 公司是否出现购买信号(员工人数变化、融资、职位发布、LinkedIn 活动)
  • cold-email-outreach 或 linkedin-outreach — 信号出现时,联系 Tier 1-2 人物画像
  • 完整链路:tam-builder → signal-scanner → cold-email-outreach

推荐 TAM 路径的情形:

  • 用户希望采用系统化、基于客户账户的方法
  • 市场定义明确,但用户不知道其中有哪些公司
  • 用户计划持续开展外联(而非一次性活动)
  • 用户希望在联系账户前按匹配度确定优先级
  • 用户询问“市场规模评估”“目标客户账户列表”或“基于客户账户”
路径 B:寻找潜在客户 → 潜在客户挖掘技能

如果用户选择寻找潜在客户,请根据技能图中可用的内容,展示按优先级排序的策略:

#策略使用的技能最适合工作量
1数据库搜索 — 按职位、行业、地区和公司规模搜索人员数据库crustdata-supabase高数量、宽泛的 ICP低
2痛点表述 — 查找发布与您的产品所解决问题相关内容的人士pain-language-engagers已表达需求的暖线索中
3竞争对手受众 — 查找与竞争对手内容互动的人士competitor-post-engagers已处于采购市场的潜在客户中
4KOL 受众 — 从行业意见领袖的受众中寻找潜在客户kol-discovery → kol-engager-icp细分市场、高质量潜在客户中
5招聘信号 — 查找正在招聘可由您的产品替代或支持的岗位的公司job-posting-intent有预算且需求紧迫的公司中
6活动参与者 — 从行业活动中寻找潜在客户get-qualified-leads-from-luma活跃且已处于采购市场的潜在客户低
7Apollo 数据库搜索 — 搜索 Apollo 的 2.1 亿以上联系人数据库(免费搜索,付费数据增强)apollo-lead-finder覆盖范围最广、可控成本的数据增强低

推荐逻辑:

  • 早期阶段 / ICP 宽泛 → 从数据库搜索(数量)+ 痛点表述(意向)开始
  • 已成熟且已知竞争对手 → 竞争对手受众 + 数据库搜索
  • 细分市场 → KOL 受众 + 活动参与者
  • 高紧迫性 / 预算信号很重要 → 招聘信号 + 数据库搜索

根据 ICP 和公司阶段推荐 1-2 种策略,并询问用户选择执行哪种策略。

阶段 4:交接

用户选定路径和策略后:

  1. 加载相应技能的 SKILL.md
  2. 将 ICP 定义作为上下文传递——职位头衔、行业、地区、公司规模、信号
  3. 使用已填充的 ICP 开始该技能的阶段 0(信息收集)——不要重复询问 ICP 已能回答的问题
  4. 如果选了多种策略,按顺序执行——完成一种后再开始下一种
交接格式

切换到下游技能时,传递以下内容:

ICP Context (from icp-identification):

Include:
- Titles: [list]
- Seniority: [list]
- Company size: [range]
- Industries: [list]
- Region: [list]
- Signals: [list]
- Product: [what the user sells]
- Competitors: [identified competitors]

Exclude:
- Titles to exclude: [list]
- Industries to exclude: [list]
- Company types to exclude: [list]
- Company size to exclude: [ranges]
- Companies to exclude: [specific names, if any]

这样可确保下游技能跳过重复的信息收集问题,立即开始执行。必须同时传递纳入和排除标准——排除标准能够避免搜索结果中出现大量噪声。

评论

支持 Markdown