# Repurpose Linkedin Carousel

> Use when the user wants to turn a blog post or article into a LinkedIn carousel. Extracts the key points, sequences them into slide copy, then invokes the external `carousel` skill (LinkedIn Carousel Generator) to render an HTML carousel file ready for export to PDF.

- Skill: `busyeugene/repurpose-linkedin-carousel` (Agent Skill)
- Install (CLI): `npx skillmds@latest add busyeugene/repurpose-linkedin-carousel`
- Raw SKILL.md: https://api.skillmd.com/api/skills/busyeugene/repurpose-linkedin-carousel/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Web & Frontend
- License: MIT
- Author: busyeugene (https://skillmd.com/u/busyeugene)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/busyeugene/repurpose-linkedin-carousel

---


# Repurpose → LinkedIn Carousel

Turn any article into a LinkedIn carousel. This skill handles the content strategy side (what the carousel should say) and then delegates rendering to the separate [`carousel`](https://github.com/anthropics/claude-code) skill, which handles the HTML/PDF output.

## Dependency

Install the external `carousel` skill first. This skill will fail with a clear error if the `carousel` skill isn't available under `~/.claude/skills/carousel/`.

## Setup

No keys required.

## Inputs

1. **Source** — path to a blog post file, or a URL (fetched via the shared scraping chain).
2. **Slide count** — 6, 8, 10, 12. Default 10.
3. **Carousel angle** — the single takeaway the carousel must deliver. If the user doesn't know, propose 3 angles from the article and let them pick.
4. **CTA** — what the final slide asks for (follow, comment, link click, lead magnet download).
5. **Design preset** — optional: if the `carousel` skill supports named presets, pass one through (e.g. `minimal`, `editorial`, `brand`).

Use `AskUserQuestion` for slide count and angle selection.

## Process

### 1. Load voice and source

- Read `editorial-guidelines.md` if present — the carousel must match the brand voice.
- Read the source article (or scrape the URL).

### 2. Extract the spine

From the source, pull:
- The single strongest claim
- The 5–10 supporting points that could each fill one slide
- The 2–3 numbers or data points that could anchor a slide
- The one-line closer that ties the carousel to the reader's next action

### 3. Pick the angle

If the user didn't specify, propose 3 candidate angles:
- **Listicle** — "N things about X" (crowd favorite, safe)
- **Contrarian** — "Why most people get X wrong" (high engagement, higher risk)
- **Framework** — "The X-step framework for Y" (high shareability, higher effort)

Each proposal names the likely hook slide text. The user picks.

### 4. Sequence the slides

Standard LinkedIn carousel structure:

1. **Cover slide** — the hook. One big claim or number. Must stop scroll in 1 second.
2. **Context slide** — the "why this matters to you" in one sentence + one data point.
3. **Slides 3 through N–2** — the body. One point per slide. Each slide:
   - Slide headline (≤7 words, big type)
   - Slide body (≤25 words, supporting the headline)
   - Optional: tiny footer with page number ("2/10")
4. **Penultimate slide** — the summary: the 5-second version of the carousel.
5. **Final slide** — the CTA. One instruction, one link or handle.

### 5. Write slide copy

Draft copy for every slide respecting:
- Editorial guidelines voice and banned words
- LinkedIn mobile readability (big type = short lines)
- No marketing fluff — specificity beats enthusiasm
- Avoid orphan words on the last line of each slide

Save the slide copy as intermediate input at `social/<slug>-carousel-copy.md`:

```markdown
# Carousel copy — {slug}

**Angle:** {angle}
**Slide count:** {n}
**CTA:** {action}

---

## Slide 1 — cover

**Headline:** {big text}
**Subline:** {optional}
**Visual note:** {one line for designer or for the carousel skill's default visual}

---

## Slide 2 — context
{same structure}

---

{…}

## Slide {N} — CTA

**Headline:** {ask}
**Body:** {1 line}
**Link / handle:** {…}
```

### 6. Delegate to the `carousel` skill

Invoke the external `carousel` skill with the slide copy file as input. Pass through:
- The path to `social/<slug>-carousel-copy.md`
- The optional design preset
- A desired output path: `social/<slug>-carousel.html`

If the `carousel` skill supports PDF export, request PDF as well (`social/<slug>-carousel.pdf`).

If the `carousel` skill is missing, print a clear instruction:

```
The `carousel` skill (LinkedIn Carousel Generator) is not installed.
Install it from {docs URL} or copy it into ~/.claude/skills/carousel/, then re-run.
Your slide copy has been written to {path}.
```

### 7. Draft the LinkedIn post that accompanies the carousel

Optionally invoke the `social-post` skill in `carousel-teaser` mode to produce a 3-variant LinkedIn post that introduces the carousel. Save under `social/<slug>-carousel-post.md`.

### 8. Print summary

One block: slide copy path, carousel HTML path, optional PDF path, optional teaser post path.

## Fallbacks

- **Source unavailable:** ask the user to paste the article or point to a local file.
- **`carousel` skill unavailable:** still write the slide copy file so the user can render it manually later.
- **PDF export unavailable:** provide the HTML only.

## Verification

1. Slide copy file exists with exactly the requested number of slides.
2. Every slide has a headline and body.
3. Cover slide's headline is ≤7 words.
4. Final slide has a single, clear CTA.
5. If the `carousel` skill ran, an HTML file exists at the expected path.

