skill
talent-search-skill
Agent Skill for AI & quant talent sourcing — four-channel search (papers/GitHub/teams/community), cross-verified candidate lists in Excel, persistent candidate library, weekly talent radar. Works with
Set up
Skills are installed by placing their folder where your agent loads skills.
The download comes from github.com/cw20051219-commits/talent-search-skill itself, not from our server, so what you get is exactly what its author published.
Install instructions come from the README
README
synced Oct 22, 2026talent-search-skill
An Agent Skill for end-to-end AI / infra / quant talent sourcing — input a candidate persona or a JD, get back a cross-verified, confidence-tiered Excel candidate list plus a full search log. Also covers GitHub contributor mining, target-company recon and roster-page verification.
Works with Claude Code, WorkBuddy, and any AI Agent host that follows the SKILL.md spec.
Why use it
- Four-channel parallel search — academia (papers / labs / competitions), GitHub (open-source contributors), company (team pages / tech blogs), community (public pages on Zhihu, LinkedIn, Maimai). All four channels fire at once.
- Cross-verification discipline — every candidate goes through at least one round of primary-source verification (single-pass, mandatory). For critical roles you can switch on five-pass verification — five independent dimensions (academia, GitHub, professional platforms, company primary sources, personal homepage) corroborate each other; conflicts defer to primary sources.
- Two independent sources per attribution — a name that merely looks right is not evidence. Every identity attribution (this person = this GitHub account / works at this company / authored this paper) needs two independent primary sources; a single path is output as "unconfirmed". Homonyms are the dominant error source in sourcing, so the skill is tuned to miss rather than misfire.
- Confidence tiers + A/B/C delivery — instead of padding to a headcount, output is tiered: A all hard constraints primary-sourced, B identity verified but graduation year inferred (labelled), C rejected with reason. Each row can carry a confidence cell (high/medium/low, colour-coded) plus the two evidence URLs, so the hiring manager judges trust themselves.
- Better empty than fabricated — anything not backed by primary sources is marked "to be verified / not obtained". No fabrication. Every key fact is traceable to a source URL in the search log.
- Zero-dependency Excel output — built-in
gen_excel.mjs(Node ≥ 18, no third-party packages) writes a fixed 9-column sheet: name / education / internships-and-jobs / personal homepage / GitHub / first-author papers / university-lab experience / match highlights / notes (CV and contact). Add--confidenceto append confidence / delivery tier / evidence columns. - A candidate library that grows with you — every round's results land in
talent-research/_db/candidates.jsonl. The next round in the same direction queries the library first for incremental updates: anything verified within 90 days is reused, anything rejected is skipped. Paired withdb_upsert.mjs(zero-dependencyupsert/search/statscommands). - Self-improving experience — every round ends with an automatic retrospective. Source effectiveness, signal effectiveness, rejection patterns, network pitfalls, process improvements and tooling notes get appended to monthly files in
talent-research/_lessons/. The next round reads the last two months of lessons and tunes its strategy. - Evaluation baseline (brake on evolution) — built-in
eval_recall.mjsscores every revision against a golden set: recall threshold 0.8; school and current-role field accuracy must not regress. A revision is only allowed to merge if the gate holds — so "self-improvement" can't drift into "self-destruction". - Proactive radar (scheduled monitoring) —
radar_scan.mjsruns weekly, scanning target companies' GitHub org member changes plus OpenAlex new papers (with first-author and institution). Incremental signals auto-compose a report. From "search when asked" to "proactive talent radar". Ships with a built-in lookup table for 16 China-side LLM-team orgs (Qwen / DeepSeek / Zhipu / Kimi / ModelScope / Tongyi / Tencent ARC & Hunyuan / ByteDance Seed / PaddlePaddle / Noah's Ark Lab / MindSpore / Meituan / JD / RedNote / Xiaohongshu). - School tiering built in — C9 / Hong Kong / overseas school tier table and well-known-lab criteria are wired in, so the skill can shortlist by school bar without you re-pasting the list.
- Field-tested playbooks, not generic advice —
references/ships the hard-won parts: an anonymous/rate-limited GitHub SOP (HTML endpoints over API, email↔account mapping, bot blacklist), a repo × company map per direction, a JD→signal translation recipe with boolean queries and phone-screen questions, company recon, roster-page verification, and site/network pitfalls (including why you must dispatch sub-agents two at a time).
Workflow
Persona / JD
│
▼
Step 0 Parse persona (or translate JD must-haves into strong signals)
→ declare A/B/C delivery tiers → query candidate library (incremental)
→ read last two months of lessons
│
▼
Step 1 Four-channel parallel search ──→ 8–15 candidate lead cards
│ (max 2 sub-agents at a time; main thread is the fallback)
│
▼
Step 2 Dedupe + cross-verify → write back to candidate library
│ ├─ Two independent primary sources per attribution (hard rule)
│ ├─ Single-pass (mandatory): primary-source check on school / current role / contact
│ ├─ Five-pass (optional): academia / GitHub / professional platform / company / personal homepage
│ └─ Confidence tier + A/B/C
│
▼
Step 3 Produce candidates-YYYYMMDD.xlsx + search-log.md
│
▼
Step 4 Retrospective ──→ lessons appended to _lessons/, next round reuses them
Install
Claude Code (user-level, available globally):
git clone https://github.com/cw20051219-commits/talent-search-skill ~/.claude/skills/talent-search
Or project-level (current project only):
git clone https://github.com/cw20051219-commits/talent-search-skill .claude/skills/talent-search
WorkBuddy:
git clone https://github.com/cw20051219-commits/talent-search-skill ~/.workbuddy/skills/talent-search
Other Agent hosts — copy this folder to the host's skills directory. The skill format is a generic SKILL.md + frontmatter spec.
Requirement: Node.js ≥ 18 (only used for the Excel generator, the candidate library and the GitHub probe; zero third-party dependencies).
Usage
After install, just talk to your agent, for example:
Find me 20 candidates for LLM pre-training data roles: PhD 2021–2024, C9 or overseas schools, currently based in China.
Or hand it a benchmark persona / JD:
Here is our benchmark persona (in the examples/persona.example.md format). Find people like this.
Other things it handles out of the box:
Mine the core contributors of
verl-project/verland tell me who owns the training loop.
Recon this company: who are the engineers behind their training stack?
Here's a university HPC team roster page — verify each member's GitHub and current status.
The agent drops into the skill flow automatically. You can also craft inputs by hand using the persona template and candidates.example.json under examples/.
GitHub deep-dive probe
scripts/gh_probe.mjs is a zero-dependency probe for the GitHub channel, built for anonymous / rate-limited networks — it prefers HTML endpoints over the 60-req/hour API:
node scripts/gh_probe.mjs check verl-project/verl microsoft/DeepSpeed # canonical names; exposes renames
node scripts/gh_probe.mjs contributors <owner/repo> --limit 30 # contributor board (retries 202, flags bots)
node scripts/gh_probe.mjs profile <login> [...] # hovercard first, API fallback
node scripts/gh_probe.mjs emailmap <owner/repo> <login> # commit-email ↔ account mapping (hardest evidence)
node scripts/gh_probe.mjs codeowners <owner/repo> # .github/CODEOWNERS = official module ownership
node scripts/gh_probe.mjs members <org> # org public members (no API quota)
node scripts/gh_probe.mjs repos <org> # org public repos
node scripts/gh_probe.mjs rate # quota self-check
node scripts/gh_probe.mjs selftest # offline self-test (bot blacklist + parsers)
Add --json for machine-readable output. GITHUB_TOKEN is optional (raises the ceiling from 60 to 5000 req/hour; read from env only, never written to disk).
Repo structure
talent-search-skill/
├── SKILL.md # Main directive (English): 5-step flow (query / write-back / retrospective)
│ # + two-source rule + confidence tiers + output spec
├── SKILL.zh-CN.md # Same directive in Chinese
├── references/
│ ├── source-playbook.md # Four-channel search strategy and contact-collection rules
│ ├── school-list.md # C9 / HK / overseas school tier table and well-known-lab criteria
│ ├── github-playbook.md # GitHub deep-dive SOP for anonymous/rate-limited networks + pitfalls
│ ├── repo-map.md # Repo × company map per direction (+ recipe to rebuild for a new direction)
│ ├── sourcing-plan.md # JD → signal translation, boolean queries, screening rubric, phone screen
│ ├── company-recon.md # Target-company recon: GitHub org / paper emails / registration / press
│ ├── roster-verify.md # Official roster page → verified candidate table (confidence tiers)
│ ├── field-notes.md # Sub-agent limits, output-pollution discipline, site tactics, network env
│ └── lessons-template.md # Retrospective entry format (six entry types)
├── scripts/
│ ├── gen_excel.mjs # Zero-dependency xlsx writer (9 columns; --confidence adds 3 more)
│ ├── gh_probe.mjs # Zero-dependency GitHub probe (check/contributors/profile/emailmap/…)
│ ├── db_upsert.mjs # Zero-dependency candidate library (upsert / search / stats)
│ ├── eval_recall.mjs # Zero-dependency golden-set evaluation (recall + field-accuracy gate)
│ └── radar_scan.mjs # Zero-dependency proactive radar (GitHub org members + OpenAlex paper delta)
├── assets/
│ └── demo.gif # Workflow demo (fictional data only)
└── examples/
├── persona.example.md # Three-section persona template (fictional people)
├── candidates.example.json # Excel input data structure (incl. confidence / tier / sources)
├── db-candidates.example.jsonl # Candidate library schema (fictional people)
├── golden.example.jsonl # Golden-set format (fictional people)
└── radar-config.example.json # Proactive-radar config
Compliance
- This skill only collects publicly available information (GitHub profile emails, personal-homepage emails, paper corresponding-author emails, public LinkedIn pages). No paid databases, no closed-group scraping.
- The candidate data it produces is personal information. You are responsible for using it lawfully (e.g. legitimate recruiting) and for complying with the personal-data laws of your jurisdiction (e.g. PIPL, GDPR, etc.).
- No candidate personal data belongs in the repo.
references/documents method and public organisation assets only — never names, emails or candidate lists. The candidate library, lessons and eval sets are.gitignored. - The user of this tool bears all compliance responsibility.