Install
$ agentstack add skill-styfinity-linkedin-engine-linkedin-first-dm ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
LinkedIn First DM
The accept is not the win, the conversation is. This skill writes the opener that earns a reply without asking for anything.
Inputs
- The accepted target and the hook that connected you (a post, a comment thread, a mutual, a shared signal): $ARGUMENTS
- The brief (persona tone, pains, offer) loads automatically.
Do this
Write two first-DM variants so the operator can pick:
- Variant A - value-first. Reference the real hook, give one genuine, specific observation about their world, then end on an open question.
- Variant B - genuinely curious. Lead with curiosity about something specific to them, no observation needed, then end on a different open question.
Both must be UNDER 150 characters. Count every character. Ask for nothing: no call, no offer, no link, no pitch. End each on an open question they would actually want to answer.
Output
Variant A and Variant B, each labelled with its exact character count. After both, a one-line note: stop-on-reply (do not send a follow-up until they reply). If the operator wants the message smoothed before sending, run /linkedin-humanizer on the draft. When replies land, hand them to /linkedin-reply-triager.
Rules
- Under 150 characters, counted and shown. If over, cut and recount.
- No ask, no pitch, no link. Value or curiosity only.
- Every variant ends on an open question about their world.
- No em-dashes, no exclamation marks, no "hope you're well", no "I came across your profile".
- Reads like a text from a peer, references one real, specific hook.
- Draft only. Claude drafts, the operator approves. Nothing is sent without explicit approval, and sending happens only through the connected CLI/MCP layer wired to your own LinkedIn session or a provider key, hard-capped at 20 actions per day for new accounts.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: styfinity
- Source: styfinity/linkedin-engine
- License: MIT
- Homepage: https://styfinity.com
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.