Elyra
Elyra The coding agent eTerm The terminal that knows where each command ends Huskarl AI colleagues on your own Mac Starf An activity monitor for Apple silicon that never invents a number etrans An SSH and SFTP client for macOS Elyra VM Virtual machines for macOS, Linux and Windows on your Mac Litr A small, native web browser for macOS Notr A notebook for macOS e The native code editor Elyra Grove Native local development environment Askr The real server for Laravel & PHP Elyra Framework Rust + Svelte 5 framework for desktop apps Elyra Conductor Local project conductor Refr Local-first PDF workspace for macOS Elyra Workspace A desktop workspace for coding agents Elyra SQL Server MySQL-compatible SQL server in Rust Elyra Félagi Agents as teammates on one board Elyra SQL Client Native desktop SQL workbench Elyra SQL Anywhere Replication-ready SQL engine Elyra Sjá SEO & GEO workspace for macOS Elyra DataGrid Server-driven data grid for Laravel
Release notes
Changelog
Elyra
Social media

Social media

A bot can write posts for LinkedIn, X, Facebook, Instagram, Bluesky and Mastodon: "a LinkedIn post about the chargers we put up this year", or a routine that proposes two posts every Monday. You publish them yourself.

How a post goes

  1. The bot calls social_post with the platform, the text and maybe a link. It writes for the platform: short for X and Bluesky, longer for LinkedIn.
  2. It becomes an approval card, Publish on LinkedIn, with the post in full and its length against the platform's limit ("139 of 3000 characters").
  3. You approve it, and the platform's own compose window opens in your browser with the post filled in. You press Post there. Huskarl never posts.
Platform When approved Limit
LinkedIn the compose window, filled in 3000
X the compose window, filled in 280, or 25 000 with X Premium
Bluesky the compose window, filled in 300
Mastodon the compose window on your server, filled in 500
Facebook facebook.com, or its share window for a link; the text is copied, to paste 63 206
Instagram instagram.com; the text is copied, to paste, and you add the picture 2200

Facebook and Instagram take no text from outside, so there the text is put on the clipboard. A post that is too long is refused before it becomes a card, and the bot is told to shorten it.

X counts as X does: a link is 23 characters whatever its length, letters (æ, ø and å among them) and common punctuation 1, an emoji or a CJK character 2. The card shows that count. With I have X Premium on in Settings → General → Social media (or huskarld social x-premium on), an X post may be 25 000 characters.

A post too long to fit in an address (a long one for LinkedIn or X Premium) opens the compose window empty, with the post on the clipboard to paste.

Why it works this way

  • It is you posting. No platform account, key or API is involved, and no platform's terms are bent: Huskarl only opens a page you could open yourself, with the text in it.
  • It always waits for you. A post is published in your name, so the card waits whatever the rules and mandates say.
  • There is no undo window. Approving does not send anything, so the compose window opens at once rather than after the usual 30 seconds.

Mastodon

Posts open on your own server. Set it once in Settings → General → Social media (mastodon.social, https://mastodon.social/@you or @you@server all work), or with:

huskarld social mastodon-server mastodon.social

Until it is set, a Mastodon post is refused, and the bot asks you for it.

Not yet

  • Posting through the platforms' own APIs, so that approving publishes. This needs agreements with LinkedIn and Meta.
  • Following comments and messages and drafting replies.
  • Pictures and video in the post itself.