# No Double Email Guard

> Make sure no prospect ever gets the same cold email twice - dedupe against sent mail, reserve before sending, and stop on uncertain results. Use in any automated or repeated outreach run before a send.

- Skill: `syp1xd/no-double-email-guard` (Agent Skill)
- Install (CLI): `npx skillmds@latest add syp1xd/no-double-email-guard`
- Raw SKILL.md: https://api.skillmd.com/api/skills/syp1xd/no-double-email-guard/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Productivity
- Author: syp1xd (https://skillmd.com/u/syp1xd)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/syp1xd/no-double-email-guard

---


# No-double-email guard

Sending twice to the same person looks like spam and burns the lead. Guard every send.

## Keep one permanent contact record
A small SQLite table works: `email` (primary key), `profile`, `person`, `status` (`reserved`, `sent`, `unknown`, `do_not_contact`), `reserved_at`, `data` (JSON). Never delete rows.

## Before each run
1. Import every recipient from the mailbox's **Sent** folder (To, Cc, Bcc) as `status: sent`. Read every page. A mailbox error or partial page is NOT an empty result - stop.
2. Check the inbox for replies, opt-outs, and bounces. Mark opt-outs and bounces `do_not_contact`. Do not cold-email anyone who already has a conversation going.

## Before each send
1. Normalize the email (lowercase; for Gmail remove dots and `+tags`).
2. Block if the email, the LinkedIn profile, or the same person at the same company already exists.
3. Enforce a daily send limit.
4. **Write the reservation to the database before the network call.** A crash then cannot cause a second send.
5. Send once. On confirmed success, set `status: sent` with the provider message ID.
6. On any error or unclear result, set `status: unknown`, **stop all sends for the run**, and ask the user. Never retry automatically.

