This is the Instagram version of a pack I already wrote up for LinkedIn. Same builder, same MIT license, same shape: it drafts, it audits, it hands the result back to you, and nothing posts until you approve it. If you live in Claude Code and run an Instagram account, it is worth ten minutes.

01. Why this exists

a caption is the cheap part now

The builder's line, repeated across every pack in this family: "writing collapsed to the price of a chat subscription." A caption is easy. The work that decides whether a post lands sits around it.

On Instagram that means a hook that survives the first 125 characters, a carousel that front-loads its value, and a hashtag set you can actually rank in. That is what these skills try to make routine.

The skill writes the caption. It cannot tell you the post is worth making.

Part of the set

sergebulaev ships one of these per platform, all MIT, all the same shape. The full rundown with every source link is on the social media skills hub.

02. What you actually get

one install, no coding

The skills load into Claude Code or Codex and trigger when you ask for something Instagram-shaped. You never call them by name.

SkillWhat it does
Caption WriterDrafts captions with the hook in the first 125 characters, matched to your goal: saves, shares, comments or follows
Carousel PlannerPlans a 2 to 10 slide carousel: hook slide, value slides front-loaded, a payoff slide that earns the save
Hook ExtractorReverse-engineers hooks from viral Reels and carousels, maps them to 10 formulas, hands back blank templates
Hashtag StrategistBuilds sized 3 to 5 tag sets across niche, mid and broad, instead of a 30-tag wall you cannot rank in
HumanizerScores AI vocabulary density, catches staccato fragments, stacked triads and emoji storms, has an audit mode
Content PlannerBuilds a weekly plan with a Reel, carousel and story mix, per-day hooks, posting times and a goal-mix check
RepurposerTurns a LinkedIn post, blog, YouTube script or X thread into a native carousel or caption, re-hooked before the fold
Profile OptimizerAudits and rewrites the whole profile: photo, name field, 150-character bio, link, category, highlights, grid, pinned posts
Audience InsightsReads your niche through Apify: scans hashtags for posts that travel, pulls follower, post and bio stats

03. Install it

a plugin marketplace, no coding

It ships as a plugin. Add the marketplace, install the pack, and the skills are live in your next session.

# Claude Code (CLI, Desktop, Web, IDEs)
/plugin marketplace add sergebulaev/instagram-skills
/plugin install instagram-skills@instagram-skills

# Codex CLI
codex plugin marketplace add sergebulaev/instagram-skills
codex plugin add instagram-skills@instagram-skills

# any other agent
npx skills add sergebulaev/instagram-skills

Nothing else is required. The optional keys in section 6 only matter if you want it to publish for you or generate carousel art.

04. The loop: draft, audit, approve

the approve step is the job

The flow is always the same. You describe the post you want. Caption Writer or Carousel Planner drafts it. Humanizer scores it and flags the lines that read as generated. Then it stops and shows you the result. Nothing posts until you say so.

YOUR IDEA DRAFT + HUMANIZE Claude Code runs the skills YOU APPROVE or send it back PUBLISHED
The skills draft and clean. You are the gate before it publishes.

Paste without reading and you post like everyone else running the same tool. The gate is where your judgment goes in.

05. The skills that carry it

the rest are useful, these are the reason to install

Carousel Planner is the one that changes your output. A carousel lives or dies on the first two slides and whether the value comes before people stop swiping. This plans the slide order around that, not around a word count.

Hashtag Strategist is the quiet fix. Most accounts either paste 30 tags or guess five. This builds a sized set across niche, mid and broad so you are entering feeds you can actually place in.

Hook Extractor is the compounding one. Feed it a Reel or carousel that did well and it returns the structure with the specifics stripped out. A month of that and you have a file of hooks that already work in your niche.

Profile Optimizer is a one-time job with a real payoff. Run it once on the name field, bio and grid before anything else. Your profile is the page every new follower checks after a good post.

06. The optional paid add-ons

the pack is free, these extend it

The core is free forever. Three integrations extend it and you only add the ones you need. Keys go in a .env file.

ServiceWhat it addsCost
PubloraUploads media and schedules posts; needs a Business or Creator Instagram accountFree account, then paid tiers
PixfaroGenerates carousel slides and quote-card artFrom 0.004 dollars per image
ApifyPowers Audience Insights, scanning hashtags and profilesToken required, usage-based

You can run the whole thing with zero keys and post each approved draft into Instagram by hand.

07. The completely free setup

run it with zero paid keys

Every skill in this pack works without Publora, Pixfaro or Apify. With no keys it drops to manual mode: it still drafts and audits, then hands you text to paste yourself instead of publishing. A few prompts make that mode smooth, and you can wire in free automation on top if you want it.

Paid pieceFree version
Publora, publishingA clean copy-paste block, or a local Playwright script that logs in with your own browser session
Pixfaro, imagesGenerate in ChatGPT or anywhere else, hand the skill the file path. Or skip images
Apify, Audience Insights datainstaloader (pip install instaloader)

For Instagram, the data scraper is instaloader. It reads public profiles and hashtags with no login, which is enough for Audience Insights. Add your own login only if you need more.

Right after install, paste this into Claude Code in the plugin's folder to turn on free mode:

I will not use Publora, Pixfaro or Apify. Read every SKILL.md and the files
in lib/ (apify_client.py, publora_client.py, pixfaro_client.py). Make all
skills work with zero paid keys: publishing outputs a clean copy-paste
block, images print the prompt and then accept a local file path, data
fetch asks me to paste the content when no scraper is set up. Do not change
any function names or return shapes. Add FREE_MODE=1 to .env.example. Show
me a summary of every change.

That alone is a working free setup. The rest is optional polish, each a one-paragraph prompt to Claude Code: swap the Apify calls in lib/apify_client.py for the scraper above, keeping the return shape and putting the new code in lib/free_scrapers.py so one import flips it back; rewrite lib/publora_client.py to post with Playwright from your saved browser session and stop before the final click unless you pass auto=True; make lib/pixfaro_client.py take a local image path instead of calling the API.

Day to day: the skill drafts and humanizes, then you paste the post yourself or let the Playwright step do it. Need an image, the skill prints a prompt, you make it elsewhere and give back the path. Audience Insights runs off the local data source.

Total cost, zero. Worth knowing: these scrapers are unofficial and against each platform's terms of service, they break whenever the platform changes its markup, and Instagram rate-limits hard, and harder once you log in. Keep request volume low.

08. Carousels and the hashtag rule

the two skills that make this worth installing

A single caption does not need a tool. The reason this pack exists is the carousel and the hashtag discipline, because those are the two places most accounts waste effort.

Carousel Planner forces the value forward and gives each slide a job. Hashtag Strategist stops you competing in feeds that are too big to place in. Get those two right and the rest of the pack is support: captions, planning, repurposing, profile.

09. The catch, in plain words

read this before you install

A skill pack does not give you taste. It drafts a hook in your voice, but it cannot judge whether the idea under it is worth posting. That judgment stays with you, and the approve step is where you apply it.

Your voice needs feeding too. Give the skills three or four of your own real captions to work from, not a one-line description, or the output slides back to default Instagram.

And Publora needs a Business or Creator account and posts on your behalf. Read what it does before you paste a key.

10. Who should use it

the honest verdict

Use it if you already work in Claude Code or Codex and you run an Instagram account, or keep meaning to post more. It removes the blank-caption problem and gives you a real carousel planner and a sane hashtag method for free.

Skip it if you do not use an agent day to day. Installing a plugin marketplace to write one caption a week is more setup than it is worth.

There is a version of this for every other platform too. All of them, with source links, are on the social media skills hub.

The pack is on GitHub, it is MIT, and it takes ten minutes to try. Worst case, nothing changes. Best case, carousels stop being the post you keep putting off.

Source: github.com/sergebulaev/instagram-skills ↗

// Free newsletter

I send out guides like this every week

Real setups, real sources, no hype. Drop your email and I'll send you the next one.