New: Earn 20% as an AgentAlley affiliate. Share your link and earn on every sale you refer. Join now New: Earn 20% as an affiliate. Join now

Plan an Instagram carousel slide by slide, up to 10 slides

Instagram Carousel Planner

by sergebulaev · MIT license · ★ 138 on GitHub · updated Sep 17

Instagram Carousel Planner cover

Plan an Instagram carousel slide by slide, up to 10 slides, with a hook slide that opens a loop, value slides that front-load the payoff, and a payoff slide that earns the save and follow. Picks a 2026 carousel formula (listicle,…

---
name: ig-carousel-planner
description: "Plan an Instagram carousel slide by slide, up to 10 slides, with a hook slide that opens a loop, value slides that front-load the payoff, and a payoff slide that earns the save and follow. Picks a 2026 carousel formula (listicle, before/after, myth-buster, framework) by goal (saves, shares, follows), drafts each slide's text plus the caption, then publishes the images you supply via Publora. Use to structure a multi-slide carousel. Not for single-image captions (use ig-caption-writer)."
---

# Instagram Carousel Planner

Plan a carousel that gets swiped to the end and saved. The whole game is slide 1
(the swipe-earning hook) and the last slide (the saveable payoff). This skill
maps every slide, writes the on-image text, and drafts the caption that frames
it.

## When to use

- User wants to turn a topic or notes into a multi-slide carousel
- User has a list, a framework, or a transformation to teach
- User wants a slide-by-slide structure, not just a caption

Overview

Plan a carousel that gets swiped to the end and saved. The whole game is slide 1 (the swipe-earning hook) and the last slide (the saveable payoff). This skill maps every slide, writes the on-image text, and drafts the caption that frames it.

Manual install (npx, ZIP)
Claude Codenpx skills add sergebulaev/instagram-skills --skill ig-carousel-planner -g -a claude-code
Claude Code (manual)mkdir -p ~/.claude/skills && curl -sL https://codeload.github.com/sergebulaev/instagram-skills/tar.gz/2919f0a6d8b1 \ | tar -xz -C ~/.claude/skills --strip-components=4 instagram-skills-2919f0a6d8b1/.codex-marketplace/instagram-skills/skills/ig-carousel-planner
Windows (PowerShell)New-Item -ItemType Directory -Force "$HOME\.claude\skills" | Out-Null; Invoke-WebRequest "https://m.agentalley.io/zip/fd8c79e6b7e5ce351a79/ig-carousel-planner.zip" -OutFile "$env:TEMP\ig-carousel-planner.zip"; Expand-Archive "$env:TEMP\ig-carousel-planner.zip" -DestinationPath "$HOME\.claude\skills" -Force
Claude.ai / desktopDownload the ZIP and upload it under Settings → Capabilities → Skills.
Codex, Cursor, other agentsPoint them at SKILL.md. The other files are plain text.

Connects with Agent Alley MCP · agentalley.io/mcp

Files included

  • SKILL.md6.8 KB
  • references/1 file · 3.4 KB
Read the files here
sergebulaev/2919f0a2 files
Shared references6SKILL.md reads these from elsewhere in the repo. Not in the ZIP.Get them on GitHub ↗
SKILL.md
Show the full text124 lines

Plan a carousel that gets swiped to the end and saved. The whole game is slide 1 (the swipe-earning hook) and the last slide (the saveable payoff). This skill maps every slide, writes the on-image text, and drafts the caption that frames it.

When to use

  • User wants to turn a topic or notes into a multi-slide carousel
  • User has a list, a framework, or a transformation to teach
  • User wants a slide-by-slide structure, not just a caption
Code Formula Primary goal Best for
IG5 Listicle Carousel saves a numbered teaching list, one item per slide
IG6 Before/After Transformation saves, follows proof of a result with the steps between
IG7 Myth-Buster shares correcting beliefs your niche holds
IG8 Steal-This Framework saves a named, repeatable framework

Full skeletons in ../../references/hook-formulas.md.

Slide architecture (the 10-slide spine)

A carousel is 2-10 slides (API limit). The reliable spine:

Slide Role
1 (hook) the promise + an open loop ("most miss #4"). Earns the swipe. Big text, one idea.
2-3 the strongest value, front-loaded (swipe-through decays with depth).
4 to N-1 one point per slide, each standing alone, each readable in 2 seconds.
N (payoff) the one-slide summary (the saveable artifact) + one clear ask (save / follow).

6-10 slides is the sweet spot for a teaching carousel. Fewer than 4 is usually a single image. See references/slide-architecture.md for per-formula spines.

Steps

Voice profile first (all drafts). If ../../references/voice-profile.md has filled: yes, load it and match the user's voice fingerprint, hard rules, and CTA/link style throughout. If it is not filled, mention once that ig-humanizer --mode profile can learn their voice from a few posts, then proceed with the generic voice rules.

  1. Gather inputs. Topic, the list/framework/transformation, target audience, and the goal (saves / shares / follows).
  2. Pick the formula. Use the goal table; suggest 2-3 that fit and let the user choose.
  3. Set the slide count. Match it to the real content (6-10 typical). Never pad to hit 10; viewers feel filler and bail.
  4. Write slide 1. The promise plus the loop. Big, single-idea on-image text. Front-load a number if one fits.
  5. Map the value slides. Put the strongest point on slide 2 or 3. One point per slide, each able to stand alone. Draft the on-image text for each (keep it short, it has to read in 2 seconds on a 4:5 frame).
  6. Write the payoff slide. A one-slide recap that is worth saving on its own, plus a single ask (save it / follow for more).
  7. Write the caption. The caption supports the carousel (it can be short), restates the hook for the fold, and carries the hashtags. Hand off to ig-hashtag-strategist or apply the 3-5 sized set.
  8. Humanizer pass on the on-image text and caption. Scrub 2026 AI vocab by density (per slide, per caption paragraph), cap em dashes (at most one per slide, about one per 100 words in the caption; never swap one for a period), break stacked triads and reveal bridges. Slides are short by design: never chop or pad a slide for rhythm. Canonical rules: ig-humanizer V3.
  9. Approval card. Show: formula, slide-by-slide outline with each slide's text, the caption, hashtag set, primary goal, and a reminder that the user supplies 2-10 images (all images, no mixed media) in this order.
  10. On approval, publish with media. Call lib.publish(kind="carousel", draft_text=<approved caption>, target_url="https://www.instagram.com/", media=[<slide image paths in order>], platforms=[<INSTAGRAM_PLATFORM_ID>], scheduled_time=<iso_or_None>). The wrapper uploads each image in order and schedules. With no media or no Publora key it returns the plan as a copy-paste block plus the slide order.

Hard rules

Global voice rules: see root SKILL.md Voice rules. Additional skill-specific rules:

  • Slide 1 is a promise with an open loop, never a bare title.
  • Front-load value to slides 2-3; never bury the best point at the end.
  • One point per slide, readable in 2 seconds on a portrait 4:5 frame.
  • 2-10 slides only. Never pad to a round number.
  • All images, no mixed media (the API rejects an image+video carousel).
  • The last slide must earn the save with a one-slide summary and one ask.

Anti-patterns (skill will refuse)

  • A title-only slide 1 with no promise or loop.
  • A 10-slide carousel padded from a 4-point idea.
  • The strongest point saved for the final slide.
  • Three competing CTAs on the payoff slide.
  • Mixing images and a video in one carousel.
  • On-image walls of text that cannot be read in a swipe.
  • Em dashes above the cap (more than one on a slide), AI vocab clusters, stacked or hollow rule-of-three.
  • "The result?" reveals and staccato stacks added for punch.

Resources

  • ../../references/hook-formulas.md - the carousel formulas (IG5-IG8) with skeletons
  • ../../references/algorithm-heuristics.md - 2026 carousel ranking and swipe-through rules
  • ../../references/hashtag-strategy.md - the 3-5 sized hashtag recipe
  • ../../references/media-workflow.md - uploading 2-10 images in order
  • references/slide-architecture.md - per-formula slide spines and on-image text rules

Optional illustration

Offer a generated image when a visual would lift reach. Draft a prompt and call lib.illustrate(prompt, kind="carousel"), pulling brand handle/color from Voice & Brand Profile section 6 for a pixel-exact overlay. Show the returned url + cost, attach it as your Instagram media via media_urls=[url] in one shot (Publora fetches the hosted URL server-side): a single image posts as a photo, and the carousel planner can pass 2-10 URLs for a carousel. For a Reel cover instead, set platformSettings.instagram.coverUrl. Full workflow (incl. quote-cards): ../ig-humanizer/sub-skills/illustration.md. No Pixfaro key -> it drafts the prompt for you to generate manually.

  • ig-caption-writer - when the idea is a single image, not a carousel
  • ig-hashtag-strategist - build the sized hashtag set
  • ig-humanizer - scrub the on-image text and caption
  • ig-hook-extractor - reverse-engineer a carousel you admire
1---
2name: ig-carousel-planner
3description: "Plan an Instagram carousel slide by slide, up to 10 slides, with a hook slide that opens a loop, value slides that front-load the payoff, and a payoff slide that earns the save and follow. Picks a 2026 carousel formula (listicle, before/after, myth-buster, framework) by goal (saves, shares, follows), drafts each slide's text plus the caption, then publishes the images you supply via Publora. Use to structure a multi-slide carousel. Not for single-image captions (use ig-caption-writer)."
4---
5 
6# Instagram Carousel Planner
7 
8Plan a carousel that gets swiped to the end and saved. The whole game is slide 1
9(the swipe-earning hook) and the last slide (the saveable payoff). This skill
10maps every slide, writes the on-image text, and drafts the caption that frames
11it.
12 
13## When to use
14 
15- User wants to turn a topic or notes into a multi-slide carousel
16- User has a list, a framework, or a transformation to teach
17- User wants a slide-by-slide structure, not just a caption
18 
19## Formulas this skill uses (carousel shapes)
20 
21| Code | Formula | Primary goal | Best for |
22|---|---|---|---|
23| IG5 | Listicle Carousel | saves | a numbered teaching list, one item per slide |
24| IG6 | Before/After Transformation | saves, follows | proof of a result with the steps between |
25| IG7 | Myth-Buster | shares | correcting beliefs your niche holds |
26| IG8 | Steal-This Framework | saves | a named, repeatable framework |
27 
28Full skeletons in `../../references/hook-formulas.md`.
29 
30## Slide architecture (the 10-slide spine)
31 
32A carousel is 2-10 slides (API limit). The reliable spine:
33 
34| Slide | Role |
35|---|---|
36| **1 (hook)** | the promise + an open loop ("most miss #4"). Earns the swipe. Big text, one idea. |
37| **2-3** | the strongest value, front-loaded (swipe-through decays with depth). |
38| **4 to N-1** | one point per slide, each standing alone, each readable in 2 seconds. |
39| **N (payoff)** | the one-slide summary (the saveable artifact) + one clear ask (save / follow). |
40 
416-10 slides is the sweet spot for a teaching carousel. Fewer than 4 is usually a
42single image. See `references/slide-architecture.md` for per-formula spines.
43 
44## Steps
45 
46**Voice profile first (all drafts).** If `../../references/voice-profile.md` has `filled: yes`, load it and match the user's voice fingerprint, hard rules, and CTA/link style throughout. If it is not filled, mention once that `ig-humanizer --mode profile` can learn their voice from a few posts, then proceed with the generic voice rules.
47 
481. **Gather inputs.** Topic, the list/framework/transformation, target audience,
49 and the goal (saves / shares / follows).
502. **Pick the formula.** Use the goal table; suggest 2-3 that fit and let the
51 user choose.
523. **Set the slide count.** Match it to the real content (6-10 typical). Never
53 pad to hit 10; viewers feel filler and bail.
544. **Write slide 1.** The promise plus the loop. Big, single-idea on-image text.
55 Front-load a number if one fits.
565. **Map the value slides.** Put the strongest point on slide 2 or 3. One point
57 per slide, each able to stand alone. Draft the on-image text for each (keep it
58 short, it has to read in 2 seconds on a 4:5 frame).
596. **Write the payoff slide.** A one-slide recap that is worth saving on its own,
60 plus a single ask (save it / follow for more).
617. **Write the caption.** The caption supports the carousel (it can be short),
62 restates the hook for the fold, and carries the hashtags. Hand off to
63 `ig-hashtag-strategist` or apply the 3-5 sized set.
648. **Humanizer pass** on the on-image text and caption. Scrub 2026 AI vocab
65 by density (per slide, per caption paragraph), cap em dashes (at most one
66 per slide, about one per 100 words in the caption; never swap one for a
67 period), break stacked triads and reveal bridges. Slides are short by
68 design: never chop or pad a slide for rhythm. Canonical rules:
69 `ig-humanizer` V3.
709. **Approval card.** Show: formula, slide-by-slide outline with each slide's
71 text, the caption, hashtag set, primary goal, and a reminder that the user
72 supplies 2-10 images (all images, no mixed media) in this order.
7310. **On approval, publish with media.** Call `lib.publish(kind="carousel",
74 draft_text=<approved caption>, target_url="https://www.instagram.com/",
75 media=[<slide image paths in order>], platforms=[<INSTAGRAM_PLATFORM_ID>],
76 scheduled_time=<iso_or_None>)`. The wrapper uploads each image in order and
77 schedules. With no media or no Publora key it returns the plan as a
78 copy-paste block plus the slide order.
79 
80## Hard rules
81 
82Global voice rules: see root `SKILL.md` Voice rules. Additional skill-specific
83rules:
84 
85- Slide 1 is a promise with an open loop, never a bare title.
86- Front-load value to slides 2-3; never bury the best point at the end.
87- One point per slide, readable in 2 seconds on a portrait 4:5 frame.
88- 2-10 slides only. Never pad to a round number.
89- All images, no mixed media (the API rejects an image+video carousel).
90- The last slide must earn the save with a one-slide summary and one ask.
91 
92## Anti-patterns (skill will refuse)
93 
94- A title-only slide 1 with no promise or loop.
95- A 10-slide carousel padded from a 4-point idea.
96- The strongest point saved for the final slide.
97- Three competing CTAs on the payoff slide.
98- Mixing images and a video in one carousel.
99- On-image walls of text that cannot be read in a swipe.
100- Em dashes above the cap (more than one on a slide), AI vocab clusters, stacked or hollow rule-of-three.
101- "The result?" reveals and staccato stacks added for punch.
102 
103## Resources
104 
105- `../../references/hook-formulas.md` - the carousel formulas (IG5-IG8) with skeletons
106- `../../references/algorithm-heuristics.md` - 2026 carousel ranking and swipe-through rules
107- `../../references/hashtag-strategy.md` - the 3-5 sized hashtag recipe
108- `../../references/media-workflow.md` - uploading 2-10 images in order
109- `references/slide-architecture.md` - per-formula slide spines and on-image text rules
110 
111## Optional illustration
112 
113Offer a generated image when a visual would lift reach. Draft a prompt and call
114`lib.illustrate(prompt, kind="carousel")`, pulling brand handle/color from Voice &
115Brand Profile section 6 for a pixel-exact overlay. Show the returned `url` + `cost`,
116attach it as your Instagram media via `media_urls=[url]` in one shot (Publora fetches the hosted URL server-side): a single image posts as a photo, and the carousel planner can pass 2-10 URLs for a carousel. For a Reel cover instead, set `platformSettings.instagram.coverUrl`. Full workflow (incl. quote-cards):
117`../ig-humanizer/sub-skills/illustration.md`. No Pixfaro key -> it drafts the prompt for you to generate manually.
118## Related skills
119 
120- `ig-caption-writer` - when the idea is a single image, not a carousel
121- `ig-hashtag-strategist` - build the sized hashtag set
122- `ig-humanizer` - scrub the on-image text and caption
123- `ig-hook-extractor` - reverse-engineer a carousel you admire
124 
View all files on GitHub →

Details

Updated
Sep 17, 2026
License
MIT
Stars on the repo
★ 138
Checked
Source
sergebulaev/instagram-skills ↗
Creator
sergebulaev · 77 listings
View creator

Similar skills

See all →
SkillGenerate a branded slide-by-slide LinkedIn carouselGemini carouselcharlie947/social-media-skills · by charlie947Generate a branded slide-by-slide LinkedIn carousel using Gemini. Takes source content, builds a design brief, waits for approval, then outputs per-slide image generation prompts. 1080x1350 vertical format. Use this skill whenever the user says "carousel", "build a carousel", "turn this into a carousel", "gemini carousel", or wants multi-slide LinkedIn content. Always includes an approval gate between brief and image generation.★ 3.7k GitHub starsSkillBuild a LinkedIn document postLi carouselJakeschincariol/linkedin-agent-skill · by JakeschincariolBuild a LinkedIn document post (carousel) - slide-by-slide copy, the cover that earns the swipe, and the PDF to upload. Use when the user says carousel", "document post", "slides for LinkedIn", "turn this into a carousel", or has a list-shaped idea that would die as a text post.★ 1.9k GitHub starsSkillDraft an Instagram caption with the hook in the first 125Instagram Caption Writersergebulaev/instagram-skills · by sergebulaevDraft an Instagram caption with the hook in the first 125 characters, a skimmable body, and one clear CTA, using a 2026 hook formula chosen by goal (saves, shares, comments, follows). Runs the humanizer pass and, on approval, publishes with the image or video you supply via the Publora media flow. Use to caption a single image or a Reel. Not for slide-by-slide carousels (use ig-carousel-planner) or auditing a draft (use ig-humanizer --mode audit).★ 138 GitHub starsSkillSocial media campaign analysis and performance trackingSocial media analyzeralirezarezvani/claude-skills · by alirezarezvaniSocial media campaign analysis and performance tracking. Calculates engagement rates, ROI, and benchmarks across platforms. Use when analyzing social media performance, calculating engagement rate, measuring campaign ROI, comparing platform metrics, or benchmarking against industry standards. Also use when the user mentions "social media audit," "engagement rate," or "which platform performs best.★ 26.3k GitHub starsSkillScore a LinkedIn post using real performance dataPost scorercharlie947/social-media-skills · by charlie947Score a LinkedIn post using real performance data. Pulls the user's own post history via Apify (or uses cached data) to identify what actually performs, then scores the draft against those patterns. Use this skill whenever the user says "score my post", "review my post", "rate this post", "give me feedback", "how good is this post", or pastes a LinkedIn post and asks for critique. Separates historical comparisons from an explicitly labelled editorial-only fallback. Designed for live scoring at events and everyday post review.★ 3.7k GitHub starsSkillVideo caption generatorericosiu/ai-marketing-skills · by ericosiuname: video-caption-generator★ 3.6k GitHub stars

More from sergebulaev

SkillBy density per paragraph, not per wordAI Tells — Complete Blacklist (V3, 2026-09)sergebulaev/linkedin-skills · by sergebulaevScored the way readers read: by density per paragraph, not per word. One marker in a paragraph is English. Three is a signature. The…★ 3.1k GitHub starsSkillFifteen rules from the linkedin-humanizer packageAI-Tell Rules: Tier-Classified Referencesergebulaev/linkedin-skills · by sergebulaevFifteen rules from the linkedin-humanizer package, sorted by what kind of evidence each one actually represents.★ 3.1k GitHub starsSkillPattern data from MagicPost LinkedIn analysisEmoji Patterns — AI vs. Humansergebulaev/linkedin-skills · by sergebulaevPattern data from MagicPost LinkedIn analysis (Feb 2026, viral post with 220 engagement).★ 3.1k GitHub starsSkillRead your Instagram niche and profile from real dataInstagram Audience Insightssergebulaev/instagram-skills · by sergebulaevRead your Instagram niche and profile from real data via Apify, no login. Scan a hashtag for the posts traveling now (likes, comments, owner) to see the format and hook that works. Pull profile stats for any handle, yours or a competitor's: followers, posts, bio, category. Instagram hides who liked or commented on other accounts, so this is discovery plus profiles, not engagers. Triggers on "what works in my niche", "scan the hashtag", "competitor stats". Not for writing captions (use ig-caption-writer).★ 138 GitHub starsSkillDraft an Instagram caption with the hook in the first 125Instagram Caption Writersergebulaev/instagram-skills · by sergebulaevDraft an Instagram caption with the hook in the first 125 characters, a skimmable body, and one clear CTA, using a 2026 hook formula chosen by goal (saves, shares, comments, follows). Runs the humanizer pass and, on approval, publishes with the image or video you supply via the Publora media flow. Use to caption a single image or a Reel. Not for slide-by-slide carousels (use ig-carousel-planner) or auditing a draft (use ig-humanizer --mode audit).★ 138 GitHub starsSkillPlan, draft, audit, and publish posts and threads for XX (Twitter) Marketing Skillssergebulaev/x-skills · by sergebulaevPlan, draft, audit, and publish posts and threads for X (Twitter). Use when the user wants to write a single tweet or an auto-numbered thread, build a long-form tweetstorm, remove AI tells from a draft, reverse-engineer the hook from a viral tweet, draft a reply or quote tweet, or plan a week of X content. Tweets and threads publish via the Publora API, which auto-splits long content into a numbered thread. User provides notes or a tweet URL, the skill drafts, the user approves, then it publishes.★ 95 GitHub stars