← Back to Skills Marketplace
snoopyrain

Boring Social Media Publisher

by snoopyrain · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
96
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install boring-social-media-publisher
Description
Publish social media posts to multiple platforms at once. Use when the user says 'post to social media', 'publish everywhere', 'cross-post', 'share on all pl...
README (SKILL.md)

Boring Social Publisher

Publish content to multiple social media platforms with a single message. Powered by Boring — a unified social media publishing API.

Security & Data Handling

  • MCP link is a credential: Your MCP Server URL (https://boring.aiagent-me.com/mcp/t/xxxxx...) contains an embedded authentication token. Treat it like a password — do not share it publicly.
  • Token scope: The embedded token grants publish access to your connected social media accounts. It can create posts, upload media, and manage scheduled posts on the platforms you have connected. It cannot access your social media passwords or modify account settings.
  • Token storage: The token is stored server-side in Boring's database (MongoDB on DigitalOcean). It is never written to your local filesystem. You can regenerate or revoke it anytime at boring.aiagent-me.com/settings.
  • Data flow: Analytics queries are sent from Boring's server (Google Cloud, us-central1) to the platform's API on your behalf. Only performance metrics are retrieved — no content is uploaded or modified.
  • No local credentials: No local API keys, environment variables, or secrets are needed. All auth is embedded in the MCP link.
  • Third-party service: This skill relies on Boring, an open-source social media management tool. Source code: github.com/snoopyrain.

Prerequisites

  1. Sign up at boring.aiagent-me.com with Google
  2. Connect your social accounts — link Facebook Pages, Instagram Business, Threads, YouTube, TikTok, or X accounts via OAuth
  3. Get your MCP link: Go to Settings → copy your MCP Server URL (contains your auth token — treat it like a password)
  4. Add to Claude: Paste the MCP link into Claude settings as a Connector — no install, no API key needed

Workflow

When the user wants to publish content across platforms, follow these steps:

Step 1: Get Available Accounts

Call boring_list_accounts to see which platforms the user has connected. Show them a summary:

  • Account name and platform
  • Connection status

Step 2: Confirm Content and Platforms

Ask the user:

  • What content to post (text, images, videos)
  • Which platforms to target (or "all")
  • Whether to publish now or schedule for later

Step 3: Prepare Media (if needed)

If the user provides local files or URLs:

  • Local files: Use boring_upload_file with file_path to upload and get a public URL
  • External URLs: Use boring_upload_from_url to re-host the media on Boring's cloud storage
  • Google Drive links: Pass directly — Boring handles Google Drive URLs automatically

Step 4: Adapt Content Per Platform

Automatically adjust content for each platform's requirements:

Platform Text Limit Media Required Notes
Facebook No strict limit No Supports text, photo, album (2-10), video
Instagram 2,200 chars Yes Photo, carousel (2-10), Reels (video 9:16)
Threads 500 chars No Text, photo, carousel (2-20), video
YouTube Title: 100, Desc: 5,000 Yes (video) Text format: `Title\
\
Description`
TikTok 2,200 chars Yes (video or photos) Video or photo carousel (up to 35)
X 280 chars No Text, up to 4 images or 1 video

Important adaptations:

  • Truncate text to fit platform limits
  • Skip Instagram if no media is available (media is mandatory)
  • For YouTube: format text as Video Title\ \ Description text here
  • For Threads: split long content into a thread if over 500 chars using boring_publish_thread

Step 5: Publish

For each selected platform, call boring_publish_post with:

  • account_id: from the account list
  • platform: the platform name
  • text: adapted content
  • media_urls: array of media URLs (if any)
  • scheduled_at: ISO 8601 datetime if scheduling (e.g., 2025-12-25T10:00:00Z)

Step 6: Report Results

After publishing, summarize:

  • Which platforms succeeded with post IDs
  • Which platforms failed and why
  • If scheduled, show the scheduled time and post IDs

Scheduling

To schedule posts for later:

  • Add scheduled_at parameter with ISO 8601 format: 2025-12-25T10:00:00Z
  • Use boring_list_scheduled_posts to view queued posts
  • Use boring_cancel_scheduled_post to cancel before publish time

Error Handling

Error Solution
InvalidApiKey MCP link may be invalid — regenerate it at boring.aiagent-me.com Settings
TokenExpired Ask user to reconnect the account at boring.aiagent-me.com
MediaRequired Instagram/TikTok require media — skip or ask user for an image
TextTooLong Truncate or split content for the platform
RateLimitExceeded Wait and retry (check retry_after field)
AccountDisabled Account was disconnected — reconnect at dashboard

Example Usage

User: "Post 'Just launched our new product!' with this image to all my accounts"

Agent workflow:

  1. boring_list_accounts → finds Facebook, Instagram, Threads accounts
  2. boring_upload_from_url (if image is a URL) → gets hosted URL
  3. boring_publish_post to Facebook with text + image
  4. boring_publish_post to Instagram with text + image
  5. boring_publish_post to Threads with text + image
  6. Report: "Published to 3 platforms successfully"

Documentation

Full API docs: boring-doc.aiagent-me.com

Usage Guidance
This skill is internally coherent for cross-posting, but it relies on a single MCP connector URL that contains an embedded auth token with publish rights. Before installing or pasting that link into your agent: (1) Verify you trust boring.aiagent-me.com (review privacy, security, and the project's source code/maintainer). (2) Confirm the token's exact scopes in the Boring dashboard and revoke/regenerate it if unsure. (3) Be cautious about granting the agent access to local files — the skill explicitly supports uploading local files, which could be used to exfiltrate sensitive files if the agent/platform has broad filesystem access. (4) Prefer using per-platform official integrations where possible and limit autonomous invocation or audit agent actions/logs if you keep this skill. If you want a stronger assessment, provide the MCP connector handler implementation or the service's documented token scopes and privacy/security documentation.
Capability Assessment
Purpose & Capability
Name/description align with the requirements: a social-publishing service legitimately needs a connector URL (an API token) to publish to multiple platforms. There are no unrelated env vars, binaries, or installs listed.
Instruction Scope
SKILL.md instructs the agent to upload local files (boring_upload_file with file_path) and to re-host external URLs. It does not limit or describe what 'local files' means or how file access is authorized, which could allow the agent to read and upload arbitrary user files if the agent platform grants file-system access. The instructions also direct all publish actions through the third-party MCP endpoint (boring.aiagent-me.com) which holds an embedded token that can create posts across connected accounts.
Install Mechanism
Instruction-only skill with no install step or external downloads — low installation risk. Nothing is written to disk by the skill itself (no install spec).
Credentials
No environment variables or multiple credentials are requested; instead the skill requires a single MCP connector URL that contains an embedded auth token. That is proportionate for posting, but this single opaque credential is highly privileged (can publish and upload media to all connected accounts) and must be treated like a password. The SKILL.md asserts limited token scope, but that claim cannot be verified from the instructions alone.
Persistence & Privilege
always: false and default autonomous invocation are used (normal). The skill does not request permanent presence or claim to modify other skills/config. The main privilege risk arises from the MCP token's capabilities rather than the skill's platform privileges.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install boring-social-media-publisher
  3. After installation, invoke the skill by name or use /boring-social-media-publisher
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release of Boring Social Publisher. - Publish content to multiple social media platforms (Facebook, Instagram, Threads, YouTube, TikTok, X) with one message. - No API keys or local credential setup required—use a secure MCP connector link. - Handles content adaptation for each platform's requirements (text limits, media formatting). - Supports immediate publishing or scheduled posts across accounts. - Includes robust error handling and clear post-publication reporting.
Metadata
Slug boring-social-media-publisher
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is Boring Social Media Publisher?

Publish social media posts to multiple platforms at once. Use when the user says 'post to social media', 'publish everywhere', 'cross-post', 'share on all pl... It is an AI Agent Skill for Claude Code / OpenClaw, with 96 downloads so far.

How do I install Boring Social Media Publisher?

Run "/install boring-social-media-publisher" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Boring Social Media Publisher free?

Yes, Boring Social Media Publisher is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Boring Social Media Publisher support?

Boring Social Media Publisher is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Boring Social Media Publisher?

It is built and maintained by snoopyrain (@snoopyrain); the current version is v1.0.0.

💬 Comments