Agent skill

Cold Outreach

by ericrisco in ericrisco/rsc-harness

A skill your agent uses when writing a cold email or LinkedIn DM to a stranger and its cadence: first-touch copy under a word ceiling, 4-7 step bump sequences, per-inbox volume and warm-up limits…

MITAuto-check passedSales & Support

Install Cold Outreach

skills CLI
$ npx skills add ericrisco/rsc-harness --skill cold-outreach -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install ericrisco/rsc-harness cold-outreach --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/cold-outreach .claude/skills/cold-outreach && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
cold-outreach
GitHub stars
167
Token cost
~4.1k tokens
SKILL.md length
2,302 words
Files
7 (incl. scripts, references)
Skills in repo
227
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when writing a cold email or LinkedIn DM to a stranger and its cadence: first-touch copy under a word ceiling, 4-7 step bump sequences, per-inbox volume and warm-up limits…

  • Works in 2 steps: Relevance — the right person, with a… → Deliverability — if it lands in spam,…
  • Writing a cold email
  • SKILL.md covers The reply-rate reality…, Diagnosing a failing campaign…, Anatomy of a first touch and Deriving the hook — the…, plus 5 more sections
  • Runs Shell scripts from its folder

What it does

Cold Outreach is an agent skill from ericrisco/rsc-harness. Use when writing a cold email or LinkedIn DM to a stranger and its cadence: first-touch copy under a word ceiling, 4-7 step bump sequences, per-inbox volume and warm-up limits, the compliant opt-out footer. NOT SPF/DKIM/DMARC setup (that is email-deliverability), NOT sourcing the list (that is lead-gen), NOT life after a reply (that is sales-pipeline).

Its SKILL.md is about 4.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 9 other files, including scripts and reference files (for example `evals/README.md`, `evals/cases.yaml` and `references/compliance-footer.md`).

It sits in Sales & Support, covering Cold outreach, Lead generation and Email management. It works with LinkedIn. The repository describes itself as: Your agent invents things because it has no memory, and can't touch your database because it has no arms. rsc is the meta-harness that gives it both, plus the trade to know the… The licence is MIT.

When your agent uses it

  • Writing a cold email
  • LinkedIn DM to a stranger and its cadence: first-touch copy under a word ceiling
  • 4-7 step bump sequences
  • Per-inbox volume and warm-up limits

Example prompts

  • “/cold-outreach”

Requirements

  • A Bash shell

Workflow steps

2 steps, taken from the first numbered list in SKILL.md.

  1. Relevance — the right person, with a real reason you reached out now. A perfect email to the wrong list still dies.
  2. Deliverability — if it lands in spam, copy is irrelevant. This is why cadence and volume (below) are part of this skill's job even though…

What it can do on your machine

Read from SKILL.md and the folder at commit e3d5b33. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Shell), which the agent can run.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Cold Outreach loads about 4.1k tokens when it runs, and up to ~7.2k if it reads all its reference files. Until then it costs about 92 tokens; SKILL.md has 2,302 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~92
When it runs · the whole SKILL.md, loaded when a task matches
~4.1k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~7.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from ericrisco/rsc-harness at commit e3d5b33, republished under its MIT licence (© ericrisco). 2,302 words, ~4,090 tokens.

Download SKILL.mdSave it as .claude/skills/cold-outreach/SKILL.md (or your agent's skills folder). This skill also uses 6 other files; get the full folder from GitHub.
name
cold-outreach
description
Use when writing a cold email or LinkedIn DM to a stranger and its cadence: first-touch copy under a word ceiling, 4-7 step bump sequences, per-inbox volume and warm-up limits, the compliant opt-out footer. NOT SPF/DKIM/DMARC setup (that is email-deliverability), NOT sourcing the list (that is lead-gen), NOT life after a reply (that is sales-pipeline).
tags
cold-email, outreach, sequences, deliverability, sales
recommends
lead-gen, sales-pipeline, email-deliverability, proposals, marketing
origin
risco

Cold Outreach — The Words and the Cadence of the Cold Touch

You write the message a stranger actually replies to, and the sending rhythm that keeps the mailbox provider delivering it. You do not set up DNS, source the list, or run the CRM.

This skill owns two things and only two: the copy of an unsolicited 1:1 touch (cold email, LinkedIn note/DM) and the cadence around it (step count, spacing, per-inbox volume, warm-up ramp, the compliant footer). Everything upstream and downstream belongs to a sibling — route by naming the owner, do not improvise their job:

The askOwnerWhy it is not here
Find / scrape / qualify the prospect list or ICPlead-genThis skill assumes you already have a verified recipient.
Set up SPF, DKIM, DMARC, a tracking domain, or diagnose DNS-level spam landingemail-deliverabilityThis skill applies the provider rules to cadence; it does not configure auth.
Manage what happens after a reply — stages, tasks, CRM hygiene, close forecastsales-pipelineThe moment a reply lands the relationship leaves this skill.
Write the proposal / SOW / pricing after a prospect engagesproposalsA cold touch earns a conversation, not a contract.
Inbound launch emails, nurture to an opted-in list, marketing-site copymarketing (../marketing/SKILL.md)Opted-in and broadcast copy is a different game from a 1:1 cold touch.
Actually wire the send through Gmail/an ESP API or a scheduleremail-connector / google-workspaceThis skill produces text + a plan; it does not push the send.

The reply-rate reality (calibrate before you write)

Cold email is a low-yield channel by nature, and most "improve my copy" requests are really "stop fighting the math." Set expectations against the 2026 band:

  • Average reply rate ≈ 3.43%. Top quartile ≈ 5.5%. Elite (top 10%) ≈ 10.7%+. (Instantly Cold Email Benchmark Report 2026, accessed 2026-06-02.)
  • So 5-10% is solid, 10%+ is excellent, under 2% means something upstream is broken — usually the list or the deliverability, not the prose.

The two levers that actually move the number, in order:

  1. Relevance — the right person, with a real reason you reached out now. A perfect email to the wrong list still dies.
  2. Deliverability — if it lands in spam, copy is irrelevant. This is why cadence and volume (below) are part of this skill's job even though the DNS plumbing is not.

Cleverness ranks a distant third. Do not sell wit; sell relevance, delivered.

Diagnosing a failing campaign — read the metric, then fix the right lever

Most rescue requests describe a symptom, not a cause, and the instinct (theirs and a naive agent's) is to rewrite the prose. Usually the prose is the wrong lever. Diagnose by the earliest broken metric in the funnel — fix that one, ignore everything downstream of it, because a downstream number can't be read until the upstream one is healthy.

Symptom the user reportsThe number that's actually brokenAlmost never the causeWhat to fix, in order
"Bounces / lands in spam / domain flagged"Bounce > 2% or sudden deliverability dropCopyList hygiene → lead-gen; sending auth + warm-up → email-deliverability. Stop sending until fixed.
"Low open rate" (< ~30-40% on a verified list)Delivery + subject lineBody copy (they never saw it)First confirm it's not spam-foldering (a deliverability tell). If delivery is fine, the subject and from-name are the only things they saw — rewrite those, leave the body alone.
"Good opens, ~zero replies"The hook + the CTASubject (it worked) / volumeThe INFER line is generic or the CTA isn't binary. Re-derive the hook (four-line bridge); make the ask one yes/no question. This is the #1 misdiagnosed case.
"Replies but all negative / 'not interested'"Targeting or timing, not wordingThe email itselfYou're reaching the wrong role or the wrong moment — a lead-gen ICP problem. Polishing the copy won't convert a person with no need.
"First email gets replies, sequence doesn't"The follow-ups repeat instead of adding an angleThe cadence lengthEach step must add ONE new angle (proof → new pain → breakup). Delete any step that restates step 1. Confirm the breakup exists.
"It all works at 20/day, dies when I scale"Per-inbox volume / reputationCopyDon't raise per-inbox volume — add inboxes and hold 20-50/day each. See the cadence table.

The governing rule: the prose is the lever only when opens are healthy and replies are absent. If opens are low, the prose is unread; if replies are negative, the prose found the wrong person. Name the broken metric back to the user before you touch a word — it's the single highest-value thing this skill does that an unaided agent skips.

Anatomy of a first touch

Hard constraints for the opening email:

  • Under ~80 words. Elite performers stay below this; brevity plus a single binary CTA beats a long multi-CTA email. (Instantly Benchmark 2026.)
  • One observed hook — a specific, real signal about them (a launch, a job post, a number from their site). Not "I came across your company."
  • One binary CTA — a yes/no question they can answer in one tap ("Worth a 15-min look next week?"), not "let me know your thoughts" and not two asks.
  • Subject line under ~6 words, no clickbait, no "Re:" fakery. It should read like a colleague wrote it, not a campaign.

Bad → Good rewrite:

text
BAD (78 words, no real hook, vague + double CTA, spam-flavored):
Subject: Quick question + a free guide for you!!

Hi there, I hope this email finds you well! I came across your company
and was really impressed by what you're doing in the space. We help
companies like yours grow faster with our cutting-edge platform. I'd
love to hop on a call to walk you through it, or I can send over a free
guide — whatever works! Let me know your thoughts. Looking forward to
hearing from you!

GOOD (49 words, one signal, one binary CTA):
Subject: your March hiring for 3 SREs

Hi Dana — saw Acme is hiring three SREs this quarter. Usually that means
on-call pain is outrunning the team. We cut alert noise ~40% for two
infra teams your size in their first month.

Worth a 15-min look next week — yes or no?

The Good version names a real signal ({{signal}}), states one concrete outcome ({{outcome}}), and asks one binary question. No greeting filler, no "free", no double ask.

Deriving the hook — the four-line bridge (this is the hard part)

"Use a real signal" is advice everyone gives and almost nobody executes. The reason a personalized email still reads generic is that the writer names the signal and then jumps straight to a generic pain ("...so you probably want to grow faster"). The skill of a cold open is the inference chain from an observable fact to a pain the reader silently agrees with. Build it in four lines, on paper, before you write a word of copy:

  1. OBSERVE — the raw, checkable fact. ("Acme posted 3 SRE reqs in Q1.") It must be something you could screenshot. If you can't cite where you saw it, it is not a signal.
  2. INFER — the operational consequence a person in that role feels. ("3 SRE openings unfilled for a quarter = the on-call rotation is thin and the existing team is absorbing the pages.") This is the line bare agents skip. The inference must be specific to the role and non-obvious enough that the reader thinks "how did they know that" — not "everyone says that."
  3. BRIDGE — connect the inference to the one thing you do. ("We cut the page volume so a thin rotation survives without the missing hires.") Not your whole value prop — the single slice that maps to this inference.
  4. PROVE — one comparable, with a number if you have it. ("~40% fewer alerts for two infra teams your size, month one.")

The first-touch body is literally lines 2→3→4 in order; line 1 becomes the subject. If the INFER line is generic, the email is generic no matter how many merge fields you add. Test the INFER line in isolation: would it be false for a competitor in the same situation? If it is true of everyone, it is a platitude — go back to the OBSERVE step and pick a sharper fact.

Two boundaries on the OBSERVE line, because both are unrecoverable once sent: keep it professional, public and business-relevant ("saw you're hiring 3 SREs" is relevant; "saw you were at the lake house last weekend" is surveillance), and never invent it — a fabricated "I loved your recent post on X" that does not exist destroys trust on contact.

When the user hands you only a company name and no signal, do not invent one. Ask for (or, if you have web access, look up) one of these signal classes, ranked by reply lift: a hiring/role-change signal > a funding/launch/news signal > a tech-stack or job-description detail > a public number from their own site/report > a shared context (mutual, group, event). A generic industry trend ("AI is changing your space") is not a signal and never clears the INFER test. If no true signal exists at all, that is a lead-gen targeting gap, not a copy task. Worked OBSERVE→INFER→BRIDGE→PROVE chains across six industries live in references/hook-derivation.md.

Show full SKILL.md (940 more words)Show less

The sequence — decision table

A first email captures ~58% of replies; steps 2-7 add the remaining ~42%, and reply rates fall off sharply after the 5th email. (Instantly Benchmark 2026.) So the sequence is non-optional, but it is short. 4-7 touches, 2-4 days apart, each adding ONE new angle — never "just bumping this up."

StepDay offsetAngle (one new thing)CTA
10The observed signal + outcomeBinary yes/no
2+3A proof point / mini case studySame binary ask, reframed
3+7A different pain or angle on the valueLower-friction ask (a resource, not a call)
4+12Social proof or a relevant comparisonBinary ask
5 (breakup)+18Permission to stop — "should I close the file?"One-question close
6-7 (optional)+25 / +35New trigger only if one genuinely appearedRe-open, binary

Rules that make the table work:

  • Stop at 5 unless a real new trigger appears. Replies past the 5th email are thin; do not pad to 7 for its own sake.
  • The breakup (step 5) is the highest-converting follow-up after step 1 — it gives a graceful out and often gets the "actually, yes" reply. Always include it.
  • One angle per step. If step 3 just restates step 1, delete step 3.
  • Keep follow-ups in the same thread (reply to your own first email) so context travels with the touch.

Channel adaptation — email vs LinkedIn

DimensionCold emailLinkedIn
First-touch length≤ ~80 wordsConnection note ≤ ~300 chars; DM ~3-4 sentences
Hook sourceA site/news/hiring signalOne specific profile signal (a post, a role change, a shared group)
CTABinary yes/no questionSoft — a question or a relevant share, not a pitch in the note
Volume ceiling20-50/day per inbox (see below)~100 connection requests/week free, safer under 80, rolling weekly
Reply benchmark~3.43% avg, 10%+ elite~6-7% avg, 10%+ excellent

(LinkedIn figures: Skylead / Kondo / Expandi 2025-2026 guides, accessed 2026-06-02.)

On LinkedIn the connection note must not pitch — earn the connection on a real signal, then make the ask in the first DM after they accept.

Reusable skeletons for both channels — first-touch + 4-step bump, with every variable slot ({{signal}}, {{outcome}}, {{proof}}) marked — live in references/templates.md. Start from a skeleton, then fill every slot with a real value before sending. An unfilled slot is a defect, not a placeholder to ship.

Sending cadence & deliverability guardrails

You own the cadence side of deliverability; the DNS/auth side is email-deliverability. Apply these limits to the plan you hand the user:

  • Per inbox: 20-50 cold sends/day even after warm-up. The technical Gmail ceiling is ~100, but cold mail should stay well under it. Need more volume? Add inboxes, do not raise the per-inbox number.
  • New-domain warm-up ramp (warm-up mail counts toward the daily cap):
WeekSends/day per inbox
1~10-20
2~20-35
3~35-50
4+~50-65 (hold cold sends at 20-50)
  • Bounce rate under 2%. A higher bounce means the list is stale → that is a lead-gen problem, not a copy problem.
  • Spam-complaint rate under 0.3%; Google advises under 0.1%. One-click unsubscribe (RFC 8058: List-Unsubscribe + List-Unsubscribe-Post) is required for bulk senders to Gmail/Yahoo; Outlook applied the same from 2025-05-05, with Gmail/Yahoo enforcement ramping from Nov 2025. (Google Workspace "Email sender guidelines"; Security Boulevard 2025-11; Proofpoint 2025 — accessed 2026-06-02.)

If the user asks you to configure the List-Unsubscribe header, SPF, or DKIM, stop and route to email-deliverability — you specify that the opt-out must exist and be one-click; that skill wires the header.

RequirementCAN-SPAM (US)GDPR (EU B2B)
Sender identityAccurate From/Reply-To, honest subjectSame
Postal addressA physical mailing address, requiredRecommended; identify the controller
Opt-outClear opt-out, honored within 10 business daysHonored without undue delay (treat as 24-48h)
Legal basisNot consent-based; truthful + opt-out sufficesArt. 6(1)(f) legitimate interest with a documented LIA
PenaltyUp to $53,088 per email (Jan 2025)Up to €20M or 4% of global revenue

(Instantly compliance guide / Puzzle Inbox; litemail.ai / complydog GDPR guides 2026 — accessed 2026-06-02.)

EU enforcement varies — UK ICO and France CNIL are permissive for B2B; Germany and Poland are stricter (Poland often requires prior consent). When the recipient is in the EU, write the footer for the strictest plausible jurisdiction. The full footer wording, the LIA checklist, and the CASL/Australia matrix → references/compliance-footer.md.

Anti-patterns

Anti-patternWhy it failsDo instead
Blast 200/day from one new inboxTrips spam filters; tanks domain reputation in daysRamp per the table; hold 20-50/day; split across inboxes
Pitch in sentence oneNo earned relevance; reads like a billboardLead with the observed signal, earn the ask
Two CTAs ("call OR I'll send a guide")Splits the decision; lowers reply rateOne binary yes/no ask per email
"Just following up" / "circling back" with no new angleAdds noise, not value; trains them to ignore youEach step adds one new angle or it is deleted
Name-only mail merge or spintax ({Hi|Hey}) as "personalization"Recipients see the template underneathOne true {{signal}} per first touch or do not send
No opt-out / no postal addressCAN-SPAM/GDPR violation; complaint-rate spikeAlways append the compliant footer
Subject like "Quick question!!" or "FREE"Clickbait + spam-trigger words land you in spam≤6 plain words that read like a coworker wrote them
Padding to 7 steps for completenessReplies past step 5 are thin; you just annoyStop at the breakup unless a real new trigger appears
"I hope this email finds you well" openerThe classic AI/template tell; wastes the first lineOpen on the signal — your first 6 words are the hook

To self-check a drafted email or sequence file, run scripts/verify.sh path/to/draft.md — it flags missing opt-out, multiple CTAs, over-ceiling word count, and spam/AI-tell phrases (read-only).

© ericrisco, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 6 other files (scripts, references) in skills/cold-outreach of ericrisco/rsc-harness.

  • SKILL.md
  • evals/README.md
  • evals/cases.yaml
  • references/compliance-footer.md
  • references/hook-derivation.md
  • references/templates.md
  • scripts/verify.sh

Open the folder on GitHubat commit e3d5b33

Compare with similar skills

Cold Outreach next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Cold Outreach compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Cold Outreach this skillericrisco/rsc-harness167—~4.1kAutomated safety check: PassMIT
B2B Lead Generationminhnv0807/ai-business-skills608—~1.2kAutomated safety check: PassMIT
Cold Outreach Sequence BuilderBrianRWagner/ai-marketing-claude-code-skills440—~1.9kAutomated safety check: PassNone
Outreachyc-software/recruiting116—~3kAutomated safety check: NotesNone
Outbound AnalystOthmane-Khadri/YALC-the-GTM-operating-system317—~1.9kAutomated safety check: PassMIT
Lead ResearchTheCraigHewitt/skills157—~5.9kAutomated safety check: PassMIT

Similar skills

  • B2B Lead Generation

    minhnv0807/ai-business-skills

    Plans B2B pipeline work from ICP definition and prospecting through lead scoring, outbound sequences, sales assets and MQL to SQL handoff, aiming at qualified pipeline.

    608 GitHub stars~1.2k tokensUpdated 26 days ago
    Sales & SupportAuto-check passed
  • Cold Outreach Sequence Builder

    BrianRWagner/ai-marketing-claude-code-skills

    Builds researched LinkedIn and email outreach for prospects, from a single message to a multi-prospect system, with personalization graded by the signals found.

    440 GitHub stars~1.9k tokensUpdated 6 mo ago
    Sales & SupportAuto-check passed
  • Outreach

    yc-software/recruiting

    Draft personalized cold outreach to a candidate the hiring manager hasn't contacted yet.

    116 GitHub stars~3k tokensUpdated 1 mo ago
    Sales & SupportAuto-check: notes
  • Outbound Analyst

    Othmane-Khadri/YALC-the-GTM-operating-system

    Analyze and benchmark outbound campaign performance against real lemlist data from 244K+ campaigns and 249M+ emails.

    317 GitHub stars~1.9k tokensUpdated 1 mo ago
    Sales & SupportAuto-check passed
  • Lead Research

    TheCraigHewitt/skills

    When the user wants to research accounts, contacts, or build target lists.

    157 GitHub stars~5.9k tokensUpdated 4 mo ago
    Sales & SupportAuto-check passed
  • Linkedin Outreach

    TheCraigHewitt/skills

    When the user wants to write LinkedIn connection requests, InMails, DM sequences, build a social selling strategy, or use Sales Navigator for prospecting.

    157 GitHub stars~5.3k tokensUpdated 4 mo ago
    Sales & SupportAuto-check passed

More from ericrisco/rsc-harness

All 227 skills in this repo
  • Ab Testing

    ericrisco/rsc-harness

    A skill your agent uses when designing or analyzing a controlled experiment — falsifiable hypothesis, sample size from an MDE, reading significance/CI/power, CUPED, or rescuing tests that won't go…

    167 GitHub stars~2.4k tokensUpdated today
    Auto-check passed
  • Accessibility

    ericrisco/rsc-harness

    A skill your agent uses when making a web UI conform to WCAG 2.2 Level AA — axe-core or Lighthouse a11y violations, keyboard operability, focus management, ARIA roles/names/live regions, contrast…

    167 GitHub stars~3.4k tokensUpdated today
    Auto-check passed
  • Ads

    ericrisco/rsc-harness

    A skill your agent uses when running or fixing paid acquisition on Google or Meta — campaign structure (Performance Max, Demand Gen, Search, Advantage+), platform-fit creative, budget/scaling rules…

    167 GitHub stars~2.2k tokensUpdated today
    Auto-check passed
  • Agent Eval

    ericrisco/rsc-harness

    A skill your agent uses when measuring whether an LLM or agent system actually got better and gating merges on it: golden sets, fixing an inflated LLM-as-judge, scoring RAG (faithfulness, contextual…

    167 GitHub stars~3.2k tokensUpdated today
    Auto-check passed
  • AI Media

    ericrisco/rsc-harness

    A skill your agent uses when a creative goal must become a finished media file: pick and order generative-media models per modality — AI voiceover, image-to-video clips, score — then glue them with…

    167 GitHub stars~3.3k tokensUpdated today
    Auto-check passed
  • Analytics

    ericrisco/rsc-harness

    A skill your agent uses when instrumenting product or web analytics — GA4/PostHog SDK wiring, event taxonomy, funnels, double-counted events, consent gating, PII scrubbing.

    167 GitHub stars~2.8k tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about Cold Outreach

What does Cold Outreach do?

A skill your agent uses when writing a cold email or LinkedIn DM to a stranger and its cadence: first-touch copy under a word ceiling, 4-7 step bump sequences, per-inbox volume and warm-up limits…. Cold Outreach is an agent skill from ericrisco/rsc-harness. Use when writing a cold email or LinkedIn DM to a stranger and its cadence: first-touch copy under a word ceiling, 4-7 step bump sequences, per-inbox volume and warm-up limits, the compliant opt-out footer.

When should I use Cold Outreach?

Cold Outreach fits situations like: writing a cold email; linkedIn DM to a stranger and its cadence: first-touch copy under a word ceiling; 4-7 step bump sequences; per-inbox volume and warm-up limits.

How do I install Cold Outreach in Claude Code?

Run `npx skills add ericrisco/rsc-harness --skill cold-outreach -a claude-code`. Or copy the skill folder (skills/cold-outreach in ericrisco/rsc-harness) into .claude/skills/cold-outreach in your project. Claude Code loads it when a task matches its description.

How do I install Cold Outreach in Codex?

Run `npx skills add ericrisco/rsc-harness --skill cold-outreach -a codex`. Or copy the skill folder (skills/cold-outreach in ericrisco/rsc-harness) into .agents/skills/cold-outreach in your project. Codex loads it when a task matches its description.

Can I use Cold Outreach in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ericrisco/rsc-harness --skill cold-outreach -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/cold-outreach, .gemini/skills/cold-outreach, .github/skills/cold-outreach and .opencode/skills/cold-outreach in your project.

What does Cold Outreach need to run?

Going by SKILL.md and its folder, Cold Outreach needs a shell for the scripts in its folder. Our summary lists: A Bash shell.

Does Cold Outreach access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Cold Outreach safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Cold Outreach use?

Cold Outreach is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Cold Outreach use?

About 4.1k tokens (SKILL.md is roughly 16k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 3.1k tokens, read only when the agent opens those files.

What are the alternatives to Cold Outreach?

Skills that share tags, products or a category with Cold Outreach: B2B Lead Generation (minhnv0807/ai-business-skills, 608 stars), Cold Outreach Sequence Builder (BrianRWagner/ai-marketing-claude-code-skills, 440 stars), Outreach (yc-software/recruiting, 116 stars) and Outbound Analyst (Othmane-Khadri/YALC-the-GTM-operating-system, 317 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Cold Outreach?

ericrisco (a GitHub user) maintains it in ericrisco/rsc-harness, which has 167 GitHub stars. The repository holds 227 skills in this directory. The repository was last updated on October 7, 2026.

Source: ericrisco/rsc-harness on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.