
Huashu Slides
- 722 installs
- 1.3k repo stars
- Updated April 21, 2026
- alchaincyf/huashu-skills
huashu-slides is an agent skill that converts markdown, specs, or agent output into clean presentation slide decks for developers who need ready-to-present visuals from existing written material.
About
huashu-slides is an alchaincyf/huashu-skills skill that instantly transforms markdown documents, technical specs, or prior agent output into polished slide decks suitable for presentations. Developers reach for huashu-slides when a written artifact already exists and needs deck formatting without manual copy-paste into slide tools. The skill targets engineers presenting architecture reviews, sprint demos, or stakeholder updates where source content lives in markdown or agent-generated text. It reduces friction between documentation and presentation deliverables. Limited public readme text is available beyond the stated markdown-to-slides conversion scope.
- Converts markdown and structured text into presentation slides
- Applies consistent visual themes from style samples
- Supports multiple output formats for different slide tools
- Preserves hierarchy and emphasis from source documents
- Reduces slide creation time from hours to minutes
Huashu Slides by the numbers
- 722 all-time installs (skills.sh)
- Ranked #326 of 1,901 Documentation skills by installs in the Skillselion catalog
- Security screen: LOW risk (skills.sh audit)
- Data as of Jul 28, 2026 (Skillselion catalog sync)
npx skills add https://github.com/alchaincyf/huashu-skills --skill huashu-slidesAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 722 |
|---|---|
| repo stars | ★ 1.3k |
| Security audit | 3 / 3 scanners passed |
| Last updated | April 21, 2026 |
| Repository | alchaincyf/huashu-skills ↗ |
How do you turn markdown into slide decks?
Instantly turn any markdown, spec, or agent output into clean, ready-to-present slide decks.
Who is it for?
Developers who already have markdown or spec text and need a presentation deck without rebuilding slides manually in Keynote or PowerPoint.
Skip if: Teams needing interactive web presentations, pixel-perfect brand design systems, or source material that is not yet written in markdown or spec form.
When should I use this skill?
A developer asks to turn markdown, a spec, or agent output into slides or a presentation deck.
What you get
A formatted slide deck generated from markdown, spec, or agent output ready for presentation.
- presentation slide deck
Files
AI Presentation Workflow
Create professional presentations: Content → Design → Build → Assembly → Polish.
Step 0: Choose Workflow Settings
At the start of every presentation task, ask the user TWO choices:
0-A. Collaboration Mode
| Mode | Description | Checkpoints |
|---|---|---|
| Full Auto | Minimal interaction. Confirm topic only, deliver final PPTX. | 1 checkpoint |
| Guided (recommended) | Confirm outline, pick design, preview before assembly. | 3 checkpoints |
| Collaborative | Review every slide, approve every illustration, full control. | Per-slide |
If the user doesn't specify, default to Guided mode.
0-B. Assembly Method
| Method | How it works | Best for |
|---|---|---|
| Editable HTML (Path A) | HTML slides + selective AI illustrations → html2pptx → editable PPTX | Need to edit text later, precise layout, corporate decks |
| Full AI Visual (Path B) | Every slide as a complete AI-generated image → create_slides.py → image PPTX | Maximum visual impact, artistic presentations, quick drafts |
Trade-offs:
| Path A: Editable HTML | Path B: Full AI Visual | |
|---|---|---|
| Text | Editable in PPT | Baked into image (not editable) |
| Visual quality | Good with illustrations | Excellent — cohesive design |
| Layout control | Pixel-precise | AI-interpreted |
| File size | Smaller (~5-25MB) | Larger (~30-80MB) |
| Chinese text | Perfect (font rendering) | Usually good (AI may occasionally misrender) |
| Speed | Faster (HTML creation) | Slower (image generation per slide) |
If the user doesn't specify, default to Path A (Editable HTML).
---
Step 1: Content Structuring
Turn raw material into a slide-by-slide outline.
Per slide, define:
- Title — a complete assertion sentence (not a topic word)
- Key points — 3-4 maximum
- Visual type — illustration / chart / diagram / icon / quote
- Path A: Illustration needed? — Yes/No. If yes, one-line description.
- Path B: Visual scene description — one paragraph describing the complete slide visual (layout + imagery + mood).
Assertion-Evidence rule:
| Bad title | Good title |
|---|---|
| Q3 Sales | Q3销售增长23%,新用户是主要驱动力 |
| Methodology | 我们通过双盲实验验证了这个结论 |
语言规则:slide内容一律用中文,仅保留必要的英文术语(人名、品牌名、技术专有名词)。 Section label(如 INSIGHT、TAKEAWAY)可用英文作为设计元素。
✅ Checkpoint 1 (Guided + Collaborative)
Present the outline as a table:
Path A:
| # | Title (assertion) | Key Points | Visual Type | Illustration? |
|---|-------------------|------------|-------------|---------------|
| 1 | Cover: ... | — | Decorative | Yes: ... |
| 2 | ... | 1. ... 2. ... | Chart | No |
| 3 | ... | 1. ... 2. ... | Illustration | Yes: ... |Path B:
| # | Title (assertion) | Key Points | Visual Scene Description |
|---|-------------------|------------|--------------------------|
| 1 | Cover: ... | — | Dark gradient bg, large title centered, abstract network nodes |
| 2 | ... | 1. ... 2. ... | Split layout: text left, bar chart right, clean white bg |
| 3 | ... | 1. ... 2. ... | Full illustration: person at crossroads with floating clocks |Ask the user:
- Approve / adjust slide count
- Path A: Approve / adjust which slides get illustrations
- Path B: Approve / adjust visual scene descriptions
- Any content to add or remove
---
Step 2: Design System
Present 3 design system options for the user to choose from. Each is a complete visual language, not just a color palette.
CRITICAL: A design system is NOT just colors. It defines visual philosophy, typography ratios, composition rules, and emotional intent. This is the difference between "boring PPT" and "magazine-quality deck."
🗣️ Style Discussion (Optional, if user wants to explore)
If the user says things like:
- "我想要XX风格"(田中一光、瑞士国际主义、包豪斯、蒙德里安...)
- "我不确定想要什么风格"
- "能给我看看不同风格的例子吗"
Then consult the design movements reference: references/design-movements.md — 设计运动与风格参考库
This file maps classic design movements (Neo-Brutalism, Swiss Style, Bauhaus, etc.) to our AI-ready style presets. Use it to: 1. Translate user's aesthetic language into actionable prompts 2. Build shared vocabulary ("这个方向偏田中一光" vs "那个偏构成主义") 3. Reference when designing new custom styles from scratch
After discussing movements, proceed to recommend 3 concrete presets below.
---
Design System Presets
⚠️ CRITICAL INSIGHT: 插画/漫画类风格的AI生成效果远好于「专业极简」类风格。 漫画/插画风格有明确的视觉语言(线条、角色、色块),AI可以充分发挥;极简风格(暗色底+发光文字+大量留白)缺乏视觉元素,生成出来「空」且「平」。
Pick 3 that match the topic/mood. Use the topic recommendation table below, then present each with its full description.
按主题自动推荐(优先从此表选):
| 主题类型 | 第一推荐 | 第二推荐 | 第三推荐 |
|---|---|---|---|
| 品牌/产品介绍 | Snoopy温暖漫画 | Neo-Pop新波普 | 浮世绘/敦煌(东方品牌) |
| 教育/培训 | Neo-Brutalism | 学習漫画 | Snoopy温暖漫画 |
| 技术分享 | xkcd白板 | Neo-Brutalism | Ligne Claire |
| 数据报告 | Pentagram编辑 | Fathom数据 | Ligne Claire |
| 年轻受众 | Neo-Pop | 像素画 | 孔版印刷 |
| 创意/艺术 | 达达拼贴 | 孔版印刷 | The Oatmeal |
| 国风/东方 | 敦煌壁画 | 浮世绘 | Takram思辨 |
| 正式商务 | Pentagram编辑 | Müller-Brockmann网格 | Build极简 |
| 产品发布/keynote | 苏联构成主义 | Neo-Pop | Pentagram编辑 |
| 内部分享 | Neo-Brutalism | The Oatmeal | xkcd白板 |
| 行业分析/咨询 | Fathom数据 | Pentagram编辑 | Müller-Brockmann网格 |
| 培训课件/教材 | Takram思辨 | 温暖叙事 | 学習漫画 |
| 投资/融资路演 | Build极简 | Pentagram编辑 | 苏联构成主义 |
完整18种风格详细参考: references/proven-styles-gallery.md 风格样例图片: assets/style-samples/ 目录
---
第一梯队(强烈推荐,效果极好):
1. Warm Comic Strip — Snoopy温暖漫画风
- Philosophy: Peanuts漫画的温暖与哲理感——简单的角色说着深刻的话,日常场景中蕴含人生智慧
- Visual world: 圆头小孩、小狗、小鸟组成一个温暖的小世界。背景极简(草地、天空、狗屋、树)。色调像泛黄的报纸漫画
- Reference: "Like a Peanuts comic strip — warm, philosophical, charming"
- Style guide:
references/proven-styles-snoopy.md - ⚠️ 关键经验: 不要在prompt中过度约束视觉细节(颜色比例、构图位置、角色姿势),否则会严重降低多样性。只描述情绪和内容,让AI自由发挥
2. Manga Educational — 学習漫画风
- Philosophy: Japanese educational manga (学習漫画) — a character GUIDES you through the concept with reactions and drama
- Colors: Bright and warm palette, white bg with selective color panels, screen-tone gray for emphasis areas
- Ratio: 60% illustration / 30% text (in bubbles) / 10% effects
- Typography: Bold manga-style titles with impact, body text in speech/thought bubbles, onomatopoeia as decorative elements. Size contrast 3:1
- Composition: Dynamic manga panel layouts (3-5 panels per slide), character reactions drive emphasis, speed lines for energy, dramatic angles
- Visual language: Expressive anime-style characters, reaction faces (surprise, confusion, eureka!), manga effects (sweat drops, sparkles, speed lines), panel borders with varied thickness
- Reference: "Like a 'Manga Guide to Statistics' page — a character walks you through the concept, reacting with surprise and delight"
3. Ligne Claire Comics — 清线漫画风
- Philosophy: Hergé's Tintin tradition — maximum information clarity through visual restraint
- Colors: White/cream (#FFFDF7) bg, black (#000000) outlines, flat saturated fills (3-5 solid colors, no gradients)
- Ratio: 70% clean bg / 20% illustration / 10% text
- Typography: Hand-lettered feel for titles, clean sans-serif for body. Speech bubbles for key quotes. Title:body = 2.5:1
- Composition: Panel-based layouts (2-4 panels per slide), sequential left-to-right reading flow, clear gutters between panels
- Visual language: Uniform-weight outlines, flat colors without shading or hatching, no gradients, precise details but zero visual noise
- Reference: "Like a Tintin page explaining a concept — every panel advances understanding, nothing is decorative"
4. Neo-Pop Magazine — 新波普杂志风
- Philosophy: Youth media / streetwear brand aesthetic, bold and playful
- Colors: Cream (#FFF8E7) bg, black (#000000) text, color-blocking with hot pink (#FF1493) + cyan (#00CED1) + yellow (#FFD700)
- Ratio: 50% bg / 25% color blocks / 25% content
- Typography: Headlines 40-50% of slide area (typography AS the visual), thick black borders around text blocks, 10:1 size ratio vs body
- Composition: Modular color blocks with "controlled chaos", stacked asymmetric layouts, thick borders
- Visual language: Pixel-art 8-bit icons, cutout photography, speech bubbles, bold graphic surfaces
- Reference: "Like a Supreme lookbook meets a HYPEBEAST article — treats typography as graphic art"
第二梯队(推荐,特定场景效果好):
5. Whiteboard Sketch — xkcd白板手绘风
- Philosophy: xkcd meets a professor's whiteboard — extreme minimalism forces focus on the idea itself
- Colors: White (#FFFFFF) bg, black (#000000) ink, ONE accent color for emphasis (red #FF4444 or blue #4488FF)
- Ratio: 85% white space / 10% sketch / 5% accent highlight
- Typography: Hand-drawn/handwritten feel for everything, rough uneven baselines, arrows and annotations everywhere. Key numbers can be large (60pt+)
- Composition: Freeform whiteboard layout, hand-drawn arrows connecting concepts, diagrams and stick figures, informal and alive
- Visual language: Stick figures, hand-drawn charts and graphs, wobbly lines, annotation arrows, circled keywords, equation-style layouts
- Reference: "Like an xkcd 'What If?' explanation — simple drawings that make complex ideas instantly click"
6. Soviet Constructivism — 苏联构成主义
- Philosophy: Revolutionary propaganda poster — power through geometry and limited color
- Colors: Revolutionary red (#CC0000) 40% + black (#1A1A1A) 25% + cream white (#F5E6D3) 30%
- Typography: All text rotated 15-30 degrees, NO horizontal lines, bold condensed
- Composition: Diagonal wedge from bottom-left to top-right, geometric shapes growing small to large (visual crescendo)
- Visual language: NO gradients, pure flat fills + sharp edges, three-color limit, propaganda poster energy
- Reference: "Like a 1920s Rodchenko poster — power, urgency, and geometric precision"
7. Warm Narrative — 温暖叙事风
- Philosophy: Friendly storytelling, like a TED talk visual or Airbnb pitch deck
- Colors: Warm cream (#FDF6EC) bg, dark charcoal (#3D3D3D) text, coral (#E17055) accent
- Ratio: 60% warm bg / 25% content / 15% illustration
- Typography: Headlines bold and warm, 3:1 ratio to body. Short sentences, not bullets
- Composition: Illustration occupies 40-50% of slide, text wraps around visuals, rounded shapes
- Visual language: Flat vector illustrations with warm palette, people-centric imagery, storytelling flow
- Reference: "Like a Mailchimp or Notion brand presentation — approachable and human"
更多风格(第二/三梯队) 详见 references/proven-styles-gallery.md,包括:The Oatmeal信息图漫画、敦煌壁画、浮世绘、孔版印刷Risograph、等轴测Isometric、Bauhaus包豪斯、工程蓝图Blueprint、复古广告Vintage Ad、达达拼贴Collage、像素画Pixel Art
---
第四类:Professional / Editorial 设计系统(Path A 专用)
⚠️ 以下风格 强烈建议使用 Path A(HTML→PPTX)。它们依赖精确排版、数据可视化和网格系统,AI图片生成无法达到所需精度。口腔行业分析案例已验证 Path A + Pentagram编辑风格的出色效果。
8. Pentagram Editorial — 编辑杂志风(信息建筑派)
- Philosophy: Pentagram/Michael Bierut — 字体即语言,网格即思想。用极度克制的设计让数据和内容自己说话
- Colors: 奶油白(#FFFDF7) bg, 近黑(#1A1A1A) text, ONE accent color (如橙红#D4480B或品牌色)
- Ratio: 60% whitespace / 30% content / 10% accent
- Typography: 粗黑标题(28pt+) + 轻正文(10-13pt), 英文section label作为设计元素 (INSIGHT / PART 03)
- Composition: 瑞士网格系统, 2px黑色边框卡片, 精确的水平分隔线, 数据可视化内嵌
- Visual language: 极简图标, 条形图/饼图/趋势线, callout框, tag标签
- Reference: "Like a McKinsey insight report meets Monocle magazine — data-rich but editorially elegant"
- 执行路径: Path A only(HTML→PPTX)
- 实战验证: 口腔行业分析15页deck(
_temp/口腔行业分析/slides/)
9. Fathom Data Narrative — 数据叙事风(科学期刊派)
- Philosophy: Fathom Information Design — 每一个像素都必须承载信息。科学严谨+设计优雅
- Colors: 白(#FFFFFF) bg, 深灰(#333) text, 海军蓝(#1A365D) primary + 一个highlight color
- Ratio: 50% charts/data / 30% text / 20% whitespace
- Typography: GT America/Graphik风格的sans-serif, 大数字(60pt+)作为视觉锚点, 精确的脚注/来源标注
- Composition: 高信息密度但不拥挤, 注释系统嵌入布局, small multiples图表阵列, 精确的时间线
- Visual language: 散点图, 热力图, timeline, 带注释的图表, 数据标签精确到小数
- Reference: "Like a Nature paper's data supplement meets a Bloomberg data feature"
- 执行路径: Path A only(HTML→PPTX)
10. Müller-Brockmann Grid — 瑞士网格风(纯粹主义派)
- Philosophy: Josef Müller-Brockmann — 客观性即美。数学精确的网格系统让任何混乱的信息变得有序
- Colors: 白(#FFFFFF) bg, 黑(#000) text, 最多一个强调色
- Ratio: 70% structured grid / 20% text / 10% accent
- Typography: Akzidenz-Grotesk/Helvetica, 严格的8pt基线网格, 绝对左对齐, 字重对比(300 vs 700)
- Composition: 8列数学网格, 所有元素对齐到网格线, 绝对不允许装饰元素, 功能主义至上
- Visual language: 纯几何图形, 黑色线条表格, 精确对齐的列表, 无图标无插画
- Reference: "Like the original Swiss Style poster — timeless, rational, zero decoration"
- 执行路径: Path A only(HTML→PPTX)
11. Build Luxury Minimal — 奢侈极简风(当代品牌派)
- Philosophy: Build Studio — 精致的简单比复杂更难。用大量留白和微妙字重变化传达高端感
- Colors: 纯白(#FFFFFF) bg, 深灰(#2D2D2D) text, 单一accent(品牌色)极少量使用
- Ratio: 75% whitespace / 15% text / 10% accent
- Typography: 字重变化极微妙(200-600), 标题巨大(48pt+)但轻, 正文小而精(12pt), 字间距宽松
- Composition: 黄金比例构图, 元素极少, 每页只说一件事, 呼吸感优先
- Visual language: 高端产品图(如果有), 极简图标线条, 大面积纯色块, 圆角卡片
- Reference: "Like an Apple keynote meets a Celine lookbook — confident restraint"
- 执行路径: Path A(HTML→PPTX)
12. Takram Speculative — 日式思辨风(东方哲学派)
- Philosophy: Takram — 技术是思考的媒介。用柔和的科技感和概念原型图传达深度思考
- Colors: 暖灰(#F5F3EF) bg, 深灰(#3D3D3D) text, 鼠尾草绿(#8B9D77) accent
- Ratio: 55% warm bg / 25% diagrams / 20% text
- Typography: 圆润的sans-serif, 标题不用粗体而用大尺寸(36pt+), 正文温暖(14pt), 行高宽松(1.8)
- Composition: 柔和阴影(blur 20px+), 圆角(16px+), 概念图/流程图作为核心视觉, 卡片式布局
- Visual language: 概念原型图, 柔和渐变, 流程图即艺术, 手绘感图标, 自然色调
- Reference: "Like a Takram project page — where technology feels thoughtful, not aggressive"
- 执行路径: Path A(HTML→PPTX,配图可AI辅助生成)
更深入的风格细节:参考 design-philosophy skill 的 references/design-styles.md,包含20种设计哲学的完整提示词DNA
🎨 Custom Character Style (User-Defined)
Users may want to reference specific cartoon/anime aesthetics. When a user says "do it in Doraemon style" or "like Studio Ghibli", treat this as a style reference, not a request to draw copyrighted characters. Build a custom Design System by extracting the visual DNA of that style.
How to convert a character reference into a Design System:
| User says | Extract these visual traits |
|---|---|
| "Doraemon style" | Round shapes, bright primary blue + white + red, simple backgrounds, cute proportions, magical gadget reveals |
| "Studio Ghibli" | Watercolor textures, natural greens and sky blues, detailed backgrounds with simple characters, warmth and wonder |
| "Calvin and Hobbes" | Dynamic ink brushwork, expressive motion lines, philosophical contrast between fantasy and reality, lush outdoor scenes |
| "One Piece manga" | Bold dynamic lines, exaggerated proportions, dramatic action poses, high energy, thick outlines |
| "Crayon Shin-chan" | Crude crayon-like lines, flat bright colors, comedic proportions, everyday scenarios made absurd |
| "Adventure Time" | Geometric simple shapes, pastel candy colors, thin outlines, whimsical surreal backgrounds |
Template for custom style:
[User Style]: "[reference name]"
→ Shape language: [round/angular/geometric/organic]
→ Line quality: [thin uniform / thick varied / sketchy / brushwork]
→ Color palette: [specific colors extracted from that aesthetic]
→ Character style: [proportions, expressiveness level]
→ Background treatment: [detailed/minimal/abstract]
→ Emotional tone: [warm/energetic/philosophical/surreal]Typography Rules (All Presets)
- Max 2 font families (1 heading + 1 body)
- Heading: bold, personality — ≥36pt (trend: even larger, as graphic surface)
- Body: clean, readable — ≥18pt
- Chinese: system default (PingFang SC / Microsoft YaHei)
- Key principle: Typography is a DESIGN ELEMENT, not just an information container
✅ Checkpoint 2 (Guided + Collaborative)
Ask the user to pick one of the 3 proposed design systems, or describe their own preference. Show the full description including philosophy, visual language, and reference.
---
Step 3: Build Slides
---
Step 3-A: HTML + Selective Illustrations (Path A)
Generate AI illustrations for key slides, then create HTML slide files.
Which slides need illustrations? Prioritize: 1. Cover slide — always. Sets the visual tone. 2. Key insight slides — the "aha moment" slides benefit most. 3. Closing slide — optional but impactful. 4. Data-heavy slides — charts/diagrams instead of AI art.
Illustration Generation — use nano-banana-pro skill:
export $(grep GEMINI_API_KEY ~/.claude/.env) && \
uv run ~/.claude/skills/nano-banana-pro/scripts/generate_image.py \
--prompt "[description]" \
--filename "[timestamp]-slide-[N]-[name].png" \
--resolution 2KBase Style Prompt — define ONE style suffix, append to every illustration:
[Base Style]: flat vector illustration, [palette background color] background,
[accent color] highlight elements, clean minimalist aesthetic,
professional presentation style, no text in imagePer-slide prompt = [specific content] + [Base Style]
Key rules:
- Always include "no text in image" — text will be added as editable elements
- Use descriptive paragraphs, not keyword lists
- Specify hex colors explicitly
- Use "flat vector" / "flat illustration" for consistency
Embedding in HTML slides:
<!-- Side illustration (recommended) -->
<div class="left"><!-- text content --></div>
<div class="right"><img src="illustration.png" style="width: 280pt; height: 280pt;"></div>
<!-- Background illustration -->
<body style="background-image: url('illustration.png'); background-size: cover;">✅ Checkpoint 3-A (Guided: preview 2-3 key illustrations; Collaborative: every one)
Show generated illustrations. Ask: Approve / regenerate / style consistent?
---
Step 3-B: Full AI Slide Generation (Path B)
Generate EVERY slide as a complete AI image — layout, text, visuals, all in one.
⚠️ THE #1 MISTAKE: Over-constraining the prompt with layout details and visual restrictions. More constraints = LESS creativity and diversity. The AI generates best when given mood + reference + content, NOT specific positions, color ratios, or character restrictions.
The Golden Rule of AI Image Prompts
SHORT prompts > LONG prompts. A 3-sentence prompt describing mood and content produces better results than a 30-line prompt specifying every visual detail. Specifically:
| DON'T (kills diversity) | DO (enables creativity) |
|---|---|
| Specify color ratios (60%/25%/15%) | Describe the mood ("warm like a Sunday comic page") |
| Dictate layout positions ("title centered, image on right") | Reference a specific aesthetic ("Peanuts comic strip") |
| Restrict characters ("NOT Snoopy — an original character") | Let AI interpret the style naturally |
| List every visual element to include | Describe what the viewer should FEEL |
| Repeat the base style in every per-slide prompt | Define base style once, keep per-slide prompts short |
Base Style Prompt — Keep it SHORT
Define a base style once, append to every slide. Keep it under 5 lines. The base style sets the mood; per-slide prompts add the content.
[Base Style]:
VISUAL REFERENCE: [Specific art/design aesthetic in one sentence]
CANVAS: 16:9 aspect ratio, 2048x1152 pixels, high quality rendering.
COLOR SYSTEM: [Describe the mood/feel of colors, not exact ratios]Example (good — concise):
VISUAL REFERENCE: Charles Schulz Peanuts comic strip — warm, philosophical, charming.
Characters include round-headed kids, a lovable beagle dog, and a small yellow bird.
CANVAS: 16:9 aspect ratio, 2048x1152 pixels, high quality rendering.
COLOR SYSTEM: Warm cream/newspaper tone background, soft muted pastels, warm ink lines.Anti-pattern (bad — over-specified): Do NOT include typography sizes, color ratios, composition percentages, margin specifications, or visual weight distributions in the base style. These constraints reduce diversity without improving quality.
Per-Slide Prompt Structure
Keep per-slide prompts short and focused. Do NOT repeat base style details or over-specify visual layout.
Create a [style] slide about [topic].
[Base Style]
DESIGN INTENT: [1 sentence — what the viewer should FEEL]
TEXT TO RENDER:
- Title: "[exact text]"
- Body: "[exact text]"
[Optional: 1-2 sentences describing mood or scene. Let AI decide composition.]Example — GOOD vs BAD
BAD (traditional PPT — boring):
Design a professional presentation slide.
Professional presentation slide, 16:9 aspect ratio, 2048x1152 pixels.
Dark navy background, light gray text, gold accent.
Slide type: content. Layout: Title at top-left, two columns below.
Title: "看涨期权收益结构"
Body: "行权价: 100元, 权利金: 10元"
Visual: a line chart showing call option payoff→ Result: Generic PPT that could come from any template
GOOD (magazine-level — stunning):
Create a slide that feels like a Bloomberg terminal data visualization
brought to life as editorial art.
VISUAL REFERENCE: Bloomberg Businessweek data feature meets cinematic lighting.
CANVAS: 16:9, 2048x1152, sharp rendering.
COLOR SYSTEM: Deep black (#0A0A0A) background 75%, white text 15%,
gold (#BF9A4A) accent 10%. The gold represents profit — it should GLOW.
TYPOGRAPHY: The number "110" rendered at 100pt as the dominant visual anchor
(the break-even point IS the story). Supporting text at 14pt, muted gray.
DESIGN INTENT: The viewer should instantly FEEL the asymmetry of options —
limited downside, unlimited upside. The visual must make this visceral,
not just informational.
TEXT TO RENDER:
- Hero metric: "110" (giant, gold, the break-even price)
- Title: "盈亏平衡点" (medium, white, above the number)
- Left data: "行权价 100" "权利金 10" (small, gray, understated)
- Insight: "亏损有底 盈利无限" (accent color, bottom)
VISUAL NARRATIVE: A single golden curve emerges from the left side of the slide,
flat and muted in gray at -10 (the maximum loss), then suddenly bending upward
at the strike price, transitioning from gray to brilliant gold as it rises
into the profit zone. The curve should feel like a ray of light breaking
through darkness. The profitable area above zero glows with warm gold
atmospheric lighting, like sunrise. The chart has NO grid lines, NO axes labels
cluttering the visual — just the pure, dramatic curve and the giant "110"
floating at the inflection point.→ Result: An editorial data visualization that tells a story
Key Rules for Path B Prompts
Prompt Quality Checklist (verify before every generation):
1. Visual Reference — Does the prompt name a specific art style or publication? (NOT just "professional" or "modern") 2. Mood, not Layout — Does the prompt describe what the viewer should FEEL, not where elements should be PLACED? 3. Text Content — Are all texts to render listed clearly and accurately? 4. Short Enough — Is the prompt concise? Long prompts with detailed specs REDUCE diversity. Remove anything the AI can decide on its own. 5. NO Micro-Management — No hex color ratios, no typography sizes, no composition percentages, no character pose instructions.
Technical Rules:
- Always specify resolution:
2048x1152(2K, 16:9) for crisp text - Include ALL text verbatim — AI must render exact words
- 中文优先: slide上的文字一律用中文,仅保留必要英文术语
- Chinese text tip: Keep titles short (≤8 characters) for best rendering
- Use descriptive paragraphs, not keyword lists
- Generate in parallel: Run 3-5 slide generations concurrently for speed
- Consistency: The Base Style is applied to EVERY slide. It's a system, not a suggestion
Generation command (same tool, but full-slide prompts):
export $(grep GEMINI_API_KEY ~/.claude/.env) && \
uv run ~/.claude/skills/nano-banana-pro/scripts/generate_image.py \
--prompt "[full slide prompt]" \
--filename "slide-[NN]-[name].png" \
--resolution 2KQuality check after generation: 1. Text accuracy — verify all Chinese/English text rendered correctly 2. Layout — elements positioned as described 3. Style consistency — colors and design language match across slides 4. If a slide has text errors → regenerate with adjusted prompt (simplify text or shorten)
✅ Checkpoint 3-B (Guided: preview all slides as a set; Collaborative: approve each)
Show ALL generated slide images to the user. Ask:
- Text readable and accurate?
- Visual style consistent across slides?
- Any slides to regenerate?
---
Step 4: PPTX Assembly
4-A: html2pptx Workflow (Path A)
Create HTML files per slide, convert with html2pptx.js:
const pptxgen = require('pptxgenjs');
const html2pptx = require(process.env.HOME + '/.agents/skills/pptx/scripts/html2pptx.js');
const pptx = new pptxgen();
pptx.layout = 'LAYOUT_16x9';
await html2pptx('slide1.html', pptx);
await html2pptx('slide2.html', pptx);
await pptx.writeFile({ fileName: 'output.pptx' });HTML rules (from pptx skill):
- Body dimensions:
width: 720pt; height: 405pt(16:9) - ALL text must be in
<p>,<h1>-<h6>,<ul>,<ol>tags - Backgrounds/borders only on
<div>elements - No CSS gradients — pre-render as PNG with Sharp
- Use web-safe fonts only (Arial, Helvetica, Georgia, etc.)
- Images:
<img src="illustration.png" style="width: Xpt; height: Ypt;">
Known issue: Chinese characters in file paths can break image loading. Use symlinks to ASCII paths if needed:
ln -sf "/path/with/中文/" /tmp/ascii-path4-B: Image Assembly (Path B)
Assemble generated slide images into PPTX using create_slides.py:
uv run ~/.claude/skills/image-to-slides/scripts/create_slides.py \
slide-01-cover.png slide-02-intro.png slide-03-definition.png ... \
--layout fullscreen \
--bg-color 000000 \
-o output.pptxRecommended layout for Path B: `fullscreen` — images fill the entire slide since they already contain all layout, text, and visuals.
| Layout | Use case |
|---|---|
fullscreen | AI-generated full-page slides (Path B default) |
title_above | Image + editable title (hybrid approach) |
title_left | Split: text + visual |
center | Centered image with padding |
grid | Multiple images per slide |
---
Step 5: Preview & Polish
Preview
Path A: Screenshot 3-4 key HTML slides with Playwright:
npx playwright screenshot "file:///path/to/slide.html" preview.png \
--viewport-size=960,540 --wait-for-timeout=1000Path B: Show the generated slide images directly (they ARE the slides). Use Read tool to display 3-4 key PNGs.
✅ Checkpoint 4 (All modes)
Show preview to the user. The PPTX file is ready — ask:
- Any slides to adjust?
- Ready to open in Keynote/PowerPoint?
Final Polish (in Keynote/PowerPoint)
- Transitions and animations
- Speaker notes
- Brand logo placement
- Path A: Final text adjustments (editable)
- Path B: Text NOT editable — if text errors found, regenerate the slide image
---
Design Quick Reference
5/5/5 rule: ≤5 words/line, ≤5 bullets/slide, ≤5 text-heavy slides in a row
Cognitive load: One idea per slide. ~1 min per slide. Slides complement speech, never duplicate it.
Visual hierarchy: F/Z-pattern reading flow. Title:body size ≈ 3:1. Every slide should have a visual element.
Detailed references:
references/proven-styles-gallery.md— 17 tested visual styles with tiered recommendationsreferences/proven-styles-snoopy.md— Snoopy/Peanuts style detailed per-slide templatesreferences/prompt-templates.md— Content generation and image promptsreferences/design-principles.md— Full design framework, color palettes, typography
Related Skills
| Skill | Role |
|---|---|
pptx | Advanced PPTX creation/editing (html2pptx, templates) |
nano-banana-pro | AI illustration generation (Gemini 3 Pro Image) |
multi-model | External AI for content drafting |
design-philosophy | 20种设计哲学深度参考(风格DNA + 场景模板 + 评审标准)。Professional/Editorial风格的详细提示词和评审指南在此 |
Output
.pptxfiles compatible with PowerPoint, Keynote, Google Slides- Web-safe fonts for cross-platform compatibility
- AI illustrations as separate PNG files (reusable)
---
花叔出品 | AI Native Coder · 独立开发者
公众号「花叔」| 30万+粉丝 | AI工具与效率提升
代表作:小猫补光灯(AppStore付费榜Top1)·《一本书玩转DeepSeek》
Bud1
e-samp
style-samplesbwspblob�bplist00�]ShowStatusBar[ShowToolbar[ShowTabView_ContainerShowSidebar\WindowBounds[ShowSidebar _{{354, 349}, {920, 436}} #/;R_klmno�
�
style-samplesicvpblob�bplist00�
_backgroundColorBlueXiconSizeXtextSize_backgroundColorRed^backgroundType_backgroundColorGreen[gridOffsetX[gridOffsetY_scrollPositionY\showItemInfo_viewOptionsVersion_scrollPositionX]labelOnBottomYarrangeBy_showIconPreview[gridSpacing#?�#@P#@(##�a` Tnone #@K+AJShw��������"+4=?HIZcdijs
style-samplesvSrnlong @� @� @� @E
DSDB `� @� @� @设计运动与风格参考库
基于花叔审美偏好整理。用于风格讨论时建立共同语言——当我们说「田中一光风格」或「瑞士国际主义」时,双方都知道在说什么。
>
这不是直接的AI prompt模板(那些在prompt-templates.md和proven-styles-gallery.md中),而是设计决策的上游参考。
---
花叔审美画像
喜欢:大字、色块、冲击力、温暖色调、有质感、功能主义(每个元素都有存在理由) 不喜欢:赛博霓虹、冷色系(深蓝/紫底)、扁平无聊的企业模板、过度装饰
核心偏好:用最简单的方式传达最多信息(费曼思维在视觉上的投射)
---
设计运动 → Skill风格 对照表
这张表连接了「设计史上的运动」和「我们skill中已有的AI生成风格」,帮助在讨论时快速定位。
| 设计运动 | skill中对应风格 | 关系说明 |
|---|---|---|
| Neo-Brutalism(新粗野主义) | Neo-Pop新波普 + Neo-Brutalism(新增#18) | 粗边框、色块、大字——小红书官方PPT就是这个 |
| 田中一光 / 日本图形设计 | Ligne Claire清线 | 极简几何+东方美学,限色克制 |
| 瑞士国际主义 | Bauhaus包豪斯 | 网格系统+功能主义+无衬线大字 |
| 蒙德里安 / De Stijl | Neo-Pop新波普 | 原色块分割、几何秩序 |
| 包豪斯 | Bauhaus包豪斯 | 直接对应 |
| 孟菲斯设计 | Neo-Pop新波普 | 高饱和混搭,但孟菲斯更「吵」 |
| 俄国构成主义 | 苏联构成主义 | 直接对应 |
| Apple Keynote | —(skill中故意不做极简风) | 太冷太克制,缺少冲击力 |
| Sagmeister & Walsh | 达达拼贴Collage | 实验性、大胆用色、每项目不同风格 |
| Information is Beautiful | Ligne Claire清线 | 数据→美学、复杂信息简化 |
| Giorgia Lupi(数据人文主义) | 温暖叙事Warm Narrative | 有温度的数据可视化 |
---
第一梯队:最可能喜欢的风格
1. Neo-Brutalism(新粗野主义)
代表:Gumroad、Figma社区、小红书官方PPT 视觉特征:粗黑边框(3-6px)、高饱和色块、无渐变、偏移阴影、大字排版 配色:高对比原色——红黄黑米白是典型组合 适合PPT:非常适合。信息层次清晰,远距离可读性强 与skill的关系:已验证,2026-02-09蕴煜AI培训项目完成了Day1(67页)+Day2(64页)全套HTML渲染
核心CSS特征(已验证):
/* 配色 */
--cream: #F5E6D3;
--red: #FF3B4F;
--yellow: #FFD700;
--black: #1A1A1A;
/* 布局 */
border: 4-6px solid #1A1A1A; /* 粗黑边框 */
font-size: 3-6vw; /* 超大字 */
overflow: hidden; /* 无溢出 */搜索关键词:Neo Brutalism presentation design、Neubrutalism UI
2. 田中一光 / 日本图形设计(Ikko Tanaka)
代表:田中一光、横尾忠则、佐藤卓 视觉特征:极简几何形状、大面积留白、有限配色(2-3色)、网格结构、东方美学+西方现代主义 配色:红+黑+白 或 金+黑+白,极度克制 为什么推荐:和费曼偏好(用最简单的方式解释复杂事物)完全一致。田中一光的海报就是「用几何形状讲故事」 适合PPT:非常适合金句页、概念页。信息密集页需要调整 搜索关键词:Ikko Tanaka poster、Japanese graphic design minimalist
3. 瑞士国际主义(Swiss/International Typographic Style)
代表:Josef Müller-Brockmann、Armin Hofmann、Ernst Keller 视觉特征:严格网格系统、无衬线大字(Helvetica/Akzidenz)、不对称布局、几何图形、照片蒙版 配色:通常黑白红,或单色+强调色 为什么推荐:功能主义的极致——每个元素都有存在理由。网格系统天然适合幻灯片 搜索关键词:Swiss Style poster、Josef Müller-Brockmann grid
4. 蒙德里安 / De Stijl(风格派)
代表:Piet Mondrian、Theo van Doesburg 视觉特征:水平+垂直线条分割、原色块(红黄蓝+黑白)、绝对的几何秩序 配色:红、黄、蓝、黑、白——经典五色 适合PPT:适合封面、过渡页。内容页需要灵活变体 搜索关键词:Mondrian layout design、De Stijl graphic design
---
第二梯队:值得参考的风格
5. 包豪斯(Bauhaus)
代表:Herbert Bayer、László Moholy-Nagy、Joost Schmidt 视觉特征:几何图形(圆三角方)、功能主义、原色+黑白、实验性排版 与skill的关系:skill中已有Bauhaus包豪斯风格(第三梯队#13)
6. 孟菲斯设计(Memphis Design)
代表:Ettore Sottsass、Michele De Lucchi 视觉特征:鲜艳色彩、几何图案混搭、波点/条纹/锯齿、刻意的「不协调」 注意:视觉冲击力极强,但可能太「吵」——培训PPT需要让人集中注意力 适合PPT:适合做装饰元素和图案纹理,不适合做主布局
7. 俄国构成主义(Constructivism)
代表:El Lissitzky、Alexander Rodchenko 视觉特征:对角线构图、红+黑+白、几何形状叠加、政治宣传海报感 与skill的关系:skill中已有苏联构成主义风格(第二梯队#7)
---
第三梯队:顶级公司的Deck设计
8. Apple Keynote 风格
视觉特征:极简、大量留白、超大单词、深色/浅色两极、高质量产品摄影 配色:黑+白为主,偶尔一个强调色 注意:可能太「冷」太「克制」,缺少冲击力和温度。skill中故意不做此类极简风格(AI生成效果差)
9. Stripe / Linear 设计系统
视觉特征:柔和渐变、3D插画、精致排版、大量数据可视化 配色:紫+蓝渐变(Stripe)、极简黑白(Linear) 注意:Stripe的蓝紫渐变不符合暖色偏好
10. Sagmeister & Walsh
代表:Stefan Sagmeister、Jessica Walsh 视觉特征:实验性极强、大胆用色、材质混搭、每个项目风格完全不同 为什么参考:「Beauty」项目用大胆色彩和几何构成探索什么是美——和花叔审美高度重合 启发:每套PPT不必只有一个风格,可以按章节切换「情绪」
---
第四梯队:数据可视化/信息设计
11. Information is Beautiful(David McCandless)
视觉特征:数据→美学、复杂信息简化、干净的信息图表 适合PPT:数据展示页、效率对比页、工具矩阵页
12. Giorgia Lupi(数据人文主义)
视觉特征:手绘质感+数据、有温度的信息图、个人叙事+数据结合 为什么参考:「数据人文主义」理念和花叔的「有人味」风格完全对应
---
2026年演示设计趋势
| 趋势 | 描述 | 是否推荐 |
|---|---|---|
| Bento Grid布局 | 模块化方格(像Apple推广视频) | 推荐——和色块风格兼容 |
| 超大字排版 | 标题字占幻灯片50%面积 | 已在用 |
| 竖版幻灯片 | 9:16给手机阅读优化 | 线下培训不需要 |
| 非线性演示 | 可点击跳转的交互式菜单 | 线下培训不需要 |
| Glassmorphism | 毛玻璃+透明效果 | 不推荐——偏冷偏科技感 |
---
使用场景
场景1:用户说「我想要XX风格」
1. 在本文件中找到对应的设计运动 2. 查看「与skill的关系」列,找到skill中已有的最近风格 3. 用该已有风格的prompt模板作为起点 4. 根据设计运动的特征做调整
场景2:用户不确定想要什么风格
1. 用花叔审美画像作为默认偏好 2. 按主题在 proven-styles-gallery.md 的推荐表中选3个 3. 用本文件中的设计运动名称作为讨论锚点(如「这个方向偏田中一光,那个偏构成主义」)
场景3:需要从零设计一个新风格
1. 在本文件中选择1-2个设计运动作为视觉DNA 2. 提取其核心视觉特征(配色、构图、字体、元素) 3. 写成Base Style prompt 4. 在 proven-styles-gallery.md 中增加为新风格
---
搜索这些风格的最佳渠道
| 渠道 | 适合找什么 |
|---|---|
| Behance | 设计师完整项目展示 |
| Dribbble | 单张设计灵感 |
| 按风格聚合的情绪板 | |
| Poster House (posterhouse.org) | 经典海报展览 |
| It's Nice That (itsnicethat.com) | 设计趋势和设计师访谈 |
| Fonts In Use (fontsinuse.com) | 看字体在真实设计中的应用 |
| SlidesGo / SlidesCarnival | 免费PPT模板看趋势 |
---
整理于 2026-02-09 | 基于花叔审美偏好定制
Presentation Design Principles
Detailed design framework for creating professional presentations. This file is loaded on-demand when deeper design guidance is needed.
1. Ten Evidence-Based Rules
From PLOS Computational Biology: Ten Simple Rules for Effective Presentation Slides
1. One idea per slide — Each slide conveys exactly one core message 2. One minute per slide — 20-minute talk ≈ 20 slides 3. Title = assertion — Change "Results" to "X proves Y" — the title is the abstract 4. Only include what you'll discuss — If you won't talk about it, remove it 5. Cite inline — Attribution goes on the slide, not a final references slide 6. Lead with visuals — Almost no slide should be text-only; build around images/charts 7. Avoid cognitive overload — Text is "signpost" not "full text"; ≤6 elements per slide 8. Distraction test — A distracted viewer should still grasp the point from the slide alone 9. Iterate through practice — Rehearse to confirm flow and transitions 10. Design for disaster — PDF backup, screenshots instead of video, avoid animations
2. Assertion-Evidence Framework
Developed by Michael Alley at Penn State. Controlled experiment with 110 engineering students showed this approach produces:
- Better comprehension
- Fewer misconceptions
- Lower perceived cognitive load
- Better delayed recall
Core method: Slide titles are complete assertion sentences, not topic words.
| Traditional | Assertion-Evidence |
|---|---|
| Q3 Sales | Q3 sales grew 23%, driven by new users |
| Methodology | We validated this hypothesis with a double-blind experiment |
| Key Findings | Three patterns emerged from 10,000 user sessions |
Source: Penn State Assertion-Evidence Research
3. Information Density
5/5/5 Rule
- ≤5 words per line
- ≤5 bullet points per slide
- No more than 5 text-heavy slides in a row
Aggressive variant (recommended)
- ≤4 bullet points per slide
- ≤4 information units per bullet
- Short-term memory holds ~7 items (Miller's Law)
Cognitive load evidence
Eye-tracking research shows: when a slide has 1 bullet point, viewers read it completely. As bullets accumulate, viewers only skim a fraction. Text-heavy slides overload the visual channel, preventing the verbal channel from processing the speaker's narration. Slides and speech should complement, not duplicate.
Sources:
- InnerDrive: PowerPoint and Cognitive Load
- Ethos3: Cognitive Load Theory for Presentations
- Chartered College: CLT for Slideshow Presentations
4. Color Systems
60-30-10 Rule
- 60% dominant (background — light or dark)
- 30% secondary (text, shapes)
- 10% accent (highlights, CTA, key data)
Palette Presets (18 options)
Professional:
| Name | Background | Text | Accent | Use case |
|---|---|---|---|---|
| Corporate Blue | #FFFFFF | #2D3436 | #0984E3 | Business, consulting |
| Dark Tech | #1A1A2E | #E0E0E0 | #4ECDC4 | Tech, SaaS |
| Warm Trust | #FDF6EC | #3D3D3D | #E17055 | Education, coaching |
| Clean Minimal | #F8F9FA | #212529 | #6C63FF | Startup, product |
Bold:
| Name | Background | Text | Accent | Use case |
|---|---|---|---|---|
| High Contrast | #000000 | #FFFFFF | #FF6B6B | Keynote, impact |
| Electric | #0D0D0D | #F0F0F0 | #00FF88 | Tech demo, launch |
| Royal | #1B1464 | #FFFFFF | #FFD93D | Premium, luxury |
Nature/Health:
| Name | Background | Text | Accent | Use case |
|---|---|---|---|---|
| Forest | #F0F4F0 | #2D3436 | #00B894 | Eco, sustainability |
| Ocean | #EBF5FB | #1A5276 | #48C9B0 | Health, wellness |
| Sunset | #FFF5E6 | #2C3E50 | #E74C3C | Energy, passion |
Gradient:
| Name | Start→End | Text | Accent |
|---|---|---|---|
| Deep Space | #0F0C29→#302B63 | #FFFFFF | #FFD93D |
| Aurora | #0F2027→#2C5364 | #FFFFFF | #4ECDC4 |
| Dusk | #2C3E50→#FD746C | #FFFFFF | #F8E71C |
2025-2026 Trends
- Dark mode (black/navy + bright text): premium feel, reduced eye strain
- Gradient revival: blue-purple, orange-pink as backgrounds or title slides
- Warm neutrals replacing cold grays: earth tones, sage green, deep plum
- High-contrast neon accents (lime green, electric blue) on dark backgrounds
- Classic combos: blue+white (trust), blue+yellow (attention), mint+gray (modern)
High contrast is non-negotiable. Text/graphics must stand out clearly against the background.
Sources:
5. Typography
Core Rules
- Max 2 font families (1 heading + 1 body)
- Heading: bold, personality — ≥36pt (2026 trend: even larger)
- Body: clean, readable — ≥24pt
- Avoid: italics, underlines, ALL CAPS (except very short labels)
- Consider colorblind-friendly palettes
Recommended Fonts
| Role | English | Chinese |
|---|---|---|
| Heading | Montserrat, Georgia | PingFang SC Bold, Source Han Sans Bold |
| Body | Inter, Helvetica Neue, Arial | PingFang SC Regular, Source Han Sans Regular |
2026 Typography Trends
- Oversized typography as visual hero element
- Clean sans-serif remains the readability standard
- Expressive/display fonts acceptable for title slides only
- Variable fonts gaining adoption for weight flexibility
Sources:
6. Layout and Whitespace
Reading Patterns
- Western audiences follow F-pattern (top-to-bottom, left-to-right) or Z-pattern scanning
- Place headline prominently at top; supporting content below
- Use whitespace to separate information blocks
Whitespace Principles
- Whitespace improves memory retention, attention, and perceived professionalism
- Important elements need breathing room around them
- Whitespace is not waste — it's functional design
Content Distribution
- Title:body size ratio ≈ 3:1
- Minimize pure-text slides; every slide should have a visual element
- 30-50-20 content split: 30% opening, 50% body, 20% closing
- Data-heavy slides: use charts over tables
- Visuals carry the message; text provides navigation
7. Viral Deck Framework (Sabrina Ramonov)
Three-tier system for high-impact presentations:
Tier 1: Fundamentals
- Visual-first, minimal text
- ≤8 words per title
- One idea per slide
- 3-color palette: white/black/accent
Tier 2: Visual Metaphors + Data Viz
Five viral layouts: 1. Hero — Full-bleed image + overlay text 2. Contrast — Before/after or dual-panel 3. Icon Grid — 3-6 icons with short labels 4. Quote Focus — Large quote + attribution 5. Process Flow — Step-by-step horizontal or vertical
Tier 3: Advanced System (14 layouts)
Adds: Timeline, Before/After, Anatomy Breakdown, Comparison Matrix, plus a complete typographic system and "anti-hallucination safety rules."
Core insight: "Viral decks are not visually loud. They are intellectually loud. Say something new, interesting, and emotionally compelling."
Presentation Prompt Templates
Ready-to-use prompts for content generation and slide image creation. Loaded on-demand when creating presentations.
1. Content Generation Prompts
Full Presentation Outline
Create a [X]-slide presentation about [topic].
Audience: [describe — e.g., busy managers, beginners, investors]
Duration: [minutes]
Goal: [inform / persuade / educate]
Tone: [professional / casual / academic]
Structure:
- Opening: [problem hook / story / data point]
- Body: [logical / chronological / priority order]
- Close: [call to action / summary / open discussion]
Per slide:
- Title = conclusion sentence (not a topic word)
- Max 4 bullet points
- Suggest visual type (chart, diagram, photo, icon)
Brand:
- Colors: [primary / secondary / accent]
- Font: [heading / body]
- Logo placement: [bottom-right / top-left]Business Report
Create a 10-slide pitch deck for [industry] prospects.
Structure: Problem (2 slides) → Impact (1) → Our Solution (3) →
Case Study (2) → Next Steps (1) → Appendix (1).
Audience: VP-level operations. Tone: pragmatic, data-driven.Educational / Training
Design AI-driven slides teaching [concept] to beginners.
Each concept includes one analogy and one real-world scenario.
Use simple language, one key insight per slide.Annual Review
Condense this PDF report into a visual presentation
highlighting three action items. Use KPI dashboard style.
Each slide has a chart or data visualization.Minimal Startup Pitch
Create a minimal-style startup pitch deck.
Use visual metaphors, avoid bullet point stacking.
Each slide: generous whitespace, one core number or short sentence.Research → Presentation
Analyze this research material, extract 3-4 most compelling findings.
Create a narrative flow: Problem → Insight → Implication.
Design slides that simplify complex data without sacrificing accuracy.Problem-Solution-Result
Generate a slide outline using the Problem → Solution → Result structure.
For each section, create 1-2 slides depending on depth.Long Document → Slides
Turn this document(s) into a 7-slide presentation.
Provide a clear and concise slide title for each slide.
Include 3-5 key bullet points per slide.
Focus on main ideas, avoid filler.2. Slide Image Generation Prompts
Base Style Prompt Pattern
Define once, append to every slide:
[Base Style Suffix]:
flat illustration style, [background description],
[text color] sans-serif typography, [accent detail],
clean professional aesthetic, 16:9 aspect ratio, 1920x1080Example base styles:
Dark Tech:
flat vector illustration, deep navy gradient background (#0F0C29 to #302B63),
white sans-serif text, subtle teal neon accent lines (#4ECDC4),
minimal data-visualization aesthetic, 16:9, 1920x1080Clean Corporate:
clean flat design, white background (#FFFFFF),
dark gray text (#2D3436), blue accent elements (#0984E3),
professional infographic style, 16:9, 1920x1080Warm Educational:
soft watercolor illustration style, cream background (#FDF6EC),
dark text (#3D3D3D), coral accent highlights (#E17055),
friendly approachable aesthetic, 16:9, 1920x1080Per-Slide Prompt Structure
[Slide type]: [Content description].
[Visual elements]: [What to show — chart type, icons, diagrams].
[Layout]: [Title position, content arrangement].
[Base Style Suffix]Example:
Title slide: "AI is Transforming Healthcare" centered in large bold text.
Subtitle: "3 Breakthrough Applications in 2026" below.
Visual: abstract neural network pattern as subtle background element.
[Dark Tech Base Style]Google's 6-Element Formula
[Subject] + [Composition] + [Action] + [Location] + [Style] + [Editing]- Subject: what/who is the main focus
- Composition: camera angle, distance (wide, close-up, 85mm)
- Action: what the subject is doing
- Location: where the scene takes place
- Style: artistic style, color palette
- Editing: post-processing (soft focus, high contrast, film grain)
Consistency Tips
1. Describe, don't keyword — narrative paragraphs work better than keyword lists 2. Positive framing — "empty quiet street" not "street without cars or people" 3. Photography terms — use specific lens lengths (85mm f/1.8), lighting (golden hour, studio rim lighting, three-point softbox) 4. Specify hex colors — exact color values prevent palette drift 5. Character drift — if characters change appearance, start a new conversation with full description
Sources:
3. Full AI Slide Generation Prompts (Path B)
Path B generates EVERY slide as a complete AI image. These prompts produce slides where layout, text, and visuals are all rendered by AI.
⚠️ THE #1 MISTAKE: Writing prompts like CSS layout instructions. "Title at top-left, two columns below" produces boring traditional PPTs. Instead, describe EXPERIENCE, REFERENCE, and INTENT.
Base Style Templates (Design System → Prompt)
Each base style is derived from a Design System Preset (see SKILL.md Step 2). Define once, apply to every slide in the deck.
Warm Narrative:
A complete design system for this deck.
VISUAL REFERENCE: TED talk visual style meets Airbnb pitch deck — approachable storytelling.
CANVAS: 16:9 aspect ratio, 2048x1152 pixels, high quality sharp rendering.
COLOR SYSTEM:
- Background: warm cream (#FDF6EC) 60%
- Text: dark charcoal (#3D3D3D) 25%
- Accent: coral (#E17055) 15%
- Color creates warmth, trust, human connection
TYPOGRAPHY AS DESIGN:
- Headlines: 36-44pt bold, warm and inviting
- Body: 18-20pt regular, short sentences not bullets
- Size ratio: 3:1 between title and body
COMPOSITION:
- Illustration occupies 40-50% of slide
- Text wraps around or sits beside visuals
- Rounded shapes, soft edges, no sharp corners
VISUAL LANGUAGE: Flat vector illustrations with warm palette, people-centric imagery,
storytelling flow, rounded shapes, hand-drawn feel optionalNeo-Pop Magazine:
A complete design system for this deck.
VISUAL REFERENCE: Supreme lookbook meets HYPEBEAST article — typography as graphic art.
CANVAS: 16:9 aspect ratio, 2048x1152 pixels, high quality sharp rendering.
COLOR SYSTEM:
- Background: cream (#FFF8E7) 50%
- Color blocks: hot pink (#FF1493) + cyan (#00CED1) + yellow (#FFD700) 25%
- Text: black (#000000) 25%
- Color creates energy, youth, playful rebellion
TYPOGRAPHY AS DESIGN:
- Headlines: 40-50% of slide area — TYPOGRAPHY IS THE VISUAL
- Body: minimal, 12-14pt
- Size ratio: 10:1 between display and body
- Thick black borders around text blocks
COMPOSITION:
- Modular color blocks with "controlled chaos"
- Stacked asymmetric layouts
- Thick borders as design element
- Content fills 75%, structured chaos not whitespace
VISUAL LANGUAGE: Pixel-art 8-bit icons, cutout photography, speech bubbles,
bold graphic surfaces, sticker/patch aestheticLigne Claire Comics:
A complete design system for this deck.
VISUAL REFERENCE: Hergé's Tintin tradition — maximum information clarity through
visual restraint. Every line serves a purpose.
CANVAS: 16:9 aspect ratio, 2048x1152 pixels, high quality sharp rendering.
COLOR SYSTEM:
- Background: white/cream (#FFFDF7) 70%
- Illustration: flat saturated fills (3-5 solid colors, no gradients) 20%
- Text: black (#000000) outlines and lettering 10%
- Color is informational, not decorative — each color codes a concept
TYPOGRAPHY AS DESIGN:
- Titles: hand-lettered comic feel, bold and warm
- Body: clean sans-serif, in speech bubbles or caption boxes
- Size ratio: 2.5:1 between title and body
- Key quotes in speech bubbles with pointer tails
COMPOSITION:
- Panel-based layouts (2-4 panels per slide), sequential left-to-right reading
- Clear gutters (white space) between panels
- Each panel advances one idea — no panel is decorative
VISUAL LANGUAGE: Uniform-weight black outlines, flat colors without shading
or hatching, no gradients ever, precise details but zero visual noise,
clean backgrounds, characters with simple but expressive facesWhiteboard Sketch:
A complete design system for this deck.
VISUAL REFERENCE: xkcd "What If?" meets a professor's whiteboard after an
exciting lecture — the beautiful mess of someone thinking out loud.
CANVAS: 16:9 aspect ratio, 2048x1152 pixels, high quality sharp rendering.
COLOR SYSTEM:
- Background: pure white (#FFFFFF) 85%
- Ink: black (#000000) for all drawings and text
- Accent: ONE color only (red #FF4444 or blue #4488FF) for highlighting key insights
- The restraint IS the design — monochrome forces focus on the idea
TYPOGRAPHY AS DESIGN:
- Everything hand-drawn/handwritten feel, rough uneven baselines
- Key numbers rendered large (60-80pt) as visual anchors
- Annotations everywhere — arrows, circles, underlines
- Math-style notation where appropriate
COMPOSITION:
- Freeform whiteboard layout, no rigid grid
- Hand-drawn arrows connecting concepts
- Stick figures and simple diagrams
- Informal, alive, like someone just drew this
VISUAL LANGUAGE: Stick figures with expressive poses, hand-drawn wobbly charts
and graphs, annotation arrows, circled keywords, equation-style layouts,
crossed-out wrong answers, "aha!" moments marked with starsManga Educational:
A complete design system for this deck.
VISUAL REFERENCE: Japanese educational manga (学習漫画) like "Manga Guide to
Statistics" — a character GUIDES you through concepts with reactions and drama.
CANVAS: 16:9 aspect ratio, 2048x1152 pixels, high quality sharp rendering.
COLOR SYSTEM:
- Background: white with selective color panels
- Characters: bright warm palette, skin tones + hair colors
- Emphasis: screen-tone gray for flashback/explanation areas
- Accent: manga-style color bursts for key moments
TYPOGRAPHY AS DESIGN:
- Bold manga-style impact titles (thick, slightly angled)
- Body text in speech bubbles and thought clouds
- Onomatopoeia (ドキドキ, !!!) as decorative design elements
- Size contrast 3:1, dramatic for emphasis moments
COMPOSITION:
- Dynamic manga panel layouts (3-5 panels per slide)
- Character reactions drive emphasis — big eyes for surprise, sweat drops for confusion
- Speed lines radiating from key insights
- Reading flow: right-to-left for authenticity, or left-to-right for international
VISUAL LANGUAGE: Expressive anime-style characters, big emotional reaction faces,
manga effects (sparkles ✨, speed lines, impact stars, sweat drops 💧),
panel borders with varied thickness, dramatic angles on key revealsWarm Comic Strip:
VISUAL REFERENCE: Charles Schulz Peanuts comic strip — warm, philosophical, charming.
Characters include round-headed kids, a lovable beagle dog, and a small yellow bird.
The world is simple (grass, sky, doghouse, trees) but the ideas are deep.
CANVAS: 16:9 aspect ratio, 2048x1152 pixels, high quality rendering.
COLOR SYSTEM: Warm cream/newspaper tone background, soft muted pastels,
warm ink lines (not harsh black). Everything feels like a Sunday morning comic page.NOTE: Keep this base style SHORT. Do not add detailed color ratios, composition rules, or typography specs — over-constraining kills diversity and character variety. See proven-styles-snoopy.md for the full principle: describe mood, not layout.
🎨 Custom Character Style Reference
Users may reference specific cartoon/anime aesthetics (e.g., "Doraemon style", "Ghibli feel"). Extract the visual DNA and build a prompt around the style traits, not the character IP.
Common references → prompt traits:
| User says | Shape language | Line quality | Palette | Emotional tone |
|---|---|---|---|---|
| "Doraemon" | Round, soft | Clean uniform | Bright primary blue + white + red | Warm, magical, educational |
| "Studio Ghibli" | Organic, natural | Detailed watercolor | Natural greens, sky blues, earth tones | Wonder, warmth, nostalgia |
| "Calvin and Hobbes" | Dynamic, varied | Expressive ink brush | Lush outdoor greens, sunset oranges | Philosophical, adventurous |
| "One Piece" | Exaggerated, bold | Thick dynamic | High-contrast, saturated | Energetic, dramatic |
| "Crayon Shin-chan" | Crude, chunky | Rough crayon-like | Flat bright primary | Absurd, everyday humor |
| "Adventure Time" | Geometric, simple | Thin uniform | Pastel candy colors | Whimsical, surreal |
| "Snoopy/Peanuts" | Simple, round | Clean thin (#333333 not #000) | Muted warm pastels (#FFF8E8 base) | Philosophical, gentle — ⭐ See proven-styles-snoopy.md for detailed proven guide |
Template:
CUSTOM STYLE: Inspired by [reference name] aesthetic.
Shape language: [round/angular/geometric/organic]
Line quality: [thin uniform / thick varied / sketchy / brushwork]
Color palette: [specific hex codes extracted from that aesthetic]
Character style: [proportions, expressiveness, detail level]
Background treatment: [detailed/minimal/abstract/none]
Emotional tone: [warm/energetic/philosophical/surreal/dramatic]Per-Slide Prompt Template
Replace [bracketed items] with your content. The key difference from boring prompts: every slide has a Visual Reference, Design Intent, and Visual Narrative.
Create a slide that feels like [visual reference — what specific publication/brand
does this slide evoke? e.g., "a WIRED feature page about breakthrough tech",
"a Bloomberg data visualization", "an Apple keynote product reveal moment"].
[Paste Base Style from above]
DESIGN INTENT: [What should the viewer FEEL? Not what they should read.
e.g., "the asymmetric risk-reward structure should be viscerally obvious",
"the viewer should feel the urgency of time decay",
"the scale of the number should provoke awe"]
TEXT TO RENDER (must be perfectly legible and accurately spelled):
- [Role]: "[exact text]" — rendered as [design instruction, e.g., "120pt hero metric",
"oversized graphic headline occupying 30% of slide"]
- [Role]: "[exact text]" — rendered as [design instruction]
VISUAL NARRATIVE: [Describe what to SEE using metaphors, photography language,
and emotional atmosphere. NOT layout positions.
e.g., "A golden curve emerging from darkness, flat and gray in the loss zone,
then bending upward into brilliant warm light at the break-even point.
The chart has NO grid lines — just the pure dramatic curve and the giant number
floating at the inflection point like a spotlight."]Slide Type Examples (GOOD approach)
Cover — WIRED Editorial style:
Create a slide that feels like the opening spread of a WIRED magazine feature story.
[WIRED Editorial Base Style]
DESIGN INTENT: The viewer should feel they're about to read something important
and intellectually exciting — not another corporate deck.
TEXT TO RENDER:
- Title: "期权" — rendered as massive 80pt graphic headline, taking up 40% of
slide width, white on charcoal, the characters themselves ARE the design
- Subtitle: "用有限的代价撬动无限的可能" — 18pt, teal accent, positioned as
a magazine tagline below the title
- Tag: "STOCK OPTIONS GUIDE" — 10pt, spaced-out caps, subtle teal
VISUAL NARRATIVE: The left side is dominated by the oversized Chinese characters,
treated as graphic art — not just text. The right side features an abstract
geometric composition: interlocking angular shapes in charcoal and dark navy,
with thin teal neon lines tracing the edges like circuit paths. The overall
feeling is a tech magazine you'd pick up at an airport bookstore.Explanation — Manga Educational style:
Create a slide that feels like a page from "Manga Guide to Economics" —
a cheerful character explaining a concept, with dramatic manga reactions
when the key insight lands.
[Manga Educational Base Style]
DESIGN INTENT: The viewer should feel GUIDED through the concept by a
friendly character. The "aha moment" should trigger a visible manga-style
reaction — surprise eyes, sparkles — making the abstract feel personal.
TEXT TO RENDER:
- Title: "什么是期权?" — bold manga impact title, slightly angled, top of slide
- Speech bubble 1: "期权就是花一小笔钱买一个权利" — character explaining
- Speech bubble 2: "但不是义务哦!" — character with index finger up, emphasis
- Reaction text: "原来如此!" — in a starburst speech bubble, eureka moment
VISUAL NARRATIVE: A 3-panel manga layout. Panel 1 (large, left half): a
friendly anime-style character (teacher/guide) with warm smile, pointing
at a simple diagram of "premium → right to buy". Panel 2 (top-right): the
same character holding up a finger with sparkle effect, emphasizing "right,
not obligation". Panel 3 (bottom-right): a second character (student) with
classic manga surprise face — big eyes, mouth open, lightbulb above head,
speed lines radiating outward. Clean white backgrounds in each panel,
thin black panel borders.Concept — Whiteboard Sketch style:
Create a slide that feels like a brilliant professor just finished drawing
on a whiteboard — messy, alive, and suddenly everything clicks.
[Whiteboard Sketch Base Style]
DESIGN INTENT: The viewer should feel like they're sitting in the front
row of a great lecture. The hand-drawn quality makes complex finance feel
accessible and human, not intimidating.
TEXT TO RENDER:
- Title: "Call vs Put" — hand-drawn, underlined twice
- Left diagram label: "看涨 Call" with upward arrow
- Right diagram label: "看跌 Put" with downward arrow
- Annotation: "一个赌涨 一个赌跌 就这么简单" — circled in red
VISUAL NARRATIVE: A white canvas that looks like a freshly-used whiteboard.
On the left, a hand-drawn stick figure happily riding an upward arrow
(labeled "Call 看涨"), the arrow drawn with confident upward strokes.
On the right, another stick figure with an umbrella as a downward arrow
descends (labeled "Put 看跌"), suggesting protection. Between them,
a hand-drawn "VS" in a rough circle. At the bottom, a wobbly hand-drawn
underline beneath the annotation "就这么简单", circled in red marker —
the only color on the entire slide. Arrows, crossed-out attempts, and
small doodles in margins give it authentic whiteboard energy.Chinese Text Tips for Path B
1. Keep titles ≤8 characters — AI renders short Chinese text most reliably 2. Body text ≤30 characters per line — longer lines risk garbling 3. Avoid rare characters — stick to common vocabulary 4. If text renders incorrectly — simplify the text or split into shorter phrases 5. Always verify — check every slide image for text accuracy before assembly 6. Separate text from visuals — put text in clear areas, not overlapping complex visuals
Parallel Generation Strategy
Generate slides in batches of 3-5 concurrently for speed:
# Run 3 in parallel using background processes
export $(grep GEMINI_API_KEY ~/.claude/.env)
uv run generate_image.py --prompt "slide 1 prompt..." --filename slide-01.png &
uv run generate_image.py --prompt "slide 2 prompt..." --filename slide-02.png &
uv run generate_image.py --prompt "slide 3 prompt..." --filename slide-03.png &
waitPrompt Quality Checklist (Quick Reference)
Before generating any slide, verify:
- [ ] Visual Reference — References a specific publication/brand/art style?
- [ ] Design Intent — Expresses what viewer should FEEL?
- [ ] Color with Purpose — Hex codes + ratios + emotional function?
- [ ] Typography as Design — Headline treated as graphic element with dramatic size ratio?
- [ ] Visual Narrative — Described with metaphors and atmosphere, not layout positions?
- [ ] Negative Space — Explicitly defined as design element?
- [ ] NO Generic Adjectives — Banned: "professional", "clean", "modern", "sleek", "elegant"?
---
5. NotebookLM Slide Prompts
Style Templates (from awesome-notebookLM-prompts)
| Category | Templates |
|---|---|
| Business Editorial | Modern Newspaper, Yellow×Black Editorial, Black×Orange Agency |
| Street/Trendy | Manga Style, Magazine Style, Pink Street-style, Digital Neo Pop |
| Typography-driven | Mincho × Handwritten Mix |
| Art/Avant-garde | Royal Blue×Red Watercolor, Sculpture×Vaporwave, Tech Art Neon |
| Product/Premium | Studio Mockup Premium |
| Athletic/Energy | Sports Athletic Energy |
Each template defines: Global Design Settings (palette, font hierarchy, grid, icon style) + Layout Variations.
NotebookLM Best Practices
1. Notes as source — Write outline in NotebookLM notes, use as source for slide generation 2. Brand book as source — Upload brand guidelines, prompt: "Use the brandbook for branding and styling references" 3. Refresh old decks — Upload existing Google Slides, let AI redesign with new branding 4. Multi-source synthesis — Upload PDFs + videos + web links, AI synthesizes across all 5. Specify audience — "for busy managers" / "for beginners" / "for investors" 6. Two-step method — First generate a speech script, then use the script to generate slides 7. Avoid topic titles — Use narrative topic sentences instead of "Title: Subtitle" format 8. Upload gold standard — Upload your best past presentation as a style reference
Sources:
- Google Blog: 8 ways to use Slide Decks in NotebookLM
- GitHub: awesome-notebookLM-prompts
- XDA Developers: 3 NotebookLM prompts for slides
6. Public Prompt Resources
| Resource | Link | Highlights |
|---|---|---|
| Superside: 15+ AI Prompts for Presentations | Link | Full-type templates: business, case study, webinar |
| Slidesgo Smart Guide | Link | 8 core templates + prompt methodology |
| SlidesAI: 75+ Presentation Prompts | Link | 75+ ready-to-use prompts by scenario |
| awesome-notebookLM-prompts | Link | 20+ visual style YAML templates |
| Sabrina Ramonov: Viral PowerPoints | Link | 3-tier framework with 14 viral layouts |
| Google: Gemini Image Prompting | Link | 6-element formula for image prompts |
| DataCamp: NotebookLM Guide | Link | Full NotebookLM tutorial with slides |
7. Style Selection Guide (实战验证)
核心发现(2026-02-08实测):插画/漫画类风格的AI生成效果远好于「专业极简」类风格。
暗色底+发光文字+大量留白的风格(如WIRED、霓虹冲击、渐变高端、FT数据新闻)在Full AI Visual (Path B)中效果差,已从Base Style Templates中移除。
推荐优先使用的风格(效果最佳): 1. Warm Comic Strip (Snoopy) — 详见 proven-styles-snoopy.md 2. Manga Educational (学習漫画) 3. Ligne Claire Comics (清线) 4. Neo-Pop Magazine (新波普) 5. Whiteboard Sketch (xkcd)
更多实测风格(含10种扩展风格的配色/prompt/适用场景): → proven-styles-gallery.md
样例图片(17种风格的压缩版,每张<1MB): → ../assets/style-samples/
Proven Styles Gallery: 18 Tested Visual Styles for AI Slides + 5 Professional Editorial Styles
实战验证的风格画廊。基于2026-02-08小红书介绍PPT项目,同一页slide(种草链路:发现→种草→搜索→购买)在17种风格下全部一次生成成功。
2026-02-09蕴煜AI培训项目验证Neo-Brutalism风格(Day1 67页 + Day2 64页全部HTML渲染成功)。
样例图片见 assets/style-samples/ 目录。风格推荐策略
核心发现:插画/漫画类风格的AI生成效果远好于「专业极简」类风格。
原因分析:
- 漫画/插画风格有明确的视觉语言(线条、角色、色块),AI可以充分发挥
- 极简风格(暗色底+发光文字+大量留白)缺乏视觉元素,生成出来「空」且「平」
- 有角色/场景的风格信息传达更生动,观众更容易记住
推荐优先级
第一梯队(强烈推荐,效果极好):
| 风格 | 适合场景 | 核心特点 |
|---|---|---|
| Snoopy温暖漫画 | 品牌介绍、教育、个人IP | 温暖治愈,角色引导,信息量充足 |
| 学習漫画 Manga | 教程、培训、知识分享 | 角色反应驱动理解,趣味性强 |
| Ligne Claire清线 | 产品说明、流程解释 | 信息清晰度最高,面板叙事 |
| Neo-Pop新波普 | 年轻品牌、社交平台、活动 | 潮流感强,视觉冲击力大 |
第二梯队(推荐,特定场景效果好):
| 风格 | 适合场景 | 核心特点 |
|---|---|---|
| Neo-Brutalism新粗野主义 | 企业培训、线下分享、信息密集 | 粗边框+色块+大字,远距离可读 |
| xkcd白板手绘 | 技术分享、极客受众、课堂 | 极简幽默,复杂概念秒懂 |
| The Oatmeal信息图漫画 | 科普、社交传播、内部培训 | 搞笑夸张,信息密度适中 |
| 苏联构成主义 | campaign、动员、品牌宣言 | 力量感强,辨识度极高 |
| 敦煌壁画 | 国风品牌、文化项目、高端场合 | 东方美学,庄重诗意 |
| 浮世绘 | 日本/东方市场、跨境品牌 | 浪潮隐喻天然表达递进 |
第三梯队(可用,需要合适场景):
| 风格 | 适合场景 | 核心特点 |
|---|---|---|
| 温暖叙事 | 用户故事、品牌故事 | 人物场景生动自然 |
| 孔版印刷Risograph | 独立品牌、创意行业、音乐 | 双色叠印独特美学 |
| 等轴测Isometric | 科技产品、SaaS流程 | 2.5D游戏世界感 |
| Bauhaus包豪斯 | 设计行业、建筑、教育 | 几何=逻辑 |
| 工程蓝图Blueprint | 技术架构、工程方案 | 精密机器隐喻 |
| 复古广告Vintage Ad | 消费品、零售、怀旧 | 乐观复古好感 |
| 达达拼贴Collage | 创意行业、广告、破冰 | 反规则,最另类 |
| 像素画Pixel Art | 游戏、年轻群体、gamification | RPG任务隐喻 |
按主题自动推荐
在Step 2推荐3个风格时,优先从下表的推荐池中选:
| 主题类型 | 第一推荐 | 第二推荐 | 第三推荐 |
|---|---|---|---|
| 品牌/产品介绍 | Snoopy温暖漫画 | Neo-Pop新波普 | 浮世绘/敦煌(东方品牌) |
| 教育/培训 | Neo-Brutalism | 学習漫画 | Snoopy温暖漫画 |
| 技术分享 | xkcd白板 | Neo-Brutalism | Ligne Claire |
| 数据报告 | Ligne Claire | 苏联构成主义 | Neo-Brutalism |
| 年轻受众 | Neo-Pop | 像素画 | 孔版印刷 |
| 创意/艺术 | 达达拼贴 | 孔版印刷 | The Oatmeal |
| 国风/东方 | 敦煌壁画 | 浮世绘 | 温暖叙事 |
| 正式商务 | Pentagram Editorial | Neo-Brutalism | Ligne Claire |
| 行业分析/咨询 | Pentagram Editorial | Fathom Data | Ligne Claire |
| 培训课件/教材 | Neo-Brutalism | Müller-Brockmann Grid | 学習漫画 |
| 投资/融资路演 | Build Luxury Minimal | Pentagram Editorial | Takram Speculative |
| 产品发布/keynote | 苏联构成主义 | Neo-Pop | Neo-Brutalism |
| 内部分享 | Neo-Brutalism | The Oatmeal | xkcd白板 |
---
第一梯队详细参考
1. Snoopy温暖漫画 (Warm Comic Strip)
详细指南见 → proven-styles-snoopy.md
快速参考:
- 视觉参考:Peanuts / Charles Schulz
- 背景:暖米色(#FFF8E8) | 墨线:暖深色(#333333) | 强调:天蓝(#87CEEB) + 草绿(#8FBC8F) + 日落橙(#F4A460)
- 核心元素:大圆头小身体角色 + 锯齿草地线 + speech bubble + 极简背景
- 关键:始终指定"NOT Snoopy or Charlie Brown — an original character with Peanuts proportions"
2. 学習漫画 Manga Educational
Base Style已在prompt-templates.md中。
实测关键发现:
- 角色反应驱动学习——惊讶脸、闪光效果让重点「活」起来
- 3-5面板布局最佳,太多面板会拥挤
- 速度线、星光等漫画特效增强信息优先级
- 对话泡是天然的信息容器
3. Ligne Claire 清线漫画
Base Style已在prompt-templates.md中。
实测关键发现:
- 信息清晰度最高——均匀线条+平涂色块=零视觉噪音
- 2-4面板按需分配,不必强制四格
- 适合需要精确传达信息的场景
- 缺点:情感张力较弱,不如Snoopy温暖
4. Neo-Pop Magazine 新波普杂志
Base Style已在prompt-templates.md中。
实测关键发现:
- 字体大小对比(10:1)是核心——标题占据50%画面
- 色块分区帮助信息组织
- 注意:prompt中避免出现字号数字(如20pt),会被当做文字渲染
---
第二梯队详细参考
5. xkcd白板手绘 (Whiteboard Sketch)
Base Style已在prompt-templates.md中。适合极客受众。
6. The Oatmeal信息图漫画
配色: 浅灰白(#F8F8F8) + 亮橙(#FF6B35) + 深灰(#333333) + 品牌红(#FF2442) 核心: 大头角色极度夸张表情 + 粗线条手绘风 + 信息图式数据
7. 苏联构成主义 (Soviet Constructivism)
配色: 革命红(#CC0000) 40% + 黑(#1A1A1A) 25% + 米白(#F5E6D3) 30% 核心prompt要素:
- 对角线楔形从左下到右上——核心视觉元素
- 所有文字旋转15-30度——没有水平线
- 几何形状代表不同步骤,从小到大(视觉crescendo)
- NO gradients,纯色填充+锐利边缘
- 三色限定——限制就是力量
8. 敦煌壁画 (Dunhuang Mural)
配色: 赭石底(#D4A574) + 石青(#2E86AB) + 朱砂(#C53D43) + 石绿(#5DAE8B) + 金(#C4A35A) 核心prompt要素:
- 卷轴叙事从左到右
- 飞天飘带贯穿四阶段
- 受敦煌飞天启发的优雅人物(NOT直接佛教形象)
- 祥云、莲花、金箔边框
- 矿物质颜料感——略哑光,不数码亮
9. 浮世绘 (Ukiyo-e)
配色: 和纸米白(#F5F0E1) + 靛蓝(#1B4B7A) + 朱红(#C53D43) + 金(#C4A35A) 核心prompt要素:
- 浪潮隐喻:涟漪→涌浪→巨浪→破浪(对应4步)
- 浮世绘cartouche标签
- 日式云纹装饰
- 木版画质感——平涂无渐变
---
第三梯队详细参考
10. 温暖叙事 (Warm Narrative)
配色: 暖奶油(#FDF6EC) + 深灰(#3D3D3D) + 珊瑚(#E17055) 核心: 暖色人物插画 + 生活场景 + 最有「人情味」
11. 孔版印刷 (Risograph)
配色: 纸色(#FAF3E0) + 荧光粉(#FF6B9D) + 蓝(#0077B6) → 叠印紫(#6B3FA0) 核心: 严格双色叠印 + 套色错位2-3px + 半色调网点 + 粗糙纸感
12. 等轴测 (Isometric)
配色: 浅灰蓝(#DDE1E7) + 薰衣草/薄荷绿/珊瑚/柔黄 各平台一色 核心: 2.5D视角 + 4个递升平台 + 小人物走楼梯 + Monument Valley美学
13. Bauhaus包豪斯
配色: 纸白(#FAFAFA) + 红(#E53935) + 蓝(#1E88E5) + 黄(#FDD835) + 黑(#212121) 核心: 圆/三角/方/星代表4步 + 色彩有心理学意义 + 形式跟随功能
14. 工程蓝图 (Blueprint)
配色: 蓝图蓝(#1B3A5C) 75% + 白线(#FFFFFF) 20% + 红标注(#FF2442) 5% 核心: 白色线条图on深蓝底 + 工程方格纸网格 + 尺寸标注线 + 技术标题栏
15. 复古广告 (1950s Vintage Ad)
配色: 奶油白(#FFF8E7) + 复古红(#C0392B) + 薄荷绿(#1ABC9C) + 暖棕金(#8B6914) 核心: 乐观美式插画 + 半色调网点 + 复古丝带横幅 + 美好生活叙事
16. 达达拼贴 (Dada Collage)
配色: 无固定——混搭就是风格。纸白(#F5F5F5) + 墨黑 + 品牌红 + 胶带黄(#FFEAA7) + 随机彩色 核心: 撕纸碎片 + 混搭字体+角度 + 胶带别针 + 有序的混乱 + 橡皮印章数据
17. 像素画RPG (Pixel Art)
配色: 16-bit调色板。天空蓝 + 草地绿(#4CAF50) + UI深蓝(#1A237E) + 金(#FFD700) 核心: 横版RPG世界地图 + 像素角色4个区域 + RPG进度条 + 文字框 + QUEST隐喻
18. Neo-Brutalism 新粗野主义
视觉参考: Gumroad官网、Figma社区模板、小红书官方PPT、Figma品牌设计 验证项目: 2026-02-09 蕴煜AI培训项目(Day1 67页 + Day2 64页全部HTML渲染成功)
配色: 奶油(#F5E6D3) 40% + 革命红(#FF3B4F) 25% + 金黄(#FFD700) 20% + 深黑(#1A1A1A) 15% 配色原则: 高对比原色搭配——暖色底+强调色块+黑色边框,无渐变
核心prompt要素:
1. 粗黑边框 (CSS: border: 4-6px solid #1A1A1A)
- 所有重要元素都有粗黑边框
- 边框宽度4-6px,绝不细于3px
- 边框必须完整,不能断裂或缺失
2. 高饱和色块分区
- 色块之间边界清晰,无模糊过渡
- 每个模块一个主色,不混色
- 色块面积大,留白少
3. 超大字排版 (CSS: font-size: 3-6vw)
- 标题字号占幻灯片15-30%面积
- 无衬线粗体字(Helvetica Neue Bold、Arial Black)
- 文字对齐:左对齐或居中,不右对齐
4. 偏移阴影 (CSS: box-shadow: 8px 8px 0 #1A1A1A)
- 阴影完全实色,无模糊
- 向右下偏移6-10px
- 阴影颜色必须是黑色
5. 扁平化图标
- 几何形状图标(圆、方、三角)
- 图标有粗边框
- 无立体感、无渐变
实测关键发现(蕴煜AI培训项目131页验证):
- 远距离可读性极强 — 粗边框+大字让投影效果远超其他风格,10米外仍清晰
- 信息层次天然清晰 — 色块分区自带视觉分组,无需额外设计
- HTML渲染稳定性高 — 相比漫画风格,Neo-Brutalism的CSS非常简单(无复杂SVG、无曲线),渲染成功率接近100%
- 适合信息密集场景 — 每页可容纳3-5个模块,互不干扰
- 无需AI生成 — 纯CSS即可完美实现,不依赖AI图片生成(这是关键优势)
最佳适用场景:
- 企业内训(信息量大、需远距离可读)
- 线下技术分享(投影仪环境)
- 数据密集报告(多模块并存)
- Workshop工作坊(需要清晰的步骤指引)
注意事项:
- 避免使用蓝色或紫色底(容易变成赛博风)
- 文字必须黑色或深色,不要白色(Neo-Brutalism的核心是「强对比」而非「反白」)
- 如果出现溢出,减少内容而非缩小字号——大字是灵魂
与其他风格的区别:
- vs Bauhaus:Neo-Brutalism更「粗暴」,边框更粗,色彩更饱和
- vs Neo-Pop:Neo-Pop有杂志感和装饰元素,Neo-Brutalism完全功能主义
- vs 苏联构成主义:构成主义有对角线和动态感,Neo-Brutalism是正交网格
搜索关键词(灵感参考):
neubrutalism web designbrutalist poster designGumroad brand designflat design with thick borders
---
第四类:Professional / Editorial 设计系统(Path A 专用)
以下5种风格使用 HTML→PPTX 路径,依赖精确排版和网格系统。详细 preset 定义见 SKILL.md「第四类」章节。
| # | 风格 | 适合场景 | 核心特点 | 执行路径 |
|---|---|---|---|---|
| P1 | Pentagram Editorial | 行业分析、咨询报告、数据驱动 | 字体即语言,瑞士网格,ONE accent color | Path A |
| P2 | Fathom Data Narrative | 数据报告、科学展示、研究汇报 | 高信息密度+设计优雅,图表即叙事 | Path A |
| P3 | Müller-Brockmann Grid | 培训课件、技术架构、流程说明 | 数学精确网格,功能主义至上 | Path A |
| P4 | Build Luxury Minimal | 投资路演、品牌高管汇报、奢侈品 | 75%留白,微妙字重变化,高端克制 | Path A |
| P5 | Takram Speculative | 设计思维、产品愿景、战略规划 | 柔和科技感,概念原型图作为核心视觉 | Path A(配图可AI辅助) |
实战验证:Pentagram Editorial 在口腔行业分析15页deck中验证成功(_temp/口腔行业分析/slides/) 更深入的风格细节:参考 design-philosophy skill 的 references/design-styles.md
---
完整Prompt模板存档
第二轮10种扩展风格的完整可复制prompt,详见: /Users/alchain/Documents/写作/_temp/xiaohongshu-ppt-compare/风格对比-Prompt记录.md
Snoopy风格的详细per-slide模板,详见: proven-styles-snoopy.md
Neo-Brutalism的完整HTML模板(131页验证版本),详见: /Users/alchain/Documents/写作/自媒体经验梳理/蕴煜AI培训-202602/Day1-AI认知与工作流/ /Users/alchain/Documents/写作/自媒体经验梳理/蕴煜AI培训-202602/Day2-AI编程与Claude生态/
Proven Style Guide: Snoopy / Peanuts 温暖漫画风
实战验证的风格指南。核心原则:描述情绪和世界观,不要微操构图细节。让AI自由发挥。
核心风格(只需要记住这些)
一句话描述: Peanuts漫画的温暖与哲理感——简单的角色说着深刻的话,日常场景中蕴含人生智慧。
视觉世界观:
- 角色包括圆头小孩、小狗、小鸟,它们组成一个温暖的小世界
- 背景极简——草地、天空、狗屋、树就是全部世界
- 色调温暖柔和,像泛黄的报纸漫画
- 哲学感来自「简单角色 × 深刻话语」的反差
Base Style Prompt
每张slide附加这段即可,不要在per-slide prompt中重复约束视觉细节:
VISUAL REFERENCE: Charles Schulz Peanuts comic strip — warm, philosophical, charming.
Characters include round-headed kids, a lovable beagle dog, and a small yellow bird.
The world is simple (grass, sky, doghouse, trees) but the ideas are deep.
CANVAS: 16:9 aspect ratio, 2048x1152 pixels, high quality rendering.
COLOR SYSTEM: Warm cream/newspaper tone background, soft muted pastels, warm ink lines (not harsh black). Everything feels like a Sunday morning comic page.Per-Slide Prompt原则
DO:
- 只描述「这页想传达什么感受」+「需要渲染的文字」
- 用一两句话描述画面情绪("角色在狗屋顶上看星空,若有所思")
- 让AI自己决定构图、角色数量、背景细节
DON'T:
- ❌ 不要指定具体颜色hex值的比例(60%/25%/15%)
- ❌ 不要写CSS式的布局指令("标题居中偏上"、"副标题放在speech bubble中")
- ❌ 不要限制角色数量或具体姿势("角色坐在草地上仰望")
- ❌ 不要限制"NOT Snoopy or Charlie Brown"——这种反面约束反而让AI生成的角色更单调
Prompt示例(好 vs 坏)
坏(过度约束):
A cute round-headed cartoon character (NOT Snoopy or Charlie Brown — an original
simple character with Peanuts proportions) sits on a simple zigzag grass line,
gazing up at the large hand-lettered title floating above. Background: soft warm
cream (#FFF8E8) 60%. Ink color: warm brown-black (#333333). A speech bubble extends
from the character with subtitle text. Small puffy clouds dot the sky. Bottom:
small text in 10pt.→ 结果:只有一个generic圆头小人,没有狗,没有鸟,构图死板
好(描述情绪,给AI空间):
Create a warm Peanuts-style cover slide.
[Base Style]
The cover should feel inviting and curious — like the opening panel of a
Sunday comic strip where something interesting is about to happen.
TEXT TO RENDER:
- Title: "企业AI实战培训"
- Subtitle: "Day 2 — 数据分析与办公提效"
- Footer: "讲师:花生 | 2026年2月"
Let the characters and scene naturally complement the topic.→ 结果:Charlie Brown坐在桌前工作,Snoopy趴在旁边陪伴,自然温馨
适用场景
| 场景 | 匹配度 |
|---|---|
| 产品/品牌介绍 | 极佳 |
| 教育/培训 | 极佳 |
| 个人分享/演讲 | 极佳 |
| 数据报告 | 好 |
| 严肃商业提案 | 一般 |
| 复杂技术架构 | 不推荐 |
实战经验
- 2026-02-08 Day1课件(原版prompt): 10张slides,角色多样(小孩+狗+鸟),构图丰富,效果极佳
- 2026-02-08 Day2测试(过度约束版prompt): 5张slides,只有一个圆头角色,无狗无鸟,多样性差
- 教训: few-shot越多、限制越细,生成多样性越差。信任AI的创造力。
#!/usr/bin/env python3
# /// script
# requires-python = ">=3.10"
# dependencies = [
# "python-pptx>=1.0.0",
# "Pillow>=10.0.0",
# ]
# ///
"""
Create PPT presentations from images.
Usage:
uv run create_slides.py img1.png img2.png -o output.pptx
uv run create_slides.py img1.png img2.png -t "Title 1" "Title 2" --layout title_above -o slides.pptx
uv run create_slides.py *.png --layout grid --cols 3 -o gallery.pptx
"""
import argparse
import math
import sys
from pathlib import Path
from PIL import Image as PILImage
from pptx import Presentation
from pptx.dml.color import RGBColor
from pptx.enum.text import PP_ALIGN, MSO_ANCHOR
from pptx.util import Inches, Pt, Emu
LAYOUTS = ["fullscreen", "title_above", "title_below", "title_left", "center", "grid"]
SLIDE_WIDTH = Inches(13.333)
SLIDE_HEIGHT = Inches(7.5)
def hex_to_rgb(hex_str: str) -> RGBColor:
hex_str = hex_str.lstrip("#")
r, g, b = int(hex_str[0:2], 16), int(hex_str[2:4], 16), int(hex_str[4:6], 16)
return RGBColor(r, g, b)
def fit_image_size(
img_w: int, img_h: int,
max_w: int, max_h: int,
) -> tuple[int, int]:
"""Scale image to fit within max dimensions, preserving aspect ratio."""
ratio_w = max_w / img_w
ratio_h = max_h / img_h
ratio = min(ratio_w, ratio_h)
return int(img_w * ratio), int(img_h * ratio)
def cover_image_size(
img_w: int, img_h: int,
target_w: int, target_h: int,
) -> tuple[int, int, int, int]:
"""Scale image to cover target area (may crop). Returns (width, height, left_offset, top_offset)."""
ratio_w = target_w / img_w
ratio_h = target_h / img_h
ratio = max(ratio_w, ratio_h)
new_w = int(img_w * ratio)
new_h = int(img_h * ratio)
left = (target_w - new_w) // 2
top = (target_h - new_h) // 2
return new_w, new_h, left, top
def get_image_size(image_path: str) -> tuple[int, int]:
with PILImage.open(image_path) as img:
return img.size
def add_textbox(slide, text: str, left, top, width, height,
font_size: int = 28, font_color: RGBColor = None,
bold: bool = True, alignment=PP_ALIGN.LEFT):
txBox = slide.shapes.add_textbox(left, top, width, height)
tf = txBox.text_frame
tf.word_wrap = True
tf.auto_size = None
p = tf.paragraphs[0]
p.text = text
p.font.size = Pt(font_size)
p.font.bold = bold
p.alignment = alignment
if font_color:
p.font.color.rgb = font_color
return txBox
def set_slide_bg(slide, color: RGBColor):
background = slide.background
fill = background.fill
fill.solid()
fill.fore_color.rgb = color
def add_fullscreen_slide(prs, image_path: str, bg_color: RGBColor):
slide = prs.slides.add_slide(prs.slide_layouts[6])
set_slide_bg(slide, bg_color)
img_w, img_h = get_image_size(image_path)
new_w, new_h, left, top = cover_image_size(
img_w, img_h, SLIDE_WIDTH, SLIDE_HEIGHT
)
slide.shapes.add_picture(image_path, left, top, new_w, new_h)
return slide
def add_title_image_slide(prs, image_path: str, title: str,
title_position: str, bg_color: RGBColor,
title_color: RGBColor, title_size: int, margin: float):
slide = prs.slides.add_slide(prs.slide_layouts[6])
set_slide_bg(slide, bg_color)
margin_emu = Inches(margin)
title_h = Inches(1.2)
content_w = SLIDE_WIDTH - 2 * margin_emu
if title_position == "above":
# Title on top
if title:
add_textbox(slide, title, margin_emu, margin_emu, content_w, title_h,
font_size=title_size, font_color=title_color, alignment=PP_ALIGN.LEFT)
img_top = margin_emu + title_h + Inches(0.2)
img_max_h = SLIDE_HEIGHT - img_top - margin_emu
elif title_position == "below":
# Title on bottom
img_top = margin_emu
img_max_h = SLIDE_HEIGHT - title_h - margin_emu * 2 - Inches(0.2)
if title:
add_textbox(slide, title, margin_emu, img_top + img_max_h + Inches(0.2),
content_w, title_h, font_size=title_size, font_color=title_color)
else: # left
title_w = Inches(3.5)
if title:
add_textbox(slide, title, margin_emu, margin_emu, title_w, SLIDE_HEIGHT - 2 * margin_emu,
font_size=title_size, font_color=title_color)
content_w = SLIDE_WIDTH - title_w - margin_emu * 3
margin_emu = title_w + margin_emu * 2
img_top = Inches(margin)
img_max_h = SLIDE_HEIGHT - 2 * Inches(margin)
# Add image
img_w, img_h = get_image_size(image_path)
new_w, new_h = fit_image_size(img_w, img_h, content_w, img_max_h)
# Center horizontally within content area
if title_position == "left":
img_left = margin_emu + (content_w - new_w) // 2
else:
img_left = Inches(margin) + (content_w - new_w) // 2
img_top_centered = img_top + (img_max_h - new_h) // 2
slide.shapes.add_picture(image_path, img_left, img_top_centered, new_w, new_h)
return slide
def add_center_slide(prs, image_path: str, bg_color: RGBColor, margin: float):
slide = prs.slides.add_slide(prs.slide_layouts[6])
set_slide_bg(slide, bg_color)
margin_emu = Inches(margin)
max_w = SLIDE_WIDTH - 2 * margin_emu
max_h = SLIDE_HEIGHT - 2 * margin_emu
img_w, img_h = get_image_size(image_path)
new_w, new_h = fit_image_size(img_w, img_h, max_w, max_h)
left = (SLIDE_WIDTH - new_w) // 2
top = (SLIDE_HEIGHT - new_h) // 2
slide.shapes.add_picture(image_path, left, top, new_w, new_h)
return slide
def add_grid_slide(prs, image_paths: list[str], cols: int,
bg_color: RGBColor, margin: float):
slide = prs.slides.add_slide(prs.slide_layouts[6])
set_slide_bg(slide, bg_color)
margin_emu = Inches(margin)
gap = Inches(0.2)
rows = math.ceil(len(image_paths) / cols)
total_w = SLIDE_WIDTH - 2 * margin_emu - (cols - 1) * gap
total_h = SLIDE_HEIGHT - 2 * margin_emu - (rows - 1) * gap
cell_w = total_w // cols
cell_h = total_h // rows
for idx, img_path in enumerate(image_paths):
row = idx // cols
col = idx % cols
cell_left = margin_emu + col * (cell_w + gap)
cell_top = margin_emu + row * (cell_h + gap)
img_w, img_h = get_image_size(img_path)
new_w, new_h = fit_image_size(img_w, img_h, cell_w, cell_h)
img_left = cell_left + (cell_w - new_w) // 2
img_top = cell_top + (cell_h - new_h) // 2
slide.shapes.add_picture(img_path, img_left, img_top, new_w, new_h)
return slide
def main():
parser = argparse.ArgumentParser(description="Create PPT from images")
parser.add_argument("images", nargs="+", help="Image file paths")
parser.add_argument("-o", "--output", required=True, help="Output .pptx file path")
parser.add_argument("-t", "--titles", nargs="*", help="Slide titles")
parser.add_argument("--layout", choices=LAYOUTS, default="fullscreen",
help="Layout mode (default: fullscreen)")
parser.add_argument("--bg-color", default="FFFFFF", help="Background color hex (default: FFFFFF)")
parser.add_argument("--title-color", default="333333", help="Title font color hex (default: 333333)")
parser.add_argument("--title-size", type=int, default=28, help="Title font size in pt")
parser.add_argument("--cols", type=int, default=2, help="Grid columns (for grid layout)")
parser.add_argument("--margin", type=float, default=0.5, help="Margin in inches")
parser.add_argument("--template", help="Template .pptx file path")
args = parser.parse_args()
# Validate images
image_paths = []
for img in args.images:
p = Path(img)
if not p.exists():
print(f"Warning: Image not found, skipping: {img}", file=sys.stderr)
continue
image_paths.append(str(p))
if not image_paths:
print("Error: No valid image files found", file=sys.stderr)
sys.exit(1)
# Create presentation
if args.template:
prs = Presentation(args.template)
else:
prs = Presentation()
prs.slide_width = SLIDE_WIDTH
prs.slide_height = SLIDE_HEIGHT
bg_color = hex_to_rgb(args.bg_color)
title_color = hex_to_rgb(args.title_color)
titles = args.titles or []
if args.layout == "grid":
# Grid: batch images into slides
for i in range(0, len(image_paths), args.cols * 2):
batch = image_paths[i:i + args.cols * 2]
add_grid_slide(prs, batch, args.cols, bg_color, args.margin)
else:
for idx, img_path in enumerate(image_paths):
title = titles[idx] if idx < len(titles) else None
if args.layout == "fullscreen":
add_fullscreen_slide(prs, img_path, bg_color)
elif args.layout == "center":
add_center_slide(prs, img_path, bg_color, args.margin)
elif args.layout in ("title_above", "title_below", "title_left"):
position = args.layout.replace("title_", "")
add_title_image_slide(
prs, img_path, title, position,
bg_color, title_color, args.title_size, args.margin
)
# Save
output_path = Path(args.output)
output_path.parent.mkdir(parents=True, exist_ok=True)
prs.save(str(output_path))
print(f"Presentation saved: {output_path.resolve()}")
print(f" {len(image_paths)} images, {len(prs.slides)} slides, layout: {args.layout}")
if __name__ == "__main__":
main()
Related skills
FAQ
What input formats does huashu-slides accept?
huashu-slides accepts markdown files, technical specs, or agent-generated output and converts that written content into a clean slide deck ready for presentation.
When should developers use huashu-slides?
huashu-slides fits when a developer already has markdown or spec text and needs presentation slides quickly instead of manually rebuilding content in a slide editor.
Is Huashu Slides safe to install?
skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.