Slide Deck Generator
Transform content into professional slide deck images.
Usage
/sgc-any2deck path/to/content.md
/sgc-any2deck path/to/content.md --style sketch-notes
/sgc-any2deck path/to/content.md --audience executives
/sgc-any2deck path/to/content.md --lang zh
/sgc-any2deck path/to/content.md --slides 10
/sgc-any2deck path/to/content.md --outline-only
/sgc-any2deck # Then paste content
Script Directory
Agent Execution Instructions:
- Determine this SKILL.md file's directory path as
SKILL_DIR
- Script path =
${SKILL_DIR}/scripts/<script-name>
| Script |
Purpose |
scripts/merge-to-pptx.ts |
Merge slides into PowerPoint |
scripts/merge-to-pdf.ts |
Merge slides into PDF |
scripts/apply-branding.py |
Composite logo(s)/QR onto slides — dual logo, tight-crop, JPG white→alpha (opt-in) |
Options
| Option |
Description |
--style <name> |
Visual style: preset name, custom, or custom style name |
--audience <type> |
Target: beginners, intermediate, experts, executives, general |
--lang <code> |
Output language (en, zh, ja, etc.) |
--slides <number> |
Target slide count (8-25 recommended, max 30) |
--outline-only |
Generate outline only, skip image generation |
--prompts-only |
Generate outline + prompts, skip images |
--images-only |
Generate images from existing prompts directory |
--regenerate <N> |
Regenerate specific slide(s): --regenerate 3 or --regenerate 2,5,8 |
--logo <path> |
Primary brand logo (top-right, skips cover/back-cover) |
--logo2 <path> |
Secondary logo (placed left of primary, optically aligned) |
--presentation |
Presentation mode: strips narration text, keeps only visual anchors |
Slide Count by Content Length:
| Content |
Slides |
| < 1000 words |
5-10 |
| 1000-3000 words |
10-18 |
| 3000-5000 words |
15-25 |
| > 5000 words |
20-30 (consider splitting) |
Style System
Presets
| 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 |
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 |
Style Dimensions
| Dimension |
Options |
Description |
| Texture |
clean, grid, organic, pixel, paper |
Visual texture and background treatment |
| Mood |
professional, warm, cool, vibrant, dark, neutral |
Color temperature and palette style |
| Typography |
geometric, humanist, handwritten, editorial, technical |
Headline and body text styling |
| Density |
minimal, balanced, dense |
Information density per slide |
Full specs: references/dimensions/*.md
Auto Style Selection
| Content Signals |
Preset |
| tutorial, learn, education, guide, beginner |
sketch-notes |
| 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 |
| Default |
blueprint |
Design Philosophy
Decks designed for reading and sharing, not live presentation:
- Each slide self-explanatory without verbal commentary
- Logical flow when scrolling
- All necessary context within each slide
- Optimized for social media sharing
See references/design-guidelines.md for:
- Audience-specific principles
- Visual hierarchy
- Content density guidelines
- Color and typography selection
- Font recommendations
See references/layouts.md for layout options.
File Management
Output Directory
slide-deck/{topic-slug}/
├── source-{slug}.{ext}
├── outline.md
├── prompts/
│ └── 01-slide-cover.md, 02-slide-{slug}.md, ...
├── 01-slide-cover.png, 02-slide-{slug}.png, ...
├── {topic-slug}.pptx
└── {topic-slug}.pdf
Slug: Extract topic (2-4 words, kebab-case). Example: "Introduction to Machine Learning" → intro-machine-learning
Conflict Handling: See Step 1.3 for existing content detection and user options.
Language Handling
Detection Priority:
--lang flag (explicit)
- EXTEND.md
language setting
- User's conversation language (input language)
- Source content language
Rule: ALL responses use user's preferred language:
- Questions and confirmations
- Progress reports
- Error messages
- Completion summaries
Technical terms (style names, file paths, code) remain in English.
Workflow
For the full step-by-step workflow, use references/workflow.md. Keep the main
flow in this order:
- Setup & analyze: load
.sgc-skills/sgc-any2deck/EXTEND.md when present, save source content, analyze style signals, detect language, choose slide count, and check for existing slide-deck/{topic-slug} output before continuing.
- Confirm: use
AskUserQuestion for style, audience, slide count, outline review, and prompt review. If custom dimensions are selected, collect texture, mood, typography, and density.
- Generate outline: read the selected preset from
references/styles/ or combine dimension docs from references/dimensions/, then write outline.md using references/outline-template.md.
- Review outline when requested, then generate per-slide prompts under
prompts/ using references/base-prompt.md and references/layouts.md.
- Review prompts when requested, generate slide images, optionally apply branding with
scripts/apply-branding.py, then merge PPTX/PDF with the TypeScript scripts.
- Report the output directory, generated slide count, PPTX/PDF paths, style, audience, language, and any partial failures.
Partial workflows (--outline-only, --prompts-only, --images-only,
--regenerate) and slide modification procedures are documented in
references/workflow.md.
References
| File |
Content |
references/analysis-framework.md |
Content analysis for presentations |
references/outline-template.md |
Outline structure and format |
references/modification-guide.md |
Edit, add, delete slide workflows |
references/content-rules.md |
Content and style guidelines |
references/design-guidelines.md |
Audience, typography, colors, visual elements |
references/layouts.md |
Layout options and selection tips |
references/base-prompt.md |
Base prompt for image generation |
references/dimensions/*.md |
Dimension specifications (texture, mood, typography, density) |
references/dimensions/presets.md |
Preset → dimension mapping |
references/styles/<style>.md |
Full style specifications (legacy) |
references/config/preferences-schema.md |
EXTEND.md structure |
Notes
- Image generation: 10-30 seconds per slide
- Auto-retry once on generation failure
- Use stylized alternatives for sensitive public figures
- Maintain style consistency via session ID
- Step 2 confirmation required - do not skip (style, audience, slides, outline review, prompt review)
- Step 4 conditional - only if user requested outline review in Step 2
- Step 6 conditional - only if user requested prompt review in Step 2
Extension Support
Custom configurations via EXTEND.md. See Step 1.1 for paths and supported options.
1---2name: sgc-any2deck3description: Generate professional slide deck images from content (Markdown, text, URLs). Creates outlines with style instructions, then generates individual slide images. Supports 16 visual styles, CJK/Latin mixed text, branding overlays, and PPTX/PDF export. Use when the user asks to "create slides", "make a presentation", "generate deck", "slide deck", "PPT", "做PPT", "生成幻灯片", "制作演示文稿", or wants to turn content into a visual slide deck.4license: MIT5---67# Slide Deck Generator89Transform content into professional slide deck images.1011## Usage1213```bash14/sgc-any2deck path/to/content.md15/sgc-any2deck path/to/content.md --style sketch-notes16/sgc-any2deck path/to/content.md --audience executives17/sgc-any2deck path/to/content.md --lang zh18/sgc-any2deck path/to/content.md --slides 1019/sgc-any2deck path/to/content.md --outline-only20/sgc-any2deck # Then paste content21```2223## Script Directory2425**Agent Execution Instructions**:261. Determine this SKILL.md file's directory path as `SKILL_DIR`272. Script path = `${SKILL_DIR}/scripts/<script-name>`2829| Script | Purpose |30|--------|---------|31| `scripts/merge-to-pptx.ts` | Merge slides into PowerPoint |32| `scripts/merge-to-pdf.ts` | Merge slides into PDF |33| `scripts/apply-branding.py` | Composite logo(s)/QR onto slides — dual logo, tight-crop, JPG white→alpha (opt-in) |3435## Options3637| Option | Description |38|--------|-------------|39| `--style <name>` | Visual style: preset name, `custom`, or custom style name |40| `--audience <type>` | Target: beginners, intermediate, experts, executives, general |41| `--lang <code>` | Output language (en, zh, ja, etc.) |42| `--slides <number>` | Target slide count (8-25 recommended, max 30) |43| `--outline-only` | Generate outline only, skip image generation |44| `--prompts-only` | Generate outline + prompts, skip images |45| `--images-only` | Generate images from existing prompts directory |46| `--regenerate <N>` | Regenerate specific slide(s): `--regenerate 3` or `--regenerate 2,5,8` |47| `--logo <path>` | Primary brand logo (top-right, skips cover/back-cover) |48| `--logo2 <path>` | Secondary logo (placed left of primary, optically aligned) |49| `--presentation` | Presentation mode: strips narration text, keeps only visual anchors |5051**Slide Count by Content Length**:52| Content | Slides |53|---------|--------|54| < 1000 words | 5-10 |55| 1000-3000 words | 10-18 |56| 3000-5000 words | 15-25 |57| > 5000 words | 20-30 (consider splitting) |5859## Style System6061### Presets6263| Preset | Dimensions | Best For |64|--------|------------|----------|65| `blueprint` (Default) | grid + cool + technical + balanced | Architecture, system design |66| `chalkboard` | organic + warm + handwritten + balanced | Education, tutorials |67| `corporate` | clean + professional + geometric + balanced | Investor decks, proposals |68| `minimal` | clean + neutral + geometric + minimal | Executive briefings |69| `sketch-notes` | organic + warm + handwritten + balanced | Educational, tutorials |70| `watercolor` | organic + warm + humanist + minimal | Lifestyle, wellness |71| `dark-atmospheric` | clean + dark + editorial + balanced | Entertainment, gaming |72| `notion` | clean + neutral + geometric + dense | Product demos, SaaS |73| `bold-editorial` | clean + vibrant + editorial + balanced | Product launches, keynotes |74| `editorial-infographic` | clean + cool + editorial + dense | Tech explainers, research |75| `fantasy-animation` | organic + vibrant + handwritten + minimal | Educational storytelling |76| `intuition-machine` | clean + cool + technical + dense | Technical docs, academic |77| `pixel-art` | pixel + vibrant + technical + balanced | Gaming, developer talks |78| `scientific` | clean + cool + technical + dense | Biology, chemistry, medical |79| `vector-illustration` | clean + vibrant + humanist + balanced | Creative, children's content |80| `vintage` | paper + warm + editorial + balanced | Historical, heritage |8182### Style Dimensions8384| Dimension | Options | Description |85|-----------|---------|-------------|86| **Texture** | clean, grid, organic, pixel, paper | Visual texture and background treatment |87| **Mood** | professional, warm, cool, vibrant, dark, neutral | Color temperature and palette style |88| **Typography** | geometric, humanist, handwritten, editorial, technical | Headline and body text styling |89| **Density** | minimal, balanced, dense | Information density per slide |9091Full specs: `references/dimensions/*.md`9293### Auto Style Selection9495| Content Signals | Preset |96|-----------------|--------|97| tutorial, learn, education, guide, beginner | `sketch-notes` |98| classroom, teaching, school, chalkboard | `chalkboard` |99| architecture, system, data, analysis, technical | `blueprint` |100| creative, children, kids, cute | `vector-illustration` |101| briefing, academic, research, bilingual | `intuition-machine` |102| executive, minimal, clean, simple | `minimal` |103| saas, product, dashboard, metrics | `notion` |104| investor, quarterly, business, corporate | `corporate` |105| launch, marketing, keynote, magazine | `bold-editorial` |106| entertainment, music, gaming, atmospheric | `dark-atmospheric` |107| explainer, journalism, science communication | `editorial-infographic` |108| story, fantasy, animation, magical | `fantasy-animation` |109| gaming, retro, pixel, developer | `pixel-art` |110| biology, chemistry, medical, scientific | `scientific` |111| history, heritage, vintage, expedition | `vintage` |112| lifestyle, wellness, travel, artistic | `watercolor` |113| Default | `blueprint` |114115## Design Philosophy116117Decks designed for **reading and sharing**, not live presentation:118- Each slide self-explanatory without verbal commentary119- Logical flow when scrolling120- All necessary context within each slide121- Optimized for social media sharing122123See `references/design-guidelines.md` for:124- Audience-specific principles125- Visual hierarchy126- Content density guidelines127- Color and typography selection128- Font recommendations129130See `references/layouts.md` for layout options.131132## File Management133134### Output Directory135136```137slide-deck/{topic-slug}/138├── source-{slug}.{ext}139├── outline.md140├── prompts/141│ └── 01-slide-cover.md, 02-slide-{slug}.md, ...142├── 01-slide-cover.png, 02-slide-{slug}.png, ...143├── {topic-slug}.pptx144└── {topic-slug}.pdf145```146147**Slug**: Extract topic (2-4 words, kebab-case). Example: "Introduction to Machine Learning" → `intro-machine-learning`148149**Conflict Handling**: See Step 1.3 for existing content detection and user options.150151## Language Handling152153**Detection Priority**:1541. `--lang` flag (explicit)1552. EXTEND.md `language` setting1563. User's conversation language (input language)1574. Source content language158159**Rule**: ALL responses use user's preferred language:160- Questions and confirmations161- Progress reports162- Error messages163- Completion summaries164165Technical terms (style names, file paths, code) remain in English.166167## Workflow168169For the full step-by-step workflow, use `references/workflow.md`. Keep the main170flow in this order:1711721. Setup & analyze: load `.sgc-skills/sgc-any2deck/EXTEND.md` when present, save source content, analyze style signals, detect language, choose slide count, and check for existing `slide-deck/{topic-slug}` output before continuing.1732. Confirm: use `AskUserQuestion` for style, audience, slide count, outline review, and prompt review. If custom dimensions are selected, collect texture, mood, typography, and density.1743. Generate outline: read the selected preset from `references/styles/` or combine dimension docs from `references/dimensions/`, then write `outline.md` using `references/outline-template.md`.1754. Review outline when requested, then generate per-slide prompts under `prompts/` using `references/base-prompt.md` and `references/layouts.md`.1765. Review prompts when requested, generate slide images, optionally apply branding with `scripts/apply-branding.py`, then merge PPTX/PDF with the TypeScript scripts.1776. Report the output directory, generated slide count, PPTX/PDF paths, style, audience, language, and any partial failures.178179Partial workflows (`--outline-only`, `--prompts-only`, `--images-only`,180`--regenerate`) and slide modification procedures are documented in181`references/workflow.md`.182183## References184185| File | Content |186|------|---------|187| `references/analysis-framework.md` | Content analysis for presentations |188| `references/outline-template.md` | Outline structure and format |189| `references/modification-guide.md` | Edit, add, delete slide workflows |190| `references/content-rules.md` | Content and style guidelines |191| `references/design-guidelines.md` | Audience, typography, colors, visual elements |192| `references/layouts.md` | Layout options and selection tips |193| `references/base-prompt.md` | Base prompt for image generation |194| `references/dimensions/*.md` | Dimension specifications (texture, mood, typography, density) |195| `references/dimensions/presets.md` | Preset → dimension mapping |196| `references/styles/<style>.md` | Full style specifications (legacy) |197| `references/config/preferences-schema.md` | EXTEND.md structure |198199## Notes200201- Image generation: 10-30 seconds per slide202- Auto-retry once on generation failure203- Use stylized alternatives for sensitive public figures204- Maintain style consistency via session ID205- **Step 2 confirmation required** - do not skip (style, audience, slides, outline review, prompt review)206- **Step 4 conditional** - only if user requested outline review in Step 2207- **Step 6 conditional** - only if user requested prompt review in Step 2208209## Extension Support210211Custom configurations via EXTEND.md. See **Step 1.1** for paths and supported options.