Source Code
SKILL.md - Data Enricher
Purpose
Enrich leads with email addresses and format data for Notion.
Model to Use
- ollama/llama3.2:8b (FREE) for data formatting
- haiku for Hunter.io API calls
Rate Limits
- Max 10 Hunter.io lookups per session (API limit)
- 5 seconds between API calls
- Batch similar domains together
Email Discovery Methods (In Order)
1. Website Contact Page
- Check /contact, /about, /pages/contact
- Look for mailto: links
- Check footer
2. Instagram Bio
- Check bio for email
- Check "Contact" button
3. Hunter.io API
GET https://api.hunter.io/v2/domain-search
?domain={domain}
&api_key={HUNTER_API_KEY}
Response includes:
- emails[]
- confidence score
- type (generic/personal)
Only use emails with confidence > 70%
4. Email Pattern Guessing
Common patterns:
- [email protected]
- [email protected]
- [email protected]
- [firstname]@domain.com
Email Priority
- Founder/owner personal email (best)
- hello@ or hi@ (good)
- info@ or contact@ (okay)
- Generic support@ (last resort)
Output Format
{
"domain_key": "brandname.com",
"brand_name": "Brand Name",
"niche": "skincare",
"website_url": "https://brandname.com",
"ig_handle": "@brandname",
"followers_est": 15000,
"contact_email": "[email protected]",
"email_confidence": "high",
"email_source": "hunter.io",
"source": "meta_ads",
"status": "new"
}
Deduplication
Before adding any lead:
- Normalize domain: lowercase, remove www., remove https://
- Check if domain_key exists in Notion
- If exists, skip (don't duplicate)
- Log: "Skipped [domain] - already in pipeline"
Batch Processing
- Process 10 leads at a time
- Format all data before Notion sync
- Save formatted batch to workspace/leads-enriched-YYYY-MM-DD.json