Skip to content
Sales
Skill

/contact-research

Contact research skill for Claude Code and Codex: given a list of people, match and enrich each one with Vibe Prospecting — verified work email, LinkedIn, direct phone, current role, work history, seniority, and recent job changes — then write a 4-6 sentence professional

BOOST
From plugin
explorium-public-skills
25822 skills
Install
$ npx -y skills add explorium-ai/gtm-skills --skill contact-research --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/contact-research

Context preview

The summary Claude sees to decide when to auto-load this skill.

Contact research skill for Claude Code and Codex: given a list of people, match and enrich each one with Vibe Prospecting — verified work email, LinkedIn, direct phone, current role, work history, seniority, and recent job changes — then write a 4-6 sentence professional

SKILL.md

contact-research.SKILL.md
name: contact-research
description: "Contact research skill for Claude Code and Codex: given a list of people, match and enrich each one with Vibe Prospecting — verified work email, LinkedIn, direct phone, current role, work history, seniority, and recent job changes — then write a 4-6 sentence professional synopsis per person. Use for pre-call research, account intelligence, founder diligence, recruiting, and conference prep. Triggers on 'research these people', 'profile this contact list', 'who are these attendees', 'background on these prospects'. Works in Claude Code, Codex, Grok, and Claude Cowork."
compatibility: "Requires: Vibe Prospecting CLI (npx @vibeprospecting/vpai@latest) or connector"

Contact Research — Vibe Prospecting Deep Profile

Given a list of people, match and enrich each one with Vibe Prospecting, then have Claude write a professional synopsis — who they are, what they do, their career trajectory, and what's relevant to know before engaging with them.

**What you'll end up with:**

  • Verified contact info (work email, LinkedIn, direct phone) for each person
  • A full professional profile: current role, work history, seniority, department, company context
  • Recent career signals: job changes, promotions
  • A 4–6 sentence professional synopsis per person, written by Claude in plain English

**Good for:** pre-call research, account intelligence, investor diligence on founders, recruiting, conference prep.

---

Step 0 — Credential Check (Claude: always do this first)

**Cowork mode:** confirm `mcp__*__fetch-entities` is in your tool list.

  • ✅ Found → proceed
  • ❌ Missing → tell the user: *"Please connect the Vibe Prospecting connector from the connector store, then let me know."* Wait. Do not continue.

**Claude Code / terminal:**

npx @vibeprospecting/vpai@latest --help
  • ✅ Lists tools → proceed
  • ❌ Error → run: `npx @vibeprospecting/vpai@latest config --api-key "YOUR_VP_API_KEY"`

---

Phase 1 — Prepare Your People List

Ask the user how they want to provide their list:

> *"How would you like to provide the people? You can: (A) paste names and companies directly in chat, (B) share a CSV file, or (C) describe who you're targeting and I'll find them from Vibe Prospecting's database."*

Option A — Paste in chat

Claude converts the input into a structured CSV. Minimum needed per person: `full_name` + one of `company_name`, `email`, or `linkedin`.

Option B — CSV file

Accepted columns (use whatever you have — more is better for matching):

| Column | Description | |--------|-------------| | `full_name` | Full name (or `first_name` + `last_name` separately) | | `email` | Work or personal email | | `linkedin` | LinkedIn profile URL | | `company_name` | Current company name | | `business_id` | Vibe Prospecting business ID (skip match step if you have this) |

Save the file as `people-input.csv`.

Option C — Find them from scratch

If the user describes a persona (e.g. "CFOs at fintech companies in the US"), use `fetch-entities` with `entity_type: prospects` to build the list, then proceed from Phase 2. Sample 5 first before scaling.

npx @vibeprospecting/vpai@latest fetch-entities \
  --args '{
    "entity_type": "prospects",
    "filters": {
      "job_level": {"values": ["c_suite"]},
      "job_department": {"values": ["finance"]},
      "linkedin_category": {"values": ["Financial Services"]},
      "company_country_code": {"values": ["US"]},
      "has_email": true
    }
  }' \
  --number-of-results 5 \
  --tool-reasoning '<user request verbatim>'

---

Phase 2 — Match to Vibe Prospecting IDs

Resolve each person to an Explorium prospect ID. This unlocks all downstream enrichment.

npx @vibeprospecting/vpai@latest match-prospects --all-parameters

# From CSV
npx @vibeprospecting/vpai@latest match-prospects \
  --file-path people-input.csv \
  --schema '{"full_name":"full_name","email":"email","linkedin":"linkedin","company_name":"company_name"}' \
  --tool-reasoning 'Match people list for deep contact research'

Note the `session_id` and `table_name` from the output.

**On low match confidence:** drop records with confidence < 0.7 and flag them for the user — they may need a cleaner input (e.g. adding LinkedIn URL or email helps significantly).

---

Phase 3 — Enrich Profiles and Contact Info

Pull the full professional profile for each matched person, plus their verified contact details.

npx @vibeprospecting/vpai@latest enrich-prospects --all-parameters

npx @vibeprospecting/vpai@latest enrich-prospects \
  --args '{
    "enrichments": ["contacts", "profiles"]
  }' \
  --session-id <SESSION_ID> \
  --table-name <TABLE_NAME_FROM_MATCH_STEP> \
  --tool-reasoning 'Enrich profiles and contact info for research' \
  --csv

**What "profiles" gives you:**

  • Current job title, department, seniority level
  • Full work history (company, title, dates)
  • Education history
  • LinkedIn URL
  • Skills and areas of expertise

**What "contacts" gives you:**

  • Verified work email
  • Direct phone / mobile (when available)
  • LinkedIn URL (confirmed)

---

Phase 4 — Fetch Career Signals

Pull recent career events for each person — job changes and promotions are the most useful signals for understanding where someone is and why they might be receptive to a conversation.

npx @vibeprospecting/vpai@latest fetch-prospects-events --all-parameters

npx @vibeprospecting/vpai@latest fetch-prospects-events \
  --args '{
    "event_types": ["job_change", "promotion"],
    "timestamp_from": "<12 months ago, format YYYY-MM-DD>"
  }' \
  --session-id <SESSION_ID> \
  --table-name <TABLE_NAME_FROM_ENRICH_STEP> \
  --tool-reasoning 'Fetch career events for contact research' \
  --csv

Save the combined enriched + events data as `people-enriched.csv`.

---

Phase 5 — Write Professional Synopses

Read `people-enriched.csv` and write a professional brief for each person. Each synopsis should be in plain, natural Englis

Read more
Ships withexplorium-public-skills

Open-source B2B data enrichment, prospecting, and outbound skills for Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, Grok, OpenCode, Windsurf, Hermes-Agent, OpenClaw, Claude Cowork, and 60+ other agents — powered by Explorium and Vibe Prospecting.

Get the whole plugin

Other skills on explorium-public-skills.