Candidate Pipeline Builder

Talent sourcing

by explorium-ai · MIT license · ★ 197 on GitHub

Talent sourcing cover

Talent sourcing skill for Claude Code and Codex: turn a job description or role brief into a ranked candidate pipeline using real-time professional and company data from Explorium via Vibe Prospecting. Returns candidates with current…

---
name: talent-sourcing
description: "Talent sourcing skill for Claude Code and Codex: turn a job description or role brief into a ranked candidate pipeline using real-time professional and company data from Explorium via Vibe Prospecting. Returns candidates with current title, employer, seniority, tenure, career trajectory, LinkedIn profile, and contact data, scored against must-have and nice-to-have criteria. Use for recruiting, technical sourcing, executive search, and building passive-candidate pipelines. Triggers on 'source candidates', 'find candidates for', 'build a talent pipeline', 'who could fill this role', 'sourcing for a [role]', 'boolean search alternative', 'recruiter sourcing'. Works in Claude Code, Codex, Hermes-Agent, and OpenClaw."
compatibility: "Requires: Vibe Prospecting MCP server (https://vibeprospecting.explorium.ai/mcp, bundled with this plugin) or the Vibe Prospecting CLI (npx @vibeprospecting/vpai@latest)"
---

# Talent Sourcing

Turn a role brief into a ranked, contactable pipeline of passive candidates, with a transparent fit score per person.

## Input

`$ARGUMENTS` is a job description, a pasted JD link's text, or a free-text brief. Parse it for:

- Target role: title, seniority, department / function.
- Must-haves vs nice-to-haves. If the brief does not separate them, propose a split and confirm before searching.
- Source-company profile: industry, size bucket, stage, tech stack, or a named list of target companies ("ex-Stripe, Adyen, or Checkout.com").
- Exclusions: current employer, clients under a no-poach agreement, companies the user names.

Overview

Turn a role brief into a ranked, contactable pipeline of passive candidates, with a transparent fit score per person.

Manual install (npx, ZIP)
Claude Codenpx skills add explorium-ai/gtm-skills --skill talent-sourcing -g -a claude-code
Claude Code (degit)npx degit explorium-ai/gtm-skills/skills/talent-sourcing#main ~/.claude/skills/talent-sourcing
Claude.ai / desktopZip the folder and upload it under Settings → Capabilities → Skills.
Codex, Cursor, other agentsPoint them at SKILL.md. The other files are plain text.

Connects with Agent Alley MCP · agentalley.io/mcp

Files included

  • SKILL.md8.6 KB
Read SKILL.md here
explorium-ai/main1 file shown
SKILL.md
Show the full text97 lines

Talent Sourcing

Turn a role brief into a ranked, contactable pipeline of passive candidates, with a transparent fit score per person.

Input

$ARGUMENTS is a job description, a pasted JD link's text, or a free-text brief. Parse it for:

  • Target role: title, seniority, department / function.
  • Must-haves vs nice-to-haves. If the brief does not separate them, propose a split and confirm before searching.
  • Source-company profile: industry, size bucket, stage, tech stack, or a named list of target companies ("ex-Stripe, Adyen, or Checkout.com").
  • Exclusions: current employer, clients under a no-poach agreement, companies the user names.
  • Geography: country, state, city region, or "remote in [country]".
  • Pipeline size (default 30, max 150) and whether contact data is needed now or later.

Example phrasings: "Senior backend engineers, Go + Kafka, at Series B-D fintechs in Germany", "VP Sales for a 200-person SaaS company, must have scaled a team from 10 to 50", "Head of RevOps, ex-HubSpot or Salesforce customer, US remote, exclude our clients", "30 product designers at consumer apps in London".

Setup check (always do this first)

This skill runs on Explorium's B2B data through Vibe Prospecting. Before step 1, confirm a data path is available:

  • MCP / connector: a Vibe Prospecting tool such as fetch-entities or match-business is in your tool list. If it is, proceed.
  • CLI fallback: run npx @vibeprospecting/vpai@latest --help. If it lists tools, proceed. If it errors on auth, ask the user to run npx @vibeprospecting/vpai@latest config --api-key "YOUR_VP_API_KEY".
  • Neither available: stop and tell the user: "Please connect the Vibe Prospecting connector (https://vibeprospecting.explorium.ai/mcp) or configure the CLI, then let me know." Do not continue or invent data.

Workflow

  1. Build the search blueprint. Translate the brief into a candidate profile (titles, seniority, department, geography) and a source-company profile (industry, size, stage, tech, named companies). Expand the target title into 3 to 6 adjacent titles a strong candidate might hold today ("Staff Engineer", "Senior Software Engineer, Payments", "Tech Lead"). Note one level down in seniority as a "step-up" pool when the role is a promotion move for most candidates. Show the blueprint and confirm before any fetch.

  2. Discover canonical values. Resolve every free-text token (job titles, industries, technologies, city regions) to the standardized values the API expects. Skip discovery for ISO country codes, region codes, size and revenue buckets, seniority and department enums.

  3. Resolve the source companies. When the user names target companies, match each one and sanity-check the firmographics: a well-known brand returning 1-50 employees in a Corporate-Managing-Offices category is likely a shell entity, so retry with the alternate domain. When the user describes a company profile instead, build a businesses table from those filters first and thread it into the prospect fetch. Remove excluded companies at this stage.

  4. Tighten loose title filters. Title filters are not exact-match: always pair a title with a seniority value, and with a department when the title is generic ("Manager", "Lead").

  5. Size the pool. Get a total match count. Under 20: suggest broadening (adjacent titles, wider geography, step-up pool). Over 2,000: suggest tightening (narrower company profile, tech stack, seniority). Report the number honestly.

  6. Sample-first preview. Pull 5 candidates and render them for the user to sanity-check the translation. Wait for approval before materializing the full pipeline.

  7. Materialize and enrich. Pull the full pipeline. Enrich every row with profile data (work history, tenure in current role, prior employers, education where available). Defer contact enrichment until the user confirms they are ready to reach out; then default to professional email, and add personal email or phone only when the user explicitly asks.

  8. Check recent movement. Fetch prospect events on the pipeline to flag recent role changes. Someone who changed jobs in the last 6 months is rarely movable: mark them, do not drop them. Fetch business events on their employers for the last 90 days: layoffs, leadership changes, acquisitions, and funding drought raise openness to a move; a fresh large funding round lowers it.

  9. Score and rank. Score each candidate 0-100:

    • Must-have fit (50): title, seniority, function, and any must-have that can be evidenced from profile data. A candidate missing a must-have caps at 49.
    • Nice-to-have fit (20): source-company match, tech stack of employer, career trajectory (promotions, scope growth).
    • Movability (20): tenure in role 2-4 years = high; under 12 months = low; 5+ years = medium. Employer-level signals from step 8 adjust up or down.
    • Reachability (10): professional email, then personal email, then LinkedIn only. Break ties by must-have fit, then movability.

Output Format

Role Blueprint

Bullets: target and adjacent titles, seniority (plus step-up pool if used), function, geography, source-company profile, exclusions, and the must-have / nice-to-have split as confirmed.

Candidate Pipeline
Rank Name Current Title Current Company Tenure In Role Prior Employers Location Score Movability LinkedIn Email Why They Fit

"Why They Fit" is one clause tied to the brief ("Scaled SDR team at a Series C fintech; Kafka shop"). Leave Email blank until contact enrichment runs.

Pool Read

Total matching pool from step 5, rows returned, score distribution (80+, 60-79, under 60), breakdown by source company and by location. Flag gaps: a must-have no candidate evidences, a target company with zero matches, or a geography that is too thin.

Top 10 To Contact First

One line each: why now (tenure, employer event) and a suggested outreach angle drawn from their trajectory, not generic praise.

Next Steps
  • Run contact enrichment on the top tier once outreach is approved.
  • Run talent-mapping on the strongest source companies to see the full bench there.
  • Pass the top 10 to contact-research for a per-person synopsis before outreach.
  • Re-run with the step-up pool or adjacent geography to widen a thin pipeline.

Fair-hiring and privacy rules

  • Never filter, score, or comment on protected characteristics (age, gender, ethnicity, religion, disability, nationality, family status) or proxies for them, such as graduation year used to infer age or names used to infer gender or origin. If the brief asks for this, decline that criterion and say why.
  • Score only on job-related evidence present in the data. Do not infer skills the profile does not show; mark them "unverified" instead.
  • Use contact data only for recruiting outreach about a real role. Remind the user to honor opt-outs and local rules (GDPR, CCPA) on candidate data.

Limitations

  • Requires the Vibe Prospecting connector or CLI; data coverage and credits follow the user's Vibe Prospecting plan.
  • Profile data reflects what candidates publish professionally. Skills, scope, and team size are often missing: treat absence as unknown, not as a gap.
  • No native skills or certifications filter. Approximate with title tokens, department, and employer tech stack.
  • No sub-department job-function filter. Combine discovered titles with department.
  • Title filters are loose: always pair with seniority.
  • Headcount and revenue are bucketed, so source-company size cuts are approximate.
  • The preview is capped at 5 rows. The full pipeline materializes only after approval.
  • Compensation, visa status, and job-seeking intent are not available.
1---
2name: talent-sourcing
3description: "Talent sourcing skill for Claude Code and Codex: turn a job description or role brief into a ranked candidate pipeline using real-time professional and company data from Explorium via Vibe Prospecting. Returns candidates with current title, employer, seniority, tenure, career trajectory, LinkedIn profile, and contact data, scored against must-have and nice-to-have criteria. Use for recruiting, technical sourcing, executive search, and building passive-candidate pipelines. Triggers on 'source candidates', 'find candidates for', 'build a talent pipeline', 'who could fill this role', 'sourcing for a [role]', 'boolean search alternative', 'recruiter sourcing'. Works in Claude Code, Codex, Hermes-Agent, and OpenClaw."
4compatibility: "Requires: Vibe Prospecting MCP server (https://vibeprospecting.explorium.ai/mcp, bundled with this plugin) or the Vibe Prospecting CLI (npx @vibeprospecting/vpai@latest)"
5---
6 
7# Talent Sourcing
8 
9Turn a role brief into a ranked, contactable pipeline of passive candidates, with a transparent fit score per person.
10 
11## Input
12 
13`$ARGUMENTS` is a job description, a pasted JD link's text, or a free-text brief. Parse it for:
14 
15- Target role: title, seniority, department / function.
16- Must-haves vs nice-to-haves. If the brief does not separate them, propose a split and confirm before searching.
17- Source-company profile: industry, size bucket, stage, tech stack, or a named list of target companies ("ex-Stripe, Adyen, or Checkout.com").
18- Exclusions: current employer, clients under a no-poach agreement, companies the user names.
19- Geography: country, state, city region, or "remote in [country]".
20- Pipeline size (default 30, max 150) and whether contact data is needed now or later.
21 
22Example phrasings: "Senior backend engineers, Go + Kafka, at Series B-D fintechs in Germany", "VP Sales for a 200-person SaaS company, must have scaled a team from 10 to 50", "Head of RevOps, ex-HubSpot or Salesforce customer, US remote, exclude our clients", "30 product designers at consumer apps in London".
23 
24## Setup check (always do this first)
25 
26This skill runs on Explorium's B2B data through Vibe Prospecting. Before step 1, confirm a data path is available:
27 
28- **MCP / connector:** a Vibe Prospecting tool such as `fetch-entities` or `match-business` is in your tool list. If it is, proceed.
29- **CLI fallback:** run `npx @vibeprospecting/vpai@latest --help`. If it lists tools, proceed. If it errors on auth, ask the user to run `npx @vibeprospecting/vpai@latest config --api-key "YOUR_VP_API_KEY"`.
30- **Neither available:** stop and tell the user: "Please connect the Vibe Prospecting connector (https://vibeprospecting.explorium.ai/mcp) or configure the CLI, then let me know." Do not continue or invent data.
31 
32## Workflow
33 
341. **Build the search blueprint.** Translate the brief into a candidate profile (titles, seniority, department, geography) and a source-company profile (industry, size, stage, tech, named companies). Expand the target title into 3 to 6 adjacent titles a strong candidate might hold today ("Staff Engineer", "Senior Software Engineer, Payments", "Tech Lead"). Note one level down in seniority as a "step-up" pool when the role is a promotion move for most candidates. Show the blueprint and confirm before any fetch.
35 
362. **Discover canonical values.** Resolve every free-text token (job titles, industries, technologies, city regions) to the standardized values the API expects. Skip discovery for ISO country codes, region codes, size and revenue buckets, seniority and department enums.
37 
383. **Resolve the source companies.** When the user names target companies, match each one and sanity-check the firmographics: a well-known brand returning 1-50 employees in a Corporate-Managing-Offices category is likely a shell entity, so retry with the alternate domain. When the user describes a company profile instead, build a businesses table from those filters first and thread it into the prospect fetch. Remove excluded companies at this stage.
39 
404. **Tighten loose title filters.** Title filters are not exact-match: always pair a title with a seniority value, and with a department when the title is generic ("Manager", "Lead").
41 
425. **Size the pool.** Get a total match count. Under 20: suggest broadening (adjacent titles, wider geography, step-up pool). Over 2,000: suggest tightening (narrower company profile, tech stack, seniority). Report the number honestly.
43 
446. **Sample-first preview.** Pull 5 candidates and render them for the user to sanity-check the translation. Wait for approval before materializing the full pipeline.
45 
467. **Materialize and enrich.** Pull the full pipeline. Enrich every row with profile data (work history, tenure in current role, prior employers, education where available). Defer contact enrichment until the user confirms they are ready to reach out; then default to professional email, and add personal email or phone only when the user explicitly asks.
47 
488. **Check recent movement.** Fetch prospect events on the pipeline to flag recent role changes. Someone who changed jobs in the last 6 months is rarely movable: mark them, do not drop them. Fetch business events on their employers for the last 90 days: layoffs, leadership changes, acquisitions, and funding drought raise openness to a move; a fresh large funding round lowers it.
49 
509. **Score and rank.** Score each candidate 0-100:
51 - Must-have fit (50): title, seniority, function, and any must-have that can be evidenced from profile data. A candidate missing a must-have caps at 49.
52 - Nice-to-have fit (20): source-company match, tech stack of employer, career trajectory (promotions, scope growth).
53 - Movability (20): tenure in role 2-4 years = high; under 12 months = low; 5+ years = medium. Employer-level signals from step 8 adjust up or down.
54 - Reachability (10): professional email, then personal email, then LinkedIn only.
55 Break ties by must-have fit, then movability.
56 
57## Output Format
58 
59### Role Blueprint
60Bullets: target and adjacent titles, seniority (plus step-up pool if used), function, geography, source-company profile, exclusions, and the must-have / nice-to-have split as confirmed.
61 
62### Candidate Pipeline
63 
64| Rank | Name | Current Title | Current Company | Tenure In Role | Prior Employers | Location | Score | Movability | LinkedIn | Email | Why They Fit |
65|------|------|---------------|-----------------|----------------|-----------------|----------|-------|------------|----------|-------|--------------|
66 
67"Why They Fit" is one clause tied to the brief ("Scaled SDR team at a Series C fintech; Kafka shop"). Leave Email blank until contact enrichment runs.
68 
69### Pool Read
70Total matching pool from step 5, rows returned, score distribution (80+, 60-79, under 60), breakdown by source company and by location. Flag gaps: a must-have no candidate evidences, a target company with zero matches, or a geography that is too thin.
71 
72### Top 10 To Contact First
73One line each: why now (tenure, employer event) and a suggested outreach angle drawn from their trajectory, not generic praise.
74 
75### Next Steps
76- Run contact enrichment on the top tier once outreach is approved.
77- Run `talent-mapping` on the strongest source companies to see the full bench there.
78- Pass the top 10 to `contact-research` for a per-person synopsis before outreach.
79- Re-run with the step-up pool or adjacent geography to widen a thin pipeline.
80 
81## Fair-hiring and privacy rules
82 
83- Never filter, score, or comment on protected characteristics (age, gender, ethnicity, religion, disability, nationality, family status) or proxies for them, such as graduation year used to infer age or names used to infer gender or origin. If the brief asks for this, decline that criterion and say why.
84- Score only on job-related evidence present in the data. Do not infer skills the profile does not show; mark them "unverified" instead.
85- Use contact data only for recruiting outreach about a real role. Remind the user to honor opt-outs and local rules (GDPR, CCPA) on candidate data.
86 
87## Limitations
88 
89- Requires the Vibe Prospecting connector or CLI; data coverage and credits follow the user's Vibe Prospecting plan.
90- Profile data reflects what candidates publish professionally. Skills, scope, and team size are often missing: treat absence as unknown, not as a gap.
91- No native skills or certifications filter. Approximate with title tokens, department, and employer tech stack.
92- No sub-department job-function filter. Combine discovered titles with department.
93- Title filters are loose: always pair with seniority.
94- Headcount and revenue are bucketed, so source-company size cuts are approximate.
95- The preview is capped at 5 rows. The full pipeline materializes only after approval.
96- Compensation, visa status, and job-seeking intent are not available.
97 
View all files on GitHub →

Details

License
MIT
Stars on the repo
★ 197
Checked
Source
explorium-ai/gtm-skills ↗
Creator
explorium-ai · 17 listings
View creator

Similar skills

See all →
SkillBasin Analytics Workflowcloudflare/skills · by cloudflareBuild and troubleshoot Cloudflare Basin analytics workflows with Basin Pipelines, Basin Catalog, and Basin SQL. Use for streaming data into R2 Iceberg tables, managing catalogs, or querying those tables; also use for requests using the former Data Platform, Pipelines, R2 Data Catalog, or R2 SQL names.★ 3k GitHub starsSkillAll-In-One Shopify DeveloperShopify/Shopify-AI-Toolkit · by ShopifyBuild anything on Shopify. One skill covering every Shopify developer surface: Use Shopify CLI, Admin API, ShopifyQL, Storefront GraphQL API, Partner API, Customer Account API, Payments Apps API, Shopify Functions, Polaris App Home, Polaris Admin Extensions, Polaris Checkout Extensions, Polaris Customer Account Extensions, POS UI, Hydrogen, Liquid, Custom Data, Shopify App Pricing, App Store Review, Developer Onboarding, Merchant Onboarding. Use it for any Shopify API, extension, theme, storefront, function, or CLI task — writing or explaining code, looking up operations, fields, components and valid values, validating generated code, and choosing which surface a request belongs to. Also use it when someone asks to make, build, open, or set up a store or shop that sells something, and when a prompt mentions or asks for any of: metafields or metaobjects, make me a store that sells pet supplies, mock.shop reference stores, build a storefront without an account — even without saying Shopify.★ 589 GitHub starsSkillShopify Store BuilderTerminalSkills/skills · by TerminalSkillsBuild and customize Shopify stores — themes with Liquid, Storefront API, custom apps, and headless commerce with Hydrogen. Use when someone asks to build a Shopify store", "Shopify theme", "Liquid templates", "Shopify API", Shopify app", "headless Shopify", "Hydrogen storefront", "customize Shopify", Shopify product management", or "e-commerce with Shopify". Covers Liquid templating, theme development, Storefront/Admin APIs, custom apps, checkout extensions, and Hydrogen (React-based headless).★ 157 GitHub starsSkillShopify Theme & App Developerericrisco/rsc-harness · by ericriscoUse when building or customizing a Shopify store across its three code surfaces — themes (Liquid, Online Store 2.0 sections, blocks and JSON templates), apps (Remix with the versioned GraphQL Admin API and its query-cost model), and checkout (UI extensions, Functions, Web Pixels), plus the CLI flow and checkout-extensibility migration. NOT WooCommerce or PHP stores (that is `wordpress`), NOT the React layer of a headless storefront (that is `nextjs`), NOT non-Shopify payment integrations (that is `stripe`).★ 108 GitHub starsSkillEtsy SEO Optimizersemihbugrasezer/seerxo · by semihbugrasezerGenerate, audit, optimize, and research keywords for Etsy listings through the Seerxo remote MCP server or CLI. Use when a user wants an Etsy title, description, 13 tags, SEO score, listing rewrite, keyword ideas, quota help, or help connecting and testing Seerxo with Claude or ChatGPT.★ 28 GitHub starsAgentChina E-Commerce Operatormsitarzewski/agency-agents · by msitarzewskiExpert China e-commerce operations specialist covering Taobao, Tmall, Pinduoduo, and JD ecosystems with deep expertise in product listing optimization, live commerce, store operations, 618/Double 11 campaigns, and cross-platform strategy.★ 154k GitHub stars

More from explorium-ai

SkillABM Campaign Playbookexplorium-ai/gtm-skills · by explorium-aiABM campaign skill for Claude Code: run a full Account-Based Marketing campaign end-to-end — from ICP definition to live LinkedIn Ads. Builds targeted account lists with Vibe Prospecting, enriches and scores companies with real-time B2B data, generates personalized ad creatives with Claude Code and Figma, pushes matched audiences to LinkedIn Ads, and monitors campaigns daily at scale. The complete GTM skill for AI-driven account-based marketing in Claude Code, Codex, Hermes-Agent, and OpenClaw. No agency needed.★ 197 GitHub starsSkillDecision-Maker Shortlistexplorium-ai/gtm-skills · by explorium-aiContact data skill for Claude Code and Codex: build a ranked shortlist of decision-makers and contacts at a target company for outbound prospecting, deal acceleration, or renewal/expansion plays. Returns verified contact data including email, phone, LinkedIn profile, title, seniority, and department. Provide a company name or domain plus optional seniority focus or use case. Use for contact data enrichment, LinkedIn profile lookup, and building outbound contact lists. Works in Claude Code, Codex, Hermes-Agent, and OpenClaw.★ 197 GitHub starsSkillAccount Fit Scorerexplorium-ai/gtm-skills · by explorium-aiLead scoring and buying signals skill for Claude Code and Codex: rank a list of accounts by ICP fit, buying intent, real-time trigger events, and workforce momentum. Returns composite score (0-100), tier (A/B/C), and a 'why now' signal per account. Use for account-based selling, ABM list prioritization, territory planning, signal-based selling, and buyer-intent ranking. Triggers on 'score these accounts', 'rank by ICP fit and intent', 'prioritize this account list', 'which accounts have the strongest buying signals', 'ICP scoring', 'account prioritization'. Works in Claude Code, Codex, Hermes-Agent, OpenClaw, and Claude Cowork.★ 197 GitHub starsSkillCompany Intelligence Briefexplorium-ai/gtm-skills · by explorium-aiAccount research skill for Claude Code and Codex: generate a high-signal company intelligence brief including firmographics, technographics, funding history, hiring signals, business events, recent website and LinkedIn moves, and a peer cohort. Identify the account by business_id, company name, or domain. Use for pre-call research, QBR prep, competitive analysis, cold outbound targeting, and renewal risk assessment. The go-to account research skill for Claude Code, Codex, Hermes-Agent, and OpenClaw.★ 197 GitHub starsSkillB2B Data Cleanerexplorium-ai/gtm-skills · by explorium-aiData cleaning, entity matching, and deduplication skill for Claude Code and Codex: triage, standardize, and validate a CSV, Excel, or JSON list of B2B companies or contacts before enrichment. Normalizes company names and domains, validates emails and phone numbers, matches and deduplicates records, and tags invalid rows non-destructively. Run before enrichment or CRM import to avoid paying for noisy records. Use for CRM enrichment prep, company name and website matching, entity matching, and contact deduplication. Works in Claude Code, Codex, and n8n via MCP.★ 197 GitHub starsSkillVibe-Lemlist Outreachexplorium-ai/gtm-skills · by explorium-aiCold email skill for Claude Code and Codex: build a targeted B2B prospect list with Vibe Prospecting, enrich it with firmographics and verified work emails, write a personalized icebreaker and email per prospect from their real company data, and push every lead into a live Lemlist campaign with personalization variables pre-filled. Use for cold outbound, email personalization at scale, and Lemlist campaign setup. Triggers on 'cold email campaign', 'push leads to Lemlist', 'write personalized outbound emails', 'build a Lemlist sequence'. Works in Claude Code, Codex, Grok, and Claude Cowork.★ 197 GitHub stars