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".
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
- Check the connection: call
get_accountwith{}over MCP, or runnpx ravn whoami. Both are free. search_business_email_by_namecosts 1 lookup per call and is charged only when found. A miss is free.- 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
- 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. - 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
- 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: readresults.email,results.pattern(for examplefirst.last),results.status,results.risk_scoreandresults.confidence(0 to 1). - 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. - If the user wants extra confidence on a risky result, you can run
validate_emailon 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_exhaustedor 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.
More skills
Install them all with npx ravn skill install --all.