Agent skill

Linkedin Carousels

by ericrisco in ericrisco/rsc-harness

A skill your agent uses when building a LinkedIn carousel / document post — the swipeable multi-page PDF — slide by slide: cover hook, narrative arc, one idea per slide, CTA closer, PDF export spec.

MITAuto-check passedDocuments & Office

Install Linkedin Carousels

skills CLI
$ npx skills add ericrisco/rsc-harness --skill linkedin-carousels -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install ericrisco/rsc-harness linkedin-carousels --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/ericrisco/rsc-harness.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/linkedin-carousels .claude/skills/linkedin-carousels && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
linkedin-carousels
GitHub stars
174
Token cost
~3.1k tokens
SKILL.md length
1,412 words
Files
5 (incl. scripts, references)
Skills in repo
233
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when building a LinkedIn carousel / document post — the swipeable multi-page PDF — slide by slide: cover hook, narrative arc, one idea per slide, CTA closer, PDF export spec.

  • Building a LinkedIn carousel / document post — the swipeable multi-page PDF — slide by slide: cover hook
  • SKILL.md covers What you produce, Ground first, The swipe economics (why every… and The cover slide, plus 9 more sections
  • Runs Shell scripts from its folder
  • One idea per slide

What it does

Linkedin Carousels is an agent skill from ericrisco/rsc-harness. Use when building a LinkedIn carousel / document post — the swipeable multi-page PDF — slide by slide: cover hook, narrative arc, one idea per slide, CTA closer, PDF export spec. NOT the account/format plan (that is linkedin-strategy), NOT a text or single-image feed post (that is linkedin-content), NOT a 16:9 talk deck (that is presentations).

Its SKILL.md is about 3.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files, including scripts and reference files (for example `evals/README.md`, `evals/cases.yaml` and `references/carousel-patterns.md`).

It sits in Documents & Office, covering Slides and decks and Infographics. It works with LinkedIn. The repository describes itself as: Your agent invents things because it has no memory, and can't touch your database because it has no arms. rsc is the meta-harness that gives it both, plus the trade to know the… The licence is MIT.

When your agent uses it

  • Building a LinkedIn carousel / document post — the swipeable multi-page PDF — slide by slide: cover hook
  • One idea per slide
  • PDF export spec

Example prompts

  • “/linkedin-carousels”

Requirements

  • A Bash shell

What it can do on your machine

Read from SKILL.md and the folder at commit e3d5b33. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Shell), which the agent can run.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Linkedin Carousels loads about 3.1k tokens when it runs, and up to ~5.1k if it reads all its reference files. Until then it costs about 93 tokens; SKILL.md has 1,412 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~93
When it runs · the whole SKILL.md, loaded when a task matches
~3.1k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~5.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from ericrisco/rsc-harness at commit e3d5b33, republished under its MIT licence (© ericrisco). 1,412 words, ~3,108 tokens.

Download SKILL.mdSave it as .claude/skills/linkedin-carousels/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.
name
linkedin-carousels
description
Use when building a LinkedIn carousel / document post — the swipeable multi-page PDF — slide by slide: cover hook, narrative arc, one idea per slide, CTA closer, PDF export spec. NOT the account/format plan (that is `linkedin-strategy`), NOT a text or single-image feed post (that is `linkedin-content`), NOT a 16:9 talk deck (that is `presentations`).
tags
linkedin, carousel, document-post, slide-design, visual-hierarchy, hook, b2b, social-content
recommends
linkedin-content, linkedin-strategy, brand-identity, brand-voice, presentations, social-publisher
origin
risco

LinkedIn carousels

Design one swipeable LinkedIn document post. Your artifact is the slides of a phone-read PDF — sequence and visual hierarchy are the product — handed back as a slide-by-slide build ready to assemble in Canva/Figma/Slides plus a one-page design+export checklist. Everything adjacent (the account plan, the feed copy, the upload, a talk deck) routes out; see Handoffs.

What you produce

  • A cover slide spec — the one slide that wins or loses the swipe to slide 2.
  • Interior slides — each carrying a single focused idea, large type, a clear hierarchy.
  • A CTA closer — the payoff slide plus one explicit ask.
  • A design + export spec — canvas, safe area, type floor, PDF checklist (one page).
  • A one-line caption starter — the first feed line; full caption tuning routes out.

Precondition: a topic, an angle, or a source (post/article). If the ask is the account plan or a block of feed copy, you are in the wrong skill — see the handoffs table.

Ground first

A carousel inherits an identity; it does not invent one. Read the brand kit (colors, type, logo — owned by ../brand-identity/SKILL.md) and the voice (../brand-voice/SKILL.md) from 02-DOCS/ if they exist; don't pick arbitrary fonts. Pull the angle from any plan or post already produced by ../linkedin-strategy/SKILL.md or ../linkedin-content/SKILL.md — reuse the hook, don't reopen it. If none exist, name your assumptions on slide 0 of the spec and proceed; don't stall.

The swipe economics (why every rule below exists)

Document/carousel posts are the highest-engagement native format on LinkedIn right now — roughly 6.6% average engagement, ahead of every other format, and top-performing pages post far more of them than median pages. The reason is dwell time: a swipeable deck holds the thumb on screen, and dwell — not likes — is the algorithm's main distribution signal.

So the whole bet is the cover slide and the swipe-to-slide-2 bounce. If the cover doesn't earn the first swipe, your slide count, your arc, and your CTA never get seen; every swipe after that extends dwell and signals quality, which is why each slide must pull to the next. Design backwards from that: stop the thumb, then keep it moving.

The cover slide

This slide is the entire campaign. Build it to one job: earn the swipe.

  • Lead with a curiosity or benefit headline — promise a payoff, not a topic label. Why: a label ("Onboarding tips") gives no reason to swipe; a stake ("Why 60% of users quit in week one") does.
  • One dominant element — the headline reads first, before anything else. Why: a cover with three competing focal points reads as zero.
  • Intentional white space — let the headline breathe. Why: a dense cover looks like work, and the thumb keeps scrolling.
  • An explicit swipe cue — an arrow, "Swipe →", or a 1/8 counter. Why: tell people the format is a deck so they know there's more.

The test: would this stop my own thumb mid-scroll on a crowded feed? If you hesitate, the cover is too quiet.

text
Bad  (topic label, no stake, no swipe reason)
  ┌──────────────────────────┐
  │  Tips for better          │
  │  user onboarding          │
  │                           │
  └──────────────────────────┘

Good (stake + payoff + swipe cue, one dominant line)
  ┌──────────────────────────┐
  │  60% of new users quit    │   ← largest element, reads first
  │  in week one.             │
  │                           │
  │  Here's where they fall   │   ← supporting line, smaller
  │  off — and the fix.       │
  │                  Swipe →  │   ← explicit cue
  └──────────────────────────┘

More cover-hook shapes (number / contrarian / mistake / outcome / question) with Bad→Good rewrites are in references/carousel-patterns.md.

The narrative arc

A carousel is not a list — it is a sequence engineered so each slide creates a reason to see the next. Pick one arc and map slides to it. Branch on the angle:

ArcUse whenSlide shape
Problem → tension → reveal → payoffpersuasive / insight postcover, stakes, the wrong way, the shift, the payoff, CTA
Numbered steps / listiclehow-to, frameworkcover, step 1..n, recap, CTA
Myth → truthcontrarian takecover, the myth, why it's wrong, the truth, proof, CTA
Before → aftertransformation / case studycover, before, turning point, after, how, CTA
Data revealstat-led postcover, setup, the number, why it matters, so-what, CTA

Momentum rule: end each interior slide on a small open loop — a cliff line, a "but here's the catch", a half-finished list — so the thumb keeps swiping. Why: a slide that fully resolves gives permission to stop. Each arc expanded to a full slide map is in references/carousel-patterns.md.

One idea per slide + hierarchy

The line between a finished deck and one abandoned at slide 3 is one idea per slide.

  • One point per slide — if a slide has two ideas, split it. Why: cramming dilutes the message and stalls momentum; a single point is swiped through fast and remembered.
  • Type floor ≥ 28 px — it is read on a phone, one-handed. Why: body text below ~28 px forces a pinch-zoom, which is a stop.
  • One dominant element per slide — a headline, a number, or a visual that reads first.
  • Generous white space + a consistent grid — same margins, same headline position across slides. Why: a stable frame lets the eye land instantly and the deck feels designed.
text
Bad  — crammed, four competing points, tiny text
  ┌──────────────────────────┐
  │ Onboarding fixes:         │
  │ • Shorten the signup form │
  │ • Add a progress bar      │
  │ • Send a day-1 email      │
  │ • Show a sample dataset   │
  └──────────────────────────┘

Good — one idea, one dominant element, breathing room
  ┌──────────────────────────┐
  │  Step 1                   │
  │                           │
  │  Cut the signup form to   │   ← single point, large
  │  3 fields.                │
  │                           │
  │  Every extra field drops  │   ← one supporting line
  │  completion ~7%.          │
  └──────────────────────────┘

Slide count

Aim for the 6–12 band, ~8 as the sweet spot (cover + ~6 content + CTA). Reported peaks cluster around 7–8 slides; 8–12 is where the highest dwell/save/share rates show up. Fewer than 5 underdelivers (not worth the swipe); more than ~15 loses people before the payoff. Treat the band as a guide, not a law: length follows the arc, not a quota — if the arc resolves in 7 slides, ship 7, don't pad to hit a number.

Show full SKILL.md (560 more words)Show less

The CTA closer

The last slide is the payoff landing plus one explicit ask.

  • State the payoff first, then ask. Why: people act after value, not before it.
  • One ask, tied to the payoff — "Save this for your next onboarding review", "Comment your worst week-one drop-off". Why: a bare "Follow for more" is generic and ignorable; an ask hooked to what they just read converts.
text
Bad   →  "Follow me for more content."     (generic, no reason)
Good  →  "Save this for your next onboarding review.
          Which step are you missing? Comment below."   (tied to payoff, one action)

Design + export spec

text
Canvas:    1080×1350 (4:5 portrait, recommended) or 1080×1080 (1:1 fallback). No landscape.
Safe area: keep headline + key visual inside ~880×880; ~80 px padding on all sides.
Type:      body ≥ 28 px (it is read on a phone).
Export:    PDF only (1 slide = 1 page). Cap ~100-300 MB / 300 pp depending on source; keep < ~10 MB.
Gotchas:   open the exported PDF and verify fonts — free Canva silently substitutes them;
           disable bleed / crop marks — they add black bars to every slide;
           preview on a PHONE before posting — the desktop view hides mobile crops.

Portrait 4:5 takes the most vertical space in a mobile feed, which raises dwell and the chance of a scroll-stop; PDF is the only export that preserves fonts and layout reliably across devices, since slides exported as images lose crispness and break selectable text. The full checklist in prose is in references/carousel-patterns.md.

The feed caption handoff

A document post still has a text caption above it, and its first 1–2 lines (before the "…more" fold) must restate the cover hook — that line is what people read before deciding to expand and swipe. Give a one-line starter that echoes the cover; you own the slides, and ../linkedin-content/SKILL.md owns the caption's full length/tone tuning.

Handoffs

When you actually want…Go to
The account/format plan, cadence, niche, who to target../linkedin-strategy/SKILL.md
A text or single-image feed post (just the copy)../linkedin-content/SKILL.md
1:1 DMs / connection-request outreach sequences../linkedin-outreach/SKILL.md
To publish/schedule the deck via the LinkedIn API../linkedin-api/SKILL.md
A spoken-to 16:9 talk deck (speaker support)../presentations/SKILL.md
The color / type / logo brand kit the deck is styled in../brand-identity/SKILL.md
The reusable tone of voice the words are written in../brand-voice/SKILL.md
A long-form article (the prose, not slides)../article-writing/SKILL.md
To cross-post / schedule the finished asset elsewhere../social-publisher/SKILL.md

Anti-patterns

Anti-patternWhy it failsDo instead
Cover is a title slide / table of contentsNo stake, no swipe reason — the deck dies at slide 1Lead with a curiosity/benefit headline that promises a payoff
Multiple ideas crammed on one slideDilutes the message, stalls momentum, forces tiny textOne focused idea per slide; split the rest into more slides
Body text under 28 pxForces a pinch-zoom on mobile — that's a stopKeep body ≥ 28 px; headlines far larger
Landscape (16:9) canvasTakes minimal feed space, low dwell, looks like a talk deckPortrait 1080×1350 (4:5), or 1080×1080 square fallback
A flat list with no arcNothing pulls the reader forward; they abandon earlyPick one arc; end each slide on a small open loop
20+ slidesLoses people before the payoffStay in the 6–12 band (~8); let the arc set the length
Bare "Follow me for more" CTAGeneric, no reason to actOne explicit ask tied to the payoff (save/comment)
Exporting slides as images, not a PDFLoses crispness, breaks the document-post formatExport one PDF, 1 slide = 1 page, < 10 MB
Trusting Canva's PDF fontsFree Canva silently substitutes custom fontsOpen the exported PDF and verify fonts before upload
Never previewing on a phoneDesktop view hides mobile crops and bleed barsOpen the final PDF on a phone before posting

Verify

If you wrote the spec to a file, lint it before handing off:

bash
scripts/verify.sh path/to/carousel-spec.md

It checks (read-only) for a labeled cover slide, a slide count in 5–15 (warns outside 6–12), a CTA slide with an explicit ask, a portrait/square canvas, a ≥28 px type floor, "PDF" as the export target, and warns on any crammed (3+ bullet) interior slide. An empty or clean target passes.

© ericrisco, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 4 other files (scripts, references) in skills/linkedin-carousels of ericrisco/rsc-harness.

  • SKILL.md
  • evals/README.md
  • evals/cases.yaml
  • references/carousel-patterns.md
  • scripts/verify.sh

Open the folder on GitHubat commit e3d5b33

Compare with similar skills

Linkedin Carousels next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Linkedin Carousels compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Linkedin Carousels this skillericrisco/rsc-harness174—~3.1kAutomated safety check: PassMIT
Threads Carouselitchernetski/threads-carousel-claude-skill108—~3.5kAutomated safety check: PassMIT
Social Media Carouseldanielmeppiel/agentic-sdlc-handbook1581 repos~2.2kAutomated safety check: PassCustom licence
Linkedin Carousel Generatordmccreary/ibook-skills105—~3.7kAutomated safety check: PassCC-BY-NC-4.0
Carousel Writer Smsblacktwist/social-media-skills559—~4.1kAutomated safety check: PassMIT
PPTX Generatorcoleam00/ai-transformation-workshop147—~9.9kAutomated safety check: PassNone

Similar skills

  • Threads Carousel

    itchernetski/threads-carousel-claude-skill

    Convert text posts into visual carousel images or presentations for Threads, Instagram, LinkedIn, TikTok, YouTube.

    108 GitHub stars~3.5k tokensUpdated 5 mo ago
    Documents & OfficeAuto-check passed
  • Social Media Carousel

    danielmeppiel/agentic-sdlc-handbook

    Multi-slide carousel design for Instagram, LinkedIn, and Twitter/X with layout rules and hooks.

    158 GitHub starsUsed in 1 repo~2.2k tokens
    Documents & OfficeAuto-check passed
  • Linkedin Carousel Generator

    dmccreary/ibook-skills

    Generates a 13-slide LinkedIn carousel (a "document post" — PPTX/PDF) that showcases an intelligent textbook's key features, with real screenshots, mascot art, and metrics pulled from the project.

    105 GitHub stars~3.7k tokensUpdated yesterday
    Documents & OfficeAuto-check passed
  • Carousel Writer Sms

    blacktwist/social-media-skills

    When the user wants to write content for a LinkedIn carousel, Instagram carousel, Facebook carousel, TikTok photo carousel, Pinterest Idea Pin, or any swipeable multi-slide format.

    559 GitHub stars~4.1k tokensUpdated 5 mo ago
    Documents & OfficeAuto-check passed
  • PPTX Generator

    coleam00/ai-transformation-workshop

    Generate and edit presentation slides as PPTX files. An agent skill from coleam00/ai-transformation-workshop.

    147 GitHub stars~9.9k tokensUpdated 1 mo ago
    Documents & OfficeAuto-check passed
  • Carousels

    TheCraigHewitt/skills

    Turns a piece of Craig's content (an email, a YouTube script, an essay, or pasted text) into a polished image carousel publishable to both LinkedIn and Instagram from one set of 1080x1350 slides.

    157 GitHub stars~2.3k tokensUpdated 4 mo ago
    Media & CreativeAuto-check passed

More from ericrisco/rsc-harness

All 233 skills in this repo
  • Ab Testing

    ericrisco/rsc-harness

    A skill your agent uses when designing or analyzing a controlled experiment — falsifiable hypothesis, sample size from an MDE, reading significance/CI/power, CUPED, or rescuing tests that won't go…

    174 GitHub stars~2.4k tokensUpdated yesterday
    Auto-check passed
  • Accessibility

    ericrisco/rsc-harness

    A skill your agent uses when making a web UI conform to WCAG 2.2 Level AA — axe-core or Lighthouse a11y violations, keyboard operability, focus management, ARIA roles/names/live regions, contrast…

    174 GitHub stars~3.4k tokensUpdated yesterday
    Auto-check passed
  • Ads

    ericrisco/rsc-harness

    A skill your agent uses when running or fixing paid acquisition on Google or Meta — campaign structure (Performance Max, Demand Gen, Search, Advantage+), platform-fit creative, budget/scaling rules…

    174 GitHub stars~2.2k tokensUpdated yesterday
    Auto-check passed
  • Agent Eval

    ericrisco/rsc-harness

    A skill your agent uses when measuring whether an LLM or agent system actually got better and gating merges on it: golden sets, fixing an inflated LLM-as-judge, scoring RAG (faithfulness, contextual…

    174 GitHub stars~3.2k tokensUpdated yesterday
    Auto-check passed
  • AI Media

    ericrisco/rsc-harness

    A skill your agent uses when a creative goal must become a finished media file: pick and order generative-media models per modality — AI voiceover, image-to-video clips, score — then glue them with…

    174 GitHub stars~3.3k tokensUpdated yesterday
    Auto-check passed
  • Analytics

    ericrisco/rsc-harness

    A skill your agent uses when instrumenting product or web analytics — GA4/PostHog SDK wiring, event taxonomy, funnels, double-counted events, consent gating, PII scrubbing.

    174 GitHub stars~2.8k tokensUpdated yesterday
    Auto-check passed

Works with

Questions about Linkedin Carousels

What does Linkedin Carousels do?

A skill your agent uses when building a LinkedIn carousel / document post — the swipeable multi-page PDF — slide by slide: cover hook, narrative arc, one idea per slide, CTA closer, PDF export spec. Linkedin Carousels is an agent skill from ericrisco/rsc-harness. Use when building a LinkedIn carousel / document post — the swipeable multi-page PDF — slide by slide: cover hook, narrative arc, one idea per slide, CTA closer, PDF export spec.

When should I use Linkedin Carousels?

Linkedin Carousels fits situations like: building a LinkedIn carousel / document post — the swipeable multi-page PDF — slide by slide: cover hook; one idea per slide; PDF export spec.

How do I install Linkedin Carousels in Claude Code?

Run `npx skills add ericrisco/rsc-harness --skill linkedin-carousels -a claude-code`. Or copy the skill folder (skills/linkedin-carousels in ericrisco/rsc-harness) into .claude/skills/linkedin-carousels in your project. Claude Code loads it when a task matches its description.

How do I install Linkedin Carousels in Codex?

Run `npx skills add ericrisco/rsc-harness --skill linkedin-carousels -a codex`. Or copy the skill folder (skills/linkedin-carousels in ericrisco/rsc-harness) into .agents/skills/linkedin-carousels in your project. Codex loads it when a task matches its description.

Can I use Linkedin Carousels in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ericrisco/rsc-harness --skill linkedin-carousels -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/linkedin-carousels, .gemini/skills/linkedin-carousels, .github/skills/linkedin-carousels and .opencode/skills/linkedin-carousels in your project.

What does Linkedin Carousels need to run?

Going by SKILL.md and its folder, Linkedin Carousels needs a shell for the scripts in its folder. Our summary lists: A Bash shell.

Does Linkedin Carousels access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Linkedin Carousels safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Linkedin Carousels use?

Linkedin Carousels is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Linkedin Carousels use?

About 3.1k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2k tokens, read only when the agent opens those files.

What are the alternatives to Linkedin Carousels?

Skills that share tags, products or a category with Linkedin Carousels: Threads Carousel (itchernetski/threads-carousel-claude-skill, 108 stars), Social Media Carousel (danielmeppiel/agentic-sdlc-handbook, 158 stars), Linkedin Carousel Generator (dmccreary/ibook-skills, 105 stars) and Carousel Writer Sms (blacktwist/social-media-skills, 559 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Linkedin Carousels?

ericrisco (a GitHub user) maintains it in ericrisco/rsc-harness, which has 174 GitHub stars. The repository holds 233 skills in this directory. The repository was last updated on October 7, 2026.

Source: ericrisco/rsc-harness on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.