LinkedIn Carousel Builder

Li carousel

by Jakeschincariol · MIT license · ★ 1,856 on GitHub

Li carousel cover

Build 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…

---
name: li-carousel
description: >-
  Build 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.
---

# li-carousel

Document posts are the highest-dwell format on LinkedIn, because a swipe is
counted and a scroll is not. The format rewards one idea broken into steps.
It punishes a text post cut into pieces.

## When to use it instead of a text post

Use a carousel when the idea has **sequence** - steps, a countdown, a

Overview

Document posts are the highest-dwell format on LinkedIn, because a swipe is counted and a scroll is not. The format rewards one idea broken into steps. It punishes a text post cut into pieces.

Manual install (npx, ZIP)
Claude Codenpx skills add Jakeschincariol/linkedin-agent-skill --skill li-carousel -g -a claude-code
Claude Code (degit)npx degit Jakeschincariol/linkedin-agent-skill/skills/li-carousel#main ~/.claude/skills/li-carousel
Claude.ai / desktopZip the folder 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.md2.8 KB
Read SKILL.md here
Jakeschincariol/main1 file shown
SKILL.md
Show the full text72 lines

Document posts are the highest-dwell format on LinkedIn, because a swipe is counted and a scroll is not. The format rewards one idea broken into steps. It punishes a text post cut into pieces.

When to use it instead of a text post

Use a carousel when the idea has sequence - steps, a countdown, a before/after progression, a framework with parts. Use a text post when the idea is one claim. Splitting one claim across eight slides is the most common way carousels fail, and if that is what the user has, say so and hand them to /li-post.

Structure

8-12 slides. Under 8 is a text post. Over 12 and the completion rate falls off a cliff.

1        COVER      the hook, 6 words or fewer, plus one line of promise
2        THE STAKE  why this matters, in one sentence
3-N      ONE IDEA PER SLIDE. A headline of 3-7 words, and 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, so the screenshot is useful
LAST     CTA        one action. Follow, comment a keyword, or the link. One.

Slide copy rules

  • Slide 1 is 80% of the result. Six words. Big. The rest of the deck cannot save a cover nobody swipes.
  • Number every slide (3/10). Completion goes up when people can see the end.
  • No slide is a paragraph. If you cannot say it in 25 words, split it.
  • The recap slide is the one people screenshot. Make it standalone.
  • The user's handle on every slide, small, bottom corner. Screenshots travel without you.

Making the PDF

LinkedIn wants a PDF, 1080x1350 (4:5) for maximum feed real estate, under 100MB, under 300 pages. Build it as HTML and print to PDF:

# one page per slide, 1080x1350, no margins
# then: Chrome headless --print-to-pdf, or any HTML-to-PDF you already use

Write the HTML with one <section> per slide, width:1080px; height:1350px; page-break-after:always, a single accent colour, and type no smaller than 28px - people read these on a phone at thumbnail size. If the user has a brand skill or design system in this project, 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. Then the accompanying post text - a carousel still needs 2-3 lines above it, which is the actual hook in the feed. Run both through /li-human. Then build the PDF only if the user approves the copy.

Nothing is uploaded to LinkedIn. The user posts the PDF themselves.

1---
2name: li-carousel
3description: >-
4 Build a LinkedIn document post (carousel) - slide-by-slide copy, the cover
5 that earns the swipe, and the PDF to upload. Use when the user says
6 "carousel", "document post", "slides for LinkedIn", "turn this into a
7 carousel", or has a list-shaped idea that would die as a text post.
8---
9 
10# li-carousel
11 
12Document posts are the highest-dwell format on LinkedIn, because a swipe is
13counted and a scroll is not. The format rewards one idea broken into steps.
14It punishes a text post cut into pieces.
15 
16## When to use it instead of a text post
17 
18Use a carousel when the idea has **sequence** - steps, a countdown, a
19before/after progression, a framework with parts. Use a text post when the
20idea is one claim. Splitting one claim across eight slides is the most common
21way carousels fail, and if that is what the user has, say so and hand them to
22`/li-post`.
23 
24## Structure
25 
268-12 slides. Under 8 is a text post. Over 12 and the completion rate falls off
27a cliff.
28 
29```
301 COVER the hook, 6 words or fewer, plus one line of promise
312 THE STAKE why this matters, in one sentence
323-N ONE IDEA PER SLIDE. A headline of 3-7 words, and at most 25 words
33 under it. If a slide needs a paragraph, it is two slides.
34N+1 RECAP the whole thing as a list, so the screenshot is useful
35LAST CTA one action. Follow, comment a keyword, or the link. One.
36```
37 
38## Slide copy rules
39 
40- **Slide 1 is 80% of the result.** Six words. Big. The rest of the deck
41 cannot save a cover nobody swipes.
42- **Number every slide** (3/10). Completion goes up when people can see the
43 end.
44- **No slide is a paragraph.** If you cannot say it in 25 words, split it.
45- **The recap slide is the one people screenshot.** Make it standalone.
46- **The user's handle on every slide**, small, bottom corner. Screenshots
47 travel without you.
48 
49## Making the PDF
50 
51LinkedIn wants a PDF, 1080x1350 (4:5) for maximum feed real estate, under
52100MB, under 300 pages. Build it as HTML and print to PDF:
53 
54```bash
55# one page per slide, 1080x1350, no margins
56# then: Chrome headless --print-to-pdf, or any HTML-to-PDF you already use
57```
58 
59Write the HTML with one `<section>` per slide, `width:1080px; height:1350px;
60page-break-after:always`, a single accent colour, and type no smaller than
6128px - people read these on a phone at thumbnail size. If the user has a brand
62skill or design system in this project, use it and do not invent a palette.
63 
64## Output
65 
66The slide-by-slide copy first, as a numbered list the user can read in ten
67seconds. Then the accompanying **post text** - a carousel still needs 2-3
68lines above it, which is the actual hook in the feed. Run both through
69`/li-human`. Then build the PDF only if the user approves the copy.
70 
71Nothing is uploaded to LinkedIn. The user posts the PDF themselves.
72 
View all files on GitHub →

Details

License
MIT
Stars on the repo
★ 1,856
Checked
Source
Jakeschincariol/linkedin-agent-skill ↗
Creator
Jakeschincariol · 34 listings
View creator

Similar skills

See all →
SkillAI LinkedIn Carousel Buildercharlie947/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 starsSkillIG 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 starsSkillIG Carousel Plannersergebulaev/instagram-skills · by sergebulaevPlan 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).★ 138 GitHub starsSkillSocial Campaign 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 starsSkillLinkedIn Post Performance 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 Jakeschincariol

SkillIG Story WriterJakeschincariol/instagram-agent-skill · by JakeschincariolWrite the day's Instagram Stories - the frame-by-frame sequence, which stickers to use where, and the one that moves people into the DMs. Use when the user says "stories", "what do I post on my story", "story sequence", poll idea", "I have nothing to story about", or wants to sell something without making a post about it.★ 6k GitHub starsSkillLinkedIn Post AuditJakeschincariol/linkedin-agent-skill · by JakeschincariolPost-mortem on what the user has already published - which posts actually worked, why, and what to stop doing. Use when the user pastes their LinkedIn analytics or past posts and asks "what's working", "why did this flop", "read my analytics", "audit my content", or wants to know what to double down on.★ 1.9k GitHub starsSkillLinkedIn Comment WriterJakeschincariol/linkedin-agent-skill · by JakeschincariolWrite comments on other people's LinkedIn posts that read as a person with an opinion, not a bot. Use when the user pastes a post and wants a comment, says comment on this", "engage with this", "what do I say here", or wants a batch of comments for their engagement round.★ 1.9k GitHub starsSkillYouTube Channel AuditorJakeschincariol/youtube-agent-skill · by JakeschincariolAudit a YouTube channel end to end - packaging, consistency, the first fifteen seconds, and what to fix first. Use for "audit my channel", "why isn't my channel growing", "review my videos", or a pasted channel URL.★ 1.1k GitHub starsSkillYouTube Chapter WriterJakeschincariol/youtube-agent-skill · by JakeschincariolWrite YouTube chapters from a transcript, validated against YouTube's own rules so they actually render. Use for "add chapters", "timestamps", break this video into sections".★ 1.1k GitHub starsSkillYouTube Comment ResponderJakeschincariol/youtube-agent-skill · by JakeschincariolDraft replies to YouTube comments in the creator's voice, triaged by which ones are worth answering. Use for "reply to my comments", "handle the comment section", "someone asked X", or a pasted comment thread.★ 1.1k GitHub stars