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
- superagi/skillstheir own version, first seen Nov 15, 2026
- aronhy/marketing-skill-hubtheir own version, first seen Nov 8, 2026
- brittanyslay/marketing-skillstheir own version, first seen Nov 5, 2026
- vijaysuperpositionist/skillstheir own version, first seen Nov 1, 2026
- Maudeunfledged834/startup-founder-skillstheir own version, first seen Oct 25, 2026
- mischker/claude-skillstheir own version, first seen Oct 20, 2026
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-techSkilllead-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
azuma520Skillyt-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
aiskilloftheweekSkillproposal-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-skillsSkillemail-marketing
Email marketing automation - campaign creation, sequence building, A/B testing, deliverability optimization, and analytics
Also in 3 projects that use this
indranilbanerjeeSkillcontent-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
AnthropicSkillpitch-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
Other versions29 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 29
- shawnpang/startup-founder-skills★ 331same name
- aronhy/marketing-skill-hub★ 186same name
- runxhq/runx★ 97same name
- Infinite-Labs-AI/infinite-skills★ 43same name
- etrebels/claude-code-growth-os★ 23same name
- YannisKiefer/dark-psychology-skills★ 20same name
- duncan-buildroom/profit-room-skills★ 18same name
- SanketSapkal/founder-skills★ 10same name
- artguru-tech-team/claude-skills-public★ 9same name
- manfromtunis/melek-skills★ 9same name
19 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository12 other files it gives its agents.
- ad-description-makerSkill
- ad-headline-makerSkill
- b2b-ad-creativeSkill
- deep-ad-researchSkill
- gtm-contextSkill
- icp-scoringSkill
- jtbd-researchSkill
- linkedin-connection-analysisSkill
- linkedin-post-distillSkill
- normalise-outreach-namesSkill
- positioning-messagingSkill
- tech-stack-prospectsSkill
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
- Very specific: line 16
Look for the shared GTM context file: first .agents/product-marketing.md, then .claude/product-marketing.md.
- Distinctive: line 17
If it exists, read it and take the sender details from it: who you target, company size, value proposition, social proof, product facts, …
- Very specific: line 18
If the user names a profile, or you run outreach for several offers, read it from profiles/ (see profiles/_template.md).
- Very specific: line 19
If neither exists, suggest running gtm-context for next time, but don't block.
- Distinctive: line 39
Run the "Before you start" checks and gather inputs.
- Distinctive: line 41
Write the hook first, from the signal.
- Distinctive: line 42
Write the Why, add an objection handle only if one obviously stands in the way, then write one CTA.
- Distinctive: line 43
Check every claim against the sender's social proof and the signal context.
- Distinctive: line 44
Run the quality checklist, then return the message in the output format.
- Very specific: line 48
Follow references/knowledge-base.md.
- Distinctive: line 70
Never em dashes. Rewrite the sentence or use a comma.
- Distinctive: line 71
Write ranges with "to": "three to five days".
- Distinctive: line 73
Always use % with numerals: "42%".
- Distinctive: line 74
No emojis, no exclamation marks.
- Distinctive: line 88
After the message, add:
“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.
Files
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
- Look for the shared GTM context file: first
.agents/product-marketing.md, then.claude/product-marketing.md. The pack'sgtm-contextskill writes it, and it's compatible with the product-marketing-context format. - 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.
- If the user names a profile, or you run outreach for several offers, read it from
profiles/(seeprofiles/_template.md). A profile overrides the context file where they differ. - If neither exists, suggest running
gtm-contextfor 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.
- Message type: email (default), linkedin-connect, or linkedin-message.
- Sender: target industry, company size, value proposition, and social proof. Take these from the context file or profile when available.
- Recipient: first name, job title, and company.
- 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. - 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
- Run the "Before you start" checks and gather inputs.
- 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.
- Write the hook first, from the signal. Run the swap test on it before writing the rest.
- Write the Why, add an objection handle only if one obviously stands in the way, then write one CTA.
- Check every claim against the sender's social proof and the signal context. Cut anything that doesn't trace back.
- Run the quality checklist, then return the message in the output format.
Writing the email
Follow references/knowledge-base.md. The non-negotiables:
- Structure is Hook, Why, Objection handle (only if needed), CTA. Each section is one or two sentences.
- Open on the signal. The first line could only be about this person or this company.
- Casual-professional tone: contractions, peer-to-peer, no corporate speak, no "I hope this finds you well".
- Hedge and stay tentative: "Would this be useful?" beats "This will help you". "It seems like" beats a flat claim.
- One CTA, answerable with yes or no.
- Weave in social proof only where it fits naturally. Never force it, never invent it.
- Sign off with the sender's name from the context file or profile, or
[Your Name]if there isn't one. - 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.mdor "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
- The signal library is inspired by Common Room's signals library (https://www.commonroom.io/resources/signals/).
- The writing principles in the knowledge base, including the claim, warrant, evidence, impact structure, are based on Za-zu's cold email handbook (https://za-zu.com/docs/handbook/cold-email/intro).
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
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.

