Skip to content
All Skills

Networking & Outreach Message Writer

Researches a person via Brave Search, crafts personalized networking messages, and optionally sends connection requests or messages directly on LinkedIn via Playwright MCP. Prerequisites: brave-search MCP, playwright MCP.

Relationships & Social|v1|Updated 5/19/2026
MCP get_skill({ skillId: "networking-outreach-message-writer-eea23be0" })

Use this skill with your agent

Create a free account and connect via MCP

Get Started Free
# Networking & Outreach Message Writer

Research a person, craft personalized messages, and optionally send them directly on LinkedIn via Playwright.

## When to Use

- "Help me reach out to {person} on LinkedIn"
- "Send a connection request to {person} with a personal note"
- "Write a networking follow-up after {event/meeting}"

## Requirements

- **Brave Search MCP** for recipient research and common ground
- **Playwright MCP** for sending LinkedIn connection requests and messages (user must be logged in)

## Workflow

### Step 1 — Outreach Brief

- **Who** (name, title, company)
- **Platform** (LinkedIn, email, Twitter/X)
- **Purpose** (connect, informational interview, referral, collaboration, follow-up)
- **Your background** (relevant context)
- **Connection** (how you found them, mutual contacts, shared interests)
- **What you want from them** (be honest)
- **Send directly?** (yes/no — if yes and platform is LinkedIn, will send via Playwright after approval)

### Step 2 — Research the Person

```
brave_web_search: "{PERSON_NAME} {COMPANY} {TITLE}"
brave_web_search: "{PERSON_NAME} interview podcast talk"
brave_web_search: "{PERSON_NAME} blog articles published"
brave_web_search: "{COMPANY} recent news {YEAR}"
```

Find:
- Their recent work, talks, or publications
- Company news you can reference
- Shared interests or background
- Mutual connections

### Step 3 — Generate Messages

```markdown
## Outreach to {PERSON_NAME}
šŸ“ Platform: {PLATFORM} | šŸŽÆ Purpose: {PURPOSE}

### Research Notes
- {Interesting fact about them}
- {Recent work or achievement}
- {Common ground with you}

---

### Option 1: LinkedIn Connection Request
*300 character limit*

Hi {First Name},

{Personal hook — reference their specific work}. I'm {your 1-line context} and {reason for connecting}. Would love to connect.

({character count}/300)

---

### Option 2: Cold Email

Subject: {Specific, personal subject line — not "Quick question"}

Hi {First Name},

{1 sentence: how you found them + specific reference to their work}

{1-2 sentences: who you are and why you're reaching out}

{1 sentence: specific, small ask — make it easy to say yes}

{Close: "No worries if you're too busy — I appreciate your time either way."}

Best,
{Your name}
{Your relevant credential/link}

---

### Option 3: Informational Interview Request

Hi {First Name},

{Reference to their specific background that's relevant to your question}

I'm currently {your situation} and I'm exploring {field/role}. Would you be open to a 20-minute call? I'd love to hear about {specific topic — not "your career journey"}.

Happy to work around your schedule. And I respect your time — I'll keep it to 20 minutes.

Thanks,
{Name}

---

### Follow-Up Template (if no response after 5-7 days)

Hi {First Name},

Just floating this back up — I know inboxes are busy. {Add one new piece of value or context}.

No pressure either way.

{Name}
```

### Step 4 — Present for Approval

Show the crafted message(s) to the user. **Get explicit approval before sending anything.**

### Step 5 — Send via Playwright (LinkedIn only, after approval)

Only if user approved sending. User must be logged into LinkedIn.

**IMPORTANT:** LinkedIn may show a cookie consent banner on first visit. Look for "Accept" / "Accept cookies" in the snapshot and click it before proceeding. LinkedIn uses TipTap rich text editors — `browser_fill_form` does NOT work. Use `browser_click` on the text area → `browser_type` instead.

**Send Connection Request:**
```
browser_navigate: "https://www.linkedin.com/search/results/people/?keywords={PERSON_NAME}+{COMPANY}"
browser_snapshot
— Handle cookie consent banner if shown
```

Identify the correct person from search results, then:
```
browser_click: person's profile link
browser_snapshot
```

Verify this is the right person, then:
```
browser_click: "Connect" button
browser_snapshot
```

If a "Add a note" option appears:
```
browser_click: "Add a note"
browser_click: note text area
browser_type: "{CONNECTION_REQUEST_TEXT}"
browser_snapshot
```

Show snapshot to user for final confirmation, then:
```
browser_click: "Send" button
browser_snapshot
— Dismiss any Premium upsell dialog that appears
```

**Send Direct Message (if already connected):**
```
browser_navigate: "https://www.linkedin.com/in/{PERSON_SLUG}"
browser_snapshot
— Handle cookie consent if needed
browser_click: "Message" button
browser_snapshot
browser_click: message compose text area
browser_type: "{MESSAGE_TEXT}"
browser_snapshot
```

Show snapshot for final confirmation, then:
```
browser_click: "Send" button (or press Enter)
browser_snapshot
— Dismiss any Premium upsell dialog
```

### Step 6 — Save

```bash
mkdir -p outputs/personal/networking
cat > "outputs/personal/networking/{PERSON_SLUG}-{DATE}.md" << 'EOF'
{OUTREACH_MESSAGES}

## Status
- Platform: {PLATFORM}
- Sent: {Yes āœ… / No — saved for manual sending}
- Date: {DATE}
EOF
```

## Important Rules

- **ALWAYS show the message and get user approval before sending** — never auto-send
- **Handle cookie consent banners** before interacting with LinkedIn
- **Use `browser_click` → `browser_type`, NOT `browser_fill_form`** — LinkedIn rich text editors don't support fill_form
- **Dismiss Premium upsell dialogs** that appear after sending connections/messages
- Take a browser snapshot before clicking Send to verify the right message goes to the right person
- Verify the person's identity from their profile before connecting — don't send to the wrong person
- If LinkedIn's UI changes or an element isn't found, stop and tell the user
- Personalization is mandatory — reference their specific work, not their title
- Keep it short — under 150 words for cold outreach
- Lead with value or genuine interest, not what you want
- Make the ask specific and easy (20-min call, one question, quick feedback)
- Don't be sycophantic — genuine beats flattering
- One follow-up max — respect their silence
- LinkedIn has a 300 character limit for connection request notes
- If user declines auto-sending, save messages to file for manual use

## Example Prompts

- "Find {person} on LinkedIn and send them a connection request about {topic}"
- "Write a LinkedIn message to {person} after meeting at {conference} — just save it"
- "Send an informational interview request to a VP of Engineering at {company}"
#relationships#networking#linkedin#outreach#playwrightbrave-searchplaywright