Alle skills
Contentv1.0.0linkedin-carousel

LinkedIn-carrousel

Van artikel naar slides

Een carrousel is een document-upload, geen afbeeldingenpost. Dat ene feit bepaalt het formaat, en het niet weten is waarom de meeste carrousels bijgesneden ogen. Deze skill regelt de structuur, de tekst per slide en de render, met een validatie die je tegenhoudt voordat je iets post dat in de tijdlijn onleesbaar is.

MITCCaiCxAgCuOc
LinkedInSocialPDFRepurposing
Installeren

Zet hem in je eigen agent

Kies je client. Het commando staat er klaar voor.

claude code
/plugin marketplace add ASNNetworks/floh-skills
/plugin install linkedin-carousel@floh-skills

Typ deze twee in een Claude Code-sessie. De skill is meteen daarna beschikbaar; herstarten is niet nodig.

Wat je nodig hebt

  • Python 3.10 of hoger
  • reportlab (pip install reportlab)
  • Optioneel een TTF om in te sluiten
Demo

Zo ziet het eruit

Een echte sessie, stap voor stap afgespeeld.

claude-code
Wat het doet

De kern

1080 bij 1350, embedded fonts

Vier op vijf pakt de meeste hoogte in de tijdlijn. Een PDF met gelinkte fonts rendert bij LinkedIn als lege blokjes, en in je eigen preview zie je dat niet.

De hook staat op zichzelf

Slide 1 is alles wat de meeste mensen zien. Hij mag niet verwijzen naar iets eerders, want er is niets eerders.

Weigert een volle slide

Meer dan 25 woorden in een body is een harde fout, geen kleinere letter. Een slide die niemand in de tijdlijn kan lezen is erger dan een deck met één slide meer.

Geen ontwerptool nodig

Deck als JSON, render naar PDF. Je past de tekst aan en rendert opnieuw, in plaats van in een ontwerpbestand te gaan schuiven.

Wanneer

Wanneer je hem pakt

Een artikel hergebruiken

Een lang stuk naar acht tot twaalf slides, met per slide één idee in plaats van drie omdat de alinea drie zinnen had.

Een case naar buiten brengen

Probleem, aanpak, uitkomst. De structuur staat vast, dus de tijd gaat naar de tekst.

Een serie in dezelfde stijl

Het thema staat bovenin het deckbestand, dus tien carrousels zien er hetzelfde uit zonder dat je iets kopieert.

Alleen de hook testen

De skill schrijft eerst de outline als tekst. Je keurt de structuur goed voordat er iets gerenderd wordt.

De inhoud

Lees hem voordat je hem draait

Dit is precies wat er in de map komt te staan. Geen verrassingen, geen verborgen stappen.

3 bestanden

SKILL.md
---
name: linkedin-carousel
description: Turn an article, a case or a set of notes into a LinkedIn carousel PDF — slide structure, per-slide copy, and a renderer that produces the exact aspect ratio LinkedIn accepts. Use when asked to make a carousel, a slide deck for social, or to repurpose a long piece into slides.
---

# LinkedIn carousel

A carousel is a document upload, not an image post. That single fact decides the format,
and getting it wrong is why most carousels look cropped.

## When to use this

Repurposing an article, case study, lesson or set of notes into a LinkedIn carousel.
Also for the hook-and-structure work before any slides exist.

## The format, which is not negotiable

- **PDF**, uploaded as a document. Not a set of images.
- **1080 x 1350** (4:5 portrait). LinkedIn also accepts 1:1, but 4:5 takes the most
  vertical space in the feed, so it is the default.
- **8 to 12 slides.** Under 8 does not justify the swipe; over 12 and the drop-off is
  steeper than the reach gain.
- **Fonts embedded.** A PDF with linked fonts renders as fallback boxes on LinkedIn's
  server-side thumbnailer, and you will not see it in your own preview.
- **Under 100 MB**, which is never the binding constraint if you are not embedding photos.

## The structure that works

| Slide | Job |
|-------|-----|
| 1 | **Hook.** One claim, large. It has to work as a static thumbnail, because that is all most people see |
| 2 | **Stakes.** Why this costs the reader something today |
| 3-9 | **One idea per slide.** A heading and at most 25 words. If it needs 40, it is two slides |
| 10 | **Recap.** The three things worth remembering |
| 11 | **CTA.** One action, spelled out |

Rules that hold across all of them:

- **One idea per slide.** The most common failure is slide 4 carrying three points because
  the source paragraph had three sentences.
- **Slide 1 has no context.** It cannot say "as I mentioned". It is a cold open.
- **Readable at thumbnail size.** Headline at least 48pt at 1080 wide. Hold the slide at
  20% zoom; if you cannot read the headline, nobody in the feed can.
- **No paragraph anywhere.** If a slide has a paragraph, it wanted to be an article.

## How to run it

1. **Write the outline first, as text.** Slide number, headline, body. Get the structure
   approved before rendering anything. Regenerating a deck because slide 3 was wrong is
   ten seconds; rewriting after design is not.

2. **Put it in a JSON deck file:**

   ```json
   {
     "theme": { "accent": "#84CC16", "background": "#0B1020", "text": "#F8FAFC" },
     "slides": [
       { "kind": "hook",  "headline": "Je AI-agent leest je documenten verkeerd",
                          "sub": "En hij zegt het er niet bij" },
       { "kind": "point", "headline": "03/04/2026",
                          "body": "3 april of 4 maart. Zonder context is dat een gok, en een gok in je boekhouding." },
       { "kind": "cta",   "headline": "Wil je dit goed hebben?",
                          "body": "Stuur me een bericht.", "handle": "@alisina" }
     ]
   }
   ```

3. **Render:**

   ```bash
   python3 scripts/render.py deck.json -o carousel.pdf
   ```

   The renderer produces 1080x1350 pages with embedded fonts and reports the page count
   and file size so you can check both before uploading.

4. **Check at thumbnail size before you post.** Every time.

## Writing the hook

The hook slide decides everything downstream. Four openings that work, in rough order of
reliability:

1. **A cost.** "Deze fout kost je een kwartaal aan verkeerde cijfers."
2. **A contradiction.** "Snellere agents maken je trager."
3. **A concrete number.** "Zes van de tien facturen die ik zag hadden een verkeerde datum."
4. **A named mistake.** "De fout die iedereen maakt met SKILL.md."

Openings that do not work: a question the reader can answer with "no", a definition, and
anything beginning "In het huidige digitale landschap".

## The accompanying post

The carousel does not stand alone. The post text above it carries the hook again in
plain words and ends with one question. Three to five lines. The first two lines are what
shows before "see more", so the hook has to land there.

## Files

- `scripts/render.py` — deck JSON to a 1080x1350 PDF with embedded fonts. No design tool
  needed.
- `references/deck-schema.md` — every slide kind and its fields, with layout notes.
Versies

Wat er veranderd is

  1. v1.0.0huidig
    • Eerste versie: zeven slidesoorten, thema, en validatie voor het renderen.
    • render.py levert 1080 bij 1350 met paginanummers en handle.
    • Vier hook-vormen die werken, met de vormen die niet werken erbij.

Werkt hij voor je?

Vragen

Over LinkedIn-carrousel

Wat mensen vragen voordat ze hem installeren.

Zo een, maar dan voor jouw werk?

Elke skill hier komt uit werk dat ik echt deed. Zit er iets in jouw proces dat je telkens opnieuw uitlegt aan een agent, dan is dat precies een skill.