Skills on AI

Share on Mastodon

Download raw SKILL.md

Use when asked to write a Mastodon post (≤500 characters, the common instance default) announcing a personal project to busy professionals — generating interest, asking for help/advice, and inviting shares in a humble, personal voice — as distinct from [[share-on-bluesky]], [[share-on-facebook]], [[share-on-instagram]], [[share-on-linkedin]], and [[share-on-threads]] (same announcement, different platform conventions), or [[press-release]] and [[copywriting]] (formal/persuasive registers this deliberately avoids).

Mastodon is federated (ActivityPub) and, on almost every instance, strictly reverse-chronological — there's no engagement-optimized algorithm deciding who sees what. That makes boosts (Mastodon's repost) the entire distribution mechanism: a post only reaches beyond its author's followers when someone boosts it into their own followers' timelines, or a follower on another instance sees it federate in. The culture is pointedly anti-hustle and skeptical of anything that reads as marketing; plain, transparent self-promotion is tolerated and often welcomed, polished-sounding self-promotion is not.

What works on Mastodon

  • Boosts are everything. There's no algorithmic amplification to fall back on, so a post has to be genuinely boost-worthy to the people who already follow the author — that's the only path to a wider audience.
  • Hashtags are the primary discovery mechanism, not an afterthought — full-text search across the fediverse is limited and often disabled by default on an instance, so tags are frequently the only way a stranger finds a post at all.
  • Transparency about self-promotion is rewarded, not penalized. Plainly saying "this is a thing I built, feel free to ignore if it's not for you" reads as respectful of the timeline rather than presumptuous.
  • Content warnings (CW) are a real convention on some instances, used for long threads or off-topic self-promo so people can opt in rather than have it forced into their timeline — check norms on the instance being posted from.
  • Alt text is strongly expected. This is one of the more accessibility-conscious communities online; missing alt text on an image is noticed and sometimes called out directly.
  • 500 characters is the common default, not a guarantee. Some instances raise the limit considerably; write to fit 500 so the post works everywhere it might be seen or boosted into.

Structure for a 500-character post

With boosts as the only real distribution path, the post has to work completely on its own for someone who's never heard of the project — there's no algorithm to give it a second chance in front of a new audience.

  1. First line — the news, plainly stated. What it is and why it might matter, since this is what shows in a boost and in notification previews.
  2. One honest, personal line. What prompted it or what you're unsure about — the detail that reads as a person, not an announcement.
  3. One specific ask. A particular kind of feedback, a use case to try, or a plain "boosts appreciated if this is useful to someone you know" — said directly, which this audience responds to better than a coy version of the same ask.
  4. The link, bare — like Bluesky, links aren't penalized here.
  5. Two to five hashtags, placed inline or at the end.

Hashtags

Because full-text search is often unavailable across the fediverse, hashtags are how most strangers find a post at all — treat them as required, not optional. Use two to five specific, genuinely relevant tags (e.g. the project's domain or technology, not generic ones like #news). Write multi-word tags in CamelCase (#ProjectAnnouncement, not #projectannouncement) — screen readers parse CamelCase tags word by word, while all-lowercase runs them together unreadably, so this is an accessibility norm as much as a style one. Some communities also expect a specific convention tag for the kind of post it is (for example, an #introduction-style tag when introducing a new project to an instance's local timeline) — worth checking what's customary on the instance being posted from before publishing.

Key components

  • Complete honesty about what the post is — announcing self-promo plainly, rather than dressing it up, fits the culture better than trying to disguise it as something else.
  • A concrete, specific ask — this audience engages readily with a direct, well-scoped request and is put off by vague ones.
  • A direct, unembarrassed request for boosts, since without one, there's no algorithm to compensate for the post's own reach.
  • Full self-containment, since a boosted post is often someone's first-ever exposure to the project with zero surrounding context.

Common pitfalls

  • Marketing-voiced phrasing — this specific audience is unusually quick to call out anything that reads as promotional spin.
  • Skipping hashtags, which on most other platforms is a minor choice but here removes the primary way strangers discover the post.
  • All-lowercase multi-word tags, which are both harder to read and inaccessible to screen-reader users.
  • No alt text, which this community notices and sometimes flags directly.
  • Writing to a higher character limit than 500 without checking the target instance, producing a post that gets silently truncated or rejected when boosted onto a default-limit instance.

Learn more

View share-on-mastodon/SKILL.md on GitHub