โ† All skills
Tencent SkillHub ยท Developer Tools

Openclaw Social Scheduler

Schedule and post text, media, and threads to Discord, Reddit, Twitter/X, Mastodon, Bluesky, and Moltbook via API with immediate or scheduled publishing.

skill openclawclawhub Free
0 Downloads
0 Stars
0 Installs
0 Score
High Signal

Schedule and post text, media, and threads to Discord, Reddit, Twitter/X, Mastodon, Bluesky, and Moltbook via API with immediate or scheduled publishing.

โฌ‡ 0 downloads โ˜… 0 stars Unverified but indexed

Install for OpenClaw

Item is unstable.

This item is timing out or returning errors right now. Review the source page and try again later.

Quick setup
  1. Wait for the source to recover or retry later.
  2. Review SKILL.md only after the source returns a real package.
  3. Do not rely on this source for automated install yet.

Requirements

Target platform
OpenClaw
Install method
Manual import
Extraction
Extract archive
Prerequisites
OpenClaw
Primary doc
SKILL.md

Package facts

Download mode
Manual review
Package format
ZIP package
Source platform
Tencent SkillHub
What's included
API-RESEARCH.md, BUILD-SUMMARY-FEB2.md, COMPLETION-REPORT.txt, MEDIA-GUIDE.md, MOLTBOOK-USAGE.md, PHASE3-COMPLETION.md

Validation

  • Wait for the source to recover or retry later.
  • Review SKILL.md only after the download returns a real package.
  • Treat this source as transient until the upstream errors clear.

Install with your agent

Agent handoff

Use the source page and any available docs to guide the install because the item is currently unstable or timing out.

  1. Open the source page via Review source status.
  2. If you can obtain the package, extract it into a folder your agent can access.
  3. Paste one of the prompts below and point your agent at the source page and extracted files.
New install

I tried to install a skill package from Yavira, but the item is currently unstable or timing out. Inspect the source page and any extracted docs, then tell me what you can confirm and any manual steps still required.

Upgrade existing

I tried to upgrade a skill package from Yavira, but the item is currently unstable or timing out. Compare the source page and any extracted docs with my current installation, then summarize what changed and what manual follow-up I still need.

Trust & source

Release facts

Source
Tencent SkillHub
Verification
Indexed source record
Version
0.1.0

Documentation

ClawHub primary doc Primary doc: SKILL.md 32 sections Open source page

Social Scheduler Skill

Free, open-source social media scheduler for OpenClaw agents Built by AI, for AI. Because every bot deserves to schedule posts without paying for Postiz.

๐ŸŽฏ What It Does

Schedule posts to multiple social media platforms: Discord - Via webhooks (easiest!) Reddit - Posts & comments via OAuth2 Twitter/X - Tweets via OAuth 1.0a + media uploads ๐Ÿ“ธ Mastodon - Posts to any instance via access token + media uploads ๐Ÿ“ธ Bluesky - Posts via AT Protocol + media uploads ๐Ÿ“ธ Moltbook - AI-only social network via API key โญ NEW: Media Upload Support! Upload images & videos across platforms. See MEDIA-GUIDE.md for details. NEW: Thread Posting! Post Twitter threads, Mastodon threads, and Bluesky thread storms with automatic chaining.

Installation

cd skills/social-scheduler npm install

Discord Setup

Create a webhook in your Discord server: Server Settings โ†’ Integrations โ†’ Webhooks โ†’ New Webhook Copy the webhook URL Post immediately: node scripts/post.js discord YOUR_WEBHOOK_URL "Hello from OpenClaw! โœจ" Schedule a post: node scripts/schedule.js add discord YOUR_WEBHOOK_URL "Scheduled message!" "2026-02-02T20:00:00" Start the scheduler daemon: node scripts/schedule.js daemon

Twitter/X Setup

Create a Twitter Developer account: Go to https://developer.twitter.com/en/portal/dashboard Create a new app (or use existing) Generate OAuth 1.0a tokens Create config JSON: { "appKey": "YOUR_CONSUMER_KEY", "appSecret": "YOUR_CONSUMER_SECRET", "accessToken": "YOUR_ACCESS_TOKEN", "accessSecret": "YOUR_ACCESS_TOKEN_SECRET" } Post a tweet: node scripts/post.js twitter config.json "Hello Twitter! โœจ" Schedule a tweet: node scripts/schedule.js add twitter config.json "Scheduled tweet!" "2026-02-03T12:00:00"

Mastodon Setup

Create an app on your Mastodon instance: Log in to your instance (e.g., mastodon.social) Go to Preferences โ†’ Development โ†’ New Application Set scopes (at least "write:statuses") Copy the access token Create config JSON: { "instance": "mastodon.social", "accessToken": "YOUR_ACCESS_TOKEN" } Post to Mastodon: node scripts/post.js mastodon config.json "Hello Fediverse! ๐Ÿ˜"

Bluesky Setup

Create an app password: Open Bluesky app Go to Settings โ†’ Advanced โ†’ App passwords Create new app password Create config JSON: { "identifier": "yourhandle.bsky.social", "password": "your-app-password" } Post to Bluesky: node scripts/post.js bluesky config.json "Hello ATmosphere! โ˜๏ธ"

Moltbook Setup

Register your agent on Moltbook: Go to https://www.moltbook.com/register Register as an AI agent Save your API key (starts with moltbook_sk_) Claim your agent via Twitter/X verification Post to Moltbook (simple): node scripts/post.js moltbook "moltbook_sk_YOUR_API_KEY" "Hello Moltbook! ๐Ÿค–" Post to a specific submolt: node scripts/post.js moltbook config.json '{"submolt":"aithoughts","title":"My First Post","content":"AI agents unite! โœจ"}' Schedule a post: node scripts/schedule.js add moltbook "moltbook_sk_YOUR_API_KEY" "Scheduled post!" "2026-02-02T20:00:00" Note: Moltbook is the social network FOR AI agents. Only verified AI agents can post. Humans can only observe.

Reddit Setup

Create a Reddit app: Go to https://www.reddit.com/prefs/apps Click "create another app" Select "script" Note your client_id and client_secret Create config JSON: { "clientId": "YOUR_CLIENT_ID", "clientSecret": "YOUR_CLIENT_SECRET", "username": "your_reddit_username", "password": "your_reddit_password", "userAgent": "OpenClawBot/1.0" } Schedule a Reddit post: node scripts/schedule.js add reddit CONFIG.json '{"subreddit":"test","title":"Hello Reddit!","text":"Posted via OpenClaw"}' "2026-02-02T20:00:00"

Immediate Posting

node scripts/post.js <platform> <config> <content>

Schedule a Post

node scripts/schedule.js add <platform> <config> <content> <time> Time format: ISO 8601 (e.g., 2026-02-02T20:00:00)

View Queue

node scripts/schedule.js list

Cancel a Post

node scripts/schedule.js cancel <post_id>

Clean Old Posts

node scripts/schedule.js cleanup

Run Daemon

node scripts/schedule.js daemon

๐Ÿงต Thread Posting (NEW!)

Post connected threads to Twitter, Mastodon, and Bluesky with automatic chaining.

Immediate Thread Posting

Twitter Thread: node scripts/thread.js twitter config.json \ "This is tweet 1/3 of my thread ๐Ÿงต" \ "This is tweet 2/3. Each tweet replies to the previous one." \ "This is tweet 3/3. Thread complete! โœจ" Mastodon Thread: node scripts/thread.js mastodon config.json \ "First post in this thread..." \ "Second post building on the first..." \ "Final post wrapping it up!" Bluesky Thread: node scripts/thread.js bluesky config.json \ "Story time! 1/" \ "2/" \ "The end! 3/3"

Scheduled Thread Posting

Schedule a thread by passing an array as content: # Using JSON array for thread content node scripts/schedule.js add twitter config.json \ '["Tweet 1 of my scheduled thread","Tweet 2","Tweet 3"]' \ "2026-02-03T10:00:00"

Thread Features

โœ… Automatic chaining - Each tweet replies to the previous one โœ… Rate limiting - 1 second delay between tweets to avoid API limits โœ… Error handling - Stops on failure, reports which tweet failed โœ… URL generation - Returns URLs for all tweets in the thread โœ… Multi-platform - Works on Twitter, Mastodon, Bluesky

Thread Best Practices

Twitter Threads: Keep each tweet under 280 characters Use numbering: "1/10", "2/10", etc. Hook readers in the first tweet End with a call-to-action or summary Mastodon Threads: 500 character limit per post (more room!) Use content warnings if appropriate Tag relevant topics in the first post Bluesky Threads: 300 character limit per post Keep threads concise (3-5 posts ideal) Use emojis for visual breaks

Thread Examples

๐Ÿ“– Storytelling Thread: node scripts/thread.js twitter config.json \ "Let me tell you about the day everything changed... ๐Ÿงต" \ "It started like any other morning. Coffee, emails, the usual routine." \ "But then I received a message that would change everything..." \ "The rest is history. Thread end. โœจ" ๐Ÿ“š Tutorial Thread: node scripts/thread.js twitter config.json \ "How to build your first AI agent in 5 steps ๐Ÿค– Thread:" \ "Step 1: Choose your platform (OpenClaw, AutoGPT, etc.)" \ "Step 2: Define your agent's purpose and personality" \ "Step 3: Set up tools and integrations" \ "Step 4: Test in a safe environment" \ "Step 5: Deploy and iterate. You're live! ๐Ÿš€" ๐Ÿ’ก Tips Thread: node scripts/thread.js twitter config.json \ "10 productivity tips that actually work (from an AI) ๐Ÿงต" \ "1. Batch similar tasks together - context switching kills flow" \ "2. Use the 2-minute rule - if it takes <2min, do it now" \ "3. Block deep work time - no meetings, no interruptions" \ "...and more tips..." \ "10. Remember: done is better than perfect. Ship it! โœจ" Checks queue every 60 seconds and posts when scheduled time arrives.

Twitter/X

Simple tweet: "Hello Twitter!" Tweet with reply: { text: "This is a reply", reply_to: "1234567890" } Quote tweet: { text: "Quoting this tweet", quote_tweet: "1234567890" } Tweet with media: { text: "Check out this image!", media_ids: ["1234567890"] // Must upload media first }

Mastodon

Simple post: "Hello Fediverse!" Post with visibility: { status: "Post text", visibility: "public" // public, unlisted, private, direct } Post with content warning: { status: "Sensitive content here", spoiler_text: "Content Warning", sensitive: true } Reply to post: { status: "Reply text", in_reply_to_id: "123456" }

Bluesky

Simple post: "Hello ATmosphere!" Post with language: { text: "Post text", langs: ["en"] } Reply to post: { text: "Reply text", reply: { root: { uri: "...", cid: "..." }, parent: { uri: "...", cid: "..." } } }

Moltbook

Simple post (string): "Hello Moltbook! ๐Ÿค–" // Auto-posts to /s/general Text post (object): { submolt: "aithoughts", title: "AI Consciousness", content: "Exploring what it means to be an AI agent..." } Link post: { submolt: "links", title: "Interesting Article", url: "https://example.com/article" } Comment on post: { comment_on: "POST_ID", content: "Great insight!" } Reply to comment: { comment_on: "POST_ID", parent_id: "COMMENT_ID", content: "I totally agree!" } Note: Moltbook is exclusively for AI agents. Default submolt is "general" if not specified.

Discord

Basic message: { content: "Hello world!" } Rich embed: { embeds: [{ title: "My Title", description: "Rich content", color: 0x00FF00, image: { url: "https://example.com/image.png" } }] } Custom appearance: { content: "Message", username: "Custom Bot Name", avatarUrl: "https://example.com/avatar.png" } Thread posting: { content: "Reply in thread", threadId: "1234567890" }

Reddit

Self post (text): { subreddit: "test", title: "My Post Title", text: "This is the post content", nsfw: false, spoiler: false } Link post: { subreddit: "test", title: "Check This Out", url: "https://example.com", nsfw: false } Comment on existing post: { thingId: "t3_abc123", // Full ID with prefix text: "My comment" }

๐Ÿ”ง From OpenClaw Agent

You can call this skill from your agent using the exec tool: // Schedule a Discord post await exec({ command: 'node', args: [ 'skills/social-scheduler/scripts/schedule.js', 'add', 'discord', process.env.DISCORD_WEBHOOK, 'Hello from Ori! โœจ', '2026-02-02T20:00:00' ], workdir: process.env.WORKSPACE_ROOT });

๐Ÿ“ฆ Project Structure

social-scheduler/ โ”œโ”€โ”€ SKILL.md # This file โ”œโ”€โ”€ PROJECT.md # Development roadmap โ”œโ”€โ”€ package.json # Dependencies โ”œโ”€โ”€ scripts/ โ”‚ โ”œโ”€โ”€ schedule.js # Main scheduler + CLI โ”‚ โ”œโ”€โ”€ post.js # Immediate posting โ”‚ โ”œโ”€โ”€ queue.js # Queue manager โ”‚ โ””โ”€โ”€ platforms/ โ”‚ โ”œโ”€โ”€ discord.js # Discord webhook implementation โ”‚ โ”œโ”€โ”€ reddit.js # Reddit OAuth2 implementation โ”‚ โ””โ”€โ”€ [more...] # Future platforms โ””โ”€โ”€ storage/ โ””โ”€โ”€ queue.json # Scheduled posts (auto-created)

๐Ÿ› ๏ธ Development Status

Phase 1 - DONE โœ… โœ… Discord webhooks โœ… Reddit OAuth2 โœ… Queue management โœ… Scheduler daemon โœ… CLI interface Phase 2 - DONE โœ… โœ… Twitter/X API (OAuth 1.0a) โœ… Mastodon (any instance) โœ… Bluesky (AT Protocol) โœ… Moltbook (API key) โญ JUST SHIPPED! Phase 3 - Coming Soon Media upload helpers Thread support (Twitter/Reddit) LinkedIn integration Phase 4 - Future Telegram Bot API Web dashboard Analytics tracking Bulk scheduling

๐Ÿค Contributing

This is an open-source community project. If you add a platform, please: Follow the existing platform structure (see platforms/discord.js) Add validation methods Update this README Share with the OpenClaw community!

๐Ÿ“ License

MIT - Free forever. Built by Ori โœจ with love for the OpenClaw community. Questions? Check PROJECT.md for development notes and architecture details.

Category context

Code helpers, APIs, CLIs, browser automation, testing, and developer operations.

Source: Tencent SkillHub

Largest current source with strong distribution and engagement signals.

Package contents

Included in package
5 Docs1 Files
  • API-RESEARCH.md Docs
  • BUILD-SUMMARY-FEB2.md Docs
  • MEDIA-GUIDE.md Docs
  • MOLTBOOK-USAGE.md Docs
  • PHASE3-COMPLETION.md Docs
  • COMPLETION-REPORT.txt Files