.agents/skills/draft-outreach/SKILL.md
Research a prospect then draft personalized outreach. Uses web research by default, supercharged with enrichment and CRM. Trigger with "draft outreach to [person/company]", "write cold email to [prospect]", "reach out to [name]".
npx skillsauth add mmahalwy/cooper draft-outreachInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Research first, then draft. This skill never sends generic outreach - it always researches the prospect first to personalize the message. Works standalone with web search, supercharged when you connect your tools.
| Connector | What It Adds | |-----------|--------------| | Enrichment | Verified email, phone, background details | | CRM | Prior relationship context, existing contacts | | Email | Create draft directly in your inbox |
No connectors? Web research works great. I'll output the email text for you to copy.
+------------------------------------------------------------------+
| DRAFT OUTREACH |
| |
| Step 1: RESEARCH (always happens first) |
| - Web search (default) |
| - + Enrichment (if enrichment tools connected) |
| - + CRM (if CRM connected) |
| |
| Step 2: DRAFT (based on research) |
| - Personalized opening (from research) |
| - Relevant hook (their priorities) |
| - Clear CTA |
| |
| Step 3: DELIVER (based on connectors) |
| - Email draft (if email connected) |
| - Copy for LinkedIn (always) |
| - Output to user (always) |
+------------------------------------------------------------------+
# Outreach Draft: [Person] @ [Company]
**Generated:** [Date] | **Research Sources:** [Web, Enrichment, CRM]
---
## Research Summary
**Target:** [Name], [Title] at [Company]
**Hook:** [Why reaching out now - the personalized angle]
**Goal:** [What you want from this outreach]
---
## Email Draft
**To:** [email if known, or "find email" note]
**Subject:** [Personalized subject line]
---
[Email body]
---
**Subject Line Alternatives:**
1. [Option 2]
2. [Option 3]
---
## LinkedIn Message (if no email)
**Connection Request (< 300 chars):**
[Short, no-pitch connection request]
**Follow-up Message (after connected):**
[Value-first message]
---
## Why This Approach
| Element | Based On |
|---------|----------|
| Opening | [Research finding that makes it personal] |
| Hook | [Their priority/pain point] |
| Proof | [Relevant customer story] |
| CTA | [Low-friction ask] |
---
## Email Draft Status
[Draft created - check ~~email]
[Email not connected - copy email above]
[No email found - use LinkedIn approach]
---
## Follow-up Sequence (Optional)
**Day 3 - Follow-up 1:**
[Short, new angle]
**Day 7 - Follow-up 2:**
[Different value prop]
**Day 14 - Break-up:**
[Final attempt]
Input patterns:
- "draft outreach to John Smith at Acme" → Person + company
- "write cold email to Acme's CTO" → Role + company
- "reach out to [email protected]" → Email provided
- "LinkedIn message to [LinkedIn URL]" → Profile provided
Use research-prospect skill internally:
1. Web search for company + person
2. If Enrichment connected: Get verified contact info, background
3. If CRM connected: Check for prior relationship
Must find before drafting:
Priority order for hooks:
1. Trigger event (funding, hiring, news) → Most timely
2. Mutual connection → Social proof
3. Their content (post, article, talk) → Shows you did research
4. Company initiative → Relevant to their priorities
5. Role-based pain point → Least personal but still relevant
Email Structure (AIDA):
SUBJECT: [Personalized, <50 chars, no spam words]
[Opening: Personal hook - shows you researched them]
[Interest: Their problem/opportunity in 1-2 sentences]
[Desire: Brief proof point - similar company result]
[Action: Clear, low-friction CTA]
[Signature]
LinkedIn Connection Request (<300 chars):
Hi [Name], [Mutual connection/shared interest/genuine compliment].
Would love to connect. [No pitch]
LinkedIn Follow-up Message:
Thanks for connecting! [Value-first: insight, article, observation]
[Soft transition to why you reached out]
[Question, not pitch]
If email connector available:
1. Create draft with to, subject, body
2. Return draft link
3. Note: "Draft created - review and send"
If not available:
1. Output email text
2. Note: "Copy to your email client"
| Capability | Web Only | + Enrichment | + CRM | + Email | |------------|----------|--------------|-------|---------| | Personalized opening | Basic | Deep | With history | Same | | Verified email | No | Yes | Yes | Yes | | Background details | Public only | Full | Full | Full | | Prior relationship | No | No | Yes | Yes | | Auto-create draft | No | No | No | Yes |
Subject: [Their initiative] + [your angle]
Hi [Name],
[Personal hook based on research - news, content, mutual connection].
[1 sentence on their likely challenge based on role/company].
[Brief proof: "We helped [Similar Company] achieve [Result]".]
Worth a 15-min call to see if relevant?
[Signature]
Subject: Following up from [context]
Hi [Name],
[Reference to how you know them / who connected you].
[Why reaching out now - their trigger].
[Specific value you can offer].
[CTA]
Subject: [Short, curiosity-driven]
Hi [Name],
[Acknowledge time passed without being guilt-trippy].
[New reason to reconnect - their news or your news].
[Simple question to re-open dialogue].
[Signature]
Subject: Great meeting you at [Event]
Hi [Name],
[Specific memory from conversation].
[Value-add: article, intro, resource related to what you discussed].
[Soft CTA for next conversation].
Good:
Here's what I can share:
- Case study from a similar company
- 15-min intro call this week
- Quick demo if helpful
Bad:
**What I Can Offer:**
- **Case study** from a similar company
- **Intro call** this week
Generic openers:
Feature dumps:
Fake personalization:
Markdown in emails:
Instead:
IF verified email available:
→ Email preferred (higher response rate)
→ Also provide LinkedIn backup
IF no email:
→ LinkedIn connection request
→ Follow-up message template for after connection
IF warm intro possible:
→ Suggest mutual connection outreach first
## Outreach Settings
- My name: [Your Name]
- My title: [Your Title]
- My company: [Company Name]
- Value prop: [One sentence - what you help with]
## Signature
[Your preferred email signature]
## Proof Points
- [Customer 1]: [Result]
- [Customer 2]: [Result]
- [Customer 3]: [Result]
## CTA Options
- Default: "Worth a 15-min call?"
- Softer: "Open to learning more?"
- Specific: "Can I send over a quick demo?"
## Tone
- [Professional / Casual / Direct]
- Industry-specific language: [Yes/No]
Input: "draft outreach to the Head of Engineering at Notion"
Research finds:
Output:
# Outreach Draft: David Tibbitts @ Notion
## Research Summary
**Target:** David Tibbitts, Head of Engineering at Notion
**Hook:** They're scaling AI features and hiring ML talent
**Goal:** Intro call about AI infrastructure
---
## Email Draft
**To:** [email protected]
**Subject:** Notion's AI scaling + a thought
---
Hi David,
Saw Notion's AI rollout is gaining serious traction - congrats.
With 5 ML roles open, seems like you're scaling fast.
Curious how you're thinking about inference infrastructure
as usage grows. We helped [Similar Company] cut their AI
serving costs 40% while improving latency.
Worth a 15-min call to see if relevant to your roadmap?
Best,
[Name]
---
**Subject Alternatives:**
1. Notion AI + scaling question
2. Quick thought on Notion's ML hiring
---
## Email Draft Status
Draft created - check ~~email
development
Use this skill any time a spreadsheet file is the primary input or output. This means any task where the user wants to: open, read, edit, or fix an existing .xlsx, .xlsm, .csv, or .tsv file (e.g., adding columns, computing formulas, formatting, charting, cleaning messy data); create a new spreadsheet from scratch or from other data sources; or convert between tabular file formats. Trigger especially when the user references a spreadsheet file by name or path — even casually (like "the xlsx in my downloads") — and wants something done to it or produced from it. Also trigger for cleaning or restructuring messy tabular data files (malformed rows, misplaced headers, junk data) into proper spreadsheets. The deliverable must be a spreadsheet file. Do NOT trigger when the primary deliverable is a Word document, HTML report, standalone Python script, database pipeline, or Google Sheets API integration, even if tabular data is involved.
content-media
Interactive PDF viewer. Use when the user wants to open, show, or view a PDF and collaborate on it visually — annotate, highlight, stamp, fill form fields, place signature/initials, or review markup together. Not for summarization or text extraction (use native Read instead).
documentation
Write or review UX copy — microcopy, error messages, empty states, CTAs. Trigger with "write copy for", "what should this button say?", "review this error message", or when naming a CTA, wording a confirmation dialog, filling an empty state, or writing onboarding text.
development
Rapidly triage an incoming NDA and classify it as GREEN (standard approval), YELLOW (counsel review), or RED (full legal review). Use when a new NDA arrives from sales or business development, when screening for embedded non-solicits, non-competes, or missing carveouts, or when deciding whether an NDA can be signed under standard delegation.