关于 job-posting-intent
用于根据招聘职位发现潜在购买意向公司的营销技能。它通过 Apify 搜索 LinkedIn Jobs,按公司汇总招聘信号,并将线索、决策者建议和触达角度写入 Google Sheet。
主要功能
- 01按职位和地点搜索 LinkedIn Jobs
- 02按公司去重并计算信号强度
- 03提取招聘描述中的个性化背景
- 04建议决策者职位与触达角度
- 05自动创建 Google Sheet
适用场景
- 01寻找正在投入特定问题领域的公司
- 02按目标职位和地区扫描招聘信息
- 03将招聘信号整理成销售线索
- 04为后续触达准备个性化依据
MCP 相关
使用 Rube MCP 与 Composio 创建 Google Sheet。若表格创建失败,文档建议检查 Rube MCP 是否可访问。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ gooseworks-ai/ goose-skills --skill job-posting-intent安装后在 Claude Code 中输入/job-posting-intent确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
skill.meta.jsonscripts/create_sheet_mcp.pycreate_sheet.pysearch_jobs.py详细介绍
招聘信息意图检测
查找正在招聘与你所解决的问题相关职位的公司。招聘信息是一个预算信号——公司已拨出预算来解决你的产品所针对的问题。
结果会自动导出到 Google Sheet,其中包含信号强度、决策者建议、触达角度和个性化背景信息。
为什么有效
公司发布招聘信息时,意味着他们:
- 已拨出预算(人力编制成本高昂)
- 承认问题确实存在
- 已开始积极着手解决
如果你的产品能比单独招聘更快、更便宜或更好地解决这个问题,那么时机就恰到好处。
成本
Apify Actor: harvestapi/linkedin-job-search(按事件付费)
| 组成部分 | 成本 |
|---|---|
| Actor 启动(每次运行) | $0.001 |
| 每条职位搜索结果 | $0.001 |
| Apify 平台费用 | +20% |
典型运行成本:
| 场景 | 职位名称 | 每个职位名称的职位数 | 运行次数 | 预估成本 |
|---|---|---|---|---|
| 快速扫描 | 3 | 25 | 3 | ~$0.09 |
| 标准搜索 | 5 | 25 | 5 | ~$0.16 |
| 深度搜索 | 5 | 100 | 5 | ~$0.60 |
| 多地点搜索 | 5×3 | 25 | 15 | ~$0.47 |
创建 Google Sheet 免费(使用 Rube/Composio 集成)。
执行前务必先运行 --estimate-only,查看 Apify 成本。
跟踪用量:https://console.apify.com/billing
设置
1. Apify API Token
# Get your token at https://console.apify.com/account/integrations
export APIFY_API_TOKEN="apify_api_YOUR_TOKEN_HERE"
2. 安装依赖
pip3 install requests
3. Rube/Composio(用于 Google Sheets)
创建 Google Sheet 会使用搭配 Composio 的 Rube MCP。Token 已预先配置。
如果无法使用,请更新 RUBE_TOKEN 环境变量或 search_jobs.py 中的默认值。
用法
步骤 1:定义你的 ICP 和目标职位名称
可以这样理解:“如果一家公司正在招聘 [职位],说明他们正在投资 [你所解决的问题领域]。”
示例:
- GTM 代理机构:“Growth Marketing Manager”“SDR Manager”“RevOps Engineer”“GTM Engineer”
- AI 开发工具:“AI Engineer”“ML Ops Engineer”“Prompt Engineer”“LLM Engineer”
- 销售自动化:“SDR”“BDR Manager”“Sales Ops”“Revenue Operations”
步骤 2:估算成本
python3 scripts/search_jobs.py \
--titles "GTM Engineer,SDR Manager,Head of Demand Gen" \
--locations "United States" \
--max-per-title 25 \
--estimate-only
步骤 3:运行搜索
脚本会搜索 LinkedIn Jobs,按公司归类结果、筛选潜在客户,并自动创建 Google Sheet。
# Standard search (creates Google Sheet)
python3 scripts/search_jobs.py \
--titles "GTM Engineer,SDR Manager,RevOps Engineer" \
--locations "United States" \
--max-per-title 25
# Deep search with custom sheet name
python3 scripts/search_jobs.py \
--titles "AI Engineer,ML Ops Engineer,Prompt Engineer" \
--locations "United States" \
--max-per-title 50 \
--sheet-name "AI Hiring Signals - Feb 2026"
# Filter results to only relevant titles (LinkedIn search is fuzzy)
python3 scripts/search_jobs.py \
--titles "GTM Engineer,Growth Marketing Manager,SDR Manager" \
--locations "United States" \
--relevance-keywords "gtm,growth,sdr,marketing,demand gen,revops"
# Also save raw JSON alongside the sheet
python3 scripts/search_jobs.py \
--titles "GTM Engineer,SDR Manager" \
--locations "United States" \
--output results.json
# Skip Google Sheet, console + JSON only
python3 scripts/search_jobs.py \
--titles "GTM Engineer" \
--no-sheet --json
脚本功能
- 搜索 LinkedIn Jobs,通过 Apify 搜索每个职位名称/地点组合
- 归类结果并按公司分组(去重)
- 根据相关招聘信息数量和职位资历计算信号强度
- 从职位描述中提取个性化背景信息(技术栈、增长信号、痛点)
- 建议决策者职位名称(比招聘职位高一级)
- 建议触达角度(加速、替代或扩充招聘岗位的工作)
- 创建包含所有合格潜在客户的 Google Sheet
- 在控制台打印找到的所有公司摘要
选项参考
Required:
--titles Comma-separated job titles to search
Optional:
--locations Comma-separated locations (default: no filter)
--max-per-title Max jobs per title per location (default: 25)
--posted-limit Recency: 1h, 24h, week, month (default: week)
--output, -o Also save raw JSON to this file path
--json Print JSON output to console
--estimate-only Show cost estimate without running
--no-sheet Skip Google Sheet creation
--sheet-name Custom Google Sheet title (default: "Job Posting Intent Signals - {date}")
--relevance-keywords Comma-separated keywords to filter truly relevant postings
Google Sheet 列
| 列 | 说明 |
|---|---|
| 信号 | 根据招聘信息数量和职位资历划分为 HIGH / MEDIUM / LOW |
| 公司 | 公司名称 |
| 员工人数 | 员工人数 |
| 行业 | 公司所属行业 |
| 网站 | 公司网站 |
| 公司 LinkedIn URL | |
| 招聘信息数量 | 找到的相关招聘信息数量 |
| 职位名称 | 实际发布的职位名称 |
| 职位 URL | 主要招聘信息链接 |
| 地点 | 职位地点 |
| 决策者 | 建议联系对象的职位名称 |
| 触达角度 | 加速、替代或扩充招聘岗位的工作 |
| 技术栈 | 职位描述中提及的技术 |
| 增长信号 | 增长指标(首次招聘、扩张、融资轮次) |
| 痛点 | 痛点指标(自动化、优化、手动流程) |
| 描述 | 公司简介片段 |
AI Agent 集成
将此技能用于 Agent 时,典型流程如下:
- 用户介绍其产品以及表示购买意向的职位类型
- Agent 运行
--estimate-only,并与用户确认费用 - Agent 运行搜索(自动创建 Google Sheet)
- Agent 将 Google Sheet 链接分享给用户
- Agent 简要总结优质潜在客户及其符合条件的原因
提示词示例:
“查找本周在美国招聘增长营销人员和 SDR 的公司。这些是他们需要 GTM 帮助的信号。我们为拥有 20-200 名员工的 A 轮至 C 轮 B2B SaaS 公司销售 AI 驱动的 GTM 系统。”
Agent 不应:
- 进行任何外联
- 发送任何电子邮件或消息
- 联系任何人
Agent 应:
- 在运行前提供费用估算
- 运行搜索(自动创建表格)
- 分享 Google Sheet 链接
- 简要总结优质潜在客户并说明理由
外联角度模板
脚本会根据职位发布的上下文自动分配一个切入角度:
“在招聘期间加速推进”——适用情况:职位发布较新,岗位为初级或中级
他们正在寻找某人来完成 X。随着新员工逐步上手,你的产品可以交付 X 成果。
“替代招聘”——适用情况:小型公司,有“首位员工”信号,正在从零开始搭建
他们想要 [role] 的产出,但如果使用你的产品,可能不需要聘用全职人员。
“放大新员工的效能”——适用情况:公司显然正在扩张,有多个相关岗位
新员工入职后,你的产品能从第一天起就让他们的效率提升 10 倍。
故障排除
“未找到职位”
- 尝试使用更宽泛的职位名称(例如,使用“marketing”代替“demand generation specialist”)
- 延长时间范围:
--posted-limit month - 移除地点筛选条件,以进行全球搜索
“无关结果太多”
- 使用
--relevance-keywords按职位名称中的关键词筛选 - LinkedIn 的搜索结果较为模糊——分组和资格筛选步骤有助于过滤结果
“Google Sheet 创建失败”
- 检查 Rube MCP 是否可访问(令牌可能已过期)
- 使用
--no-sheet --json --output results.json保存结果,而不创建表格 - 之后可以通过
scripts/create_sheet_mcp.py创建表格
费用估算过高
- 减少
--max-per-title(通常 25 已足够) - 减少搜索的职位名称数量
- 使用
--posted-limit 24h快速进行每日扫描