关于 hiring-signal-outreach
面向营销团队的技能,可发现目标公司的相关招聘,寻找招聘经理及其他联系人,并基于职位信息起草个性化外联内容。适用于能替代或支持招聘岗位的产品销售团队。
主要功能
- 01匹配可替代或支持的岗位招聘
- 02按信号强度和时效排列公司
- 03寻找招聘经理、买家和倡导者
- 04起草个性化外联邮件
适用场景
- 01查找招聘产品可自动化岗位的公司
- 02依据近期职位信息安排外联优先级
- 03在岗位招满前联系招聘经理
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ gooseworks-ai/ goose-skills --skill hiring-signal-outreach安装后在 Claude Code 中输入/hiring-signal-outreach确认已加载。
附带文件skill.meta.json
详细介绍
招聘信号外联
检测目标公司是否发布了招聘职位,且招聘的岗位正是你的产品能够增强、替代或直接支持的岗位。找到合适的联系人(不只是应聘者,还有招聘经理、预算负责人和潜在拥护者),然后以招聘信息为切入点起草个性化外联内容。
**招聘信号为何有效:**公司发布招聘信息,说明他们已经认可你的产品所解决的问题。他们已为此编列预算(人力编制就是预算)。他们正在积极评估解决方案。你的邮件恰好在他们考虑这个问题时送达——而你提供的是更快、更便宜或互补的解决方案。
自动加载时机
在以下情况加载此组合:
- 用户说“检查这些公司有没有招聘我们能替代的岗位”“招聘信息信号”或“招聘信号外联”
- 用户提供公司名单,并希望找出正在招聘相关岗位的公司
- 上游工作流(TAM Pulse、公司监控)触发招聘信号检查
步骤 0:配置(一次性设置)
首次为客户/用户运行时,收集并保存以下偏好设置。后续运行时跳过。
岗位映射(关键——决定哪些信号重要)
| 问题 | 用途 | 保存为 |
|---|---|---|
| 你的产品有什么功能?(1-2 句话) | 与职位描述进行匹配 | company_description |
| 你的产品会替代哪些岗位? | 最强信号——他们正在招聘你能自动化替代的岗位 | roles_replaced |
| 你的产品会增强哪些岗位? | 有效信号——你的产品能提升这些岗位人员的工作效率 | roles_augmented |
| 哪些岗位会购买你的产品? | 查找联系人——谁掌握预算 | buyer_titles |
| 哪些岗位会支持推广你的产品? | 查找联系人——谁每天都在承受这一问题 | champion_titles |
| 哪些岗位会使用你的产品? | 查找联系人——谁会实际操作产品 | user_titles |
| 职位描述中有哪些关键词表示相关性? | 排除误报 | jd_keywords |
AI 呼叫产品示例:
roles_replaced: ["BDC Representative", "Call Center Agent", "Appointment Setter"]
roles_augmented: ["Sales Manager", "BDC Manager", "Service Advisor"]
buyer_titles: ["VP Sales", "Director of Operations", "General Manager", "COO"]
champion_titles: ["BDC Manager", "Sales Manager", "Fixed Ops Director"]
user_titles: ["BDC Rep", "Service Advisor", "Sales Consultant"]
jd_keywords: ["inbound calls", "outbound calls", "appointment setting", "customer follow-up"]
信号检测配置
| 问题 | 选项 | 保存为 |
|---|---|---|
| 应如何查找招聘信息? | LinkedIn Jobs / Indeed / Apollo / Google Jobs / 网络搜索 | job_search_tool |
| 搜索多久之前的信息? | 7 / 14 / 30 天 | lookback_days |
联系人查找配置
| 问题 | 选项 | 保存为 |
|---|---|---|
| 应如何查找这些公司的联系人? | Apollo / LinkedIn / Clearbit / 网络搜索 | contact_tool |
外联配置
| 问题 | 选项 | 保存为 |
|---|---|---|
| 希望通过什么渠道发送外联内容? | Smartlead / Instantly / Outreach.io / Lemlist / CSV 导出 | outreach_tool |
| 使用电子邮件还是多渠道? | 仅电子邮件 / 电子邮件 + LinkedIn | outreach_channels |
公司背景信息
| 问题 | 用途 | 保存为 |
|---|---|---|
| 你解决什么问题? | 电子邮件切入点 | pain_point |
| 列出 2-3 个证明材料(客户、指标、成果) | 电子邮件可信度 | proof_points |
| 与全职招聘相比,成本如何? | 外联中的投资回报角度 | cost_comparison |
| 与招聘新员工相比,你们的部署速度如何? | 速度角度 | deployment_speed |
将配置保存到: clients/<client-name>/config/signal-outreach.json 或同等位置。
步骤 1:检测招聘信号
目的: 对输入列表中的每家公司,查找与产品可替代或增强的岗位相匹配的在招职位。
输入约定
companies: [
{
name: string # Required
domain: string # Required
industry?: string # Optional
size?: string # Optional
}
]
roles_replaced: string[] # From config
roles_augmented: string[] # From config
jd_keywords: string[] # From config
lookback_days: integer # From config (default: 14)
流程
对于每家公司(或分批处理):
-
使用配置的
job_search_tool搜索招聘信息:- LinkedIn Jobs: 针对
roles_replaced和roles_augmented中的每个职位,搜索company_name + role_title - Indeed: 使用相同的搜索模式
- Apollo: 公司信息补充 → 招聘信息
- Google Jobs:
site:linkedin.com/jobs OR site:indeed.com "{company}" "{role}" - Web 搜索:
"{company_name}" AND ("hiring" OR "job" OR "careers") AND ("{role_1}" OR "{role_2}")
- LinkedIn Jobs: 针对
-
提取每条招聘信息中的以下内容:
- 职位名称
- 地点(远程/现场/混合)
- 发布日期
- 职位描述摘要(主要职责)
- 来源 URL
-
对每条招聘信息分类:
- 替代: 职位名称与
roles_replaced匹配。你的产品可以消除或减少招聘该职位的需求。这是最强信号。 - 增强: 职位名称与
roles_augmented匹配。你的产品能提升此人的工作效率,他们会希望将其作为工具。这是良好信号。 - 关键词匹配: 职位名称不匹配,但职位描述(JD)包含
jd_keywords。这是较弱的信号,需核实相关性。
- 替代: 职位名称与
-
筛选: 排除没有匹配招聘信息的公司。排除发布超过
lookback_days天的招聘信息。
输出约定
companies_hiring: [
{
company: {
name: string
domain: string
industry: string
}
job_postings: [
{
title: string
location: string
posted_date: string
description_summary: string # 2-3 sentence summary of the role
source_url: string
signal_type: "replaces" | "augments" | "keyword_match"
relevance_reasoning: string # Why this posting matters for your product
}
]
posting_count: integer
strongest_signal: "replaces" | "augments" | "keyword_match"
}
]
人工检查点
Found hiring signals at X of Y companies:
| Company | Postings | Strongest Signal | Top Role | Posted |
|---------|----------|-----------------|----------|--------|
| Acme Corp | 3 | Replaces | BDC Representative | 3 days ago |
| Beta Inc | 1 | Augments | Sales Manager | 1 week ago |
| ... | ... | ... | ... | ... |
Signal breakdown: X "replaces" (strongest), Y "augments", Z "keyword match"
Proceed with qualification? (Y/n)
第 2 步:评估并确定优先级
目的: 根据信号强度、相关性和时机,排列公司的外联优先级。完全依赖大模型推理,因此与工具无关。
输入约定
companies_hiring: [...] # From Step 1 output
your_company: {
description: string
pain_point: string
proof_points: string[]
cost_comparison: string
deployment_speed: string
}
流程
针对每家公司,评估以下内容:
| 标准 | 权重 | 评估方式 |
|---|---|---|
| 信号类型 | 最高 | “替代” > “增强” > “关键词匹配” |
| 招聘信息数量 | 高 | 多条相关招聘信息 = 该职能正在扩张 = 需求更大 |
| 时效性 | 高 | 发布未满 7 天 = 正在积极评估。超过 14 天 = 可能已有候选人 |
| 职位资历 | 中 | 招聘你所服务职能的 VP = 战略性采购。招聘个人贡献者 = 运营性采购。两者都很好,但应采用不同的方式。 |
| 行业契合度 | 中 | 你的产品是否已在该行业取得经过验证的成效? |
评分
- 第 1 级(今日行动): “替代”信号,且发布未满 7 天。他们正在为你销售的产品所能替代的岗位编列预算。
- 第 2 级(本周行动): “替代”信号,发布于 7–14 天前;或“增强”信号,发布未满 7 天且有多条招聘信息。
- 第 3 级(待跟进): “增强”或“关键词匹配”信号。值得联系,但紧急程度较低。
- 排除: 仅有关键词匹配,且审阅职位描述后发现相关性较弱。
对于每家符合条件的公司,生成:
- 相关性说明: 说明这种招聘模式为何与您的产品相关
- 外联切入点: 说明其招聘信息与您的产品之间的具体联系
- “替代” → “在填补该职位之前,不妨考虑一下 [product] 能为你做什么”
- “增强” → “你的新 [role] 需要 [product] 这样的工具,才能迅速开展工作”
- 建议的定位方式: 替代(无需为此招聘)、补充(有了这个产品,你的新员工能发挥 3 倍效能),或扩展(你需要 5 个这样的人,或者 1 个人加上我们的产品)
输出约定
qualified_companies: [
{
...company_hiring_fields,
priority_tier: "tier_1" | "tier_2" | "tier_3"
relevance_reasoning: string
outreach_angle: string
recommended_framing: "replace" | "complement" | "scale"
}
]
dropped_companies: [
{ name: string, drop_reason: string }
]
人工检查点
## Qualification Results
### Tier 1 — Act Today (X companies)
| Company | Signal | Top Role | Framing | Angle |
|---------|--------|----------|---------|-------|
| Acme Corp | Replaces | BDC Rep (x3) | Replace | Before you hire 3 BDC reps... |
### Tier 2 — Act This Week (X companies)
| ... |
### Tier 3 — Queue (X companies)
| ... |
### Dropped (X companies)
| Company | Reason |
|---------|--------|
| ... | ... |
Approve this list before we find contacts?
第 3 步:寻找相关人员
目的: 为每家符合条件的公司找到合适的联系对象。与融资复合流程不同,我们还会识别招聘信息的发布者(招聘经理),他们通常是最佳的首要联系对象。
输入约定
qualified_companies: [...] # From Step 2 output
buyer_titles: string[] # From config
champion_titles: string[] # From config
user_titles: string[] # From config
max_contacts_per_company: integer # Default: 3-5
流程
对于每家符合条件的公司,使用已配置的 contact_tool:
-
第一步:确定招聘经理。 发布或负责该职位招聘信息的人是最相关的联系人。
- 查看招聘信息来源,查找招聘经理的姓名
- 如果未列出姓名,搜索该公司中职级比招聘岗位高一级的人员
- 招聘经理通常是最有力的联系人,因为他们负责解决你的产品所针对的问题
-
第二步:寻找买方级联系人。 在该公司中拥有
buyer_titles的人员——他们掌控预算。 -
第三步:寻找支持者。 拥有
champion_titles的人员——他们每天都要应对这些痛点,可以在公司内部倡导。 -
对每位联系人进行分类:
- 招聘经理 — 发布了该职位。直接负责解决相关问题。最适合采用“替代”框架。
- 买方 — 掌控预算。最适合采用 ROI/成本对比框架。
- 支持者 — 深受痛点困扰。最适合采用“互补”或“让你工作更轻松”框架。
- 使用者 — 会实际操作产品。最适合自下而上地推动采用。
-
每家公司最多
max_contacts_per_company位联系人。 优先级:招聘经理 > 买方 > 支持者 > 使用者。
输出规范
contacts: [
{
person: {
full_name: string
first_name: string
last_name: string
title: string
email: string | null
linkedin_url: string | null
role_type: "hiring_manager" | "buyer" | "champion" | "user"
}
company: {
name: string
domain: string
priority_tier: string
outreach_angle: string
recommended_framing: string
}
job_context: {
relevant_posting_title: string # The job posting that triggered this signal
signal_type: string # "replaces" or "augments"
posting_url: string
description_summary: string
}
}
]
人工检查点
## Contacts Found
### Acme Corp (Tier 1 — Hiring 3x BDC Reps, "Replace" framing)
| Name | Title | Role Type | Email | LinkedIn |
|------|-------|-----------|-------|----------|
| Sarah Chen | VP Sales | Hiring Manager | [email protected] | ... |
| Mike Johnson | COO | Buyer | [email protected] | ... |
| Lisa Park | BDC Manager | Champion | [email protected] | ... |
Relevant posting: "BDC Representative" (posted 3 days ago)
### Beta Inc (Tier 2 — Hiring Sales Manager, "Complement" framing)
| ... |
Total: X contacts across Y companies
Approve before we draft emails?
第 4 步:撰写个性化邮件
目的: 为每位联系人撰写个性化邮件序列,运用三个层面的个性化信息:招聘信息背景、贵公司的价值,以及潜在客户公司的背景。这完全依赖大模型推理,与工具无关。
输入规范
contacts: [...] # From Step 3 output (includes job_context per contact)
your_company: {
description: string
pain_point: string
proof_points: string[]
cost_comparison: string # e.g. "4x cheaper than a full-time hire"
deployment_speed: string # e.g. "Live in 2 weeks vs. 3-month hiring cycle"
}
sequence_config: {
touches: integer # Default: 3
timing: integer[] # Default: [1, 5, 12]
personalization_tier: 1 | 2 | 3
tone: string
cta: string
}
流程
-
根据切入方式选择框架:
- “替代”框架 → Signal-Proof-Ask(提及招聘信息,说明你的产品如何替代相关工作,并以柔和的方式提出请求)
- “互补”框架 → BAB(之前:新员工在 X 方面遇到困难/之后:有了我们的工具,他们的效率提升 3 倍/衔接:具体方法如下)
- “扩展规模”框架 → PAS(问题:你需要 5 个人来做这件事/激化:每年薪资要花 50 万美元/解决:或者 1 个人搭配我们的产品)
-
为每位联系人构建三个层面的个性化信息:
层面 来源 用途 招聘信息背景 第 1 步 — 具体岗位、职责和 JD 内容 主题行 + 开场引子 贵公司背景 配置 — 你们的业务、证明材料、成本对比 正文 — 证明 + 提议 潜在客户公司背景 第 2 步 — 所属行业、业务内容及招聘原因 正文 — 关联切入 -
根据
role_type调整邮件切入角度:角色类型 邮件切入角度 开场示例 招聘经理 “填补该职位之前” “我看到你们在招聘一名 BDC Rep——在敲定人选之前,值得看看 [product] 如何替代相关工作。” 买方 成本/ROI 对比 “你们正在为 3 名 BDC Rep 编列预算(每年 18 万美元)。[Product] 只需其中一小部分成本,就能完成同样的工作。” 支持者 “这会让你的工作轻松些” “新 BDC Rep 入职后,需要工具才能从第一天起高效工作。[Product] 就能提供这样的支持。” 使用者 “你会想把它放在手边” “如果你们正在扩大 [company] 的 BDC 职能,[product] 可以处理 [task],让你专注于 [higher-value work]。” -
遵循
email-drafting技能规则:- 第 1 次触达:50–90 个单词。以招聘信息中的信号作为开场引子。
- 第 2 次触达:30–50 个单词。提供不同的证明材料,或进行成本/速度对比。
- 第 3 次触达:20–40 个单词。提供社会证明,或发送结束联系邮件。
- 所有硬性规则均适用。
输出规范
email_sequences: [
{
contact: { full_name, email, title, role_type, company_name }
job_context: { posting_title, signal_type }
sequence: [
{
touch_number: integer
send_day: integer
subject: string
body: string
framework: string
personalization_layers: {
job_posting: string # What from the JD was referenced
company_context: string # What proof/value was used
prospect_context: string # What about their company was referenced
}
word_count: integer
}
]
}
]
人工检查点
展示 3–5 组示例邮件序列,涵盖不同的 role_type 和切入方式:
## Sample Emails for Review
### Hiring Manager: Sarah Chen, VP Sales @ Acme Corp
Signal: Hiring 3x BDC Representatives | Framing: Replace
**Touch 1 — Day 1**
Subject: Before you fill those BDC roles
> Hi Sarah — I noticed Acme is hiring three BDC reps. Before you go through
> a 3-month hiring cycle, worth seeing what companies like [peer] are doing
> instead...
> [full email]
### Buyer: Mike Johnson, COO @ Acme Corp
Signal: Same | Framing: ROI
**Touch 1 — Day 1**
Subject: $180K/year in BDC hires — or this
> Hi Mike — Acme's hiring 3 BDC reps. At ~$60K each fully loaded, that's
> $180K/year. [Product] handles the same call volume for...
> [full email]
---
Approve these samples? I'll generate the rest in the same style.
第 5 步:移交至外联环节
与 funding-signal-outreach 第 5 步相同。将联系人和邮件序列打包,交给已配置的外联工具。完整的移交流程请参阅该组合流程。
输出规范
campaign_package: {
tool: string
file_path: string
contact_count: integer
sequence_touches: integer
estimated_send_days: integer
next_action: string
}
人工检查点
## Campaign Ready
Tool: [configured tool]
Signal type: Hiring signal
Contacts: X people across Y companies
Sequence: 3 touches over 12 days
Ready to launch?
执行摘要
| 步骤 | 工具依赖 | 人工检查点 | 典型耗时 |
|---|---|---|---|
| 0. 配置 | 无 | 仅首次运行 | 5 分钟(一次) |
| 1. 检测 | 可配置(LinkedIn Jobs、Indeed、网络搜索) | 审核有招聘信息的公司 | 2-5 分钟 |
| 2. 筛选 | 无(大模型推理) | 批准分级排名 | 2-3 分钟 |
| 3. 寻找联系人 | 可配置(Apollo、LinkedIn 等) | 批准联系人名单 | 2-3 分钟 |
| 4. 起草邮件 | 无(大模型推理) | 审核样例并迭代 | 5-10 分钟 |
| 5. 移交 | 可配置(Smartlead、CSV 等) | 最终启动审批 | 1 分钟 |
人工审核总耗时:约 15-20 分钟
提示
- “替代”信号非常宝贵。 如果他们正在招聘的岗位正是你的产品所能胜任的,你就有了最有力的外联切入点。优先处理这类情况。
- 根据招聘信息发布的时间安排外联。 第 1-7 天:“在你开始面试之前。”第 7-14 天:“在你评估候选人期间。”第 14 天后:“在你发出录用通知之前。”
- 不要说“你不需要招聘”。 可以改为强调“你的团队能更快获得这项能力”,或“让新员工拥有这项能力”。对于已经批准该招聘需求的招聘经理来说,这样更容易接受。
- 同一岗位发布多条招聘信息 = 扩张信号。 如果他们要招聘 3 名 BDC 销售代表,痛点就大了 3 倍,成本对比也会有 3 倍的说服力。
- 招聘经理是最好的首个联系人,因为他们直接负责这个问题。但同时抄送或单独联系决策者(他们的上级),并强调投资回报率,就能形成夹击效果。