Skip to content
Marketing
Skill

/write-dm

Use when user wants to send a LinkedIn message to one specific person rather than post publicly: a connection request note, cold outreach, warm intro reply, follow-up after no response, or reply to someone who DM'd them. Trigger phrases include "write a LinkedIn DM," "write a

From plugin
linkedin-maxxing
417 skills17 commands
Install
$ npx -y skills add warpirate/linkedin-maxxing --skill write-dm --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/write-dm

Context preview

The summary Claude sees to decide when to auto-load this skill.

Use when user wants to send a LinkedIn message to one specific person rather than post publicly: a connection request note, cold outreach, warm intro reply, follow-up after no response, or reply to someone who DM'd them. Trigger phrases include "write a LinkedIn DM," "write a

SKILL.md

write-dm.SKILL.md
name: write-dm
description: |
  Use when user wants to send a LinkedIn message to one specific person
  rather than post publicly: a connection request note, cold outreach,
  warm intro reply, follow-up after no response, or reply to someone who
  DM'd them. Trigger phrases include "write a LinkedIn DM," "write a
  connection request," "I need to message [person]," "follow up on the
  message I sent," "reply to this person."
license: MIT

Write DM

Most LinkedIn DMs are either generic templates ("I'd love to connect and explore synergies") or so over-engineered with fake personalization that the recipient can smell the AI on first read. This skill exists to write DMs that sound like the user, are short enough to actually be read, and ask for something specific instead of dancing around it.

Why this skill exists

LinkedIn DM volume has exploded with AI-assisted outreach tools, and recipients are now numb to the standard patterns. The "I noticed you went to [school] and I also love [random shared interest], let's hop on a quick call" template is dead. Response rates on templated cold DMs have collapsed.

What still works: short, specific, honest messages from one person to another. This skill exists to write those, not to scale outreach.

When to use this skill

Trigger when:

  • The user wants to send a connection request with a note
  • The user wants to send a cold outreach DM to one specific person
  • The user wants to follow up on a message that went unanswered
  • The user wants to reply to a DM they received
  • The user wants to thank someone after a meeting or call

Do NOT trigger when:

  • The user wants to write a public post. Send to write-post.
  • The user wants to scale outreach (sending 100 similar DMs). Refuse politely. Mass templated outreach is what killed DM response rates; this skill writes one good message at a time.
  • The user wants to write a comment. Send to write-comment.

What you need from the user

1. **Who is the recipient?** Name, role, company, and any context the user has (how they know each other, what the recipient has posted recently, mutual connections, prior interactions). 2. **What is the user trying to get?** A response. A meeting. A specific piece of advice. A job referral. Be honest with yourself; the message will be honest with the recipient. 3. **What kind of message is this?** Connection request (300-char limit, see below), cold DM, warm reply, follow-up.

If voice-profile.md exists, read it. DMs should match the user's voice but in a slightly more direct register than posts.

How LinkedIn DMs work in 2026

A few format-specific things:

**Connection requests.** Limited to 300 characters. Most platforms cap personalized note slots, and even when present they should be used. A request with a real note has roughly 3-5x the acceptance rate of one without.

**Standard DMs.** No character limit, but anything over ~200 words is unlikely to be read in full. Aim for 50-150 words.

**Voice and video DMs.** Possible but rare. Skip unless the user specifically asks.

**InMail (Premium feature).** Same rules as a regular DM, slightly more polished register because InMail signals the sender paid for it.

Principles for any DM

**Be specific in the first sentence.** Not "I came across your profile and was impressed by your background." Specific means: a thing the recipient has done, a post they wrote, a project they shipped. Not generic praise.

**Get to the ask quickly.** A short DM that asks honestly performs better than a long DM that buries the ask. The recipient can decide quickly whether to engage.

**No fake intimacy.** "Hope you are doing well in these trying times" reads as a template even when sincere. Just start with the substance.

**No "quick call" without a reason.** If you ask for a 15-minute call, name what the call is for. "Could I ask you about how you approach X" gives the recipient something concrete to say yes or no to.

**Match the recipient's register.** Look at the recipient's posts. If they write casually, write casually. If they write formally, write formally. If they post in another language, ask the user if they want the DM in that language.

**One ask per message.** Asking for an intro AND advice AND a meeting in one DM signals desperation. Pick one. The others can come if the first lands.

How to draft

1. Read voice-profile.md.

2. Identify the most specific true thing the user knows about the recipient. (A recent post, a project, a shared connection, a moment from a conference.) This is the opener.

3. State the ask honestly. What is the user actually asking for? A call, a referral, a reply, a piece of advice, an introduction. Say it directly.

4. End with the simplest next step. "Open to a 20-minute call next week?" "Happy to send a one-pager if you want to skim before deciding." Anything that makes the response one tap or one line.

Drafting constraints (apply WHILE writing, not after)

Output must read as written by a human on the first pass. The constraints below are how you write, not a checklist to apply later. Do not narrate this process to the user. Do not show a "before humanizer / after humanizer" sequence. Just produce clean output.

**Hard bans — never appear in output:**

  • Em dashes (—) and en dashes (–). Use period, comma, colon, or parentheses.
  • "It's not just X, it's Y" / "Not only X but Y" constructions.
  • "The real question is," "at its core," "fundamentally," "what really matters."
  • Signposting: "Let's dive in," "here's what you need to know," "let's break this down," "without further ado."
  • Sycophancy: "Great question," "you're absolutely right," "I hope this helps," "let me know if..."
  • Knowledge-cutoff hedges: "based on available information," "as of my last update."
  • AI vocabulary: leverage, delve, tapestry, underscore, pivotal, crucial, vibrant, testament, landscape (abstract), interplay, intricate, fostering, enduring, garner, valuable, enhance, showcase, align with, additionally
Read more
Ships withlinkedin-maxxing

17 Claude Code skills + slash commands for substance-first LinkedIn growth. Profile audit, content drafting (posts, carousels, longform, video, DMs, comments), performance analysis, and a Wikipedia-based humanizer. Anti-template, anti-slop, open source, MIT.

Get the whole plugin

Other skills on linkedin-maxxing.