Send personalized LinkedIn direct messages to a list of existing 1st-degree connections via browser automation. Use when the user wants to message LinkedIn connections with AI-personalized outreach — e.g. nurturing leads, following up after events, reconnecting with contacts, or announcing something. Takes a data file (CSV/TSV) or plain list with connection names and companies, asks for outreach context/goal, generates a tailored message per person, and sends each one via browser automation. Handles message compose flow, character limits, and incremental status tracking.
数据来源:ClawHub。 在 ClawSkills 查看
选择你使用的 Agent
方法一:命令行安装(推荐)
推荐(无需提前安装 clawhub)
npx clawhub@latest --dir ~/.claude/skills install linkedin-dm或使用 clawhub CLI(需提前安装)
clawhub --dir ~/.claude/skills install linkedin-dm⚠️ 需要 Node.js 18+,没有 Node?请使用下方方法二直接下载 ZIP。 安装 Node.js →
方法二:手动下载安装(无需 Node)
下载 ZIP,解压后将文件夹放到以下路径,重启 Agent 即可:
安装路径
~/.claude/skills/linkedin-dm/💡解压后将文件夹放到上方路径,重启 Agent 即可生效
--- name: linkedin-dm description: Send personalized LinkedIn direct messages to a list of existing 1st-degree connections via browser automation. Use when the user wants to message LinkedIn connections with AI-personalized outreach — e.g. nurturing leads, following up after events, reconnecting with contacts, or announcing something. Takes a data file (CSV/TSV) or plain list with connection names and companies, asks for outreach context/goal, generates a tailored message per person, and sends each one via browser automation. Handles message compose flow, character limits, and incremental status tracking. ---
Sends personalized LinkedIn messages to existing 1st-degree connections. Each message has:
---
Ask the user for their data file or list. Must include (or be added):
If only a plain list is provided, offer to convert to TSV.
Before writing any messages, navigate to /in/me/ and read the sender's profile:
Store these facts. They are used to identify relationship hooks with each connection.
Ask the user: > "What's your pitch / product message? This will be the consistent part of every message. Describe it in 1–2 sentences."
Then draft a polished pitch section (2–4 sentences max, punchy and clear). Show it to the user and get explicit approval. Do not start sending until the pitch is confirmed.
Example prompt: "Here's the pitch I'll use for everyone — confirm or edit: > 'I'm building an AI calling agent — you give it a phone number + context, and it handles the call end-to-end. Think customer follow-ups, research calls, vendor coordination — anything phone-based that eats into your day. Happy to show you a demo if this sounds useful.'"
profile="chrome"): extension attached to LinkedIn tab (badge ON) — recommended for flagged accountsprofile="openclaw"): openclaw-managed Chrome, LinkedIn logged inAsk the user for a Google Sheet ID/URL to log outreach results. If they don't have one, offer to set one up (create tab + write headers). Confirm gog is authenticated (gog auth list).
If the user skips this, fall back to local linkedin_dm_progress.json but remind them the follow-up skill needs the sheet.
Only proceed once:
---
Before writing a message, compare the connection's profile against the sender's profile to find the strongest hook. Use this hierarchy — pick the highest that applies:
| Priority | Hook | Example opener | |---|---|---| | 1 | Same company (current or past) | "You and I both spent time at CRED…" | | 2 | Same college + overlapping years | "Fellow BITS Goa 2018 batch here…" | | 3 | Same college (different years) | "BITS connect here — saw your journey from…" | | 4 | Same industry/function | "Both been in fintech/product for a while…" | | 5 | Mutual connection | "We're both connected to [Name]…" | | 6 | Their work context (no personal hook) | "Seen what you've built at [Company]…" |
Combine the hook with a line about their current work to show you know what they do.
---
Send as two separate messages per person, back to back:
Message 1 — Personalized opener (unique per person)
[Relationship hook — 1 sentence]
[Acknowledgement of their work/role — 1 sentence]
Target: 100–180 chars. Feels like a genuine reach-out from someone who knows them.
Message 2 — Pitch (identical for everyone, confirmed upfront)
[Product description — 1–2 sentences]
[Relevant use case for their role — 1 sentence]
[Soft CTA — 1 sentence]
Target: 150–250 chars. Clear, punchy, no filler.
Why two messages?
Fallback: If sending two messages is technically difficult (e.g. bubble re-focusing issues), use Shift+Enter twice between the opener and pitch to create a paragraph break within a single message.
Do not:
---
Generate messages for the entire list first. Present them in a table:
| Name | Company | Relationship Hook Used | Message Preview | |---|---|---|---| | Shorya Saini | Razorpay | Same BITS batch | Hey Shorya, BITS Goa 2018 batch… |
Get user approval on the full batch before opening the browser. Allow edits per row.
---
/feed/ — mandatory, no exceptions, no skippinglinkedin.com/mynetwork/invite-connect/connections/ — type name in "Search by name" - 1 match → confirm name + headline → click to open profile - Multiple matches → show user, ask which one - 0 matches → mark Not a Connection, skip
gog sheets append with all fields (see CRM Tracking section)See references/browser-workflow.md for exact browser automation steps.
---
| Status | Meaning | |---|---| | Sent | Message delivered this session | | Already Messaged | Recent conversation exists — skip | | Not a Connection | No Message button or not in connections search | | Profile Not Found | Could not identify the right person | | Skipped | User chose to skip | | Failed | Browser error — retry next session |
---
/feed/ before every single profile — non-negotiable---
After each message is sent, append a row to a Google Sheet. This sheet is the source of truth for all outreach — current session and future follow-up.
Ask the user for a Google Sheet ID or URL at the start of the session (or offer to create a new one). The sheet should have a tab named Outreach with these columns:
...
安装 LinkedIn DM 后,可以对 AI 说这些话来触发它
Help me get started with LinkedIn DM
Explains what LinkedIn DM does, walks through the setup, and runs a quick demo based on your current project
Use LinkedIn DM to send personalized LinkedIn direct messages to a list of existing 1s...
Invokes LinkedIn DM with the right parameters and returns the result directly in the conversation
What can I do with LinkedIn DM in my marketing & growth workflow?
Lists the top use cases for LinkedIn DM, with example commands for each scenario
将技能文件夹放到 ~/.claude/skills/linkedin-dm/ 目录(个人级,所有项目可用),或 .claude/skills/linkedin-dm/(项目级)。重启 AI 客户端后,用 /linkedin-dm 主动调用,或让 AI 根据上下文自动发现并使用。
LinkedIn DM 支持 Claude、Cursor、OpenClaw,可与这些 AI 平台无缝集成,扩展其能力。
LinkedIn DM 可免费安装使用。请查阅仓库了解许可证信息。
Send personalized LinkedIn direct messages to a list of existing 1st-degree connections via browser automation. Use when the user wants to message LinkedIn connections with AI-personalized outreach — e.g. nurturing leads, following up after events, reconnecting with contacts, or announcing something. Takes a data file (CSV/TSV) or plain list with connection names and companies, asks for outreach context/goal, generates a tailored message per person, and sends each one via browser automation. Handles message compose flow, character limits, and incremental status tracking.
Automate my marketing & growth tasks using LinkedIn DM
Identifies repetitive steps in your workflow and sets up LinkedIn DM to handle them automatically
LinkedIn DM 属于「Marketing & Growth」分类,该分类的技能帮助 AI 智能体在此领域执行专业任务。