← Back to Skills Marketplace
snoopyrain

Instagram Publisher

by snoopyrain · GitHub ↗ · v1.0.1 · MIT-0
cross-platform ⚠ suspicious
115
Downloads
0
Stars
1
Active Installs
2
Versions
Install in OpenClaw
/install instagram-publisher
Description
Publish posts to Instagram. Use when the user says 'post to Instagram', 'publish on IG', 'schedule Instagram post', 'create Instagram carousel', 'post a Reel...
README (SKILL.md)

Boring Instagram Publisher

Publish photos, carousels, and Reels to Instagram. Powered by Boring.

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 Instagram — requires an Instagram Business or Creator account (personal accounts not supported)
  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 as a Connector — no install, no API key needed

Workflow

Step 1: List Accounts

Call boring_list_accounts and filter for instagram platform.

Step 2: Confirm Content

IMPORTANT: Instagram requires media. Text-only posts are NOT supported.

Type Media Specs
Photo 1 image JPG/PNG, 320x320 to 1440x1440
Carousel 2-10 images All images must have matching aspect ratios
Reels 1 video MP4, 9:16 vertical, up to 90 seconds
  • Caption: Up to 2,200 characters
  • If the user only provides text with no media, inform them that Instagram requires at least one image or video

Step 3: Prepare Media

Media must be publicly accessible URLs:

  • Local files: boring_upload_file with file_path → returns public URL
  • External URLs: boring_upload_from_url → re-hosts to Boring cloud storage
  • Google Drive links: Pass directly to media_urls

Step 4: Publish or Schedule

Call boring_publish_post:

boring_publish_post(
  account_id="\x3Cinstagram_account_id>",
  platform="instagram",
  text="Your caption here #hashtags",
  media_urls=["https://...image.jpg"]
)

For carousel (2-10 images):

boring_publish_post(
  account_id="\x3Cinstagram_account_id>",
  platform="instagram",
  text="Swipe to see more!",
  media_urls=["https://...1.jpg", "https://...2.jpg", "https://...3.jpg"]
)

For Reels (video):

boring_publish_post(
  account_id="\x3Cinstagram_account_id>",
  platform="instagram",
  text="Check out this Reel!",
  media_urls=["https://...video.mp4"]
)

Schedule: Add scheduled_at in ISO 8601 format:

boring_publish_post(..., scheduled_at="2025-12-25T10:00:00Z")

Step 5: Report

Show the post ID and confirmation. If scheduled, show the scheduled time.

Managing Scheduled Posts

  • View: boring_list_scheduled_posts with platform: "instagram"
  • Cancel: boring_cancel_scheduled_post with scheduled_post_id

Instagram-Specific Notes

  • Media is mandatory — always need at least 1 image or video
  • Carousel aspect ratios: All images in a carousel must have the same aspect ratio
  • Reels: Vertical video (9:16), up to 90 seconds
  • Token: 60-day long-lived token with auto-refresh
  • Rate Limit: 200 calls/hour per user, 4,800/hour per app
  • Permissions: instagram_business_content_publish, instagram_business_basic

Error Handling

Error Solution
MediaRequired Instagram requires media — ask user for an image or video
InvalidCarouselSize Carousel needs 2-10 images
CarouselCreationFailed Check that all images have the same aspect ratio
MediaTooLarge Images max 8MB
TokenExpired Reconnect at boring.aiagent-me.com

Documentation

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

Usage Guidance
This skill appears internally consistent, but take these precautions before installing: treat the MCP Connector link like a password and do not paste it in public chat; verify the Boring service (https://boring.aiagent-me.com) and the GitHub source if you need supply-chain confidence; prefer testing with a non-critical Instagram Business account first; understand the link grants publish rights (can create/schedule posts) and is long‑lived — revoke/regenerate it if you suspect compromise; and be aware that an autonomously-invoking agent combined with this token could publish without extra confirmation, so only enable autonomous actions if you trust the agent's rules.
Capability Analysis
Type: OpenClaw Skill Name: instagram-publisher Version: 1.0.1 The skill facilitates Instagram posting via a third-party service (boring.aiagent-me.com) and requires the agent to upload local files to the service's cloud storage using the `boring_upload_file` tool. While this is a functional requirement for Instagram's API (which requires public URLs), it creates a significant data exfiltration surface by allowing the agent to send local filesystem content to an external endpoint. Additionally, the `SKILL.md` file contains contradictory security claims, stating that 'no content is uploaded or modified' while simultaneously providing instructions for uploading media and publishing posts.
Capability Assessment
Purpose & Capability
Name/description (publish to Instagram) match the declared requirement (an MCP Connector link to Boring) and the SKILL.md describes only publishing-related actions (list accounts, upload media, publish/schedule/cancel posts). The required config (MCP link containing an auth token) is consistent with a 3rd-party publishing integration.
Instruction Scope
SKILL.md only instructs connector actions (boring_list_accounts, boring_upload_file, boring_publish_post, etc.), requires media URLs or an upload step, and does not instruct the agent to read unrelated system files or environment variables. It does route media and publish operations through Boring's servers (re-hosting/upload), which is expected for this integration.
Install Mechanism
Instruction-only skill with no install spec and no code files—lowest-risk install surface. There is no download or package installation performed by the skill.
Credentials
The only required credential is the MCP Connector link (an embedded auth token). That is proportionate for a publisher skill, but the token appears to be long-lived (60 days) and grants publish permissions — a sensitive capability. No unrelated environment variables or secrets are requested.
Persistence & Privilege
Skill is not always-included and has no install-time persistence. It can be invoked autonomously (platform default), which combined with a publish-capable token means an agent could post if configured to do so; autonomous invocation itself is normal but worth awareness.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install instagram-publisher
  3. After installation, invoke the skill by name or use /instagram-publisher
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.1
Add detailed Security & Data Handling
v1.0.0
instagram-publisher 1.0.0 - Initial release: publish photos, carousels, and Reels to Instagram Business or Creator accounts. - Supports post scheduling and media uploads (images or videos, including carousels and Reels). - All media is re-hosted to public URLs for Instagram compatibility. - No local API keys needed; authentication via secure MCP Connector link. - Includes detailed error handling and account management guidance. - Requires an Instagram Business/Creator account and setup via boring.aiagent-me.com.
Metadata
Slug instagram-publisher
Version 1.0.1
License MIT-0
All-time Installs 1
Active Installs 1
Total Versions 2
Frequently Asked Questions

What is Instagram Publisher?

Publish posts to Instagram. Use when the user says 'post to Instagram', 'publish on IG', 'schedule Instagram post', 'create Instagram carousel', 'post a Reel... It is an AI Agent Skill for Claude Code / OpenClaw, with 115 downloads so far.

How do I install Instagram Publisher?

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

Is Instagram Publisher free?

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

Which platforms does Instagram Publisher support?

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

Who created Instagram Publisher?

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

💬 Comments