用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/johnalbertini14-glitch/openclaw-skills --skill mastodon-publisher命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Use this skill to create a Polymarket wallet for your agent and trade on prediction markets. Browse markets, place bets, manage positions — all without exposing private keys.
ClawSec suite manager with embedded advisory-feed monitoring, cryptographic signature verification, approval-gated malicious-skill response, and guided setup for additional security skills.
Automated daily security audits for OpenClaw agents with email reporting. Runs deep audits and sends formatted reports.
基于 SOC 职业分类
正在显示 SKILL.md
| 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"]}} |
Publish content to Mastodon. Use when you need to share updates, posts, or media.
Post a new status to Mastodon with Bun:
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 |
status can be ommitted when one or --media-path parameters are presentmedia objects must be present if status is ommittedmedia.description is optionalEnvironment Variables
| Name | Description | Example |
|---|---|---|
MASTODON_URL | Your Mastodon instance URL | https://mastodon.social |
MASTODON_ACCESS_TOKEN | Your Mastodon access token | xAyBzC |
Post a new status
bun {baseDir}/scripts/tootbot.js '{"status": "Hello, Mastodon"}'
Read the output and summarize it for the user.
Post a scheduled status
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
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
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
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
bun to be installed and available in the PATH.