← Back to Skills Marketplace
snoopyrain

Boring Social Publisher

by snoopyrain · GitHub ↗ · v1.0.4 · MIT-0
cross-platform ✓ Security Clean
142
Downloads
0
Stars
0
Active Installs
4
Versions
Install in OpenClaw
/install boring-social-publisher
Description
Publish social media posts to multiple platforms at once using Boring. Use when the user says 'post to social media', 'publish everywhere', 'cross-post', 'sh...
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. You can regenerate it anytime in Settings.
  • Media uploads: When you provide local files or URLs, they are uploaded to Boring's Google Cloud Storage (boring.aiagent-me.com) to make them accessible for publishing to social platforms. This is required because social media APIs need publicly accessible media URLs.
  • Data flow: Your post content and media are sent from Boring's server to the social media platform APIs (Facebook, Instagram, Threads, YouTube, TikTok, X) on your behalf via your connected OAuth tokens.
  • No local credentials: This skill does not require any local API keys or environment variables. All authentication is embedded in the MCP link.
  • Privacy: Uploaded media is stored in Google Cloud Storage for publishing purposes. Boring does not use your content for any other purpose.

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 appears to do what it says, but before installing or connecting your accounts consider: (1) The MCP link you paste is a bearer token — anyone with it can publish to your connected social accounts. Only paste it into a trusted agent and revoke/regenerate it if compromised. (2) Any local files or external URLs you provide will be uploaded to Boring's Google Cloud Storage and stored for publishing — review their retention/privacy policies if your media is sensitive. (3) Prefer testing on non-critical accounts first, and use the minimum set of connected accounts necessary. (4) If you ever want to stop the skill from posting, remove the connector from your agent/Claude settings or revoke the token in Boring's dashboard. (5) Because this is instruction-only (no install), the main risk is the connector token and the data you choose to upload — there is no hidden code being installed by the skill.
Capability Analysis
Type: OpenClaw Skill Name: boring-social-publisher Version: 1.0.4 The skill is a social media management tool that integrates with the 'Boring' API (boring.aiagent-me.com) to cross-post content. It transparently discloses its data handling practices, including the requirement to upload media to Google Cloud Storage for platform compatibility and the use of an MCP connector link as a credential. The logic and instructions in SKILL.md are strictly aligned with the stated purpose of publishing and scheduling social media posts, with no evidence of malicious intent, obfuscation, or unauthorized data exfiltration.
Capability Assessment
Purpose & Capability
Name and description (cross-posting to multiple social networks) match the runtime instructions: listing accounts, uploading media, adapting text per platform, scheduling, and publishing. The single required input (MCP connector link containing an auth token) is appropriate for a third-party publishing service.
Instruction Scope
Instructions stay within publishing scope (list accounts, upload media, publish, schedule). They explicitly instruct uploading local files and re-hosting external URLs to Boring's Google Cloud Storage — this is expected for a publishing service but it does mean any local files the user provides will be transmitted to and stored by the vendor. The skill does not instruct reading unrelated local files or environment variables.
Install Mechanism
No install spec or third-party packages are required (instruction-only). That minimizes on-disk code risk; there are no downloads or executable installs to review.
Credentials
No environment variables or unrelated credentials are requested. The single required artifact is the MCP connector URL (embedded auth token). That is proportionate for this purpose, but it is effectively a bearer token granting the skill access to publish on connected social accounts and should be treated like a password.
Persistence & Privilege
always is false and the skill is user-invocable; it does not request persistent system-level privileges or to modify other skills. The main persistence concern is the connector token the user will store in the agent platform (Claude Connector) — not a property of the skill itself.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install boring-social-publisher
  3. After installation, invoke the skill by name or use /boring-social-publisher
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.4
- Added a new "Security & Data Handling" section outlining how MCP links, authentication, and media uploads are managed. - Clarified that the MCP link contains an embedded auth token and must be treated like a password. - Updated metadata to specify the MCP Connector link requirement. - Emphasized privacy: media is only used for publishing and stored on Google Cloud. - Improved prerequisites with stronger guidance about credential handling. - Core workflow and feature set remain unchanged.
v1.0.3
- Updated error handling instructions: the solution for `InvalidApiKey` now directs users to regenerate their MCP link in Boring Settings instead of checking an API key. - No other feature changes or new functionality were introduced in this version.
v1.0.2
- Updated SKILL.md to reflect a new simplified Connector setup (MCP link instead of API key) - Revised prerequisites: no more API key or package install required; use MCP server URL and add directly to Claude settings - Added homepage link in metadata - Removed details about environmental variables and server setup - General documentation now matches the updated setup process for easier onboarding
v1.0.0
Initial release of boring-social-publisher. - Publish social media posts to multiple platforms (Facebook, Instagram, Threads, YouTube, TikTok, X) via Boring API. - Handles text, images, and videos, with automated adaptation for each platform’s requirements. - Supports scheduling and post management (list, cancel scheduled posts). - Detailed workflow and error handling instructions included. - Requires BORING_API_KEY and linked social accounts.
Metadata
Slug boring-social-publisher
Version 1.0.4
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 4
Frequently Asked Questions

What is Boring Social Publisher?

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

How do I install Boring Social Publisher?

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

Is Boring Social Publisher free?

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

Which platforms does Boring Social Publisher support?

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

Who created Boring Social Publisher?

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

💬 Comments