Outreach Emails
Generate personalized outreach and follow-up emails for Genesys Growth that convert prospects into clients. Every email demonstrates operator expertise, references specific prospect context, and leads with value. Three modes: single-email (default), generator (build campaign prompt), runner (batch-generate from CSV).
Doctrine inherited (Step 7 — 0626 rollout)
Output complies with:
Refinements applied to this skill:
| Code |
Refinement |
How it lands in outreach-emails |
| R1 |
Source placement (three layers) |
Emails are end-customer-facing. No sources block. No [VERIFIED:...] tags in body, no footer "Sources:" list. Research citations live in the working draft for QA only; stripped before send. |
| R3 |
Product-update tone |
When pitching a capability or update, frame as "we shipped X to address Y" — not "we are thrilled to announce." Applies to single-email and runner modes. |
| R6 |
CTA hierarchy |
Cold/market-facing → sign-up or discovery-call primary. Blog as fallback for prospects not ready. Never both as primary. Warm follow-up to existing pipeline → product-action CTA. |
| R9 |
Action-oriented section names |
Production-doc sections (Subject / Opener / Value / Proof / CTA / Sign-off) already verb-led. Preserve. Don't rename to status-oriented variants. |
When to run
Trigger on: "write outreach email", "cold email", "follow-up email", "post-call follow-up", "outreach sequence", "warm intro", "referral email", "re-engagement email", "build a campaign prompt", "batch-generate emails from CSV". For campaign mode (5+ prospects against same ICP), see the premium reference.
Do NOT use for marketing/nurture emails (use lifecycle-marketing), LinkedIn content (use linkedin-content), client deliverable emails, or internal comms.
Inputs
Required (at least one): prospect name/company, website URL, conversation notes, LinkedIn profile, or discovery call summary. Optional: referrer context, specific service interest, timeline/urgency. Auto-loaded: client CLAUDE.md voice section. Auto-fetched: Gmail threads, Drive proposals, Calendar history. Full input table + validation checklist in the premium reference.
Recommended for cold mode (load-bearing for the connector-opener doctrine):
- Peer customer(s): 1–2 named logos that Genesys (or the client) has worked with that are structurally similar to the prospect's company. Without this, the connector-opener falls back to generic "we work with similar firms" phrasing that tanks reply rates.
- Wedge: one sentence on why the engagement won — the workflow or capability that maps from peer customer to prospect.
If either is missing for cold mode, ask before drafting. Don't hand-wave.
For campaign-scale outreach, run /deepline-enrich first to validate emails (waterfall across 15+ providers). Single-prospect emails: Apollo MCP enrichment is sufficient.
Steps
- Mode select. Default single-email; switch to generator for campaigns (5+ prospects, same ICP); switch to runner when applying an existing prompt to a CSV. See the premium reference.
- Validate inputs per the premium reference Input section. If missing, ask for prospect name/company; offer Gmail search.
- Phase 1 — Context gathering. Gmail/Calendar/Drive search → relationship timeline → email type (cold/warm/post-discovery/proposal/re-engagement). Company research: site, pricing, about, funding, LinkedIn. Detail in the premium reference.
- Phase 2 — GTM gap analysis. Assess against Genesys ICP fit (design test, PMM test, persona pages, launch test, founder LinkedIn). Find personalization hooks (funding, hiring, posts, launches, competitor moves). Apply recency rule: 0–4 weeks primary, 4–8 cautious, 8+ skip.
- Phase 3 — Drafting. Select structure: for cold-with-peer-customer apply the premium reference (6 structural beats + A/B Loom-vs-POC arm + locked voice rules); for post-discovery / re-engagement use templates in the premium reference. Lead with specific observation. First-person singular. Operator voice. No forbidden phrases (the premium reference). Apply
.claude/rules/outbound-research-hygiene.md to every research-derived signal in the draft (no >12mo, no prior-job hooks, dated not "recently", current-company-state only, sourced numbers only). Verify word counts: cold 150 / post-discovery 250 / follow-up 100 / re-engagement 100. Generate 2–3 subject variants.
- Self-evaluate. Specific opening? "I" not "we"? No forbidden phrases? Hook ≤4 weeks old? Mark gaps
[Need to verify: X].
- Quality gate per the premium reference (content, evidence, format checklists + anti-hallucination guardrails).
- Format output per the premium reference (relationship context, sources, subject options, email body, word count, personalization notes, "if they reply" thread, iteration prompts).
- Suggest chain. Follow-up sequence (no response in N days),
/proposal (positive response), /company-context (deeper research).
- If campaign mode: generator outputs a prompt artifact to
{client}/sales/campaigns/{campaign-name}/; runner takes prompt + CSV, validates per-row variables, applies quality gates per row, outputs batch with skip log. Full spec in the premium reference.
What good looks like
Evaluations
- Opens with specific observation (not generic intro)
- Under word limit for type (150 / 250 / 100 / 100)
- Single, clear, low-friction CTA
- First-person singular ("I" not "we") throughout
- No forbidden phrases ("hope this finds you", "touch base", "synergy", "circle back")
- Hook recent (≤4 weeks) — skip if stale
- Subject line specific, ≤50 characters
- All claims traceable to research or conversation; gaps marked
[Need to verify: X]
- Relationship context accurate; personalization notes explain specificity
Final ship gate
Run /premortem --output before ship. See /premortem skill for the 5 execution domains (will-it-resonate / will-it-convert / will-it-stay-on-brand / will-stakeholder-push-back / will-it-degrade-over-time) and output template.
Trivial-case escape: ## Premortem\nNo failure modes — trivial change satisfies the contract for genuinely trivial outputs.
Persuasion & stickiness pass
Output complies with persuasion-and-stickiness.md — Cialdini's 7 persuasion levers + Heath's SUCCESs. Deploy the 1-2 Cialdini levers that fit the reader's barrier (never all seven; every lever must be TRUE), run the SUCCESs diagnostic (Simple / Unexpected / Concrete / Credible / Emotional / Stories) over the near-final draft, then the rule's pre-ship gate.
1---2name: outreach3description: Outreach Emails4---56# Outreach Emails78Generate personalized outreach and follow-up emails for Genesys Growth that convert prospects into clients. Every email demonstrates operator expertise, references specific prospect context, and leads with value. Three modes: single-email (default), generator (build campaign prompt), runner (batch-generate from CSV).910## Doctrine inherited (Step 7 — 0626 rollout)1112Output complies with:1314- [`output-tenets.md`](../../../../../../rules/output-tenets.md) — the seven tenets15- [`output-simplicity.md`](../../../../../../rules/output-simplicity.md) — length caps, three-layer source placement, robot-tells ban16- [`outbound-research-hygiene.md`](../../../../../../rules/outbound-research-hygiene.md) — dated signals, no stale references, no prior-job hooks17- Step 6 calibration: see [[feedback_execution_doctrine_refinements_step6]]1819**Refinements applied to this skill:**2021| Code | Refinement | How it lands in outreach-emails |22|---|---|---|23| **R1** | Source placement (three layers) | Emails are **end-customer-facing**. **No sources block.** No `[VERIFIED:...]` tags in body, no footer "Sources:" list. Research citations live in the working draft for QA only; stripped before send. |24| **R3** | Product-update tone | When pitching a capability or update, frame as "we shipped X to address Y" — not "we are thrilled to announce." Applies to single-email and runner modes. |25| **R6** | CTA hierarchy | Cold/market-facing → sign-up or discovery-call primary. Blog as fallback for prospects not ready. Never both as primary. Warm follow-up to existing pipeline → product-action CTA. |26| **R9** | Action-oriented section names | Production-doc sections (Subject / Opener / Value / Proof / CTA / Sign-off) already verb-led. Preserve. Don't rename to status-oriented variants. |2728## When to run2930Trigger on: "write outreach email", "cold email", "follow-up email", "post-call follow-up", "outreach sequence", "warm intro", "referral email", "re-engagement email", "build a campaign prompt", "batch-generate emails from CSV". For campaign mode (5+ prospects against same ICP), see the premium reference.3132Do NOT use for marketing/nurture emails (use `lifecycle-marketing`), LinkedIn content (use `linkedin-content`), client deliverable emails, or internal comms.3334## Inputs3536Required (at least one): prospect name/company, website URL, conversation notes, LinkedIn profile, or discovery call summary. Optional: referrer context, specific service interest, timeline/urgency. Auto-loaded: client CLAUDE.md voice section. Auto-fetched: Gmail threads, Drive proposals, Calendar history. Full input table + validation checklist in the premium reference.3738**Recommended for cold mode (load-bearing for the connector-opener doctrine):**39- **Peer customer(s):** 1–2 named logos that Genesys (or the client) has worked with that are structurally similar to the prospect's company. Without this, the connector-opener falls back to generic "we work with similar firms" phrasing that tanks reply rates.40- **Wedge:** one sentence on why the engagement won — the workflow or capability that maps from peer customer to prospect.4142If either is missing for cold mode, ask before drafting. Don't hand-wave.4344For campaign-scale outreach, run `/deepline-enrich` first to validate emails (waterfall across 15+ providers). Single-prospect emails: Apollo MCP enrichment is sufficient.4546## Steps47481. **Mode select.** Default single-email; switch to generator for campaigns (5+ prospects, same ICP); switch to runner when applying an existing prompt to a CSV. See the premium reference.492. **Validate inputs** per the premium reference Input section. If missing, ask for prospect name/company; offer Gmail search.503. **Phase 1 — Context gathering.** Gmail/Calendar/Drive search → relationship timeline → email type (cold/warm/post-discovery/proposal/re-engagement). Company research: site, pricing, about, funding, LinkedIn. Detail in the premium reference.514. **Phase 2 — GTM gap analysis.** Assess against Genesys ICP fit (design test, PMM test, persona pages, launch test, founder LinkedIn). Find personalization hooks (funding, hiring, posts, launches, competitor moves). Apply recency rule: 0–4 weeks primary, 4–8 cautious, 8+ skip.525. **Phase 3 — Drafting.** Select structure: **for cold-with-peer-customer apply the premium reference (6 structural beats + A/B Loom-vs-POC arm + locked voice rules)**; for post-discovery / re-engagement use templates in the premium reference. Lead with specific observation. First-person singular. Operator voice. No forbidden phrases (the premium reference). Apply `.claude/rules/outbound-research-hygiene.md` to every research-derived signal in the draft (no >12mo, no prior-job hooks, dated not "recently", current-company-state only, sourced numbers only). Verify word counts: cold 150 / post-discovery 250 / follow-up 100 / re-engagement 100. Generate 2–3 subject variants.536. **Self-evaluate.** Specific opening? "I" not "we"? No forbidden phrases? Hook ≤4 weeks old? Mark gaps `[Need to verify: X]`.547. **Quality gate** per the premium reference (content, evidence, format checklists + anti-hallucination guardrails).558. **Format output** per the premium reference (relationship context, sources, subject options, email body, word count, personalization notes, "if they reply" thread, iteration prompts).569. **Suggest chain.** Follow-up sequence (no response in N days), `/proposal` (positive response), `/company-context` (deeper research).5710. **If campaign mode:** generator outputs a prompt artifact to `{client}/sales/campaigns/{campaign-name}/`; runner takes prompt + CSV, validates per-row variables, applies quality gates per row, outputs batch with skip log. Full spec in the premium reference.5859## What good looks like6061### Evaluations6263- Opens with specific observation (not generic intro)64- Under word limit for type (150 / 250 / 100 / 100)65- Single, clear, low-friction CTA66- First-person singular ("I" not "we") throughout67- No forbidden phrases ("hope this finds you", "touch base", "synergy", "circle back")68- Hook recent (≤4 weeks) — skip if stale69- Subject line specific, ≤50 characters70- All claims traceable to research or conversation; gaps marked `[Need to verify: X]`71- Relationship context accurate; personalization notes explain specificity7273## Final ship gate7475Run `/premortem --output` before ship. See [`/premortem` skill](../../../../../meta/orchestration/premortem/SKILL.md) for the 5 execution domains (will-it-resonate / will-it-convert / will-it-stay-on-brand / will-stakeholder-push-back / will-it-degrade-over-time) and output template.7677Trivial-case escape: `## Premortem\nNo failure modes — trivial change` satisfies the contract for genuinely trivial outputs.7879---8081## Persuasion & stickiness pass8283Output complies with [persuasion-and-stickiness.md](../../../../../../rules/persuasion-and-stickiness.md) — Cialdini's 7 persuasion levers + Heath's SUCCESs. Deploy the 1-2 Cialdini levers that fit the reader's barrier (never all seven; every lever must be TRUE), run the SUCCESs diagnostic (Simple / Unexpected / Concrete / Credible / Emotional / Stories) over the near-final draft, then the rule's pre-ship gate.