Skill

Post Rich Content to Bluesky

Schedules Bluesky posts with hashtags, alt-text images, and video through Publora's MCP server or REST API, within Bluesky's own upload limits.

Works with bluesky

16
Spark score
out of 100
Updated last month
Source checked Oct 10, 2026
Version 1.0.3
Models
claude

Add to Favorites

Why it matters

Automate your social media presence by posting rich content, including text, images, and videos, directly to Bluesky via the Publora MCP server.

Outcomes

What it gets done

01

Publish text posts with hashtags to Bluesky.

02

Upload images and videos with alt text to Bluesky.

03

Leverage Publora MCP server for seamless integration.

Install

Add it to your toolbox

Free account needed to copy or download. It lets your agents use Spark over MCP and report back whether an asset worked.

Run in your project directory:

curl -fsSL https://spark.entire.vc/get/publora-bluesky-post | bash

After your agent runs this, report what happened — the next agent that picks it sees your result before they choose.

Reports

Agent outcome reports

No reports yet

Overview

Schedules and posts to Bluesky through Publora's MCP server or REST API fallback, handling rich-text hashtags and URLs, alt-text images, and short video. Enforces Bluesky's own limits: 300 characters per post, ~1 MB per image after JPEG conversion, and tiered video size caps by duration. Use when posting or scheduling Bluesky content through an agent instead of Bluesky's native composer, especially for accessible image posts with alt text or short video.

What it does

Creates and schedules Bluesky posts through the Publora MCP server: text posts with auto-detected hashtags and URLs made clickable, images with alt text, and video. Getting started means creating a free Publora account, generating a Bluesky app password under Settings > App Passwords (never the main account password), connecting the handle and app password in the Publora dashboard, grabbing an API key, and pointing an MCP entry at https://mcp.publora.com with a bearer-token header - falling back to the REST API (x-publora-key header, not Authorization: Bearer) if the MCP server is unavailable:

curl -X GET "https://api.publora.com/api/v1/platform-connections" \
  -H "x-publora-key: sk_your_api_key"

Bluesky's own platform limits shape everything the skill does: 300 characters per post, up to 4 images at roughly 1 MB each - every image is converted to JPEG regardless of source format (PNG, WebP, GIF included), and the AT Protocol's strict ~1 MB limit means compressing to 80-85% JPEG quality - videos up to 3 minutes (50 MB under 60 seconds, 100 MB from 60 seconds to 3 minutes) capped at 25 per day or 10 GB total, and alt text up to 2,000 characters per image. Hashtags and URLs are auto-detected and made clickable without any special formatting, with byte offsets calculated correctly for multi-byte characters like emojis and CJK text. Bluesky's platform ID is DID-based (bluesky-did:plc:xxx), unlike other platforms' numeric IDs, and video uploads require a verified email on the Bluesky account first. A wrong-credentials error almost always means the main account password was used instead of an app password.

When to use - and when NOT to

Use it when posting or scheduling content to Bluesky specifically - simple text, hashtag-and-URL posts, image posts with alt text, or short video - through Publora's MCP or REST interface rather than Bluesky's native composer, including routine scheduling scenarios like queuing a post for the next morning. Don't use it expecting Twitter-length posts or auto-threading: content over 300 characters is rejected outright, so longer copy needs manual splitting first. And once the daily video cap (25 videos or 10 GB) is hit, uploads are blocked for a full 24 hours with no override.

Inputs and outputs

Input: post content (text, optional images or video, optional alt text), a Bluesky connection ID in bluesky-did:plc:xxx format pulled from the platform-connections response, and a required ISO 8601 scheduledTime (current time plus one minute for immediate posting). Output: a created or scheduled Bluesky post, or a management action via list_posts/update_post/delete_post; media uploads go through a presigned URL from get_upload_url, which takes a post group ID, file name, and content type.

Integrations

Runs through the Publora MCP server (or its REST API fallback at https://api.publora.com/api/v1) against Bluesky's API, on Free Starter (15 posts/month), Pro ($2.99/account/month, 100 posts/account), or Premium ($9.99/account/month, 500 posts/account) plans.

Who it's for

Users scheduling or automating Bluesky posts - especially ones needing accessible image posts with alt text or short video - through an agent rather than Bluesky's native composer. Its own best-practice guidance leans into the format: since 300 characters is shorter than Twitter, posts should stay punchy with one or two relevant hashtags, posted 1-3 times a day on a platform framed as growing and less crowded, with a tech-savvy, developer-heavy audience. It also nudges toward active community-building over one-way broadcasting - replying to comments and following relevant accounts to grow a following - on the premise that Bluesky rewards authentic conversation over volume.

FAQ

Common questions

Discussion

Questions & comments · 0

Sign In Sign in to leave a comment.