ig-carousel — Claude Code skill: build Instagram carousels
Turns an idea into an Instagram carousel: the cover, slide-by-slide copy and 1080x1350 files. Best for step-shaped ideas.
npx skills add Jakeschincariol/instagram-agent-skill --skill ig-carousel -a claude-codeWhat ig-carousel does
The skill splits an idea into 6 to 10 slides: a cover hook of six words or fewer, a stake slide that explains why it matters, one idea per slide, a recap list and a single call to action. You get the copy first as a numbered list, readable in ten seconds and editable before anything renders. Files are built only after you approve the text.
Layout rules come with it: 1080x1350, one accent colour, type no smaller than 32px, cover text kept clear of the outer 120 pixels because the profile grid crops to a ratio that has moved more than once. Slides get numbers, your handle sits in a corner of every slide, and alt text goes on the cover at minimum. If the project already has a brand skill or design system, the skill tells the agent to use that palette instead of inventing one.
Nothing is uploaded — you post it yourself. The format fits ideas with sequence: steps, a framework with parts, a before and after. A single claim is neither a carousel nor a Reel, and the skill hands that case to /ig-reel.
What it helps with
- break a step-by-step idea into carousel slides
- write a cover that earns the swipe
- render 1080x1350 files from HTML
- build a recap slide people screenshot and send
- draft the caption separately from the slides
Example prompts for the agent
- turn these four steps into a carousel
- make an Instagram carousel out of this list
- build the 1080x1350 slides and show me the copy first
How to install ig-carousel
1Skills CLI (Vercel)
npx skills add Jakeschincariol/instagram-agent-skill --skill ig-carousel -a claude-code2Manually: put the files in place
~/.claude/skills/ig-carousel/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/ig-carousel/
1Skills CLI (Vercel)
npx skills add Jakeschincariol/instagram-agent-skill --skill ig-carousel -a codex2Manually: put the files in place
.agents/skills/ig-carousel/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add Jakeschincariol/instagram-agent-skill --skill ig-carousel -a cursor2Manually: put the files in place
.cursor/skills/ig-carousel/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install Jakeschincariol/instagram-agent-skill ig-carousel2Manually: put the files in place
.github/skills/ig-carousel/SKILL.md1Skills CLI (Vercel)
npx skills add Jakeschincariol/instagram-agent-skill --skill ig-carousel -a gemini-cli2Platform CLI
gemini skills install https://github.com/Jakeschincariol/instagram-agent-skill --path skills/ig-carouselManually: put the files in place
.devin/skills/ig-carousel/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add Jakeschincariol/instagram-agent-skill --skill ig-carousel -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about ig-carousel
How do I install ig-carousel in Claude?
Run npx skills add Jakeschincariol/instagram-agent-skill --skill ig-carousel -a claude-code. The skill lands in ~/.claude/skills/ig-carousel/SKILL.md.
What does ig-carousel do?
It writes the carousel copy slide by slide — cover, one-idea slides, recap and CTA — then builds the 1080x1350 files you upload to Instagram.
When should I use a carousel instead of a Reel?
Carousels suit an idea with sequence that needs re-reading: steps, a framework, a list worth screenshotting. Reels suit motion, a face or a payoff you have to watch happen.
Source text
SKILL.md · MIT
---
name: ig-carousel
description: >-
Build an Instagram carousel - the cover that earns the swipe, slide-by-slide
copy, and the 1080x1350 files to upload. Use when the user says "carousel",
"slides", "swipe post", "turn this into a carousel", or has a list-shaped or
step-shaped idea that would die as a single image.
---
# ig-carousel
Carousels are the highest-dwell format on the grid, because a swipe is an
interaction and a scroll is not. They also get a second chance: Instagram can
show a carousel again starting from a later slide to someone who did not engage
the first time, so slide two has to stand on its own as well.
The format rewards one idea broken into steps. It punishes a caption cut into
pieces.
## When to use it instead of a Reel
Use a carousel when the idea has **sequence and needs to be re-read**: steps, a
framework with parts, a before and after, a list worth screenshotting. Use a
Reel when the idea has motion, a face, or a payoff that has to be seen
happening.
If the idea is one claim, it is neither. Hand it to `/ig-reel` and say so.
## Structure
6 to 10 slides. The cap is 20 and 20 is almost always a book nobody finishes.
Under 5 and the swipe never starts.
```
1 COVER the hook. 6 words or fewer, at a size that is legible in
the grid at thumbnail. One line of promise under it.
2 THE STAKE why this matters, in one sentence. This slide is also a
second cover, so it cannot be setup.
3 to N ONE IDEA PER SLIDE. A headline of 3 to 7 words, at most 25 words
under it. If a slide needs a paragraph, it is two slides.
N+1 RECAP the whole thing as a list. This is the screenshot slide.
LAST CTA one action. Save, comment a keyword, or follow. One.
```
## Slide copy rules
- **The cover is 80% of the result.** Six words. Big. Nothing on the deck saves
a cover nobody swipes.
- **Design for the grid crop.** The profile grid crops to a portrait rectangle
that is taller than it is wide, and the exact ratio has moved more than once.
Build at 1080x1350 and keep the cover text well inside the middle, clear of
the outer 120 pixels on every side, and the crop stops mattering.
- **Number the slides** (3/8). Completion goes up when people can see the end.
- **No slide is a paragraph.** If it cannot be said in 25 words, split it.
- **The recap slide is the one people screenshot and send.** Sends are the
strongest signal you can earn. Make it standalone and readable with no
context.
- **The handle on every slide**, small, bottom corner. Screenshots travel
without you.
- **Alt text on the cover at minimum.** It is read by screen readers and by
Instagram.
## Building the files
Instagram wants 1080x1350 (4:5), JPEG or PNG, up to 20 items. Build it as HTML
and print each slide:
```bash
# one <section> per slide, 1080x1350, page-break-after: always
# then Chrome headless --print-to-pdf, or any HTML-to-image you already use
```
Write the HTML with `width:1080px; height:1350px`, a single accent colour, and
type no smaller than 32px, because this is read on a phone at a third of its
real size. If the project has a brand skill or a design system, use it and do
not invent a palette.
## Output
The slide-by-slide copy first, as a numbered list the user can read in ten
seconds and edit before anything is rendered. Then the **caption**, which for a
carousel is Job B in `/ig-caption`: the caption is doing work here, because the
cover has already used its six words.
Run both through `/ig-human`. Build the files only after the user approves the
copy.
```
CAROUSEL · 8 slides
1 COVER THE $18,000 CLAUSE
One line I now put in every contract.
2 STAKE I approved the work. They asked for the money back nine days later.
3 WHAT IT SAYS
Payment on delivery, not on approval.
...
7 RECAP All four lines, in order.
8 CTA Comment CONTRACT and I will send the full clause.
Caption: Job B, hook in line 1, one ask, 3 tags.
```
Nothing is uploaded. The user posts it.
© Jakeschincariol · MIT · Jakeschincariol/instagram-agent-skill