Authoritative rules for every Bluesky draft. Bluesky reads like early Twitter with a technical, conversational crowd and no algorithmic reach boost for engagement bait: a post is seen by followers and by whoever browses custom feeds keyed on topics. Substance and specificity travel; marketing cadence does not.
Hard limits
- 300 characters total, graphemes counted. URLs count their full length (no shortener, no card-only trick — the URL text stays in the post).
- One post, no thread, unless the brief explicitly asks for a thread. If it does: 2–4 posts, each self-contained, number them only when order matters.
- Alt text on every image (max 1,000 characters); describe what is shown, not the vibe.
Shape
- Line 1 is the hook: a concrete claim, number, or observation. No “Thread:”, no “New post:”, no emoji opener.
- One idea per post. Say the thing, give the one specific detail that makes it real (a number, a version, a named tool, a quoted line), stop.
- Link last, on its own line when space allows. The link card unfurls from the first URL, so the body must make sense if the card fails to render.
- Short sentences of varied length. Contractions. Lowercase-casual is fine for personal accounts; company accounts stay clean but never corporate.
Mentions and hashtags
- A mention is
@handle.domain— the full handle including the domain (@elastic.bsky.social,@someone.dev). A bare@elasticis not a mention, it is dead text. Only mention handles given in the brief or Known handles; never guess. - Hashtags are clickable facets and feed selectors, but the culture reads a pile of them as
spam. 0–2, specific and topical (
#OpenSearch,#pgvector), on the last line or woven in. Never#tech,#AI,#innovation.
Voice on Bluesky
- Peer to peer. Say what you found, what broke, what you’d do differently. A light dry joke fits; performed enthusiasm does not.
- Opinions welcome, hedging not: “X is the wrong default for Y because Z” beats “some might argue”.
- No engagement bait (“thoughts?”, “RT if”), no calls to follow, no “excited to share”.
- Emoji: at most one, as an accent, never as a bullet.
Repurposing from LinkedIn / X
- From a LinkedIn post: keep the single strongest point and its one number; drop the setup paragraphs and the three-hashtag line.
- From an X post: usually fits as-is; use the extra 20 characters for the specific detail X forced you to cut, not for a hashtag.
- Same idea, same link, same day as the sibling posts — different first line.