Skip to main content
Intempt

12 best Claude Code skills for SDRs (list building, cold email, reply handling)

Harish Kumar
Harish Kumar·14 min read

Published: August 3, 2026

TL;DR

The best Claude Code skills for SDRs don't start at the email. They start at the list, because a specific opener is impossible against a list that isn't specific. These 12 skills cover the full SDR desk: build the list, clean the list, rank the week, write the opener, repair the sequence, classify replies, book the call, and save the no-show. Fix the list first, the opener second, the sequence third, and the reply-handling last - and run the sequence doctor on a sequence before it fails, not after.

Outbound breaks in a predictable order. The list is wrong, so the opener can't be specific, so the sequence gets longer to compensate, so replies get worse, so nobody classifies them, and the whole thing gets rebuilt from scratch next quarter. Every part of that chain looks like a copy problem. Almost none of it is.

The best Claude Code skills for SDRs attack it in the same order it breaks. Fix the list, then the opener, then the sequence, then the reply handling. Twelve skills, MIT-licensed, sequenced so you know which one earns its install first. If you want the broader tour that mixes SDR, AE, and GTM Engineer packs, see 11 best Claude skills for outbound marketing. This post is the SDR desk itself.

For context on why the list-first order matters: Salesforce's 2024 State of Sales puts manual research at 21 percent of an SDR's week, and LinkedIn's State of Sales reports outbound reps rank prospecting research and data entry ahead of actual selling as their largest time drains. That is one full-time equivalent per five-rep team spent reading LinkedIn profiles and Google News. The skills below don't shrink outbound - they shrink the layer under it. For the walk-through with an install pack, see the SDR pack guide.

What is a Claude Code skill

A Claude Code skill is a versioned SKILL.md file with a stated method: the inputs it asks for, the framework it applies, and the shape of the output it returns. You install a pack once with npx skills add sidchaudhary/gtm-skills/skills/sdr, restart Claude Code, and every skill in the folder is available by name. Two SDRs running the same skill get the same output shape - a scored list with evidence per lead, six intent buckets for replies, a three-stage no-show recovery - so the work stops drifting between reps and between sessions.

Why SDR desks need Claude Code skills now

SDR teams spend most of the week on the layer under the outreach - filtering lists, scoring accounts, hunting for the trigger that makes an opener specific - and shrink the actual conversation layer to whatever's left. Woodpecker's cold email benchmarks put average reply rates for un-personalized outbound below 2 percent, while campaigns anchored on a specific trigger signal reach 6 percent or higher. The delta is not the copy. It's whether the list gave the copy something specific to point at.

Claude Code skills fix this at the task level. You don't replace the SDR. You give them a scored list with evidence per lead, a Monday queue built from real intent signals, and a reply classifier that stops positive replies from sitting behind forty neutral ones - so the strategic layer of the job stops taking the whole week.

The skills that move the needle are not the ones that write better copy. They're the ones that answer three questions faster:

  • Which of my 300 accounts is worth the next 30 minutes?
  • What happened at that account this week that a first line can point at?
  • When a reply lands, which bucket does it belong in - and does it need an answer today or Thursday?

Install the SDR pack in about 30 seconds

One command pulls all 12 SDR skills into your project's .claude/skills/ folder. Restart Claude Code afterward - skills load at startup, so a running session won't see them.

bash
npx skills add sidchaudhary/gtm-skills/skills/sdr

# restart Claude Code, then confirm:
# "What SDR skills do you have?"

You can install a single skill by appending its folder name, e.g. .../skills/sdr/the-list-cleaner. The pack install is the better default because these skills feed each other - the-list-cleaner runs on the output of the-list-builder, the-call-booker runs on positive replies flagged by the-reply-classifier, and installing them in pieces breaks the handoff.

If installing all 12 at once feels heavy, start with three - the-list-cleaner, the-cold-opener, the-reply-classifier - and add the rest as the motion stabilizes.

12 best Claude Code skills for SDRs

1. the-list-builder

Builds and qualifies a prospect list from your stated ICP - every lead scored Hot/Warm/Cold/Skip with evidence for the score, not a black-box number. The step that stops the list from being 300 rows of "maybe" and starts being a queue with an order to work it.

When to use: At the top of a new campaign, or any time the current list is unqualified and reps are burning hours filtering it by hand.

How to run:

You: "Run the-list-builder.
      ICP: B2B SaaS, 50-200 employees, VP Sales present,
      trigger is recent funding or an SDR hiring spree.
      Region: US + Canada."

Claude: -> scored list: Hot / Warm / Cold / Skip
        -> one-line evidence per row (what fired the score)
        -> a Skip bucket with reasons, not silent drops

Best used with: A written ICP that names the company size band, the trigger that makes them a buyer now, and the title that owns the problem. "B2B SaaS" alone produces a list nobody wants to work.

Where this skill hits its ceiling: The list is built once against the ICP you pasted. If your ICP shifts mid-quarter, the list doesn't refresh itself.

With Intempt: The SDR agent rebuilds and re-scores the list continuously as new accounts match the ICP, without a re-run step.

Get the-list-builder →

2. the-list-cleaner

The skill that pays for the rest of the pack. Runs five hygiene checks on a raw list - duplicates, wrong title, likely-gone, wrong company, broken data - and returns three things: the clean list, a kept-but-flagged table for likely-gone rows it deliberately did not remove, and a removed-rows table with a written reason per removal. Nothing disappears silently.

When to use: On every fresh export before it hits a sequence. A domain burned on a bad list is not quick to win back, and Woodpecker's data shows deliverability damage from stale lists compounds across future campaigns for weeks.

How to run:

You: "Run the-list-cleaner on this Apollo export.
      Target title: VP Sales, Head of Sales, CRO."
      [paste export]

Claude: -> clean list, ready to sequence
        -> kept-but-flagged: likely-gone rows, with why
        -> removed rows: each with a written reason
        -> summary: what got dropped, what got flagged, what survived

Best used with: Any Apollo, Clay, ZoomInfo, or LinkedIn Sales Nav export. Also works on old CRM lists that haven't been touched in six months.

Where this skill hits its ceiling: It cleans the export you pasted. It doesn't monitor the source and doesn't re-flag rows as roles change three weeks later.

With Intempt: List hygiene runs continuously against enrichment feeds, so title changes and role departures re-flag automatically instead of waiting for the next export.

Get the-list-cleaner →

3. the-fit-scorer

Scores an account list against your ICP criteria and returns priority tiers with a one-sentence rationale per account. Sits between the-list-builder and the-monday-list when your list is too big to work top-down.

When to use: When the list is too large to work in the current week and you need a defensible tiering rather than gut feel.

How to run:

You: "Run the-fit-scorer on this list.
      ICP: B2B SaaS, 50-200 employees, VP Sales present,
      funded in the last 12 months."
      [paste account list]

Claude: -> Tier 1 / Tier 2 / Tier 3 / Skip
        -> one-sentence rationale per account
        -> summary of what fired each tier

Best used with: A cleaned list (run the-list-cleaner first) and a written ICP. Feeding it a raw export first burns cycles scoring dead rows.

Where this skill hits its ceiling: Static tiering against the criteria you pasted. If a Tier 3 account raises a Series B on Thursday, the tier doesn't update itself.

With Intempt: Fit scoring is re-computed as signals arrive, so a Series B on Thursday moves the account up the queue Thursday, not next Monday.

Get the-fit-scorer →

4. the-monday-list

Turns a week's worth of intent signals - funding, new hires, job posts, stack changes - into a ranked Monday-morning outreach list with a channel per account. Signal volume isn't the bottleneck. SDR attention is. This skill turns 50 signals into 10 prioritized actions so Monday morning starts with a queue instead of a search.

When to use: Every Monday before your team's outreach begins. Also useful on Wednesday if the week is drifting.

How to run:

You: "Run the-monday-list.
      ICP: VP Sales at B2B SaaS, 50-200 employees.
      Signals this week:
      - Fieldpath hired new VP Sales (LinkedIn)
      - Tilio raised $8M Series A (Crunchbase)
      - Orbit posted 4 SDR roles (LinkedIn)
      - Stackr added Outreach (Clay)."

Claude: -> ranked queue with a channel per account
        -> one-sentence reason each account is on the list
        -> the trigger the opener should point at

Best used with: Weekly Clay digests, LinkedIn Sales Nav alerts, or any CRM with activity signals wired up.

Where this skill hits its ceiling: Monday prioritization means Thursday and Friday signals are three to four days old by the time you act on them - a long time in outbound.

With Intempt: Signal prioritization runs continuously. A signal that fires on Wednesday surfaces for outreach on Wednesday, not next Monday.

Get the-monday-list →

5. the-profile-reader

Turns a prospect's LinkedIn profile text into three distinct, evidence-grounded personalization angles - not compliments, not curiosity questions. Each angle points at a specific post, career move, or project the prospect made public. Lavender's 2024 email benchmarks show openers grounded in a specific event reach 3 to 6 percent reply rates versus 0.5 to 1 percent for generic ones. Same email length, same product, different opening line.

When to use: Before any cold email or LinkedIn connection request where the account made it past the-fit-scorer.

How to run:

You: "Run the-profile-reader on Marcus Chen, VP Sales at Fieldpath."
      [paste his LinkedIn about section + recent posts]

Claude: -> Angle A: (specific recent post / event)
        -> Angle B: (career move or company transition)
        -> Angle C: (public project or stated priority)
        -> pick order + reason

Best used with: LinkedIn Sales Navigator export or a manual profile pull. Sparse profiles produce sparse angles - the skill won't invent one.

Where this skill hits its ceiling: One prospect at a time, and the angle you picked here has no link to what actually gets sent in the sequence.

With Intempt: Personalization signals from enrichment and behavioral data feed directly into the email being composed, so the opener and the sequence stay in sync without a manual bridge.

Get the-profile-reader →

6. the-cold-opener

Writes a complete cold email body under 120 words, built on one specific trigger signal rather than generic pain. The 120-word cap isn't arbitrary - Boomerang's analysis of millions of emails found emails between 50 and 125 words get the highest reply rates, with response rates declining sharply above 200 words. Skills 1 through 5 tell you who to write to and why. This one writes the email.

When to use: After the-profile-reader gives you the angle. Before the-subject-line-lab scores the subject.

How to run:

You: "Run the-cold-opener.
      Prospect: Marcus, VP Sales at Fieldpath.
      Trigger: posted 2 days ago about onboarding 8 new SDRs
              with a stretched ops team.
      Product: Intempt - agents handle CRM updates, notes, follow-ups.
      Proof point: one team eliminated 312 hours/year of admin per rep."

Claude: -> full email body, under 120 words
        -> anchored on the specific trigger, not generic pain
        -> single CTA, no double ask

Best used with: A trigger signal that's specific, recent, and public. "They're a SaaS company" is not a trigger - a Series B announcement, a new VP hire, a stack migration, or a hiring spree is.

Where this skill hits its ceiling: One email at a time. Running the full chain (list-cleaner, fit-scorer, profile-reader, cold-opener) is four separate sessions before a sendable email exists.

With Intempt: The SDR agent researches the account, picks the strongest trigger, writes the personalized email, and queues it for rep review in a single pipeline action.

Get the-cold-opener →

7. the-sequence-doctor

Audits a full cold email sequence and returns three things: a gap analysis per email (vague value prop, wrong timing, weak CTA, subject mismatch, feature focus), full rewrites of the three weakest, and a recommendation for any missing step type - a LinkedIn touch, a breakup email, a phone step. Runs on the sequence's text and send days alone. Per-email reply rates are optional and only help it prioritize.

When to use: Before launching a new sequence, not only when an existing one has already broken. Auditing a sequence with no numbers on it is fine - the skill works from the copy.

How to run:

You: "Run the-sequence-doctor on this 5-email sequence.
      Persona: Head of Growth at B2B SaaS, 50-150 employees.
      Product: Intempt (agentic GTM, replaces fragmented tools)."
      [paste full text + send day for every email]

Claude: -> gap analysis per email
        -> full rewrites of the three weakest
        -> missing step type worth adding
        -> a note on which single change to ship first

Best used with: Your current active sequence from Outreach, Salesloft, HubSpot, Smartlead, or Intempt Journeys.

Where this skill hits its ceiling: You audit after reply rates have already dropped, retroactively. The skill can catch a weak sequence before launch, but only if you remember to run it before launch.

With Intempt: Journey workflows surface per-step open and reply signals in real time, flagging underperforming emails while the campaign is still running - before the list is burned.

Get the-sequence-doctor →

8. the-subject-line-lab

Scores five subject line variants against a cold email body and target persona, ranking them on specificity, relevance, and likely open. Subject lines account for a big share of whether the email gets opened at all, and most reps write one on feel and hit send. Five scored options in 60 seconds beats one on gut.

When to use: After the-cold-opener writes the body. Before sending at scale.

How to run:

You: "Run the-subject-line-lab.
      Persona: VP Sales, recently funded SaaS.
      Trigger: Series B, SDR hiring spree."
      [paste finished email body]

Claude: -> 5 variants, each scored
        -> reason per score (why it works, why it doesn't)
        -> recommendation + a fallback for A/B

Best used with: A finished body from the-cold-opener. Running it before you have the body scores lines against imagined content.

Where this skill hits its ceiling: You score five variants by reading. Actually A/B testing them still requires manual setup in your outbound tool, and results take days.

With Intempt: Subject line variants are A/B tested inside the platform and the winner is applied to future sends without extra configuration.

Get the-subject-line-lab →

9. the-reply-classifier

Sorts a batch of replies into six intent buckets - Interested, Later, Referred, Objection, Dead, Angry - with evidence for the bucket and a recommended next action per reply. Speed on the Interested bucket matters more than the wording of the follow-up. Classification exists so a positive reply doesn't sit for a day behind forty neutral ones.

When to use: Daily, or at the end of every batch send. A reply that lands Wednesday and gets triaged Friday is a reply that already cooled.

How to run:

You: "Run the-reply-classifier on this batch of replies."
      [paste raw thread text for each reply]

Claude: -> Interested / Later / Referred / Objection / Dead / Angry
        -> evidence quote per bucket assignment
        -> next action per reply (route to AE, book, park until Q2, apologize)

Best used with: A shared inbox export or a CRM reply queue. Also useful on a single ambiguous reply when a rep isn't sure whether it's a Later or a Dead.

Where this skill hits its ceiling: You paste replies manually. If new replies land while you're running it, they wait for the next batch.

With Intempt: Reply classification runs continuously against the shared inbox, so Interested replies route to an AE the moment they land instead of Friday afternoon.

Get the-reply-classifier →

10. the-inbox-zero-enforcer

Processes a full unhandled inbox into four buckets - Drafted, Escalated, Scheduled, Closed - so nothing sits unworked at end of day. Larger scope than the-reply-classifier: this one covers the whole unhandled queue, not only the ones that qualified as replies to a sequence.

When to use: When the inbox has days of backlog and nobody is sure what still needs a reply.

How to run:

You: "Run the-inbox-zero-enforcer on my unhandled inbox.
      Priority: prospects > current customers > internal."
      [paste inbox contents]

Claude: -> Drafted:    reply drafts ready for send
        -> Escalated:  route to AE / manager, with reason
        -> Scheduled:  reply-later with a specific date
        -> Closed:     no reply needed, with reason

Best used with: A shared team inbox, a rep's personal inbox on Monday morning, or a returning-from-holiday inbox that has more than a day of backlog.

Where this skill hits its ceiling: It processes the paste. It doesn't watch the inbox and won't intercept the next reply that lands mid-run.

With Intempt: Inbox triage runs continuously and drafts sit ready for one-click send, so Monday morning starts at zero instead of at 137.

Get the-inbox-zero-enforcer →

11. the-call-booker

Writes the booking message, the reschedule, the confirmation, and the day-before reminder that gets a warm reply onto a calendar. One skill covers the four emails, so the exchange doesn't take four rounds of back-and-forth.

When to use: The moment the-reply-classifier flags a reply as Interested.

How to run:

You: "Run the-call-booker.
      Reply from Marcus at Fieldpath: 'happy to chat, next week works'.
      My calendar: Tue/Thu afternoons EST.
      Meeting length: 20 min."

Claude: -> booking message with 2-3 specific slots
        -> reschedule template (in case of reply)
        -> confirmation message
        -> day-before reminder

Best used with: A calendar link (Calendly, Chili Piper, HubSpot Meetings) or specific times. Ambiguous availability produces ambiguous booking messages.

Where this skill hits its ceiling: It writes the messages. It doesn't hold the calendar or auto-send. Time zone confusion is still on you.

With Intempt: Interested replies trigger the booking flow automatically, with slots pulled from live calendar availability and the reminder sequence queued end-to-end.

Get the-call-booker →

12. the-no-show-save

Writes the three-stage recovery sequence for a missed meeting, plus guidance on when to stop trying based on the prospect's no-show history. A booked call that didn't show is warmer than anyone on your cold list, and usually gets one apologetic email and then silence. This is the case everyone leaves on the table.

When to use: Within the hour of a no-show, not whenever someone notices tomorrow.

How to run:

You: "Run the-no-show-save.
      Prospect: Marcus, VP Sales at Fieldpath.
      Missed: today's 3pm.
      History: first no-show with us."

Claude: -> stage 1 (same day): no guilt, reschedule offer
        -> stage 2 (day 3): different angle, single question
        -> stage 3 (day 7): breakup + door open
        -> stop criteria: when to drop from the queue

Best used with: A recent no-show. The tone works within the week; a month-old no-show is a re-engagement job, not a save.

Where this skill hits its ceiling: You have to remember to run it. If the rep doesn't notice the no-show until Thursday, the same-day stage is already stale.

With Intempt: No-shows surface automatically the moment the meeting ends without an attendee join, and the recovery sequence queues without the rep noticing.

Get the-no-show-save →

Comparison: which SDR skill to use when

SkillBest moment to useTime savedWhat you get
the-list-builderTop of a new campaign3-5 hrs per listScored list with evidence per lead
the-list-cleanerEvery fresh export, before sequencing2-4 hrs per listClean list + flagged rows + removed-rows table
the-fit-scorerWhen the list is too big to work top-down1-2 hrs per batchPriority tiers + one-line rationale
the-monday-listMonday morning1-2 hrs per weekRanked outreach queue with channel per account
the-profile-readerBefore writing an opener10-15 min per prospectThree personalization angles + pick order
the-cold-openerAfter the profile-reader gives an angle15-20 min per emailFull email body under 120 words
the-sequence-doctorBefore launch, or when replies drop2-4 hrs per auditGap analysis + rewrites + missing step type
the-subject-line-labAfter the cold-opener, before sending20-30 min per sendFive scored variants + recommendation
the-reply-classifierDaily or per batch send45-60 min per daySix intent buckets + next action per reply
the-inbox-zero-enforcerWhen the inbox has days of backlog1-3 hrs per sessionDrafted / Escalated / Scheduled / Closed
the-call-bookerWhen a reply is flagged Interested20-30 min per warm replyBooking + reschedule + confirm + reminder
the-no-show-saveWithin the hour of a no-showThe whole warm leadThree-stage recovery + stop criteria

Free Intempt tools that pair with these skills

Browser-based, sit behind a free-plan signup, produce quick outputs you can feed into the skills above.

  • AI sales email generator: First-draft email body from a brief. Use as a starting input for the-cold-opener or a fallback when the trigger signal is thin.
  • AI sales pitch generator: Pitch narrative you can paste into the-cold-opener as the product context block.
  • Meeting prep generator: Fast pre-call brief for the calls the-call-booker gets on the calendar.

What to look for in a Claude Code skill for SDR work

Not every prompt is worth wrapping in a skill file. The ones that stick share four traits.

Fixed input format. You shouldn't have to think about how to structure your data. The skill tells you exactly what to paste - a list export, a LinkedIn about section, a five-email sequence with send days.

Consistent output shape. Every run returns the same shape so downstream skills plug in without reformatting. the-reply-classifier always returns six buckets. the-cold-opener always returns a body under 120 words. The shape is what makes the pack composable.

Single use case. Skills that try to do three things do none of them well. the-list-builder builds. the-list-cleaner cleans. Neither pretends to be the other, which is why chaining them works.

Verifiable output. A rep should be able to evaluate a run in 60 seconds. A cold opener that points at a real trigger reads specific immediately; one that guesses reads generic. If you can't tell either way, the input was probably too thin.

Final thoughts: which SDR skill to install first

Start with these three, in order:

  • the-list-cleaner: fixes the layer under the sequence. An outbound problem that looks like a copy problem is usually a list problem wearing a copy costume.
  • the-cold-opener: the shortest path from a specific trigger to a sendable email. Once the list is clean, this one earns replies.
  • the-reply-classifier: makes speed on Interested replies a default state, not a Friday-afternoon habit.

Add the-monday-list and the-sequence-doctor after those three are running. Add the-no-show-save the first time a rep loses a warm lead to silence. For the broader tour that mixes AE and GTM Engineer skills into the same outbound story, see best Claude skills for outbound marketing. For the SDR pack in a single install with the full walk-through, see the SDR pack guide.

The 12 best Claude Code skills for SDRs aren't about writing better emails. They're about compressing the research, list hygiene, and reply triage that happens on either side of the email, and that's where most SDR desks lose the week. Start for free on Intempt to run this entire layer automatically, without the manual paste per account.

Frequently asked questions. Answered.

Claude Code skills are versioned SKILL.md files with a fixed input format and a defined output shape, packaged so Claude Code reads them from a local folder. For SDRs, that means a list builder that returns a scored prospect list with evidence per lead, a list cleaner that shows every removal and its reason, a cold opener that produces a full email under 120 words from one trigger signal, a reply classifier that sorts an inbox into six intent buckets, and a no-show save that recovers a booked call the same hour. Install once with npx skills add sidchaudhary/gtm-skills/skills/sdr and Claude Code picks them up automatically after a restart.

Your entire GTM in a Box.

You set the strategy. Agents run the plays. Seven AI agents across design, marketing, sales, and analytics. One customer context, tracked from first pixel to final dollar.

Start for free

More to read

Intempt - Agentic GTM Platform for Marketing & Sales