B2B Contact Enrichment

Enrich contact

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

Enrich contact cover

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…

---
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. `[email protected]`)
- 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).

Overview

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

Manual install (npx, ZIP)
Claude Codenpx skills add explorium-ai/gtm-skills --skill enrich-contact -g -a claude-code
Claude Code (degit)npx degit explorium-ai/gtm-skills/skills/enrich-contact#main ~/.claude/skills/enrich-contact-2
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.md4.0 KB
Read SKILL.md here
explorium-ai/main1 file shown
SKILL.md
Show the full text71 lines
enrich-contact-2/SKILL.md71 lines · 4.0 KB

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. [email protected])
  • 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.
1---
2name: enrich-contact
3description: "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."
4---
5 
6# Enrich Contact
7 
8Resolve one person and return their full enriched profile in a single pass.
9 
10## Input
11 
12The user will supply one of:
13- An email address (e.g. `[email protected]`)
14- A full name plus a company name or domain (e.g. `Jane Smith at Acme Corp`)
15- A LinkedIn profile URL
16- A known Explorium `prospect_id`
17 
18Optional: a request for company context (firmographics on the matched employer).
19 
20## Workflow
21 
221. **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.
23 - Email present and well-formed: path A.
24 - LinkedIn URL: path B.
25 - Bare `prospect_id`: path D, skip resolution.
26 - Full name plus a company token: path C.
27 - Phone-only: stop and tell the user phone-only is not a supported match key.
28 
292. **Resolve the prospect.**
30 - Path A: match the prospect by email.
31 - Path B: match the prospect by LinkedIn URL.
32 - 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.
33 - Path D: use the supplied id directly.
34 
353. **Handle ambiguity.** If matching returns zero rows:
36 - For path A, retry by splitting the email local-part into a name guess plus the company domain.
37 - For path C, retry with first/last name and the resolved `business_id` from a company match.
38 - If multiple plausible rows return, surface a candidates table and ask the user to pick. Never silently take the first row.
39 
404. **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).
41 - 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.
42 
435. **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.
44 
456. **Assemble the output.** Render the card below. Omit empty fields. Always surface the `prospect_id`.
46 
47## Output Format
48 
49**[Full Name]** at [Company]
50 
51| Field | Value |
52|-------|-------|
53| Job Title | |
54| Job Level | display canonical (e.g. `c-suite`, `vice president`) |
55| Job Department | fallback "Unattributed" when null |
56| Professional Email / Personal Email / Phone | |
57| LinkedIn URL | |
58| Company / Domain / Industry | |
59| Company Size / Revenue / Country | buckets |
60| prospect_id / business_id | |
61 
62If 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.
63 
64## Limitations
65 
66- 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.
67- Phone-only lookup is not a supported match key.
68- No per-prospect accuracy or confidence score. Treat the presence of a professional email plus phone as the practical quality signal.
69- 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".
70- Company size and revenue are bucketed, not exact numbers.
71 
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 →
SkillCompany Firmographic Researchzubair-trabzada/ai-sales-team-claude · by zubair-trabzadaYou are the company research engine for /sales research <url>. You produce deep, structured intelligence on a prospect company covering 8…★ 1.4k GitHub starsSkillPeople Search Enginedanielmiessler/LifeOS · by danielmiesslerEthical people-finding and identity verification via parallel research agents across people-search sites, social media, public records, and reverse phone/email/image/username lookups, with confidence-scored results requiring 3+ matching identifiers. USE WHEN find person, locate person, reconnect, lost contact, old friend, reverse phone lookup, who owns this email, reverse image search, find by username, verify identity, people search, public-data background check, who is this caller. NOT FOR structured due-diligence or company/entity intelligence investigations, or general web research synthesis (use Research).★ 19.3k GitHub starsSkillApollo Lead Discoverygooseworks-ai/goose-skills · by gooseworks-aiTwo-phase Apollo.io prospecting: free People Search to discover ICP-matching leads, then selective enrichment to reveal emails/phones (credits per contact). Creates Apollo lists. Deduplicates against existing contacts by LinkedIn URL.★ 1.2k GitHub starsSkillDecision-Maker Findergooseworks-ai/goose-skills · by gooseworks-aiFind decision-makers at a specific company using Apollo, Crustdata, Fiber, and PDL people search via Gooseworks MCP. Given a company name and target titles, returns a list of contacts with name, title, LinkedIn URL, and location.★ 1.2k GitHub starsSkillCompany Funding Searchgooseworks-ai/goose-skills · by gooseworks-aiFind company funding history, investors, and investment details★ 1.2k GitHub starsSkillCompany Intelligence Reportsgooseworks-ai/goose-skills · by gooseworks-aiFull company intelligence report - overview, team, funding, products, news★ 1.2k 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