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.
Generate a branded slide-by-slide LinkedIn carousel using Gemini.
$ npx skills add charlie947/social-media-skills --skill gemini-carousel -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install charlie947/social-media-skills gemini-carousel --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/charlie947/social-media-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/gemini-carousel .claude/skills/gemini-carousel && rm -rf skills-srcUse ~/.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/
Install the "gemini-carousel" agent skill from https://github.com/charlie947/social-media-skills/tree/main/skills/gemini-carousel into .claude/skills/gemini-carousel/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gemini-carousel", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/charlie947/social-media-skills/tree/main/skills/gemini-carouselType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add charlie947/social-media-skills --skill gemini-carousel -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install charlie947/social-media-skills gemini-carousel --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/charlie947/social-media-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/gemini-carousel .agents/skills/gemini-carousel && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "gemini-carousel" agent skill from https://github.com/charlie947/social-media-skills/tree/main/skills/gemini-carousel into .agents/skills/gemini-carousel/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gemini-carousel", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add charlie947/social-media-skills --skill gemini-carousel -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install charlie947/social-media-skills gemini-carousel --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/charlie947/social-media-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/gemini-carousel .cursor/skills/gemini-carousel && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "gemini-carousel" agent skill from https://github.com/charlie947/social-media-skills/tree/main/skills/gemini-carousel into .cursor/skills/gemini-carousel/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gemini-carousel", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/charlie947/social-media-skills.git --path skills/gemini-carousel--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add charlie947/social-media-skills --skill gemini-carousel -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install charlie947/social-media-skills gemini-carousel --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/charlie947/social-media-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/gemini-carousel .gemini/skills/gemini-carousel && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "gemini-carousel" agent skill from https://github.com/charlie947/social-media-skills/tree/main/skills/gemini-carousel into .gemini/skills/gemini-carousel/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gemini-carousel", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install charlie947/social-media-skills gemini-carouselInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add charlie947/social-media-skills --skill gemini-carousel -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/charlie947/social-media-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/gemini-carousel .github/skills/gemini-carousel && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "gemini-carousel" agent skill from https://github.com/charlie947/social-media-skills/tree/main/skills/gemini-carousel into .github/skills/gemini-carousel/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gemini-carousel", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add charlie947/social-media-skills --skill gemini-carousel -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install charlie947/social-media-skills gemini-carousel --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/charlie947/social-media-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/gemini-carousel .opencode/skills/gemini-carousel && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "gemini-carousel" agent skill from https://github.com/charlie947/social-media-skills/tree/main/skills/gemini-carousel into .opencode/skills/gemini-carousel/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "gemini-carousel", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
gemini-carouselGenerate a branded slide-by-slide LinkedIn carousel using Gemini.
Gemini Carousel is an agent skill from charlie947/social-media-skills. Generate a branded slide-by-slide LinkedIn carousel using Gemini. Takes source content, builds a design brief, waits for approval, then outputs per-slide image generation prompts. 1080x1350 vertical format. Use this skill whenever the user says "carousel", "build a carousel", "turn this into a carousel", "gemini carousel", or wants multi-slide LinkedIn content. Always includes an approval gate between brief and image generation.
Its SKILL.md is about 1.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Media & Creative, covering Infographics, Slides and decks and Image generation. It works with Google Gemini and LinkedIn. The licence is MIT.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 8cefb5b. It shows what the files ask for, not the result of running them.
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.
No scripts in the folder and no shell commands in SKILL.md (its code samples are json).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Gemini Carousel loads about 1.7k tokens when it runs. Until then it costs about 112 tokens; SKILL.md has 706 words of instructions outside code blocks.
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.
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); files beside SKILL.md are not scanned.
The full file from charlie947/social-media-skills at commit 8cefb5b, republished under its MIT licence (© charlie947). 706 words, ~1,684 tokens.
.claude/skills/gemini-carousel/SKILL.md (or your agent's skills folder).AskUserQuestion examples describe the questions, not a required API: use an available question tool within its limits, or ask in chat. Reuse answers and source material already supplied.about-me.md, voice.md and relevant brand files before personalised work. Confirm the intended author if files conflict or contain starter defaults. Ask for missing facts or run voice-builder; never inherit the maintainer's identity, accounts or private files.references/ relative to this skill folder. For an explicitly requested profile refresh, read and update the canonical about-me.md, voice.md or newsletter-voice.md in place, preserving unrelated user facts and rules. Consumers must reread those canonical files. Use a new filename only for new deliverables that would collide with unrelated existing files. Installation alone never starts an interview or writes files. Do not write persistent learnings unless requested.This skill's image prompts are prompt-ready, not generated or visually reviewed assets. Keep its named Gemini workflow unless the user requests another generator. A missing image service does not block writing a prompt. When images are supplied or generated, open and inspect each export at full size and feed size (about 360px wide, 320px for thumbnails). Check exact copy, dimensions, clipping, legibility, brand colours, font appearance, logos and reference fidelity. Fix and re-inspect failed exports. Record any unavailable export or inspection as pending. An image prompt or raster export is not an editable design file.
When this skill triggers, go straight to Step 1. Do not summarise.
Ask:
Paste the content you want in the carousel. A post, section of a newsletter, research notes, or a framework all work.
Wait for the content, then call AskUserQuestion:
[
{
"question": "Brand style?",
"header": "Style",
"multiSelect": false,
"options": [
{"label": "Pull from brand-kit.md", "description": "Use the colours and typography in my project brand file"},
{"label": "I will type brand colours", "description": "I will paste hex codes and font preferences"},
{"label": "Suggest for me", "description": "Pick a palette and typography based on the content"}
]
},
{
"question": "Number of slides?",
"header": "Slides",
"multiSelect": false,
"options": [
{"label": "6 slides", "description": "Concise, fast read"},
{"label": "8 slides", "description": "Standard carousel length"},
{"label": "10 slides", "description": "Deep-dive carousel"}
]
}
]Analyse the content and produce a slide-by-slide brief with:
For each slide include:
Tell the user:
Here is the design brief. Tell me what to change, or say "generate" when you are happy.
Wait for approval. Do not proceed until the user explicitly approves.
Once approved, output one Gemini image generation prompt per slide, each in its own code block, numbered clearly.
Every prompt follows this structure:
Act as an expert graphic designer. Create a LinkedIn carousel slide at 1080x1350 pixels (4:5 aspect ratio).
Brand style:
- Primary colour: [HEX]
- Secondary colour: [HEX]
- Accent colour: [HEX]
- Typography: [bold industrial headline font, clean geometric body font]
- Aesthetic: modern, authoritative, high contrast
Slide [N of M]: [slide purpose]
Content:
- Headline: "[headline text]"
- Body: "[body text]"
- Visual element: [specific visual suggestion]
Layout instructions:
- [Headline placement and size]
- [Body placement and size]
- [Visual placement]
- [Background treatment]
Constraints:
- Vertical 4:5 aspect ratio at exactly 1080x1350 pixels
- No watermarks, no logos unless specified above
- Maintain visual consistency with the other slides in the setTell the user:
Paste each prompt into a new Gemini chat with Create Image enabled and Nano Banana selected. Generate slides one at a time for maximum control over consistency.
After the per-slide prompts, offer:
Want a single combined prompt that generates the full carousel in one shot? Faster but less visual consistency. Say "combine" and I will rewrite.
© charlie947, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/gemini-carousel of charlie947/social-media-skills.
Open the folder on GitHubat commit 8cefb5b
Gemini Carousel 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Gemini Carousel this skillcharlie947/social-media-skills | 3.8k | — | ~1.7k | Automated safety check: Pass | MIT | |
| CarouselsTheCraigHewitt/skills | 159 | — | ~2.3k | Automated safety check: Pass | MIT | |
| Carousel Writersocial-media-skills/skills | 134 | — | ~1.6k | Automated safety check: Pass | MIT | |
| SEO Image GeneratorAgriciDaniel/claude-seo | 19k | 2 repos | ~2.1k | Automated safety check: Pass | MIT | |
| Tech Article Diagramwwwzhouhui/skills_collection | 283 | — | ~1.8k | Automated safety check: Pass | None | |
| Goose Graphics Create Formatgooseworks-ai/goose-skills | 1.2k | 1 repos | ~3.3k | Automated safety check: Pass | MIT |
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.
social-media-skills/skills
A skill your agent uses to write a carousel — a swipeable multi-slide post (Instagram carousel, LinkedIn document/PDF carousel, or TikTok photo carousel) — one of the highest-save, highest-dwell…
AgriciDaniel/claude-seo
Generates Open Graph previews, blog hero images, product photos and infographics for SEO use through Gemini image tools and the banana extension.
wwwzhouhui/skills_collection
为技术长文自动识别插图位置,并生成 16:9 概念图/流程图/对比图/架构图。支持七种风格:手绘网格笔记本风(notebook)、专业扁平信息图(infographic)、现代高级科技商务风(executive-tech)、温暖手绘卡片风(cozy-handdrawn)、技术简笔画风(tech-doodle)、卡通信息图风(cartoon-infographic)和白板手绘风(whiteboar…
gooseworks-ai/goose-skills
Creates a new graphics format spec (custom canvas dimensions + content rules) and publishes it to the Gooseworks library so any agent can render against it.
minhnv0807/ai-business-skills
A skill your agent uses when a multi-slide carousel is needed for Instagram, Facebook, or LinkedIn — a narrative arc with the hook on slide one, value through the middle, CTA on the last, headline…
charlie947/social-media-skills
Build newsletter writing instructions inside a Codex or Claude project.
charlie947/social-media-skills
Build a personalised voice profile inside a Codex or Claude project from a short interview plus 3 to 5 sample pieces of writing.
charlie947/social-media-skills
Generate 24 to 40 LinkedIn post ideas in a single table by pairing the user's content pillars with 8 proven content formats.
charlie947/social-media-skills
Generate 6 clickbait-style LinkedIn hook variations for any topic.
charlie947/social-media-skills
Surface the 20 most relevant stories in a niche from the last 7 days using available live research tools.
charlie947/social-media-skills
Write deadpan LinkedIn pinned comments AND matching image generation prompts in the user’s voice.
Works with
Categories
Generate a branded slide-by-slide LinkedIn carousel using Gemini. Gemini Carousel is an agent skill from charlie947/social-media-skills. Generate a branded slide-by-slide LinkedIn carousel using Gemini.
Gemini Carousel fits situations like: the user says carousel; build a carousel; turn this into a carousel; gemini carousel.
Run `npx skills add charlie947/social-media-skills --skill gemini-carousel -a claude-code`. Or copy the skill folder (skills/gemini-carousel in charlie947/social-media-skills) into .claude/skills/gemini-carousel in your project. Claude Code loads it when a task matches its description.
Run `npx skills add charlie947/social-media-skills --skill gemini-carousel -a codex`. Or copy the skill folder (skills/gemini-carousel in charlie947/social-media-skills) into .agents/skills/gemini-carousel in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add charlie947/social-media-skills --skill gemini-carousel -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/gemini-carousel, .gemini/skills/gemini-carousel, .github/skills/gemini-carousel and .opencode/skills/gemini-carousel in your project.
SKILL.md names no scripts, command-line tools or credentials: Gemini Carousel is instructions for the agent only.
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.
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. Review the folder before installing.
Gemini Carousel is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.7k tokens (SKILL.md is roughly 6.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Gemini Carousel: Carousels (TheCraigHewitt/skills, 159 stars), Carousel Writer (social-media-skills/skills, 134 stars), SEO Image Generator (AgriciDaniel/claude-seo, 19k stars) and Tech Article Diagram (wwwzhouhui/skills_collection, 283 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
charlie947 (a GitHub user) maintains it in charlie947/social-media-skills, which has 3,844 GitHub stars. The repository holds 15 skills in this directory. The repository was last updated on September 15, 2026.
Source: charlie947/social-media-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.