Systems Lab

Agent skill

email-validator

Find and validate email addresses using Snov.io via Chrome DevTools MCP.

dormantNeeds a keyInstructions only680 words

Filed under LinkedIn and social.

From ekatasingh1107/b2b-gtm-skills · 99 skills · 2 · pushed 2026-04-11

What it does when it runs

Find and validate email addresses using Snov.io via Chrome DevTools MCP. Takes LinkedIn profile URLs and returns verified emails. Replaces ZeroBounce.

Read from the skill and the 1 file 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
  • chrome-devtools
Hosts it reaches
  • app.snov.io
  • linkedin.com
  • www.linkedin.com
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 email-validator

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/ekatasingh1107/b2b-gtm-skills.git /tmp/b2b-gtm-skills
git -C /tmp/b2b-gtm-skills sparse-checkout set "skills/capabilities/email-validator"
mkdir -p ~/.claude/skills/email-validator
cp -R "/tmp/b2b-gtm-skills/skills/capabilities/email-validator/." ~/.claude/skills/email-validator/

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 ↗

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.

Before you install: this skill will not complete its job on a bare agent. It needs chrome-devtools, which you have to obtain separately.

Reproduced in full from ekatasingh1107/b2b-gtm-skills/blob/eae8dd0bb98da1c8e84abd297066a87015dd860f/skills/capabilities/email-validator/SKILL.md, which is licensed MIT (repository). 680 words, 13 headings.

Email Validator

Finds and validates email addresses using Snov.io via Chrome DevTools MCP. Takes LinkedIn profile URLs from decision-maker-finder and returns verified emails. Minimum 3 verified emails per company required; flags RED if fewer.

Prerequisites

  • agency.config.json populated with tools.email_validation
  • Snov.io logged in on Chrome Beta
  • Chrome DevTools MCP available (mcp__chrome-devtools__*)
  • LinkedIn profile URLs for contacts (from decision-maker-finder)

Phase 0: Intake

Read agency.config.json:

  • tools.email_validation.tool -- must be "snovio"
  • tools.email_validation.access -- must be "chrome_devtools"
  • tools.browser_automation -- Chrome DevTools MCP config

Accept parameters:

  1. List of contacts with LinkedIn profile URLs (from decision-maker-finder output)
  2. Company name for each contact (for grouping and threshold checking)

Phase 1: Navigate to Snov.io

Using Chrome DevTools MCP:

  1. mcp__chrome-devtools__navigate_page to Snov.io dashboard
  2. Verify logged-in state (check for user avatar or dashboard elements)
  3. If not logged in: STOP and report "Snov.io login required in Chrome Beta"
  4. Navigate to the email finder / LinkedIn lookup section

Phase 2: Find and Validate Emails via LinkedIn Profile URLs

CRITICAL: ALWAYS use Snov.io LinkedIn Search (app.snov.io/linkedin/search) with the person's LinkedIn profile URL. NEVER guess email patterns from domain names. Snov.io returns the actual verified email tied to the LinkedIn profile.

For each contact:

Chrome DevTools MCP Workflow (Single Lookup):

1. mcp__chrome-devtools__navigate_page → https://app.snov.io/linkedin/search
2. mcp__chrome-devtools__fill → paste full LinkedIn profile URL (e.g. https://www.linkedin.com/in/chris-ferguson-80b98b79)
3. mcp__chrome-devtools__click → "Find email" / search button
4. mcp__chrome-devtools__wait_for → results to load (email found or not found)
5. mcp__chrome-devtools__take_snapshot → read verified email from results

Snov.io finds the real email from the LinkedIn profile and returns:

  • Email address (the actual email, not a guess)
  • Verification status (valid, invalid, catch-all, unknown)
  • Green dot = verified, Gray dot = not found

For Multiple Contacts (Bulk):

Use Snov.io Bulk LinkedIn Search:

  1. Navigate to bulk search or use the LinkedIn Search page repeatedly
  2. Paste each LinkedIn URL one by one
  3. Collect all verified emails before sending any outreach

NEVER DO THIS:

  • Do NOT guess emails from domain patterns (e.g. [email protected])
  • Do NOT use Email Search with name + domain as primary method
  • Do NOT send emails without Snov.io verification first
  • Do NOT use Domain Search to infer email patterns and construct addresses

Phase 3: Process Results

For each contact, record:

{
  "name": "Jane Doe",
  "company": "BrandX",
  "linkedin_url": "https://linkedin.com/in/janedoe",
  "email": "[email protected]",
  "email_status": "valid",
  "email_type": "professional",
  "source": "snovio"
}

Classification handling:

StatusActionInclude in Outreach?
ValidUse as-isYes
Catch-AllFlag but useYes (with caution)
InvalidDo not emailNo
UnknownFlag for reviewMaybe
Not FoundLinkedIn-only outreachNo email outreach

Phase 4: Company Threshold Check

For each company, verify minimum email coverage:

  • Count verified (valid + catch-all) emails per company
  • Minimum threshold: 3 verified emails per company
  • If >= 3 verified: company is GREEN
  • If < 3 verified: company is RED

For RED companies:

  1. FLAG as RED on CRM sheet (visual indicator)
  2. Note in CRM: "Low email coverage - [N] verified emails. Prioritize LinkedIn outreach."
  3. Still proceed with available emails, but prioritize LinkedIn/Instagram channels

Phase 5: Update CRM

Write validation results back to CRM via crm-writer:

  • Update email and email_status columns for each contact
  • Flag RED companies with a visual indicator
  • Update lead stage from RESEARCHED to email-validated

No approval gate. Results are written directly.

Phase 6: Summary

Email Validation Complete (Snov.io):
- Contacts processed: N
- Emails found: N
- Valid: N (X%)
- Catch-All: N (X%)
- Invalid: N (X%)
- Not Found: N (X%)

Company Coverage:
- GREEN (3+ verified emails): N companies
- RED (< 3 verified emails): N companies [LIST]

Example Usage

Trigger phrases:

  • "Validate emails for today's leads"
  • "Find emails via Snov.io"
  • "Run email validation on the pipeline"
  • "Check email coverage for these companies"

Files bundled with it

These load only when the skill asks for them, so they cost nothing until it runs.

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 email-validator 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.