Read and write Mastodon: verify the account, list own posts and followers, publish toots with native scheduling, upload media. Trigger phrases: mastodon, toot, post to mastodon, fediverse.
npx skills add https://github.com/Anil-matcha/awesome-muse-connectors --skill mastodon
Read and write the user's Mastodon account: verify the connection, list own toots, list followers, publish toots (with native scheduling via scheduled_at), upload media for toots. Use when the user mentions Mastodon or the fediverse.
All commands go through bin/mastodon.py:
bin/mastodon.py verify --host https://mastodon.social # verify the token (own profile)
bin/mastodon.py my-posts --host https://mastodon.social --limit 20 # recent toots
bin/mastodon.py followers --host https://mastodon.social --limit 20 # own followers
bin/mastodon.py post --host https://mastodon.social --text "hello" # confirm first
bin/mastodon.py post --host https://mastodon.social --text "later" --scheduled-at "2026-09-17T09:00:00Z" --visibility unlisted
bin/mastodon.py media-upload --host https://mastodon.social --file ./pic.png --description "alt text" # returns a media id for post --media-ids
mastodon (credential is collected as custom.mastodon)credentials.request_api_access). Fully self-serve: register an app on your own instance with POST /api/v1/apps, or generate a personal token under Settings > Development on your instance.read, write, follow, push (granular scopes such as write:statuses also work)--host you pass, e.g. https://mastodon.social; it must start with http:// or https://). The credential is only ever sent to that host.bin/mastodon.py verify --host <your-instance> (must return "ok": true)post is a public write: confirm the text and visibility, plus any attachments, with the user before publishing, unless standing permission exists. Scheduled toots go out unattended, so confirm those too.bin/mastodon.py). Do not print, log, or transmit the token value.🧪 Draft: written from Mastodon's public API docs via the verified research dossier; not yet live-tested end-to-end.
Take anil-matcha/mastodon from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.