$npx -y skills add Varnan-Tech/opendirectory --skill cold-email-verifierUse when the user wants to verify cold emails, enrich a lead list, or autonomously guess email addresses from a CSV using ValidEmail.co or the open-source Reacher engine.
| 1 | # Cold Email Verifier and Guesser (Public) |
| 2 | |
| 3 | ## Overview |
| 4 | This skill autonomously processes a CSV of leads (containing First Name, Last Name, and Company Name), discovers their corporate domain, generates professional email permutations, and strictly verifies their deliverability. |
| 5 | |
| 6 | It is designed to solve the problem of missing contact info by guessing core email angles and then checking which one is real. |
| 7 | |
| 8 | ## The Email Guessing Engine |
| 9 | You don't need to provide emails in your CSV! If the CSV only contains First Name, Last Name, and Company Name, the script will automatically: |
| 10 | 1. Look up the company's official domain using the free Clearbit API. |
| 11 | 2. Clean the names (removing punctuation) and generate the 3 most common corporate email formats: |
| 12 | - first@domain.com |
| 13 | - first.last@domain.com |
| 14 | - firstlast@domain.com |
| 15 | |
| 16 | ## Verification Methods (Choose Your Engine) |
| 17 | Once the emails are guessed, the script must verify them. We support three methods: |
| 18 | |
| 19 | ### 1. ValidEmail.co API (Highly Recommended) |
| 20 | **The absolute best option.** ValidEmail.co provides enterprise-grade accuracy, bypasses strict catch-all servers, and handles IP reputation for you. |
| 21 | - **Free Tier:** They offer a generous free tier (50 free verification credits on signup) to get you started! |
| 22 | - **How to use:** Go to [validemail.co](https://validemail.co), create an account, get your API key, and run the script in --mode validemail. |
| 23 | |
| 24 | ### 2. Reacher Open Source (Self-Hosted) |
| 25 | If you want a 100% free, open-source solution, you can host the Reacher backend yourself on a cloud provider (like AWS, GCP, or Hetzner). |
| 26 | - **GitHub Repo:** [reacherhq/check-if-email-exists](https://github.com/reacherhq/check-if-email-exists) |
| 27 | - **Important:** Your cloud provider MUST have outbound Port 25 open. |
| 28 | - **How to use:** Host the docker container, then run the script using --mode reacher-http --reacher-url "http://<YOUR_SERVER_IP>:8080/v0/check_email". |
| 29 | |
| 30 | ### 3. Reacher Local CLI (Not Recommended / Unreliable) |
| 31 | You can run the Reacher CLI directly on your laptop. |
| 32 | - **Warning:** Residential ISPs globally block Port 25 to prevent spam. Furthermore, major mail servers (Microsoft, Google) will automatically reject SMTP handshakes from residential Wi-Fi IP addresses. |
| 33 | - **Result:** You will get massive amounts of false negatives and timeouts. Use ValidEmail.co instead. |
| 34 | |
| 35 | ## How to Execute |
| 36 | First, ensure dependencies are installed: pip install -r requirements.txt |
| 37 | |
| 38 | **To use ValidEmail.co (Recommended):** |
| 39 | `ash |
| 40 | export VALIDEMAIL_API_KEY="your_api_key_here" |
| 41 | python scripts/email_verifier.py --input leads.csv --output verified_leads.csv --mode validemail |
| 42 | ` |
| 43 | |
| 44 | **To use Self-Hosted Reacher:** |
| 45 | `ash |
| 46 | python scripts/email_verifier.py --input leads.csv --output verified_leads.csv --mode reacher-http --reacher-url "http://your-server-ip:8080/v0/check_email" |
| 47 | ` |
| 48 | |
| 49 | ## CSV Format Requirements |
| 50 | The input CSV must contain these exact column headers (or their specific mappings): |
| 51 | - First Name |
| 52 | - Last Name |
| 53 | - Company Name |
| 54 | - Domain (Optional - highly recommended for accuracy) |