Turn a role brief into a ranked, contactable pipeline of passive candidates, with a transparent fit score per person.
$ARGUMENTS is a job description, a pasted JD link’s text, or a free-text brief. Parse it for:
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”.
This skill runs on Explorium’s B2B data through Vibe Prospecting. Before step 1, confirm a data path is available:
fetch-entities or match-business is in your tool list. If it is, proceed.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".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.
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.
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.
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”).
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.
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.
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.
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.
Score and rank. Score each candidate 0-100:
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.
| 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.
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.
One line each: why now (tenure, employer event) and a suggested outreach angle drawn from their trajectory, not generic praise.
talent-mapping on the strongest source companies to see the full bench there.contact-research for a per-person synopsis before outreach.