Skip to content

hir-106: add starter cold-email template library#12

Closed
jaredzwick wants to merge 1 commit intopypesdev:mainfrom
jaredzwick:hir-106/template-library
Closed

hir-106: add starter cold-email template library#12
jaredzwick wants to merge 1 commit intopypesdev:mainfrom
jaredzwick:hir-106/template-library

Conversation

@jaredzwick
Copy link
Copy Markdown
Collaborator

Summary

Adds a templates/ directory with 8 starter cold-email templates so first-time Coldflow users have working templates instead of a blank textarea.

This is the first increment under the parent plan in HIR-105 — scope is intentionally tight: content-only, no compose-UI wiring.

Closes HIR-106. Parent: HIR-105.

What's in the box

File ICP Purpose
devtools-cold-intro.json Eng manager / staff engineer Book a 15-min product demo
b2b-saas-cold-intro.json RevOps / Sales Ops lead Land a 20-min discovery call
agency-services-pitch.json Founder / marketing lead Open a paid-engagement conversation
recruiter-candidate-outreach.json Senior / staff engineer Book an exploratory call
fundraising-warm-intro.json Friend / advisor (forwardable to investor) Get a warm intro to a specific VC
partnership-pitch.json Partnerships lead at adjacent product Explore co-marketing or integration
customer-research-interview.json Anyone in your ICP Book a 20-min discovery interview
lapsed-lead-revive.json Prospect silent 30+ days Re-open the conversation

Every template:

  • 80–140 word body, plain text, {{var}} placeholders, no buzzword soup
  • 2–3 subject line variants
  • Documented variables with note fields coaching senders on what makes a good value
  • notes block explaining why the template works and what to watch out for
  • MIT-licensed

README update

New ## Templates section that:

  • Lists the current set
  • Documents the JSON shape and every field
  • Explains how to use a template today (paste into compose, swap variables by hand)
  • Sets contributing conventions for future templates

Out of scope (deliberate)

  • Wiring templates/ into the compose UI as a picker — content-only for this PR. Follow-up tracked under HIR-105.
  • AI personalization (Tier 2 increment in the parent plan).
  • Adding more than 8 templates.

Test plan

  • All 8 JSON files parse with json.load
  • Every {{var}} referenced in body / subjectLines is declared in variables (and vice versa — no orphan declarations)
  • All bodies between 80–140 words
  • All id fields match filenames
  • All required keys present (id, name, icp, purpose, subjectLines, body, variables, notes, license)
  • No changes outside templates/ and README.md

🤖 Generated with Claude Code

Adds templates/ with 8 starter cold-email templates covering common
ICP × purpose combinations: devtools intro, B2B SaaS RevOps intro,
agency services pitch, recruiter outreach, fundraising warm intro,
partnership pitch, customer research interview, and lapsed-lead revive.

Each template is a JSON file with id, name, icp, purpose, subjectLines,
body, variables, notes, and license. Bodies are 80–140 words, plain text,
{{var}} placeholders, MIT-licensed. README gains a Templates section with
the schema, the current set, how to use them today (paste-into-compose),
and contributing conventions.

Templates are content-only for now — wiring them into the compose UI as
a picker is a follow-up tracked under HIR-105.
@jaredzwick
Copy link
Copy Markdown
Collaborator Author

Closing in favor of #11 — duplicate work created by a routine fire that spawned both HIR-103 (PR #11) and HIR-106 (this PR) for the same template-pack.

PR #11 is the canonical track and is in review with @jaredzwick.

Format note for the reviewer: the two PRs are incompatible by design.

Not cherry-picking because the formats don't translate cleanly — it'd be a rewrite, not a merge.

Unique content in this PR that PR #11 doesn't cover (in case any are worth porting separately):

If any of those four feel worth keeping, easiest path is to re-author them in PR #11's MD+YAML format rather than porting the JSON. Branch hir-106/template-library on my fork stays available as reference.

@jaredzwick jaredzwick closed this May 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant