← Back to Skills Marketplace
aspenas

Ironclaw Lead Enrichment

by Patrick Smith · GitHub ↗ · v1.0.0
cross-platform ✓ Security Clean
623
Downloads
0
Stars
1
Active Installs
1
Versions
Install in OpenClaw
/install ironclaw-lead-enrichment
Description
Enrich contact and lead records with LinkedIn profiles, email addresses, company data, and education info. Use when asked to "enrich contacts", "fill in miss...
README (SKILL.md)

Lead Enrichment — Multi-Source Data Completion

Enrich CRM contact records by filling missing fields from multiple sources. Works with DuckDB workspace entries or standalone JSON data.

Sources (Priority Order)

  1. LinkedIn (via linkedin-scraper skill) — name, title, company, education, connections
  2. Web Search (via web_search tool) — email patterns, company info, social profiles
  3. Company Website (via web_fetch) — team pages, about pages, contact info
  4. Email Pattern Discovery — derive email from name + company domain

Enrichment Pipeline

Step 1: Assess What's Missing

-- Query the target object to find gaps
SELECT "Name", "Email", "LinkedIn URL", "Company", "Title", "Location"
FROM v_leads
WHERE "Email" IS NULL OR "LinkedIn URL" IS NULL OR "Title" IS NULL;

Step 2: Prioritize by Value

  • High priority: Missing email (needed for outreach)
  • Medium priority: Missing title/company (needed for personalization)
  • Low priority: Missing education, connections count, about text

Step 3: Enrich Per Record

For each record with gaps:

If LinkedIn URL is known but other fields missing:

  1. Use linkedin-scraper to visit profile
  2. Extract: title, company, location, education, about
  3. Update DuckDB record

If LinkedIn URL is missing:

  1. Search LinkedIn: {name} {company} or {name} {title}
  2. Verify match (name + company alignment)
  3. Store LinkedIn URL, then scrape full profile

If Email is missing:

  1. Find company domain (web search or LinkedIn company page)
  2. Try common patterns:
  3. Optionally verify with web search: "email" "{name}" site:{domain}
  4. Check company team/about page for email format clues

If Company info is missing:

  1. Web search: "{name}" "{title}" or check LinkedIn
  2. Fetch company website for: industry, size, description, funding

Step 4: Update Records

-- Update via DuckDB pivot view
UPDATE v_leads SET
  "Email" = ?,
  "LinkedIn URL" = ?,
  "Title" = ?,
  "Company" = ?,
  "Location" = ?
WHERE id = ?;

Bulk Enrichment Mode

For enriching many records at once:

  1. Query all incomplete records from DuckDB
  2. Group by company (scrape company once, apply to all employees)
  3. Process in batches of 10-20 records
  4. Report progress after each batch:
    Enrichment Progress: 45/120 leads (38%)
    ├── Emails found: 32/45 (71%)
    ├── LinkedIn matched: 41/45 (91%)
    ├── Titles updated: 38/45 (84%)
    └── ETA: ~15 min remaining
    
  5. Save checkpoint after each batch (in case of interruption)

Enrichment Quality Rules

  • Confidence scoring: Mark each enriched field with confidence (high/medium/low)
    • High: Direct match from LinkedIn profile or company website
    • Medium: Inferred from patterns (email format) or partial match
    • Low: Best guess from web search results
  • Never overwrite existing data unless explicitly asked
  • Flag conflicts: If enriched data contradicts existing data, flag for review
  • Dedup check: Before inserting LinkedIn URL, check it's not already assigned to another contact

Email Pattern Discovery

Common corporate email formats by frequency:

  1. [email protected] (most common, ~45%)
  2. [email protected] (~20%)
  3. [email protected] (~15%)
  4. [email protected] (~10%)
  5. [email protected] (~5%)
  6. [email protected] (~3%)
  7. [email protected] (~2%)

Strategy:

  1. If you know one person's email at the company, derive the pattern
  2. Search web for "@{domain}" email format
  3. Check company team page source code for mailto: links
  4. Use the most common pattern as fallback

Output

After enrichment, provide a summary:

Enrichment Complete: 120 leads processed
├── Emails: 94 found (78%), 26 still missing
├── LinkedIn: 108 matched (90%), 12 not found
├── Titles: 115 updated (96%)
├── Companies: 118 confirmed (98%)
├── Locations: 89 found (74%)
└── Avg confidence: High (82%), Medium (14%), Low (4%)

Top gaps remaining:
- 26 leads missing email (mostly small/stealth companies)
- 12 leads missing LinkedIn (common names, ambiguous matches)

DuckDB Field Mapping

Standard field names for Ironclaw CRM objects:

Enrichment Data DuckDB Field Type
Full name Name text
Email address Email email
LinkedIn URL LinkedIn URL url
Job title Title text
Company name Company text / relation
Location Location text
Education Education text
Phone Phone phone
Company size Company Size text
Industry Industry text
Enrichment date Enriched At date
Confidence Enrichment Confidence enum (high/medium/low)
Usage Guidance
This skill appears to do what it says, but it performs sensitive operations: scraping LinkedIn profiles and inferring personal emails, then writing back to your DuckDB CRM. Before installing, confirm: (1) you have legal/ethical permission to enrich and store the personal data you will process; (2) the referenced integrations (linkedin-scraper, web_search, web_fetch) — which are not bundled here — don’t require undisclosed credentials or introduce extra risk; (3) the agent has explicit, audited access to your DuckDB workspace and backups are in place; and (4) rate-limiting / ToS issues for LinkedIn scraping are acceptable for your organization. If any of those are unclear, review the other skills/tools the pipeline depends on and restrict the skill’s dataset or scope until you’re comfortable.
Capability Analysis
Type: OpenClaw Skill Name: ironclaw-lead-enrichment Version: 1.0.0 The skill bundle is classified as benign. The `SKILL.md` file describes a legitimate lead enrichment process, detailing how to gather information from public sources (LinkedIn, web search, company websites) and update a local DuckDB database. All described actions, including network access via `linkedin-scraper`, `web_search`, and `web_fetch` tools, and database operations, are directly aligned with the stated purpose. There are no instructions indicating prompt injection attempts, data exfiltration beyond the stated purpose, unauthorized execution, persistence mechanisms, or any other malicious intent.
Capability Assessment
Purpose & Capability
The name/description (lead enrichment) aligns with the instructions: query DuckDB, find missing fields, scrape LinkedIn, web-search and fetch company sites, infer email patterns, and update records. All required actions are coherent with contact/lead enrichment.
Instruction Scope
SKILL.md explicitly instructs the agent to read DuckDB views, scrape LinkedIn profiles, run web searches, fetch company websites, and write updates back to DuckDB. These steps are within the stated purpose, but they involve scraping third-party profiles and deriving personal emails — operations with privacy, legal, and ToS implications that the user should review and consent to.
Install Mechanism
Instruction-only skill with no install spec or code files. No downloads or binaries are installed, which minimizes direct supply-chain risk.
Credentials
The skill declares no required env vars or credentials, which is reasonable for an instruction-only skill, but it references other tools/skills (linkedin-scraper, web_search, web_fetch) and assumes access to a DuckDB workspace. Those integrations may themselves require credentials or network access; verify what the referenced tools need and that the agent has appropriate, consented access to the DuckDB data.
Persistence & Privilege
No elevated persistence requested (always: false). The skill is user-invocable and can be called autonomously by the agent (platform default) — normal for skills. It does not try to modify other skills or system-wide settings.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install ironclaw-lead-enrichment
  3. After installation, invoke the skill by name or use /ironclaw-lead-enrichment
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release: Comprehensive LinkedIn, email, and company data enrichment for CRM leads. - Enriches missing contact details using LinkedIn, web search, company websites, and email pattern discovery. - Supports both single-record and bulk enrichment modes with batch processing and progress reporting. - Applies confidence scoring to each enriched field; flags conflicting or duplicate data entries. - Does not overwrite existing data unless requested; checks for deduplication of LinkedIn profiles. - Designed for seamless integration with DuckDB-based CRM records.
Metadata
Slug ironclaw-lead-enrichment
Version 1.0.0
License
All-time Installs 1
Active Installs 1
Total Versions 1
Frequently Asked Questions

What is Ironclaw Lead Enrichment?

Enrich contact and lead records with LinkedIn profiles, email addresses, company data, and education info. Use when asked to "enrich contacts", "fill in miss... It is an AI Agent Skill for Claude Code / OpenClaw, with 623 downloads so far.

How do I install Ironclaw Lead Enrichment?

Run "/install ironclaw-lead-enrichment" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Ironclaw Lead Enrichment free?

Yes, Ironclaw Lead Enrichment is completely free (open-source). You can download, install and use it at no cost.

Which platforms does Ironclaw Lead Enrichment support?

Ironclaw Lead Enrichment is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Ironclaw Lead Enrichment?

It is built and maintained by Patrick Smith (@aspenas); the current version is v1.0.0.

💬 Comments