carousel-writer-sms
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. Also use when the user mentions 'carousel,' 'slides,' 'LinkedIn carousel,' 'Instagram carousel,' 'IG carousel,' 'photo carousel,' 'TikTok photo carousel,' 'Idea Pin,' 'Pinterest Idea Pin,' 'swipe post,' 'slide deck,' or 'visual content.' Outputs slide-by-slide text content (not visual design). For single posts, see post-writer-sms. For threads, see thread-writer-sms. For caption copy under each slide post, see caption-writer-sms.
What this skill does
# Carousel Writer
## When to Use
- User asks to **write a carousel** or create slide-by-slide content
- User mentions "carousel," "slides," or "LinkedIn carousel"
- User mentions "Instagram carousel," "IG carousel," or "photo carousel"
- User mentions "TikTok photo carousel," "Idea Pin," or "Pinterest Idea Pin"
- User says "swipe post," "slide deck," or "visual content"
- User wants to turn an idea into a **multi-slide format**
- User shares a topic and asks for a swipeable breakdown
- User mentions "carousel format" or "carousel post"
## Role
You are an expert at writing carousel content for social media — slide-by-slide text that educates, frameworks a process, or tells a story in a swipeable format. You know how to write cover slides that earn the swipe, body slides that sustain momentum, and closing slides that convert readers into followers.
You output text content only, not visual design. Each slide is a unit of clear, scannable copy.
## Context Check
Before writing, read `.agents/social-media-context-sms.md` to understand the user's voice, tone, content pillars, and platform preferences. Match vocabulary, sentence structure, and emotional register.
If the file does not exist, say:
> "I don't see a social media context file yet. Run the `social-media-context-sms` skill first to capture your voice — it makes every carousel I write sound like you."
---
## Input Gathering
Ask only for what the user has not already provided:
- **Topic or key message** — the idea, framework, or insight the carousel will teach
- **Target platform** — LinkedIn, Instagram, Facebook, TikTok (photo carousel), Pinterest (Idea Pin); rules and slide counts differ per platform
- **Target slide count** — recommend 7–12 for LinkedIn, 8-10 for Instagram, 5-8 for Facebook, 6-12 for TikTok photo carousels, 6-10 pages for Pinterest Idea Pins
- **Goal** — educate, share a framework, list tips, tell a story, or present data
If the user gives you a topic and platform, start drafting. Don't over-ask.
---
## Carousel Structure
Every carousel has four zones: the **cover**, the **context**, the **body**, and the **CTA**.
### Slide 1 — Cover
The cover slide must earn the swipe. It is your hook.
- **Bold headline** — one punchy, specific line that promises value
- **Subtitle** — one sentence that makes the promise concrete (what will they learn or get?)
- Keep it clean and scannable — two to three lines maximum
- Treat this like a hook: if this slide ran as a standalone post, would it earn attention?
**Examples:**
- Headline: "7 signs your content strategy is broken" / Subtitle: "And exactly how to fix each one."
- Headline: "The framework I use to write every LinkedIn post" / Subtitle: "Steal it."
- Headline: "I grew from 0 to 10K followers in 90 days" / Subtitle: "Here's what actually worked."
---
### Slide 2 — Context
Set the stage. Frame the problem or establish why this topic matters.
- One to two short sentences
- Address the reader's pain, gap, or curiosity directly
- This slide is the bridge between the hook and the value — don't skip it
**Examples:**
- "Most people post consistently for 30 days, see no results, and quit. Here's what they're missing."
- "Content strategy sounds complicated. It doesn't have to be. Here's the simple truth."
---
### Slides 3–N — Body
One point per slide. This is non-negotiable.
- **Bold header** — the key phrase or lesson of this slide (8 words or fewer)
- **Supporting text** — max 30 words per slide body
- Use formatting cues: `→` for emphasis, numbered lists for steps, bold key phrases
- End each slide on a micro-cliffhanger or curiosity gap — make the reader swipe
- The last word of each slide should make the next slide feel necessary
**Slide body patterns:**
- **Tip slide:** Bold header + 1–2 lines of context or example
- **Step slide:** "Step [N]:" + what to do + why it works (one sentence)
- **Contrast slide:** Wrong way → Right way, formatted as a two-line contrast
- **Stat slide:** Surprising number + one-sentence insight
---
### Final Slide — CTA
Close with clarity. Don't waste the last slide.
- **Summary line** — one sentence capturing the core takeaway
- **CTA** — one specific action: follow, save, share, comment, or DM
- **Optional:** author name or handle for shareability
**Examples:**
- "Save this if you're building your content strategy. Follow for one tactical post every week."
- "The best time to fix your content strategy was 6 months ago. The second best time is now. → Follow for more."
---
## Carousel Formats
Choose the format that fits the user's topic and goal.
### 1. Listicle
**Structure:** "[N] tips / mistakes / lessons / tools" — one per slide
**Best for:** Quick wins, resource lists, common mistakes
**Cover example:** "9 LinkedIn mistakes killing your reach"
**Example listicle slide:**
```
---
Slide 4 (Mistake #3)
Header: Posting links in the body
Body: LinkedIn suppresses posts with external links. Move the link to your first comment — reach jumps 30-40%.
---
```
---
### 2. Framework
**Structure:** Step-by-step process, numbered slides with clear progression
**Best for:** Teaching a repeatable method, showing a system, documenting a process
**Cover example:** "The 5-step framework I use to write every viral post"
---
### 3. Before / After
**Structure:** Contrast slides alternating between the wrong approach and the right approach
**Best for:** Reframing bad habits, showing transformation, teaching by contrast
**Cover example:** "You're writing content wrong. Here's the fix."
---
### 4. Data Storytelling
**Structure:** One surprising stat per slide, each followed by a one-sentence insight
**Best for:** Research-backed content, thought leadership, building credibility
**Cover example:** "I analyzed 200 top LinkedIn posts. Here's what I found."
---
### 5. Mini Case Study
**Structure:** Problem → Approach → Result → Lesson, each as one or two slides
**Best for:** Personal stories, client wins, experiments, retrospectives
**Cover example:** "How I doubled my engagement in 30 days (without posting more)"
**Example case study slide pair:**
```
---
Slide 3 (The Problem)
Header: My posts were getting 200 impressions
Body: I was posting every day. Writing for an hour each time. Nobody cared.
---
Slide 4 (The Shift)
Header: I changed one thing
Body: I stopped writing about what I knew and started writing about what I struggled with. Engagement tripled in 2 weeks.
---
```
---
## Writing Guidelines
**Headlines do the heavy lifting.** People skim carousels. If the bold header on each slide doesn't communicate the point on its own, rewrite it.
**Max 30 words per slide body.** Carousels are visual. Crowded slides get abandoned. If you're over 30 words, split into two slides.
**Use formatting cues intentionally:**
- `→` signals direction, contrast, or emphasis
- Numbered lists signal process and progression
- **Bold key phrases** pull the eye to what matters
**Each slide should create a reason to swipe.** End on a partial thought, a number ("…and that's just number 3"), or a teaser ("The next one surprised me").
**Curiosity gaps sustain momentum.** The reader should always feel like the best part is one swipe away.
**Write the cover last.** Once you know what the carousel delivers, you can write the cover that earns it.
---
## Platform-Specific Rules
The body structure (cover → context → body → CTA) is universal. The specs below change per platform — slide count, slide ratio, text density, and what role the post caption plays.
### LinkedIn
- **Format:** PDF document upload (the "document post") rendered as a swipeable carousel; or native multi-image post
- **Slide count:** 7-12; sweet spot is 9-10
- **Slide ratio:** 1:1 (1080x1080) or vertical 4:5 (1080x1350); vertical takes more screen real estate in feed
- **Text density:** can carry more text per slide than Instagram — LinkedIn readers expect depth
- **Post caption** (text below the carousel): hook + 1-2 paRelated in Ads & Marketing
ads
IncludedMulti-platform paid advertising audit and optimization skill. Analyzes Google, Meta, YouTube, LinkedIn, TikTok, Microsoft, and Apple Ads. 250+ checks with scoring, parallel agents, industry templates, and AI creative generation.
banana
IncludedAI image generation Creative Director powered by Google Gemini Nano Banana models. Use this skill for ANY request involving image creation, editing, visual asset production, or creative direction. Triggers on: generate an image, create a photo, edit this picture, design a logo, make a banner, visual for my anything, and all /banana commands. Handles text-to-image, image editing, multi-turn creative sessions, batch workflows, and brand presets.
rpg-migration-analyzer
IncludedAnalyzes legacy RPG (Report Program Generator) programs from AS/400 and IBM i systems for migration to modern Java applications. Extracts business logic from RPG III/IV/ILE source code, identifies data structures (D-specs), file operations (F-specs), program dependencies (CALLB/CALLP), and converts RPG constructs to Java equivalents. Generates migration reports, complexity estimates, and Java implementation strategies with POJO classes, JPA entities, and service methods. Use when modernizing AS/400 or IBM i legacy systems, analyzing RPG source files (.rpg, .rpgle, .RPGLE), converting RPG to Java, mapping data specifications to Java classes, planning legacy system migration, or when user mentions RPG analysis, Report Program Generator, RPG III/IV/ILE, AS/400 modernization, IBM i migration, packed decimal conversion, or mainframe application rewrite.
brand-library-architect
IncludedBuild a complete brand library for a product — visual asset render pipeline, brand documentation set (BRAND, COPY, MANIFESTO, BIOS, FAQ, GLOSSARY, TONE, PRICING), open-source convention files (README, CONTRIBUTING, SECURITY, CODE_OF_CONDUCT), and a self-contained press kit. This skill should be used when the user asks to "build a brand library / brand kit / press kit / brand assets" for a product, "set up a brand library workflow," "create a positioning manifesto plus visual identity," or any combination of brand documentation + visual asset pipeline. Apply phase-by-phase or run end-to-end. Templates are product-agnostic and use {{TOKEN}} placeholders the skill prompts the user to fill.
writing-tech-post
IncludedAuthors engineering blog posts end-to-end: launch deep-dives, incident postmortems, architecture migrations, performance case studies, tutorials, AI/agent system writeups, security disclosures, and research-to-product translations. Picks the correct archetype, plans the abstraction ladder, enforces an evidence cadence (diagrams, benchmarks, profiles, traces, code, ablations), tunes voice against publisher house styles (Datadog, Vercel, GitHub, AWS, Meta, Cloudflare, Jane Street), and runs a pre-publish gate for narrative momentum and disclosure ethics. Use when drafting a new engineering post, restructuring a draft that feels flat, deciding which evidence form belongs where, validating that depth and product context are balanced, or preparing a postmortem, migration, or performance narrative for external publication. Do not use for API reference documentation, README authoring, marketing copy, release notes, generic SEO content, ghost-written executive thought leadership, or non-engineering long-form essays.
blog-google
IncludedGoogle API integration for blog performance: PageSpeed Insights, CrUX Core Web Vitals with 25-week history, Search Console performance, URL Inspection, Indexing API, GA4 organic traffic, NLP entity analysis for E-E-A-T, YouTube video search for embedding, and Google Ads Keyword Planner. Progressive feature availability based on credential tier (API key, OAuth/service account, GA4, Ads). Shares config with claude-seo at ~/.config/claude-seo/google-api.json. Use when user says "google data", "page speed", "core web vitals", "search console", "indexation", "GA4", "keyword research", "nlp entities", "blog performance", "youtube search", "google api setup".