Decide what to do with catch all domains, role addresses and soft bounces before they cost you a domain...
Verification returns three answers and most teams only plan for two. Valid sends, invalid drops, and unknown, which is mostly catch all domains, is where the decision actually lives. Sending to all of them raises bounce rate; dropping all of them can remove a large share of an enterprise list. This skill sets a policy per class with the arithmetic that justifies it.
This skill needs no account, API key or paid service. It works from the files, exports and answers you give it, in any agent that reads SKILL.md.
Before doing anything else, read whichever of these exist at the project root and use them instead of asking the user to repeat themselves:
ICP.mdIf none exist, do the work from what the user gives you, then offer to write the missing file so the next skill in the pack starts warmer.
This skill needs no live data tool. It works from the files, exports and answers you give it, so it runs the same in any agent with no setup.
scripts/check-output.py before you return it.This skill does not send email or write to a CRM. If the user asks it to, stop first: show what would be sent or written and wait for an explicit yes.
The class split with shares, the bounce arithmetic against the tolerance, the decision per class, the separate domain recommendation if it applies, and the written policy.
Save the output to a file and run python3 scripts/check-output.py <file>. The
contract it checks is scripts/output-contract.json.
COMPLETE: return the output.INCOMPLETE: do not present the output as finished. Fill what you can, run
the check again, and if parts stay missing, return the output under the heading
Incomplete with every reason the check printed.clay-waterfall-designeremail-deliverability-auditsuppression-architectShips in the deliverability, cold-email-system packs.