Agent skill
clean-validate
Verify and validate emails and phone numbers, manage bounce rates, and maintain list hygiene schedules.
Filed under Outbound email.
From Frontal-so/outbound-skills · 73 skills · 4 · pushed 2026-07-14
What it does when it runs
Verify and validate emails and phone numbers, manage bounce rates, and maintain list hygiene schedules. Use when user asks about "email verification", "validate emails", "bounce rate", "ZeroBounce", "NeverBounce", "list hygiene", "data decay", "deliverability", "catch-all emails", "spam traps", "re-verify", "phone validation". Do NOT use for deduplication (use deduplicate) or finding new contacts (use find-contacts).
Read from the skill and the 0 files 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
- None found.
- Hosts it reaches
- frontal.so
- Tool permissions it declares
- No
allowed-toolsin the frontmatter. It only issues instructions, so there is nothing to bound. - Actions present in the files
- None. Instructions only.
Install it
View source on GitHub ↗git clone --depth 1 --filter=blob:none --sparse https://github.com/Frontal-so/outbound-skills.git /tmp/outbound-skills git -C /tmp/outbound-skills sparse-checkout set "master-skills/list-building/.claude/skills/clean-validate" mkdir -p ~/.claude/skills/clean-validate cp -R "/tmp/outbound-skills/master-skills/list-building/.claude/skills/clean-validate/." ~/.claude/skills/clean-validate/
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.
The skill
Source on GitHub ↗Reproduced in full from Frontal-so/outbound-skills/blob/27cd847be5ce7e9b749b1d672cbfb29935d911db/master-skills/list-building/.claude/skills/clean-validate/SKILL.md, which is licensed MIT (repository). 577 words, 9 headings.
Clean & Validate — Sub-Skill
You help users verify email and phone data, manage bounce rates below 1%, and establish list hygiene schedules. Always read the reference file before responding.
Reference
Read {SKILL_BASE}/resources/data-validation.md — all sections.
Email Verification Tools
| Tool | Cost | Accuracy | Best For |
|---|---|---|---|
| ZeroBounce | $0.008/email | 98%+ | High-volume, agencies |
| NeverBounce | $0.008/email | 99.9% | Bulk verification |
| Findymail | $49/mo (1K) | 97%+ | Find + verify combined |
| MillionVerifier | $37/10K | 99%+ | High volume, low cost |
| Bouncer | $8/1K | 99.5% | EU compliance focus |
Verification Result Categories
| Category | Action |
|---|---|
| Valid/Deliverable | Safe to send (target: 95%+ of list) |
| Invalid/Undeliverable | Remove immediately |
| Risky/Accept-All (Catch-all) | Send cautiously or find alternative. Use ListKit/Listman.io for catch-all sub-verification |
| Unknown | Treat as risky, do not send |
| Disposable | Remove (temporary email) |
| Role-based (info@, sales@) | Remove — higher spam complaint risk |
| Toxic/Spam Trap | Remove immediately |
Critical Metrics
| Metric | Target | Danger Zone |
|---|---|---|
| Bounce rate | <1% | >3% = pause campaigns immediately |
| Spam complaint rate | <0.1% | >0.3% = investigate |
| Email deliverability | 95%+ | <90% = infrastructure issue |
Data Decay Rates
- Email addresses — 22-30% annual decay (~2.1%/month)
- Phone numbers — 15-20% annual decay
- Job titles — 30-35% annual decay
- Company employment — 20-25% annual decay
List Hygiene Schedule
| Frequency | Action |
|---|---|
| Before every campaign | Full email verification on entire list |
| Weekly | Monitor bounce rates, remove hard bounces |
| Monthly | Re-verify risky and catch-all emails |
| Quarterly | Full re-verification, update job titles, purge unengaged (no opens/clicks 90 days) |
| Bi-annually | Complete data refresh from LinkedIn, re-verify all |
| Annually | Full ICP audit, rebuild lists from scratch |
Rule: Re-verify any list older than 30 days before sending.
Bounce Handling Workflow
Email Sent -> Delivered -> Track engagement
-> Soft Bounce -> Retry 3x (4h, 24h, 48h) -> Still bouncing? -> Hard Bounce
-> Hard Bounce -> Remove IMMEDIATELY -> Add to suppression list -> Flag source for quality review
Examples
Example 1: "My bounce rate is 4%, what do I do?" -> Pause all campaigns immediately (>3% = danger zone). Run full re-verification on entire list with ZeroBounce or NeverBounce. Remove all Invalid, Unknown, Disposable, Toxic. Sub-verify catch-all emails with ListKit. Check data sources — flag and potentially stop using the source with highest bounce rate. Target: get back below 1% before resuming.
Example 2: "Which email verification tool should I use?" -> Volume-based: <1K/month = Findymail ($49, finds + verifies). 1K-10K/month = NeverBounce ($0.008/email, 99.9% guarantee). 10K+/month = MillionVerifier ($37/10K, best cost). EU-focused = Bouncer or Dropcontact (GDPR-compliant). Catch-all heavy = add ListKit/Listman.io as secondary verification.
Example 3: "How often should I clean my list?" -> Verify 100% before every campaign, no exceptions. Weekly: remove hard bounces. Monthly: re-verify catch-all and risky. Quarterly: full refresh + purge unengaged. Email decays 22-30%/year, so a list from 6 months ago has ~11-15% bad data. Re-verify anything older than 30 days.
Part of Frontal — free, open GTM skills for your AI agent. Browse the library →
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.
- validate-lead by himanshusaleria · 16
Need help setting it up?
This page tells you what clean-validate 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.