According to AlphaMoat, as of 2026-09, Tootbot has 3,637 downloads and 0 stars — ranked #2,986 of 5,078 AI skills overall, and #42 of 51 in Other.
| Platform | Installs | Downloads | Stars | Comments |
|---|---|---|---|---|
| ClawHub ↗ | 121 | 3.6K | - | - |
Platforms count differently and update at different times.
The primary requires a Mastodon instance URL and access token and shows JSON examples for one or more statuses, including media-only posts. Publishing acts on the user’s account. Before execution, review each status, visibility setting, schedule, and attachment, and use an access token with only the minimum required posting permissions.
Profile published 2026-10-29
Generated from the skill’s documentation as examples; not results of actual runs.
The counting method changed in 2026-09: skills with the same name are now counted separately by author, and the full catalog is covered. Dashed lines show months before the change; they are not compared with later months, and no growth is computed across the change.
| Month | Downloads | MoM | Stars |
|---|---|---|---|
| 2026-09 | 3.6K | — | - |
| 2026-08 | 3.5K | +2.8% | - |
| 2026-07 | 3.5K | +6.5% | - |
| 2026-06 | 3.2K | +3.6% | - |
| 2026-05 | 3.1K | — | - |
| 2026-03 | 2.6K | — | - |
The author’s original file, shown as plain text without edits or review by AlphaMoat. Links are not clickable; check commands before running them. Fetched 2026-10-23.
---
name: mastodon-publisher
description: Publish content to Mastodon. Use when you need to post a Mastodon status.
author: Behrang Saeedzadeh
version: 0.5.0
triggers:
- "post to mastodon"
- "publish status to mastodon"
metadata: { "clawdbot": { "emoji": "🐘" }, "requires": { "bins": ["bun"] } }
---
# Mastodon Publisher
Publish content to Mastodon. Use when you need to share updates, posts, or media.
## Usage
### Post one or more statuses to Mastodon
Post a new status to Mastodon with Bun:
```bash
bun {baseDir}/scripts/tootbot.js '{"status": "Hello, Mastodon!"}' '{"status": "Goodby, Mastodon!"}'
```
JSON fields
| Name | Description | Type | Example | Required | Default |
| --------------------- | ---------------------------------------- | ----------------------------------------------- | ----------------------------------------------------- | -------- | -------- |
| `status` | The text content of the status | string | "Hello, World" | yes^1 | N/A |
| `visibility` | Sets the visibility of the posted status | `public` or `private` or `unlisted` or `direct` | "private" | no | "public" |
| `language` | ISO 639-1 language code for this status | ISO-639-1 Language Code | "en" | no | |
| `scheduledAt` | Datetime at which to schedule a status | RFC3339 date time | "2029-02-03T15:30:45.000Z" | no | |
| `quoteApprovalPolicy` | Sets who is allowed to quote the status | `public` or `followrs` or `nobody` | "nobody" | no | "public |
| `media` | Media to be attached to the status | array of `{file, description}` objects | `{"file": "/path/to/foo.png", "description" : "Foo"}` | no^2 | |
- ^1 `status` can be ommitted when one or `--media-path` parameters are present
- ^2 one or `media` objects must be present if `status` is ommitted
- ^2 `media.description` is optional
Environment Variables
| Name | Description | Example |
| ----------------------- | -------------------------- | ------------------------- |
| `MASTODON_URL` | Your Mastodon instance URL | `https://mastodon.social` |
| `MASTODON_ACCESS_TOKEN` | Your Mastodon access token | `xAyBzC` |
## Examples
- **Post a new status**
```bash
bun {baseDir}/scripts/tootbot.js '{"status": "Hello, Mastodon"}'
```
Read the output and summarize it for the user.
- **Post a scheduled status**
```bash
bun {baseDir}/scripts/tootbot.js '{"status": "Hello, future!", "scheduledAt" : "2030-02-05T13:21:34.000Z"}'
```
Read the output and summarize it for the user.
- **Post a scheduled status with visibility, language, quote approval policy, and a single media attachment**
```bash
bun {baseDir}/scripts/tootbot.js <<EOF
{
"status" : "Dorood",
"visibility" : "public",
"language" : "fa",
"scheduledAt" : "2029-02-03T15:30:45.123456789+03:30",
"quoteApprovalPolicy" : "followers",
"media" : [
{
"file" : "/path/to/media.png",
"description" : "Nowrooz Pirooz"
}
]
}
EOF
```
Read the output and summarize it for the user.
- **Post a new status with media multiple attachments**
```bash
bun {baseDir}/scripts/tootbot.js <<EOF
{
"status" : "Edsger W Dijkstra",
"visibility" : "public",
"language" : "fa",
"scheduledAt" : "2029-02-03T15:30:45.123456789+03:30",
"quoteApprovalPolicy" : "followers",
"media" : [
{
"file" : "/path/to/dijkstra.png",
"description" : "Portrait"
},
{
"file" : "/path/to/signature.png",
"description" : "Signature"
}
]
}
EOF
```
- **Post a new status with media attachments and no status text**
```bash
bun {baseDir}/scripts/tootbot.js <<EOF
{
"media" : [
{
"file" : "/path/to/flower-1.png",
"description" : "White Rose"
},
{
"file" : "/path/to/flower-2.png",
"description" : "Red Rose"
}
]
}
EOF
```
## Notes
- Requires `bun` to be installed and available in the PATH.
An editing skill that finds and removes signs of AI-generated text.
Evaluate and score Go code quality based on syntax, style, and best practices to provide constructive feedback and improvements.
Queries Twitter/X profiles, tweets and meme evidence through the 6551 API.
Aggregates real-time crypto, equity and macro news with impact scores.
Uses camsnap to grab snapshots, clips, or motion events from RTSP/ONVIF cameras.
A skill that turns an agent from reactive to proactive.
A skill that inspects agent traffic through a proxy in real time.
claw-shell runs shell commands inside a tmux session named claw and returns the output to the agent.
Data month: 2026-09 · Downloads, stars and installs are aggregated monthly from public skill registries (ClawHub, SkillHub). See methodology.