Systems Lab

Agent 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.

slowingSelf-containedInstructions only594 words

Filed under Prospecting and list building.

From explorium-ai/gtm-skills · 17 skills · 3 · pushed 2026-07-30

What it does when it runs

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.

Read from the skill and the 0 files bundled beside it. A skill’s own description is written to be selected by an agent, so it describes the job and not the dependencies.

Keys and connectors you must supply
None found.
Hosts it reaches
No third-party host appears in the skill or its bundled files.
Tool permissions it declares
No allowed-tools in the frontmatter. It only issues instructions, so there is nothing to bound.
Actions present in the files
None. Instructions only.

Ask about enrich-contact

Opens your assistant with this page's verified links already in the prompt.

Is this safe to install?ClaudeChatGPT
Adapt it to my stackClaudeChatGPT
What else do I need for it to workClaudeChatGPT
Rather ask a human? Talk to Cheetah
git clone --depth 1 --filter=blob:none --sparse https://github.com/explorium-ai/gtm-skills.git /tmp/gtm-skills
git -C /tmp/gtm-skills sparse-checkout set "skills/enrich-contact"
mkdir -p ~/.claude/skills/enrich-contact
cp -R "/tmp/gtm-skills/skills/enrich-contact/." ~/.claude/skills/enrich-contact/

Picked up without a restart. A project skill of the same name is shadowed by your personal one. For one repository only, swap ~/.claude/skills for .claude/skills. Claude Code docs ↗

Or take the whole library

This repo ships a .claude-plugin manifest, so Claude Code can install all 17 skills at once. Plugin skills are invoked as /<plugin>:<skill>, so they never collide with your own.

/plugin marketplace add explorium-ai/gtm-skills
/plugin

The folder is the same in every client that implements the format — 46 of them — so if yours is not above, only the destination changes.

Reproduced in full from explorium-ai/gtm-skills/blob/596083c36cf6f64eb55b1a093c06e586cd80b561/skills/enrich-contact/SKILL.md, which is licensed MIT (repository). 594 words, 5 headings.

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]

FieldValue
Job Title
Job Leveldisplay canonical (e.g. c-suite, vice president)
Job Departmentfallback "Unattributed" when null
Professional Email / Personal Email / Phone
LinkedIn URL
Company / Domain / Industry
Company Size / Revenue / Countrybuckets
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.

Other skills for the same job

Different authors, same problem. Matched on the words in the skill name, across every library in the catalogue except this one.

Need help setting it up?

This page tells you what enrich-contact does and what it needs. Cheetah builds the agent setup it runs inside: data, CRM, sequencing and the guardrails.

Book a call →

The directory stays free. There is nothing gated behind this.