talent-sourcing
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseTalent Sourcing
人才寻访
Candidate discovery powered by Nimble Web Search Agents.
User request: $ARGUMENTS
Before running any commands, read for Claude Code
constraints (no shell state, no /, sub-agent permissions, communication style).
references/nimble-playbook.md&wait由Nimble Web Search Agents驱动的候选人发掘。
用户请求:$ARGUMENTS
运行任何命令前,请阅读了解Claude Code的约束条件(无shell状态、禁止使用/、子Agent权限、沟通风格)。
references/nimble-playbook.md&waitInstructions
操作说明
Step 0: Preflight
步骤0:预检
Run the preflight pattern from (5 simultaneous Bash
calls: date calc, today, CLI check, profile load, index.md load).
references/nimble-playbook.mdAlso simultaneously:
mkdir -p ~/.nimble/memory/{reports,talent-sourcing}
From the results:
- CLI missing or API key unset → read , stop
references/profile-and-onboarding.md - Profile exists → note industry keywords if any; proceed to Step 1
- No profile → fine, talent-sourcing doesn't require onboarding; proceed to Step 1
执行中的预检流程(同时进行5次Bash调用:日期计算、今日日期、CLI检查、配置文件加载、index.md加载)。
references/nimble-playbook.md同时执行:
mkdir -p ~/.nimble/memory/{reports,talent-sourcing}
根据结果处理:
- CLI缺失或API密钥未设置 → 阅读,停止操作
references/profile-and-onboarding.md - 配置文件存在 → 记录行业关键词(如有);进入步骤1
- 无配置文件 → 无需问题,人才寻访无需初始化;进入步骤1
Step 1: Parse Request & Confirm Search Parameters
步骤1:解析请求并确认搜索参数
Parse for:
$ARGUMENTS- Role — job title or function (e.g. "Senior React Engineer", "Head of Sales")
- Location — city, metro, region, or remote (e.g. "New York City", "remote US")
- Skills / requirements — specific technologies, years of experience, domain expertise
- Seniority — junior, mid, senior, staff, director, VP, C-level
- Source preference — specific platforms (LinkedIn, GitHub, Indeed, etc.) or "all"
If a full job description was pasted, extract the above fields from it.
If role is missing or ambiguous, ask with :
AskUserQuestion"What role are you hiring for, and where? (e.g. 'Senior ML Engineer, remote US' or paste a job description)"
Once parameters are clear, confirm with the user using :
AskUserQuestion"Searching for: [Role] | Location: [Location] | Key skills: [Skills] | Seniority: [Seniority]Platforms to search: LinkedIn, Indeed, GitHub (for technical roles), AngelList / Wellfound, and professional communities.
- Start search
- Adjust parameters first"
从中解析以下信息:
$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及专业社区。
- 开始搜索
- 先调整参数"
Step 2: WSA Discovery
步骤2:Web Search Agent(WSA)发现
Discover available Web Search Agents for candidate-sourcing platforms. Run
simultaneously:
bash
nimble agent list --search "linkedin people" --limit 20
nimble agent list --search "indeed resume" --limit 20
nimble agent list --search "github profile" --limit 20
nimble agent list --search "wellfound talent" --limit 20Filter results for or . Prefer
. Validate promising agents with:
entity_type: SERPentity_type: PDPmanaged_by: "nimble"bash
nimble agent get --template-name {name}Cache discovered WSA names and required params. If no WSAs found for a platform,
fall back to for that platform.
nimble search寻找适用于候选人挖掘平台的Web Search Agent。同时执行:
bash
nimble agent list --search "linkedin people" --limit 20
nimble agent list --search "indeed resume" --limit 20
nimble agent list --search "github profile" --limit 20
nimble agent list --search "wellfound talent" --limit 20筛选或的结果。优先选择的Agent。通过以下命令验证候选Agent:
entity_type: SERPentity_type: PDPmanaged_by: "nimble"bash
nimble agent get --template-name {name}缓存已发现的WSA名称及所需参数。若某平台未找到WSA, fallback至进行搜索。
nimble searchStep 3: Parallel Candidate Search (Sub-Agents)
步骤3:并行候选人搜索(子Agent)
Spawn agents () with
, max 4 concurrent. Assign one agent per platform:
nimble-researcheragents/nimble-researcher.mdmode: "bypassPermissions"Agent 1 — LinkedIn
Search for people matching the role criteria. Use Boolean-style query construction:
bash
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 fastIf a LinkedIn WSA was discovered in Step 2, use it instead with the role title,
location, and skill keywords as inputs.
Agent 2 — Indeed / Resumes
bash
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 fastAgent 3 — GitHub (technical roles only)
Skip this agent for non-technical roles (e.g. Sales, Marketing, Operations).
bash
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 fastAgent 4 — AngelList / Wellfound + Communities
bash
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 fastEach agent returns: candidate name (if available), profile URL, current title,
location snippet, inferred skills, availability signals ("open to work", "seeking",
"available") with event date (if available) and source URL.
启动 Agent(),设置,最多同时运行4个。为每个平台分配一个Agent:
nimble-researcheragents/nimble-researcher.mdmode: "bypassPermissions"Agent 1 — LinkedIn
搜索匹配岗位条件的人员。使用布尔式查询构造:
bash
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,输入岗位名称、地点和技能关键词。
Agent 2 — Indeed / 简历
bash
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 fastAgent 3 — GitHub(仅限技术岗位)
非技术岗位(例如销售、营销、运营)跳过此Agent。
bash
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 fastAgent 4 — AngelList / Wellfound + 社区
bash
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、当前职位、地点片段、推断技能、求职意向信号(“open to work”、“seeking”、“available”)及事件日期(若可用)和来源URL。
Step 4: Deep Profile Extraction
步骤4:深度资料提取
For the top candidates identified in Step 3 (aim for 10–20 unique profiles across
all platforms), extract full profile details. Run all extractions simultaneously:
bash
nimble extract --url "[profile-url]" --format markdownFrom each extracted profile, pull:
- Full name
- Current role & company
- Location
- Skills / tech stack
- Experience summary (years, notable employers)
- Education
- Availability signals (open to work, recent job change, posting activity)
- Contact signals (email, personal site, GitHub handle)
For extraction failures, follow the fallback pattern in
. If a profile is behind a login wall and extraction
fails, keep the search-snippet summary instead — do not skip the candidate.
references/nimble-playbook.mdExtraction budget: extract up to 15 profiles. If more than 15 candidates were
found in Step 3, prioritize by relevance score (seniority match + skill overlap +
location match) before extracting.
针对步骤3中识别出的顶尖候选人(所有平台共10–20个独特资料),提取完整详情。同时执行所有提取操作:
bash
nimble extract --url "[profile-url]" --format markdown从每个提取的资料中获取:
- 全名
- 当前岗位及公司
- 地点
- 技能/技术栈
- 经验总结(工作年限、知名雇主)
- 教育背景
- 求职意向信号(开放求职、近期换工作、发布动态)
- 联系信号(邮箱、个人网站、GitHub账号)
提取失败时,遵循中的 fallback流程。若资料需登录查看导致提取失败,保留搜索片段摘要——请勿跳过该候选人。
references/nimble-playbook.md**提取预算:**最多提取15份资料。若步骤3中找到超过15位候选人,按相关性得分(资历匹配+技能重叠+地点匹配)优先提取。
Step 5: Score & Rank Candidates
步骤5:候选人评分与排名
Score each candidate (1–10) using these weighted signals:
| Signal | Weight |
|---|---|
| Role / title match | 30% |
| Skill overlap with requirements | 30% |
| Location match | 20% |
| Seniority match | 10% |
| Availability signals | 10% |
Group candidates into tiers:
- Tier 1 (Strong match, 7–10): All required signals present
- Tier 2 (Partial match, 4–6): Most signals present, 1–2 gaps
- Tier 3 (Stretch, 1–3): Worth reviewing if Tier 1/2 list is thin
使用以下加权信号为每位候选人评分(1–10分):
| 信号 | 权重 |
|---|---|
| 岗位/职位匹配 | 30% |
| 技能与要求匹配度 | 30% |
| 地点匹配 | 20% |
| 资历匹配 | 10% |
| 求职意向信号 | 10% |
将候选人分为三个层级:
- **Tier 1(高度匹配,7–10分):**满足所有核心信号
- **Tier 2(部分匹配,4–6分):**满足大部分信号,存在1–2个缺口
- **Tier 3(潜力候选人,1–3分):**若Tier 1/2候选人数量不足,值得考虑
Step 6: Output
步骤6:输出结果
Before presenting results, check —
if a candidate was surfaced in a prior run, mark them rather
than re-presenting them as new.
~/.nimble/memory/talent-sourcing/[role-slug].md(previously surfaced)Present a structured candidate report:
undefined展示结果前,检查——若某候选人在之前的搜索中出现过,标记为,而非作为新候选人展示。
~/.nimble/memory/talent-sourcing/[role-slug].md(previously surfaced)呈现结构化候选人报告:
undefinedCandidate 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]
搜索平台:LinkedIn、Indeed、GitHub、Wellfound
共找到:[N]位候选人 | Tier 1:[N] | Tier 2:[N] | Tier 3:[N]
摘要:[2-3句话总结顶尖候选人及显著规律]
Tier 1 — Strong Match
Tier 1 — 高度匹配
1. [Name] — [Score]/10
1. [姓名] — [得分]/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]
...
- 当前岗位:[职位] @ [公司]
- 地点:[地点]
- 技能:[技能1]、[技能2]、[技能3]
- 经验:[X年工作经验,知名雇主]
- 求职意向:[信号] — [事件日期或“日期未知”] — [来源URL]
- 资料链接:[URL]
- 联系信息:[邮箱 / 个人网站 / GitHub]
...
What This Means
结果解读
[1-2 sentences on hiring outlook: supply/demand signal, speed recommendation, any
standout sourcing channel]
Omit fields where data is unavailable. Do not fabricate details — use "unknown"
for missing fields. Add a one-sentence **"Why this candidate"** note for each
Tier 1 result.[1-2句话分析招聘前景:供需信号、推荐推进速度、突出的招聘渠道]
省略无数据的字段。请勿编造信息——缺失字段使用“未知”。为每位Tier 1候选人添加一句**“推荐理由”**。Step 7: Save to Memory
步骤7:保存至内存
Make all Write calls simultaneously:
- Report → (full candidate report with all tiers)
~/.nimble/memory/reports/talent-sourcing-{YYYY-MM-DD}.md - Per-role → (candidate list; write or update)
~/.nimble/memory/talent-sourcing/[role-slug].md - Profile → update in
last_runs.talent-sourcingusing the python3 snippet in~/.nimble/business-profile.json. Skip if the file does not exist.references/profile-and-onboarding.md
Update with a row for this search.
Follow the wiki update pattern from .
~/.nimble/memory/talent-sourcing/index.mdreferences/memory-and-distribution.md同时执行所有写入操作:
- 报告 → (包含所有层级的完整候选人报告)
~/.nimble/memory/reports/talent-sourcing-{YYYY-MM-DD}.md - 按岗位分类 → (候选人列表;写入或更新)
~/.nimble/memory/talent-sourcing/[role-slug].md - 配置文件 → 使用中的python3代码片段,更新
references/profile-and-onboarding.md中的~/.nimble/business-profile.json。若文件不存在则跳过。last_runs.talent-sourcing
更新,添加本次搜索记录。遵循中的 wiki 更新流程。
~/.nimble/memory/talent-sourcing/index.mdreferences/memory-and-distribution.mdStep 8: Share & Distribute
步骤8:分享与分发
Always offer distribution — do not skip this step. Follow
for connector detection, sharing flow, and
source links enforcement.
references/memory-and-distribution.md**必须提供分发选项——请勿跳过此步骤。**遵循中的连接器检测、分享流程及来源链接要求。
references/memory-and-distribution.mdStep 9: Follow-ups
步骤9:后续操作
Offer next steps using :
AskUserQuestionWhat's next?
- Go deeper on a candidate — extract full profile + find contact info
- Expand search — broaden location, relax seniority, try more platforms
- Narrow search — add a required skill or tighten location
- Export list — save as CSV or formatted doc
- Done
Sibling skill suggestions:
- Run
on a candidate's current employer for deal contextcompany-deep-dive- Run
before reaching out to a Tier 1 candidatemeeting-prep
使用提供后续选项:
AskUserQuestion下一步操作?
- 深入了解某候选人 — 提取完整资料+查找联系方式
- 扩大搜索范围 — 放宽地点限制、降低资历要求、尝试更多平台
- 缩小搜索范围 — 添加必备技能或收紧地点限制
- 导出列表 — 保存为CSV或格式化文档
- 完成
关联技能推荐:
- 对候选人当前雇主运行
获取背景信息company-deep-dive- 联系Tier 1候选人前运行
做准备meeting-prep
Error Handling
错误处理
See for the standard error table. Skill-specific
handling:
references/nimble-playbook.md- Profile behind login wall: Keep search-snippet summary; note "full profile unavailable — LinkedIn/Indeed login required" in the candidate entry.
- < 5 total candidates found: Notify the user, suggest broadening location to remote or relaxing seniority, then ask whether to re-run with adjusted params.
- Search 500 on a platform: Retry once with a simplified query; if still failing, skip that platform and note it in the report header.
- GitHub agent skipped for non-technical role: Note "GitHub not searched for this role type" in the report header.
标准错误处理请见中的错误表。本技能专属处理规则:
references/nimble-playbook.md- **资料需登录查看:**保留搜索片段摘要;在候选人条目中标注“完整资料不可用——需登录LinkedIn/Indeed查看”。
- **找到的候选人不足5位:**通知用户,建议放宽地点至远程或降低资历要求,询问是否调整参数后重新搜索。
- **某平台搜索返回500错误:**使用简化查询重试一次;若仍失败,跳过该平台并在报告头部注明。
- **非技术岗位跳过GitHub Agent:**在报告头部注明“此岗位类型未搜索GitHub”。",