Deliverability skill

Burned sending domain detector

Give the assistant per-domain sending stats and it compares each domain with its own history, rules out list and copy changes, and returns keep, rest or retire with the evidence.

Works with

One Markdown file, free to use and change. It reads only what you paste into the chat.

What it does

What the skill checks

  • Builds a baseline per domain from its own early weeks of sending
  • Uses auto-reply rate as a fast delivery signal next to human replies
  • Adds sender blocks, seed tests with a control, blocklists and Postmaster Tools data
  • Rules out list, copy and follow-up mix changes before calling a burn
  • Tracks cumulative cold sends and sets a review interval per domain
  • Returns a per-domain table with a decision and the evidence behind it

Use it when

  • When reply rates fall and you do not know which domains cause it
  • When deciding which domains to rest or replace
  • At a regular review of every sending domain

Example

What you paste and what you get back

You
outreach-example.com: 2,300 cold sends so far. Step 1 reply rate 1.2% in weeks 1 to 3, 0.5% in weeks 6 to 7 on the same campaigns. Auto-replies down by half. No blocklist listing. Control seed test: Google spam.
Assistant, with the skill
Decision: rest.
Evidence: reply rate down 58% vs its own baseline on unchanged campaigns; auto-replies falling; control email in spam on Google.
Not the cause: no list or copy change, no blocklist listing.
Action: stop cold sends for 2 weeks, keep warm-up on, restart with a fresh campaign at half volume after a control seed test.
Next review: at 3,000 cumulative sends.

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

  1. 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.
  2. Start a new Claude Code session. Claude uses the skill when your request matches its description, or when you name it.
Terminal
mkdir -p ~/.claude/skills/burned-domain-detector
curl -fsSL https://outreach2day.com/skills/burned-domain-detector/SKILL.md -o ~/.claude/skills/burned-domain-detector/SKILL.md

Claude (web and desktop)

  1. Download the ZIP file.
  2. In Claude, open Settings, find Skills under Capabilities and upload the ZIP. Skills need code execution to be turned on for your account.
  3. Ask for the task in any chat. Claude loads the skill when the request matches.

ChatGPT

  1. Download SKILL.md.
  2. 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

  1. Download SKILL.md.
  2. 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

  1. Download SKILL.md.
  2. 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

  1. Save the file as a project rule with the command below. Cursor reads the description to decide when to apply it.
  2. Agents that read AGENTS.md (Codex and others): paste the text into AGENTS.md or reference the file from it.
Terminal, in your project
mkdir -p .cursor/rules
curl -fsSL https://outreach2day.com/skills/burned-domain-detector/SKILL.md -o .cursor/rules/burned-domain-detector.mdc

Source

The full SKILL.md

Read it before you install it. Change the rules to match your own setup.

burned-domain-detector/SKILL.md
---
name: burned-domain-detector
description: Detects burned or wearing-out cold email sending domains from campaign data. Compares each domain with its own baseline on reply rate, auto-reply rate, bounces and sender blocks, seed test spam share, blocklists and Google Postmaster Tools, tracks cumulative cold sends per domain, and returns a keep, rest or retire decision per domain with the evidence. Use when reply rates fall, the user asks whether a domain is burned, wants to decide which domains to rotate out, or shares per-domain or per-mailbox stats.
---

# Burned domain detector

You decide, per sending domain, whether to keep sending, rest it, or retire it. You compare each domain with its own history, not with the account average, and you do not retire a domain on noise.

## Step 1. Collect per-domain data

For each sending domain, per week (or per day at high volume):

- Emails sent (cold only, not warm-up), step 1 and follow-ups separately.
- Human replies and auto-replies (out-of-office, "received your message") as separate counts.
- Bounces by class, especially 5.7.x sender blocks.
- Seed test results with a neutral control, if any.
- Blocklist results for the domain and its IPs.
- Google Postmaster Tools data (spam rate, delivery errors) if the domain is verified there.
- Cumulative cold sends since the domain started sending.

Also note which campaigns and lists each domain sent to. A domain sending a weaker list is not burned.

## Step 2. Build the baseline

The baseline is the domain's own first 2 to 4 weeks of sending, or its best stable period. Compare only like with like: same campaign set, same step, similar lists.

## Step 3. Check the signals

| Signal | Burn sign |
|---|---|
| Step 1 human reply rate on an unchanged campaign set | down 50% or more vs the domain's own baseline, for 2+ weeks |
| Auto-reply rate | clear drop vs baseline. Auto-replies come from the recipient's server whatever the copy says, so they track delivery and react faster than human replies |
| Sender blocks (5.7.1, 5.7.x) | new or rising |
| Seed test with control | control lands in spam where it used to land in the inbox |
| Blocklists | new listing on Spamhaus DBL, SURBL or URIBL |
| Postmaster Tools | spam rate rising toward 0.3%, or delivery errors on reputation |

One signal alone is a flag. Two or more pointing the same way is a burn.

Rule out other causes first: a new list, a new copy, a change in follow-up share, a holiday week, or tiny samples. Do not judge a week with fewer than a few hundred sends from the domain; one or two replies up or down is noise at that size.

## Step 4. Track the service interval

Domains wear with cumulative cold volume. Log cumulative sends per domain and review each domain at a fixed interval (for example every ~1,500 cold sends) even when nothing looks wrong. Domains often decline gradually before anyone notices.

## Step 5. Decide

| Decision | When | What to do |
|---|---|---|
| Keep | no signal, or one weak signal with small samples | continue, re-check at the next interval |
| Rest | two signals, blocks without a listing, control still mostly inbox | stop cold sends for 1 to 3 weeks, keep warm-up running, restart with a fresh campaign and lower volume |
| Retire | control in spam on repeated tests, a major blocklist listing that returns after removal, or no recovery after rest | stop cold sending from the domain, keep it for replies until threads end, replace it |

## Output format

| Domain | Cum. sends | Baseline RR | Current RR | Auto-reply trend | Blocks | Seed (control) | Lists | Decision | Evidence |
|---|---|---|---|---|---|---|---|---|---|

Then: the domains to act on now, the replacement count needed to hold volume, and the next review date.

## Rules

- Compare a domain with its own baseline, never with the fleet average.
- Show sample sizes next to every rate.
- If evidence is weak, say "not enough data" and name the test that would settle it (usually a seed test with a control).

## Example

Input: outreach-example.com, cumulative 2,300 sends. Step 1 reply rate 1.2% in weeks 1 to 3, 0.5% in weeks 6 to 7 on the same campaigns. Auto-replies down by half. No blocklist listing. Control seed test: Google spam.

Output: Rest. Reply rate down 58% vs its own baseline on the same campaigns, auto-replies falling, control in spam on Google. Stop cold sends for 2 weeks, keep warm-up on, restart with a fresh campaign at half volume, run a control seed test before restarting.

Download SKILL.md · Download ZIP

FAQ

Questions

How do I know if my cold email domain is burned?

Compare the domain with its own early weeks on the same campaigns. A drop of half or more in step 1 replies for two weeks, falling auto-replies, new sender blocks and a control email landing in spam together point to a burned domain.

Can a burned domain recover?

Often yes, if caught early. Stop cold sends for one to three weeks, keep warm-up running, then restart with a fresh campaign at lower volume. If a control email still lands in spam after the rest, replace the domain.

Why track auto-replies to measure deliverability?

Out-of-office and ticket auto-replies are sent by the recipient's server whatever your copy says, so they only depend on the email arriving. A falling auto-reply rate is an early delivery signal.

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.