Instagram carousel expertise β 6 carousel structures, slide-by-slide blueprints, IG algorithm optimization, engagement triggers, visual hierarchy rules, and platform-specific anti-patterns
Specialized knowledge base for creating high-performing Instagram carousels. Covers structure selection, slide-by-slide content architecture, visual design rules, algorithm optimization, and engagement mechanics. This skill is consumed by the carousel-designer agent and integrates with the copywriting and platform-mastery skills.
Before producing any carousel structure, read in this order:
reference/voice/GOLDEN-DOC.md β canonical voice for @melgarafael / AutomatikLabsreference/voice/LINHA-EDITORIAL.md β pillars, angulaΓ§Γ΅esreference/voice/virais/INDEX.md β master viral indexreference/voice/virais/PATTERNS/{category}.md for the editorial category of the request (viralizacao / lead-capture / saves-retencao / venda)reference/design-system/DESIGN-SYSTEM.md β visual DS (default lime-geist variant)brand-voice.yaml sections: voice, anti_slop, viral_intelligence, design_systemViral intelligence rules:
voice_fit: aligns and replicable: yes directlyvoice_fit: conflictsseen_count >= 3 and aligned voice have priorityUse this skill when the user asks to:
MANDATORY: Before generating ANY carousel content, load the brand voice configuration.
from brand_voice.config import load_brand_voice
brand = load_brand_voice()
Every slide must:
brand.tone descriptors in headline and body textbrand.avoid and anti_slop.banned_phrasesanti_slop.style_rules β carousels are especially vulnerable to slop because each slide has limited space and every word must earn its placebrand.visual_identity for colors, fonts, and logo placementCarousel slides have 50 words maximum per slide. With so few words, a single slop phrase wastes 10-20% of available space. Apply these additional carousel-specific anti-slop rules:
| Slop Pattern | Problem | Replacement | |--------------|---------|-------------| | "Voce sabia que..." on every slide | Repetitive filler | Use only once, on slide 2 max | | "Nesse post voce vai aprender" | Wastes cover real estate | Jump straight to the hook | | "Vamos la?" | Empty filler | Cut entirely or replace with a specific promise | | "Confira as dicas" | Generic, zero information | Name the specific benefit | | "Fique ate o final" | Begging, not compelling | Create curiosity that pulls naturally | | "Dica de ouro" | Overused cliche | State the tip directly | | Excessive emoji chains | Visual noise, not hierarchy | 1 emoji per concept max |
Each structure below includes a complete slide-by-slide blueprint. The number of slides is flexible (3-10), but the structural logic must be preserved.
Best for: Teaching a concept, sharing expertise, establishing authority. Typical slides: 7-10 Algorithm strength: High save rate (people save to reference later).
| Slide | Type | Content | Design Rules | |-------|------|---------|-------------| | 1 | Cover | Hook question or bold claim. 3-7 words max. Must create a knowledge gap. | Largest text on any slide. Single focal point. No subtitle. | | 2 | Context | Frame the problem or topic. "Voce ja percebeu que..." or a surprising statistic. | Slightly smaller headline. 1-2 sentences body. Optional icon. | | 3-8 | Points | One concept per slide. Icon + headline (5-8 words) + 2-3 bullet points (8-12 words each). | Consistent layout across all point slides. Visual hierarchy: icon > headline > bullets. Progress indicator visible. | | 9 | Summary | (Optional) Quick recap of all points β numbered list, one line each. | Condensed layout. All points visible at once. | | 10 | CTA | "Salva esse post" + "Segue @handle pra mais conteudo". | Two clear actions. Brand handle prominent. Optional: "Manda pra alguem que precisa". |
Slide 1: "5 erros que matam seu engajamento"
Slide 2: "87% dos perfis cometem pelo menos 3 desses erros"
Slide 3: Erro 1 β Postar sem horario estrategico
Slide 4: Erro 2 β Ignorar os saves como metrica
Slide 5: Erro 3 β CTA generico ou ausente
Slide 6: Erro 4 β Slides sem hierarquia visual
Slide 7: CTA β "Salva pra revisar antes de postar | Segue @handle"
Best for: Personal stories, case studies, brand origin stories, lessons learned. Typical slides: 6-8 Algorithm strength: High time-spent (people read through the entire story), high share rate.
| Slide | Type | Content | Design Rules | |-------|------|---------|-------------| | 1 | Cover | Intriguing statement that creates curiosity. Not a question β a statement that demands explanation. "Eu perdi R$40k em 3 meses." | Bold, large text. Dark or dramatic background. No context β just the hook. | | 2 | Setup | Set the scene. Who, when, where. Establish the status quo before the conflict. | Narrative text, 2-3 short sentences. Conversational tone. | | 3 | Conflict | The problem, the mistake, the challenge. Escalate tension. Make the reader feel the weight. | Can use slightly more text. Emotional language. Visual contrast (darker tones or red accents). | | 4 | Turning Point | The moment of change. What happened? What did you realize? What decision did you make? | Shorter text β one powerful sentence or two. Transitional visual. | | 5 | Resolution | The outcome. What changed? Show the transformation. Use specifics (numbers, timelines, results). | Lighter/brighter visual tone. Concrete data. Before/after contrast if applicable. | | 6 | Lesson | The takeaway. One clear, actionable lesson the reader can apply to their own life. | Framed differently β quote style, highlighted box, or different typography. | | 7 | CTA | "Manda pra alguem que precisa ouvir isso" + "Comenta se voce ja passou por algo parecido". | Engagement-focused CTA. Invite the reader into the story. |
Cover: CURIOSITY (stop the scroll)
β
Setup: CONTEXT (ground the reader)
β
Conflict: TENSION (make them care)
β
Turning Point: PIVOT (the aha moment)
β
Resolution: PAYOFF (deliver the goods)
β
Lesson: TAKEAWAY (make it actionable)
β
CTA: CONNECTION (bring them closer)
Best for: Tips, tools, resources, habits, mistakes, examples. Typical slides: 7-10 Algorithm strength: High save rate, predictable swipe pattern keeps time-spent high.
| Slide | Type | Content | Design Rules | |-------|------|---------|-------------| | 1 | Cover | Number + hook. "7 ferramentas gratuitas que uso todo dia." The number is the anchor. | Large number (oversized, accent color). Hook text below. | | 2-8 | Items | One item per slide. Number prominent + title (3-6 words) + description (1-2 sentences, 15-25 words). | Consistent layout: number in accent color, title bold, description regular weight. Each slide self-contained. | | 9 | Bonus | (Optional) "Bonus: [extra item]" β rewards the reader for swiping to the end. | Same layout as items but visually distinguished (different accent or "BONUS" badge). | | 10 | CTA | "Salva pra consultar depois" + "Qual desses voce ja usa? Comenta ai". | Save-focused CTA (listicles are reference material). |
Best for: Transformations, results, comparisons, upgrades, redesigns. Typical slides: 6-8 Algorithm strength: High share rate (visual contrast is inherently shareable), high save rate.
| Slide | Type | Content | Design Rules | |-------|------|---------|-------------| | 1 | Cover | Transformation hook. "De [before state] pra [after state] em [timeframe]." | Split visual or arrow motif. Before/after implied but not shown yet. | | 2 | Before Context | Set the "before" scene. What was the situation? Pain points, metrics, or visual state. | Muted colors, gray tones, or desaturated palette. "ANTES" label visible. | | 3-4 | Before Details | Specific problems, screenshots, metrics, or descriptions of the "before" state. One problem per slide. | Same muted palette. Use icons or small visuals to illustrate each problem. | | 5 | Transition | "O que mudou" or "O que fizemos" β brief description of the action taken. | Visual bridge: half muted, half vibrant. Arrow or divider element. | | 6-7 | After Details | Specific improvements, new metrics, visual results. One improvement per slide. | Vibrant colors, brand palette at full saturation. "DEPOIS" label visible. | | 8 | CTA | "Quer o mesmo resultado? Link na bio" or "Salva pra quando precisar". | Result-focused CTA. Can include a mini before/after summary. |
Best for: How-to content, processes, recipes, workflows, setup guides. Typical slides: 7-10 Algorithm strength: Highest save rate of all types (people save tutorials for later execution).
| Slide | Type | Content | Design Rules | |-------|------|---------|-------------| | 1 | Cover | "Como [achieve result]" or "Passo a passo: [outcome]." Tell them exactly what they will learn. | Clear outcome promise. "Tutorial" or "Passo a passo" badge optional. | | 2 | Overview | (Optional) What they need before starting β tools, prerequisites, context. | Checklist format. Keep short β 3-5 items max. | | 3-8 | Steps | One step per slide. "Passo [N]:" + instruction headline + 1-2 sentences of detail. Include a visual example, screenshot, or illustration. | Numbered prominently. Instruction text clear and actionable. Use imperative verbs: "Abra", "Clique", "Escreva", "Configure". | | 9 | Result | Show the expected outcome. "Pronto! Agora voce tem [result]." | Celebratory visual. Show the finished product or result. | | 10 | CTA | "Salva esse tutorial pra fazer depois" + "Marca alguem que precisa aprender isso". | Save-heavy CTA. Tutorials are the #1 saved format on Instagram. |
Best for: Motivation, thought leadership, curated wisdom, niche quotes. Typical slides: 6-8 Algorithm strength: High share rate (people share quotes via DM), moderate save rate.
| Slide | Type | Content | Design Rules | |-------|------|---------|-------------| | 1 | Cover | Theme statement. "5 frases que mudaram minha forma de pensar sobre [topic]." | Clean design. Theme text prominent. No quote on the cover. | | 2-7 | Quotes | One quote per slide. Quote text (15-30 words) + attribution (name, optional title or context). | Quote in large, elegant typography. Attribution smaller, below or beside. Consistent layout. Optional: decorative quotation marks. | | 8 | CTA | "Qual frase mais te impactou? Comenta o numero" + "Manda pra alguem que precisa ler isso". | Engagement CTA β asking them to pick a favorite drives comments. |
| Parameter | Value | Notes | |-----------|-------|-------| | Max slides per carousel | 10 | Instagram enforces this. Plan for 7-10. | | Min slides per carousel | 3 | Fewer than 3 defeats the carousel purpose. | | Optimal aspect ratio | 4:5 (1080x1350px) | Takes maximum vertical feed space. More visibility = more engagement. | | Alternative ratios | 1:1 (1080x1080), 9:16 (1080x1920 for Stories) | Square for clean aesthetic, 9:16 for Story-adapted carousels. | | Max file size per image | 30MB | Stay well under this. | | Supported formats | JPEG, PNG | PNG for text-heavy slides (sharper). JPEG for photo-heavy. |
| Element | Minimum Size | Recommended Size | Notes | |---------|-------------|-----------------|-------| | Body text | 28px | 32-36px | Must be legible on a phone screen held at arm's length. | | Headlines | 48px | 56-72px | Larger = more scroll-stopping power. | | Cover hook | 56px | 64-96px | The cover text should dominate the slide. | | Caption/attribution | 20px | 24-28px | For sources, fine print, or secondary info. | | Progress indicator | 14px | 16-18px | Small but visible. |
| Metric | Limit | Rationale | |--------|-------|-----------| | Words per slide (content) | Max 50 | More than 50 words = wall of text, people skip. | | Words per slide (cover) | Max 7 | Cover must be scannable in under 1 second. | | Bullet points per slide | Max 4 | 3 is ideal. More than 4 loses readability. | | Words per bullet | Max 12 | Bullets are scannable fragments, not sentences. | | Ideas per slide | 1 | One concept. One takeaway. Period. |
The cover slide is the single most important element of your carousel. It determines whether someone swipes or scrolls past. Invest 50% of your creative energy here.
| Pattern | Template | Example | |---------|----------|---------| | Error/Mistake | "X erros que [negative consequence]" | "5 erros que matam seu engajamento" | | How-To + Result | "Como [result] em [timeframe]" | "Como dobrar seus saves em 30 dias" | | Stop Doing | "Pare de [common mistake]" | "Pare de postar sem estrategia" | | Number + Bold Claim | "[Number] [things] que [unexpected outcome]" | "3 habitos que separam amadores de profissionais" | | Question | "[Provocative question]?" | "Voce esta jogando conteudo fora?" | | Contrarian | "[Common belief] esta errado" | "Postar todo dia nao funciona" | | Confession | "Eu [vulnerable admission]" | "Eu perdi 10k seguidores em 1 mes" | | Challenge | "Voce consegue [difficult thing]?" | "Voce consegue criar conteudo sem essas 5 muletas?" |
The CTA slide converts passive viewers into engaged followers. Every carousel must end with a clear call to action.
| CTA Type | Template | Algorithm Signal | |----------|----------|-----------------| | Save | "Salva esse post pra consultar depois" | Saves (strongest IG signal) | | Share | "Manda pra alguem que precisa ouvir isso" | Shares (second strongest signal) | | Follow | "Segue @handle pra mais conteudo como esse" | Follower growth | | Comment | "Comenta [emoji] se voce ja passou por isso" | Comments (engagement depth) | | Link | "Link na bio pra [specific resource]" | Off-platform conversion |
Always combine two CTAs for maximum algorithm impact:
Primary: Save + Follow
"Salva esse post pra revisar depois e segue @handle pra mais conteudo como esse"
Primary: Share + Comment
"Manda pra um amigo que precisa e comenta qual dica voce vai aplicar primeiro"
Primary: Save + Comment
"Salva pra consultar e me conta: qual ponto mais te surpreendeu?"
| Anti-Pattern | Why It Fails | Fix | |-------------|-------------|-----| | More than 50 words per slide | Wall of text, people skip | Ruthlessly edit. One idea per slide. | | Font smaller than 28px | Illegible on mobile | Increase font size, reduce text amount. | | No visual hierarchy | Everything looks the same, nothing stands out | Use 3 levels: headline (large, bold), body (medium, regular), caption (small, light). | | Inconsistent design between slides | Looks unprofessional, breaks immersion | Use a template. Same fonts, colors, layout grid across all slides. | | No progress indicator | Reader has no sense of position or completion | Add dots, slide numbers, or a progress bar. | | CTA on the first slide | Kills curiosity, puts the ask before the value | CTA belongs on the LAST slide only. | | Generic stock photo backgrounds | Looks like every other carousel | Use solid colors, gradients, or brand-specific imagery. |
| Anti-Pattern | Why It Fails | Fix | |-------------|-------------|-----| | More than 3 fonts | Visual chaos | 1 headline font + 1 body font. Max 2. | | Text touching slide edges | Looks cramped, gets clipped on some devices | Maintain 60-80px safe margin on all sides. | | Low contrast text | Fails accessibility, hard to read outdoors | Minimum 4.5:1 contrast ratio for body text, 3:1 for large text. | | Decorative elements competing with text | Distracts from the message | Background elements at 10-20% opacity max. Text always wins. | | Different text alignment per slide | Inconsistent, disorienting | Pick one alignment (left or center) and stick with it. | | Busy gradients behind text | Reduces readability | Gradient as accent only, never behind body text. Use solid overlay if needed. |
| Anti-Pattern | Why It Fails | Fix | |-------------|-------------|-----| | Carousel with only 2-3 slides | Too short for algorithm engagement | Minimum 5 slides for meaningful swipe-through. | | All text, no visual variety | Monotonous swipe experience | Vary slide types: text, icon+text, quote, visual example. | | No carousel type / mixed structure | Confusing narrative, reader drops off | Pick one structure and follow it consistently. | | Repurposing a blog post word-for-word | Too dense, not designed for slide format | Rewrite for slides: one idea per slide, visual hierarchy, scannable text. | | Same CTA on every post | Audience fatigue | Rotate CTAs: save, share, comment, follow. |
Color palette selection significantly impacts carousel performance. The right palette signals the content niche before a single word is read.
palette:
background: "#0a0a0a" or "#1a1a2e"
text_primary: "#ffffff"
text_secondary: "#a0a0b0"
accent_primary: "#6c5ce7" # purple
accent_secondary: "#00cec9" # teal
style: dark-premium or gradient
mood: "innovative, technical, premium"
palette:
background: "#ffffff" or "#f5f5f0"
text_primary: "#2d3436"
text_secondary: "#636e72"
accent_primary: "#00b894" # green
accent_secondary: "#dfe6e9" # light gray
style: clean-educator or minimal
mood: "natural, trustworthy, calming"
palette:
background: "#0a1628" or "#ffffff"
text_primary: "#ffffff" or "#1a1a2e"
text_secondary: "#8395a7"
accent_primary: "#d4a574" # gold
accent_secondary: "#2c3e50" # navy
style: dark-premium or minimal
mood: "authoritative, premium, trustworthy"
palette:
background: "#ff6b6b" or "#a29bfe" or "#fdcb6e" # vibrant solid color
text_primary: "#ffffff" or "#2d3436"
text_secondary: varies by background
accent_primary: contrasting vibrant
accent_secondary: complementary vibrant
style: vibrant-creator or bold
mood: "energetic, bold, expressive"
palette:
background: "#f8f9fa" or "#edf2f7"
text_primary: "#2d3436"
text_secondary: "#636e72"
accent_primary: "#0984e3" # blue
accent_secondary: "#74b9ff" # light blue
style: clean-educator
mood: "accessible, clear, professional"
palette:
background: "from brand-voice.yaml β visual_identity.colors.background"
text_primary: "from brand-voice.yaml β visual_identity.colors.text"
text_secondary: derived from text_primary at 60% opacity
accent_primary: "from brand-voice.yaml β visual_identity.colors.primary"
accent_secondary: "from brand-voice.yaml β visual_identity.colors.secondary"
style: auto-selected from brand tone
mood: "consistent with brand personality"
Every carousel, regardless of type, follows a fundamental narrative arc. This framework ensures the swipe experience feels satisfying rather than random.
HOOK β PROBLEM β SOLUTION(S) β PROOF/EXAMPLE β CTA
| Stage | Slides | Purpose | Engagement Goal | |-------|--------|---------|----------------| | Hook | Slide 1 | Stop the scroll. Create a gap. | Impression β Swipe | | Problem | Slide 2 | Frame why this matters. Make it personal. | Swipe β Investment | | Solution(s) | Slides 3-7 | Deliver the value. One point per slide. | Investment β Time Spent | | Proof/Example | Slide 8-9 | Validate with data, screenshots, or story. | Time Spent β Trust | | CTA | Slide 10 | Convert attention into action. | Trust β Save/Share/Follow |
Specific techniques to increase saves, shares, comments, and swipe-through rate.
Place on slide 2 or the CTA slide to maximize comment engagement:
| Trigger | Example | Where | |---------|---------|-------| | Relatable question | "Voce ja cometeu esse erro?" | Slide 2 | | This-or-that | "Voce prefere [A] ou [B]?" | CTA slide | | Self-identification | "Comenta 1 se [option A], 2 se [option B]" | CTA slide | | Confession prompt | "Conta aqui: qual desses voce ainda faz?" | CTA slide | | Opinion poll | "Concorda ou discorda? Comenta ai" | CTA slide |
Concrete numbers stop the scroll and build trust:
| Trigger | Example | Where | |---------|---------|-------| | Surprising statistic | "87% dos marketers nao medem saves" | Slide 2 or 3 | | Specific result | "Cresci 4.200 seguidores em 60 dias" | Cover or slide 2 | | Time-bound claim | "Em 30 dias, sem anuncios" | Cover modifier | | Comparison metric | "2x mais engajamento que posts estaticos" | Supporting slide |
| Trigger | Example | Where | |---------|---------|-------| | Before/after | Visual comparison of transformation | Slides 2-3 vs 6-7 | | Right/wrong | "O que a maioria faz vs o que funciona" | Point slides | | Myth/reality | "Mito: postar mais = crescer mais. Realidade: ..." | Slide 2-3 | | Expectation/result | "O que eu esperava vs o que aconteceu" | Storytelling slides |
| Trigger | Example | Where | |---------|---------|-------| | Open loop | "E o terceiro erro e o mais perigoso..." | End of a slide, resolved on next | | Numbered list promise | "7 ferramentas (a #5 mudou meu jogo)" | Cover β promises value ahead | | "Voce sabia que..." | Unexpected fact that reframes the topic | Slide 2 | | Controversy/contrarian | "[Common belief] esta errado. Veja por que:" | Cover or slide 2 | | Incomplete revelation | "O segredo esta em..." (continued on next slide) | Any content slide |
Emoji serve as rapid visual cues, not decoration. Rules:
Carousels need more time-on-content than static posts. Post when your audience has time to swipe, not just scroll.
| Day | Best Times (BRT) | Notes | |-----|------------------|-------| | Monday | 11:00-13:00 | People settling into the week, consuming content at lunch | | Tuesday-Thursday | 11:00-13:00, 19:00-21:00 | Lunch break + evening wind-down are peak carousel times | | Friday | 10:00-12:00 | Morning focus, engagement drops after lunch as weekend starts | | Saturday | 10:00-12:00 | Casual morning browsing | | Sunday | 17:00-20:00 | Sunday evening prep-for-the-week consumption |
Important: These are baselines. Always check your own Instagram Insights for your specific audience's active hours.
The caption complements the carousel β it does not repeat it.
[Hook line β first 125 characters visible before "...mais"]
[1-2 paragraphs expanding on the carousel's topic. Add context,
a personal angle, or bonus information not in the slides.]
[CTA that mirrors the last slide's CTA]
.
.
.
[Hashtags β in a separate block, visually separated]
| Category | Count | Examples | |----------|-------|---------| | Niche-specific | 3-5 | #marketingdigitalbr, #dicasdeinstagram, #conteudoeducativo | | Topic-specific | 3-5 | #carouselpost, #dicasparaempreendedores, #socialmediatips | | Branded | 1-2 | #suamarca, #suaserie | | Total | 8-12 | Sweet spot. More than 15 looks spammy. |
Every carousel slide should have descriptive alt text. This also improves discoverability through Instagram search.
Slide 1: Cover slide with dark background and large white text reading "5 erros que matam seu engajamento"
Slide 2: Infographic showing 87% statistic with text "87% dos perfis cometem pelo menos 3 desses erros"
Slide 3: Educational slide with warning icon and text "Erro 1: Postar sem horario estrategico"
Carousel content can be repurposed, but each platform has different rules.
| Platform | Format | Key Differences | |----------|--------|----------------| | LinkedIn | PDF carousel (document post) | Professional tone, more text per slide acceptable (up to 80 words), no emoji anchors, add source citations | | Twitter/X | Thread or image series (4 max per tweet) | Condense to key points, more provocative hooks, no progress indicators needed | | Pinterest | Long-form infographic (2:3 or 1:2.1 ratio) | Combine all slides into one tall image, keyword-rich description, link to source | | TikTok | Photo carousel or slideshow video | Add trending audio, text overlays instead of embedded text, vertical 9:16 format | | Blog | Embedded or expanded into article | Expand each slide into a paragraph, add internal links, SEO-optimize |
output_contract:
skill: instagram-carousel
format: structured_slide_plan
required_sections:
- slide_plan:
type: string # carousel type (educativo|storytelling|listicle|antes-depois|tutorial|quote-series)
total_slides: integer # 3-10
slides:
- slide_number: integer
type: string # cover | content | context | transition | summary | cta
headline: string # max 10 words (7 for cover)
body: string # max 50 words per slide
bullets: list # max 4 items, max 12 words each
icon: string # emoji or icon name
cta_text: string # for CTA slides only
cta_action: string # save | share | follow | comment | link
- design_spec:
palette: string # niche palette name or custom
style: string # minimal | bold | gradient | clean-educator | dark-premium | vibrant-creator
dimensions: string # "1080x1350" default
fonts:
headline: string
body: string
- quality_checks:
cover_words: integer # must be <= 7
max_words_per_slide: integer # must be <= 50
total_slides: integer # must be 3-10
has_progress_indicator: boolean
has_cta: boolean
anti_slop_passed: boolean
brand_voice_matched: boolean
visual_hierarchy_consistent: boolean
validation:
anti_slop: true
brand_voice: true
platform_constraints: true
accessibility_alt_text: true