关于 icp-identification
icp-identification 是用于研究公司或产品构想、定义理想客户画像并选择后续路径的营销技能。它先收集并验证目标与排除条件,再引导用户选择市场规模分析或潜在客户开发。
主要功能
- 01收集公司、产品与客户信息
- 02研究市场、竞品和买家信号
- 03定义 ICP 与排除条件
- 04在 TAM 分析和找线索间分流
- 05获批前禁止写入数据库
适用场景
- 01为新产品界定目标市场
- 02基于公司网站研究潜在客户
- 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:收集背景信息
触发后,向用户收集以下信息:
- 公司 URL,或描述你的想法/产品
- 产品/服务的作用是什么?(如果已提供 URL,则跳过——我们会自行研究)
- 你目前有哪些客户?(如果有,请询问具体公司名称、买家/支持者的职位,以及他们如何发现产品。这些示例比抽象描述更能校准搜索筛选条件。)
- 你的定价/交易规模是多少?(有助于判断买家的资历层级)
- 哪些人不适合?——询问哪些行业、公司类型、公司规模或职位明确不适合该产品。可用以下示例引导:“有没有哪些行业肯定行不通?公司规模太小或太大?哪些职位看起来合适,但从来不会购买?” 即使是粗略的排除条件,也能避免后续搜索结果嘈杂。
如果用户提供了公司 URL,请先使用网页工具进行研究,再提出后续问题。不要询问可以从网站上找到答案的问题。
信息收集原则: 每个回答都应有助于填充搜索筛选条件(职位、行业、员工人数范围、地区)或排除筛选条件(要跳过的职位、要忽略的行业、要避开的公司类型)。如果用户的回答过于模糊,无法转化为筛选条件,就进一步追问。不要问泛泛的策略问题——要问能让搜索更精准的问题。
阶段 1:研究
使用网页搜索和公司 URL,调查:
- 公司研究——他们销售什么?卖给谁?价值主张是什么?定价模式是什么?
- 市场分析——属于什么类别/领域?有哪些市场规模信号?处于什么增长阶段?
- 竞争对手识别——排名前 3-5 的竞争对手是谁?他们如何定位?
- 买家信号——谁会购买这类产品?职位是什么?哪些因素会触发购买?
输出: 将研究结果整理成简报(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,你想要:
- 绘制 TAM——建立经过评分的可寻址市场总量:发现所有符合 ICP 的公司,为其评分和分层,并为最匹配的客户建立人物画像观察名单。这是一种以市场为先的战略方法。
- 立即寻找潜在客户——直接寻找可以联系的个人。这是一种注重战术、追求即时结果的方法。
如果你想全面了解市场、持续监测信号,并系统地采用基于客户的营销方法,最适合绘制 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 写入任何数据。**向用户展示输出,并询问:
“这是示例结果——[层级分布 + 公司示例]。看起来合适吗?您想要:
- 继续完整构建——将约 X 家公司全部 upsert 到 Supabase
- 限制构建范围——将公司数量限制在指定数目
- 调整筛选条件——调整 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 | 已处于采购市场的潜在客户 | 中 |
| 4 | KOL 受众 — 从行业意见领袖的受众中寻找潜在客户 | kol-discovery → kol-engager-icp | 细分市场、高质量潜在客户 | 中 |
| 5 | 招聘信号 — 查找正在招聘可由您的产品替代或支持的岗位的公司 | job-posting-intent | 有预算且需求紧迫的公司 | 中 |
| 6 | 活动参与者 — 从行业活动中寻找潜在客户 | get-qualified-leads-from-luma | 活跃且已处于采购市场的潜在客户 | 低 |
| 7 | Apollo 数据库搜索 — 搜索 Apollo 的 2.1 亿以上联系人数据库(免费搜索,付费数据增强) | apollo-lead-finder | 覆盖范围最广、可控成本的数据增强 | 低 |
推荐逻辑:
- 早期阶段 / ICP 宽泛 → 从数据库搜索(数量)+ 痛点表述(意向)开始
- 已成熟且已知竞争对手 → 竞争对手受众 + 数据库搜索
- 细分市场 → KOL 受众 + 活动参与者
- 高紧迫性 / 预算信号很重要 → 招聘信号 + 数据库搜索
根据 ICP 和公司阶段推荐 1-2 种策略,并询问用户选择执行哪种策略。
阶段 4:交接
用户选定路径和策略后:
- 加载相应技能的
SKILL.md - 将 ICP 定义作为上下文传递——职位头衔、行业、地区、公司规模、信号
- 使用已填充的 ICP 开始该技能的阶段 0(信息收集)——不要重复询问 ICP 已能回答的问题
- 如果选了多种策略,按顺序执行——完成一种后再开始下一种
交接格式
切换到下游技能时,传递以下内容:
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]
这样可确保下游技能跳过重复的信息收集问题,立即开始执行。必须同时传递纳入和排除标准——排除标准能够避免搜索结果中出现大量噪声。