huashu-slides/SKILL.md
从内容到成品PPTX的端到端演示文稿制作,含AI插画生成和18种设计风格。当用户提到"做PPT"、"做幻灯片"、"演示文稿"、"Keynote"、"slides"时使用。
npx skillsauth add alchaincyf/huashu-skills huashu-slidesInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Create professional presentations: Content → Design → Build → Assembly → Polish.
At the start of every presentation task, ask the user TWO choices:
| 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.
| 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).
Turn raw material into a slide-by-slide outline.
Per slide, define:
Assertion-Evidence rule:
| Bad title | Good title | |-----------|-----------| | Q3 Sales | Q3销售增长23%,新用户是主要驱动力 | | Methodology | 我们通过双盲实验验证了这个结论 |
语言规则:slide内容一律用中文,仅保留必要的英文术语(人名、品牌名、技术专有名词)。 Section label(如 INSIGHT、TAKEAWAY)可用英文作为设计元素。
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:
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."
If the user says things like:
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:
After discussing movements, proceed to recommend 3 concrete presets below.
⚠️ 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温暖漫画风
references/proven-styles-snoopy.md2. Manga Educational — 学習漫画风
3. Ligne Claire Comics — 清线漫画风
4. Neo-Pop Magazine — 新波普杂志风
第二梯队(推荐,特定场景效果好):
5. Whiteboard Sketch — xkcd白板手绘风
6. Soviet Constructivism — 苏联构成主义
7. Warm Narrative — 温暖叙事风
更多风格(第二/三梯队) 详见 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 — 编辑杂志风(信息建筑派)
_temp/口腔行业分析/slides/)9. Fathom Data Narrative — 数据叙事风(科学期刊派)
10. Müller-Brockmann Grid — 瑞士网格风(纯粹主义派)
11. Build Luxury Minimal — 奢侈极简风(当代品牌派)
12. Takram Speculative — 日式思辨风(东方哲学派)
更深入的风格细节:参考 design-philosophy skill 的 references/design-styles.md,包含20种设计哲学的完整提示词DNA
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]
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.
Generate AI illustrations for key slides, then create HTML slide files.
Which slides need illustrations? Prioritize:
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 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:
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?
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.
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 |
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.
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.]
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
Prompt Quality Checklist (verify before every generation):
Technical Rules:
2048x1152 (2K, 16:9) for crisp textGeneration 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
Quality check after generation:
✅ Checkpoint 3-B (Guided: preview all slides as a set; Collaborative: approve each)
Show ALL generated slide images to the user. Ask:
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):
width: 720pt; height: 405pt (16:9)<p>, <h1>-<h6>, <ul>, <ol> tags<div> elements<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
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 |
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.
Show preview to the user. The PPTX file is ready — ask:
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| 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风格的详细提示词和评审指南在此 |
.pptx files compatible with PowerPoint, Keynote, Google Slides花叔出品 | AI Native Coder · 独立开发者 公众号「花叔」| 30万+粉丝 | AI工具与效率提升 代表作:小猫补光灯(AppStore付费榜Top1)·《一本书玩转DeepSeek》
development
为小红书笔记生成高质量配图。默认AI生成(Gemini),仅精确数据表格用HTML兜底。当用户提到"小红书配图"、"小红书封面"、"小红书图片"、"做张小红书图"、"笔记配图"时使用此技能。
development
为微信公众号文章生成高质量配图。支持封面图(2.35:1)、正文插图(16:9/4:3)、信息图。提供两条路径:AI生成(视觉创意型)和HTML渲染(文字精确型)。当用户提到"公众号配图"、"公众号封面"、"文章配图"、"正文插图"、"公众号图片"时使用此技能。
content-media
快速生成2-3个视频大纲方案,含标题、封面建议和结构设计。当用户提到"视频大纲"、"视频结构"、"脚本大纲"、"视频选题"时使用。
testing
基于MrBeast策略检查视频标题、封面和开头钩子。当用户提到"视频标题"、"封面图"、"点击率"、"CTR"、"观看时长"时使用。