Deliverability skill
Spam complaint rate guard for cold email
Most sequencers never show your spam complaint rate, so the assistant checks the settings and habits that cause complaints and returns a pass/fail checklist with fixes.
What it does
What the skill checks
- Applies the public Google and Yahoo sender rules: complaints under 0.3%, aim under 0.1%
- Checks the opt-out line and how removal requests are handled
- Checks for one suppression list across campaigns, workspaces and domains
- Reviews stop on reply, stop on auto-reply and skip-contacted settings
- Flags re-uploading the same leads into new campaigns
- Orders fixes by risk
Use it when
- Before launching a new campaign or onboarding a new client
- Placement or reply rates fell and copy did not change
- Several campaigns or workspaces share one lead source
Example
What you paste and what you get back
Settings: stop on reply on, stop on auto-reply off, no unsubscribe header. We upload last quarter's non-responders into a new campaign each month.PASS #5 Stop on reply.
FAIL #6 Stop on auto-reply off: out-of-office replies keep getting follow-ups. Turn it on.
FAIL #8 Non-responders re-uploaded monthly: the same people get the same pitch again. Stop and rest those leads at least 6 months.
UNKNOWN #3 Global suppression: where are "remove me" replies stored?
Fix order: #8, #3, #6.Install
Install it in your assistant
The same file works everywhere. Claude and Claude Code load it as a skill; the other assistants follow it as instructions.
Claude Code
- Run the command below. It saves the skill to your personal skills folder, available in every project. For one project only, use .claude/skills in the project instead.
- Start a new Claude Code session. Claude uses the skill when your request matches its description, or when you name it.
mkdir -p ~/.claude/skills/complaint-rate-guard
curl -fsSL https://outreach2day.com/skills/complaint-rate-guard/SKILL.md -o ~/.claude/skills/complaint-rate-guard/SKILL.mdClaude (web and desktop)
- Download the ZIP file.
- In Claude, open Settings, find Skills under Capabilities and upload the ZIP. Skills need code execution to be turned on for your account.
- Ask for the task in any chat. Claude loads the skill when the request matches.
ChatGPT
- Download SKILL.md.
- Paste its text into a Project's instructions or a custom GPT's instructions. For a single chat, attach the file and write: follow the instructions in this file.
Gemini
- Download SKILL.md.
- Create a Gem and paste the file's text into its instructions, or attach the file to a chat and ask Gemini to follow it.
Grok
- Download SKILL.md.
- Paste its text into a Project's instructions, or attach the file to a chat and ask Grok to follow it.
Cursor and other coding agents
- Save the file as a project rule with the command below. Cursor reads the description to decide when to apply it.
- Agents that read AGENTS.md (Codex and others): paste the text into AGENTS.md or reference the file from it.
mkdir -p .cursor/rules
curl -fsSL https://outreach2day.com/skills/complaint-rate-guard/SKILL.md -o .cursor/rules/complaint-rate-guard.mdcSource
The full SKILL.md
Read it before you install it. Change the rules to match your own setup.
---
name: complaint-rate-guard
description: Audits a cold email setup for the things that drive spam complaints and returns a pass/fail checklist with fixes. Covers the public Google and Yahoo sender rules (spam complaint rate under 0.3%, aim under 0.1%; one-click unsubscribe for bulk senders), a plain-text opt-out line, honoring removal requests, a global suppression list across campaigns and workspaces, sequencer settings (stop on reply, stop on auto-reply, unsubscribe header, skip leads already contacted) and re-uploading the same leads. Use when the user asks how to lower spam complaints, prepares a campaign launch, sees reply rates or placement fall for no clear reason, or shares sequencer settings.
---
# Complaint rate guard
You audit a cold email operation for complaint risk and return a checklist with PASS, FAIL or UNKNOWN per item and a fix for every FAIL. Complaints are rarely visible in a sequencer's dashboard, so you check the settings and habits that cause them instead of waiting for a number.
## Background: the public rules
- Google and Yahoo require senders to keep the user-reported spam rate below 0.3%, and recommend staying below 0.1%. Google reports it in Postmaster Tools for domains with enough volume.
- Bulk senders (Google: about 5,000 messages a day to Gmail) must support one-click unsubscribe: the `List-Unsubscribe` and `List-Unsubscribe-Post: List-Unsubscribe=One-Click` headers, and must honor requests within 2 days.
- Authentication (SPF, DKIM, DMARC) is required for bulk senders and expected for everyone.
A complaint weighs far more than an ignored email. A few percent of prospects pressing "Report spam" can pull a whole domain into spam for everyone.
## Step 1. Collect
Ask for:
1. Sequencer name and screenshots or a list of campaign settings.
2. How leads are sourced and whether the same list goes into more than one campaign.
3. How unsubscribe and "remove me" replies are handled today.
4. Whether several workspaces or clients share lists or domains.
5. Daily volume per domain and to Gmail specifically.
## Step 2. Run the checklist
| # | Check | Pass when |
|---|---|---|
| 1 | Opt-out line | Every first email has a plain-text way out ("Reply 'no' and I won't follow up"). No link needed. |
| 2 | Removal handling | "Remove", "unsubscribe", "stop" replies are suppressed the same day, by a person or a rule. |
| 3 | Global suppression | One suppression list covers all campaigns, workspaces and domains. Unsubscribes and bounces go into it. |
| 4 | No re-contact | A lead who replied negatively is never added to a new campaign. |
| 5 | Stop on reply | Enabled, including replies from other people at the same company if the tool supports it. |
| 6 | Stop on auto-reply | Enabled, or out-of-office replies are handled so the sequence pauses rather than pushes. |
| 7 | Skip contacted leads | New campaigns skip leads already contacted in the workspace. |
| 8 | No list recycling | The same leads are not re-uploaded under a new campaign to "try again" within months. |
| 9 | Unsubscribe header | On if the tool offers it and you send in bulk to Gmail or Yahoo; understand what it does on your tool. |
| 10 | Targeting | The list matches the offer. Irrelevant emails get reported more than relevant ones. |
| 11 | Sequence length | 3 to 5 steps. Long sequences to non-responders raise complaints. |
| 12 | Authentication | SPF, DKIM and DMARC pass for every sending domain. |
| 13 | Monitoring | Postmaster Tools set up for sending domains where volume allows. |
Mark UNKNOWN when the user cannot answer; list how to find out.
## Step 3. Prioritize
Order fixes by risk: re-contact and missing suppression first (they create repeat complaints from the same people), then sequencer settings, then targeting and length.
## Output format
1. The checklist table with PASS / FAIL / UNKNOWN and the evidence.
2. Fixes for each FAIL, in order.
3. A short routine: who checks the suppression list, how often.
## Rules
- Do not promise a complaint rate; most tools do not show it.
- Do not recommend links in the first cold email for opt-out; a text line works.
- Treat any shared list between clients or workspaces as a FAIL until a shared suppression list exists.
## Example
Input: "Settings: stop on reply on, stop on auto-reply off, no unsubscribe header. We upload last quarter's non-responders into a new campaign each month."
Output (abridged):
- FAIL #6 Stop on auto-reply is off: out-of-office replies keep getting follow-ups. Turn it on.
- FAIL #8 Non-responders re-uploaded monthly: same people get the same pitch again. Stop, rest those leads at least 6 months.
- UNKNOWN #3 Global suppression: ask where "remove me" replies are stored.
FAQ
Questions
What spam complaint rate is acceptable for cold email?
Google and Yahoo require under 0.3% and recommend under 0.1%. For cold email aim well below that: a complaint weighs far more than an ignored message.
Do I need an unsubscribe link in cold emails?
A plain-text line such as "Reply 'no' and I won't follow up" works and adds no link. Bulk senders to Gmail and Yahoo must also support one-click unsubscribe headers; check what your tool sends.
Why is re-contacting old leads risky?
People who ignored or declined an offer are the most likely to report the next email as spam. Keep one suppression list across all campaigns and rest non-responders for months.
How do I see my complaint rate?
Google Postmaster Tools shows it for domains with enough Gmail volume. Most sequencers do not, which is why this skill audits settings instead.
Mailboxes, warm-up and sending in one place
$2.50 a mailbox a month. DNS records are set for you, and every mailbox shows its warm-up numbers from day one.