关于 champion-move-outreach
champion-move-outreach 是面向 B2B 销售团队的客户关系变动跟踪技能,用于发现旧客户中的买家、倡导者或活跃用户是否换了工作。它会研究新公司并按 ICP 筛选联系人,继而辅助寻找联系方式和拟定个性化外联内容。
主要功能
- 01跟踪买家、倡导者和活跃用户
- 02检测联系人职位变动
- 03按 ICP 评估新公司
- 04寻找新工作联系方式
- 05起草基于既有关系的外联内容
适用场景
- 01定期检查客户联系人是否换岗
- 02筛选适合销售跟进的新公司
- 03为转职联系人更新工作邮箱
- 04按联系人经历拟定个性化外联
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ gooseworks-ai/ goose-skills --skill champion-move-outreach安装后在 Claude Code 中输入/champion-move-outreach确认已加载。
附带文件skill.meta.json
详细介绍
Champion 职位变动拓展
跟踪已知的买家、Champion 和重度用户的职位变动。当已经了解你们产品的人跳槽到新公司时,这就是 B2B 中转化率最高的外联信号——他们已经信任你们,在新岗位上努力做出成绩,而且亲身体验过你们产品能带来的价值。
**为什么这是排名第 1 的信号:**其他信号(融资、招聘、领导层变动)面向的都是陌生人。这个信号面向的则是已经了解、认可并信任你们产品的人。针对 Champion 职位变动的外联,转化率比冷外联高 3~5 倍,因为:
- 他们不需要了解你们是做什么的
- 他们已有良好的使用体验可作依据
- 他们希望在新公司快速取得成果(带来一款自己信任的工具本身就是一项快速成果)
- 他们可以在公司内部推动交易,因为能引用亲身取得的成果
何时自动加载
在以下情况下加载此组合工作流:
- 用户说“跟踪我的 Champion”“查看职位变动”“谁从我们的客户公司跳槽了”“Champion 跟踪”
- 用户有一份过往买家/用户名单,并想知道其中是否有人换了工作
- 上游工作流(TAM Pulse)触发了 Champion 变动检查
步骤 0:配置(一次性设置)
首次为客户/用户运行时,收集并保存以下偏好。后续运行时跳过。
要跟踪的人
| 问题 | 用途 | 保存为 |
|---|---|---|
| 要跟踪的人员名单来自哪里? | 定义输入来源 | people_source |
| 要跟踪哪些类别的人员? | 确定对每个人的外联语气 | tracked_categories |
人员来源选项:
- CRM 导出(Salesforce、HubSpot)——提取已签单联系人、活跃用户、重度用户
- CSV 文件——手动整理的名单
- Supabase
people表——按lead_status = 'customer'或类似条件筛选 - 手动名单——姓名 + LinkedIn URL
跟踪的类别:
| 类别 | 人员身份 | 重要原因 | 保存为 |
|---|---|---|---|
| 过往买家 | 在之前的公司签署了合同 | 可以再次签约。了解投资回报率。能够向新领导层阐明价值。 | past_buyers |
| 过往 Champion | 曾在公司内部倡导你们的产品并推动采用 | 会再次倡导。通常比最初的买家更有信念。 | past_champions |
| 重度用户 | 每天使用你们的产品,对产品了如指掌 | 可以亲自演示产品价值。通常会成为新公司的内部专家。 | power_users |
| 流失交易联系人 | 评估过你们的产品,但选择了竞争对手或没有做出决定 | 信号较弱,但仍然有效——他们知道你们的存在。新公司意味着重新开始。 | lost_deal_contacts |
ICP 定义(用于评估新公司)
| 问题 | 用途 | 保存为 |
|---|---|---|
| 你们向哪些行业销售? | 排除非 ICP 公司 | target_industries |
| 目标公司规模是多少?(员工人数范围) | 排除规模过小或过大的公司 | target_company_size |
| 目标地理区域有哪些? | 在相关时用于筛选 | target_geographies |
| 有哪些不符合条件的情况?(例如政府机构、非营利组织、特定垂直行业) | 明确排除项 | disqualifiers |
| 最低可行交易金额是多少? | 不要追逐规模太小、无力付费的公司 | minimum_deal_size |
信号检测配置
| 问题 | 选项 | 保存为 |
|---|---|---|
| 应如何检测职位变动? | LinkedIn 个人资料监控 / Apollo 职位变动数据 / 网页搜索 / 手动检查 | detection_tool |
| 应多久检查一次? | 每周 / 每两周 / 每月 | check_frequency |
外联配置
| 问题 | 选项 | 保存为 |
|---|---|---|
| 希望将外联发送到哪里? | Smartlead / Instantly / Outreach.io / CSV 导出 | outreach_tool |
| 仅使用电子邮件还是多渠道? | 仅电子邮件 / 电子邮件 + LinkedIn | outreach_channels |
贵公司的背景信息
| 问题 | 用途 | 存储为 |
|---|---|---|
| 贵公司是做什么的?(1-2 句话) | 新公司的研究背景 | company_description |
| 客户通常取得了哪些成果? | 外联的证明材料 | customer_results |
| 追踪对象在上一家公司取得过哪些具体成果? | 尽可能有力的证明 | specific_results |
配置存储于: clients/<client-name>/config/signal-outreach.json 或同等位置。
第 1 步:检测工作变动
用途: 对追踪名单中的每个人,判断其是否已转至新公司。
输入约定
tracked_people: [
{
full_name: string # Required
linkedin_url: string # Strongly recommended (most reliable for matching)
email: string | null # Previous email (will be outdated after move)
last_known_company: string # The company they were at when you knew them
last_known_title: string # Their title when you knew them
category: "past_buyer" | "past_champion" | "power_user" | "lost_deal_contact"
relationship_context: string | null # e.g. "Signed $50K deal in 2025", "Led implementation"
}
]
流程
对每个人,使用配置的 detection_tool:
-
对照
last_known_company检查当前职位:- LinkedIn: 访问个人资料(或使用抓取工具)→ 将当前公司与
last_known_company比较 - Apollo: 按姓名 + LinkedIn URL 搜索人员 → 检查当前雇主
- 网页搜索:
"{full_name}" AND ("{last_known_company}" OR "joined" OR "new role")— 查找相关公告 - 任何其他工具: 必须返回相同的输出约定
- LinkedIn: 访问个人资料(或使用抓取工具)→ 将当前公司与
-
对每个人,判断:
- 他们还在同一家公司吗?→ 无信号,跳过。
- 他们已转职吗?→ 检测到信号。记录新公司 + 新职位。
- 他们的个人资料是否已无更新(没有更新、没有活动)?→ 标记为需要人工核查。
-
对每位转职者,提取:
- 新公司名称
- 新职位
- 在新公司的大致入职日期
- 新公司域名(用于第 2 步的调研)
- 这是晋升(职位更高)还是平级调动?
输出约定
movers: [
{
person: {
full_name: string
linkedin_url: string
category: string # "past_buyer", "past_champion", etc.
relationship_context: string
previous_company: string
previous_title: string
}
move: {
new_company: string
new_company_domain: string
new_title: string
start_date: string # ISO date or approximate
days_in_new_role: integer
is_promotion: boolean # Higher title than before?
}
}
]
no_change: [
{ full_name: string, still_at: string }
]
unable_to_verify: [
{ full_name: string, reason: string } # Profile private, no data, etc.
]
人工检查点
## Job Change Detection Results
Tracked: X people
Moved: Y people
No change: Z people
Unable to verify: W people
### People Who Moved
| Name | Category | Was At | Now At | New Title | Days In |
|------|----------|--------|--------|-----------|---------|
| Jane Doe | Past buyer | Acme Corp | NewCo Inc | VP Sales | 45 days |
| Bob Lee | Power user | Beta LLC | StartupX | Sales Manager | 12 days |
| ... | ... | ... | ... | ... | ... |
### Unable to Verify
| Name | Reason |
|------|--------|
| Sam Chen | LinkedIn profile set to private |
Proceed to research their new companies? (Y/n)
第 2 步:调研新公司并根据 ICP 评估匹配度
用途: 对每位转职者,调研其新公司,并判断该公司是否适合你的产品。这是关键门槛——认识的人转职了,并不意味着其新公司就是潜在客户。
输入约定
movers: [...] # From Step 1 output
icp_criteria: {
target_industries: string[]
target_company_size: string # e.g. "50-500 employees"
target_geographies: string[]
disqualifiers: string[]
minimum_deal_size: string
}
your_company: {
description: string
}
流程
对于每位跳槽者的新公司:
-
调研新公司,使用网页搜索(与工具无关——始终可用):
- 公司是做什么的?(用 1-2 句话概述)
- 属于哪个行业?
- 公司规模大致如何(员工人数)?
- 所在地/总部位置
- 融资阶段(如适用)
- 近期新闻(融资、产品发布、领导层变动)
-
根据 ICP 进行资格筛选:
标准 检查内容 通过/未通过 行业 new_company.industry是否属于target_industries?硬性筛选 规模 员工人数是否在 target_company_size范围内?硬性筛选 地理位置 所在地是否属于 target_geographies?(没有地理位置筛选条件时跳过)软性筛选 排除条件 公司是否符合任何 disqualifiers?硬性筛选 成交可行性 这家公司是否负担得起 minimum_deal_size?需要判断 -
评估此人在新公司的职位:
因素 检查内容 重要性 权限级别 新职位的级别是否不低于旧职位? 级别越高,预算决策权越大 部门匹配度 他们是否在会购买/使用你们产品的部门? 必须属于合适的部门 影响力趋势 是否晋升到领导岗位? 影响力越大,越能成为有力的支持者 资历变化 他们以前是用户,现在成了 VP 吗? 调整联系策略——他们现在是买家,不是用户 -
根据类别和新职位确定联系策略:
在原公司的类别 新职位级别 策略 过往买家 → 买家级职位 再次销售:“你以前买过我们的产品,把它带到 [new company] 吧” 过往买家 → 更高职位 高管层再次销售:“现在你负责 [department],[product] 能伴随你一起扩展” 过往支持者 → 买家级职位 升级:“你曾在公司内部支持我们——现在预算由你负责了” 过往支持者 → 同级职位 平级支持者:“把你在 [old company] 验证有效的做法带到 [new company]” 重度用户 → 任何级别 自下而上:“你对产品了如指掌——想把它带给你的新团队吗?” 流失商机联系人 → 任何职位 重新开始:“换了公司,需求也不同。值得再看看吗?”
输出规范
qualified_movers: [
{
person: {
full_name: string
linkedin_url: string
category: string
relationship_context: string
previous_company: string
previous_title: string
}
move: {
new_company: string
new_company_domain: string
new_title: string
start_date: string
days_in_new_role: integer
is_promotion: boolean
}
new_company_research: {
description: string # What the company does
industry: string
employee_count: string # Approximate
location: string
funding_stage: string | null
recent_news: string[] # 2-3 relevant items
}
qualification: {
icp_fit: "strong" | "moderate" | "weak"
icp_reasoning: string # Why it's a fit or not
authority_level: "buyer" | "influencer" | "user"
outreach_approach: string # "re-sell", "upgrade", "lateral champion", "bottom-up", "fresh start"
}
priority_tier: "tier_1" | "tier_2" | "tier_3"
}
]
disqualified_movers: [
{
full_name: string
new_company: string
disqualification_reason: string # "Industry not in ICP", "Company too small", etc.
}
]
分级
- 第 1 级(今天采取行动): 过往买家或支持者 + ICP 匹配度高 + 入职新职位未满 30 天。这是最热的潜在客户。
- 第 2 级(本周采取行动): 过往买家/支持者 + ICP 匹配度中等,或重度用户 + ICP 匹配度高,或任何类别 + 匹配度高但入职已有 30-60 天。
- 第 3 级(排队): 流失商机联系人 + 匹配度高,或任何类别 + 匹配度中等且入职已有 60 天以上。
- 取消资格: 新公司未通过 ICP 硬性筛选。
人工检查点
## New Company Research & Qualification
### Tier 1 — Act Today (X movers)
| Name | Category | New Company | ICP Fit | Approach | Days In |
|------|----------|-------------|---------|----------|---------|
| Jane Doe | Past buyer | NewCo Inc (Series B, 120 employees, SaaS) | Strong | Re-sell | 45 days |
Research: NewCo Inc is a logistics SaaS platform. 120 employees, Series B,
HQ in Austin. Recently launched an enterprise tier. Strong fit — same
industry, right size, Jane has budget authority as VP Sales.
### Tier 2 — Act This Week (X movers)
| ... |
### Disqualified (X movers)
| Name | New Company | Reason |
|------|-------------|--------|
| Sam Lee | TinyStartup | 8 employees, pre-revenue — below minimum deal size |
Approve before we draft outreach?
步骤 3:查找新的联系人信息
目的: 获取跳槽者的新电子邮箱地址,以及他们在新公司的其他相关背景信息。
输入规范
qualified_movers: [...] # From Step 2 output
contact_tool: string # From config
流程
-
查找新的工作邮箱——他们的旧邮箱已过时。使用已配置的
contact_tool:- Apollo: 按姓名和新公司域名搜索 → 邮箱
- Clearbit: 使用 Prospector 按姓名和域名查找
- 网页搜索:
"{full_name}" AND "@{new_company_domain}"或公司联系方式模式 - LinkedIn: 发送 InMail 或建立联系请求(未找到邮箱时标记为需人工处理)
-
确认邮箱属于新公司——不要误发到他们的旧邮箱。
-
标记没有邮箱的联系人——应将他们转交给 LinkedIn 外联。
输出规范
contactable_movers: [
{
...qualified_mover_fields,
new_email: string
email_confidence: "verified" | "likely" | "pattern_guess"
preferred_channel: "email" | "linkedin" | "both"
}
]
email_not_found: [
{
...qualified_mover_fields,
linkedin_url: string # Fall back to LinkedIn
preferred_channel: "linkedin"
}
]
人工检查点
## Contact Details
| Name | New Company | Email | Confidence | Channel |
|------|-------------|-------|------------|---------|
| Jane Doe | NewCo Inc | [email protected] | Verified | Email |
| Bob Lee | StartupX | — | Not found | LinkedIn |
X contacts with email, Y LinkedIn-only
Approve before we draft outreach?
第 4 步:起草个性化外联
目的: 借助现有关系起草外联内容。这不是陌生开发邮件——这些人认识你。语气、篇幅和方式与其他信号组合截然不同。纯粹依靠大模型推理——本质上与工具无关。
输入约定
contactable_movers: [...] # From Step 3 output
your_company: {
description: string
customer_results: string[] # General results customers see
specific_results: { # Results at their specific previous company (if available)
[company_name]: string # e.g. "Acme Corp: reduced call handling time by 40%"
}
}
sequence_config: {
touches: integer # Default: 3
timing: integer[] # Default: [1, 7, 14] (more spaced — less urgency, warmer relationship)
tone: string # Default: "casual-direct" (you know this person)
cta: string # Default: "quick catch-up call"
}
流程
-
语气与陌生开发外联截然不同:
陌生开发外联 关系维护外联 正式自我介绍 随意重新联系 证明你值得信任 对方已经信任你 信号-证明-请求框架 关系-背景-请求框架 “我注意到……” “嗨——恭喜你换了新工作!” 第 1 次触达 50-90 个词 可以更短——无需介绍 专业、干练的语气 随意、直接的语气(你们彼此认识) -
围绕关系而非产品来组织邮件:
要素 来源 用法 关系锚点 relationship_context“你曾是我们在 [old company] 的首批支持者之一” 他们取得的成果 specific_results或customer_results“你的团队在 [old company] 实现了 40% 的提升……” 祝贺对方担任新职 move.new_title+move.new_company“恭喜你在 NewCo 担任销售副总裁” 新公司的相关性 new_company_research“NewCo 正在拓展企业市场,这正好契合” 按类别定制的切入点 category+qualification.outreach_approach见下表 -
根据外联方式选择邮件切入点:
方式 第 1 次触达的模板结构 示例 重新销售 祝贺 + “还记得那些成果吗?” + “把它带到 [new company]” “嗨,Jane——恭喜你在 NewCo 担任销售副总裁。你在 Acme 见识过 [product] 的效果(通话处理速度提升了 40%)。NewCo 的销售团队也能取得同样的提升。方便快速聊聊吗?” 升级 祝贺 + “你曾力挺这款产品” + “现在你掌握预算了” “恭喜升职。你曾在 [old company] 推动引进 [product]——现在预算也由你掌控了。想聊聊如何把它带到 NewCo 吗?” 平级支持者 祝贺 + “你知道什么有效” + “复制成功做法” “嗨——看到你加入了 NewCo。你亲身了解 [product] 的效果。如果那边的团队也有同样的 [pain],我很乐意帮你部署。” 自下而上推广 祝贺 + “你曾是重度用户” + “你的新团队会喜欢它” “恭喜你换了新工作。你曾是我们在 [old company] 最优秀的用户之一。如果你想在 NewCo 使用 [product],我可以很快帮你部署好。” 重新开始 祝贺 + 提及过往 + “情况不同了,值得再看看” “嗨——恭喜你加入 NewCo。我知道我们在 [old company] 沟通时机不合适。公司不同了,需求也不同了——愿意重新聊聊吗?” -
序列设计(语气更亲切,间隔更长):
触达 天数 目的 篇幅 备注 第 1 次触达 1 重新联系 + 祝贺 + 委婉提出请求 40-70 个词 比陌生开发邮件更短——你们彼此认识 第 2 次触达 7 分享相关成果或动态 30-50 个词 新功能、同行业的新客户、案例研究 第 3 次触达 14 低压力跟进 20-30 个词 “不着急——等时机合适再说” 与陌生开发序列的关键区别: 触达间隔更长(对方不是陌生人,不会因为多等一会儿就失去联系),语气更亲切,第 3 次触达是跟进,而非告别。
-
遵守
email-drafting的严格规则,但有一个例外: 第 6 条规则(“绝不谎称你是如何找到对方的”)反过来——你应该准确说明你们是如何认识的。这正是关键所在。
输出约定
email_sequences: [
{
contact: {
full_name: string
new_email: string
new_title: string
new_company: string
category: string
relationship_context: string
outreach_approach: string
}
sequence: [
{
touch_number: integer
send_day: integer
subject: string
body: string
personalization_elements: {
relationship_anchor: string # How the relationship was referenced
their_results: string | null # Specific results referenced
new_role_reference: string # How the new role was acknowledged
new_company_relevance: string # Why new company is a fit
}
word_count: integer
}
]
channel: "email" | "linkedin"
}
]
人工检查点
展示涵盖不同外联方式的示例:
## Sample Outreach for Review
### Jane Doe — VP Sales @ NewCo Inc
Category: Past buyer | Approach: Re-sell | 45 days in new role
**Touch 1 — Day 1**
Subject: Congrats on NewCo — quick thought
> Hey Jane — congrats on the VP Sales move to NewCo. Your team at Acme
> saw a 40% improvement in call handling after going live with [product].
> NewCo's enterprise push could see the same lift.
>
> Worth a 15-minute catch-up?
**Touch 2 — Day 7**
Subject: NewCo + [product] — a few ideas
> Quick follow-up — we just launched [new feature] that would've
> been perfect for the workflow your team ran at Acme. Happy to
> walk you through it.
**Touch 3 — Day 14**
Subject: Whenever the timing is right
> No rush on this. If [product] makes sense for what you're building
> at NewCo, I'm a quick call away. Either way, congrats again on the role.
---
### Bob Lee — Sales Manager @ StartupX (LinkedIn only)
Category: Power user | Approach: Bottom-up | 12 days in new role
**LinkedIn Message:**
> Hey Bob — congrats on StartupX! You were one of our most active users
> at Beta LLC. If you want [product] set up for your new team, happy
> to fast-track it. Let me know.
---
Approve these samples? I'll generate the rest in the same style.
步骤 5:移交给外联
与 funding-signal-outreach 的步骤 5 相同。将联系人和邮件序列打包,交给配置的外联工具。仅有 LinkedIn 联系方式的联系人转交给 linkedin-outreach 技能。
此组合信号的补充说明
有些联系人使用电子邮件,有些联系人只有 LinkedIn 联系方式。请拆分输出:
- 电子邮件联系人 → 外联工具(Smartlead、Instantly、CSV 等)
- LinkedIn 联系人 → LinkedIn 自动化工具(Dripify、Expandi)或手动 LinkedIn 队列
输出约定
campaign_package: {
email_campaign: {
tool: string
file_path: string
contact_count: integer
}
linkedin_campaign: {
file_path: string # CSV for LinkedIn tool or manual queue
contact_count: integer
}
total_contacts: integer
sequence_touches: integer
next_action: string
}
人工检查点
## Campaign Ready
Signal type: Champion/buyer/user job change
Email contacts: X people → [outreach tool]
LinkedIn contacts: Y people → LinkedIn message queue
Total: Z people across W companies
Sequence: 3 touches over 14 days
Ready to launch?
执行摘要
| 步骤 | 工具依赖项 | 人工检查点 | 预计时间 |
|---|---|---|---|
| 0. 配置 | 无 | 仅首次运行 | 5 分钟(一次性) |
| 1. 检测职位变动 | 可配置(LinkedIn、Apollo、网页搜索) | 审核职位变动人员列表 | 2-5 分钟 |
| 2. 调研与筛选 | 网页搜索(始终可用) | 批准符合条件的职位变动人员 | 3-5 分钟 |
| 3. 查找新的电子邮件地址 | 可配置(Apollo、Clearbit 等) | 审核联系人详情 | 1-2 分钟 |
| 4. 起草外联内容 | 无(大模型推理) | 审核示例并迭代 | 5-10 分钟 |
| 5. 移交 | 可配置(Smartlead、CSV 等) | 最终启动批准 | 1 分钟 |
人工审核总时间:约 15-25 分钟
与其他信号组合的主要区别
| 维度 | 融资 / 招聘 / 领导层变动 | 冠军用户跳槽 |
|---|---|---|
| 关系 | 陌生——他们不认识你 | 熟悉——他们认识你,而且(希望)喜欢你 |
| 输入 | 公司列表 | 人员列表 |
| 信号对象 | 公司 | 人员 |
| 筛选标准 | 公司是否相关? | 新公司是否相关?(该人员已符合条件) |
| 语气 | 专业,证明可信度 | 随意,提及共同经历 |
| 转化率 | 2-5% 回复率 | 10-25% 回复率 |
| 序列间隔 | 紧凑(第 1/5/12 天) | 宽松(第 1/7/14 天) |
| 第 3 次触达 | 结束联系 | 跟进(为后续联系留有余地) |
提示
- 每月检查一次,不要每天检查。 职位变动不会一夜之间发生。按月检查可在变动发生后的前 30 天内发现,这是外联的最佳时机。
- 及时更新跟踪名单。 随着交易完成,添加新的冠军用户、买家和重度用户。将已完全离开该行业的人移除。
- 具体成果胜过泛泛之谈。 “你们团队的表现提升了 40%”比“我们的客户都取得了不错的成果”好 10 倍。如果你有他们前公司的具体数据,就用上。
- 不要咄咄逼人。 这些都是熟悉的联系人。急切的语气(“我们需要你们的业务!”)会破坏关系优势。轻松且乐于助人才有效。
- 晋升是最好的子信号。 曾经是冠军用户、如今晋升为副总裁的人,是最理想的潜在客户——他们已经认可你的产品,而且现在还掌握预算。
- 流失交易中的联系人也值得跟踪。 “换了公司,需求也不同”是合理的重新联系理由。他们在老公司提出的异议,到了新公司可能不再适用。
- 对于这一信号,LinkedIn 往往比电子邮件更好。 这种关系是个人之间的,而非公司之间的。相比销售工具发出的、看起来像陌生开发的邮件,LinkedIn 消息显得更自然。
- 如果对方曾是非常亲近的联系人(如高管赞助人等),就跳过自动化序列。 直接打电话,或由创始人/客户经理亲自发送邮件。值得亲自联系的关系,不要自动化处理。