Cold email
Quick answer
- 01What is it?
- Write or rewrite cold outreach emails to founders, VCs, recruiters, journalists, partners. 5-block structure (hook/value/ask/easy-yes/sign-off), ≤120-word budget, banned ceremony, anti-template subjects. Wraps writer. The value is a focused slice of email marketing judgment, useful when several similar skills cover the same ground.
- 02Inputs
- Context for email marketing: your goals, audience, constraints, and any source material the skill asks for.
- 03Output
- A ready-to-use result for email marketing: the analysis, copy, or recommendations the agent produces.
Add this skill
Install as a package
Installs this one skill package for your coding agent, including any supporting files that skill ships with — not every skill in the repository. Read the tutorial.
$ npx skills add mikefluff/skills --skill cold-emailSkill instructions
The instruction file for this skill. The skill also includes other files you need to install to use it.
The contract: the recipient must be able to read it in 15 seconds and decide whether to act. Every word that doesn't earn that 15 seconds is a tax.
Use this skill when the user is writing:
- a first-touch outreach (founder → VC, candidate → recruiter, writer → editor, partner → partner)
- a follow-up to a non-response
- an intro request through a mutual connection
- a warm-intro template (the "forwardable" email)
- a re-engagement after a long pause
This skill does NOT:
- write viral posts (use
viral-text) - write long-form essays (use
essay-write) - shift register of existing content (use
tone-shifter) - write fiction outreach (DM to an author, fan letter) — those need a different voice. </objective>
ROLE
Read context (who is the recipient, what's the ask, what's the proof) → assemble the email with the 5-block structure → respect the length budget → run the banned-patterns check → final pass through writer.
PIPELINE
-
Gather intent. Ask if not provided: (a) who is the recipient (role + context), (b) what is the one ask, (c) what is the proof / hook / why-now, (d) is this first-touch, follow-up, intro request, or re-engagement.
-
Pick structure. See
references/structure.mdfor the 5-block template adapted to the email type. First-touch and follow-up have different leads. -
Length-budget check. See
references/length-budget.md. Hard cap: 200 words. Target: ≤120 words for first-touch. If draft exceeds budget, cut — see the cut-list in length-budget.md. -
Banned-patterns check. See
references/banned-patterns.md. Strip ceremony, hedges, vague intros, "I hope this email finds you well", "Hope you're doing great", "Just checking in". -
Final
writerpass. 4-layer cleanup. Even more strict than usual: cold email has no slack for slop.Delete the water, not the function. The ask, the easy-yes, the proof link and the sign-off are the email's working parts. Writer's default treatment is deletion; applied here it produces a polished note that requests nothing. Treat them by replacement or simplification. After the pass, verify the ask is still present and still specific. See
forbidden-substitutions.mdin thewriterskill. -
Output. Subject line + body. Subject line follows its own rules (see
references/structure.mdsection 6).
MODES
cold-email first-touch <recipient> --ask <ask> --proof <proof>— initial outreachcold-email follow-up <previous>— write a follow-up that doesn't repeat the originalcold-email intro-request <intro-via> --asking-for <intro-to> --why <reason>— ask a mutual contactcold-email forwardable <recipient-context> --ask <ask>— the "forwardable" template designed to be pasted by the intro-giver into a separate threadcold-email re-engage <last-context>— re-open after silence
REFERENCES (load on demand)
| File | When to load |
|---|---|
| references/structure.md | When assembling the email — 5-block template per type, subject-line rules |
| references/banned-patterns.md | After draft is assembled — the strip pass |
| references/length-budget.md | When the draft exceeds 120/200 words — the cut-list |
EXAMPLES
See examples/ — three calibration emails (first-touch, follow-up, intro-request).
CONSTRAINTS
- One ask per email. If the user wants two asks, write two emails.
- No multi-paragraph windups. The first sentence must contain a hook or be the hook. No "I'm reaching out because I've been a longtime admirer of your work in X."
- Proof must be specific. "We grew 4x in 6 months" beats "We've grown significantly." "I wrote the iOS chapter of Y" beats "I have experience in mobile."
- Subject line must NOT include "Quick question", "Touching base", "Hi", or the recipient's name as a desperate hook. See structure.md section 6.
- Sign-off plain. "Best, Name" or "Thanks, Name". Not "Cheers, Name" unless it matches your voice. Not "Warm regards" unless you genuinely use it.
INVOCATION HINTS
When the user says any of:
- "write a cold email / outreach / pitch / intro request"
- "help me email this [VC / recruiter / journalist / founder]"
- "draft an outreach to ..."
- "write a follow-up to ..."
- "intro me to X via Y"
- "warm intro template"
RU triggers (use the skill when the user writes any of):
- "холодное письмо / холодный аутрич / письмо инвестору / письмо рекрутёру"
- "напиши outreach / напиши письмо ..."
- "фоллоу-ап / фолоуап / follow-up к ..."
- "интро через X к Y / попроси Y представить меня"
- "переоткрыть переписку / re-engage"
- "перепиши это письмо короче и без воды"
Use this skill. If the message is internal (manager, team, peer who already knows you), use tone-shifter with target friendly-professional instead.
For RU outreach (formal register, отчества, обращение «вы»), see references/structure-ru.md — it overrides a few defaults from structure.md (greeting, sign-off, ceremony bans).
Supporting file: examples/before-after.md
cold-email — calibration before/after pairs
4 paired examples covering EN founder→VC first-touch, EN sales→enterprise buyer, RU founder→Russian VC, and EN follow-up after no-reply. Each pair shows a generic «Hope this finds you well» template (the kind a competent professional sends when they don't know any better) and the same email rewritten under cold-email's 5-block structure with anchored opening, specific proof, single ask, and easy yes.
How to read these:
- The Before has the classic failure modes: ceremony openers («Hope this finds you well»), vague intros («I'm reaching out because»), no anchor («I'm a big fan of your work»), no specifics («significant growth», «extensive experience»), no ask the recipient can act on in 15 seconds, hedge language («I was wondering if», «would love to»), and a generic closing line. Subject line is empty calorie.
- The After rewrites under cold-email's rules: subject line carries the hook, body opens with a specific anchor («Saw the X round»), proof is in concrete numbers and named names, one ask with a time-bound, easy-yes lower-friction option, plain sign-off. Length budget ≤120 words for first-touch, ≤80 for follow-up.
- The Deltas name the specific patterns removed (with word counts) and the rule references (
structure.md,banned-patterns.md,length-budget.md).
Example 1 — EN founder → VC (first-touch)
Context. A US-based B2B SaaS founder writes to a Series-A partner whose fund just led a round in an adjacent vertical (developer tools). The founder has $2.1M ARR, 12 enterprise customers, three of them recognizable names. Wants a 20-minute meeting to walk the deck.
Before (~175 words)
Subject: Quick question
Hi Patricia,
I hope this email finds you well! My name is David Kim and I'm the co-founder and CEO of Nimbus, a B2B SaaS startup that's been disrupting the developer-tools space for the past 22 months.
I've been a longtime admirer of your work at Magnet Ventures, and I was incredibly impressed by your recent investment in DevForge. Given the synergies I see between our work and your portfolio, I wanted to reach out personally to introduce myself.
We've been growing rapidly — we now have a number of enterprise customers and significant ARR. Our customer base includes several well-known companies, and our product is being used by thousands of developers globally. I would love to set up a quick call to discuss potential opportunities for collaboration and learn more about your investment thesis.
Would you be open to a 30-minute Zoom next week? I'm flexible with timing.
Looking forward to hearing from you!
Best regards, David Kim Co-founder & CEO, Nimbus Technologies Inc.
After (~98 words)
Subject: $2.1M ARR in dev tools — fit for Magnet?
Hi Patricia,
Saw the DevForge round — congrats on leading. We're in an adjacent wedge: pre-merge code-review automation for engineering teams of 20-200. $2.1M ARR over 22 months, 12 enterprise customers including Stripe, Datadog, and Cloudflare.
Raising A in Q3. Worth 20 min next week to see if Magnet would be a fit?
Happy to send the deck cold either way.
Best, David Kim Co-founder, Nimbus · nimbus.dev
Deltas
- Subject «Quick question» → «$2.1M ARR in dev tools — fit for Magnet?» (banned-patterns.md §Subject-line bans; carries one number, one shared-context anchor, fits under 50-char cap) — structure.md §6
- «I hope this email finds you well!» — removed (-9 words; banned-patterns.md §Ceremony openers)
- «My name is David Kim and I'm the co-founder and CEO of Nimbus, a B2B SaaS startup that's been disrupting...» (24 words of bio in sentence 1) → name moves to signature; role implied by context; «disrupting» cut entirely (-24; structure.md §Block 1)
- «I've been a longtime admirer of your work» — removed (-8 words; banned-patterns.md §Vague intros — flattery without proof)
- «I was incredibly impressed by your recent investment» → «Saw the DevForge round — congrats on leading» (-5 words; one specific deal referenced; CEO position of «led» the round shown via «leading») — structure.md §Anchored opening
- «Given the synergies I see between our work and your portfolio» — removed (-12 words; CORPORATE)
- «We've been growing rapidly» / «a number of enterprise customers» / «significant ARR» / «several well-known companies» / «thousands of developers globally» (39 words of vague proof) → «$2.1M ARR over 22 months, 12 enterprise customers including Stripe, Datadog, and Cloudflare» (15 words of specific proof; net -24, +specificity) — structure.md §Block 2
- «I would love to set up a quick call to discuss potential opportunities for collaboration and learn more about your investment thesis» → «Raising A in Q3. Worth 20 min next week to see if Magnet would be a fit?» (-19 words; one specific ask, time-bounded, one purpose) — structure.md §Block 3
- «30-minute Zoom» → «20 min» — lower friction (structure.md §Block 3 timing)
- «I'm flexible with timing» — removed (-3 words; implied)
- «Looking forward to hearing from you!» → «Happy to send the deck cold either way» (-5 words; banned «looking forward», replaced with easy-yes that offers a next step) — banned-patterns.md §Closing line bans + structure.md §Block 4
- «Best regards» → «Best» (default per structure.md §Sign-off)
- «Nimbus Technologies Inc.» → «Co-founder, Nimbus · nimbus.dev» (one line, one link, no legal entity in signature)
- Total: 175 → 98 words, well under 120-word first-touch target — length-budget.md §First-touch
Example 2 — EN sales → enterprise buyer (first-touch)
Context. An account executive at a security-tooling vendor writes to a VP of Engineering at a 2,000-person fintech. The AE has a real anchor: the VP recently spoke on a podcast about their supply-chain-security migration. The product genuinely solves the next-step problem the VP described as «still open».
Before (~165 words)
Subject: Opportunity to enhance your security posture
Dear Mr. Reyes,
I hope you are doing well. My name is Sarah Chen and I am a Senior Account Executive at SentinelStack, a leading provider of supply-chain security solutions. I'll keep this brief — I know you must be incredibly busy.
I came across your podcast appearance on the Engineering Edge show and was very impressed by your insights on supply-chain security. We've been helping companies like yours strengthen their security posture, and I think there might be some great synergies between our work and what you're doing at Mercury Pay.
I'd love to schedule a 30-minute call to learn more about your current challenges and explore how SentinelStack might be able to help. Would next Tuesday or Wednesday work for you?
Looking forward to your favorable response!
Warm regards, Sarah Chen Senior Account Executive, SentinelStack Inc.
After (~110 words)
Subject: SBOM signing gap you mentioned on Engineering Edge
Hi Marco,
On Engineering Edge (ep 87, the 34-minute mark) you said SBOM-signing was «still open» after the supply-chain migration. That gap is the specific thing SentinelStack closes — signs SBOMs at build, verifies at deploy, blocks unsigned artefacts in the CI/CD layer with one config line.
Three Mercury-Pay-shape customers running it in prod today: Plaid, Brex, Modern Treasury. Median time-to-first-signature in production after rollout: 11 days.
Worth 20 min next week to show the Brex deployment shape? They had the closest stack to yours.
Or a 'no' is fine — I'll send the architecture one-pager cold and stop.
Best, Sarah Chen SentinelStack · sentinelstack.io
Deltas
- Subject «Opportunity to enhance your security posture» → «SBOM signing gap you mentioned on Engineering Edge» (banned subject «Opportunity to {anything}» — banned-patterns.md §Subject-line bans; replaced with specific shared context the recipient owns) — structure.md §6
- «Dear Mr. Reyes» → «Hi Marco» (overly formal in cold outreach; recipient's culture is podcast-going engineering exec, not enterprise procurement) — structure.md §Block 1 opening
- «I hope you are doing well» — removed (-5 words; banned-patterns.md §Ceremony openers)
- «My name is Sarah Chen and I am a Senior Account Executive at SentinelStack, a leading provider of supply-chain security solutions» (22 words of bio + self-description) → name moves to signature; product mention compressed into the body sentence that actually does work; «leading provider» removed (banned-patterns.md §Multi-paragraph windup + banned MARKETING_HYPE) — net -22 words
- «I'll keep this brief — I know you must be incredibly busy» — removed (-12 words; banned-patterns.md §Ceremony openers, both clauses)
- «I came across your podcast appearance ... was very impressed by your insights» → «On Engineering Edge (ep 87, the 34-minute mark) you said SBOM-signing was "still open"» (-7 words; replaces generic flattery with timestamped, quoted anchor) — banned-patterns.md §Vague intros + structure.md §Anchored opening
- «strengthen their security posture» / «great synergies» — removed (CORPORATE; banned)
- Added concrete proof: 3 customers (Plaid, Brex, Modern Treasury) + 1 number (11 days time-to-first-signature) — structure.md §Block 2 (proof = numbers + named names)
- «30-minute call to learn more about your current challenges and explore how SentinelStack might be able to help» (20 words) → «20 min next week to show the Brex deployment shape» (10 words; one specific ask, one specific deliverable, time-bounded, references the closest-shape customer) — structure.md §Block 3
- «next Tuesday or Wednesday» — removed (over-specifying availability before the recipient has even agreed)
- «Looking forward to your favorable response!» → «Or a 'no' is fine — I'll send the architecture one-pager cold and stop» (-3 words but adds an easy-yes + out, which is the highest-ROI line in the email) — banned-patterns.md §Closing line bans + cold-email outreach.md §calibration note on the «no is fine» pattern
- «Warm regards» → «Best» (banned in cold outreach; too formal) — structure.md §Sign-off bans
- «Senior Account Executive, SentinelStack Inc.» → «SentinelStack · sentinelstack.io» (title dropped — implied by context, and the role isn't what earns the meeting; the SBOM-specific anchor is)
- Total: 165 → 110 words, under 120-word first-touch target
Example 3 — RU founder → Russian VC (first-touch)
Context. Фаундер B2B fintech-сервиса для малого бизнеса пишет партнёру российского/СНГ-фокусированного фонда. $600K ARR, 14 клиентов (включая два узнаваемых российских ритейлера), 18 месяцев с запуска. Фонд недавно вложился в Trinity Bank — смежная вертикаль, но не пересекаются. Цель — встреча на 20 минут.
Before (~200 слов)
Тема: Здравствуйте!
Добрый день, уважаемый Дмитрий Викторович!
Надеюсь, моё письмо застанет вас в добром здравии. Меня зовут Алексей Соколов, я являюсь основателем и генеральным директором компании FinFlow — это инновационное B2B SaaS-решение в области финтех-инструментов для малого и среднего бизнеса, которое за последний год активно набирает обороты на российском рынке.
Долгое время являюсь поклонником вашего фонда и был приятно удивлён вашей недавней инвестицией в Trinity Bank. В связи с этим, и принимая во внимание ту синергию, которую я вижу между нашими направлениями деятельности, я хотел бы обратиться к вам напрямую, чтобы коротко представиться и рассказать о нашем продукте.
За последние месяцы у нас наблюдается уверенный и стабильный рост, мы успешно работаем с целым рядом крупных корпоративных клиентов и имеем значительную ежемесячную выручку. Я был бы крайне признателен за возможность организовать короткий созвон на 30-40 минут на следующей неделе для обсуждения потенциального сотрудничества и дальнейших шагов.
Заранее благодарю за уделённое время и внимание.
С наилучшими пожеланиями, Алексей Соколов Основатель и Генеральный директор, ООО «ФинФлоу Технолоджис»
After (~110 слов)
Тема: B2B fintech для малого бизнеса, $600K ARR — фит для фонда?
Здравствуйте, Дмитрий!
Видел раунд в Trinity Bank — поздравляю. Мы в смежной плоскости: финтех-инструменты для малого и среднего бизнеса (платежи, эквайринг, начисления подрядчикам в один клик), $600K ARR за 18 месяцев, 14 клиентов — включая «Магнит» и «Ленту» (HR-департаменты для выплат подрядчикам, не основной бизнес).
Поднимаем seed в Q3. 20 минут на следующей неделе — есть смысл созвониться, чтобы понять фит?
Если 20 минут — это много, готов прислать дек холодным письмом.
С уважением, Алексей Соколов Основатель, FinFlow · finflow.ru
Deltas
- Тема «Здравствуйте!» (пустая) → «B2B fintech для малого бизнеса, $600K ARR — фит для фонда?» — одна цифра, шейп фонда, конкретный сектор; банится «приветствие в теме» по structure-ru.md §Subject + банится в EN-параллели — banned-patterns.md §Subject-line bans
- «Уважаемый Дмитрий Викторович» → «Здравствуйте, Дмитрий!» — отчество оставляем ТОЛЬКО если получатель публично его использует; для венчура/IT в РФ норма — обращение по имени; structure-ru.md §Greeting
- «Надеюсь, моё письмо застанет вас в добром здравии» — удалено (-10 слов; RU-калька от «I hope this finds you well»; banned-patterns.md §Ceremony openers, RU-variant)
- «Меня зовут Алексей Соколов, я являюсь основателем и генеральным директором компании FinFlow — это инновационное B2B SaaS-решение в области финтех-инструментов для малого и среднего бизнеса, которое за последний год активно набирает обороты на российском рынке» (38 слов представления + 3 банных конструкции: «являюсь» BUREAU_INV, «инновационное» AI_INTENSIFIER, «активно набирает обороты» VAGUE) → имя ушло в подпись; продукт описан конкретно («платежи, эквайринг, начисления подрядчикам в один клик»); net -28 слов с +специфика
- «Долгое время являюсь поклонником вашего фонда» — удалено (-7 слов; banned-patterns.md §Vague intros + BUREAU_INV «являюсь»)
- «был приятно удивлён» → «Видел ... — поздравляю» (-3 слова; конкретный якорь без льстивости)
- «В связи с этим, и принимая во внимание ту синергию, которую я вижу между нашими направлениями деятельности» — канцелярит выкинут целиком (-14 слов)
- «За последние месяцы у нас наблюдается уверенный и стабильный рост, мы успешно работаем с целым рядом крупных корпоративных клиентов и имеем значительную ежемесячную выручку» (25 слов; «наблюдается» BUREAU_INV, «целым рядом» VAGUE, «значительную» VAGUE) → «$600K ARR за 18 месяцев, 14 клиентов — включая "Магнит" и "Ленту"» (12 слов; конкретные числа + узнаваемые RU-бренды + честная скобка про HR-департаменты, не основной бизнес — calibration на честность) — structure.md §Block 2
- «короткий созвон на 30-40 минут на следующей неделе для обсуждения потенциального сотрудничества и дальнейших шагов» (15 слов) → «20 минут на следующей неделе — есть смысл созвониться, чтобы понять фит?» (12 слов; structure.md §Block 3 timing — 20 минут вместо 30-40)
- «Заранее благодарю за уделённое время и внимание» → «С уважением» (-7 слов; structure-ru.md §Sign-off — «С уважением» это RU-нейтральный дефолт, не выпрашивает ответ)
- «С наилучшими пожеланиями» → «С уважением» (banned-patterns.md §RU-equivalent; «С наилучшими пожеланиями» — слишком приторно для cold-аутрича)
- «ООО "ФинФлоу Технолоджис"» → «FinFlow · finflow.ru» — юр.лицо в подписи cold-email не нужно, только бренд + ссылка
- Добавлен easy-yes («Если 20 минут — это много, готов прислать дек холодным письмом») — structure.md §Block 4
- Total: 200 → 110 слов, в RU budget'е ≤120 слов для first-touch — length-budget.md §First-touch
Example 4 — EN follow-up after no-reply
Context. Founder sent the first email from Example 1 to Patricia at Magnet Ventures 11 days ago. No response. In the meantime: Magnet announced its fourth fund close ($350M); Nimbus added a new logo (HashiCorp) and crossed $2.4M ARR. Both events are real anchor candidates for the bump.
Before (~120 words)
Subject: Re: Quick question
Hi Patricia,
Just wanted to bump this up to the top of your inbox. I know you must be incredibly busy, so apologies for the follow-up.
I sent you an email last week about Nimbus — we're a B2B SaaS company in the developer-tools space that's been growing rapidly. I'd really love to set up a quick call to discuss potential opportunities for collaboration and to share more about our journey.
If now isn't a good time, I completely understand — would love to circle back in a few weeks.
Looking forward to your response!
Best, David Kim Co-founder & CEO, Nimbus Technologies Inc.
After (~72 words)
Subject: Re: $2.1M ARR in dev tools — fit for Magnet?
Hi Patricia,
Following up on the May 9 note. Saw the Magnet-IV close — congrats on $350M. With the new fund I'd guess your A pipeline is opening up.
Two updates since: HashiCorp joined as customer #13, ARR ticked to $2.4M (+$300K in 11 days). Still planning a Q3 round; 20 min next week worth it?
Or a 'no' is fine — I'll stop after this.
Best, David Nimbus · nimbus.dev
Deltas
- Subject — kept original threading «Re: $2.1M ARR in dev tools — fit for Magnet?» (structure.md §follow-up subject rule: never change subject mid-thread)
- «Just wanted to bump this up to the top of your inbox» — removed (-12 words; banned-patterns.md §Follow-up specific bans, «Just bumping this up» literal)
- «I know you must be incredibly busy, so apologies for the follow-up» — removed (-12 words; banned-patterns.md §Follow-up bans, pity-framing)
- «I sent you an email last week about Nimbus — we're a B2B SaaS company in the developer-tools space that's been growing rapidly» (22 words of re-explanation) → removed entirely; trust that Patricia can scroll up if she cares — structure.md §follow-up «do NOT re-explain the original pitch»
- Added concrete new anchor: «Saw the Magnet-IV close — congrats on $350M» — structure.md §follow-up Block 2 «Why now: new context that justifies the bump»
- Added one new datapoint pair: «HashiCorp joined as customer #13, ARR ticked to $2.4M (+$300K in 11 days)» — exactly one new thing per follow-up (rule from outreach.md follow-up calibration notes)
- «I'd really love to set up a quick call ...» → «20 min next week worth it?» (-13 words; same ask, less verbose) — structure.md §follow-up Block 3
- «If now isn't a good time, I completely understand — would love to circle back in a few weeks» — removed (-19 words; banned-patterns.md §Follow-up bans, «in case my last email got buried» equivalent)
- «Looking forward to your response!» → «Or a 'no' is fine — I'll stop after this» — banned closing replaced with explicit out (the highest-ROI line in any follow-up) — banned-patterns.md §Closing line bans + follow-up.md calibration
- «Best, David Kim / Co-founder & CEO / Nimbus Technologies Inc.» → «Best, David / Nimbus · nimbus.dev» — second-touch sign-off can drop title and use first-name only (structure.md §Sign-off alternatives, «when you've already established multi-message rapport»)
- Total: 120 → 72 words, well under 80-word follow-up target — length-budget.md §Follow-up
Pattern summary
Across all 4 pairs:
- The subject line is the first hook. It carries either a number, a shared context, or a specific outcome — never «Quick question», «Hi», «Touching base», «Opportunity to {x}», or «Здравствуйте!».
- The first sentence of the body is anchored to something specific the recipient owns: a round they led, a podcast they appeared on, a deal they closed. «I hope this finds you well» / «Надеюсь, моё письмо застанет вас в добром здравии» / «I've been a longtime admirer» — strip on sight.
- Proof is numbers + named names, never «significant growth», «rapidly growing», «значительная выручка», or «целый ряд крупных корпоративных клиентов». If you don't have the numbers, don't send the email yet.
- One ask per email. Time-bounded (20 minutes, not 30-40). Easy-yes lower-friction option attached.
- Closing line: «Happy to send the deck cold either way» / «Or a 'no' is fine — I'll stop after this» / «Готов прислать дек холодным письмом». Never «Looking forward to your response», never «Заранее благодарю».
- Sign-off plain (Best / С уважением). Signature one line. No legal entity, no four-line corporate footer.
- Follow-ups: do not repeat the original pitch; add exactly one new anchor (their news + your news); offer the explicit out; subject keeps original
Re:threading. - Length budgets: first-touch ≤120 words EN / ≤120 слов RU; follow-up ≤80 words / ≤80 слов. If you can't fit, cut — see
length-budget.mdfor the cut-list.
Supporting file: examples/follow-up.md
Follow-up — calibration
After a non-response. Do NOT repeat the original. Add ONE new thing that justifies the bump.
Scenario — founder → VC (follow-up to Scenario 1 in outreach.md)
Context. First email sent 9 days ago. No response. The fund just announced a $200M fund close — news the founder can anchor the bump to.
Before (generic, ~110 words)
Subject: Re: Quick question
Hi Sarah,
Just wanted to bump this up to the top of your inbox. I know you must be incredibly busy, so apologies for the follow-up.
I sent you an email last week about Acme — we're a B2B SaaS company in the manufacturing-operations space that's been growing rapidly. I'd really love to set up a quick call to discuss potential opportunities.
If now isn't a good time, I completely understand — would love to circle back in a few weeks.
Looking forward to your response!
Best, John Smith
After (~70 words)
Subject: Re: $1.2M ARR in manufacturing ops — fit for Acorn?
Hi Sarah,
Following up on the {date} note. Saw the Acorn-IV close — congrats. With the new fund I'd guess your A pipeline is opening up.
We hit $1.4M ARR this week (+$200K since the first email). Still planning a Q3 round; 20 min next week worth it?
Or a "no" is fine — won't follow up further.
Best, John
Diff in deltas
- Removed "Just wanted to bump this up" (-7)
- Removed "apologies for the follow-up" (-5)
- Removed "incredibly busy" pity-framing (-5)
- Re-stated original ASK in fewer words; did not re-explain Acme
- Anchored to NEW news (Acorn-IV fund close)
- Added one new datapoint (+$200K ARR since first email)
- Offered the no-out ("a 'no' is fine — won't follow up further")
- Subject kept original threading (
Re:+ original subject)
Scenario — candidate → recruiter (follow-up)
Context. First email sent 6 days ago. No response. The candidate just got merged into open-source project relevant to the company's stack.
Before (~100 words)
Subject: Re: Application for Staff Engineer role
Hi Maria,
I hope you're doing well!
I just wanted to follow up on my application from last week for the Staff Engineer role. I'm still very interested in the position and would love to hear back.
Please let me know if there's any additional information I can provide. I'm happy to answer any questions you may have.
Looking forward to your reply!
Best, Alex Park
After (~55 words)
Subject: Re: Staff Engineer — payments infra background
Hi Maria,
One update on the Staff Engineer application: my PR for the {OSS-project-name} retries-budget feature merged Friday — relevant to the work in Finchat's payments infra.
Still keen. Worth a conversation?
Best, Alex
Diff in deltas
- Removed "I hope you're doing well" (-5)
- Removed "I just wanted to follow up" / "still very interested" (-12)
- Added ONE concrete new thing (OSS merge)
- Directly relevant to their role (not just any update)
Scenario — writer → editor (follow-up)
Context. First pitch sent 12 days ago, no response. A competing publication just covered a tangential story — the writer's piece would have a sharper angle.
Before (~120 words)
Subject: Re: Article pitch
Dear Mr. Thompson,
I hope this email finds you well.
I'm following up on the pitch I sent on {date} for the longform on "ghost-shifts" in warehouse logistics. I wasn't sure if you had a chance to review it yet, so I wanted to check in.
I noticed The Verge ran a piece yesterday on related unpaid-overtime patterns, which I think confirms there's appetite for this story. My piece would go deeper — internal documents, twelve worker interviews, specific corporate policy.
Please let me know if this is something you'd be open to discussing further.
Sincerely, Lena Volkov
After (~75 words)
Subject: Re: Pitch: "Ghost-shifts" — unpaid overtime as warehouse policy
Hi Mr. Thompson,
Following up on the {date} pitch. The Verge ran a surface-level piece on adjacent unpaid-overtime yesterday — confirms appetite, but they don't have the documents or workers.
If The Foundry wants the deeper version (12 interviews, internal HR memo, two companies named), I can have a first draft in 3 weeks.
Otherwise no further nudges from me.
Best, Lena Volkov
Diff in deltas
- Removed "Dear Mr. Thompson" / "I hope this email finds you well" (-9)
- Removed "I wasn't sure if you had a chance to review it yet" (-11)
- Compressed the The-Verge anchor + differentiation in one sentence
- Added concrete delivery commitment ("first draft in 3 weeks")
- Gave the out ("Otherwise no further nudges from me")
Rules from these examples
- One new thing per follow-up. News, milestone, datapoint, external event.
- Do not re-explain the original pitch. Trust that the recipient can scroll up if they care.
- Subject line: keep original
Re:threading. Don't change the subject — that fragments the thread for them. - End with the out. "Or a 'no' is fine — won't follow up further" / "Otherwise no further nudges from me". This is the highest-ROI line in the email.
- Max 2 follow-ups, then stop. A third follow-up is harassment.
Supporting file: examples/intro.md
Intro request — calibration
You are asking a mutual contact (the intro-giver) to introduce you to a third party (the target). The skill produces TWO outputs: the email to the intro-giver + the forwardable block they can paste to the target.
Scenario — founder asks an advisor to intro them to a CISO at a target customer
Context. Founder building a B2B-security SaaS. Wants the advisor (former CISO at a different company) to introduce them to the CISO at MegaCorp, a target enterprise customer. The advisor knows the target through a SecOps forum.
Email A — to the intro-giver (advisor)
Subject: Intro request: {Target Name} at MegaCorp?
Hi Marcus,
Could you intro me to {Target Name} at MegaCorp? We just hit GA on the audit-log compression product — relevant to a problem MegaCorp's SecOps team has flagged publicly twice this year (5x audit-log storage cost growth).
Forwardable below — only if you're comfortable.
Best, John
Forwardable for {Target Name}:
Subject: Audit-log compression — 73% reduction at three enterprise SecOps teams
Hi {Target Name},
Marcus suggested we should connect.
Acme just shipped audit-log compression — averaging 73% storage reduction across three enterprise customers, with zero query-latency regression.
Saw MegaCorp's recent posts about audit-log cost growth. Worth 20 minutes to see if it's relevant?
Happy to send a one-pager cold. Otherwise no obligation — thanks Marcus.
John Smith CEO, Acme · acme.co
Why the structure works
Email A (to advisor):
- One ask, one sentence
- One specific reason ("relevant to a problem MegaCorp's SecOps team has flagged publicly twice this year")
- Forwardable explicitly offered ("only if you're comfortable")
- No bio for the advisor — they know who you are
Forwardable (the block):
- Anchored to advisor's reputation in 1 line ("Marcus suggested we should connect")
- One specific proof in 1 sentence ("73% storage reduction across three enterprise customers")
- Anchored to the recipient's own public problem
- The advisor's name in the sign-off thanks them by name — frame for them
- 80 words exactly
Common errors in intro requests
Error 1 — burying the ask
Hi Marcus,
Hope you're doing well — it's been a while since we caught up at the SecOps forum. I've been thinking about the conversation we had about audit-log infrastructure ...
The advisor has to read 50 words to find out what you want. By word 50 they're already thinking about something else.
Error 2 — asking the advisor to do the writing
Hi Marcus, would you be open to intro me to {Target Name} at MegaCorp?
No forwardable. Now the advisor has to draft the email. They will not.
Error 3 — over-stuffed forwardable
Forwardable for {Target Name}:
Hi {Target Name},
Marcus and I went to college together where we both studied computer science, and we've been collaborating on security tooling for almost a decade. He thought you'd be interested in what we're building at Acme...
The forwardable should NOT explain the advisor. The advisor explains themselves.
Error 4 — forwardable for someone the target shouldn't know
Forwardable for {Target Name}:
Hi {Target Name},
John reached out to me about ...
NO. The forwardable is from the advisor's perspective ("Marcus suggested we should connect"), pasted by the advisor into a NEW thread with the target. It is NOT a third-person summary.
Variant — re-engage warm intro
If the intro-giver has already introduced you to the target months ago and that thread went cold, the follow-up should be addressed directly to the target, not the intro-giver:
Subject: Re: Marcus connected us — audit-log compression
Hi {Target Name},
Following up from Marcus's intro in {month}. We hit GA last week with the audit-log compression product.
Across three enterprise customers, 73% average storage reduction, zero query-latency regression.
Worth 20 minutes now? Or "no" is fine.
Best, John
Note: this is now a re-engage email, not an intro request. Different template — see references/structure.md re-engage variant.
Rules from these examples
- Two outputs per intro request: email to intro-giver + forwardable block.
- Forwardable is from the intro-giver's perspective, pasted into a NEW thread, addressed to the target.
- The forwardable thanks the intro-giver by name in the sign-off — gives them attribution they can show their network.
- Anchor to the target's own public problem — the forwardable is one sentence of YOUR proof, one sentence of WHY THEM.
- Total budget: email A ≤80 words + forwardable ≤80 words.
Supporting file: examples/outreach.md
First-touch outreach — calibration
Two paired examples per scenario: a generic / template-y "before" version and the version this skill should produce.
Scenario 1 — founder → VC partner
Context. A B2B-SaaS founder reaching out to a Series-A partner whose fund recently led an A round in a competitor. The founder has $1.2M ARR, 3 enterprise customers, and a focused product wedge.
Before (generic, ~180 words)
Subject: Quick question
Hi Sarah,
I hope this email finds you well. My name is John, and I'm the founder and CEO of Acme, a B2B SaaS company that's been disrupting the manufacturing-operations space for the past 18 months.
I've been following your work at Acorn Capital for some time now, and I was incredibly impressed by your recent investment in Beta Corp. Given your deep expertise in the space and the synergies I see between our work, I wanted to reach out personally to introduce myself.
We've been growing rapidly — we now have several enterprise customers and significant ARR. I'd love to set up a quick call to discuss potential opportunities for collaboration and to share more about our journey.
Would you be open to a 30-minute Zoom next week?
Looking forward to hearing from you!
Best regards, John Smith CEO, Acme
After (~95 words)
Subject: $1.2M ARR in manufacturing ops — fit for Acorn?
Hi Sarah,
Saw the Beta Corp round — congrats. We're in the adjacent wedge: shop-floor scheduling for manufacturers, $1.2M ARR with three enterprise customers (Stanley, Atlas, Federal). 18 months from cold start.
We're raising in Q3. Worth 20 min next week to see if Acorn would be a fit?
Happy to send the deck cold either way.
Best, John Smith CEO, Acme · acme.co
Diff in deltas applied
- Removed "I hope this email finds you well" (-7)
- Removed "I've been following your work for some time" (-9, replaced with one specific deal reference)
- Removed "incredibly impressed" / "deep expertise" / "synergies" (-12)
- Replaced "rapidly growing" / "several enterprise customers" / "significant ARR" with explicit numbers (-22 in narrative; +14 in specifics; net -8)
- Replaced "30 minutes" with "20 minutes" (lower friction)
- Replaced "Looking forward to hearing from you!" with "Happy to send the deck cold either way" (-7, replaces with offer of next step)
- Cut multi-paragraph windup
Scenario 2 — candidate → recruiter
Context. Senior engineer 9 years experience, mostly distributed systems. Reaching out to a recruiter who posted a Staff Engineer role at a fintech the candidate wants to work at.
Before (~140 words)
Subject: Application for Staff Engineer role
Hi Maria,
I hope you're doing well!
I came across your posting for the Staff Engineer position at Finchat, and I wanted to reach out to express my interest. I've been working in software engineering for over 9 years, with extensive experience in distributed systems, Kubernetes, and cloud architecture. I'm currently a Senior Software Engineer at MyCorp, where I lead a team of 6 engineers building our payments infrastructure.
I'm passionate about fintech and have been a longtime user and admirer of Finchat. I think my background would be a great fit for this role, and I'd love to discuss the opportunity further.
Please find my resume attached. I look forward to hearing from you.
Best regards, Alex Park
After (~85 words)
Subject: Staff Engineer — payments infra background
Hi Maria,
Saw the Staff role at Finchat. I lead the payments-infra team at MyCorp (6 engineers, distributed systems / K8s) — 9 years total, including 4 building real-money systems at Stripe.
I've been a Finchat user since the redirect-API beta. Would value 20 min to talk about the role.
Resume + recent talk attached.
Best, Alex Park linkedin.com/in/alexpark
Diff in deltas
- Removed "I hope you're doing well" (-5)
- Removed "I came across your posting" → direct ("Saw the Staff role at Finchat") (-7)
- Removed bio prose ("I've been working in software engineering for over 9 years, with extensive experience in...") → compressed to "9 years total, including 4 building real-money systems at Stripe" (-15)
- Removed "longtime user and admirer" → specific anchor ("Finchat user since the redirect-API beta") (-4 but +specificity)
- Removed "I think my background would be a great fit" (-9 — let the proof do the work)
- Removed "Please find my resume attached" (-5 — just attach it)
Scenario 3 — writer → editor
Context. Freelance journalist pitching a longform piece to a magazine editor. Has previously published in 2-3 similar outlets.
Before (~160 words)
Subject: Article pitch
Dear Mr. Thompson,
I hope this email finds you well. My name is Lena Volkov, and I'm a freelance journalist who has been writing about labor and technology for the past 5 years.
I'm reaching out today to pitch a longform piece for The Foundry. I've been thinking about this story for some time, and I believe it would be a great fit for your readership.
The piece would explore the rise of "ghost-shifts" — the unpaid expectation that warehouse workers will stay 30-90 minutes past their scheduled end of day. I've spent the last three months interviewing 12 workers and obtained internal documents from two logistics companies confirming the practice is policy.
I have published similar reporting in The Atlantic and Wired. I'd be happy to share clips.
Please let me know if this would be of interest. Looking forward to your response.
Sincerely, Lena Volkov
After (~105 words)
Subject: Pitch: "Ghost-shifts" — unpaid overtime as warehouse policy
Hi {first name if appropriate, else Mr. Thompson},
Longform pitch for The Foundry: the "ghost-shift" — unpaid 30-90-minute extensions past the scheduled end of day, now codified as policy at two major US logistics companies.
Three months of reporting. 12 worker interviews. Internal documents from both companies, including one HR memo making the practice explicit.
Prior longform: The Atlantic (link), Wired (link). Five years writing labor + tech.
1,800 words, 6 weeks turnaround. Worth a chat?
Best, Lena Volkov lenavolkov.com
Diff in deltas
- Removed "Dear Mr. Thompson" / "I hope this email finds you well" (-12)
- Bio prose → tight one-line (-25)
- "I've been thinking about this story for some time" / "I believe it would be a great fit" → deleted as wind-up (-18)
- Subject line carried the hook upfront
- Specific commitments added (1,800 words, 6 weeks)
- Sign-off "Sincerely" → "Best"
Calibration notes
- The "after" versions are NOT shorter for the sake of brevity — they pack more proof per word.
- Specific anchors ("Stripe", "redirect-API beta", "12 worker interviews") beat generic descriptors ("extensive experience", "longtime user", "extensive reporting").
- Subject line in every "after" version carries the hook. The body confirms.
- Sign-off + signature: one line of context, one link, no five-line corporate footer.
Сценарий 4 (RU) — фаундер → русскоязычный VC
Контекст. Фаундер B2B-SaaS пишет партнёру российского/СНГ-фокусированного венчурного фонда. Продукт: облачная HR-аналитика. $400K ARR, 8 клиентов (включая два узнаваемых российских банка), 14 месяцев с запуска. Фонд недавно вложился в Carrot Quest — смежный продукт, но в маркетинге.
До (шаблонно, ~190 слов)
Тема: Здравствуйте!
Добрый день, Алексей Сергеевич!
Надеюсь, моё письмо застанет вас в добром здравии. Меня зовут Иван Петров, я являюсь основателем и генеральным директором компании Acme HR — облачного SaaS-решения в области HR-аналитики, которое за последний год активно развивается на российском и СНГ рынках.
Долгое время являюсь поклонником вашего фонда и был приятно удивлён вашей недавней инвестицией в Carrot Quest. В связи с этим, и принимая во внимание ту синергию, которую я вижу между нашими направлениями, я хотел бы обратиться к вам напрямую, чтобы коротко представиться.
За последние месяцы у нас наблюдается уверенный рост, мы работаем с рядом крупных корпоративных клиентов и имеем значительную выручку. Я был бы признателен за возможность организовать короткий созвон на 30 минут на следующей неделе для обсуждения потенциального сотрудничества.
Заранее благодарю за ответ.
С наилучшими пожеланиями, Иван Петров CEO, Acme HR
После (~100 слов)
Тема: HR-аналитика, $400K ARR — фит для {Фонд}?
Здравствуйте, Алексей!
Видел раунд в Carrot Quest — поздравляю. Мы в смежной плоскости: HR-аналитика для среднего и крупного бизнеса, $400K ARR за 14 месяцев, восемь клиентов — включая Тинькофф и Альфа-Банк (HR-департаменты, не группа).
Поднимаем seed в Q3. 20 минут на следующей неделе — есть смысл созвониться, чтобы понять фит?
Если созвон — это много, готов прислать дек холодным письмом.
С уважением, Иван Петров CEO, Acme HR · acme-hr.ru
Применённые дельты
- «Здравствуйте!» в теме (пустая) → конкретный hook с числом и подсказкой по фиту
- «Надеюсь, моё письмо застанет вас в добром здравии» — удалено (-10 слов; RU-калька от "I hope this finds you well")
- «Меня зовут Иван Петров, я являюсь основателем и генеральным директором» → удалено, имя и роль ушли в подпись (-12)
- «Долгое время являюсь поклонником вашего фонда» → заменено на конкретный якорь («Видел раунд в Carrot Quest») (-9)
- «В связи с этим, принимая во внимание ту синергию» — канцелярит вырезан (-13)
- «За последние месяцы у нас наблюдается уверенный рост, мы работаем с рядом крупных корпоративных клиентов» → конкретные цифры и имена (-18 + специфика)
- «Заранее благодарю за ответ» / «С наилучшими пожеланиями» → «С уважением» (RU-нейтральный дефолт, не выпрашивает ответ)
- Обращение «Алексей Сергеевич» → «Алексей» — допустимо в венчуре/IT; «Сергеевич» оставить только если получатель публично использует отчество
- 30 минут → 20 минут (меньше friction; то же правило что в EN)
- «20 минут — есть смысл созвониться?» — RU прямой push, не «прошу уделить время»
Supporting file: references/banned-patterns.md
Banned patterns
Every pattern here is an automatic strip. Do not soften them — remove or rewrite.
See also (shared across cold-email / landing-copy / release-notes):
common/references/banned-patterns-hype.md·common/references/banned-patterns-preambles.md
Ceremony openers (strip on sight)
Greeting preambles ("I hope this email finds you well", "Hope all is well", etc.) live in
common/references/banned-patterns-preambles.md.
The base linter catches them under WEAK_OPENER.
Outreach-specific ceremony — strip these too:
- "I'll keep this brief."
- "I know you're busy, so I'll get right to the point."
- "Sorry for the cold email."
- "Apologies for reaching out unsolicited."
Why banned: they announce a behavior instead of demonstrating it. If you respect the recipient's time, prove it by getting to the point — don't promise it.
Vague intros
- "I'm reaching out because ..." — passive; replace with the actual reason.
- "I came across your profile / company / work ..." — generic. Be specific: "I read your essay on X" / "I saw {company} announced Y".
- "I've been following your work for a while ..." — flattery without proof. Either cite a specific piece, or skip.
- "I'm a big fan of your {company / podcast / book}." — flattery. The recipient assumes you're not.
- "I wanted to introduce myself and ..." — wasted line. Just start with the hook.
- "I noticed you ..." — passive. "You shipped X" is direct.
Hedge language (strip or replace)
- "I was wondering if ..." → direct ask
- "I would love to ..." → "I'd like to ..." (and prefer just stating the ask)
- "It would be amazing if ..." → "Could we ..."
- "I was hoping that maybe ..." → "Could we ..."
- "Just wanted to ..." → "Wanted to ..." (still weak — usually delete the whole "wanted to" frame)
- "I might be wrong, but ..." → assert directly; the recipient will tell you if you're wrong
Follow-up specific bans
- "Just bumping this up." — explicitly forbidden
- "Just following up." — explicitly forbidden
- "Bumping this." — explicitly forbidden
- "In case my last email got buried ..." — implies your email is buryable
- "I know you must be slammed, but ..." — apologizing-for-existing
- "Sorry to be a pest." — never
- "I'll stop bothering you after this." — never
Better follow-up openers:
- "Following up on {date} re {topic}." (factual)
- "Quick re-ask: {one specific sentence}." (direct)
- "{New context that justifies the bump}." (anchored to news)
Closing line bans
- "Looking forward to hearing from you!" — empty, expectant; strip
- "Excited to potentially work together!" — premature; strip
- "Hoping for your favorable response." — never
- "Awaiting your reply." — never
- "TIA" / "TYIA" / "Thx" — looks needy or rushed
- "Cheers!" with exclamation — too perky for first-touch unless your normal voice
- "Have a great day!" — generic; if your voice does this, fine, but don't default to it
Better closes:
- "Happy to send the deck cold." — offers next step
- "Or a 'no' is fine — won't follow up further." — gives them an out
- "If this is the wrong person, who should I ask?" — useful re-route
Self-deprecation that backfires
- "I know this is a long shot, but ..." — telegraphs low confidence
- "I'm probably one of many emails today ..." — yes, and?
- "I doubt you have time for this, but ..." — already lost
- "This is a bit of a Hail Mary ..." — desperation
If you genuinely have low confidence, don't send the email. If you're sending it, write it confidently.
"We" when you mean "I" (in solo outreach)
If you are reaching out alone, do not use plural "we" — the recipient will think you're a marketing automation. Use "I". (Exception: when "we" means your company, and the ask is org-level.)
Multi-paragraph windup
"Hi {Name},
I hope this email finds you well. My name is X and I've been working in the Y space for over Z years. I've had the pleasure of building several products in this domain, and I'm now leading a new initiative at {Company} that I think might be of interest to you.
I'd love to set up a call to discuss potential synergies between our work and your portfolio. Below I've attached a one-pager that gives more context ..."
Everything above this line is a strip. The ENTIRE email could be:
"Hi {Name}, we just shipped {product} after {Z years} in {Y space}. Worth 15 min next week to see if it fits {their fund / their company / their use case}?"
Subject-line bans (re-listed)
- "Quick question"
- "Touching base"
- "Hi" / "Hi {Name}"
- "Hello"
- "Following up"
- "Are you the right person at {company}?"
- "Opportunity to [anything]"
- ALL CAPS subjects
[URGENT]/[!]/[ACTION NEEDED]- Emoji in subject (unless cultural fit)
Genuine names that look templated
Real cold emails sometimes use these because templates use them. Avoid them even when they're true:
- "I noticed your team just raised a Series A — congrats!" — read as template
- "Loved your recent post on {topic}!" — read as template
- "Saw you're hiring for {role} — wanted to reach out personally!" — read as template
If your specific compliment is real, prove it with a specific detail. "Your point about X in the {publication} essay is what made me reach out — I built Y based on similar reasoning" beats "Loved your recent post!"
When in doubt — the audit question
For every sentence in the draft, ask: "Does this earn the next sentence?"
If yes, keep. If no, cut.
Then run writer/scripts/lint.py on the result to catch anything regex-detectable that survived.
Supporting file: references/length-budget.md
Length budget
The recipient should be able to read the email in ≤15 seconds. That means:
- Target: ≤120 words for first-touch
- Hard cap: 200 words
- Follow-up: ≤80 words
- Intro-request (the forwardable): ≤80 words
- Re-engage: ≤100 words
Why these numbers
15 seconds at average reading speed (≈250 words/min) = ~62 words. Plus subject + signature ≈ 100 words. The 120-word target gives one buffer sentence; 200 is the point where the recipient starts skimming and the email becomes a TL;DR exercise.
Above 200 words, response rates drop sharply (anecdotal evidence + industry data both confirm). If you can't make the ask in 200 words, you don't yet have the ask clear in your own head — go back to the brief.
When draft is over budget — the cut-list
Apply in order until under budget. The order matters: cheapest cuts first.
Cut 1: ceremony
Every banned opener and closer. See banned-patterns.md. This alone often cuts 20-40 words.
Cut 2: hedges
Replace "I was wondering if ..." → "Could we ..." Replace "It would be amazing if ..." → "Could we ..." Strip "just", "wanted to", "I was hoping". This is another 10-20 words.
Cut 3: redundant qualifiers
- "as you may know" — delete
- "as we've discussed before" — delete (recipient knows what you discussed)
- "in my opinion" / "personally I think" — delete (they know it's your opinion)
- "obviously" / "clearly" — delete (if it's obvious, don't state it)
- "needless to say" — delete (literally needless)
Cut 4: filler adjectives + adverbs
- "really excited" → "excited" (or delete the sentiment entirely)
- "incredibly impressive" → "impressive" (or pick a stronger noun)
- "very interesting" → "interesting" or specific reason
- "extremely useful" → "useful" or skip
Cut 5: explanation of explanation
If a sentence explains the sentence before it, ask whether the prior sentence is doing its job. Often: rewrite the first sentence to be self-explanatory, delete the second.
Example:
"We grew 4x in 6 months. By that I mean we went from $1M to $4M in ARR between January and July."
→
"We grew from $1M to $4M ARR between January and July."
The second sentence absorbs the first. ~20 words → ~12.
Cut 6: the second ask
Cold emails have exactly one ask. If your draft has two, pick the more important one and cut the other. (Or send two separate emails, with separate subjects.)
Cut 7: bio that isn't load-bearing
If the recipient already knows who you are (you're being introduced, or they've seen you before), drop the bio paragraph. The signature carries enough.
If they don't know you, the bio must justify the next ~30 seconds of their attention. Two facts. Not five.
Cut 8: links
You can link to ONE thing. Two only if absolutely necessary (e.g. the deck and the demo). Never three. Each link costs ~5 words of friction.
When the draft is at budget but still feels long
It probably is. Try this final pass:
- Read aloud. Anywhere you stumble — that's a cut.
- Mentally remove each paragraph. Does the email still hold? If yes, delete that paragraph.
- The "first sentence test": if you delete the first sentence, does the email still make sense? If yes, the first sentence wasn't pulling weight — find a better one or cut.
What NOT to cut
- The specific proof (numbers, names, prior result)
- The specific ask (time-bounded if possible)
- The recipient's name in the salutation
- The sign-off + your name
These are load-bearing. Cut everything else first.
Budget summary
| Email type | Target | Hard cap |
|---|---|---|
| First-touch | ≤120 | 200 |
| Follow-up | ≤80 | 120 |
| Intro-request (forwardable) | ≤80 | 120 |
| Intro-request (to intro-giver) | ≤60 | 100 |
| Re-engage | ≤100 | 150 |
| Warm-intro template (forwardable) | ≤80 | 120 |
Subject line is counted separately. Cap subject at 50 characters.
Supporting file: references/structure-ru.md
Cold-email — RU outreach norms
RU-language outreach uses the same 5-block structure as structure.md, but a few defaults flip. Apply this file IN ADDITION to structure.md when writing in Russian. The English file remains the source of truth for everything not listed here.
Greeting and form of address
- Default greeting: «Здравствуйте, {Имя}!» — приемлемо для большинства outreach сценариев (VC, рекрутёр, журналист, партнёр).
- В корпоративном / банковском / госсекторе — «Здравствуйте, {Имя Отчество}» или «Уважаемый(-ая) {Имя Отчество}». Отчество обязательно, если оно публично известно (LinkedIn, корпоративный сайт).
- Обращение всегда на «вы» в первом письме. Переход на «ты» — только если получатель сам инициировал или это явно стартап-/tech-культура и обе стороны примерно одного возраста.
- «Уважаемый» / «Уважаемая» — для официального регистра. В IT / венчуре чаще «Здравствуйте». Никогда не «Доброго времени суток» — это шаблон-канцелярит.
Banned ceremony-openers (RU equivalents)
Эти фразы ставят письмо в категорию «спам/масс-рассылка» с первой строки — стрипать на месте:
- «Надеюсь, у вас всё хорошо» — RU калька от "I hope this finds you well"
- «Надеюсь, это письмо застанет вас в добром здравии» — то же самое
- «Меня зовут {Имя}, я ...» — биография в первой строке, как в EN
- «Хотел(а) бы обратиться к вам по вопросу ...» — пассивный заход, отнимает 12 слов
- «Прошу прощения за беспокойство» — извинение за факт письма, как "sorry to bother you"
- «Уделите, пожалуйста, пару минут» — выпрашивает время до того, как обосновал
- «Доброго времени суток» — канцелярит уровня 2010 года
- «Долгое время являюсь поклонником ваших работ» — generic, как "longtime admirer"
- «Был(а) бы рад(а) обсудить возможности сотрудничества» — пустой sales-jargon
- «По итогам нашей беседы хотел(а) бы продолжить ...» (для re-engage) — если беседы не было, читается как манипуляция
RU-friendly first-line replacements
| Вместо ceremony | Прямое начало |
|---|---|
| «Надеюсь, у вас всё хорошо» | (удалить — сразу к делу) |
| «Меня зовут {Имя}, я фаундер {Company}» | «Видел(а) ваш недавний раунд в {Beta Corp} — поздравляю» (контекст-якорь) |
| «Хотел(а) бы обратиться по вопросу ...» | «{Конкретный факт о получателе} — у нас смежный wedge: ...» |
| «Прошу прощения за беспокойство» | (удалить) |
| «Уделите, пожалуйста, минуту» | «20 минут на следующей неделе — есть смысл созвониться?» |
Sign-off — RU defaults
Стандарт:
С уважением, {Имя Фамилия} {Должность, Компания} · {ссылка}
Альтернативы по культуре получателя:
- «С уважением» — нейтральный дефолт; работает везде кроме чисто-tech-стартапов.
- «Best, {Имя}» / «Best regards» — если RU-получатель в международной/англоязычной среде; не считается калькой.
- «Спасибо, {Имя}» — когда заканчиваешь конкретным ask'ом («подскажете контакт? спасибо»).
- Просто «{Имя}» — для re-engage / для уже-знакомых.
Banned для cold outreach:
- «С наилучшими пожеланиями» — корпоратив-кринж
- «Искренне ваш(а)» — слишком формально, читается как пародия
- «Заранее благодарю за ответ» — выпрашивает ответ
- «С надеждой на сотрудничество» — sales-canned
- «Жду вашего ответа» — давит
Subject lines — RU specifics
EN-правила из structure.md § 6 применяются как есть, плюс:
- RU не любит англицизмы в теме письма для не-tech аудитории. «$1.2M ARR в manufacturing ops» работает для VC; в письме инвестору в РСПП-сегменте лучше «Промышленный SaaS, $1.2M выручки — встреча на 20 минут?».
- Кириллица в теме обычно проходит спам-фильтры лучше, чем mixed-script.
- Не использовать ВСЕ КАПС-ом, [СРОЧНО], восклицания. То же что и в EN.
- Длина: 50 символов всё ещё работает; кириллица занимает больше места, можно ужать до 45.
Примеры рабочих RU-subjects:
| Сценарий | Тема |
|---|---|
| Founder → VC | «Промышленный SaaS, $1.2M ARR — фит для {фонд}?» |
| Кандидат → рекрутёр | «Staff-инженер, payments-инфра — отклик на роль» |
| Журналист → редактор | «Питч: "теневые смены" — неоплачиваемые переработки как политика» |
| Re-engage | «Продолжение разговора с {место} в {месяц}» |
Length budget — RU notes
- RU слова в среднем длиннее EN на ~12-15%. Если EN-таргет 120 слов — RU-таргет 100-110 слов, чтобы визуальный объём остался прежним.
- Длинные подчинительные конструкции («в связи с тем, что», «по причине того, что») режутся в первую очередь — заменяются на причинное двоеточие или короткое «потому что».
- Канцелярит-связки («в рамках», «в части», «по итогам») удалять на месте — они увеличивают объём без пользы.
Cultural notes (когда NOT to apply EN defaults)
- Юмор в первом письме — в RU outreach к VC / корпоратам шутка в первой строке читается как непрофессионализм. В стартап-комьюнити (Telegram-чаты, tech-конференции) — допустимо.
- Прямой push на встречу — в RU банковском / госсекторе сразу «20 минут на следующей неделе» может прочитаться как давление. Смягчить до «если будет интересно, готов(а) созвониться на 20 минут на удобное вам время».
- Числа — пробелы между разрядами по RU-стандарту: «1 200 000 ₽», а не «$1,200,000» (если получатель в РФ; если в международном фонде — оставить EN-формат).
- Имена компаний — латиница в RU тексте нормальна для tech (Stripe, Linear, Acme), кириллизировать не надо. Исключение: классическая русская пресса / редакторы — там лучше с пометкой «(букв. Stripe)» при первом упоминании.
Cross-references
- Базовая 5-блочная структура и subject-line правила:
structure.md - Banned-patterns (EN):
banned-patterns.md— RU-эквиваленты см. выше - Length-budget:
length-budget.md— RU поправка ~12-15% на длину слов
Supporting file: references/structure.md
Cold-email structure
The 5-block template, adapted per email type, plus subject-line rules.
The 5 blocks (default — first-touch)
- Hook (1 sentence). Why this email exists, written from the recipient's perspective. The recipient should know within 12 words why they should keep reading.
- Value / context (1-2 sentences). Concrete proof that you're not wasting their time. Numbers, specifics, prior result, a piece of their work you actually engaged with.
- The ask (1 sentence). One specific thing. Time-bounded if possible.
- Easy yes (1 sentence, optional). Lower friction — "even 10 min on Zoom", "or just a yes/no — happy to expand by email".
- Sign-off (1 line). Name + minimal context (role + 1-2 keywords). Optional: link to your portfolio / company.
Total: 4-6 sentences. ~80-120 words.
Example skeleton (first-touch to a VC)
Hi {first name},
{1 — Hook: why now, specific to their portfolio / fund thesis}
{2 — Value: concrete proof: metric, prior round, customer name, market wedge}
{3 — Ask: 20 min next week to walk through the deck?}
{4 — Easy yes: happy to send the deck cold if Zoom is too much.}
Best, {Name} {Title, Company} · {one-line tagline} · {link}
Variant — follow-up
Recipient didn't reply to the first email. Do NOT repeat the first email. Add ONE thing:
- Pointer to original (1 sentence). "Following up on the {date} note about {topic}."
- Why now (1 sentence). New context that justifies the bump: a recent shipping, a closed round, a relevant news item, a deadline.
- Re-ask, simplified (1 sentence). Either the same ask or a smaller one.
- Sign-off.
Total: 3-4 sentences. ~50-80 words.
Do NOT:
- apologize for following up ("sorry to bother you again")
- restate the original pitch
- use "just bumping this up"
- send more than 2 follow-ups before stopping
Variant — intro-request
You are asking a mutual contact (the intro-giver) to introduce you to a third party (the target). Two emails:
Email A — to the intro-giver:
- Direct ask (1 sentence). "Would you be open to introducing me to {target}?"
- Why them, specific (1 sentence). Why the target in particular.
- The forwardable (below the line). A separately-formatted block the intro-giver can paste into a new thread with the target.
Email B — the forwardable (the block in email A):
Subject: {forwardable subject — see section 6}
Hi {target first name},
{intro-giver's name} suggested we should connect.
{1 — Hook: who you are, ≤15 words}
{2 — Value: 1 sentence of proof}
{3 — Ask: one specific thing}
Happy to send more if useful. Otherwise no obligation — thanks {intro-giver's first name}.
{Name} {Title, Company} · {link}
The forwardable is what gets read by the target. Optimize it harder than email A.
Variant — re-engage
You had a conversation N months/years ago and want to re-open.
- Reference the prior thread (1 sentence). Brief, no nostalgia. "We talked at {context} about {topic} in {month}."
- What changed (1-2 sentences). Why now, specifically. Your milestone or theirs.
- The ask (1 sentence). Often softer than first-touch — "would love to catch up", "20 min if you have it", "would value your read on X".
- Sign-off.
Total: 3-5 sentences. ~60-100 words.
Variant — forwardable (standalone)
When you are asked to write the forwardable email that another person will paste. Use the structure from intro-request Email B. Optimize ruthlessly — the intro-giver may add a sentence or two, so leave room.
Total: ≤80 words.
6. Subject lines
The subject line is the first hook. It must do one of:
- name a shared context ("{Mutual name} mentioned you")
- promise a specific outcome ("3-line ask: {topic}")
- be a clear question ("Open to {action}?")
- name the value upfront ("{Metric} for {their company}")
Banned subject lines:
- "Quick question" — empty calorie; recipient assumes spam
- "Touching base" — corporate cringe
- "Hi" / "Hello {name}" — looks like marketing automation
- "Following up" without specifics — same as above
- "Opportunity to {anything}" — sales-spam vibe
- "Are you the right person at {company}?" — recruiter / SDR signature
- Anything ALL CAPS or with
[URGENT]/[!] - Emoji in subject — exceptions only when matching your audience's culture
Length cap: 50 characters (so it doesn't truncate on mobile previews).
Sign-off
Default:
Best, {First Last} {Title, Company} · {link}
Alternatives (use when they match your voice and the recipient's culture):
- "Thanks, {Name}" — when ending with an ask
- "Best, {Name}" — neutral default
- "{Name}" — when you've already established multi-message rapport
Banned:
- "Warm regards" / "Kind regards" / "Sincerely" — too formal for cold outreach
- "Cheers" — only if it matches your normal voice
- "Yours faithfully" — never in cold outreach
- "TYIA" / "TIA" — looks needy
Title line: keep to one line. "CEO, Acme · acme.co" is fine. Don't list 4 things.
Notes on first-line opening
After the subject, the first line of the body sets the tone. Two acceptable openings:
- Direct: "Hi {Name}, {hook}".
- Anchored to context: "Hi {Name}, I saw {specific thing they shipped / wrote / announced}. {hook}."
Do NOT:
- "Hope you're doing well." — strip on sight
- "I hope this email finds you well." — strip on sight
- "I came across your profile and ..." — generic, never specific enough
- "I'll keep this brief." — proves you can't write brief
- "I know you're busy, so I'll get right to the point." — already failed to get to the point
- "I'm reaching out because ..." — passive, distant
Be direct. The recipient will respect it.
Common questions
How do I install Cold email in Cursor, Claude Code, or Codex?
Run npx skills add mikefluff/skills --skill cold-email in the project where you want it, then ask your agent for the skill by name. The --skill flag installs only Cold email, not every skill in the repository.
Where does Cold email come from and what license is it under?
Cold email comes from the mikefluff/skills repository on GitHub. That repository has 17 GitHub stars. The skill is published under the MIT license.
Prefer plain text? Read the Cold email guide as markdown.