SuperAPI AI Directory

huashu-slides

Office & productivity

View repository

Updated 10-13 21:19

About this skill

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 sales grew 23%, with new users as the main driver
Methodology We verified this conclusion through a double-blind experiment

Language rule: slide content must all be in Chinese, retaining only necessary English terms (personal names, brand names, technical proper nouns). Section labels (such as INSIGHT, TAKEAWAY) can use English as design elements.

✅ 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:

  • "I want the XX style" (Ikko Tanaka, Swiss International Style, Bauhaus, Mondrian...)
  • "I'm not sure what style I want"
  • "Can you show me examples of different styles?"

Then consult the design movements reference: references/design-movements.md — Design movements and style reference library

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 ("this direction leans Ikko Tanaka" vs "that one leans Constructivism")
  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 generation results for illustration/comic styles are far better than for "professional minimalist" styles. Comic/illustration styles have a clear visual language (lines, characters, color blocks), so AI can fully leverage it; minimalist styles (dark background + glowing text + lots of white space) lack visual elements, and what is generated is "empty" and "flat".

Pick 3 that match the topic/mood. Use the topic recommendation table below, then present each with its full description.

Auto-recommend by topic (prioritize selections from this table):

Topic type First recommendation Second recommendation Third recommendation
Brand/product introduction Snoopy warm comic Neo-Pop Ukiyo-e/Dunhuang (Eastern brands)
Education/training Neo-Brutalism Learning manga Snoopy warm comic
Technical sharing xkcd whiteboard Neo-Brutalism Ligne Claire
Data report Pentagram editorial Fathom data Ligne Claire
Young audience Neo-Pop Pixel art Stencil printing
Creative/art Dada collage Stencil printing The Oatmeal
Guofeng/Eastern Dunhuang murals Ukiyo-e Takram speculative
Formal business Pentagram editorial Müller-Brockmann grid Build minimal
Product launch/keynote Soviet Constructivism Neo-Pop Pentagram editorial
Internal sharing Neo-Brutalism The Oatmeal xkcd whiteboard
Industry analysis/consulting Fathom data Pentagram editorial Müller-Brockmann grid
Training courseware/teaching materials Takram speculative Warm narrative Learning manga
Investment/funding roadshow Build minimal Pentagram editorial Soviet Constructivism

Complete detailed reference for all 18 styles: references/proven-styles-gallery.md Style sample images: assets/style-samples/ directory


First tier (highly recommended, excellent results):

1. Warm Comic Strip — Snoopy warm comic style

  • Philosophy: The warmth and philosophical feel of Peanuts comics — simple characters saying profound things, everyday scenes containing life wisdom
  • Visual world: A round-headed kid, a dog, and a bird form a warm little world. Minimal backgrounds (grass, sky, doghouse, trees). Color palette like a yellowed newspaper comic
  • Reference: "Like a Peanuts comic strip — warm, philosophical, charming"
  • Style guide: references/proven-styles-snoopy.md
  • ⚠️ Key lesson: Don't over-constrain visual details in the prompt (color ratios, composition positions, character poses), otherwise diversity will be severely reduced. Describe only the mood and content, and let the AI freely interpret

2. Manga Educational — Educational manga style

  • 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 — Clean-line manga style

  • 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 — New Pop magazine style

  • 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"

Second tier (recommended, effective in specific scenarios):

5. Whiteboard Sketch — xkcd whiteboard hand-drawn style

  • 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 — 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 — Warm narrative style

  • 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"

More styles (second/third tier) See references/proven-styles-gallery.md, including: The Oatmeal infographic comic, Dunhuang murals, Ukiyo-e, Risograph printing, Isometric, Bauhaus, Engineering Blueprint, Vintage Ad, Dada Collage, Pixel Art


Fourth category: Professional / Editorial design systems (exclusive to Path A)

⚠️ The following styles strongly recommend using Path A (HTML→PPTX). They rely on precise typography, data visualization, and grid systems, and AI image generation cannot achieve the required precision. The dental industry analysis case has verified the excellent results of Path A + Pentagram editorial style.

8. Pentagram Editorial — Editorial magazine style (Information Architecture school)

  • Philosophy: Pentagram/Michael Bierut — Typography is language, the grid is thought. Use extremely restrained design to let data and content speak for themselves
  • Colors: Cream white (#FFFDF7) bg, near-black (#1A1A1A) text, ONE accent color (such as orange-red #D4480B or brand color)
  • Ratio: 60% whitespace / 30% content / 10% accent
  • Typography: Bold black headings (28pt+) + light body text (10-13pt), English section labels as design elements (INSIGHT / PART 03)
  • Composition: Swiss grid system, 2px black border cards, precise horizontal dividers, embedded data visualization
  • Visual language: Minimal icons, bar charts/pie charts/trend lines, callout boxes, tag labels
  • Reference: "Like a McKinsey insight report meets Monocle magazine — data-rich but editorially elegant"
  • Execution path: Path A only (HTML→PPTX)
  • Battle-tested: Dental industry analysis 15-page deck (_temp/口腔行业分析/slides/)

9. Fathom Data Narrative — Data storytelling style (Scientific journal school)

  • Philosophy: Fathom Information Design — Every pixel must carry information. Scientific rigor + elegant design
  • Colors: White (#FFFFFF) bg, dark gray (#333) text, navy blue (#1A365D) primary + one highlight color
  • Ratio: 50% charts/data / 30% text / 20% whitespace
  • Typography: GT America/Graphik-style sans-serif, large numbers (60pt+) as visual anchors, precise footnotes/source citations
  • Composition: High information density but not crowded, annotation system embedded in the layout, small multiples chart arrays, precise timelines
  • Visual language: Scatter plots, heatmaps, timelines, annotated charts, data labels precise to the decimal
  • Reference: "Like a Nature paper's data supplement meets a Bloomberg data feature"
  • Execution path: Path A only (HTML→PPTX)

10. Müller-Brockmann Grid — Swiss grid style (Purist school)

  • Philosophy: Josef Müller-Brockmann — Objectivity is beauty. A mathematically precise grid system brings order to any chaotic information
  • Colors: white (#FFFFFF) bg, black (#000) text, at most one accent color
  • Ratio: 70% structured grid / 20% text / 10% accent
  • Typography: Akzidenz-Grotesk/Helvetica, strict 8pt baseline grid, absolute left alignment, font-weight contrast (300 vs 700)
  • Composition: 8-column mathematical grid, all elements aligned to grid lines, decorative elements absolutely not allowed, functionalism above all
  • Visual language: pure geometric shapes, black-line tables, precisely aligned lists, no icons, no illustrations
  • Reference: "Like the original Swiss Style poster — timeless, rational, zero decoration"
  • Execution path: Path A only (HTML→PPTX)

11. Build Luxury Minimal — Luxury Minimalist style (Contemporary Brand faction)

  • Philosophy: Build Studio — Refined simplicity is harder than complexity. Convey a high-end feel through generous whitespace and subtle font-weight variations
  • Colors: pure white (#FFFFFF) bg, dark gray (#2D2D2D) text, a single accent (brand color) used very sparingly
  • Ratio: 75% whitespace / 15% text / 10% accent
  • Typography: extremely subtle font-weight variations (200-600), huge titles (48pt+) but light, body text small and refined (12pt), generous letter spacing
  • Composition: golden-ratio composition, very few elements, each page says only one thing, breathing room takes priority
  • Visual language: high-end product images (if available), minimalist icon lines, large areas of solid color blocks, rounded-corner cards
  • Reference: "Like an Apple keynote meets a Celine lookbook — confident restraint"
  • Execution path: Path A (HTML→PPTX)

12. Takram Speculative — Japanese Speculative style (Eastern Philosophy faction)

  • Philosophy: Takram — Technology is a medium for thought. Convey deep thinking through a soft sense of technology and concept prototype diagrams
  • Colors: warm gray (#F5F3EF) bg, dark gray (#3D3D3D) text, sage green (#8B9D77) accent
  • Ratio: 55% warm bg / 25% diagrams / 20% text
  • Typography: rounded sans-serif, titles not bold but large (36pt+), body text warm (14pt), generous line height (1.8)
  • Composition: soft shadows (blur 20px+), rounded corners (16px+), concept diagrams/flowcharts as the core visual, card-based layout
  • Visual language: concept prototype diagrams, soft gradients, flowcharts as art, hand-drawn-feel icons, natural color tones
  • Reference: "Like a Takram project page — where technology feels thoughtful, not aggressive"
  • Execution path: Path A (HTML→PPTX, illustrations may be AI-assisted)

Deeper style details: refer to the design-philosophy skill's references/design-styles.md, containing the complete prompt DNA of 20 design philosophies

🎨 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:

⚠️ nano-banana-pro is an independent external skill,not distributed with this repository. If your ~/.claude/skills/ doesn't have it, just use the equivalent script bundled with this repository (it also calls the Gemini 3 Pro Image API, defaults to 16:9, perfectly suited for slides): uv run <本仓库路径>/huashu-wechat-image/scripts/generate_image.py --prompt "..." --filename "..." --resolution 2K

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 2K

Base 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 image

Per-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
  • Chinese first: all text on slides must be in Chinese, keeping only necessary English terms
  • 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 2K

When there is no nano-banana-pro , you can likewise switch to this repository's huashu-wechat-image/scripts/generate_image.py(see the explanation in Step 3-A).

Quality 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-path

4-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.pptx

Recommended 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=1000

Path 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 recommendations
  • references/proven-styles-snoopy.md — Snoopy/Peanuts style detailed per-slide templates
  • references/prompt-templates.md — Content generation and image prompts
  • references/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). The external skill is not distributed with this repository; if it is not installed, use this repository's huashu-wechat-image/scripts/generate_image.py instead
multi-model External AI for content drafting
design-philosophy In-depth reference for 20 design philosophies (style DNA + scenario templates + review criteria). Detailed prompts and review guides for Professional/Editorial styles are here

Output

  • .pptx files compatible with PowerPoint, Keynote, Google Slides
  • Web-safe fonts for cross-platform compatibility
  • AI illustrations as separate PNG files (reusable)

Produced by Huashu | AI Native Coder · Indie Developer WeChat public account "Huashu" | 300k+ followers | AI tools and productivity improvement Representative works: Xiaomao Fill Light (AppStore Paid Chart Top1) · "One Book to Master DeepSeek"