Same text everywhere reads like a bot. Adapt a little per platform.
Limits
| Platform | Characters |
|---|---|
| X | 280 (25,000 with Premium) |
| Bluesky | 300 |
| Mastodon | 500 on most servers |
Write for X first, then add context. Adding is easier than cutting.
Culture
X: fast, punchy. One or two hashtags. Threads for long content.
Bluesky: conversational. Few hashtags. Custom feeds drive discovery.
Mastodon: thoughtful. Hashtags help discovery. Alt text expected. Boosts over quote posts. Content warnings for sensitive topics.
Keep vs. adapt
Keep: the message, the visuals, the links, your voice.
Adapt:
- Hashtags: X 0–2, Bluesky a few, Mastodon 3–5 at the end.
- Length: X leads with the point; Mastodon adds the why.
- Call to action: "boosts appreciated" on Mastodon, not "retweet".
One idea, three versions
X
Working from coffee shops is overrated.
Unreliable wifi. Uncomfortable chairs. Constantly guarding your laptop.Bluesky
Hot take: working from coffee shops is overrated.
Unreliable wifi. Uncomfortable chairs. That anxiety when you need the bathroom but don't want to pack up.Mastodon
Unpopular opinion: working from coffee shops is overrated.
The wifi is unreliable. The chairs weren't built for 4-hour sessions. Your home office has reliable internet and coffee that doesn't cost $6.
#RemoteWork #WFHThreads
- X: thread long content; hook in post one; number them.
- Bluesky: thread only if needed.
- Mastodon: 500 characters often means no thread.
Workflow
- Write the X version (under 280).
- Add a line for Bluesky.
- Add context, hashtags and alt text for Mastodon.
- Schedule all three, staggered 15–30 minutes.
With Statuz, one post per version:
statuz posts create --to x --at "tue 9am" --text "Working from coffee shops is overrated. …"
statuz posts create --to bluesky --at "tue 9:20am" --text "Hot take: working from coffee shops is overrated. …"
statuz posts create --to mastodon --at "tue 7pm" --text "Unpopular opinion: working from coffee shops is overrated. …"Or one version everywhere: --to x --to bluesky --to mastodon. Statuz checks every limit before saving. An agent can do all of it: "write three versions and schedule them for Tuesday" (agents).
Media
| Image size | Alt text | |
|---|---|---|
| X | 5 MB (GIF 15 MB) | Good practice |
| Bluesky | about 1 MB | Good practice |
| Mastodon | about 8 MB, per server | Expected |
Add alt text once; it goes everywhere:
statuz media add --path ./chart.png --alt "Weekly signups, up 12% since March"Don't cross-post
- Replies and quote posts.
- Inside jokes and trend takes.
- "RT if…" bait.
- Urgent news. Post it by hand.
Common mistakes
- The same hashtags everywhere.
- No alt text on Mastodon.
- Quote posts on Mastodon.
- 280-character posts on Mastodon. You have 500.
A good crossposter
- Checks every platform's limit before saving.
- Sends a different version per platform.
- Publishes threads in order.
- Schedules, so you don't need to be online.
- Keeps alt text on every platform.
Statuz does this for X, Bluesky, Mastodon, LinkedIn and Reddit, locally for free or on Statuz Cloud. More: schedule a tweet, schedule Mastodon posts, install.