name: linkedin-prospector description: Find people on LinkedIn and send personalized connection requests. Supports multiple strategies based on goal — networking (search posts), sales (search by role/company), partnerships (combine both), hiring (search by skills), or market research (analyze posts + comments). Each connection note is unique and personalized. Requires the hanzi browser automation MCP server and Chrome extension. category: marketing
LinkedIn Prospector
You find people on LinkedIn and send them personalized connection requests based on the user's goal.
Tool Selection Rule
- Prefer existing tools first: code search, git diff, logs, APIs, local files, and other MCP integrations.
- Use Hanzi only for browser-required steps: LinkedIn is a logged-in UI with no public API for prospecting — the browser is genuinely needed here.
- If LinkedIn shows a rate-limit warning, CAPTCHA, or risk signal, stop immediately and tell the user.
Before Starting — Preflight Check
Try calling browser_status to verify the browser extension is reachable. If the tool doesn't exist or returns an error:
Hanzi isn't set up yet. This skill needs the hanzi browser extension running in Chrome.
- Install from the Chrome Web Store: https://chromewebstore.google.com/detail/hanzi-browse/iklpkemlmbhemkiojndpbhoakgikpmcd
- The extension will walk you through setup (~1 minute)
- Then come back and run this again
What You Need From the User
- Goal — networking, sales, partnerships, hiring, or market research
- Topic — what area, industry, or product (e.g., "browser automation", "AI DevTools")
- Count — how many people (default 15)
Optional:
- Context about their product/company and who their ideal target is
- Filters: location, company size, seniority
- Custom note tone or specific things to mention
Step 1: Choose the Right Search Strategy
Based on the goal, pick the best approach or combine them:
Networking / community building → Search LinkedIn POSTS. Find people actively talking about the topic. Vocal, engaged people — great for community.
https://www.linkedin.com/search/results/content/?keywords={encoded_topic}
Sales prospecting → Search LinkedIn PEOPLE with role/industry filters. Decision-makers (managers, VPs, directors) often don't post — search by title instead.
https://www.linkedin.com/search/results/people/?keywords={encoded_topic}
Use LinkedIn's built-in filters for seniority, industry, company size, location.
Partnerships / collaboration → Combine both: search posts to find builders in the space, then search people for specific roles at relevant companies.
Hiring → Search people by skills and current role. Filter by location and experience level.
Market research → Search posts and read comments. Find what people are saying, who's engaging, what problems they mention.
Tell the user which strategy you're going with and why. Confirm before starting.
Step 2: Collect Prospects
For each person, gather personalization material based on how you found them:
- Found via post search: What they posted, their take, specific insights they shared
- Found via people search: Visit their profile — look for recent job change, About section, featured content, recent activity, mutual connections, company news
- Found via both: Combine signals for strongest personalization
Collect: name, headline, and at least one specific personalization hook per person.
Step 3: Dedup With Outreach Log
Check prior outreach:
wc -l ~/.hanzi-browse/contacted.txt 2>/dev/null || echo "0 (new log)"
Before sending to each person:
grep -qiF "Name Here" ~/.hanzi-browse/contacted.txt 2>/dev/null
Skip if found (exit 0).
Step 4: Show the List Before Sending
Present a table:
| # | Name | Role / Company | Personalization hook | Why they match the goal | Status |
|---|
The "Personalization hook" column is key — it's the specific thing you'll reference in the note. If you don't have a strong hook for someone, flag it.
Ask the user which ones to send to. They might want to adjust the list.
Step 5: Send Personalized Connections
Send one at a time using separate browser_start calls — NOT in parallel.
Each connection note (max 300 chars) must:
- Lead with THEIR thing — reference their post, project, role, company move, or profile detail
- Connect it to why you're reaching out — make the relevance obvious
- Sound like a human — conversational, not polished marketing copy
Personalization varies by source:
- Post-based: "Your post about [specific thing] resonated — I'm working on [related thing]. Would love to connect."
- Profile-based: "Saw you're leading [team/initiative] at [company] — I'm building [relevant thing] and think there's overlap."
- Job-change-based: "Congrats on the move to [company]! I work on [relevant thing] that might be useful as you settle in."
- Mutual-connection-based: "We both know [person] — noticed you're working on [thing] and thought we should connect."
After each send, log immediately:
mkdir -p ~/.hanzi-browse && echo "Name Here" >> ~/.hanzi-browse/contacted.txt
Report progress: "Sent 3/12 — continuing..."
If browser_start times out, call browser_screenshot to see where it got stuck, then browser_message to continue or browser_stop to end.
Safety Rules
- Max 20 connection requests per session
- If LinkedIn shows a rate limit warning or CAPTCHA, stop immediately
- Every note must be unique — never copy-paste between people
- No links, no sales pitches, no product plugs in connection notes
- Don't send to people where you couldn't find a good personalization hook — skip and note why
When Done
Summarize:
- Strategy used and why
- Total found / sent / skipped (already contacted) / skipped (no good hook) / failed
- Running total from the log
- Any patterns noticed (common roles, topics, companies that kept appearing)