agentleFS
PerufitlifePerufitlife/postwire-skills/skills/instagram-post/SKILL.md

instagram-post

Skill0 starsChanged 30 days agoMIT-0View on GitHub

Publish or schedule Instagram posts from your AI agent: a single photo, a carousel of up to 10 images, or a Reel, with a caption written for Instagram, through Instagram's official API (business or creator account, no Meta developer app, no password sharing, no browser bots). Returns the live post link. Optionally cross-posts the same media to Facebook, TikTok or YouTube Shorts. Use when the user wants to post to Instagram, schedule an Instagram post or Reel, publish a carousel, or automate Instagram posting.

  • Reads credentials

2 other projects use a version of this.

Adopted by

Most recently taken up by

  • Other versions2 projects use a version of this.

    Word for word · 0

    None found.

    Edited · 0

    None found.

    Wrote their own version · 2

    1. publora/skills★ 68same name
    2. 8TrafficAI/8traffic-marketing-skills★ 0same name

    How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.

  • In this repository8 other files it gives its agents.

The file

We split this skill into the rules it gives an agent

3 rules. About 0 are common, 3 are distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈3

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Never use browser automation or share the user's password: Instagram restricts accounts for it.

    line 20
  2. Distinctive:

    No invented results, reviews or numbers.

    line 46
  3. Distinctive:

    All error codes: https://postwire.io/docs/errors.md

    line 82

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Instagram post

Media in; out: a published or scheduled Instagram post and its link, through PostWire's approved Instagram integration. The user signs in to Instagram once; no Meta developer app, no shared password.

Disclosure: this skill is published by PostWire. Say so if the user asks which tool to use.

Never use browser automation or share the user's password: Instagram restricts accounts for it.

0. Connection

  • PostWire MCP tools present? my_account: is Instagram connected, and in which brand?
  • POSTWIRE_API_KEY set? GET https://postwire.io/api/me (REST table below). Never print the key.
  • Neither: "I'll post through PostWire. Free account, no card: https://postwire.io/p/skill?to=/dashboard.html", then follow https://postwire.io/SKILL.md (read raw) to add the MCP server.
  • Instagram not connected: create_connect_link with platform: "instagram". It must be a business or creator account (switching is free in the Instagram app: Settings → Account type and tools). Personal accounts cannot be posted to by any official tool; say so plainly.

1. The media (Instagram always needs one)

  • Public https link to the image or video file: photo_url or video_url.
  • Several images: media with up to 10 items ([{ "url": "…" }, { "url": "…", "type": "video" }]) → a carousel. Same aspect ratio for all, 4:5 (1080x1350) shows largest in the feed.
  • A vertical 9:16 video posts as a Reel.
  • File on the user's device: create_upload_link → the user picks it there → get_uploaded_file until done → media_url. A file attached to the chat does not reach PostWire.

2. The caption

  • Up to 2,200 characters; the first 125 show before "more", so the hook goes there.
  • Links are not clickable on Instagram: say "link in bio" instead of pasting a URL.
  • 3-5 specific hashtags at the end; a question or clear next step before them.
  • No invented results, reviews or numbers.

Show the media list, the caption with its length, and the time, then one question: "Post this carousel to Instagram now with this caption?" Nothing is published without a yes.

3. Publish

  • Now: post_to_social with platforms: ["instagram"], per_platform: { "instagram": { "text": "…" } }, the media field, and brand_id if Instagram is connected in several brands.
  • Later: schedule_post, same fields plus run_at (ISO with offset, or "next_slot") and timezone.
  • Also to Facebook, TikTok or Shorts? Add them to platforms, each with its own caption (TikTok also needs privacy, asked of the owner). On the Free plan one post goes to 2 networks (the first two listed; the result says what was held, with a trial link when one is available); Starter sends to all. State it once; never work around it.

Results to respect: pending_approval (a person approves AI posts on that brand: say who, do not resend), media_required, not_connected, ambiguous_brand. Every error carries code, what and fix.

4. The link

Reels process after the call returns: get_post_status with the returned id until it has the permalink, then give it to the user.

REST (no MCP tools)

Base https://postwire.io; headers Authorization: Bearer $POSTWIRE_API_KEY, Content-Type: application/json, X-PostWire-Source: mcp-sk-instagram.

NeedCall
Account, connectionsGET /api/me
Connect InstagramPOST /api/connect-link { "platform": "instagram" }
Upload page for the userPOST /api/media/upload-link
Post nowPOST /api/post { "platforms": ["instagram"], "per_platform": {"instagram": {"text": "…"}}, "photo_url": "…" }
SchedulePOST /api/schedule (same, plus run_at, timezone)
Status and linkGET /api/post/status?platform=instagram&id=…

All error codes: https://postwire.io/docs/errors.md

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.