LinkedIn Carousel Builder
Create high-performing LinkedIn carousel PDFs that are branded, mobile-optimized, and designed for maximum engagement.
Workflow
Phase 1: Research & Strategy
Before building any carousel, research current best practices:
- Topic validation: Confirm the topic has engagement potential on LinkedIn
- Hook research: Study what carousel hooks are performing well right now
- Competitor scan: Look at top-performing carousels in the same niche
- Slide count: Determine optimal slide count (8-15 for max engagement, 5-7 for quick takes)
Phase 2: Content Architecture
Structure the carousel for completion rate (LinkedIn rewards 60%+ completion):
Slide Framework:
| Slide |
Purpose |
Priority |
| 1 |
Scroll stopper — Bold claim, surprising stat, or provocative question |
Critical |
| 2-3 |
Context/Problem — Set up the story or tension |
High |
| 4-6 |
Value/Data — Core insights, metrics, proof points |
High |
| 7-8 |
So what — What this means for the reader |
High |
| Last |
CTA — Question, brand, call to action |
Critical |
Content rules:
- Each carousel must be self-explanatory — a reader should understand the full story without any external context or the accompanying post text
- Every slide must contain a real insight, not filler. Data points, lessons, or actionable takeaways on every slide
- One idea per slide
- 25-40 words per slide maximum
- No walls of text — use visual hierarchy
- Every slide must earn the swipe to the next one
- Tease next slide content to drive completion
Visual clarity rules:
- Font sizes must be large enough to invite reading, not strain the eyes (see typography table below)
- High contrast between text and background at all times — never use light text on light backgrounds or dark text on dark backgrounds
- Color palette should be clean and consistent — use brand accents to highlight, not overwhelm
- Layout should feel spacious, not cramped. Generous whitespace > more content
- Visually attractive design that makes people want to swipe — think magazine quality, not PowerPoint
Phase 3: Design & Build
Build as a single HTML file with inline CSS for Playwright export.
LinkedIn Document Specs (4:5 Portrait)
Width: 1080px
Height: 1350px
Format: PDF export via Playwright
LinkedIn Safe Zones (CRITICAL)
LinkedIn's document viewer overlays controls that crop content. ALL content must stay inside these safe zones:
┌─────────────────────────────────┐
│ TOP CROP ZONE │ 80px — no content here
│─────────────────────────────────│
│ ┌───────────────────────────┐ │
│ │ │ │
│ │ SAFE CONTENT ZONE │ │ 80px side margins
│ │ │ │
│ │ 920px x 1130px │ │
│ │ │ │
│ └───────────────────────────┘ │
│─────────────────────────────────│
│ BOTTOM CROP ZONE │ 140px — page counter overlay
└─────────────────────────────────┘
- Top padding: 80px minimum (viewer clips top)
- Side padding: 80px minimum (viewer clips edges)
- Bottom clearance: 140px minimum (page counter + navigation arrows overlay)
- No progress bars: LinkedIn crops them — remove entirely
- Footer (logo + URL): Must sit at
margin-bottom: 140px or higher
CSS Baseline
.slide {
width: 1080px;
height: 1350px;
overflow: hidden;
display: flex;
flex-direction: column;
}
/* Footer sits above LinkedIn's 140px overlay */
.slide-footer {
margin-top: auto;
margin-bottom: 140px;
padding: 18px 80px 0;
}
/* Swipe teaser — inline, not absolute positioned */
.swipe-teaser {
text-align: center;
margin-top: 12px;
margin-bottom: 0;
}
@media print {
body { background: white; gap: 0; padding: 0; }
.slide { page-break-after: always; box-shadow: none; }
}
Typography for Mobile Readability
LinkedIn renders 1080px slides at ~350px on mobile. Minimum sizes:
| Element |
Min Size |
Recommended |
| Headlines (H1) |
40px |
44-50px |
| Subheadings (H2) |
32px |
36-44px |
| Body text |
20px |
22-26px |
| Metric numbers |
56px |
66-82px |
| Labels/captions |
16px |
18-22px |
| Tags/badges |
16px |
17-20px |
| Footer text |
15px |
16-18px |
Brand Application
Always apply Solum Health brand guidelines (see solum-health-brand skill):
- Font: DM Sans (400, 500, 700)
- Primary: Navy #011C40, Solum Blue #468AF7
- Accents: Teal #70D3C6, Purple #A16CF4
- Footer: SolumHealth logo + getsolum.com on every slide
Phase 4: Visual Validation
MANDATORY: Before exporting the final PDF, run design validation:
- Screenshot each slide using Playwright
- Check safe zones: Verify no content in top 80px, bottom 140px, or within 80px of sides
- Mobile readability test: All text must be legible at 1/3 scale
- Color contrast: Ensure text passes WCAG AA contrast on its background
- Consistency check: All slides same dimensions, same footer placement, same brand treatment
- No overlapping: Swipe teasers must be inline (not absolute positioned), never overlap content
- No clipping: All text fully visible, no letters cut off at edges
Phase 5: Export & Deliver
- Export PDF via Playwright at exactly 1080x1350px with
printBackground: true and zero margins
- Verify PDF dimensions: Confirm all pages are 1080x1350
- Save to campaign folder:
social-media/posts/linkedin/{campaign-name}/
- Only deliver PDF: No PNGs needed unless specifically requested
- Suggest document title: Make it engaging/viral (this shows in LinkedIn feed)
- Suggest post copy: Write accompanying LinkedIn post text following
writing-linkedin-posts skill guidelines
Phase 6: Post-Upload Check
If the user shares a screenshot from LinkedIn after uploading:
- Check if content is getting cropped at top/bottom
- Check if slides display at correct aspect ratio
- Suggest adjustments if LinkedIn's viewer is cutting content
Engagement Best Practices
Hook Patterns That Drive Swipes
- Surprising stat: "$835M for a company that was worth $0.52"
- Contrarian take: "Everyone is wrong about [topic]"
- Before/after: Show transformation with data
- Curiosity gap: Promise a reveal in the slides
- Breaking news: Time-sensitive industry events
Visual Patterns That Perform
- Dark slides for data — Navy backgrounds make numbers pop
- Light slides for text — White backgrounds for readability
- Alternating dark/light — Creates visual rhythm, prevents fatigue
- One big number per slide — Scannable at mobile size
- Real photos > stock — Authenticity drives engagement
- Brand color accents — Consistent but not overwhelming
Completion Rate Tactics
- Tease next slide: "Next: The one pivot that changed everything"
- Build narrative tension: Each slide should leave a question
- Save the best insight for slide 3-4: Hook them past the drop-off point
- End with a question: Drives comments, which drives reach
- Keep it to 5-10 slides: Completion drops sharply after 10
Output Checklist
Before delivering the carousel, verify:
1---2name: linkedin-carousel-builder3description: Build branded LinkedIn carousel PDFs optimized for engagement and virality. Use this skill when asked to create a LinkedIn carousel, document post, swipeable slides, or any multi-slide visual content for LinkedIn. Also triggers on "carousel", "slides for LinkedIn", "LinkedIn PDF", "swipeable post", or "document post".4---56# LinkedIn Carousel Builder78Create high-performing LinkedIn carousel PDFs that are branded, mobile-optimized, and designed for maximum engagement.910## Workflow1112### Phase 1: Research & Strategy1314Before building any carousel, research current best practices:15161. **Topic validation**: Confirm the topic has engagement potential on LinkedIn172. **Hook research**: Study what carousel hooks are performing well right now183. **Competitor scan**: Look at top-performing carousels in the same niche194. **Slide count**: Determine optimal slide count (8-15 for max engagement, 5-7 for quick takes)2021### Phase 2: Content Architecture2223Structure the carousel for completion rate (LinkedIn rewards 60%+ completion):2425**Slide Framework:**2627| Slide | Purpose | Priority |28|-------|---------|----------|29| 1 | **Scroll stopper** — Bold claim, surprising stat, or provocative question | Critical |30| 2-3 | **Context/Problem** — Set up the story or tension | High |31| 4-6 | **Value/Data** — Core insights, metrics, proof points | High |32| 7-8 | **So what** — What this means for the reader | High |33| Last | **CTA** — Question, brand, call to action | Critical |3435**Content rules:**36- Each carousel must be **self-explanatory** — a reader should understand the full story without any external context or the accompanying post text37- Every slide must contain a real insight, not filler. Data points, lessons, or actionable takeaways on every slide38- One idea per slide39- 25-40 words per slide maximum40- No walls of text — use visual hierarchy41- Every slide must earn the swipe to the next one42- Tease next slide content to drive completion4344**Visual clarity rules:**45- Font sizes must be large enough to invite reading, not strain the eyes (see typography table below)46- High contrast between text and background at all times — never use light text on light backgrounds or dark text on dark backgrounds47- Color palette should be clean and consistent — use brand accents to highlight, not overwhelm48- Layout should feel spacious, not cramped. Generous whitespace > more content49- Visually attractive design that makes people want to swipe — think magazine quality, not PowerPoint5051### Phase 3: Design & Build5253Build as a single HTML file with inline CSS for Playwright export.5455#### LinkedIn Document Specs (4:5 Portrait)5657```58Width: 1080px59Height: 1350px60Format: PDF export via Playwright61```6263#### LinkedIn Safe Zones (CRITICAL)6465LinkedIn's document viewer overlays controls that crop content. ALL content must stay inside these safe zones:6667```68┌─────────────────────────────────┐69│ TOP CROP ZONE │ 80px — no content here70│─────────────────────────────────│71│ ┌───────────────────────────┐ │72│ │ │ │73│ │ SAFE CONTENT ZONE │ │ 80px side margins74│ │ │ │75│ │ 920px x 1130px │ │76│ │ │ │77│ └───────────────────────────┘ │78│─────────────────────────────────│79│ BOTTOM CROP ZONE │ 140px — page counter overlay80└─────────────────────────────────┘81```8283- **Top padding**: 80px minimum (viewer clips top)84- **Side padding**: 80px minimum (viewer clips edges)85- **Bottom clearance**: 140px minimum (page counter + navigation arrows overlay)86- **No progress bars**: LinkedIn crops them — remove entirely87- **Footer (logo + URL)**: Must sit at `margin-bottom: 140px` or higher8889#### CSS Baseline9091```css92.slide {93 width: 1080px;94 height: 1350px;95 overflow: hidden;96 display: flex;97 flex-direction: column;98}99100/* Footer sits above LinkedIn's 140px overlay */101.slide-footer {102 margin-top: auto;103 margin-bottom: 140px;104 padding: 18px 80px 0;105}106107/* Swipe teaser — inline, not absolute positioned */108.swipe-teaser {109 text-align: center;110 margin-top: 12px;111 margin-bottom: 0;112}113114@media print {115 body { background: white; gap: 0; padding: 0; }116 .slide { page-break-after: always; box-shadow: none; }117}118```119120#### Typography for Mobile Readability121122LinkedIn renders 1080px slides at ~350px on mobile. Minimum sizes:123124| Element | Min Size | Recommended |125|---------|----------|-------------|126| Headlines (H1) | 40px | 44-50px |127| Subheadings (H2) | 32px | 36-44px |128| Body text | 20px | 22-26px |129| Metric numbers | 56px | 66-82px |130| Labels/captions | 16px | 18-22px |131| Tags/badges | 16px | 17-20px |132| Footer text | 15px | 16-18px |133134#### Brand Application135136Always apply Solum Health brand guidelines (see `solum-health-brand` skill):137- Font: DM Sans (400, 500, 700)138- Primary: Navy #011C40, Solum Blue #468AF7139- Accents: Teal #70D3C6, Purple #A16CF4140- Footer: SolumHealth logo + getsolum.com on every slide141142### Phase 4: Visual Validation143144**MANDATORY**: Before exporting the final PDF, run design validation:1451461. **Screenshot each slide** using Playwright1472. **Check safe zones**: Verify no content in top 80px, bottom 140px, or within 80px of sides1483. **Mobile readability test**: All text must be legible at 1/3 scale1494. **Color contrast**: Ensure text passes WCAG AA contrast on its background1505. **Consistency check**: All slides same dimensions, same footer placement, same brand treatment1516. **No overlapping**: Swipe teasers must be inline (not absolute positioned), never overlap content1527. **No clipping**: All text fully visible, no letters cut off at edges153154### Phase 5: Export & Deliver1551561. **Export PDF** via Playwright at exactly 1080x1350px with `printBackground: true` and zero margins1572. **Verify PDF dimensions**: Confirm all pages are 1080x13501583. **Save to campaign folder**: `social-media/posts/linkedin/{campaign-name}/`1594. **Only deliver PDF**: No PNGs needed unless specifically requested1605. **Suggest document title**: Make it engaging/viral (this shows in LinkedIn feed)1616. **Suggest post copy**: Write accompanying LinkedIn post text following `writing-linkedin-posts` skill guidelines162163### Phase 6: Post-Upload Check164165If the user shares a screenshot from LinkedIn after uploading:166- Check if content is getting cropped at top/bottom167- Check if slides display at correct aspect ratio168- Suggest adjustments if LinkedIn's viewer is cutting content169170## Engagement Best Practices171172### Hook Patterns That Drive Swipes173174- **Surprising stat**: "$835M for a company that was worth $0.52"175- **Contrarian take**: "Everyone is wrong about [topic]"176- **Before/after**: Show transformation with data177- **Curiosity gap**: Promise a reveal in the slides178- **Breaking news**: Time-sensitive industry events179180### Visual Patterns That Perform181182- **Dark slides for data** — Navy backgrounds make numbers pop183- **Light slides for text** — White backgrounds for readability184- **Alternating dark/light** — Creates visual rhythm, prevents fatigue185- **One big number per slide** — Scannable at mobile size186- **Real photos > stock** — Authenticity drives engagement187- **Brand color accents** — Consistent but not overwhelming188189### Completion Rate Tactics190191- **Tease next slide**: "Next: The one pivot that changed everything"192- **Build narrative tension**: Each slide should leave a question193- **Save the best insight for slide 3-4**: Hook them past the drop-off point194- **End with a question**: Drives comments, which drives reach195- **Keep it to 5-10 slides**: Completion drops sharply after 10196197## Output Checklist198199Before delivering the carousel, verify:200201- [ ] All slides exactly 1080x1350px202- [ ] Content within safe zones (80px top, 80px sides, 140px bottom)203- [ ] Text readable at mobile size (min 20px body, 40px+ headlines)204- [ ] Solum Health branding on every slide (logo + URL in footer)205- [ ] No absolute-positioned elements that could overlap206- [ ] Swipe teasers visible and not overlapping content207- [ ] PDF exported with `printBackground: true`208- [ ] Campaign folder created with descriptive name209- [ ] Engaging document title suggested210- [ ] Post copy drafted