bl-reach
The invite note is 200 characters. The first message decides whether there is a second one. Neither is a pitch.
Get the specifics before writing
Ask once, in a single batched question:
- Who - name, role, company.
- The trigger - the actual reason to reach out now. A post they wrote, something their company shipped, a talk they gave, a mutual connection who would vouch. "They fit my ICP" is not a trigger, and a message without one reads as a list import, because it is.
- What the user actually wants - a conversation, a referral, a job, a sale. Be honest internally even when the message does not lead with it.
If there is no trigger, say so. The honest move is to go comment on their work for two weeks and reach out after, and that advice is worth more than a well-written cold message.
The invite note - 200 characters
It has one job: make accepting obviously safe and mildly interesting. It is not where the pitch goes.
- Name the trigger in the first clause.
- One sentence, sometimes two.
- No ask. Nothing to agree to yet.
- No "I'd love to connect and explore synergies."
Saw your post on killing the weekly status meeting - we did the same thing last
year and it broke in a way I didn't expect. Would be good to follow your stuff.
The first message
Send it days after they accept, not minutes. An instant message after acceptance is the clearest automation tell on the platform.
- Under 80 words. A long first message is read as a pitch regardless of content.
- Reference the specific thing, with enough detail that it could not have been sent to anyone else.
- Give before asking. A relevant link, a counter-example, an introduction.
- One question, and make it easy and specific. "How did you handle X?" beats "Would you be open to a chat?"
- No calendar link. Not in the first message. Not in the second.
The two follow-ups. Two.
Follow-up one, 5 to 7 days later. Add something new - do not "bump" or "circle back". A bump with no new information tells them the first message was not important either.
Follow-up two, 2 to 3 weeks after that. This one closes the loop and gives them an easy exit: "No worries if the timing's wrong - I'll stop here. Good luck with the launch."
Then stop. A third follow-up converts almost nobody and costs the relationship permanently. If the user asks for a fourth, say no and explain why in one line.
Rules
- Read
voice.md. A DM in the wrong voice is worse than a post in the wrong voice, because it is a one-to-one conversation. - Every claim from
ledger.md. No invented case studies, no borrowed results, no "we helped a client like you" unless the client is real and the user may say it. - No automation. This skill writes messages; the user sends them. Automating LinkedIn messaging breaks the User Agreement and gets accounts restricted, and restricted accounts do not get replies.
- Never fabricate a mutual connection or a shared background.
Deliver
Four copy-ready blocks - invite, first message, follow-up one, follow-up two -
with the send timing on each. Run them all through ../bl-scrub/scrub.py first.
Messages are where em dashes survive longest, because nobody edits a DM.