ravn
Claude skill

Find one person's work email

Give Ravn a person's name and their company's domain, and it returns the most likely work email, the address pattern it learned, a verdict and a confidence score. The user gets one address they can trust, or a clear "not found".

Download SKILL.md Start free

Install

One command.

Installs into ~/.claude/skills for Claude Code. In Claude, upload the downloaded file under Settings → Capabilities → Skills.

npx ravn skill install find-work-email

When to use

  • "What's Jane Doe's email at Acme?"
  • The user has a name and a company from a call, a referral or an article and wants to reach out.
  • One to a handful of people. For a whole spreadsheet, use the enrich-csv skill instead.

Before you start

  1. Check the connection: call get_account with {} over MCP, or run npx ravn whoami. Both are free.
  2. search_business_email_by_name costs 1 lookup per call and is charged only when found. A miss is free.
  3. Make sure you have a company domain, not just a company name. If the user only gave a name ("Acme"), ask for the website, or confirm the domain with them before you search.

Steps

  1. Normalise the input. Use the full name as given, or split into first and last name if the user gave them separately. Strip https://, www. and paths from the domain.
  2. Call the finder.
{ "name": "Jane Doe", "company": "acme.com" }

or

{ "first_name": "Jane", "last_name": "Doe", "company": "acme.com" }

CLI:

npx ravn search_business_email_by_name --name "Jane Doe" --company acme.com
  1. Branch on the response status: - not_found: nothing was charged. Tell the user. Offer to check the spelling, try a nickname ("Bob" vs "Robert"), or try another domain the company uses. - ok: read results.email, results.pattern (for example first.last), results.status, results.risk_score and results.confidence (0 to 1).
  2. Judge the result by its verdict: - valid: safe to use. - risky: the domain is catch-all, so the server accepts any address and the mailbox cannot be confirmed. Tell the user it is a best guess based on the pattern. - unknown: the mailbox was not checked. Do not call it verified.
  3. If the user wants extra confidence on a risky result, you can run validate_email on the address for a full breakdown (1 more lookup), but it will usually confirm the catch-all.

Output

Reply with one short block:

  • Email: jane.doe@acme.com
  • Verdict: valid, risky or unknown, with the risk score (A to F)
  • Pattern: first.last
  • Confidence: as a number from 0 to 1
  • Note: one line on catch-all or unchecked mailboxes, if relevant

If nothing was found, say so plainly and say that no lookup was charged.

Rules

  • Never guess an address and present it as found. Only report what the tool returned.
  • If the person has opted out or asked not to be contacted, do not look them up or help contact them. Opt-outs: /privacy#optout.
  • Drop invalid results, and flag risky ones before the user sends anything.
  • No FCRA uses: do not find emails to screen someone for credit, employment, insurance or housing.
  • On a 429 fair_use_exhausted or exit code 4, wait for the reset time in the response before retrying.

Example prompt

Can you find the work email for Priya Raman, she's head of procurement at northwind-logistics.com? I want to send her an intro.