Skip to content
Sales
Skill

/enrich-contact

Contact enrichment skill for Claude Code and Codex: look up a B2B prospect's full professional profile including work email, phone number, LinkedIn profile, title, seniority, department, and company firmographics. Provide an email, name + company, LinkedIn URL, or prospect_id.

BOOST
From plugin
explorium-public-skills
25822 skills
Install
$ npx -y skills add explorium-ai/gtm-skills --skill enrich-contact --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/enrich-contact

Context preview

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

Contact enrichment skill for Claude Code and Codex: look up a B2B prospect's full professional profile including work email, phone number, LinkedIn profile, title, seniority, department, and company firmographics. Provide an email, name + company, LinkedIn URL, or prospect_id.

SKILL.md

enrich-contact.SKILL.md
name: enrich-contact
description: "Contact enrichment skill for Claude Code and Codex: look up a B2B prospect's full professional profile including work email, phone number, LinkedIn profile, title, seniority, department, and company firmographics. Provide an email, name + company, LinkedIn URL, or prospect_id. Use for contact data enrichment, email lookup, LinkedIn profile lookup, and outbound contact data workflows in Claude Code, Codex, Hermes-Agent, and other AI agents."

Enrich Contact

Resolve one person and return their full enriched profile in a single pass.

Input

The user will supply one of:

  • An email address (e.g. `jane@acme.com`)
  • A full name plus a company name or domain (e.g. `Jane Smith at Acme Corp`)
  • A LinkedIn profile URL
  • A known Explorium `prospect_id`

Optional: a request for company context (firmographics on the matched employer).

Workflow

1. **Classify the identifier.** Pick exactly one resolution path: do not fan out match strategies in parallel. Use the strongest signal first and fall back only if it returns no match.

  • Email present and well-formed: path A.
  • LinkedIn URL: path B.
  • Bare `prospect_id`: path D, skip resolution.
  • Full name plus a company token: path C.
  • Phone-only: stop and tell the user phone-only is not a supported match key.

2. **Resolve the prospect.**

  • Path A: match the prospect by email.
  • Path B: match the prospect by LinkedIn URL.
  • Path C: if the user gave a company name, first resolve the business to get its canonical domain and `business_id`, then match the prospect by full name plus that company domain or id.
  • Path D: use the supplied id directly.

3. **Handle ambiguity.** If matching returns zero rows:

  • For path A, retry by splitting the email local-part into a name guess plus the company domain.
  • For path C, retry with first/last name and the resolved `business_id` from a company match.
  • If multiple plausible rows return, surface a candidates table and ask the user to pick. Never silently take the first row.

4. **Enrich the prospect.** Pull contacts and profile on the resolved person. Default to email-only contacts (cheaper); upgrade to email plus phone only when the user explicitly needs phone numbers (e.g. SDR dialer flows).

  • Recent LinkedIn post content for an individual is not available. If the user asks for post content, surface this gap and offer the employer's LinkedIn posts via business enrichment instead.

5. **Optional company context.** If the user asked for company context (or path C resolved a `business_id`), enrich firmographics on the employer and surface headcount, revenue range, country, and industry.

6. **Assemble the output.** Render the card below. Omit empty fields. Always surface the `prospect_id`.

Output Format

**[Full Name]** at [Company]

| Field | Value | |-------|-------| | Job Title | | | Job Level | display canonical (e.g. `c-suite`, `vice president`) | | Job Department | fallback "Unattributed" when null | | Professional Email / Personal Email / Phone | | | LinkedIn URL | | | Company / Domain / Industry | | | Company Size / Revenue / Country | buckets | | prospect_id / business_id | |

If multiple candidates surfaced during resolution and the user has not yet picked, render a `### Candidates` table instead, with one row per candidate (name, title, company, domain, prospect_id) and ask which to enrich.

Limitations

  • High-profile public execs (CEOs, founders, well-known executives) often have suppressed contact data. Professional email may be null or only a personal address. Recommend LinkedIn outreach instead of cold email for this tier.
  • Phone-only lookup is not a supported match key.
  • No per-prospect accuracy or confidence score. Treat the presence of a professional email plus phone as the practical quality signal.
  • No `last_updated` timestamp per contact field. Level and department are coarse buckets; department is null for many cross-functional senior roles (Chief X Officer, President, Founder), group under "Unattributed".
  • Company size and revenue are bucketed, not exact numbers.
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.