mcpbeat Sign in

Verify Email Agent Skill

Verify if an email address is valid and deliverable

1k tokens
context cost
the whole folder, loaded on every use
2
files
instructions only
0
copies elsewhere
how many repositories repackaged it
1086
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/gooseworks-ai/goose-skills --skill verify-email

What comes with it

280 bytes besides the instruction
skill.meta.json

The instruction itself

15 sections, as written by the author

Email Verification

Setup

Read your credentials from ~/.gooseworks/credentials.json:

export GOOSEWORKS_API_KEY=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json'))['api_key'])")
export GOOSEWORKS_API_BASE=$(python3 -c "import json;print(json.load(open('$HOME/.gooseworks/credentials.json')).get('api_base','https://api.gooseworks.ai'))")

If ~/.gooseworks/credentials.json does not exist, tell the user to run: npx gooseworks login

All endpoints use Bearer auth: -H "Authorization: Bearer $GOOSEWORKS_API_KEY"

Check if an email address is valid, exists, and can receive mail. Prevent bounces before sending.

When to Use

  • User wants to verify an email before sending
  • User asks "is this email address real?"
  • Cleaning an email list
  • Before cold outreach to avoid bounces
  • Validating user-provided email addresses

How It Works

Uses Hunter or Tomba APIs to verify email deliverability through multiple checks including syntax, domain, and mailbox verification.

Usage

Verify with Hunter

curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"hunter","path":"/v2/email-verifier","query":{"email":"[email protected]"}}'

Verify with Tomba

curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"tomba","path":"/v1/email-verifier","query":{"email":"[email protected]"}}'

Parameters

  • email (required) - The email address to verify

Response

Hunter Response

Returns data object:

  • status (string) - valid, invalid, accept_all, or unknown
  • score (integer) - Confidence score 0-100
  • result (string) - deliverable, undeliverable, or risky *(deprecated — use status)*
  • regexp (boolean) - Syntax is valid
  • gibberish (boolean) - Address looks random
  • disposable (boolean) - Temporary email service
  • webmail (boolean) - Free webmail provider (Gmail, Yahoo, etc.)
  • mx_records (boolean) - Domain has MX records
  • smtp_server (boolean) - SMTP server responds
  • smtp_check (boolean) - Mailbox exists on server
  • accept_all (boolean) - Server accepts all addresses
  • block (boolean) - Email is blocked
  • sources (array) - Web pages where this email was found

Tomba Response

Returns data.email object:

  • status (string) - valid, invalid, or accept_all
  • result (string) - deliverable, undeliverable, or risky
  • score (integer) - Confidence score 0-100
  • smtp_provider (string) - Email provider name (e.g., "Google Workspace")
  • mx (object) - records array of MX hostnames
  • mx_check, smtp_server, smtp_check (boolean) - Verification checks
  • accept_all, greylisted, block (boolean) - Server behavior flags
  • gibberish, disposable, webmail, regex (boolean) - Address quality checks
  • whois (object) - Domain registration: registrar_name, referral_url, created_date

Also returns data.sources array with uri, website_url, extracted_on, last_seen_on, still_on_page.

Result Types

| Status | Meaning | Action |

|--------|---------|--------|

| valid | Mailbox exists and accepts mail | Safe to send |

| invalid | Mailbox doesn't exist or domain has no MX | Don't send |

| accept_all | Server accepts any address — can't confirm mailbox | Send with caution |

| unknown | Couldn't verify (timeout, greylisting) | Verify manually |

Examples

User: "Check if [email protected] is a real email"

curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"hunter","path":"/v2/email-verifier","query":{"email":"[email protected]"}}'

User: "Verify [email protected] before I send my pitch"

curl -s -X POST $GOOSEWORKS_API_BASE/v1/proxy/orthogonal/run \
  -H "Authorization: Bearer $GOOSEWORKS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"api":"tomba","path":"/v1/email-verifier","query":{"email":"[email protected]"}}'

Error Handling

  • 400 - Missing or malformed email parameter
  • 401 - Invalid API key — check orth auth
  • 429 - Rate limit exceeded — wait and retry
  • If both APIs return unknown, the mail server is likely blocking verification — try later
  • Tomba may return greylisted: true — means the server deferred; retry after a few minutes

Tips

  • Always verify emails before bulk sending to protect sender reputation
  • "Valid" doesn't guarantee delivery - content still matters
  • Role-based emails (info@, sales@) may be valid but less effective for outreach
  • Disposable emails (tempmail, etc.) are detected and flagged
  • Some corporate domains block verification - "unknown" doesn't mean invalid

Other skills for the same job

different authors, same section of the catalogue
Meeting Insights Analyzer
by frostant
×8

Analyzes meeting transcripts and recordings to uncover behavioral patterns, communication insights, and actionable feedback. Identifies when you avoid conflict, use filler words, dominate conversations, or miss opportunities to listen. Perfect for professionals seeking to improve their communication and leadership skills.

3k tokens
Slack Gif Creator
by JayZeeDesign
×7

Toolkit for creating animated GIFs optimized for Slack, with validators for size constraints and composable animation primitives. This skill applies when users request animated GIFs or emoji animations for Slack from descriptions like "make me a GIF for Slack of X doing Y".

53k tokens scripts
Developer Growth Analysis
by frostant
×6

Analyzes your recent Claude Code chat history to identify coding patterns, development gaps, and areas for improvement, curates relevant learning resources from HackerNews, and automatically sends a personalized growth report to your Slack DMs.

4k tokens
Slack Gif Creator
by anthropics
vendor ×5

Knowledge and utilities for creating animated GIFs optimized for Slack. Provides constraints, validation tools, and animation concepts. Use when users request animated GIFs for Slack like "make me a GIF of X doing Y for Slack.

11k tokens scripts
Skill Share
by frostant
×4

A skill that creates new Claude skills and automatically shares them on Slack using Rube for seamless team collaboration and skill discovery.

728 tokens
Electron
by vercel-labs
vendor ×2

Automate Electron desktop apps (VS Code, Slack, Discord, Figma, Notion, Spotify, etc.) using agent-browser via Chrome DevTools Protocol. Use when the user needs to interact with an Electron app, automate a desktop app, connect to a running app, control a native app, or test an Electron application. Triggers include "automate Slack app", "control VS Code", "interact with Discord app", "test this Electron app", "connect to desktop app", or any task requiring automation of a native Electron application.

2k tokens
Notion Meeting Intelligence
by openai
vendor ×2

Prepare meeting materials with Notion context and Codex research; use when gathering context, drafting agendas/pre-reads, and tailoring materials to attendees.

18k tokens
Daily Meeting Update
by softaworks
×2

Interactive daily standup/meeting update generator. Use when user says 'daily', 'standup', 'scrum update', 'status update', 'what did I do yesterday', 'prepare for meeting', 'morning update', or 'team sync'. Pulls activity from GitHub, Jira, and Claude Code session history. Conducts 4-question interview (yesterday, today, blockers, discussion topics) and generates formatted Markdown update.

8k tokens scripts

How to use it

Copy the folder

Take gooseworks-ai/verify-email from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.

Install what it needs

The instructions reference npx. Without those the skill loads but fails at the first command.