mcpField
I
icp-prompt-builder

icp-prompt-builder

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

关于 icp-prompt-builder

icp-prompt-builder 是 Claude Code 技能,通过小批量公司评分和反馈迭代,帮助销售团队校准理想客户画像(ICP)资格提示词,并保存以供批量筛选。

主要功能

  1. 01收集 ICP 背景与排除条件
  2. 02每轮评估 10 家公司
  3. 03通过用户反馈迭代提示词
  4. 04连续两轮无修正后保存提示词
  5. 05支持后续批量评分

适用场景

  1. 01在大规模筛选前校准资格标准
  2. 02根据业务反馈调整公司评分提示词
  3. 03将定稿提示词用于完整潜在客户名单

安装

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

$npx skills add https://github.com/growthenginenowoslawski/coldoutboundskills --skill icp-prompt-builder

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

详细介绍

ICP 提示词构建器

在花钱拉取 5,000 家公司之前,先用其中 10–50 家调优资格审核提示词。本技能将引导你完成迭代流程。

为什么需要它

名单构建工具(DiscoLike、Blitz、Prospeo、Google Maps)会返回公司,但它们不知道这些公司是否符合你的 ICP。如果名单构建工具返回 5,000 家公司,其中 80% 都不合适,你就会浪费钱去补充它们的邮箱信息,结果却毫无收获。

解决办法:在扩大规模之前,先构建 AI 资格审核提示词。拉取 10 家公司,让提示词为它们评分,再将结果与你的判断进行比较,然后优化并重复。提示词连续 2 轮都与你的判断一致且无需任何修正后,就将其定稿并大规模应用。

始终使用 Task 子代理(无需 API 密钥)

本技能完全通过 Task 工具在 Claude Code 内运行。不调用 Anthropic SDK,也不调用 OpenAI API——由 Claude Code 自行评分。这是有意为之:

  • 无需额外的 API 费用。 使用你的 Claude Code 计划。
  • 无需管理密钥。 开箱即用。
  • 可在合理范围内扩展。 对于 20–100 次评估,可通过并行 Task 子代理批量处理,每个子代理处理 10–20 家公司。

在超大规模场景下(每批 5,000 家以上公司),你可能会想导出已调优的提示词,并通过 OpenAI / Anthropic API 并行运行以提升速度。但调优过程在 Claude Code 内进行。

流程(8 个步骤)

步骤 1 — 收集 ICP 背景信息

Claude 会询问用户(或从 /icp-onboarding 中读取 client-profile.yaml):

  • 客户的网站(用于抓取背景信息)
  • 谁是优质客户?他们符合条件的原因是什么?
  • 谁不是优质客户?哪些因素会使他们不符合条件?
  • 有哪些具体信号?(仅限 B2B、营收范围、技术栈、招聘状态、近期融资等)
  • 有哪些硬性排除条件?(竞争对手域名、现有客户域名、特定行业/地区)
步骤 2 — 选择 10 家测试公司

从名单构建工具的输出中拉取 10 家公司:

  • 兼顾可能合适和可能不合适的公司
  • 覆盖不同的行业、规模和地点
  • 每家公司至少需要包含:domain, company_name, industry, headcount, description
  • 更丰富的字段(由 Clay 衍生:Business Type、Scale Scope、Revenue)有助于提高评分质量
步骤 3 — 构建初始资格审核提示词

模板:

You are an ICP evaluator for {CLIENT_NAME}.

## Target ICP
{ICP description from user or client-profile.yaml}

## Qualification criteria (MUST be true)
- {criterion 1}
- {criterion 2}
- ...

## Disqualification criteria (ANY match = disqualify)
- {disqualifier 1}
- {disqualifier 2}
- ...

## Input
You will receive a company with these fields:
- domain, name, industry, headcount, description
- (optional) Business Type, Revenue, Scale Scope

## Output
For each company, return JSON:
{
  "qualified": true | false,
  "confidence": 0.0-1.0,
  "reason": "one-sentence explanation"
}
步骤 4 — 对 10 家公司运行提示词

通过 Task 工具运行。启动一个 Task 子代理,让它读取提示词和 10 家公司,并返回 10 个 JSON 评分。

步骤 5 — 向用户展示结果

按表格格式展示:

Company                   | Qualified | Conf | Reason
--------------------------+-----------+------+----------------------------------------
acme-corp.com             | YES       | 0.92 | B2B SaaS, 200 employees, target industry
random-nonprofit.org      | NO        | 0.95 | Nonprofit, not a business customer
edge-case-company.com     | YES       | 0.55 | Could fit but revenue model unclear
步骤 6 — 收集用户反馈

具体询问:

  • 哪些评估有误?(例如:“acme-corp 应该是 NO,因为它们是竞争对手”)
  • 哪些评估结果正确,但理由不对?
  • 提示词遗漏了哪些模式?
  • 需要添加哪些新的排除条件?

如果用户没有任何修正,就将本轮记录为“已批准”。

步骤 7 — 优化提示词(或继续下一步)

如果用户提出了修正:

  • 添加/移除资格审核条件
  • 收紧/放宽排除条件
  • 添加边缘案例的具体示例(“像 X 这样的公司不合适,因为 Y”)
  • 如果所有结果的置信度都为 0.5,则调整置信度阈值

然后回到步骤 4,使用新一批 10 家公司。

步骤 8 — 停止条件并保存

当连续 2 轮都没有收到用户修正时,流程结束。此时:

  1. 将最终调优后的提示词保存到 ~/cold-email-ai-skills/profiles/<business-slug>/icp-prompt.txt
  2. 在 client-profile.yaml 中追加元数据:
icp_qualification_prompt:
  path: profiles/<slug>/icp-prompt.txt
  tuned_at: YYYY-MM-DD
  rounds_to_convergence: 3
  final_batch_size: 10
  1. 为下一个技能打印一行提示:
Prompt locked. To score your 5000 companies:
  npx tsx ~/cold-email-ai-skills/skills/list-expander/scripts/score-batch.ts \
    --prompt-file=profiles/<slug>/icp-prompt.txt \
    --companies=path/to/companies.csv \
    --out=scored.csv

审批循环规则(重要)

  • 绝不自动批准。 即使提示词看起来没问题,也必须要求用户明确说“approved”,或连续 2 轮未提出任何修改意见。
  • 出现任何修改意见时重置计数器。 一条修改意见就会将连续轮数重置为 0。
  • 不要跳过批次。 一次性运行 30 家公司看似更快,却会掩盖错误。每批 10 家是合适的规模——少到可以逐一检查。
  • 每轮都展示提示词。 每次优化后,都要向用户展示当前的完整提示词,让他们了解发生了哪些变化。
  • 每轮评分都要使用 Task 工具子 Agent。 绝不要调用外部 API。

大规模使用优化后的提示词

保存后,提示词会通过 list-expander/scripts/score-batch.ts 应用于完整列表。选项:

选项 A(免费,较慢)——通过 Claude Code Task 子 Agent 运行,每个 Agent 每批处理 20 家公司。适用于总数少于 500 家的情况。

选项 B(付费,较快)——将提示词和公司数据导出到 OpenAI / Anthropic API,并行处理。适用于 500 至 50,000 家。

该脚本支持这两种方式。默认使用选项 A,确保所有操作都在 Claude Code 内完成。

推荐流程

  1. /icp-onboarding → 生成 client-profile.yaml
  2. /disco-like 或 /blitz-list-builder 或 /prospeo-full-export → 提取 50–100 家公司的样本
  3. /icp-prompt-builder → 基于该样本优化资格判定提示词(通常需要 3–5 轮)
  4. 将名单构建器扩展至 5,000 家以上的公司
  5. 将优化后的提示词应用于完整名单 → 仅保留 qualified: true 且 confidence >= 0.6 的公司
  6. 对符合资格的子集使用 /blitz-list-builder 或 /list-builder(第 5 阶段,电子邮件)
  7. 上传到 Smartlead

提示词可使用的数据点

大多数名单构建器的输出包括:

  • 域名、公司名称、行业、员工人数、简介、LinkedIn URL

其他字段(如果已运行数据丰富化技能):

  • 业务类型(B2B / B2C / B2B2C)
  • 年收入范围
  • 规模范围(Enterprise / Mid-Market / SMB)
  • 子行业(比主要行业更具体)
  • 技术栈(Clearbit、BuiltWith 数据)
  • 近期信号(融资、招聘、新闻)

请在提示词的前置说明中告知 AI 你可以访问哪些字段。

常见错误

  • 第一轮就把提示词限制得太严。 先从宽泛的条件开始,再根据反馈逐步收窄。
  • 未加入反例。 “Netflix 这类公司不符合条件,因为它们是 B2C”比笼统地说“必须是 B2B”更有用。
  • 只使用 qualified: true/false,不要求提供置信度。 始终要求提供置信度——0.5–0.7 的边界情况最值得学习。
  • 一次给 50 家公司评分来“节省时间”。 这会让循环失去意义。
  • 未保存提示词。 优化的意义在于重复使用。如果不保存,下次就得重新优化。

脚本

  • scripts/score-batch.ts — 将优化后的提示词应用于公司 CSV 文件

下一步

将优化后的提示词应用于完整名单(你之前使用的名单构建技能——Prospeo、Blitz、DiscoLike、Google Maps 或 Competitor Engagers——会指导你完成此操作)。然后使用 /list-quality-scorecard 为筛选后的结果评分。

**或者等待:**如果提示词在 5 轮内仍未收敛(你一直在提出修改意见),说明源数据可能过于单薄。请先补充更多字段(公司简介、员工人数、技术栈),再重试。

相关技能

  • /icp-onboarding — 首先运行,生成 client-profile.yaml
  • /disco-like、/blitz-list-builder、/google-maps-list-builder、/prospeo-full-export — 提取此技能用于资格判定的公司
  • /personalization-subagent-pattern — 相同的审批循环模式,用于文案个性化

评论

支持 Markdown