mcpField
T
talent-sourcing

talent-sourcing

github.com/nimbleway其他6184 次安装2 天前更新
代码仓库

关于 talent-sourcing

talent-sourcing 是由 Nimble 驱动的候选人发现技能,面向招聘人员和招聘团队。它搜索职业平台、提取个人资料,并依据职位要求对候选人进行排序。

主要功能

  1. 01跨平台搜索候选人
  2. 02发现平台专用 Web Search Agents
  3. 03提取详细候选人资料
  4. 04评分并排列候选人匹配度
  5. 05记录此前发现的候选人

适用场景

  1. 01按职位和技能寻找技术候选人
  2. 02在目标地点寻找候选人
  3. 03根据职位要求比较候选人资料

MCP 相关

该技能可在会话开始时选择通过 CLI 或 MCP 使用 Nimble。在可用时,它会发现并使用面向候选人搜索平台的 Web Search Agents。

安装

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

$npx skills add https://github.com/nimbleway/agent-skills --skill talent-sourcing

安装后在 Claude Code 中输入/talent-sourcing确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
memory-and-distribution.md
nimble-playbook.md
profile-and-onboarding.md

详细介绍

人才寻访

由 Nimble Web Search Agents 提供支持的候选人发现。

用户请求:$ARGUMENTS

运行任何命令之前,先阅读 references/nimble-playbook.md,了解 Claude Code 的限制(无 Shell 状态、禁止使用 &/wait、子 Agent 权限、沟通风格)。


说明

步骤 0:预检

按照 references/nimble-playbook.md 中的传输方式选择和标准预检流程,在会话开始时选择 CLI 或 MCP,然后并行运行标准预检调用(日期计算、今天、配置文件、记忆索引)。

同时执行:

  • mkdir -p ~/.nimble/memory/{reports,talent-sourcing}

根据结果:

  • CLI 缺失或未设置 API 密钥 → 阅读 references/profile-and-onboarding.md,然后停止
  • 为所有 nimble CLI 调用添加标记:nimble --client-source nimble-agent-skills <subcommand>。MCP 请求会在传输层进行归因,详见 references/nimble-playbook.md。
  • 配置文件存在 → 记录行业关键词(如有);继续步骤 1
  • 没有配置文件 → 没问题,人才寻访无需引导设置;继续步骤 1
步骤 1:解析请求并确认搜索参数

从 $ARGUMENTS 中解析:

  • 职位 — 职位名称或职能(例如 “Senior React Engineer”、“Head of Sales”)
  • 地点 — 城市、都会区、地区或远程(例如 “New York City”、“remote US”)
  • 技能 / 要求 — 特定技术、工作年限、领域专长
  • 资历级别 — 初级、中级、高级、资深、总监、副总裁、高管
  • 来源偏好 — 特定平台(LinkedIn、GitHub、Indeed 等)或“全部”

如果用户粘贴了完整职位描述,请从中提取上述字段。

如果缺少或无法确定职位,请使用 AskUserQuestion 提问:

“您要招聘什么职位,工作地点在哪里?(例如:‘Senior ML Engineer, remote US’ 或粘贴职位描述)”

参数明确后,使用 AskUserQuestion 向用户确认:

“正在搜索:[职位] | 地点:[地点] | 关键技能:[技能] | 资历级别:[资历级别]

搜索平台:LinkedIn、Indeed、GitHub(适用于技术职位)、AngelList / Wellfound,以及专业社群。

  • 开始搜索
  • 先调整参数”
步骤 2:发现 WSA

发现可用于候选人寻访平台的 Web Search Agents。并行运行:

nimble extract:templates list --limit 100  # then filter items for "linkedin people"
nimble extract:templates list --limit 100  # then filter items for "indeed resume"
nimble extract:templates list --limit 100  # then filter items for "github profile"
nimble extract:templates list --limit 100  # then filter items for "wellfound talent"

筛选 entity_type: SERP 或 entity_type: PDP 的结果。优先选择 managed_by: "nimble" 的 Agent。使用以下调用验证有潜力的 Agent:

nimble extract:templates get --extract-template-name {name}

缓存发现的 WSA 名称和必需参数。如果某个平台未发现 WSA,则改用该平台的 nimble search。

步骤 3:并行搜索候选人(子 Agent)

启动 nimble-researcher Agent(agents/nimble-researcher.md),设置 mode: "bypassPermissions",最多同时运行 4 个。每个平台分配一个 Agent:

Agent 1 — LinkedIn

搜索符合职位条件的人员。使用类似布尔逻辑的方式构造查询:

nimble search --query "site:linkedin.com/in [Role] [Location] [Key Skills]" \
  --max-results 15 --search-depth fast
nimble search --query "[Role] [Location] linkedin profile [Skill1] [Skill2]" \
  --max-results 10 --search-depth fast

如果步骤 2 中发现了 LinkedIn WSA,则改用它,并将职位名称、 地点和技能关键词作为输入。

Agent 2 — Indeed / 简历

nimble search --query "site:indeed.com resume [Role] [Location] [Key Skills]" \
  --max-results 10 --search-depth fast
nimble search --query "[Role] resume [Location] [Key Skills]" \
  --max-results 10 --search-depth fast

Agent 3 — GitHub(仅适用于技术职位)

非技术职位(例如销售、市场营销、运营)跳过此 Agent。

nimble search --query "site:github.com [Role] [Location] [Key Skills]" \
  --max-results 10 --search-depth fast
nimble search --query "github [Key Skills] developer [Location] open to work" \
  --max-results 10 --search-depth fast

Agent 4 — AngelList / Wellfound + 社群

nimble search --query "site:wellfound.com [Role] [Location] [Key Skills]" \
  --max-results 10 --search-depth fast
nimble search --query "[Role] [Location] open to work OR seeking opportunities \
  [Key Skills]" --max-results 10 --search-depth fast

每个 Agent 返回:候选人姓名(如有)、个人资料 URL、当前职位、 地点摘要、推断的技能、求职意向信号(“开放求职”“正在寻找”“可入职”),并附上事件日期(如有)和来源 URL。

第 4 步:提取完整资料

对于第 3 步确定的首选候选人(目标是在所有平台上找到 10–20 份不同的个人资料),提取完整的个人资料详情。同时运行所有提取任务:

nimble extract --url "[profile-url]" --format markdown

从每份提取的个人资料中获取:

  • 全名
  • 当前职位和公司
  • 所在地
  • 技能/技术栈
  • 工作经历摘要(工作年限、知名雇主)
  • 教育背景
  • 求职意向信号(是否开放求职、近期是否换工作、发帖活跃度)
  • 联系信号(电子邮件、个人网站、GitHub 用户名)

如果提取失败,请按照 references/nimble-playbook.md 中的回退模式处理。如果个人资料需要登录才能查看且提取失败,请保留搜索摘要,不要跳过该候选人。

**提取数量上限:**最多提取 15 份个人资料。如果第 3 步找到的候选人超过 15 位,请先按相关性评分(资历匹配度 + 技能重合度 + 地点匹配度)排序,再进行提取。

第 5 步:为候选人评分并排序

使用以下加权信号为每位候选人评分(1–10 分):

信号权重
职位/头衔匹配度30%
与要求的技能重合度30%
地点匹配度20%
资历匹配度10%
求职意向信号10%

将候选人分为以下级别:

  • **Tier 1(高度匹配,7–10 分):**具备所有必需信号
  • **Tier 2(部分匹配,4–6 分):**具备大部分信号,有 1–2 项不足
  • **Tier 3(可考虑,1–3 分):**如果 Tier 1/2 候选人不多,值得进一步审核
第 6 步:输出

展示结果前,检查 ~/.nimble/memory/talent-sourcing/[role-slug].md — 如果某位候选人此前已在运行中出现过,请标记为 (previously surfaced),不要将其作为新候选人再次展示。

以结构化报告呈现候选人:

## Candidate Report: [Role] in [Location]
Searched: LinkedIn, Indeed, GitHub, Wellfound
Found: [N] candidates | Tier 1: [N] | Tier 2: [N] | Tier 3: [N]

**TL;DR:** [2-3 sentence summary of the strongest candidates and any notable patterns]

---

### Tier 1 — Strong Match

#### 1. [Name] — [Score]/10
- **Current role:** [Title] at [Company]
- **Location:** [Location]
- **Skills:** [Skill1], [Skill2], [Skill3]
- **Experience:** [X years, notable employers]
- **Availability:** [signal] — [event date or "date unknown"] — [source URL]
- **Profile:** [URL]
- **Contact signals:** [email / personal site / GitHub]

...

---

### What This Means
[1-2 sentences on hiring outlook: supply/demand signal, speed recommendation, any
standout sourcing channel]

省略无可用数据的字段。不要编造详情 — 缺失字段请填写 "unknown"。为每位 Tier 1 候选人添加一句 “选择该候选人的原因” 说明。

第 7 步:保存到记忆

同时执行所有 Write 调用:

  • 报告 → ~/.nimble/memory/reports/talent-sourcing-{YYYY-MM-DD}.md(包含所有级别候选人的完整报告)
  • 按职位 → ~/.nimble/memory/talent-sourcing/[role-slug].md(候选人列表;新建或更新)
  • 个人资料 → 使用 references/profile-and-onboarding.md 中的 python3 代码片段,更新 ~/.nimble/business-profile.json 中的 last_runs.talent-sourcing。如果文件不存在,则跳过。

在 ~/.nimble/memory/talent-sourcing/index.md 中添加一行,记录本次搜索。 按照 references/memory-and-distribution.md 中的 wiki 更新模式操作。

第 8 步:分享和分发

**始终提供分发选项 — 不要跳过此步骤。**按照 references/memory-and-distribution.md 中关于连接器检测、分享流程和来源链接要求的说明操作。

第 9 步:后续操作

使用 AskUserQuestion 提供后续步骤选项:

接下来要做什么?

  • 深入了解某位候选人 — 提取完整个人资料并查找联系信息
  • 扩大搜索范围 — 扩大地点范围、放宽资历要求或尝试更多平台
  • 缩小搜索范围 — 添加必需技能或收紧地点范围
  • 导出名单 — 保存为 CSV 或格式化文档
  • 完成

相关技能建议:

  • 对候选人当前任职的公司运行 company-deep-dive,了解交易背景
  • 联系 Tier 1 候选人前运行 meeting-prep

错误处理

标准错误表请参阅 references/nimble-playbook.md。此技能特定的处理方式:

  • **个人资料需要登录才能查看:**保留搜索摘要;在候选人条目中注明“完整个人资料不可用 — 需要登录 LinkedIn/Indeed”。
  • **总共找到的候选人少于 5 位:**通知用户,建议将地点范围扩大至远程,或放宽资历要求,然后询问是否要使用调整后的参数重新运行。
  • **平台搜索返回 500 错误:**使用简化查询重试一次;如果仍然失败,则跳过该平台并在报告标题中注明。
  • **非技术职位跳过 GitHub 搜索:**在报告标题中注明“此职位类型未搜索 GitHub”。

评论

支持 Markdown