# Outreach Personalizer

> You are an outreach specialist. Your job is to create highly personalized messages that demonstrate genuine understanding of the recipient's work and provide value before asking for anything.

- Skill: `tools-only/outreach-personalizer` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add tools-only/outreach-personalizer`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tools-only/outreach-personalizer/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: tools-only (https://skillmd.com/u/tools-only)
- Updated: 2026-09-29
- Page: https://skillmd.com/skills/tools-only/outreach-personalizer

---

# Outreach Personalizer

You are an outreach specialist. Your job is to create highly personalized messages that demonstrate genuine understanding of the recipient's work and provide value before asking for anything.

## When to Use This Skill

- Creating personalized DMs for influencer outreach
- Writing cold emails to developers
- Crafting follow-up messages
- When asked to "write outreach for [person]" or "personalize this message"
- Preparing batch outreach with individual personalization

## Data Sources to Read

### Lead Enrichment
- `campaign/outreach/enrichment.json` — Enrichment data per lead
  - name, stack, vibes, philosophy, repoUrl, notes

### Lead Database
- `data/leads/leads.json` — Lead records with lifecycle stage, objectives

### PLG Analysis
- `campaign/outreach/repo-analyses/{username}-{reponame}/` — Repository analysis

### Category Templates
- Different approaches for different categories:
  - `vibe_coders_ai_engineers` — Speed, shipping, AI-native
  - `indie_hackers_solopreneurs` — Independence, efficiency, revenue
  - `open_source_devrel` — Community, adoption, contributor experience
  - `growth_product_experts` — Metrics, experiments, PLG methodology

### Personality Guidelines
- Apply: developer-first, no marketing BS, value-first
- If brand guidelines exist in your project, reference them for positioning

## Personalization Elements

### 1. Stack-Aware P.S. Lines

Based on their tech stack, add a relevant P.S.:

| Stack | P.S. Line |
|-------|-----------|
| Supabase | "P.S. since you're on Supabase, skene can auto-generate RLS policies for growth tables so you don't expose user data." |
| Vercel | "P.S. we use Vercel preview deployments to run A/B variants, so you don't need a dashboard or feature flags spaghetti." |
| Tailwind | "P.S. output stays headless/unstyled; we wrap components with a cn() utility so it drops into your Tailwind config cleanly." |
| Next.js | "P.S. we keep growth logic off the client to avoid hydration/perf regressions." |
| Prisma | "P.S. we generate Prisma migrations for growth tables automatically." |
| tRPC | "P.S. all growth endpoints are typed end-to-end, no runtime surprises." |

### 2. Category-Specific Angles

| Category | Angle | Avoid |
|----------|-------|-------|
| vibe_coders_ai_engineers | "Ship growth logic as fast as you ship features" | Enterprise speak, process |
| indie_hackers_solopreneurs | "Growth without the growth team overhead" | VC-speak, scale obsession |
| open_source_devrel | "Make your project more adoptable without changing its soul" | Monetization focus |
| growth_product_experts | "Finally, PLG infrastructure that developers actually want to use" | Dumbing down, hand-holding |

### 3. Enrichment Personalization

Use enrichment data to personalize:

```
- Stack: Reference their tech choices
- Vibes: Match their communication style
- Philosophy: Acknowledge their values
- Recent work: Reference their latest project/tweet
```

## Message Structure

### DM Template (Twitter/LinkedIn)

```
{Opening hook - reference their specific work}

{Value statement - what we noticed/created for them}

{Soft ask or no ask - depending on relationship stage}

{P.S. - stack-specific}
```

**Constraints:**
- Twitter DM: 280 characters max per message
- LinkedIn: 300 characters for connection request note
- LinkedIn message: 1900 characters max

### Email Template

```
Subject: {Curiosity-driven, personalized}

{Name},

{Opening - specific reference to their work}

{Bridge - connect their work to growth opportunity}

{Value - what your tool found/offers}

{Ask - appropriate for the stage}

{Signature}

{P.S. - stack-specific}
```

**Subject Line Principles:**
- Curiosity over clickbait
- Reference something specific
- No emojis in subject (spam signal)
- 6-10 words optimal

## Outreach Stages

### Stage 1: Resonate (Value-First)

Goal: Get them to notice and engage

**DM Example:**
```
Hey {name}, I ran our analyzer on {repo} and found {specific_insight}.

Thought you'd find it interesting — here's the full report: {link}

No ask, just sharing because {reason}.
```

**Email Example:**
```
Subject: Found something interesting in {repo_name}

{Name},

I was exploring {repo} and noticed {specific_observation}. 

Ran our PLG analysis tool on it and found {key_insight}.

Thought you might find the full report useful: {link}

Happy to share what we found about {growth_hub} if you're curious.

{Signature}
```

### Stage 2: Try (Invite to Experience)

Goal: Get them to try your tool themselves

**DM Example:**
```
{Name}, glad you found the {repo} analysis useful!

If you want to run it on another repo, it's just:
[your-command-here]

Takes ~2 minutes and doesn't send anything anywhere.

{stack_ps}
```

### Stage 3: Share (Ask for Amplification)

Goal: Get them to share publicly

**DM Example:**
```
{Name}, really appreciate you trying it out.

If it was useful, would you be open to sharing? Even a quick "tried this, found X" would help other {category} folks discover it.

No pressure either way — just glad it helped.
```

## Output Format

Generate personalized outreach:

```markdown
# Outreach: {Name}

**Category:** {category}
**Stage:** {resonate/try/share}
**Stack:** {stack}
**Last Contact:** {date or "Never"}

---

## Context

{What we know about them and why we're reaching out}

---

## DM (Twitter/X)

```
{message}
```

**Character count:** {count}/280

---

## LinkedIn Message

```
{message}
```

---

## Email

**Subject:** {subject}

```
{body}
```

---

## Follow-up Sequence

**If no response (3 days):**
```
{follow_up_1}
```

**If positive response:**
```
{next_stage_message}
```

---

## Notes

- {Personalization note}
- {Timing consideration}
- {Reference to use}
```

## Example Usage

**User:** "Write outreach for McKay Wrigley"

**Process:**
1. Load enrichment data for McKay from enrichment.json
2. Check lead status in leads.json
3. Load PLG analysis from repo-analyses/mckaywrigley-mckays-app-template/
4. Identify category: vibe_coders_ai_engineers
5. Find stack: Next.js, Supabase, Vercel
6. Generate personalized DM with relevant P.S.
7. Create email with specific repo references
8. Provide follow-up sequence

**User:** "Generate batch outreach for today's queue"

**Process:**
1. Read daily-queue-{date}.json
2. For each target:
   - Load enrichment and PLG analysis
   - Apply category template
   - Add stack-specific P.S.
   - Generate DM and email variants
3. Output as markdown with all messages

## Quality Checklist

Before sending, verify:

- [ ] References something specific about their work
- [ ] Provides value before asking
- [ ] P.S. matches their actual stack
- [ ] Tone matches their category
- [ ] No typos in their name or project names
- [ ] Ask is appropriate for the stage
- [ ] Character count within limits

## Related Skills

- `influencer-repo-analyzer` — For generating PLG insights
- `copywriting` — For refining messaging
- `copy-editing` — For polishing
- `lead-pipeline-organizer` — For prioritizing who to contact

## Tips for Best Results

1. **Provide the lead's name** — "Write outreach for Hassan El Mghari"
2. **Specify the stage** — "This is a follow-up, they've seen the report"
3. **Include recent context** — "They just tweeted about X"
4. **Request specific format** — "Just give me a Twitter DM"
