agentleFS
Theo7777Theo7777/gtm-skills/skills/cold-outreach/SKILL.md

cold-outreach

Skill1 starsChanged 48 days agoMITView on GitHub

Write one signal-driven cold email, LinkedIn connect note, or LinkedIn message for a named person. Takes what you sell, who you're writing to, and one reason to reach out now (from a library of 41 signals, or your own trigger), and returns a short message built on Hook, Why, Objection, CTA. Use when the user says "cold email for", "write outreach to", "LinkedIn connect note for", "LinkedIn message for", "signal email", or names a person, a company, and a reason to reach out. For multi-step sequences, use an email sequence skill instead.

29 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use lead-qualify, yt-search and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • kronus-techSkill

    lead-qualify

    Score and qualify an inbound lead based on budget, timeline, technical fit, and engagement signals. Auto-invoked when user says "qualify this lead", "score this lead", "is this worth pursuing".

    Also in 3 projects that use this

  • azuma520Skill

    yt-search

    Search YouTube videos, get video metadata, and download subtitles/transcripts using yt-dlp. Use when the user wants to find videos, search YouTube, look up a YouTube channel, get video info, download captions, grab subtitles, or extract a transcript. Triggers include "找影片", "搜影片", "YouTube 搜尋", "抓字幕", "逐字稿", "search videos", "find videos on YouTube", "get subtitles", "video transcript", "youtube tutorial", "watch video about", "影片推薦", "有沒有影片", "教學影片". Make sure to use this skill whenever the user mentions YouTube, video search, subtitles, or transcripts — even if they don't explicitly say "yt-search".

    Also in 3 projects that use this

  • aiskilloftheweekSkill

    proposal-generator

    Turns raw notes from a client conversation (call notes, transcript, email thread, brief, voice memo) into a ready-to-send proposal, quote or offer, with the problem in the client's own words, clear scope and exclusions, a specific price, a risk reducer, an expiry date and one dated next step. Use whenever the user needs to write, draft, finish or review a proposal, quote, estimate, offer, bid, statement of work or "preventivo", or says things like "the client asked for a quote", "turn these notes into a proposal", "I need to send them an offer". Works for any industry, offer type and client type.

    Also in 3 projects that use this

  • claude-office-skillsSkill

    email-marketing

    Email marketing automation - campaign creation, sequence building, A/B testing, deliverability optimization, and analytics

    Also in 3 projects that use this

  • indranilbanerjeeSkill

    content-repurpose

    Repurpose one content piece into 10+ channel formats with drafts and a calendar. \"repurpose this blog post\"

    Also in 3 projects that use this

  • AnthropicSkill

    pitch-deck

    Populates investment banking pitch deck templates with data from source files. Use when: user provides a PowerPoint template to fill in, user has source data (Excel/CSV) to populate into slides, user mentions populating or filling a pitch deck template, or user needs to transfer data into existing slide layouts. Not for creating presentations from scratch.

    Also in 3 projects that use this

The file

Show its rules and text

We split this skill into the rules it gives an agent

15 rules. 0 are common, 11 are distinctive, and 4 are very specific to this project.

  • 0

    Common

    Most of the 28 edited versions we read keep these.

  • 11

    Distinctive

    This author's own choices. Worth a look.

  • 4

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Look for the shared GTM context file: first .agents/product-marketing.md, then .claude/product-marketing.md.

    line 16
  2. Distinctive:

    If it exists, read it and take the sender details from it: who you target, company size, value proposition, social proof, product facts, …

    line 17
  3. Very specific:

    If the user names a profile, or you run outreach for several offers, read it from profiles/ (see profiles/_template.md).

    line 18
  4. Very specific:

    If neither exists, suggest running gtm-context for next time, but don't block.

    line 19
  5. Distinctive:

    Run the "Before you start" checks and gather inputs.

    line 39
  6. Distinctive:

    Write the hook first, from the signal.

    line 41
  7. Distinctive:

    Write the Why, add an objection handle only if one obviously stands in the way, then write one CTA.

    line 42
  8. Distinctive:

    Check every claim against the sender's social proof and the signal context.

    line 43
  9. Distinctive:

    Run the quality checklist, then return the message in the output format.

    line 44
  10. Very specific:

    Follow references/knowledge-base.md.

    line 48
  11. Distinctive:

    Never em dashes. Rewrite the sentence or use a comma.

    line 70
  12. Distinctive:

    Write ranges with "to": "three to five days".

    line 71
  13. Distinctive:

    Always use % with numerals: "42%".

    line 73
  14. Distinctive:

    No emojis, no exclamation marks.

    line 74
  15. Distinctive:

    After the message, add:

    line 88

“Common” is measured: kept by at least 6 in 10 of the 28 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Cold outreach

One person, one signal, one ask. The recipient should feel the message was written only for them, and should be able to answer it from their phone in one line.

Before you start

  1. Look for the shared GTM context file: first .agents/product-marketing.md, then .claude/product-marketing.md. The pack's gtm-context skill writes it, and it's compatible with the product-marketing-context format.
  2. If it exists, read it and take the sender details from it: who you target, company size, value proposition, social proof, product facts, and words to avoid. Only ask for what's missing.
  3. If the user names a profile, or you run outreach for several offers, read it from profiles/ (see profiles/_template.md). A profile overrides the context file where they differ.
  4. If neither exists, suggest running gtm-context for next time, but don't block. Ask up to five questions in one message, then write, and flag any assumptions under the message.

Files in this skill

  • references/knowledge-base.md: writing principles, tone, and example emails. Read it before writing.
  • references/signals.md: the 41 signals grouped by type, with strength and the extra context to ask for.
  • profiles/_template.md: optional per-offer profile for people running several offers.

Inputs

Collect these before writing. Ask for anything missing in one message, not one question at a time.

  1. Message type: email (default), linkedin-connect, or linkedin-message.
  2. Sender: target industry, company size, value proposition, and social proof. Take these from the context file or profile when available.
  3. Recipient: first name, job title, and company.
  4. Signal: match the reason for reaching out to one signal in references/signals.md. If the signal has an "Ask for context" line and the user hasn't supplied that detail, ask for it. If nothing fits, treat it as a custom signal and use the user's own description.
  5. Screenshot or link (optional): extract only the facts that serve this signal: names, tools, numbers, dates, quotes, and pains. Two to four sentences, no interpretation. Use that as the signal context.

Workflow

  1. Run the "Before you start" checks and gather inputs.
  2. Pick the signal and note its strength. A high signal can carry the hook alone. A low signal needs a second observation alongside it, or a softer ask.
  3. Write the hook first, from the signal. Run the swap test on it before writing the rest.
  4. Write the Why, add an objection handle only if one obviously stands in the way, then write one CTA.
  5. Check every claim against the sender's social proof and the signal context. Cut anything that doesn't trace back.
  6. Run the quality checklist, then return the message in the output format.

Writing the email

Follow references/knowledge-base.md. The non-negotiables:

  1. Structure is Hook, Why, Objection handle (only if needed), CTA. Each section is one or two sentences.
  2. Open on the signal. The first line could only be about this person or this company.
  3. Casual-professional tone: contractions, peer-to-peer, no corporate speak, no "I hope this finds you well".
  4. Hedge and stay tentative: "Would this be useful?" beats "This will help you". "It seems like" beats a flat claim.
  5. One CTA, answerable with yes or no.
  6. Weave in social proof only where it fits naturally. Never force it, never invent it.
  7. Sign off with the sender's name from the context file or profile, or [Your Name] if there isn't one.
  8. Subject line: short, specific, and personal to the recipient. Never "Quick question".

Writing a LinkedIn connect note

Under 300 characters including spaces. First name only. One hook (signal, company, or role), one line of relevance, and a soft ask such as "Would be good to connect". No pitch, no formal greeting.

Writing a LinkedIn message

Under 500 characters including spaces. Two or three short sentences. Reference the signal, give one value proposition, and end with one easy question. Write like a short message to a colleague. First name only, no sign-off. Include social proof only if it fits in a clause.

Typography

  • British English.
  • Never em dashes. Rewrite the sentence or use a comma.
  • Write ranges with "to": "three to five days".
  • Spell out one to nine, digits for 10 and above.
  • Always use % with numerals: "42%".
  • No emojis, no exclamation marks.

Output format

For email:

SUBJECT: [subject line]
---
[body]

For LinkedIn types, output only the text, with no subject or labels.

After the message, add:

  • One line with the word count (email) or character count (LinkedIn), so the user can see it's within limits.
  • The signal used, by its id from signals.md or "custom".
  • Any assumptions you made, if you wrote without a context file or with missing inputs.

Quality checklist

  • Swap test: replace the company name with a competitor's. If the message still works, the hook is generic. Rewrite it.
  • Email body under 120 words. Connect note under 300 characters. LinkedIn message under 500 characters.
  • The signal is referenced in the first line.
  • Exactly one ask, answerable with yes or no.
  • No fake personalisation: nothing implies you know more than the signal shows.
  • Every claim traces to the sender's social proof or the signal context. Nothing else.
  • Read aloud, it sounds like a person rather than a sequence.
  • Typography rules above are met.

Credits

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.