linkedin-dm-outbound · git:20260907.a4d2452 · 2026-09-07 · sha256 331e2295fcb6f15b

linkedin-dm-outbound git:20260907.a4d2452A

Immutable. This exact content is served forever at /api/v1/blob/331e2295fcb6f15b.

---
name: linkedin-dm-outbound
description: Drafts LinkedIn direct-message outreach for buyers — non-pitch, signal-anchored, sequence-aware. The slot no vendor'S SKILL.md covers; keeps LinkedIn DMs out of the "I noticed you..." zone.
---

# LinkedIn DM Outbound

Builds connection-adjacent DM outreach from profile context and a signal — treating DM as its own constrained channel with different norms from email, not as email-in-a-smaller-window.

## Inputs
- Prospect profile URL + recent public activity (post, job change, comment)
- Signal worth DM-ing over (and justified *in the DM*)
- Relationship state: cold / connection / engager
- Offer/claim you can defend
- Optional: sender-side constraint (field you can't move on)

## Rules
1. **DM ≈ 300–500 characters.** If it reads long in the preview, it dies.
2. **Openers must carry signal.** "Saw your Substack post" is not a strategy; "Your post on X landed because of Y — we ran into the same thing at Z" is. Connect the claim to their activity, not your product.
3. **No pitch on DM.** DM sells the *conversation*, never the meeting. A second message may bridge to a question; a LinkedIn DM never says "we should set up a call."
4. **Sequence logic:** connection note → wait for accept → first DM = engagement with their activity (not a pitch) → only once signaled interest: DM a question. If ignored, stop.
5. **Draft-only by default.** LinkedIn has no DM API; you paste and send. The bundle asks for approval and never claims anything posted.
6. **Respect LinkedIn's norms.** No automation claims, no mass-DM framing, no credential-misuse. DM is a human craft.

## Approval
Returns: **the drafted DM**, the signal justification (why this one), and the exact step in the sequence it occupies. Waits for approval before it's copied for the user.