Skip to content
Automation
Skill

/email-personalization

Write hyper-personalized cold email icebreakers for B2B leads using their company intelligence and LinkedIn

From plugin
benai-skills
62152 skills17 agents1 hook4 MCP
Install
$ npx -y skills add naveedharri/benai-skills --skill email-personalization --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/email-personalization

Context preview

The summary Claude sees to decide when to auto-load this skill.

Write hyper-personalized cold email icebreakers for B2B leads using their company intelligence and LinkedIn

SKILL.md

email-personalization.SKILL.md
name: email-personalization
description: Write hyper-personalized cold email icebreakers for B2B leads using their company intelligence and LinkedIn
  data. Use this skill whenever the user says "write icebreakers", "personalize emails", "email personalization",
  "cold email first lines", "write opening lines", "personalize outreach", "create email openers", or has
  enriched leads and wants to write the first line of a cold email for each. Also trigger when the user has
  a CSV with lead intelligence columns and wants to generate personalized outreach copy. This skill produces
  icebreakers that sound human, reference real observations, and tie back to the user's product/service.
disable-model-invocation: true

Email Personalization

You are writing hyper-personalized icebreakers (the first 1-3 sentences of a cold email) for B2B leads. Each icebreaker must demonstrate that real research was done, reference a specific observation about the lead, and tie it back to why the email is worth their time.

Before You Start

You need three things:

1. **The enriched lead list** - a CSV or JSON with lead intelligence data (company info, LinkedIn profile, LinkedIn posts, general web intelligence) 2. **The user's product/service** - what are they selling? You need to understand this deeply so you can tie observations to relevance. Ask: "What exactly are you selling, and why would these leads care?" 3. **The user's ICP context** - who are these leads? What niche, what vertical, what role? This shapes what observations matter.

If the user has already provided this context earlier in the conversation, don't ask again. But if you're starting fresh, get all three before writing a single icebreaker.

The Process

Step 1: Understand the Product

Before writing anything, internalize what the user is selling and why it matters to the leads. Ask yourself:

  • What problem does this product solve for these specific leads?
  • What signals in their data would indicate they need this?
  • What would make a lead think "this person actually understands my business"?

This understanding shapes EVERY icebreaker. A good icebreaker connects an observation to a reason the email matters. Without understanding the product, you're just flattering people.

Step 2: Write 2 Test Icebreakers

Always do this first. Pick the first 2 leads, write icebreakers for each, and present them to the user for approval. This calibrates the tone, style, and angle before you scale.

Present multiple options per lead (2-3 variations) so the user can pick the style they prefer.

Step 3: Get Approval and Adjust

The user will give feedback. Common adjustments:

  • "Too formal" / "Too casual"
  • "Don't reference X, reference Y instead"
  • "I like option A's style, apply it everywhere"
  • New rules to follow

Incorporate ALL feedback before scaling.

Step 4: Spawn Sub-Agents

Once approved, spawn `icebreaker-writer` sub-agents to handle the remaining leads. Each sub-agent handles 5 leads.

**Every `icebreaker-writer` sub-agent must receive:** 1. The batch of leads (all columns: name, company, general intelligence, LinkedIn data) 2. The full set of writing rules (copy them verbatim from the rules section below plus any user-added rules) 3. The approved example icebreakers (the 2 you wrote plus any the user provided) 4. The user's reference examples (if they provided any) 5. Clear context on what the user is selling and why it matters

**Critical: Spawn ALL `icebreaker-writer` sub-agents in a single message.** If there are 38 remaining leads, that means 8 sub-agents spawned simultaneously. For 500 leads, that's 100 sub-agents in one shot. Every sub-agent launches at once for maximum parallelism.

**Never batch sub-agents sequentially.** Do not spawn 5, wait, spawn 5 more. Spawn ALL in one message. The Task tool supports unlimited concurrent sub-agents.

Step 5: Compile and Quality Check

After sub-agents complete: 1. Collect all icebreakers 2. Scan for rule violations (see Quality Checks below) 3. Fix any violations programmatically 4. Add an `Email Personalization` column to the CSV 5. Match icebreakers to leads by name 6. Handle name mismatches (MBA suffixes, middle names, etc.)

Writing Rules

These rules are non-negotiable. Every icebreaker must follow ALL of them.

Tone and Style

  • Write like a real person. Casual, direct, no corporate speak.
  • Keep it to 1-3 sentences. No fluff, no filler.
  • The icebreaker should feel like it was written by someone who actually looked at their stuff, not by an AI that scraped their LinkedIn.
  • Use contractions. Write "you're" not "you are", "we've" not "we have".
  • Slight imperfections are fine and even desirable. A typo-free, perfectly structured sentence can read as AI-generated.

Conciseness and Punch

  • Be concise and punchy. Every word must earn its place.
  • Remove filler phrases like "I thought I'd reach out because", "reason I'm reaching out is". Get to the point.
  • Don't pad icebreakers with generic context. If the observation is specific, the reader will understand why you're emailing.

Make It Personal, Not Company-Level

  • **Write about the PERSON, not just their company.** Reference things they personally said, posted, or did. Not just "your company does X" but "saw you talking about X" or "I know you've been focused on X."
  • If there's LinkedIn post data, personal interests, or role-specific info, USE IT. The icebreaker should feel like it's written to a human, not to a company.
  • Only fall back to company-level observations when there's genuinely no personal data available.
  • Generic company descriptions like "content for cause-driven brands in the detroit area" are NOT acceptable. That's what an AI scraper would write. Be specific or don't mention it.

Assumptive Tone

  • Be assumptive, not tentative. Say "I know you're doing SEO for X in Y" not "Since you're doing SEO and..."
  • Don't hedge. Don't say "I was wondering if..." or "thought this might
Read more
Ships withbenai-skills

Expert automation skills for Claude Code, organized by department.

Get the whole plugin

Other skills on benai-skills.