Image-Based PPT Deck Generator
ningzimu/codex-ppt-skill
Builds visually unified PowerPoint decks from articles, reports, papers, notes or outlines, with every slide generated as a full 16:9 image and assembled into a .pptx.
Turns source content into a deck of slide images: it writes an outline with style instructions, then renders each slide as its own image.
$ npx skills add JimLiu/baoyu-skills --skill baoyu-slide-deck -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install JimLiu/baoyu-skills baoyu-slide-deck --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/JimLiu/baoyu-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/baoyu-slide-deck .claude/skills/baoyu-slide-deck && 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 "baoyu-slide-deck" agent skill from https://github.com/JimLiu/baoyu-skills/tree/main/skills/baoyu-slide-deck into .claude/skills/baoyu-slide-deck/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "baoyu-slide-deck", 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/JimLiu/baoyu-skills/tree/main/skills/baoyu-slide-deckType 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 JimLiu/baoyu-skills --skill baoyu-slide-deck -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install JimLiu/baoyu-skills baoyu-slide-deck --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/JimLiu/baoyu-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/baoyu-slide-deck .agents/skills/baoyu-slide-deck && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "baoyu-slide-deck" agent skill from https://github.com/JimLiu/baoyu-skills/tree/main/skills/baoyu-slide-deck into .agents/skills/baoyu-slide-deck/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "baoyu-slide-deck", 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 JimLiu/baoyu-skills --skill baoyu-slide-deck -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install JimLiu/baoyu-skills baoyu-slide-deck --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/JimLiu/baoyu-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/baoyu-slide-deck .cursor/skills/baoyu-slide-deck && 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 "baoyu-slide-deck" agent skill from https://github.com/JimLiu/baoyu-skills/tree/main/skills/baoyu-slide-deck into .cursor/skills/baoyu-slide-deck/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "baoyu-slide-deck", 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/JimLiu/baoyu-skills.git --path skills/baoyu-slide-deck--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 JimLiu/baoyu-skills --skill baoyu-slide-deck -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install JimLiu/baoyu-skills baoyu-slide-deck --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/JimLiu/baoyu-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/baoyu-slide-deck .gemini/skills/baoyu-slide-deck && 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 "baoyu-slide-deck" agent skill from https://github.com/JimLiu/baoyu-skills/tree/main/skills/baoyu-slide-deck into .gemini/skills/baoyu-slide-deck/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "baoyu-slide-deck", 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 JimLiu/baoyu-skills baoyu-slide-deckInstalls 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 JimLiu/baoyu-skills --skill baoyu-slide-deck -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/JimLiu/baoyu-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/baoyu-slide-deck .github/skills/baoyu-slide-deck && 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 "baoyu-slide-deck" agent skill from https://github.com/JimLiu/baoyu-skills/tree/main/skills/baoyu-slide-deck into .github/skills/baoyu-slide-deck/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "baoyu-slide-deck", 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 JimLiu/baoyu-skills --skill baoyu-slide-deck -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install JimLiu/baoyu-skills baoyu-slide-deck --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/JimLiu/baoyu-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/baoyu-slide-deck .opencode/skills/baoyu-slide-deck && 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 "baoyu-slide-deck" agent skill from https://github.com/JimLiu/baoyu-skills/tree/main/skills/baoyu-slide-deck into .opencode/skills/baoyu-slide-deck/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "baoyu-slide-deck", 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.
baoyu-slide-deckTurns source content into a deck of slide images: it writes an outline with style instructions, then renders each slide as its own image.
Given an article, notes or any other content, the agent analyzes it, drafts an outline with style instructions, and then generates one image per slide from a saved prompt file. The decks are made to be read and shared rather than presented live, so each slide has to make sense alone and the sequence scrolls logically. That assumption drives the layout and density choices throughout the skill.
When it needs a decision from you, the agent uses whatever question tool the runtime provides and falls back to a numbered plain-text list if there is none. For rendering it chooses an image backend in order: one you name in the request, a preferred backend saved in EXTEND.md, then automatic selection, which favors the Codex imagegen skill when it is present and otherwise goes through baoyu-image-gen or a Codex CLI wrapper.
The references folder holds guides for analysis, content rules, layouts, design, outlines and later modifications, plus separate files for density, mood, presets, texture and typography, and a styles folder that includes a blueprint style.
9 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 1567581. 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.
Ships 1 file in scripts/, which the agent can run.
Shell commands in SKILL.md call:
codexnpxbrewFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npx, which can reach the network depending on how they are called.
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.
Slide Deck Generator loads about 5.8k tokens when it runs, and up to ~32k if it reads all its reference files. Until then it costs about 64 tokens; SKILL.md has 2,627 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); the scripts in this folder are not scanned.
The full file from JimLiu/baoyu-skills at commit 1567581, republished under its MIT licence (© JimLiu). 2,627 words, ~5,788 tokens.
.claude/skills/baoyu-slide-deck/SKILL.md (or your agent's skills folder). This skill also uses 35 other files; get the full folder from GitHub.Transform content into professional slide deck images. The deck is designed for reading and sharing (self-explanatory slides, logical scroll flow, social-media-friendly) rather than live presentation — that assumption drives every layout and density decision below.
When this skill prompts the user, follow this tool-selection rule (priority order):
AskUserQuestion, request_user_input, clarify, ask_user, or any equivalent.Concrete AskUserQuestion references below are examples — substitute the local equivalent in other runtimes.
When this skill needs to render an image, resolve the backend in this order:
EXTEND.md sets preferred_image_backend to a backend available right now, use it.auto, unset, or the pinned backend isn't available):imagegen) — first, inspect your available-skills / tool inventory. If a skill named imagegen is listed, you are running inside Codex and MUST use it: invoke via the Skill tool with skill: "imagegen", passing the saved prompt file's content (plus output path and aspect ratio per Codex imagegen's own args). Codex imagegen is the official raster backend in that runtime and outranks any non-native skill (e.g., baoyu-image-gen) unless the user has explicitly pinned a different preferred_image_backend.codex exec (codex-imagegen) — if the current runtime exposes no native imagegen skill but the codex CLI is on PATH with an active codex login, route through baoyu-image-gen --provider codex-cli (preferred), or — if baoyu-image-gen is unavailable — invoke the bundled wrapper directly. Details, parameters, and the runtime-discovery procedure live in references/codex-imagegen.md — load that file only when this branch is selected.GenerateImage) — if the runtime exposes a native GenerateImage tool, you are running inside Cursor and it outranks any non-native skill the same way Codex imagegen does. Two hard caveats: (a) it has no aspect-ratio parameter — state the target aspect ratio / dimensions explicitly in the prompt text passed as description; (b) it does not accept an output directory — it saves to a tool-managed location, so after generation copy/move the file to the skill's expected output path (e.g., outputs/.../NN-xxx.png). Reference images go in reference_image_paths.image_generate), use it the same way.baoyu-image-gen), use it.⛔ Never substitute SVG, HTML, canvas, or other code-based rendering for raster image generation. Codex imagegen's own description says it should be used "when the output should be a bitmap asset rather than repo-native code or vector." If you cannot resolve a raster backend via step 3, fall through to step 4 and ask the user — do not silently emit SVG, write inline <svg> markup, or produce HTML/CSS art as a substitute. This applies even if the article/section seems "diagram-like": the consumer skill calling this rule has already decided that a raster image is what it needs.
⛔ Never repair rendered text by painting over a generated bitmap. Do not use ImageMagick, Pillow, Canvas, SVG, HTML/CSS, OCR scripts, or any other programmatic overlay to cover, rewrite, erase, stroke, or replace slide titles, bullets, or any other text inside an already generated slide image. If text is wrong or unclear, regenerate from a corrected prompt, simplify the slide's on-image text, or ask the user which imperfect candidate to keep.
Setting preferred_image_backend: ask forces the step-3 prompt every run regardless of available backends. Users change the pinned backend via the ## Changing Preferences section below.
Prompt file requirement (hard): write each image's full, final prompt to a standalone file under prompts/ (naming: NN-slide-[slug].md) BEFORE invoking any backend. The file is the reproducibility record and lets you switch backends without regenerating prompts.
Concrete tool names (imagegen, GenerateImage, image_generate, baoyu-image-gen) above are examples — substitute the local equivalents under the same rule.
After every prompt file for the current generation group has been saved and verified, generate slide images in batches by default.
Priority order:
generation_batch_size slide images at a time. Default: 4. An explicit user request in the current message, such as --batch-size 4 or "并行4张一起生成", overrides EXTEND.md.Rules:
Default behavior: confirm before generation.
EXTEND.md defaults as recommendation inputs only. None of them authorizes skipping confirmation.Respond in the user's language across questions, progress reports, error messages, and the completion summary. Keep technical tokens (style names, file paths, code) in English.
{baseDir} = this SKILL.md's directory. Resolve ${BUN_X}: prefer bun; else npx -y bun; else suggest brew install oven-sh/bun/bun.
| Script | Purpose |
|---|---|
scripts/merge-to-pptx.ts | Merge slides into PowerPoint |
scripts/merge-to-pdf.ts | Merge slides into PDF |
| Option | Description |
|---|---|
--style <name> | Preset (see Presets below), custom, or custom style name |
--audience <type> | beginners / intermediate / experts / executives / general |
--lang <code> | Output language (en, zh, ja, ...) |
--slides <N> | Target slide count (8-25 recommended, max 30) |
--ref <files...> | Reference images applied per slide (style / palette / composition / subject) |
--batch-size <n> | Temporary slide image generation batch size for this run. Default: generation_batch_size from EXTEND.md, otherwise 4. Clamp to 1-8. |
--outline-only | Stop after outline |
--prompts-only | Stop after prompts (skip image generation) |
--images-only | Skip to Step 7; requires existing prompts/ |
--regenerate <N> | Regenerate specific slide(s): 3 or 2,5,8 |
17 presets covering technical / educational / lifestyle / editorial use cases. Every preset is a combination of four dimensions (texture / mood / typography / density). If the user picks "Custom dimensions" in Round 1, Round 2 of the confirmation asks one question per dimension — options and verbatim copy live in references/confirmation.md.
| Preset | Dimensions | Best For |
|---|---|---|
blueprint (Default) | grid + cool + technical + balanced | Architecture, system design |
chalkboard | organic + warm + handwritten + balanced | Education, tutorials |
corporate | clean + professional + geometric + balanced | Investor decks, proposals |
minimal | clean + neutral + geometric + minimal | Executive briefings |
sketch-notes | organic + warm + handwritten + balanced | Educational, tutorials |
hand-drawn-edu | organic + macaron + handwritten + balanced | Educational diagrams, process explainers |
watercolor | organic + warm + humanist + minimal | Lifestyle, wellness |
dark-atmospheric | clean + dark + editorial + balanced | Entertainment, gaming |
notion | clean + neutral + geometric + dense | Product demos, SaaS |
bold-editorial | clean + vibrant + editorial + balanced | Product launches, keynotes |
editorial-infographic | clean + cool + editorial + dense | Tech explainers, research |
fantasy-animation | organic + vibrant + handwritten + minimal | Educational storytelling |
intuition-machine | clean + cool + technical + dense | Technical docs, academic |
pixel-art | pixel + vibrant + technical + balanced | Gaming, developer talks |
scientific | clean + cool + technical + dense | Biology, chemistry, medical |
vector-illustration | clean + vibrant + humanist + balanced | Creative, children's content |
vintage | paper + warm + editorial + balanced | Historical, heritage |
Per-preset specs: references/styles/<preset>.md. Preset → dimension mapping: references/dimensions/presets.md.
| Dimension | Options | Purpose |
|---|---|---|
| Texture | clean, grid, organic, pixel, paper | Background treatment |
| Mood | professional, warm, cool, vibrant, dark, neutral, macaron | Color temperature |
| Typography | geometric, humanist, handwritten, editorial, technical | Headline/body styling |
| Density | minimal, balanced, dense | Information per slide |
Full per-dimension specs: references/dimensions/*.md.
Match content signals to a preset. Pick the first row whose signal keywords appear in the source; fall back to blueprint if nothing matches.
| Signals in source | Preset |
|---|---|
| tutorial, learn, education, guide, beginner | sketch-notes |
| hand-drawn, infographic, diagram, process, onboarding | hand-drawn-edu |
| classroom, teaching, school, chalkboard | chalkboard |
| architecture, system, data, analysis, technical | blueprint |
| creative, children, kids, cute | vector-illustration |
| briefing, academic, research, bilingual | intuition-machine |
| executive, minimal, clean, simple | minimal |
| saas, product, dashboard, metrics | notion |
| investor, quarterly, business, corporate | corporate |
| launch, marketing, keynote, magazine | bold-editorial |
| entertainment, music, gaming, atmospheric | dark-atmospheric |
| explainer, journalism, science communication | editorial-infographic |
| story, fantasy, animation, magical | fantasy-animation |
| gaming, retro, pixel, developer | pixel-art |
| biology, chemistry, medical, scientific | scientific |
| history, heritage, vintage, expedition | vintage |
| lifestyle, wellness, travel, artistic | watercolor |
| Source length | Recommended slides |
|---|---|
| < 1000 words | 5-10 |
| 1000-3000 words | 10-18 |
| 3000-5000 words | 15-25 |
| > 5000 words | 20-30 (consider splitting) |
Users may supply reference images to guide style, palette, layout, or subject.
Intake: Accept via --ref <files...> or when the user provides file paths / pastes images in conversation.
{slide-deck-dir}/refs/NN-ref-{slug}.{ext}Usage modes (per reference):
| Usage | Effect |
|---|---|
direct | Pass the file to the backend as a reference image for each slide |
style | Extract style traits (line treatment, texture, mood) and append to every slide's prompt body |
palette | Extract hex colors and append to every slide's prompt body |
Record refs in each slide's prompt frontmatter:
references:
- ref_id: 01
filename: 01-ref-brand.png
usage: directAt generation time, verify files exist. If usage: direct and the backend accepts refs (e.g., baoyu-image-gen --ref), pass the file on every slide. Otherwise embed extracted style/palette traits in the prompt text.
slide-deck/{topic-slug}/
├── source-{slug}.{ext}
├── outline.md
├── prompts/NN-slide-{slug}.md
├── NN-slide-{slug}.png
├── {topic-slug}.pptx
└── {topic-slug}.pdfSlug: 2-4 words, kebab-case, extracted from topic. "Introduction to Machine Learning" → intro-machine-learning.
Backup rule (applies across steps): if a file about to be written already exists, rename it to <name>-backup-YYYYMMDD-HHMMSS.<ext> before writing the new one. This protects user edits and enables rollback.
Copy this checklist and check off items as you complete them:
- [ ] Step 1: Setup & analyze
- [ ] Step 2: Confirmation ⚠️ REQUIRED (Round 1; Round 2 only if "Custom dimensions")
- [ ] Step 3: Generate outline
- [ ] Step 4: Review outline (conditional)
- [ ] Step 5: Generate prompts
- [ ] Step 6: Review prompts (conditional)
- [ ] Step 7: Generate images
- [ ] Step 8: Merge to PPTX/PDF
- [ ] Step 9: Output summary1.1 Load EXTEND.md — check these paths in order; first hit wins:
| Path | Scope |
|---|---|
.baoyu-skills/baoyu-slide-deck/EXTEND.md | Project |
${XDG_CONFIG_HOME:-$HOME/.config}/baoyu-skills/baoyu-slide-deck/EXTEND.md | XDG |
$HOME/.baoyu-skills/baoyu-slide-deck/EXTEND.md | User home |
If found, read, parse, and print a summary (style / audience / language / review / generation batch size). If not, proceed with defaults — first-time setup is not blocking for this skill. Schema: references/config/preferences-schema.md.
1.2 Analyze content — follow references/analysis-framework.md: classify content, detect language, note signals for style selection, estimate slide count from length (see the Slide Count Heuristic in Style System above), generate topic slug. Save source as source.md (honor backup rule if one exists).
1.3 Check existing output ⚠️ REQUIRED before Step 2. If slide-deck/{topic-slug}/ exists, ask how to proceed — four options (regenerate outline / regenerate images / backup and regenerate / exit), verbatim copy in references/confirmation.md.
Save findings to analysis.md: topic, audience, signals, recommended style and slide count, language detection.
Hard gate: this step is mandatory per the Confirmation Policy — Steps 3+ cannot start until the user confirms here (or explicitly opts out with "直接生成" / equivalent wording in the current request).
Round 1 (always) — batch five questions in one AskUserQuestion call: style, audience, slide count, review-outline?, review-prompts?. Verbatim options in references/confirmation.md.
Summary displayed before the questions:
Round 2 (only if "Custom dimensions" in Round 1) — batch four questions: texture, mood, typography, density. Verbatim options in references/confirmation.md. The four answers replace the preset.
After confirmation: update analysis.md with final choices and store skip_outline_review / skip_prompt_review flags from Q4/Q5.
Resolve style: preset → references/styles/{preset}.md; custom dimensions → combine files in references/dimensions/. Build STYLE_INSTRUCTIONS from the resolved style, apply confirmed audience + language + slide count, follow references/outline-template.md, and save as outline.md.
Stop here if --outline-only. Skip Step 4 if skip_outline_review.
Display a slide-by-slide table (# | Title | Type | Layout) along with total count and resolved style. Ask: proceed / edit outline first / regenerate — verbatim in references/confirmation.md.
On "Edit outline first", tell the user to edit outline.md and ask again when ready. On "Regenerate outline", return to Step 3.
For each slide in outline:
references/base-prompt.mdSTYLE_INSTRUCTIONS from the outline (don't re-read the style file)Layout: is specified, include guidance from references/layouts.mdprompts/NN-slide-{slug}.md (backup rule applies)Stop here if --prompts-only. Skip Step 6 if skip_prompt_review.
Display the prompts index (# | Filename | Slide Title) and ask: proceed / edit prompts first / regenerate — verbatim in references/confirmation.md. Branches mirror Step 4.
codex-imagegen invocation: when the rule resolves to codex-imagegen, see references/codex-imagegen.md for the invocation contract (preferred baoyu-image-gen --provider codex-cli path, runtime wrapper discovery, parameter notes, stdout schema, batch semantics — n=1 per call so slide batches must dispatch one wrapper call per slide).prompts/NN-slide-{slug}.md exists (hard requirement; prompt files are the reproducibility record regardless of backend).slides-{topic-slug}-{timestamp} — pass to the backend only if it supports sessions.## Batch Generation Policy: backend native batch first, runtime parallel tool calls second, sequential only as fallback. Backup rule applies to PNG files before dispatch. Report progress as Generated X/N. Retry only failed items once before reporting an error.--regenerate N jumps to this step for the named slides only. --images-only starts here with existing prompts.
${BUN_X} {baseDir}/scripts/merge-to-pptx.ts <slide-deck-dir>
${BUN_X} {baseDir}/scripts/merge-to-pdf.ts <slide-deck-dir>Slide Deck Complete!
Topic: [topic]
Style: [preset or "custom: texture+mood+typography+density"]
Location: [directory]
Slides: N
- 01-slide-cover.png
- ...
- NN-slide-back-cover.png
Outline: outline.md
PPTX: {topic-slug}.pptx
PDF: {topic-slug}.pdf| Action | How |
|---|---|
| Edit | Update prompts/NN-slide-{slug}.md first, then --regenerate N |
| Add | Create new prompt at position, generate image, renumber subsequent NN (slugs unchanged), update outline.md, re-merge |
| Delete | Remove PNG + prompt, renumber subsequent, update outline.md, re-merge |
Always update the prompt file before regenerating the image — this keeps the prompts directory as the source of truth and makes changes reproducible. Only NN changes on renumber; slugs stay stable so references remain valid.
Text correction policy:
See references/modification-guide.md for full details.
| File | Content |
|---|---|
references/confirmation.md | Verbatim AskUserQuestion option copy for every confirmation |
references/analysis-framework.md | Content analysis framework |
references/outline-template.md | Outline structure |
references/base-prompt.md | Base prompt body for image generation |
references/layouts.md | Layout options |
references/design-guidelines.md | Audience, typography, color selection |
references/content-rules.md | Content guidelines |
references/modification-guide.md | Edit/add/delete workflows |
references/styles/<preset>.md | Per-preset specifications |
references/dimensions/*.md | Per-dimension specifications |
references/config/preferences-schema.md | EXTEND.md schema |
EXTEND.md lives at the first matching path listed in Step 1.1. Two ways to change it:
references/config/preferences-schema.md.preferred_image_backend: auto — default; runtime-native tool wins, falls back to the only installed backend, asks only if multiple non-native are present.preferred_image_backend: codex-imagegen — pin to Codex's built-in.preferred_image_backend: baoyu-image-gen — pin to the baoyu-image-gen skill.preferred_image_backend: ask — confirm backend every run.generation_batch_size: 4 — default number of slide images to render concurrently when the backend/runtime supports batch or parallel generation.preferred_style: blueprint, preferred_audience: experts, language: zh.© JimLiu, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 35 other files (scripts, references) in skills/baoyu-slide-deck of JimLiu/baoyu-skills.
Open the folder on GitHubat commit 1567581
We found 6 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 5 other GitHub owners. This page covers the copy in JimLiu/baoyu-skills, which our catalogue first saw on October 7, 2026.
Slide Deck Generator 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 |
|---|---|---|---|---|---|---|
| Slide Deck Generator this skillJimLiu/baoyu-skills | 27k | 5 repos | ~5.8k | Automated safety check: Pass | MIT | |
| Image-Based PPT Deck Generatorningzimu/codex-ppt-skill | 6.6k | — | ~2.6k | Automated safety check: Notes | MIT | |
| SenseNova PPT Fallback ToolsOpenSenseNova/SenseNova-Skills | 5.7k | — | ~575 | Automated safety check: Notes | MIT | |
| SenseNova PPT Creative RendererOpenSenseNova/SenseNova-Skills | 5.7k | — | ~1.2k | Automated safety check: Pass | MIT | |
| Slide Deck Image GeneratorSpaceZephyr/design-buddy | 176 | — | ~6.5k | Automated safety check: Pass | None | |
| Nano BananaEvoScientist/EvoSkills | 478 | 2 repos | ~3.5k | Automated safety check: Pass | Apache-2.0 |
ningzimu/codex-ppt-skill
Builds visually unified PowerPoint decks from articles, reports, papers, notes or outlines, with every slide generated as a full 16:9 image and assembled into a .pptx.
OpenSenseNova/SenseNova-Skills
Fallback scripts for web search, image search and download, and image generation that PPT skills use only when the host agent lacks or fails its own tools.
OpenSenseNova/SenseNova-Skills
Turns an approved slide outline into a full-page image for every slide, one 16:9 PNG per page, and optionally packages the set into a PPTX.
SpaceZephyr/design-buddy
Turns written content into designed slide images from an outline, merges them into PPTX or PDF, and can borrow styles from a registry of brand design systems.
EvoScientist/EvoSkills
Generate professional presentation slides and high-quality illustrations using Gemini image generation API (Nano Banana 2), with interactive browser-based review and iterative editing.
humantonylee/future-slide
Persuasive GPT image deck-planning skill. An agent skill from humantonylee/future-slide.
JimLiu/baoyu-skills
Reformats plain text or Markdown articles with frontmatter, a title, a summary, headings, bold, lists and code blocks, and saves a separate formatted copy.
JimLiu/baoyu-skills
Saves tweets, threads and X Articles as Markdown files with YAML front matter, using an unofficial API that asks for your consent first.
JimLiu/baoyu-skills
Creates standalone dark-themed SVG diagrams, including architecture, flowchart, sequence, structural, mind map, timeline and state machine types.
JimLiu/baoyu-skills
Publishes articles and image-text posts to a WeChat Official Account through the API or Chrome CDP, converting markdown to WeChat-ready HTML with link citations.
JimLiu/baoyu-skills
Compresses images to WebP by default, or to PNG or JPEG, picking the best available tool on the machine and optionally processing whole folders.
JimLiu/baoyu-skills
Generates text and images through an unofficial, reverse-engineered Gemini Web API, supporting reference images and multi-turn conversations.
Categories
Turns source content into a deck of slide images: it writes an outline with style instructions, then renders each slide as its own image. Given an article, notes or any other content, the agent analyzes it, drafts an outline with style instructions, and then generates one image per slide from a saved prompt file. The decks are made to be read and shared rather than presented live, so each slide has to make sense alone and the sequence scrolls logically.
Slide Deck Generator fits situations like: turning an article or report into a set of shareable slide images; making a presentation deck from rough notes with a chosen visual style; producing a slide sequence that reads well on its own, without a speaker; revising a generated deck by changing style or density.
Run `npx skills add JimLiu/baoyu-skills --skill baoyu-slide-deck -a claude-code`. Or copy the skill folder (skills/baoyu-slide-deck in JimLiu/baoyu-skills) into .claude/skills/baoyu-slide-deck in your project. Claude Code loads it when a task matches its description.
Run `npx skills add JimLiu/baoyu-skills --skill baoyu-slide-deck -a codex`. Or copy the skill folder (skills/baoyu-slide-deck in JimLiu/baoyu-skills) into .agents/skills/baoyu-slide-deck 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 JimLiu/baoyu-skills --skill baoyu-slide-deck -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/baoyu-slide-deck, .gemini/skills/baoyu-slide-deck, .github/skills/baoyu-slide-deck and .opencode/skills/baoyu-slide-deck in your project.
Going by SKILL.md and its folder, Slide Deck Generator needs the command-line tools its instructions call (codex, npx and brew). Our summary lists: An image generation backend, such as the Codex `imagegen` skill or `baoyu-image-gen`.
SKILL.md contains no URLs. Its commands use npx, which can reach the network depending on how they are called. 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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Slide Deck Generator is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 5.8k tokens (SKILL.md is roughly 23k 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 26k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Slide Deck Generator: Image-Based PPT Deck Generator (ningzimu/codex-ppt-skill, 6.6k stars), SenseNova PPT Fallback Tools (OpenSenseNova/SenseNova-Skills, 5.7k stars), SenseNova PPT Creative Renderer (OpenSenseNova/SenseNova-Skills, 5.7k stars) and Slide Deck Image Generator (SpaceZephyr/design-buddy, 176 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
JimLiu (a GitHub user) maintains it in JimLiu/baoyu-skills, which has 26,507 GitHub stars. The repository holds 22 skills in this directory. The repository was last updated on September 10, 2026.
Source: JimLiu/baoyu-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.