Copy skill

Cold email link checker

Paste your cold email and signature and the assistant lists every URL, bare domain, image and tracking element, then rewrites the copy so the first email carries none of them.

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

  • Runs a regex gate for URLs, www. and bare domains across subject, body and signature
  • Expands spintax and checks every option, not one render
  • Flags images, attachments, HTML links, calendar links and click-tracking wrappers
  • Warns about open-tracking pixels and unsubscribe links in the body
  • Rewrites signatures to name, title and company as plain words
  • Re-runs the gate on the rewrite and reports zero matches

Use it when

  • Before launching a new sequence or changing mailbox signatures
  • When first emails land in spam and replies to follow-ups do not
  • When a teammate adds a website, calendar link or logo to the signature

Example

What you paste and what you get back

You
Hi {{firstName}}, we help IT teams cut ticket backlog. See acme-it.com/case for how.
Best, Anna | Acme IT | www.acme-it.com
Assistant, with the skill
ERROR body "acme-it.com/case": bare domain, auto-linked by mail clients. Fix: state the result in one sentence.
ERROR signature "www.acme-it.com": link. Fix: "Anna Berg, Acme IT".

Rewrite: Hi {{firstName}}, we cut a 40-person IT team's ticket backlog by half in a quarter. Worth a short call to see if the same applies to you?
Anna Berg, Acme IT

Regex gate: 0 matches.

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/cold-email-link-checker
curl -fsSL https://outreach2day.com/skills/cold-email-link-checker/SKILL.md -o ~/.claude/skills/cold-email-link-checker/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/cold-email-link-checker/SKILL.md -o .cursor/rules/cold-email-link-checker.mdc

Source

The full SKILL.md

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

cold-email-link-checker/SKILL.md
---
name: cold-email-link-checker
description: Checks cold email copy for links, bare domains, images, tracking and anything a mail client will turn into a clickable URL. A domain typed in a signature is auto-linked by most clients and read by spam filters as a link from an unknown sender. Returns every match with its location and a link-free rewrite. Use when the user pastes a cold email, subject line, signature or sequence and asks to check it for links, prepare it for launch, or find out why a first email lands in spam.
---

# Cold email link checker

You find every clickable or trackable element in cold email copy and remove it from the emails that go to people who have never replied. A first-touch cold email from an unknown sender carries no links, no domains, no images and no tracking.

## Step 1. Collect the copy

Ask for every subject line, every email body in the sequence and the signature exactly as the sending tool will add it. Signatures are the most common source of links, because they are set once in the mailbox settings and forgotten.

## Step 2. Run the regex gate

Scan subject, body and signature, after expanding spintax (check every option, not one render), with this pattern, case-insensitive:

```
https?://|www\.|\b[\w-]+\.(com|ai|io|co|net|org|info|app|dev)\b
```

Every match is an ERROR. Zero matches is the only passing result. Add the country or custom TLDs the user's own domains use to the list.

## Step 3. Check the rest

ERROR:

1. **URL or bare domain** anywhere (regex above). `acme.com` in a signature becomes a link in Gmail, Outlook and Apple Mail.
2. **Email address with a visible domain in the body** other than as the sender (e.g. "write to sales@acme.com"): clients link it.
3. **HTML link or button**: `<a href`, markdown `[text](url)`, calendar links, "book here" URLs.
4. **Image or logo**: `<img`, inline images, signature banners. Images in a first email look like marketing mail.
5. **Attachment** of any kind.
6. **Tracking link wrapper**: click tracking rewrites every link through a tracking domain. Turn it off for cold sequences.

WARN:

7. **Open tracking pixel** switched on. It is an invisible image. Recommend turning it off and measuring replies instead.
8. **Unsubscribe as a link**. Use one plain-text line such as "If this isn't relevant, reply 'no' and I won't write again." Keep the list-unsubscribe header if the tool sets one; that is a header, not a link in the body.
9. **Phone number formatted as a tel: link** or social handles (`@acme`, `linkedin.com/in/...`).
10. **Words that invite a click**: "click here", "see the link below", "check out our site".

## Step 4. Rewrite

- Signature: first name, or first and last name, plus title and company name as plain words ("Anna Berg, Head of Partnerships, Northwind IT"). No domain, no phone link, no logo.
- Replace "see our website" with one concrete sentence that says what the site would have said.
- Replace a calendar link with a question: "Would a 15-minute call next week be worth it?"
- Links, decks and case studies go out only after the prospect replies, inside that live thread.

## Output format

1. Findings table: severity, field (subject / body step N / signature), matched text, fix.
2. The rewritten copy, full text, per step.
3. One line: "Regex gate: 0 matches" after re-running the gate on the rewrite. If it is not 0, keep fixing.

## Rules

- Check every spintax option. A link hidden in one option of ten ships in one email of ten.
- Do not shorten or obfuscate a URL ("acme dot com", link shorteners). Filters and readers see through it, and it reads as evasive.
- Tracking settings live in the sending tool, not in the copy. Tell the user where to switch them off; do not assume they are off.

## Example

Input:

```
Hi {{firstName}}, we help IT teams cut ticket backlog. See acme-it.com/case for how.
Best, Anna | Acme IT | www.acme-it.com
```

Output (abridged):

| Severity | Field | Match | Fix |
|---|---|---|---|
| ERROR | body | `acme-it.com/case` | describe the result in one sentence instead |
| ERROR | signature | `www.acme-it.com` | "Anna Berg, Acme IT" |

Rewrite: "Hi {{firstName}}, we cut a 40-person IT team's ticket backlog by half in a quarter. Worth a short call to see if the same applies to you? Anna Berg, Acme IT"

Regex gate: 0 matches.

Download SKILL.md · Download ZIP

FAQ

Questions

Why are links bad in cold emails?

A link from a sender the recipient has never written to is one of the strongest spam signals. Filters check the linked domain's reputation, and a link also invites the click tracking that rewrites it through a shared domain. Send links after the prospect replies.

Is my domain in the signature a link?

Yes, in practice. Gmail, Outlook and Apple Mail turn text like acme.com or www.acme.com into a clickable link, so filters treat it as one. Sign with your name, title and company name instead.

How do I add an unsubscribe option without a link?

Add one plain-text line, for example: "If this isn't relevant, reply 'no' and I won't write again." Keep the list-unsubscribe header if your sending tool sets it; it is a header, not a link in the body.

Can I check my copy without an AI assistant?

Yes. The free cold email copy checker on this site flags links, bare domains and spam-trigger words in your browser.

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.