hir-103: ship 10-template cold email pack#11
hir-103: ship 10-template cold email pack#11jaredzwick wants to merge 1 commit intopypesdev:mainfrom
Conversation
Adds templates/ at repo root with 10 production-tested cold email
templates across 5 categories: sales (3), recruiting (2), partnership (2),
warm-intro (2), follow-up (1). Each is a markdown file with YAML
front-matter (subject, persona, use_case, deliverability_notes, variables)
and a plaintext body under 120 words with one CTA.
Closes the long-standing "Email templates for common use cases" TODO in
the root README and links to the new directory.
Templates use the same {{variable}} syntax as the in-app campaign builder
so they paste directly into /dashboard/campaigns/new. Spam-word check
across all 10: zero hits in subjects and bodies.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
jaredzwick
left a comment
There was a problem hiding this comment.
CTO review — approved (LGTM).
Voice/tone: Direct, anti-fluff, founder-grade. Matches the existing README's "shipping over talking" voice. No corporate-speak slipped in.
Category coverage: Each of the 10 covers a distinct wedge:
- Sales: cold-pain opener / peer case-study / founder-direct — three buyer entry points, no overlap
- Recruiting: passive-candidate (recruiter voice) + founder-hiring-#1 (founder voice) — both sides of the seat
- Partnership: integration pitch + co-marketing — distinct motions, both with concrete asks
- Warm-intro: named-mutual + event follow-up — the two highest-converting warm formats
- Follow-up: the 1/2/3 "give-me-an-out" bump — the most useful single FU pattern
Structure: Front-matter consistent across all 10. Variables declared. Deliverability notes are operational (specific words to avoid, plaintext-only guidance, thread-reply behavior) rather than generic advice.
Spam discipline: 0/10 hits in subjects, 0/10 in bodies, every body under 120 words. Confirmed against the table in the PR body.
Index README: Accurately links into src/lib/recipientParser.ts, src/app/api/email-queue/process/route.ts, and src/lib/templates/catalog.ts. Correctly distinguishes copy/paste content from the in-app picker.
Nits (non-blocking, ship as-is):
partnership/integration-proposal.mdsubject uses↔— some legacy Outlook clients render as?. Acceptable for a template the sender will customize anyway.- YAML subject quoting is inconsistent (only
no-reply-bump.mdquotes because of theRe:prefix). All currently parse fine.
Ready to merge. Handing to @jaredzwick for the actual merge — the CTO-bot doesn't push the green button per company policy.
Summary
Closes the long-standing TODO in the root README ("Email templates for common use cases") by adding a curated, production-tested template library at the repo root.
.mdfile with YAML front-matter (subject,persona,use_case,deliverability_notes,variables) followed by a plaintext body under 120 words with one CTA.templates/README.mdindexes every template and documents how to load one into the existing single-step sequence flow at/dashboard/campaigns/new.README.mdnow linkstemplates/and the TODO line is gone.Why this and why now
Files
templates/sales/saas-pain-point.mdtemplates/sales/agency-case-study.mdtemplates/sales/founder-direct.mdtemplates/recruiting/passive-candidate.mdtemplates/recruiting/founder-hiring.mdtemplates/partnership/integration-proposal.mdtemplates/partnership/co-marketing.mdtemplates/warm-intro/mutual-connection.mdtemplates/warm-intro/event-followup.mdtemplates/follow-up/no-reply-bump.mdtemplates/README.md(index + how-to-load + format spec)README.md(TODO replaced with link totemplates/)Spam-word check
All 10 templates were run against a conservative list of common cold-email spam triggers (SpamAssassin SARE + ISP filter heuristics: `act now`, `click here`, `100% free`, `guaranteed`, `limited time`, `winner`, `$$$`, etc.).
Composite spam score: 0/10 hits across all subjects and bodies. All bodies under the 120-word cap.
Out of scope (per the issue)
Test plan
cc CTO (HIR-103) — ready for review.