LinkedIn automation, run for you200 messages sent for you, in your voice · 10 places left · closes in Run my first campaign

Claude Revenue for GTM: The Full Skill Bank

Every full, original, copy-paste Claude skill built across this entire workspace, consolidated into one master bank. Nothing here is a summary or a link-out; every skill below is…

Try Prosp Free200 messages sent for you · 10 places left
5/5 rated on Capterra·Used by 800+ agencies and sales teams
Playbook29 sections
Section 1

Overview: 41 Full Skills, One Master Bank

Every full, original, copy-paste Claude skill built across this entire workspace, consolidated into one master bank. Nothing here is a summary or a link-out; every skill below is the complete SKILL.md content, ready to save and install.

41 full skills across 6 categories:

  1. Foundation and Meta Skills (4)
  2. Content Creation Skills (7)
  3. LinkedIn Outreach Skills (11)
  4. Lead List and Email Skills (8)
  5. Sales and Operations Skills (9)
  6. Automation and Digest Skills (2)

How to install any skill in this bank

mkdir -p .claude/skills/[skill-name]
# Paste the full skill content below into that folder as SKILL.md
# Claude loads it automatically once the trigger phrase matches

Every skill reads from a shared CLAUDE.md context file where one exists (ICP, offer, brand voice, banned phrases). Build that once before installing any of the skills below.

Section 2

Category 1: Foundation and Meta Skills (4 Full Skills)

The skills every other skill in this bank depends on: building context once, and building new skills from a process description.

skill-creator

mkdir -p .claude/skills/skill-creator

You are a GTM workflow engineer. Your job is to turn GTM processes into Claude skills.

Start by asking me:
1. What process do you want to turn into a skill? Describe it in one sentence.
2. What triggers this process? (a client request, a new campaign, a weekly task?)
3. What information do you need before you can run this process?
4. What does a good output look like? Be specific.
5. What should always happen in this process? What should never happen?

After I answer, ask 2-3 follow-up questions to close gaps. Then write the complete SKILL.md file in this exact format:

---
name: [slug-format-name]
description: >
  [One sentence. Tells Claude when to load this skill automatically. Must be specific to a trigger, not a topic.]
---

# [Skill Name]

## Context
[What Claude needs to know about the business before running this process]

## Trigger
[The exact situation or phrase that activates this skill]

## Process
[Numbered steps. Each step is a specific action, not a vague instruction.]

## Output
[Exact format of what gets produced.]

## Always
[Rules Claude must follow every time]

## Never
[Rules Claude must never break]

After writing the SKILL.md, ask: tell me a specific situation where you'd use this skill. Run it. Show the output. Ask if anything needs adjusting before I save it.

brand-voice

mkdir -p .claude/skills/brand-voice

---
name: brand-voice
description: >
  When I am writing any content for [BRAND NAME] including LinkedIn posts, emails,
  social captions, campaign copy, or website copy, load this brand voice skill
  automatically and apply it to every output without me asking.
---

# Brand Voice: [BRAND NAME]

## Who we are
[COMPANY NAME]. [One sentence: what you do and who you do it for].

## Tone
WE ARE: [3-5 adjectives: e.g. direct, peer-level, pragmatic, specific, dry]
WE ARE NOT: [3-5 anti-adjectives: e.g. corporate, salesy, preachy, vague, motivational]

## Sentence style
- [Describe rhythm: e.g. mostly short sentences, occasional longer ones for contrast]
- [Describe structure: e.g. one idea per line, max 3 lines per paragraph]

## Our audience
[Title and role]. [Their pain]. [What they are trying to achieve].

## What we never say
- No em dashes anywhere
- No hashtags in post bodies
- No: leverage, synergy, bandwidth, streamline, foster, genuinely, honestly
- No filler openers: I hope this finds you well, I wanted to reach out

## What we always do
- One idea per line
- Three lines maximum per paragraph
- Lead with specifics: a number, a name, a real example
- British English

## Examples of our voice (PASTE 2-3 real sentences here)
[EXAMPLE 1]
[EXAMPLE 2]

audience-profile

mkdir -p .claude/skills/audience-profile

---
name: audience-profile
description: >
  When I am writing content, emails, or ads for [BRAND NAME], load this audience
  profile automatically. Use it to calibrate word choice, assumed knowledge level,
  pain language, and what makes this specific audience take action.
---

# Audience Profile: [BRAND NAME]

## Primary persona
Name: [give them a name]
Title: [e.g. Head of Growth, Founder]
Company type: [e.g. B2B SaaS, agency]
Company size: [e.g. 10-100 employees]

## Their top 3 frustrations
1. [Frustration 1 - in their words, not marketing language]
2. [Frustration 2]
3. [Frustration 3]

## What makes them stop reading
- [Trigger 1: e.g. anything that sounds like a sales pitch in the first line]
- [Trigger 2: e.g. jargon they do not recognise]

## What makes them take action
- [Trigger 1: e.g. a specific number that proves the claim]
- [Trigger 2: e.g. a name they recognise using the tool]

## Their vocabulary
They say: [list the exact words and phrases they use about their work]
They do NOT say: [list words that would feel alien or annoying]

icp-prompt-builder

mkdir -p .claude/skills/icp-prompt-builder

---
name: icp-prompt-builder
description: >
  When building a search filter or qualification criteria for prospecting,
  load this skill.
---

Load my client-profile.yaml.

Produce the ICP search prompt for list building:
1. Exact titles to search (primary list and fallback list)
2. Seniority levels to include and exclude
3. Company size range (employees)
4. Industry or vertical filters
5. Geography filters
6. Technologies or tools they must use (if applicable)
7. The one disqualifier that rules someone out immediately
8. The exact search filter string to use
Section 3

Category 2: Content Creation Skills, Part 1 (4 Full Skills)

7 full skills covering content generation, video launch kits, calendars, and design-to-skill packaging.

content-engine

mkdir -p .claude/skills/content-engine

---
name: content-engine
description: >
  When I paste a video transcript, podcast transcript, or any long-form source
  content and ask for social posts, LinkedIn posts, threads, or an article,
  load the content engine skill and run the full repurposing workflow.
  Always load the brand-voice skill alongside this one.
---

# Content Engine

## Step 1: Mine the source, do not summarise it
Extract: the 3 most shareable claims or contrarian takes, the 1 specific
story or result that proves the main point, the vocabulary the speaker
uses, any numbers or names that could serve as hooks.

## Step 2: Produce the week of content
1. THREE LinkedIn posts, each using a different hook mechanism
   (contrarian / specific number / story opener), under 200 words each
2. TWO X/Twitter threads (list format 5-7 tweets, story format hook plus
   4-5 build tweets)
3. ONE SEO article outline: H1 as a question, 4-6 H2s, Answer Block in
   first 100 words, FAQ section

## Rules
- Never use the same hook mechanism twice in the same content set
- Never invent a stat not in the source material
- Apply brand-voice skill to all outputs

linkedin-post-writer

mkdir -p .claude/skills/linkedin-post-writer

---
name: linkedin-post-writer
description: >
  When I say write a LinkedIn post, draft a post, or give me a LinkedIn post about
  [TOPIC], load this skill. Always load brand-voice and audience-profile alongside it.
---

# LinkedIn Post Writer

## Before writing
Ask: what is the one idea this post is about? What is the specific proof
behind it? If both provided, skip and write.

## Hook selection
Select one: specific number / contrarian claim / story opener / ICP
direct address / stakes escalation / progressive milestone. Name the
hook type used at the top of the output.

## The content moat check
1. Is there a narrative, data, or physical moat in this content?
2. Could this exact post have been written by someone who typed the
   topic into Claude?
3. Is there one specific detail only the author could have included?
If question 2 is yes: add [SPECIFIC DETAIL NEEDED] placeholder.

## Output
Hook type used, the post (under 200 words), one CTA suggestion, one A/B
hook variant.

## Rules
No em dashes. No hashtags in the body. One idea per line. Never start
with I, We, or the company name.

youtube-launch-kit

mkdir -p .claude/skills/youtube-launch-kit

---
name: youtube-launch-kit
description: >
  When I paste a YouTube video transcript and ask for titles, description, chapters,
  tags, or anything to do with publishing a YouTube video, load this skill.
---

# YouTube Launch Kit

## Titles (5 options)
1. How to [OUTCOME] without [OBSTACLE] (under 60 chars)
2. I [DID X] for [TIME]. Here's what happened. (curiosity/story)
3. The [NUMBER] [THING] that [OUTCOME] (proof-led)
4. Why [COMMON BELIEF] is wrong (contrarian)
5. [AUDIENCE]: [PROMISE] (direct address)

## Description
First 125 characters: the hook. 3-5 bullets of what the viewer will
learn. Timestamps block. CTA.

## Chapters
Pull only from the actual transcript, never invent timestamps.

## Tags (10-15)
Mix of exact match, related terms, long-tail phrases.

## Thumbnail text (3 options, under 5 words each)
Number-led / outcome-led / curiosity-led.

## Pinned comment
Under 100 words. One sentence on the video, one soft CTA.

editorial-calendar

mkdir -p .claude/skills/editorial-calendar

---
name: editorial-calendar
description: >
  When I ask to plan my content, build a content calendar, schedule posts,
  or plan [N] weeks of LinkedIn content, load this skill.
---

# Editorial Calendar Builder

## Intake
Content pillars, posting frequency, channels, any events/launches,
formats to test.

## Build
For each slot: date, channel, pillar, angle, hook type, format, lead
magnet opportunity (Y/N). Format as a table.

## Anti-repetition rules
No hook type twice in one week. No pillar twice in one week (unless
only one pillar exists). No two consecutive posts same format.
At least one lead magnet CTA post per two weeks.

## Second output
List the 3 posts most likely to perform well and why.
Section 4

Category 2: Content Creation Skills, Part 2 (3 Full Skills)

3 more content skills: cross-platform repurposing and the two Claude Design template-to-skill packaging skills.

youtube-to-linkedin repurposing

mkdir -p .claude/skills/youtube-to-linkedin

When a team member asks you to repurpose a YouTube video into a LinkedIn post,
follow this process:

1. Pull the transcript of the referenced video. If no link or transcript is
   provided, ask for one.
2. Review our 3 most recent published LinkedIn posts to match current tone.
3. Identify the single strongest idea from the video. Do not cover everything.
4. Draft a LinkedIn post:
   - Open with a specific, concrete hook (a number, a result, a direct claim)
   - Short paragraphs, no more than 2-3 sentences each
   - One clear takeaway
   - End with a low-friction engagement prompt, not a hard sell
   - No hashtags, no emojis unless brand voice already uses them
5. Provide 2 hook variations for the opening line.
6. Confirm the source video title and timestamp for verification.

brand-system-extractor

mkdir -p .claude/skills/brand-system-extractor

Extract a design system from the source material provided.
Source: [WEBSITE URL, PITCH DECK, NOTION PAGE, OR BRAND NOTES]

Produce a structured output folder containing:
- Exact colour values (hex codes, not colour names or descriptions)
- Exact font names and where each is used (headings vs body vs captions)
- Logo files and usage rules (minimum size, clear space, backgrounds
  it can and cannot sit on)
- Image and photography style (tone, treatment, whether people are shown)
- A written list of hard constraints Claude Design must follow exactly,
  phrased as absolute rules, not stylistic suggestions
  (e.g. "Background is always #0D0D0D" not "the site uses dark colours")

Save as design-system/ ready to upload into Claude Design onboarding.

linkedin-carousel-builder

mkdir -p .claude/skills/linkedin-carousel-builder

Use the exported HTML carousel template at [PATH TO TEMPLATE].
Topic: [YOUR TOPIC]

Produce:
1. A finished carousel using the template's title slide, body layout
   variations (numbered point, big-statistic, screenshot, closing CTA),
   and brand design system exactly as built.
2. 5 LinkedIn post caption options, each written from a different angle
   for the same carousel (a question hook, a contrarian take, a specific
   number, a story opener, a direct audience callout).
3. A first-comment CTA to pair with the post.

Export each carousel card as an individual PNG, card content only,
no background, ready to upload directly to LinkedIn.

Apply brand-voice.md if available. No em dashes. No hashtags in captions.
Section 5

Category 3: LinkedIn Outreach Skills, Part 1 (6 Full Skills)

The first 6 of 11 LinkedIn outreach skills: the core 4-skill system plus connection notes and reply handling.

linkedin-outreach

mkdir -p .claude/skills/linkedin-outreach

Run a LinkedIn outreach campaign.
Load CLAUDE.md for ICP and offer.

8-stage flow: intent-first ICP discovery (sell/recruit/network), draft
ICP proposal, filter editing before running, company search, decision
maker extraction (CEO/CTO/Founder), false positive filtering, multi-
account selection with dedup, connection sends with campaign log.

Connection note: reference something specific about their company or
role. Under 200 characters. No pitch.

Rules: check daily cap before starting, report remaining budget. Filter
out open-to-work, no real company, junior with no authority. Log every
send to ./campaigns/{today}-outreach.md. If cap reached, stop and
report what was completed.

linkedin-high-intent

mkdir -p .claude/skills/linkedin-high-intent

Run a high-intent lead campaign from a LinkedIn post.
Post URL: [PASTE LINKEDIN POST URL]

Scrape all commenters and reactors. Filter visible signal first before
enriching (conserve credits). Only enrich profiles that pass the
visible filter. Only send to profiles scoring as ICP match after
enrichment.

Connection note format: reference the post they engaged with. Under
200 characters. No pitch. Sound human.
Example: "Saw your comment on [post topic]. Made me think. Worth
connecting."

Log all sends to ./campaigns/{today}-high-intent.md.
Check daily cap at Stage 0 and report remaining budget.

linkedin-feed-engage

mkdir -p .claude/skills/linkedin-feed-engage

Run a LinkedIn feed engagement session.
Load CLAUDE.md for ICP.

Comment mode: [auto / templated / HITL-approved]

Comment rules:
- 2 to 3 sentences per comment
- Must add something the post did not say
- No mention of my product or company
- No generic praise: "Great post" is banned
- Sound like a peer, not a vendor
- No em dashes

Pacing: 30 to 60 seconds between comments. Stop at 15 comments maximum.
Log every comment to ./campaigns/{today}-feed-engage.md with the post
URL and comment text. Check daily cap at Stage 0 before starting.

linkedin-enrich

mkdir -p .claude/skills/linkedin-enrich

Enrich these LinkedIn profiles.
Profile URLs: [paste LinkedIn profile URLs, one per line]

Output format: [markdown table / CSV / JSON]
Fields: current role and title, current company, location, professional
email if findable, relevant skills.

Rules: check ./enrichments/ from the last 30 days before running any
lookup. Skip any profile already enriched, note it was skipped. Log all
enrichments to ./enrichments/{today}-enrich.md. Check daily profile cap
(100/day) at Stage 0. Report how many profiles were skipped due to
deduplication.

linkedin-connection-note-writer

mkdir -p .claude/skills/linkedin-connection-note-writer

---
name: linkedin-connection-note-writer
description: >
  When writing a LinkedIn connection request note for a specific prospect,
  load this skill. Always produces a note under 200 characters with no pitch.
---

## Inputs needed
Prospect name and title. Context available: post they engaged with /
job change / shared connection / company news / none. My offer (tone
calibration only, never mentioned in the note).

## Priority order
1. A specific post or comment they made recently
2. A recent job change or company milestone
3. A shared connection or mutual interest
4. If none: a specific, real detail from their profile (never generic)

## Rules
Under 200 characters. No pitch. Sound like a peer noticing something.
No em dashes. Never "I'd love to connect" with no specifics.

## Output
Return 2 note variants using different angles.

linkedin-reply-classifier

mkdir -p .claude/skills/linkedin-reply-classifier

---
name: linkedin-reply-classifier
description: >
  When a LinkedIn DM reply comes in and needs to be classified for next
  action, load this skill.
---

## Classify into
1. POSITIVE_INTEREST 2. POSITIVE_BUT_BUSY 3. NEUTRAL_QUESTION
4. OBJECTION 5. NOT_INTERESTED 6. OUT_OF_OFFICE_OR_AUTOMATED
7. ESCALATE_TO_HUMAN

For each: classification, confidence (high/medium/low). If
POSITIVE_INTEREST or NEUTRAL_QUESTION: suggested next message. If
POSITIVE_BUT_BUSY: extract the follow-up date if given. If OBJECTION:
which specific objection. If ESCALATE_TO_HUMAN: one-line reason.

Rules: when in doubt between two categories, classify toward
ESCALATE_TO_HUMAN. Never auto-draft a reply for OBJECTION or
ESCALATE_TO_HUMAN without human review first.
Section 6

Category 3: LinkedIn Outreach Skills, Part 2 (5 Full Skills)

The remaining 5 LinkedIn outreach skills: scoring, list building, sequencing, reporting, and profile authority.

linkedin-post-engager-scorer

mkdir -p .claude/skills/linkedin-post-engager-scorer

---
name: linkedin-post-engager-scorer
description: >
  When scoring a list of people who engaged with a LinkedIn post to
  prioritise outreach order, load this skill.
---

Input: raw list of engagers (name, title, company, engagement type,
comment text if applicable), plus ICP from CLAUDE.md.

Engagement depth score (1-3): 3 = substantive comment, 2 = short
comment/repost, 1 = liked only.
ICP fit score (1-3): 3 = exact match, 2 = adjacent, 1 = no match.
Combined priority = engagement depth x ICP fit (max 9).

Output: ranked list, highest first, with recommended action (connect
now / feed-engage first / skip). Recommend "feed-engage first" for
high ICP fit but low engagement depth.

linkedin-icp-list-builder

mkdir -p .claude/skills/linkedin-icp-list-builder

---
name: linkedin-icp-list-builder
description: >
  When building a fresh LinkedIn prospect list from ICP criteria with no
  existing post or creator to work from, load this skill.
---

Input: ICP from CLAUDE.md (titles, company type, size, geography,
disqualifiers). Target list size: [N]

Process: search using ICP filters, verify against disqualifiers, check
against existing campaign logs from last 30 days (exclude contacted),
prioritise profiles with recent activity (posted/commented in last 14
days).

Output: prospects.csv with name, title, company, profile URL, last
active, priority. Stop at target size or daily search cap, whichever
first. Flag if criteria return fewer than half target size.

linkedin-warm-dm-sequencer

mkdir -p .claude/skills/linkedin-warm-dm-sequencer

---
name: linkedin-warm-dm-sequencer
description: >
  When writing a warm DM sequence for a newly accepted LinkedIn connection
  or an engaged prospect, load this skill. Output is handed to Prosp for
  scheduled sending.
---

Input: prospect name/title/company, how the relationship started,
specific context available, my offer.

Touch 1 (within 24 hours): reference specific context, human/non-pitchy
question, no offer mention, under 150 characters.
Touch 2 (3 days later): different angle, relevant insight or question,
still no pitch, under 200 characters.
Touch 3 (7 days after touch 2): honest low-pressure check-in, can
introduce offer briefly, no guilt, under 150 characters.

Rules: no em dashes. If touch 1 gets a reply, do not send touch 2, hand
to linkedin-reply-classifier instead.

Output: {name, touch_1_text, touch_1_send_date, touch_2_text,
touch_2_send_date, touch_3_text, touch_3_send_date, source_context}

linkedin-campaign-reporter

mkdir -p .claude/skills/linkedin-campaign-reporter

---
name: linkedin-campaign-reporter
description: >
  When summarising LinkedIn outreach campaign performance from raw metrics,
  load this skill.
---

Input: connections sent, connections accepted, DMs sent, replies
received, meetings booked, per campaign or per week.

Calculate: connection acceptance rate, reply rate, meeting conversion
rate, week-over-week change.

Output: This Week in One Sentence, Performance table, What the Numbers
Suggest, Recommended Action for Next Week.

Rules: if acceptance rate below 15%, flag the connection note as the
likely bottleneck. If acceptance healthy but reply rate low, flag the
DM sequence. Never present a change as significant without enough
volume behind it.

linkedin-authority-builder

mkdir -p .claude/skills/linkedin-authority-builder

---
name: linkedin-authority-builder
description: >
  Use when auditing, rewriting, or repositioning a LinkedIn profile for
  credibility and search visibility.
---

## Step 1: The one identity
Ask: if you could only be known for one thing, what would it be? Who
specifically needs to see this profile? What's the one outcome you want
after reading it?

## Step 2: The audit
Flag: claims with no evidence, the invisible reader (third-person
distance), the dead end (no next action), the pile-up (undifferentiated
skills list), the stale signal, the keyword gap, the broken trail.

## Step 3: Rewrite
Headline: [who you help] + [outcome] + [credibility marker].
About: hook, problem, proof, CTA. First person, direct address.
Experience: [what was done] + [context/scale] + [measurable result].
Skills: remove generic fillers, cluster fragmented skills, land on a
focused list.

## Rules
Never invent a number or credential the user did not provide. Never
soften a real audit finding.
Section 7

Category 4: Lead List and Email Skills, Part 1 (5 Full Skills)

The first 5 of 8 lead list and email skills: sourcing, filtering, and finding emails without paying for a lookup credit.

raw-list-source

mkdir -p .claude/skills/raw-list-source

Build a raw lead list at minimum cost: domain and name only, no email lookups.

Source: [Google Maps scraper / Prospeo / Apollo / Clay / Outscraper]
Search parameters: business type or title, location, volume.

Explicitly restrict output fields to only: company name, company
domain/website, contact first and last name (if available).
Do not enable or request any email or phone lookup at this step.
Output as raw-leads.csv.

If names are missing entirely, flag which rows are missing a name so
they can be researched separately before the email-finding step.

icp-filter-pass

mkdir -p .claude/skills/icp-filter-pass

Filter this raw lead list against my ICP before any email lookup happens.

List file: raw-leads.csv
ICP criteria: company type, size, industry, geography, disqualifiers.

For each row: visit the company website, check against ICP criteria,
mark KEEP or DROP with a one-line reason for each DROP.

Model: use a fast, low-cost model (Haiku), not a frontier model.
Output: filtered-leads.csv (KEEP rows) plus dropped-leads.csv (DROP rows
and reasons). Use sub-agents in parallel batches if list exceeds 500 rows.

email-finder

mkdir -p .claude/skills/email-finder

Find or infer the verified email address for each contact in this list.

List file: filtered-leads.csv
Fields per row: company domain, first name, last name.

For each row:
1. Check the company domain for publicly visible emails (team pages,
   about pages, press contacts, footer) to identify the actual format
2. If no pattern visible, generate candidates in priority order:
   first.last@ / firstlast@ / first@ / f.last@ / flast@
3. For each candidate, note confidence (high/medium/low)
4. Select the single highest-confidence candidate per contact

Output: prospect-list-with-emails.csv with company, domain, first name,
last name, guessed email, confidence, pattern used. Flag low-confidence
rows for manual verification. Use a low-cost model, this is
pattern-matching not reasoning.

verify-and-segment

mkdir -p .claude/skills/verify-and-segment

Process this list through email verification and segment by result.

List file: prospect-list-with-emails.csv
Verification tool: [name your verifier API]

1. Submit all emails for verification
2. Categorise: valid, catch-all, unknown, invalid
3. Split into: valid-leads.csv (safe to send), catch-all-leads.csv
   (review before sending), unknown-leads.csv (hold), invalid-leads.csv
   (discard or retry pattern)
4. For invalid: attempt one additional email pattern before discarding

Return a summary: total processed, count and % per category, final
safe-to-send count.

list-quality-scorecard

mkdir -p .claude/skills/list-quality-scorecard

Grade this lead list before I upload it.

List file: valid-leads.csv
ICP criteria: [load from client-profile.yaml]

Score across 8 dimensions: email validity, title match, company size
fit, geography match, duplicate rate, missing fields, role seniority,
domain health.

Return: score per dimension (0-100), overall grade (A/B/C/D/F), top 3
issues to fix, whether safe to use as-is or needs cleaning first.
Only a B grade or above moves to a live sending platform.
Section 8

Category 4: Lead List and Email Skills, Part 2 (3 Full Skills)

The remaining 3 lead list skills: list expansion and personalised cold email.

disco-like

mkdir -p .claude/skills/disco-like

Find lookalike companies for my ICP.

Seed: [5-10 domains of best-fit customers OR describe ICP in plain language]

Find [N] companies similar to these. For each: company name and domain,
why it matches, size estimate, geography, whether already contacted
(check against existing leads CSV).

Exclude any company already in my leads database.
Output as lookalike-companies.csv ready for the sourcing step.

competitor-engagers

mkdir -p .claude/skills/competitor-engagers

Find people engaging with competitor content on LinkedIn.

Competitor LinkedIn profiles to monitor: [list URLs]
Posts to scrape: [recent posts showing product features, pricing, use cases]

For each post: scrape all commenters and reactors, filter for ICP
matches (load client-profile.yaml), find verified email for each match.

Output: name, title, company, email, LinkedIn URL, which post they
engaged with. Output as competitor-engagers.csv.
For outreach: the connection note should reference the specific post.

cold-email-personaliser

mkdir -p .claude/skills/cold-email-personaliser

---
name: cold-email-personaliser
description: >
  When I give you a LinkedIn URL, a company name, or a prospect profile and
  ask for a cold email, first line, outreach angle, or email sequence,
  load this skill. Always apply brand-voice skill to all output.
---

My offer: [ONE SENTENCE]
My ICP: [TITLE, COMPANY TYPE, SIZE, FUNCTION]

## Personalisation waterfall (use the first verifiable signal)
1. HIRING SIGNAL: role indicating relevant pain
2. TECH STACK SIGNAL: tool indicating relevant pain
3. CONTENT/POSITIONING SIGNAL: something they said publicly
4. COMPANY MILESTONE SIGNAL: funding/hire/launch in last 90 days
5. FALLBACK: something specific and real, flagged as FALLBACK

## Email structure (strict, under 100 words total)
Line 1: personalised opener (under 25 words)
Line 2: connect their situation to the problem (under 20 words)
Line 3: one-sentence offer with proof if available
Line 4: soft CTA, one question, not a calendar link

## Subject line (3 variants, under 33 characters each)

## QA checks
Word count under 100. No em dashes. No banned phrases. No fabricated
facts. Signal confidence noted (high/medium/low).

## 3-touch sequence (if requested)
Touch 1 (Day 1): above format
Touch 2 (Day 3): different angle, under 80 words
Touch 3 (Day 7): honest breakup, under 50 words
Section 9

Category 5: Sales and Operations Skills, Part 1 (5 Full Skills)

The first 5 of 9 sales and operations skills: day planning, lead qualification, objection handling, client reporting, and morning digests.

gtm-day-planner

mkdir -p .claude/skills/gtm-day-planner

You are a GTM operations manager. You plan the day for a GTM engineer or
agency owner running multiple outbound campaigns simultaneously.

At the start of every session, ask me:
1. What active client campaigns do you have running right now?
2. For each: current status? (Active / stalled / in setup / awaiting data)
3. What happened overnight or since you last checked?
4. What are you most worried about today?
5. Any external deadlines, client calls, or commitments before 12pm?

Produce:
**Tier 1: Fix before anything else (0-30 min)** - max 2 items
**Tier 2: Move forward now (30-60 min)** - max 3 items
**Tier 3: Handle in the afternoon (defer)**
**Claude Code sessions to queue today**
**The one question to answer first**
**Protect this time**

Rules: never more than 2 items in Tier 1. Always include a Claude Code
session if enrichment/sequence work is in Tier 2. Flag any campaign
stalled 3+ days regardless of tier. End with the single most important
thing to accomplish before 11am.

lead-qualifier

mkdir -p .claude/skills/lead-qualifier

# SKILL: Lead Qualification

## The one qualification question
Is this person responsible for generating revenue or building GTM
systems at their company? If yes, proceed. If no, skip.

## Qualify if
Role: Director, Founder, Owner, Manager, C-suite. Company type: SaaS,
B2B, agency. Function: owns or influences outbound, lead gen, or GTM.

## Skip if
Open to work badge. Pure IC with no GTM responsibility. Students/hobbyists.

## Scoring
Tier 1 (contact immediately): exact title match, ICP-range company,
active signal (posted about GTM recently, hired, funding announced).
Tier 2 (contact within 3 days): adjacent title, company matches but
size unclear, no recent signal but clearly in ICP.
Tier 3 (if capacity allows): partial match, GTM influence unclear.

## Discovery questions that qualify while building rapport
1. Who owns outbound at your company right now?
2. What does your current lead gen motion look like?
3. How many people are on the sales or marketing team?
4. Who decides on new tools in the GTM stack?

objection-handler

mkdir -p .claude/skills/objection-handler

# SKILL: Objection Handling

## 1. "We already have something for this"
Means: don't want another vendor evaluation.
Phone: "What are you using and is it covering everything you need?"
Email: "Most teams we work with had something in place before us. The
question is whether it's covering [specific gap]. Worth a quick check?"

## 2. "We are not ready right now"
Means: not a priority, or an undisclosed budget constraint.
Phone: "Is that a timing thing or a priority thing?"

## 3. "Your price is too high"
Means: not enough perceived value yet.
Phone: "Is it the absolute number, or the value relative to cost?"

## 4. "I need to talk to my team"
Means: not the decision maker or not convinced enough to champion it.
Phone: "Who else would be part of the conversation?"

## 5. "We are in a budget freeze"
Phone: "Is the freeze across the board or are specific lines still moving?"

## When to push and when to let go
Push when the objection is a reason, not a decision. Let go after three
reasons and zero curiosity about your response.

client-report

mkdir -p .claude/skills/client-report

# SKILL: Client Report

## Step 1: Intake
Which client? What input (transcript/notes/metrics/all)? Primary focus
this week? Wins to lead with? Anything NOT to include?

## Step 2: Client language filter
"Bounce rate exceeded threshold" -> "We cleaned the contact list to
protect domain health"
"Sequence hit send cap" -> "Campaign is running at full planned volume"
"Open rate dropped" -> "We are testing new subject line angles this week"

## Step 3: Report format
**This Week in One Sentence**
**Performance** (table: metric, this week, last week, target)
**What We Learned**
**What We Are Doing Next Week** (3 numbered actions with reasons)

## Rules
Never write "we are optimising" without explaining what that means.
Never hide a problem. Under 250 words total.

gtm-digest

mkdir -p .claude/skills/gtm-digest

---
name: gtm-digest
description: Generate your daily GTM signal digest and post it to Slack.
---

## Step 1: Pull campaign performance signals
Check for deliverability alerts, bounce notifications. Check for new
positive replies not yet responded to. Flag overnight bounce rate over
4%. Flag any sequence paused automatically.

## Step 2: Pull client communications
Search for client messages received after 6pm last night and before
7am today.

## Step 3: Post to Slack
*GTM Morning Signal - [Date]*
*Campaigns*: name, status, reply rate, positive replies, flags
*Needs Response Today*
*Deliverability Flags*
*New ICP Signals*
*Client Messages After Hours*

## Rules
Never flag as urgent unless it requires action before noon. Always
include a suggested action for deliverability flags. Omit empty
sections entirely. Maximum 25 lines.
Section 10

Category 5: Sales and Operations Skills, Part 2 (4 Full Skills)

The remaining 4 sales and operations skills: decision-making, competitive research, campaign briefing, and meeting notes.

decide

mkdir -p .claude/skills/decide

---
name: decide
description: Decision memo with contrarian check for GTM engineers.
---

Three sequential passes: Structurer (organise into options with
assumptions, pros, cons), Contrarian (find holes, hidden assumptions,
second-order effects), Synthesizer (recommend, name reversibility, kill
criteria).

## Interview (one question at a time)
1. What is the decision? 2. What are the options? 3. Why now?
4. What's your gut leaning? 5. What would have to be true for your gut
to be wrong? 6. Who gets affected by each option? 7. Reversible within
90 days?

## GTM-specific contrarian checks
Tooling: is this a tool problem or a copy/ICP/angle problem?
Hiring: have you automated everything that can be automated first?
Client: taking this because they're a fit, or because you need revenue?

## Rules
Never recommend a tool change for a copy/ICP problem. Never recommend
hiring before asking if the work can be systematised. Always name
reversibility. No em dashes.

competitive-brief

mkdir -p .claude/skills/competitive-brief

---
name: competitive-brief
description: When researching a competitor or briefing before a call where
a competitor might come up, load this skill.
---

Research [COMPETITOR] from their website, G2 reviews (last 90 days),
LinkedIn (last 30 days), job postings.

Return:
1. Positioning in their own words
2. Top 5 customer complaints (from G2, in customers' own words)
3. What hiring signals reveal about their roadmap
4. One claim we can make that they cannot make back
5. What to say when their name comes up on a call
6. The one thing they are doing well (honesty check)

Rules: verify any pricing or feature claim before including it. Never
invent a G2 complaint.

campaign-brief

mkdir -p .claude/skills/campaign-brief

---
name: campaign-brief
description: When asked to brief or plan a campaign for an offer or launch,
load this skill. Always load brand-voice and audience-profile alongside it.
---

## Step 1: Intake
Campaign purpose, primary audience, single desired action, timeline,
available channels, proof/case study to use.

## Step 2: The honest advisor check
Name the one assumption this campaign lives or dies on and the
cheapest test to validate it before full build.

## Step 3: Write the brief
Campaign name and goal. Positioning statement (For/Who/Is the/Unlike
format). Messaging hierarchy (4 levels). Channel plan table (channel,
role, message, format, timing). Asset list. Success metrics with kill
thresholds. Explicit out-of-scope list (minimum 2 items).

## Rules
No em dashes. Never write a goal as "increase awareness" without a
measurable proxy metric.

meeting-notes

mkdir -p .claude/skills/meeting-notes

---
name: meeting-notes
description: When I paste a meeting transcript or say clean up these notes,
synthesise this call, or write up the meeting, load this skill.
---

## Step 1: Classify
Meeting type: client call / internal / sales discovery / strategy / other.

## Step 2: Extract 4 signals
Decisions made (only agreed items, format: [Decision] - agreed by [who]).
Action items ([Task] - [Owner] - [Due date or trigger], flag if no date).
Open questions ([Question] - raised by [who] - status).
One-paragraph summary, under 80 words, no jargon.

## Step 3: Sales discovery calls (additional)
Pain in their exact words. Decision process. Timeline. What they need
to see next. Agreed next step with date. ICP fit: hot/warm/cold.

## Rules
Never invent a decision not explicitly made. Never invent a due date,
flag if none stated.
Section 11

Category 6: Automation and Digest Skills (2 Full Skills)

The final 2 skills in the bank: autonomous lead research triggered by a channel signal, and a daily cross-business brief.

autonomous-lead-research

mkdir -p .claude/skills/autonomous-lead-research

Whenever a new lead notification appears in this channel (for example,
from a scheduling tool), automatically run the following without being
tagged:

1. Identify the lead's full name and company from the notification.
2. Find their LinkedIn profile. Summarise their current role, tenure,
   and any recent activity relevant to our product.
3. Visit their company website. Summarise what the company does, its
   size if determinable, and any recent news.
4. Produce a call prep brief:
   - Company overview (2-3 sentences)
   - About the person (role, background, anything notable)
   - Suggested meeting agenda (3-4 bullets tailored to likely needs)
   - Likely objections (2-3, based on company profile)
5. Deliver as a structured one-pager for the sales rep.
6. Keep it concise, no generic filler.
7. If you cannot confidently find LinkedIn or company info, say so
   explicitly rather than guessing or fabricating.

daily-cross-business-brief

mkdir -p .claude/skills/daily-cross-business-brief

Every morning at [TIME], compile a daily brief covering the last 24
hours across the business. Include, where data is available:

1. Content performance: published content and how it performed
   relative to typical benchmarks.
2. Pipeline activity: new leads booked, meetings held, deal movement.
3. Community or customer activity: notable questions, feedback themes.
4. Critical escalations: anything urgent or time-sensitive, listed
   first and clearly marked.
5. One-sentence summary at the top: the single most important thing
   that happened in the last 24 hours.

Deliver as a structured dashboard, not a wall of text. If a section has
nothing to report, state that plainly rather than omitting it silently.
Section 12

Quick Reference: All 41 Skills and Install-Everything Block

All 41 skills, install-everything block, and how to keep the bank growing.

All 41 skills by category

Foundation and Meta (4): skill-creator, brand-voice, audience-profile, icp-prompt-builder

Content Creation (7): content-engine, linkedin-post-writer, youtube-launch-kit, editorial-calendar, youtube-to-linkedin, brand-system-extractor, linkedin-carousel-builder

LinkedIn Outreach (11): linkedin-outreach, linkedin-high-intent, linkedin-feed-engage, linkedin-enrich, linkedin-connection-note-writer, linkedin-reply-classifier, linkedin-post-engager-scorer, linkedin-icp-list-builder, linkedin-warm-dm-sequencer, linkedin-campaign-reporter, linkedin-authority-builder

Lead List and Email (8): raw-list-source, icp-filter-pass, email-finder, verify-and-segment, list-quality-scorecard, disco-like, competitor-engagers, cold-email-personaliser

Sales and Operations (9): gtm-day-planner, lead-qualifier, objection-handler, client-report, gtm-digest, decide, competitive-brief, campaign-brief, meeting-notes

Automation and Digest (2): autonomous-lead-research, daily-cross-business-brief

Total: 41 full, installable skills.

Install everything at once

mkdir -p .claude/skills/{skill-creator,brand-voice,audience-profile,icp-prompt-builder,content-engine,linkedin-post-writer,youtube-launch-kit,editorial-calendar,youtube-to-linkedin,brand-system-extractor,linkedin-carousel-builder,linkedin-outreach,linkedin-high-intent,linkedin-feed-engage,linkedin-enrich,linkedin-connection-note-writer,linkedin-reply-classifier,linkedin-post-engager-scorer,linkedin-icp-list-builder,linkedin-warm-dm-sequencer,linkedin-campaign-reporter,linkedin-authority-builder,raw-list-source,icp-filter-pass,email-finder,verify-and-segment,list-quality-scorecard,disco-like,competitor-engagers,cold-email-personaliser,gtm-day-planner,lead-qualifier,objection-handler,client-report,gtm-digest,decide,competitive-brief,campaign-brief,meeting-notes,autonomous-lead-research,daily-cross-business-brief}

mkdir -p campaigns enrichments content/drafts content/published reports

Then save each skill's full content from the 6 category pages above into its matching folder as SKILL.md.

What to build first

Week 1: skill-creator, brand-voice, audience-profile, icp-prompt-builder. Everything else reads from these.

Week 2: whichever category matches your biggest bottleneck. Content bottleneck: the 7 content creation skills. Outreach bottleneck: the 11 LinkedIn skills. List-building bottleneck: the 8 lead list and email skills.

Week 3: the 9 sales and operations skills, since these depend on the campaigns already running from Week 2 to have real data to work with.

Week 4: the 2 automation skills, once there is a real Slack/notification setup for them to trigger from.

Growing the bank: use skill-creator on any new process you repeat more than once. This bank was built the same way, one skill at a time, as each need became clear.

Section 13

Claude for Cold Calling: Scripts, Voice Agents, and Call Coaching (1)

Section 14

Overview: What Claude Can and Cannot Do on a Phone Call

Sources: TheCraigHewitt/skills (47 skills, MIT), gtm-skills.com (2,500+ prompts, MIT, real Vapi voice-agent templates for cold calls), and mcpmarket.com's Cold Call Scripts skill (5-step framework). Plus 5 full original skills built for this lead mag covering the parts none of those sources fully document.

Cold calling is the one GTM channel almost nobody builds a real Claude system for, because it feels like the one thing AI can't touch. That's wrong. Claude can write the script, adapt it live based on what the prospect says, generate the voicemail, and turn the call recording into a coaching plan afterward. It cannot make the call itself without a voice platform behind it (Vapi is the one both sourced repos build for), but everything around the call is fully automatable.

5 modules:

  1. What's real out there: the 3 sourced repos and what they actually offer
  2. Script Generation: the 5-step framework and openers that don't get hung up on
  3. Gatekeeper Navigation and Voicemail
  4. Voice Agents: deploying agentic cold calls with Vapi
  5. Call Review to Coaching Plan

The honest limitation upfront

Claude does not make phone calls. Everything in this lead mag either prepares you for a human-dialled call, or hands a script to a voice platform (Vapi is what both sourced repos below build for) that actually places the call. Know which category each module falls into before building around it.

Section 15

Module 1: The 3 Real Sourced Repos

Three real, sourced repos with cold calling material. None of them are reproduced verbatim here; each is described accurately from what was actually found.

TheCraigHewitt/skills

47 skills across CEO, Sales, YouTube, and General categories, MIT licensed. The sales category includes a dedicated cold-call skill described as covering openers that don't get hung up on, gatekeeper navigation, and voicemail that earns callbacks. Every sales skill in the repo reads from a shared sales-context.md file (your ICP, value prop, proof points) so scripts personalise automatically once that context exists.

npx skills add TheCraigHewitt/skills/sales
# Run the sales-context skill first, every other skill reads it

gtm-skills.com (Prospeda)

An open-source, MIT-licensed GTM operating system: 2,500+ prompts, agent workflows, a browser extension, and an MCP server. The Voice Templates section specifically covers agentic voice calls built for Vapi (a voice AI platform): 10 ready-to-deploy templates covering MEDDPICC discovery calls, executive cold call scripts, objection handling flows, voicemail frameworks, and follow-up sequences.

# MCP server integration for Claude Desktop
# 10 AI tools and 6 interactive UIs, install via their documented MCP setup
# Voice templates deploy directly to Vapi, one-click

The voice template format follows a trigger-based opener structure: reference something specific about the prospect (a recent action or event) before asking the actual question, rather than opening with a generic pitch.

mcpmarket.com: Cold Call Scripts skill

A standalone Claude Code skill specifically for generating personalised cold call scripts using what is described as a proven 5-step framework, positioned for sales prospecting and meeting booking.

Section 16

Module 2: Script Generation, The 5-Step Framework

The original full skill for generating a cold call script, built around a 5-step structure and the trigger-based opener pattern documented across the sourced repos.

The 5-step script structure

  1. Opener: reference something specific and real about the prospect or their company. Never "how are you today."
  2. Permission: a short, low-pressure line asking if now is a bad time, which paradoxically increases the odds of getting a real answer rather than an automatic deflection.
  3. Reason for calling: one sentence, tied directly to the trigger referenced in the opener.
  4. The question: one specific, easy-to-answer question that reveals whether this is worth continuing, not a pitch.
  5. The ask: book time, or a permission-based next step if the timing is wrong.

Full skill: cold-call-script

mkdir -p .claude/skills/cold-call-script

---
name: cold-call-script
description: >
  When writing a cold call script or opener for a specific prospect,
  load this skill.
---

# Cold Call Script

## Input needed
Prospect name, title, company. Trigger signal (a recent event, hire,
funding round, or public activity). My offer in one sentence.

## The 5-step structure
1. OPENER: reference the specific trigger. Under 15 words.
2. PERMISSION: "Is this a bad time, or do you have 30 seconds?"
3. REASON: one sentence connecting the trigger to why you're calling.
4. THE QUESTION: one specific, easy-to-answer question. Never a pitch.
5. THE ASK: book time, or offer a permission-based follow-up if the
   timing is genuinely wrong.

## Rules
- Total script under 100 words when read aloud
- No corporate language, write it the way a person actually talks
- Never open with "How are you today"
- The question in step 4 must be answerable in one sentence
- If no real trigger is available, ask for one before writing rather
  than inventing a fake one

## Output
The full script, plus 2 alternate openers using different trigger
angles if more than one signal is available.
Section 17

Module 3: Gatekeeper Navigation and Voicemail

Two original full skills for the parts of a cold call that happen before you reach the actual decision-maker.

Full skill: gatekeeper-navigation

mkdir -p .claude/skills/gatekeeper-navigation

---
name: gatekeeper-navigation
description: >
  When writing a script or response for navigating a gatekeeper (a
  receptionist, EA, or screener) before reaching the actual decision maker,
  load this skill.
---

# Gatekeeper Navigation

## Core principle
A gatekeeper's job is to filter, not to block. Sound like someone who
belongs on the call, not someone trying to sneak past.

## Scenarios to prepare for

1. "Who's calling and what is this regarding?"
Response: [YOUR NAME] from [COMPANY]. I need two minutes with [TARGET
NAME] about [SPECIFIC, CONCRETE REASON, not "following up" or "sales"].

2. "[TARGET NAME] is not available right now."
Response: No problem, when is a better time to try? Or: what's the best
way to get a message to them directly?

3. "Can you send an email instead?"
Response: Happy to. What's the best address? [Send the email
immediately, referencing the call, so the gatekeeper's note and your
email arrive together.]

4. "What company are you with?"
Answer directly and immediately. Hesitation here reads as evasive.

## Rules
- Never lie about who you are or why you're calling
- Never ask the gatekeeper to make the decision for the target
- Always leave a specific, memorable reason for the call, not a vague one
- Treat the gatekeeper as a person, not an obstacle

Full skill: voicemail-generator

mkdir -p .claude/skills/voicemail-generator

---
name: voicemail-generator
description: >
  When writing a voicemail script for a prospect who did not answer,
  load this skill.
---

# Voicemail Generator

## The structure
1. Name and company, said clearly and slowly
2. The specific reason for the call (same trigger logic as the cold
   call script)
3. One sentence on what you were hoping to discuss
4. A low-friction next step: "I'll try again Thursday, or feel free to
   reach me at [NUMBER]"
5. Repeat your name and number once more at the end, slowly

## Rules
- Under 20 seconds when read aloud
- Never leave more than one voicemail with the exact same script for
  the same prospect
- No urgency language ("time-sensitive", "don't miss out")
- Sound like a real person leaving a real message, not reading a script

## Output
Generate 2 versions: a first-voicemail version and a second-voicemail
version (for the same prospect, different angle, referencing that this
is a follow-up).
Section 18

Module 4: Voice Agents, Deploying Agentic Cold Calls

How the sourced repos actually deploy agentic voice calling, and what building on top of that looks like practically.

What the voice templates cover

From gtm-skills.com: 10 Vapi-ready templates covering MEDDPICC discovery calls, executive cold call scripts, objection handling flows, voicemail frameworks, and follow-up sequences. These are voice agent configurations, not text scripts; Vapi is the platform that actually places and conducts the call using the script as its conversational base.

Full skill: voice-agent-script-adapter

Takes a written cold call script (from Module 2) and adapts it into the branching format a voice AI platform needs: not a single linear script, but a decision tree that handles the actual range of things a prospect might say.

mkdir -p .claude/skills/voice-agent-script-adapter

---
name: voice-agent-script-adapter
description: >
  When converting a written cold call script into a branching format for
  a voice AI platform (Vapi or similar), load this skill.
---

# Voice Agent Script Adapter

## Input
The base script from cold-call-script. My offer. Common objections I hear.

## Build the branches
1. Opening line (fixed)
2. Permission check: branch on yes / no / ambiguous response
   - Yes: proceed to reason for calling
   - No: "When's a better time?" then end call politely
   - Ambiguous: repeat the permission question once, differently phrased
3. Reason for calling (fixed)
4. The question: branch on interested / not interested / needs more info
   - Interested: move to the ask
   - Not interested: one polite probe, then graceful exit
   - Needs more info: give one more sentence of context, then re-ask
5. The ask: branch on yes / no / maybe
   - Yes: confirm details, end call
   - No: leave door open, end call politely
   - Maybe: offer a specific low-commitment next step

## Output format
A structured branching script with each node numbered, each branch
labelled, and the exact language for each path. Formatted for direct
import into a voice agent platform's flow builder.

## Rules
- Every branch must end somewhere, never leave a dead end
- Objection responses must be specific to what was actually said, not generic
- Flag any branch where a human should take over rather than the
  agent continuing (a complex objection, a request to speak to someone
  specific by name)
Section 19

Module 5: Call Review to Coaching Plan

The original full skill for turning a call recording or transcript into a specific, actionable coaching plan.

Full skill: cold-call-review

mkdir -p .claude/skills/cold-call-review

---
name: cold-call-review
description: >
  When reviewing a cold call transcript or recording for coaching purposes,
  load this skill.
---

# Cold Call Review

## Input
Call transcript or recording. Was the outcome: booked / not interested /
callback requested / no answer / other.

## What to score
1. Did the opener reference something specific, or was it generic?
2. Did the permission check happen, or did the rep launch straight
   into a pitch?
3. Was the reason for calling tied to the opener, or disconnected?
4. Was the question in step 4 answerable in one sentence, or too broad?
5. Talk ratio: did the rep talk more than the prospect? (A cold call
   with a rep talking over 70% of the time is a warning sign.)
6. How were objections handled: acknowledged and addressed, or talked over?
7. Was there a clear, specific ask at the end?

## Output
**What worked**: 2-3 specific moments, quoted or paraphrased from the
call, not generic praise.
**What to fix**: the single biggest issue, not a list of five minor
ones. Specific enough to practice.
**One thing to try on the next call**: one concrete, testable change.

## Rules
- Never give more than one "thing to fix" per review; multiple
  corrections at once do not get practiced
- Quote the actual transcript when flagging an issue, do not paraphrase
  into something softer
- If the call was genuinely good, say so plainly rather than manufacturing
  a critique

Chaining the full system

1. cold-call-script writes the base script from a real trigger signal
2. gatekeeper-navigation preps responses for screening scenarios
3. voicemail-generator produces the fallback for no-answer calls
4. voice-agent-script-adapter converts the script to branching format
   if deploying via Vapi rather than dialling manually
5. After the call: cold-call-review turns the recording into one
   specific thing to improve next time
Section 20

Quick Reference: All 5 Skills and Install Commands

All 5 skills, the sourced repo install commands, and the full pipeline in one place.

All 5 skills

cold-call-script: the 5-step opener-to-ask script, built from a real trigger signal.

gatekeeper-navigation: responses for the 4 most common screening scenarios.

voicemail-generator: under-20-second voicemail, first and second-attempt versions.

voice-agent-script-adapter: converts a linear script into a branching flow for Vapi or similar.

cold-call-review: turns a recording into one specific coaching point, never more than one at a time.

Install everything

mkdir -p .claude/skills/{cold-call-script,gatekeeper-navigation,voicemail-generator,voice-agent-script-adapter,cold-call-review}

# Plus the sourced repos for additional coverage
npx skills add TheCraigHewitt/skills/sales
# gtm-skills.com: browse Vapi voice templates at gtm-skills.com/voice-templates

The realistic starting point

Most teams should start manual, not with a voice agent. Build cold-call-script, gatekeeper-navigation, and voicemail-generator first, use them to prep for real human-dialled calls, and run cold-call-review after each batch to improve. Only move to voice-agent-script-adapter and an actual Vapi deployment once the manual script is genuinely converting, since an agentic voice call amplifies a good script and equally amplifies a bad one.

Section 21

The Claude SDR Stack: A Full Junior Rep Replacement System (1)

Section 22

Overview: The 6 Jobs an SDR Actually Does

Sources: the 80+ Claude Code Sales Skills lead mag already built in this workspace, TheCraigHewitt/skills (47 skills, MIT), HubSpot/agent-cli-skills (official CRM skills), gtm-skills.com (2,500+ prompts, MIT, role playbooks including a dedicated SDR track), plus 6 full original skills chaining the whole thing into one daily routine.

The framing: a full SDR's day has 6 real jobs, prospecting, research, outreach, CRM logging, meeting prep, and reporting. Individually, plenty of tools cover one of these. This stack chains all 6 into a single daily routine a founder or GTM engineer can run without hiring the headcount, using skills already documented in this workspace plus 3 sourced repos filling the remaining gaps.

6 modules, one per job:

  1. Morning: Prospecting and List Building
  2. Research: The Account and Contact Brief
  3. Outreach: Multi-Channel Sequencing
  4. CRM: Logging Without Opening the Browser
  5. Pre-Call: Meeting Prep in 5 Minutes
  6. End of Day: Pipeline Reporting

The honest scope of this stack

This replaces the repetitive, high-volume work a junior SDR does: building lists, writing first-draft outreach, logging activity, prepping briefs. It does not replace judgment calls that need a human: deciding whether a prospect is genuinely worth pursuing past the data, reading tone on a live call, or negotiating. Route those to a human every time; automate everything else.

Section 23

Module 1: Morning, Prospecting and List Building

The morning job: building today's target list before any outreach happens.

Sourced skills for this stage

From the 80+ Claude Code Sales Skills lead mag: /sales-prospect, /sales-research, /sales-icp for defining and searching against ICP criteria.

From TheCraigHewitt/skills: lead-research (account/contact research covering trigger events, org charts, tech stack, intent signals) and icp-scoring from LeadMagic/gtm-skills for prioritisation tiers.

npx skills add TheCraigHewitt/skills/sales
npx skills add LeadMagic/gtm-skills

From gtm-skills.com: role-specific SDR prompts for prospecting are organised inside their Role Playbooks section, covering the full SDR workflow specifically rather than a generic sales prompt applied to every seat.

Full original skill: daily-prospect-list

mkdir -p .claude/skills/daily-prospect-list

---
name: daily-prospect-list
description: >
  When building today's outreach target list, load this skill. Runs first
  in the daily SDR routine.
---

# Daily Prospect List

## Input
ICP from CLAUDE.md. Yesterday's contacted list (to exclude). Target
volume for today: [N]

## Process
1. Search against ICP criteria (title, company type, size, geography)
2. Check each result against yesterday's contacted list and the last
   30 days of campaign logs, exclude duplicates
3. Prioritise: any prospect with a visible trigger signal (job posting,
   funding, recent LinkedIn activity) ranks above ones without
4. Stop at target volume or when signal-quality prospects run out,
   whichever first

## Output
todays-list.csv: name, title, company, signal type (if any), signal
detail, priority (high/medium/low)

## Rules
Never pad the list with low-fit prospects to hit a volume target.
Report the actual count if it falls short and why.
Section 24

Module 2: Research, The Account and Contact Brief

The research job: turning a name on a list into enough context to write something real.

Sourced skills for this stage

From the 80+ Claude Code Sales Skills lead mag: /sales-research for the account and contact deep-dive.

From chadboyda/agent-gtm-skills: lead-enrichment (enrichment waterfalls, ICP scoring formulas, Clay workflows, confidence thresholds).

npx skills add chadboyda/agent-gtm-skills

Full original skill: account-brief

mkdir -p .claude/skills/account-brief

---
name: account-brief
description: >
  When researching a specific prospect or account before outreach or a call,
  load this skill.
---

# Account Brief

## Input
Prospect name, title, company. Any signal already identified from
daily-prospect-list.

## Research
1. Company overview: what they do, size, recent news (last 90 days)
2. The specific trigger signal, verified and detailed
3. The prospect's likely priorities based on their role and the
   company's current stage
4. One specific, real detail worth referencing in outreach (not
   generic praise)
5. Any visible reason this might NOT be a fit (be honest, do not spin
   a weak lead into a strong one)

## Output
A one-paragraph brief: company context, the signal, the angle to lead
with, and a confidence rating (high/medium/low) on whether this is
worth prioritising.

## Rules
If research turns up nothing beyond generic company info, say so
plainly rather than manufacturing a false signal.
Section 25

Module 3: Outreach, Multi-Channel Sequencing

The outreach job: turning the research into an actual multi-channel sequence.

Sourced skills for this stage

From the 80+ Claude Code Sales Skills lead mag: /sales-outreach, /sales-cadence, plus the platform-specific sequencing skills (/sales-salesloft, /sales-apollo-sequences, /sales-lemlist, /sales-smartlead, and more, one per major sequencing tool).

From TheCraigHewitt/skills: cold-email (plain text, under 100 words, one ask), outbound-sequence (orchestrates across email, LinkedIn, and cold call, deciding when to use which channel), linkedin-outreach.

npx skills add TheCraigHewitt/skills/sales

Full original skill: daily-outreach-batch

mkdir -p .claude/skills/daily-outreach-batch

---
name: daily-outreach-batch
description: >
  When running today's outreach across the full prospect list, load this
  skill. Uses account-brief output for each prospect.
---

# Daily Outreach Batch

## Input
todays-list.csv with account briefs completed. My offer and brand voice
from CLAUDE.md.

## For each prospect
1. Write a cold email: under 100 words, one specific reference from the
   brief, one ask
2. If a LinkedIn signal exists, write a connection note under 200
   characters referencing it
3. Score each draft 1-10 for specificity before including it. Only
   include drafts scoring 7+; flag the rest for manual rewrite

## Output
outreach-batch.csv: name, company, email_subject, email_body,
linkedin_note (if applicable), specificity_score

## Rules
No em dashes. No fabricated facts about the prospect. Never send two
touches with the same angle to the same prospect on the same day.
Section 26

Module 4: CRM, Logging Without Opening the Browser

The CRM job: logging activity so nothing lives only in someone's memory.

Sourced skills for this stage

From HubSpot/agent-cli-skills (official, built by HubSpot's own engineering team): deal-management (full deal lifecycle from the terminal), crm-lookup (find records by ID/email/domain), crm-data-quality (find incomplete records, normalise fields, dedupe), sales-execution (log calls, notes, meetings, and tasks against contacts and deals).

npx skills add HubSpot/agent-cli-skills

From the 80+ Claude Code Sales Skills lead mag: the 9 CRM platform skills for teams not on HubSpot (/sales-salesforce, /sales-attio, /sales-pipedrive, and others).

Full original skill: crm-activity-logger

mkdir -p .claude/skills/crm-activity-logger

---
name: crm-activity-logger
description: >
  When logging today's outreach and any call activity into the CRM,
  load this skill. Runs after daily-outreach-batch and after any calls.
---

# CRM Activity Logger

## Input
outreach-batch.csv (what was sent today). Any call notes or transcripts
from today.

## Process
1. For each row in outreach-batch.csv, log an activity: contact,
   channel, date, content sent, status (sent/pending)
2. For any call, log: contact, duration if known, outcome, next step,
   any notes worth flagging for a human
3. Flag any contact where this is the 3rd+ touch with no reply, for
   review on whether to continue the sequence

## Output
A CRM-ready activity log formatted for whichever CRM skill is
connected (HubSpot, Salesforce, or other), plus a summary: total
activities logged, contacts needing sequence review.

## Rules
Never mark an activity as complete without a real timestamp. Flag any
record that appears to be a duplicate before logging it.
Section 27

Module 5: Pre-Call, Meeting Prep in 5 Minutes

The pre-call job: turning a booked meeting into a briefing document, not a scramble.

Sourced skills for this stage

From yeutterg/claude-code-sales-skills: sales-calendar, which scans your Google Calendar, identifies each meeting, and generates targeted questions based on MEDDPICC gaps and competitive intel for that specific account. Described as turning 30 minutes of manual prep into 5.

git clone https://github.com/yeutterg/claude-code-sales-skills

From the 80+ Claude Code Sales Skills lead mag: /sales-call-prep, /sales-discovery.

Full original skill: meeting-brief-generator

mkdir -p .claude/skills/meeting-brief-generator

---
name: meeting-brief-generator
description: >
  When prepping for a scheduled call or meeting, load this skill.
---

# Meeting Brief Generator

## Input
Meeting details (attendee, company, meeting type). The account-brief
and CRM history for this contact if available.

## Produce
1. Company and contact recap (2-3 sentences)
2. What we know so far: prior touches, any replies, the signal that
   started this relationship
3. 3-4 targeted questions specific to this account, not generic
   discovery questions
4. The one thing most likely to derail this call (a known objection,
   a competitor they might mention, a budget concern)
5. The specific outcome to aim for by the end of this call

## Output
A one-page brief, scannable in under a minute before the call starts.

## Rules
Questions must be specific to this account's context, not a generic
template. If prior CRM history is thin, say so rather than inventing
context.
Section 28

Module 6: End of Day, Pipeline Reporting

The reporting job: closing the loop so the whole stack shows what's actually working.

Sourced skills for this stage

From yeutterg/claude-code-sales-skills: sales-weekly, which generates a weekly report with Red/Yellow/Green deal health scoring and pushes it directly to Salesforce.

From the 80+ Claude Code Sales Skills lead mag: /sales-pipeline, /sales-reporting.

Full original skill: sdr-daily-summary

mkdir -p .claude/skills/sdr-daily-summary

---
name: sdr-daily-summary
description: >
  When closing out the day, load this skill to summarise today's SDR
  activity and flag anything needing attention tomorrow.
---

# SDR Daily Summary

## Input
todays-list.csv, outreach-batch.csv, today's CRM log, today's meeting
briefs and outcomes.

## Compile
1. Prospects contacted today: count, and how many were high-priority
2. Replies received today: count and classification (positive/neutral/
   negative/out of office)
3. Meetings held or booked today
4. Anything flagged for human review (a 3rd-touch no-reply, a
   borderline lead, an ambiguous reply)
5. The one thing to prioritise first thing tomorrow

## Output
A short daily summary, under 150 words, formatted for a Slack post or
a quick morning read. Not a full report, a scan.

## Rules
Always lead with what needs human attention, not with volume metrics.
Volume without quality signal is not the headline.

The full daily chain

1. daily-prospect-list builds today's target list
2. account-brief runs on each prospect (or the top N by priority)
3. daily-outreach-batch drafts the actual outreach for each
4. crm-activity-logger logs what was sent
5. meeting-brief-generator preps any calls booked for today
6. sdr-daily-summary closes the day and flags tomorrow's priority
Section 29

Quick Reference: All 6 Skills, Install Commands, and the Human Handoff Rule

All 6 original skills, every sourced repo install command, and the honest handoff rule for when this stack needs a human.

All 6 original skills

daily-prospect-list: builds today's target list, excludes anyone contacted in the last 30 days.

account-brief: turns a name into a real, honest research brief.

daily-outreach-batch: drafts email and LinkedIn outreach for the full list, self-scores for specificity.

crm-activity-logger: logs every touch and call, flags stale sequences for review.

meeting-brief-generator: turns a booked call into a one-page brief in under a minute to read.

sdr-daily-summary: closes the day, leads with what needs human attention, not volume.

Install everything

mkdir -p .claude/skills/{daily-prospect-list,account-brief,daily-outreach-batch,crm-activity-logger,meeting-brief-generator,sdr-daily-summary}

# Sourced repos filling the remaining gaps
npx skills add TheCraigHewitt/skills/sales
npx skills add HubSpot/agent-cli-skills
npx skills add LeadMagic/gtm-skills
npx skills add chadboyda/agent-gtm-skills
git clone https://github.com/yeutterg/claude-code-sales-skills

# Browse gtm-skills.com's SDR-specific role playbook
# gtm-skills.com/role for the full track

Where a human has to take over

This stack drafts and logs. It does not decide whether a borderline lead is genuinely worth pursuing past what the data shows, it does not read tone on a live call, and it does not negotiate. Every skill above is built to flag rather than guess when it hits one of these judgment calls, specifically so the stack stays useful instead of becoming something that quietly produces confident-sounding nonsense at volume.

10 pilot places left · closes in

Run a free pilot on your own list

We source the list, write the messages in your cloned voice and send 200 of them. You approve every draft and keep every reply.

5/5 rated on Capterra·800+ agencies and sales teams·Set up in 5 minutes
10 free pilot places left this monthTry Prosp Free