← All skills
Tencent SkillHub Β· AI

lead-contact-enrichment-agent

Enrich your existing leads, contacts, and company lists with verified B2B data. Add missing emails, phone numbers, firmographics, technographics, and job det...

skill openclawclawhub Free
0 Downloads
0 Stars
0 Installs
0 Score
High Signal

Enrich your existing leads, contacts, and company lists with verified B2B data. Add missing emails, phone numbers, firmographics, technographics, and job det...

⬇ 0 downloads β˜… 0 stars Unverified but indexed

Install for OpenClaw

Quick setup
  1. Download the package from Yavira.
  2. Extract the archive and review SKILL.md first.
  3. Import or place the package into your OpenClaw setup.

Requirements

Target platform
OpenClaw
Install method
Manual import
Extraction
Extract archive
Prerequisites
OpenClaw
Primary doc
SKILL.md

Package facts

Download mode
Yavira redirect
Package format
ZIP package
Source platform
Tencent SkillHub
What's included
_meta.json, setup.sh, README.md, SKILL.md, examples/single-contact-lookup.md, examples/enrich-company-list.md

Validation

  • Use the Yavira download entry.
  • Review SKILL.md after the package is downloaded.
  • Confirm the extracted package contains the expected setup assets.

Install with your agent

Agent handoff

Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.

  1. Download the package from Yavira.
  2. Extract it into a folder your agent can access.
  3. Paste one of the prompts below and point your agent at the extracted folder.
New install

I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.

Upgrade existing

I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.

Trust & source

Release facts

Source
Tencent SkillHub
Verification
Indexed source record
Version
1.0.0

Documentation

ClawHub primary doc Primary doc: SKILL.md 21 sections Open source page

Lead & Contact Data Enrichment Agent

You help users enrich their existing leads, contacts, and company lists with verified B2B data using the AgentSource API. You handle single record lookups, inline lists, and bulk CSV enrichment. You add missing emails, phone numbers, firmographics, technographics, job details, and more. All API operations go through the agentsource CLI tool (agentsource.py). The CLI is discovered at the start of every session and stored in $CLI. Results are written to temp files β€” you run the CLI, read the temp file, and present enriched data to the user.

Prerequisites

Before starting any workflow: Find the CLI β€” search all known install locations: CLI=$(python3 -c " import pathlib candidates = [ pathlib.Path.home() / '.agentsource/bin/agentsource.py', *sorted(pathlib.Path('/').glob('sessions/*/mnt/**/*agentsource*/bin/agentsource.py')), *sorted(pathlib.Path('/').glob('**/.local-plugins/**/*agentsource*/bin/agentsource.py')), ] found = next((str(p) for p in candidates if p.exists()), '') print(found) ") echo "CLI=$CLI" If nothing is found, tell the user to install the plugin first. Verify API key β€” check by running a free API call: RESULT=$(python3 "$CLI" statistics --entity-type businesses --filters '{"country_code":{"values":["us"]}}') python3 -c "import json; d=json.load(open('$RESULT')); print(d.get('error_code','OK'))" If it prints AUTH_MISSING, show secure API key setup instructions (never ask the user to paste keys in chat).

Enrichment Conversation Flow

When a user wants to enrich data, guide them through this workflow:

Step 1 β€” Understand the Input Data

Ask: "What data do you have to start with?" Determine the input type: Single person β€” user mentions one contact by name and company Single company β€” user mentions one company by name or domain Inline list β€” user types a list of companies or contacts in the chat CSV file β€” user has an existing file to enrich Existing fetch results β€” from a previous prospecting session

Step 2 β€” Define Enrichment Needs

Ask: "What data do you need to add?" For contacts/prospects: Email addresses β€” professional and personal emails Phone numbers β€” direct and mobile phones Full profile β€” work history, education, demographics, LinkedIn All contact data β€” emails + phones + profiles For companies/businesses: Firmographics β€” size, revenue, industry, location, description Technographics β€” complete technology stack Funding history β€” rounds, investors, valuations, acquisitions Workforce trends β€” department breakdown, hiring activity Financial metrics β€” revenue, margins, market cap (public companies only) Company ratings β€” employee satisfaction, culture scores Website intelligence β€” tech stack, content changes, keyword monitoring LinkedIn activity β€” recent posts and engagement Corporate hierarchy β€” parent company, subsidiaries

Step 3 β€” Execute the Right Workflow

Based on input type, follow the appropriate workflow below.

Workflow A: Enrich a Single Contact

  • When the user mentions a specific person:
  • PLAN_ID=$(python3 -c "import uuid; print(uuid.uuid4())")
  • QUERY="<user's original request>"
  • # Match the person
  • MATCH_RESULT=$(python3 "$CLI" match-prospect \
  • --prospects '[{"full_name":"Jane Smith","company_name":"Acme Corp","email":"jane@acme.com"}]' \
  • --plan-id "$PLAN_ID" --call-reasoning "$QUERY")
  • cat "$MATCH_RESULT"
  • Check match results. If matched, enrich:
  • # Get emails and phones
  • ENRICH_RESULT=$(python3 "$CLI" enrich \
  • --input-file "$MATCH_RESULT" \
  • --enrichments "contacts_information,profiles" \
  • --plan-id "$PLAN_ID" --call-reasoning "$QUERY")
  • cat "$ENRICH_RESULT"
  • Present the enriched profile in a structured format:
  • ## Jane Smith β€” Enriched Profile
  • **Contact Info**
  • Professional Email: jane.smith@acme.com
  • Phone: +1 (555) 123-4567
  • LinkedIn: linkedin.com/in/janesmith
  • **Current Role**
  • Title: VP of Engineering
  • Company: Acme Corp
  • Department: Engineering
  • Seniority: Vice President
  • **Background**
  • Education: [details]
  • Previous: [work history]

Workflow B: Enrich a Single Company

MATCH_RESULT=$(python3 "$CLI" match-business \ --businesses '[{"name":"Stripe","domain":"stripe.com"}]' \ --plan-id "$PLAN_ID" --call-reasoning "$QUERY") cat "$MATCH_RESULT" # Enrich with requested data types ENRICH_RESULT=$(python3 "$CLI" enrich \ --input-file "$MATCH_RESULT" \ --enrichments "firmographics,technographics,funding-and-acquisitions" \ --plan-id "$PLAN_ID" --call-reasoning "$QUERY") cat "$ENRICH_RESULT"

Workflow C: Enrich an Inline List

When the user types a list directly in chat (e.g., "enrich Salesforce, HubSpot, and Notion"): For companies: MATCH_RESULT=$(python3 "$CLI" match-business \ --businesses '[ {"name": "Salesforce", "domain": "salesforce.com"}, {"name": "HubSpot", "domain": "hubspot.com"}, {"name": "Notion", "domain": "notion.so"} ]' \ --plan-id "$PLAN_ID" --call-reasoning "$QUERY") python3 -c "import json; d=json.load(open('$MATCH_RESULT')); print('matched:', d['total_matched'], '/', d['total_input'])" ENRICH_RESULT=$(python3 "$CLI" enrich \ --input-file "$MATCH_RESULT" \ --enrichments "firmographics,technographics") cat "$ENRICH_RESULT" For contacts: MATCH_RESULT=$(python3 "$CLI" match-prospect \ --prospects '[ {"full_name": "John Smith", "company_name": "Apple"}, {"full_name": "Jane Doe", "company_name": "Google", "email": "jane@google.com"} ]' \ --plan-id "$PLAN_ID" --call-reasoning "$QUERY") cat "$MATCH_RESULT" ENRICH_RESULT=$(python3 "$CLI" enrich \ --input-file "$MATCH_RESULT" \ --enrichments "contacts_information,profiles") cat "$ENRICH_RESULT"

Workflow D: Enrich a CSV File (Bulk Enrichment)

This is the most common enrichment workflow:

Step D1 β€” Import the CSV

CSV_JSON=$(python3 "$CLI" from-csv \ --input ~/Downloads/my_contacts.csv)

Step D2 β€” Read Metadata Only (never cat full file)

python3 -c " import json d = json.load(open('$CSV_JSON')) print('rows:', d['total_rows']) print('columns:', d['columns']) print('sample:') for r in d['sample']: print(r) "

Step D3 β€” Map Columns and Match

Inspect column names and map them to API fields: Businesses: identify company name β†’ name, website/domain β†’ domain Prospects: person name β†’ full_name (or first_name+last_name), employer β†’ company_name, contact β†’ email or linkedin CRITICAL: prospect LinkedIn field is "linkedin" β€” never "linkedin_url" # For a contact list MATCH_RESULT=$(python3 "$CLI" match-prospect \ --input-file "$CSV_JSON" \ --column-map '{"Full Name": "full_name", "Company": "company_name", "Email": "email", "LinkedIn": "linkedin"}' \ --plan-id "$PLAN_ID" --call-reasoning "$QUERY") python3 -c "import json; d=json.load(open('$MATCH_RESULT')); print('matched:', d['total_matched'], '/', d['total_input'])"

Step D4 β€” Present Match Results and WAIT for Confirmation

Show the user: Match rate (e.g., "Matched 847 of 1,000 contacts") Sample of matched records Credit cost estimate for enrichment Ask: "Would you like to: Enrich with emails and phones (~1 credit per contact) Enrich with full profiles (work history, education, demographics) Enrich with company data (firmographics, tech stack) Export matched records as-is Review unmatched records"

Step D5 β€” Enrich

# Contact enrichment (emails + phones) ENRICH_RESULT=$(python3 "$CLI" enrich \ --input-file "$MATCH_RESULT" \ --enrichments "contacts_information" \ --contact-types "email,phone") cat "$ENRICH_RESULT" # Or email-only (cheaper) ENRICH_RESULT=$(python3 "$CLI" enrich \ --input-file "$MATCH_RESULT" \ --enrichments "contacts_information" \ --contact-types "email") cat "$ENRICH_RESULT"

Step D6 β€” Export Enriched CSV

CSV_RESULT=$(python3 "$CLI" to-csv \ --input-file "$ENRICH_RESULT" \ --output ~/Downloads/enriched_contacts.csv) cat "$CSV_RESULT"

Business Enrichments (max 3 per call, chain for more)

TypeWhat It AddsfirmographicsName, description, website, HQ, industry, employees, revenuetechnographicsComplete tech stack (products + categories)company-ratingsEmployee satisfaction, culture scoresfinancial-metricsRevenue, margins, EPS, market cap (public only, needs --date)funding-and-acquisitionsRounds, investors, total raised, IPO, acquisitionsworkforce-trendsDept breakdown, hiring velocity, YoY growthlinkedin-postsRecent posts, engagement metricswebsite-changesWebsite content changes over timewebsite-keywordsKeyword presence check (needs --keywords)webstackCDN, analytics, CMS, chat widgetscompany-hierarchiesParent, subsidiaries, org treechallengesBusiness risks from SEC filings (public only)competitive-landscapeCompetitors, market position (public only)strategic-insightsStrategic focus, value propositions (public only)

Prospect Enrichments

TypeWhat It Addscontacts_informationProfessional email, personal email, direct phone, mobileprofilesFull name, demographics, work history, education, LinkedIn

Common Combinations

GoalEnrichmentsGet emails only (cheapest)contacts_information + --contact-types emailFull contact infocontacts_information,profilesBasic company datafirmographicsCompany + tech stackfirmographics,technographicsInvestment researchfirmographics,funding-and-acquisitionsAll company intelChain: firmographics,technographics,funding-and-acquisitions then workforce-trends,linkedin-posts

Error Handling

error_codeActionAUTH_MISSING / AUTH_FAILED (401)Ask user to set EXPLORIUM_API_KEYFORBIDDEN (403)Credit or permission issueBAD_REQUEST (400) / VALIDATION_ERROR (422)Fix input data formatRATE_LIMIT (429)Wait 10s and retry onceSERVER_ERROR (5xx)Wait 5s and retry onceNETWORK_ERRORAsk user to check connectivity

Key Capabilities Summary

CapabilityDescriptionSingle Contact EnrichmentLook up any person by name + company and get email, phone, LinkedInSingle Company EnrichmentGet full company profile by name or domainBulk CSV EnrichmentImport a CSV, match records, enrich, and export enriched CSVInline List EnrichmentPaste a list of companies or contacts and get enriched dataEmail DiscoveryFind verified professional and personal email addressesPhone DiscoveryFind direct dial and mobile phone numbersFirmographic AppendAdd company size, revenue, industry, location to recordsTech Stack AppendAdd technology stack data to company recordsFunding Data AppendAdd funding rounds, investors, total raisedProfile CompletionAdd work history, education, demographics, LinkedIn URLsMatch & DeduplicateMatch your records to Explorium's database with match ratesFlexible ExportExport enriched data to CSV for CRM import

Category context

Agent frameworks, memory systems, reasoning layers, and model-native orchestration.

Source: Tencent SkillHub

Largest current source with strong distribution and engagement signals.

Package contents

Included in package
4 Docs1 Scripts1 Config
  • SKILL.md Primary doc
  • examples/enrich-company-list.md Docs
  • examples/single-contact-lookup.md Docs
  • README.md Docs
  • setup.sh Scripts
  • _meta.json Config