Post to Instagram

VerifiedCaution

Generate and post content to Instagram using Playwright automation. Requires an image, never post without approval.

Sby Skills Guide Bot
ContentIntermediate
7/22/2026
Claude Code
#instagram#social-media#playwright#automation#approval-workflow

Recommended for

Automated summary

Drafts an Instagram post from a business profile, routes it through an approval step, then publishes the photo via Playwright automation once approved.

Strengths

  • Cleanly separates drafting from publishing with a Pending_Approval / Approved / Rejected file workflow
  • Ties captions and hashtags to the guidelines in business_profile.md
  • Gives concrete Playwright navigation steps for image upload and sharing
  • Explicitly documents the gaps in Instagram web posting (no Stories/Reels)

Limitations

  • Covers photo posts only: Stories, Reels and text-only posts are unsupported
  • Requires a Playwright MCP server on localhost:8808 plus project-specific helper scripts
  • Blocked until the user supplies an image file before approval
When to use it

Use when you need to prepare and publish an Instagram photo post under a human approval workflow.

When not to use it

Avoid it for Stories or Reels, or when no Playwright MCP server is available.

Security analysis

Caution
Quality score80/100

The skill is designed for legitimate social-media automation and includes an explicit approval step before posting. However, it uses powerful tools—shell execution, local scripts, and browser automation against an external service—without declaring allowed-tools or addressing session credential safety. No destructive, exfiltrating, or obfuscated behavior is present.

Findings
  • •Uses bash/python execution and Playwright browser automation via a local MCP client without declaring allowed-tools.
  • •Posts to an external Instagram account and relies on an authenticated browser session, but does not discuss session/credential safety.
  • •References local filesystem approval folders and a specific script path without validating paths or describing approval-file integrity.
  • •Includes a clear mandatory approval gate before posting, which mitigates accidental posting risk.
How this analysis is made

Examples

Draft a product post
Draft an Instagram post announcing our new spring collection, following business_profile.md, and save it to Pending_Approval with the image at assets/spring.jpg.
Publish approved post
The Instagram draft in Approved/ is ready — post it to Instagram using Playwright and log the result.
Scheduled topic post
Create this week's Instagram post using one of the configured topics from business_profile.md and queue it for my approval.

Skill: Post to Instagram

Generate and post content to Instagram using Playwright automation.

When to Use

Use when the user wants to create an Instagram post, or when a scheduled instagram_post task triggers.

Limitations

Instagram web has limited posting capabilities:

  • Photo posts: Supported via web upload
  • Stories/Reels: NOT supported via web (requires mobile app)
  • Text-only posts: NOT supported (Instagram requires an image)

Instructions

Step 1: Read Context

  1. Read business_profile.md for posting guidelines, tone, and topics
  2. If a specific topic was requested, use that; otherwise choose from configured topics
  3. An image file is required — check if one was provided or needs to be selected

Step 2: Draft the Post

  1. Generate caption content following the business profile guidelines
  2. Save draft to Pending_Approval/:
    ---
    type: instagram_post
    action: post_instagram
    created: {timestamp}
    send_after_approval: true
    image_path: {path to image file, if available}
    ---
    # Pending Approval: Instagram Post
    
    ## Caption
    {the caption text with hashtags}
    
    ## Image
    {image_path or "User must provide an image before approving"}
    
    ## Instructions
    Move this file to `Approved/` to post, or `Rejected/` to cancel.
    Ensure an image is specified in the `image_path` field before approving.
    
  3. Log the draft creation

Step 3: Post (After Approval)

When the approved action comes back via Needs_Action/:

  1. Ensure Playwright MCP server is running
  2. Navigate to Instagram:
    python .claude/skills/browsing-with-playwright/scripts/mcp-client.py call \
      -u http://localhost:8808 -t browser_navigate -p '{"url": "https://www.instagram.com/"}'
    
  3. Click the "+" (create) button
  4. Upload the image file
  5. Add the caption text
  6. Click "Share"
  7. Verify the post was created
  8. Log the result and move to Done/

Important

  • NEVER post without approval — always draft to Pending_Approval/ first
  • Instagram requires an image — text-only posts are not possible
  • Use relevant hashtags (up to 30, but 5-15 is optimal)
  • Keep captions engaging but concise

From the file to a first result

The download contains exactly the content displayed on this page. This copy may differ from the latest version in the source repository.

View the source and supporting files

This download contains SKILL.md only. Any scripts, references, templates and dependencies are not included. Get the required files from the source, preserving their directory structure, before continuing.

1. Download the file

Download SKILL.md

From the root of a test project, save the file as .skill-downloads/post-to-instagram-mrwakczn/SKILL.md, or use the command below. This folder is for inspecting the skill before installation.

Command for macOS/Linux or WSL: requires a POSIX shell and curl. On Windows without WSL, use the download button and create the folder manually.

mkdir -p '.skill-downloads/post-to-instagram-mrwakczn' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/post-to-instagram-mrwakczn/download' --output '.skill-downloads/post-to-instagram-mrwakczn/SKILL.md.part' && mv '.skill-downloads/post-to-instagram-mrwakczn/SKILL.md.part' '.skill-downloads/post-to-instagram-mrwakczn/SKILL.md'

2. Check prerequisites

Read SKILL.md before using it. If it references scripts or external services, inspect them and prepare the required access in your test environment.

No recognized prerequisites section in this file. This does not mean it is self-contained: libraries, tools and access requirements may be mentioned elsewhere in the content or source repository.

The platforms on this page are catalog indications. The paths below follow tool documentation; they do not prove this skill has been run in those tools. No minimum tool version is confirmed for this listing.

3. Load the skill

This file does not provide a usable name/description header for this native procedure. It remains available to download and inspect; use the manual method below.

Manual method or another tool: attach SKILL.md to a conversation, or open it in an agent that can read files. Include any required supporting resources. No universal folder is recognized by every tool.

4. Try a first task

Use a short, synthetic input: an API endpoint, a small document or an interface brief. In a new conversation, attach the file or give the agent its path, then adapt this request:

Read .skill-downloads/post-to-instagram-mrwakczn/SKILL.md and apply its instructions to this example: [describe a test input]. Identify any missing files, dependencies or access. Produce the result requested by the skill without inventing data or running unreviewed scripts.

Expected result: output matching the skill instructions, or a precise list of missing prerequisites. A read confirmation alone does not validate a first use. If an external resource is unavailable, that path remains untested.

Related skills