tuzi-slide-deck

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Slide Deck Generator

幻灯片生成器

Transform content into professional slide deck images.
将内容转换为专业的幻灯片图片。

Usage

使用方法

bash
/tuzi-slide-deck path/to/content.md
/tuzi-slide-deck path/to/content.md --style sketch-notes
/tuzi-slide-deck path/to/content.md --audience executives
/tuzi-slide-deck path/to/content.md --lang zh
/tuzi-slide-deck path/to/content.md --slides 10
/tuzi-slide-deck path/to/content.md --outline-only
/tuzi-slide-deck  # Then paste content
bash
/tuzi-slide-deck path/to/content.md
/tuzi-slide-deck path/to/content.md --style sketch-notes
/tuzi-slide-deck path/to/content.md --audience executives
/tuzi-slide-deck path/to/content.md --lang zh
/tuzi-slide-deck path/to/content.md --slides 10
/tuzi-slide-deck path/to/content.md --outline-only
/tuzi-slide-deck  # 粘贴内容即可

Script Directory

脚本目录

Agent Execution Instructions:
  1. Determine this SKILL.md file's directory path as
    SKILL_DIR
  2. Script path =
    ${SKILL_DIR}/scripts/<script-name>.ts
ScriptPurpose
scripts/merge-to-pptx.ts
Merge slides into PowerPoint
scripts/merge-to-pdf.ts
Merge slides into PDF
Agent 执行说明:
  1. 将本 SKILL.md 文件的目录路径设置为
    SKILL_DIR
  2. 脚本路径 =
    ${SKILL_DIR}/scripts/<script-name>.ts
脚本用途
scripts/merge-to-pptx.ts
将幻灯片合并为 PowerPoint 文件
scripts/merge-to-pdf.ts
将幻灯片合并为 PDF 文件

Options

选项

OptionDescription
--style <name>
Visual style: preset name,
custom
, or custom style name
--audience <type>
Target: beginners, intermediate, experts, executives, general
--lang <code>
Output language (en, zh, ja, etc.)
--slides <number>
Target slide count (8-25 recommended, max 30)
--outline-only
Generate outline only, skip image generation
--prompts-only
Generate outline + prompts, skip images
--images-only
Generate images from existing prompts directory
--regenerate <N>
Regenerate specific slide(s):
--regenerate 3
or
--regenerate 2,5,8
Slide Count by Content Length:
ContentSlides
< 1000 words5-10
1000-3000 words10-18
3000-5000 words15-25
> 5000 words20-30 (consider splitting)
选项描述
--style <name>
视觉风格:预设名称、
custom
或自定义风格名称
--audience <type>
目标受众:初学者、中级用户、专家、高管、普通大众
--lang <code>
输出语言(en、zh、ja 等)
--slides <number>
目标幻灯片数量(推荐8-25张,最多30张)
--outline-only
仅生成大纲,跳过图片生成
--prompts-only
生成大纲+提示词,跳过图片生成
--images-only
从现有提示词目录生成图片
--regenerate <N>
重新生成指定幻灯片:
--regenerate 3
--regenerate 2,5,8
按内容长度推荐幻灯片数量:
内容长度幻灯片数量
< 1000 字5-10
1000-3000 字10-18
3000-5000 字15-25
> 5000 字20-30(建议拆分内容)

Style System

风格系统

Presets

预设风格

PresetDimensionsBest For
blueprint
(Default)
grid + cool + technical + balancedArchitecture, system design
chalkboard
organic + warm + handwritten + balancedEducation, tutorials
corporate
clean + professional + geometric + balancedInvestor decks, proposals
minimal
clean + neutral + geometric + minimalExecutive briefings
sketch-notes
organic + warm + handwritten + balancedEducational, tutorials
watercolor
organic + warm + humanist + minimalLifestyle, wellness
dark-atmospheric
clean + dark + editorial + balancedEntertainment, gaming
notion
clean + neutral + geometric + denseProduct demos, SaaS
bold-editorial
clean + vibrant + editorial + balancedProduct launches, keynotes
editorial-infographic
clean + cool + editorial + denseTech explainers, research
fantasy-animation
organic + vibrant + handwritten + minimalEducational storytelling
intuition-machine
clean + cool + technical + denseTechnical docs, academic
pixel-art
pixel + vibrant + technical + balancedGaming, developer talks
scientific
clean + cool + technical + denseBiology, chemistry, medical
vector-illustration
clean + vibrant + humanist + balancedCreative, children's content
vintage
paper + warm + editorial + balancedHistorical, heritage
预设名称维度属性适用场景
blueprint
(默认)
网格+冷色调+技术感+平衡架构设计、系统设计
chalkboard
有机质感+暖色调+手写风+平衡教育内容、教程
corporate
简洁+专业+几何风+平衡投资者演示、项目提案
minimal
简洁+中性色+几何风+极简高管简报
sketch-notes
有机质感+暖色调+手写风+平衡教育内容、教程
watercolor
有机质感+暖色调+人文风+极简生活方式、健康内容
dark-atmospheric
简洁+深色+编辑风+平衡娱乐、游戏内容
notion
简洁+中性色+几何风+高密度产品演示、SaaS 介绍
bold-editorial
简洁+鲜艳+编辑风+平衡产品发布、主题演讲
editorial-infographic
简洁+冷色调+编辑风+高密度技术科普、研究报告
fantasy-animation
有机质感+鲜艳+手写风+极简教育类故事内容
intuition-machine
简洁+冷色调+技术感+高密度技术文档、学术内容
pixel-art
像素风+鲜艳+技术感+平衡游戏、开发者分享
scientific
简洁+冷色调+技术感+高密度生物、化学、医疗内容
vector-illustration
简洁+鲜艳+人文风+平衡创意内容、儿童内容
vintage
纸张质感+暖色调+编辑风+平衡历史、文化遗产内容

Style Dimensions

风格维度

DimensionOptionsDescription
Textureclean, grid, organic, pixel, paperVisual texture and background treatment
Moodprofessional, warm, cool, vibrant, dark, neutralColor temperature and palette style
Typographygeometric, humanist, handwritten, editorial, technicalHeadline and body text styling
Densityminimal, balanced, denseInformation density per slide
Full specs:
references/dimensions/*.md
维度可选值描述
纹理(Texture)clean, grid, organic, pixel, paper视觉纹理和背景处理方式
氛围(Mood)professional, warm, cool, vibrant, dark, neutral色温和调色板风格
排版(Typography)geometric, humanist, handwritten, editorial, technical标题和正文文本样式
信息密度(Density)minimal, balanced, dense单张幻灯片的信息密度
完整规格:
references/dimensions/*.md

Auto Style Selection

自动风格选择

Content SignalsPreset
tutorial, learn, education, guide, beginner
sketch-notes
classroom, teaching, school, chalkboard
chalkboard
architecture, system, data, analysis, technical
blueprint
creative, children, kids, cute
vector-illustration
briefing, academic, research, bilingual
intuition-machine
executive, minimal, clean, simple
minimal
saas, product, dashboard, metrics
notion
investor, quarterly, business, corporate
corporate
launch, marketing, keynote, magazine
bold-editorial
entertainment, music, gaming, atmospheric
dark-atmospheric
explainer, journalism, science communication
editorial-infographic
story, fantasy, animation, magical
fantasy-animation
gaming, retro, pixel, developer
pixel-art
biology, chemistry, medical, scientific
scientific
history, heritage, vintage, expedition
vintage
lifestyle, wellness, travel, artistic
watercolor
Default
blueprint
内容信号对应预设
教程、学习、教育、指南、初学者
sketch-notes
课堂、教学、学校、黑板
chalkboard
架构、系统、数据、分析、技术
blueprint
创意、儿童、小孩、可爱
vector-illustration
简报、学术、研究、双语
intuition-machine
高管、极简、简洁、简约
minimal
SaaS、产品、仪表盘、指标
notion
投资者、季度报告、商业、企业
corporate
发布、营销、主题演讲、杂志
bold-editorial
娱乐、音乐、游戏、氛围
dark-atmospheric
科普、新闻、科学传播
editorial-infographic
故事、奇幻、动画、魔法
fantasy-animation
游戏、复古、像素、开发者
pixel-art
生物、化学、医疗、科学
scientific
历史、遗产、复古、探险
vintage
生活方式、健康、旅行、艺术
watercolor
默认
blueprint

Design Philosophy

设计理念

Decks designed for reading and sharing, not live presentation:
  • Each slide self-explanatory without verbal commentary
  • Logical flow when scrolling
  • All necessary context within each slide
  • Optimized for social media sharing
See
references/design-guidelines.md
for:
  • Audience-specific principles
  • Visual hierarchy
  • Content density guidelines
  • Color and typography selection
  • Font recommendations
See
references/layouts.md
for layout options.
幻灯片专为阅读和分享设计,而非现场演示:
  • 每张幻灯片无需口头解说即可自解释
  • 滚动浏览时逻辑流畅
  • 每张幻灯片包含所有必要上下文
  • 针对社交媒体分享优化
查看
references/design-guidelines.md
了解:
  • 针对不同受众的设计原则
  • 视觉层级规则
  • 内容密度指南
  • 颜色和排版选择规则
  • 字体推荐
查看
references/layouts.md
了解布局选项。

File Management

文件管理

Output Directory

输出目录

slide-deck/{topic-slug}/
├── source-{slug}.{ext}
├── outline.md
├── prompts/
│   └── 01-slide-cover.md, 02-slide-{slug}.md, ...
├── 01-slide-cover.png, 02-slide-{slug}.png, ...
├── {topic-slug}.pptx
└── {topic-slug}.pdf
Slug: Extract topic (2-4 words, kebab-case). Example: "Introduction to Machine Learning" →
intro-machine-learning
Conflict Handling: See Step 1.3 for existing content detection and user options.
slide-deck/{topic-slug}/
├── source-{slug}.{ext}
├── outline.md
├── prompts/
│   └── 01-slide-cover.md, 02-slide-{slug}.md, ...
├── 01-slide-cover.png, 02-slide-{slug}.png, ...
├── {topic-slug}.pptx
└── {topic-slug}.pdf
Slug:提取主题(2-4个词,短横线分隔格式)。示例:"机器学习入门" →
intro-machine-learning
冲突处理:现有内容检测和用户选项见步骤1.3。

Language Handling

语言处理

Detection Priority:
  1. --lang
    flag (explicit)
  2. EXTEND.md
    language
    setting
  3. User's conversation language (input language)
  4. Source content language
Rule: ALL responses use user's preferred language:
  • Questions and confirmations
  • Progress reports
  • Error messages
  • Completion summaries
Technical terms (style names, file paths, code) remain in English.
检测优先级:
  1. --lang
    参数(显式指定)
  2. EXTEND.md 的
    language
    设置
  3. 用户对话语言(输入语言)
  4. 源内容语言
规则:所有响应都使用用户偏好语言:
  • 问题和确认信息
  • 进度报告
  • 错误信息
  • 完成总结
技术术语(风格名称、文件路径、代码)保留英文。

Workflow

工作流程

Copy this checklist and check off items as you complete them:
Slide Deck Progress:
- [ ] Step 1: Setup & Analyze
  - [ ] 1.1 Load preferences
  - [ ] 1.2 Analyze content
  - [ ] 1.3 Check existing ⚠️ REQUIRED
- [ ] Step 2: Confirmation ⚠️ REQUIRED (Round 1, optional Round 2)
- [ ] Step 3: Generate outline
- [ ] Step 4: Review outline (conditional)
- [ ] Step 5: Generate prompts
- [ ] Step 6: Review prompts (conditional)
- [ ] Step 7: Generate images
- [ ] Step 8: Merge to PPTX/PDF
- [ ] Step 9: Output summary
复制以下检查清单,完成后标记进度:
幻灯片生成进度:
- [ ] 步骤1:设置与分析
  - [ ] 1.1 加载偏好设置
  - [ ] 1.2 分析内容
  - [ ] 1.3 检查现有内容 ⚠️ 必须执行
- [ ] 步骤2:确认设置 ⚠️ 必须执行(第一轮必选,第二轮可选)
- [ ] 步骤3:生成大纲
- [ ] 步骤4:审核大纲(条件执行)
- [ ] 步骤5:生成提示词
- [ ] 步骤6:审核提示词(条件执行)
- [ ] 步骤7:生成图片
- [ ] 步骤8:合并为 PPTX/PDF
- [ ] 步骤9:输出总结

Flow

流程

Input → Preferences → Analyze → [Check Existing?] → Confirm (1-2 rounds) → Outline → [Review Outline?] → Prompts → [Review Prompts?] → Images → Merge → Complete
输入 → 偏好设置 → 分析 → [检查现有内容?] → 确认(1-2轮)→ 大纲 → [审核大纲?] → 提示词 → [审核提示词?] → 图片 → 合并 → 完成

Step 1: Setup & Analyze

步骤1:设置与分析

1.1 Load Preferences (EXTEND.md)
Use Bash to check EXTEND.md existence (priority order):
bash
undefined
1.1 加载偏好设置(EXTEND.md)
使用 Bash 检查 EXTEND.md 是否存在(优先级顺序):
bash
undefined

Check project-level first

优先检查项目级配置

test -f .tuzi-skills/tuzi-slide-deck/EXTEND.md && echo "project"
test -f .tuzi-skills/tuzi-slide-deck/EXTEND.md && echo "project"

Then user-level (cross-platform: $HOME works on macOS/Linux/WSL)

再检查用户级配置(跨平台:$HOME 适用于 macOS/Linux/WSL)

test -f "$HOME/.tuzi-skills/tuzi-slide-deck/EXTEND.md" && echo "user"

┌──────────────────────────────────────────────────┬───────────────────┐
│                       Path                       │     Location      │
├──────────────────────────────────────────────────┼───────────────────┤
│ .tuzi-skills/tuzi-slide-deck/EXTEND.md         │ Project directory │
├──────────────────────────────────────────────────┼───────────────────┤
│ $HOME/.tuzi-skills/tuzi-slide-deck/EXTEND.md   │ User home         │
└──────────────────────────────────────────────────┴───────────────────┘

**When EXTEND.md Found** → Read, parse, **output summary to user**:
📋 Loaded preferences from [full path] ├─ Style: [preset/custom name] ├─ Audience: [audience or "auto-detect"] ├─ Language: [language or "auto-detect"] └─ Review: [enabled/disabled]

**When EXTEND.md Not Found** → First-time setup using AskUserQuestion or proceed with defaults.

**EXTEND.md Supports**: Preferred style | Custom dimensions | Default audience | Language preference | Review preference

Schema: `references/config/preferences-schema.md`

**1.2 Analyze Content**

1. Save source content (if pasted, save as `source.md`)
   - **Backup rule**: If `source.md` exists, rename to `source-backup-YYYYMMDD-HHMMSS.md`
2. Follow `references/analysis-framework.md` for content analysis
3. Analyze content signals for style recommendations
4. Detect source language
5. Determine recommended slide count
6. Generate topic slug from content

**1.3 Check Existing Content** ⚠️ REQUIRED

**MUST execute before proceeding to Step 2.**

Use Bash to check if output directory exists:

```bash
test -d "slide-deck/{topic-slug}" && echo "exists"
If directory exists, use AskUserQuestion:
header: "Existing"
question: "Existing content found. How to proceed?"
options:
  - label: "Regenerate outline"
    description: "Keep images, regenerate outline only"
  - label: "Regenerate images"
    description: "Keep outline, regenerate images only"
  - label: "Backup and regenerate"
    description: "Backup to {slug}-backup-{timestamp}, then regenerate all"
  - label: "Exit"
    description: "Cancel, keep existing content unchanged"
Save to
analysis.md
with:
  • Topic, audience, content signals
  • Recommended style (based on Auto Style Selection)
  • Recommended slide count
  • Language detection
test -f "$HOME/.tuzi-skills/tuzi-slide-deck/EXTEND.md" && echo "user"

┌──────────────────────────────────────────────────┬───────────────────┐
│                       路径                       │     位置          │
├──────────────────────────────────────────────────┼───────────────────┤
│ .tuzi-skills/tuzi-slide-deck/EXTEND.md         │ 项目目录          │
├──────────────────────────────────────────────────┼───────────────────┤
│ $HOME/.tuzi-skills/tuzi-slide-deck/EXTEND.md   │ 用户根目录        │
└──────────────────────────────────────────────────┴───────────────────┘

**找到 EXTEND.md 时** → 读取、解析,**向用户输出摘要**:
📋 从[完整路径]加载偏好设置 ├─ 风格:[预设/自定义名称] ├─ 受众:[受众类型 或 "自动检测"] ├─ 语言:[语言 或 "自动检测"] └─ 审核:[启用/禁用]

**未找到 EXTEND.md 时** → 使用 AskUserQuestion 完成首次设置,或使用默认值继续。

**EXTEND.md 支持配置**:首选风格 | 自定义维度 | 默认受众 | 语言偏好 | 审核偏好

配置规范:`references/config/preferences-schema.md`

**1.2 分析内容**

1. 保存源内容(如果是粘贴的内容,保存为 `source.md`)
   - **备份规则**:如果 `source.md` 已存在,重命名为 `source-backup-YYYYMMDD-HHMMSS.md`
2. 遵循 `references/analysis-framework.md` 进行内容分析
3. 分析内容信号以推荐风格
4. 检测源语言
5. 确定推荐的幻灯片数量
6. 从内容生成主题 slug

**1.3 检查现有内容** ⚠️ 必须执行

**必须在进入步骤2前执行。**

使用 Bash 检查输出目录是否存在:

```bash
test -d "slide-deck/{topic-slug}" && echo "exists"
如果目录存在,使用 AskUserQuestion:
header: "已有内容"
question: "检测到现有内容,如何继续?"
options:
  - label: "重新生成大纲"
    description: "保留图片,仅重新生成大纲"
  - label: "重新生成图片"
    description: "保留大纲,仅重新生成图片"
  - label: "备份后重新生成"
    description: "备份到 {slug}-backup-{时间戳},然后重新生成全部内容"
  - label: "退出"
    description: "取消操作,现有内容保持不变"
保存到
analysis.md
,包含以下内容:
  • 主题、受众、内容信号
  • 推荐风格(基于自动风格选择)
  • 推荐幻灯片数量
  • 语言检测结果

Step 2: Confirmation ⚠️ REQUIRED

步骤2:确认设置 ⚠️ 必须执行

Two-round confirmation: Round 1 always, Round 2 only if "Custom dimensions" selected.
Language: Use user's input language or saved language preference.
Display summary:
  • Content type + topic identified
  • Language: [from EXTEND.md or detected]
  • Recommended style: [preset] (based on content signals)
  • Recommended slides: [N] (based on content length)
两轮确认:始终执行第一轮,仅当选择「自定义维度」时执行第二轮。
语言:使用用户输入语言或已保存的语言偏好。
展示摘要
  • 识别到的内容类型+主题
  • 语言:[来自 EXTEND.md 或检测结果]
  • 推荐风格:[预设](基于内容信号分析)
  • 推荐幻灯片数量:[N](基于内容长度)

Round 1 (Always)

第一轮(始终执行)

Use AskUserQuestion for all 5 questions:
Question 1: Style
header: "Style"
question: "Which visual style for this deck?"
options:
  - label: "{recommended_preset} (Recommended)"
    description: "Best match based on content analysis"
  - label: "{alternative_preset}"
    description: "[alternative style description]"
  - label: "Custom dimensions"
    description: "Choose texture, mood, typography, density separately"
Question 2: Audience
header: "Audience"
question: "Who is the primary reader?"
options:
  - label: "General readers (Recommended)"
    description: "Broad appeal, accessible content"
  - label: "Beginners/learners"
    description: "Educational focus, clear explanations"
  - label: "Experts/professionals"
    description: "Technical depth, domain knowledge"
  - label: "Executives"
    description: "High-level insights, minimal detail"
Question 3: Slide Count
header: "Slides"
question: "How many slides?"
options:
  - label: "{N} slides (Recommended)"
    description: "Based on content length"
  - label: "Fewer ({N-3} slides)"
    description: "More condensed, less detail"
  - label: "More ({N+3} slides)"
    description: "More detailed breakdown"
Question 4: Review Outline
header: "Outline"
question: "Review outline before generating prompts?"
options:
  - label: "Yes, review outline (Recommended)"
    description: "Review slide titles and structure"
  - label: "No, skip outline review"
    description: "Proceed directly to prompt generation"
Question 5: Review Prompts
header: "Prompts"
question: "Review prompts before generating images?"
options:
  - label: "Yes, review prompts (Recommended)"
    description: "Review image generation prompts"
  - label: "No, skip prompt review"
    description: "Proceed directly to image generation"
对以下5个问题全部使用 AskUserQuestion
问题1:风格
header: "风格"
question: "本次幻灯片使用哪种视觉风格?"
options:
  - label: "{recommended_preset}(推荐)"
    description: "基于内容分析的最佳匹配"
  - label: "{alternative_preset}"
    description: "[替代风格的描述]"
  - label: "自定义维度"
    description: "分别选择纹理、氛围、排版、信息密度"
问题2:受众
header: "受众"
question: "主要读者是哪类人群?"
options:
  - label: "普通读者(推荐)"
    description: "受众广泛,内容通俗易懂"
  - label: "初学者/学习者"
    description: "教育向内容,解释清晰"
  - label: "专家/专业人士"
    description: "有技术深度,需要领域知识"
  - label: "高管"
    description: "高层视角,内容精简突出重点"
问题3:幻灯片数量
header: "幻灯片数量"
question: "生成多少张幻灯片?"
options:
  - label: "{N} 张(推荐)"
    description: "基于内容长度计算"
  - label: "更少({N-3} 张)"
    description: "内容更凝练,细节更少"
  - label: "更多({N+3} 张)"
    description: "内容拆分更细,细节更丰富"
问题4:审核大纲
header: "大纲"
question: "生成提示词前是否需要审核大纲?"
options:
  - label: "是,审核大纲(推荐)"
    description: "检查幻灯片标题和结构"
  - label: "否,跳过大纲审核"
    description: "直接进入提示词生成环节"
问题5:审核提示词
header: "提示词"
question: "生成图片前是否需要审核提示词?"
options:
  - label: "是,审核提示词(推荐)"
    description: "检查图片生成提示词"
  - label: "否,跳过提示词审核"
    description: "直接进入图片生成环节"

Round 2 (Only if "Custom dimensions" selected)

第二轮(仅选择「自定义维度」时执行)

Use AskUserQuestion for all 4 dimensions:
Question 1: Texture
header: "Texture"
question: "Which visual texture?"
options:
  - label: "clean"
    description: "Pure solid color, no texture"
  - label: "grid"
    description: "Subtle grid overlay, technical"
  - label: "organic"
    description: "Soft textures, hand-drawn feel"
  - label: "pixel"
    description: "Chunky pixels, 8-bit aesthetic"
(Note: "paper" available via Other)
Question 2: Mood
header: "Mood"
question: "Which color mood?"
options:
  - label: "professional"
    description: "Cool-neutral, navy/gold"
  - label: "warm"
    description: "Earth tones, friendly"
  - label: "cool"
    description: "Blues, grays, analytical"
  - label: "vibrant"
    description: "High saturation, bold"
(Note: "dark", "neutral" available via Other)
Question 3: Typography
header: "Typography"
question: "Which typography style?"
options:
  - label: "geometric"
    description: "Modern sans-serif, clean"
  - label: "humanist"
    description: "Friendly, readable"
  - label: "handwritten"
    description: "Marker/brush, organic"
  - label: "editorial"
    description: "Magazine style, dramatic"
(Note: "technical" available via Other)
Question 4: Density
header: "Density"
question: "Information density?"
options:
  - label: "balanced (Recommended)"
    description: "2-3 key points per slide"
  - label: "minimal"
    description: "One focus point, maximum whitespace"
  - label: "dense"
    description: "Multiple data points, compact"
After Round 2: Store custom dimensions as the style configuration.
After Confirmation:
  1. Update
    analysis.md
    with confirmed preferences
  2. Store
    skip_outline_review
    flag from Question 4
  3. Store
    skip_prompt_review
    flag from Question 5
  4. → Step 3
对以下4个维度全部使用 AskUserQuestion
问题1:纹理
header: "纹理"
question: "选择哪种视觉纹理?"
options:
  - label: "clean"
    description: "纯色背景,无纹理"
  - label: "grid"
    description: "细网格叠加,技术感强"
  - label: "organic"
    description: "柔和纹理,手绘质感"
  - label: "pixel"
    description: "像素块,8-bit 复古风格"
(注:可通过「其他」选项选择 "paper")
问题2:氛围
header: "氛围"
question: "选择哪种色彩氛围?"
options:
  - label: "professional"
    description: "冷中性调,藏青/金色系"
  - label: "warm"
    description: "大地色系,友好亲切"
  - label: "cool"
    description: "蓝灰色系,理性专业"
  - label: "vibrant"
    description: "高饱和度,醒目活泼"
(注:可通过「其他」选项选择 "dark"、"neutral")
问题3:排版
header: "排版"
question: "选择哪种排版风格?"
options:
  - label: "geometric"
    description: "现代无衬线字体,简洁干净"
  - label: "humanist"
    description: "友好易读"
  - label: "handwritten"
    description: "马克笔/笔刷风格,有机质感"
  - label: "editorial"
    description: "杂志风格,有设计感"
(注:可通过「其他」选项选择 "technical")
问题4:信息密度
header: "信息密度"
question: "单页信息密度是多少?"
options:
  - label: "balanced(推荐)"
    description: "单页2-3个核心要点"
  - label: "minimal"
    description: "单页一个核心焦点,留白多"
  - label: "dense"
    description: "单页包含多个数据点,内容紧凑"
第二轮结束后:将自定义维度保存为风格配置。
确认完成后
  1. 用确认的偏好设置更新
    analysis.md
  2. 保存问题4的
    skip_outline_review
    标记
  3. 保存问题5的
    skip_prompt_review
    标记
  4. → 进入步骤3

Step 3: Generate Outline

步骤3:生成大纲

Create outline using the confirmed style from Step 2.
Style Resolution:
  • If preset selected → Read
    references/styles/{preset}.md
  • If custom dimensions → Read dimension files from
    references/dimensions/
    and combine
Generate:
  1. Follow
    references/outline-template.md
    for structure
  2. Build STYLE_INSTRUCTIONS from style or dimensions
  3. Apply confirmed audience, language, slide count
  4. Save as
    outline.md
After generation:
  • If
    --outline-only
    , stop here
  • If
    skip_outline_review
    is true → Skip Step 4, go to Step 5
  • If
    skip_outline_review
    is false → Continue to Step 4
使用步骤2确认的风格生成大纲。
风格解析
  • 如果选择预设风格 → 读取
    references/styles/{preset}.md
  • 如果选择自定义维度 → 读取
    references/dimensions/
    下的维度文件并组合
生成规则
  1. 遵循
    references/outline-template.md
    的结构
  2. 基于风格或维度构建 STYLE_INSTRUCTIONS
  3. 应用确认的受众、语言、幻灯片数量参数
  4. 保存为
    outline.md
生成完成后
  • 如果指定了
    --outline-only
    ,在此终止流程
  • 如果
    skip_outline_review
    为 true → 跳过步骤4,进入步骤5
  • 如果
    skip_outline_review
    为 false → 进入步骤4

Step 4: Review Outline (Conditional)

步骤4:审核大纲(条件执行)

Skip this step if user selected "No, skip outline review" in Step 2.
Purpose: Review outline structure before prompt generation.
Language: Use user's input language or saved language preference.
Display:
  • Total slides: N
  • Style: [preset name or "custom: texture+mood+typography+density"]
  • Slide-by-slide summary table:
| # | Title | Type | Layout |
|---|-------|------|--------|
| 1 | [title] | Cover | title-hero |
| 2 | [title] | Content | [layout] |
| 3 | [title] | Content | [layout] |
| ... | ... | ... | ... |
Use AskUserQuestion:
header: "Confirm"
question: "Ready to generate prompts?"
options:
  - label: "Yes, proceed (Recommended)"
    description: "Generate image prompts"
  - label: "Edit outline first"
    description: "I'll modify outline.md before continuing"
  - label: "Regenerate outline"
    description: "Create new outline with different approach"
After response:
  1. If "Edit outline first" → Inform user to edit
    outline.md
    , ask again when ready
  2. If "Regenerate outline" → Back to Step 3
  3. If "Yes, proceed" → Continue to Step 5
如果用户在步骤2选择「否,跳过大纲审核」,则跳过本步骤。
目的:生成提示词前审核大纲结构。
语言:使用用户输入语言或已保存的语言偏好。
展示内容
  • 总幻灯片数量:N
  • 风格:[预设名称 或 "自定义:纹理+氛围+排版+信息密度"]
  • 逐页幻灯片摘要表格:
| 序号 | 标题 | 类型 | 布局 |
|---|-------|------|--------|
| 1 | [标题] | 封面 | title-hero |
| 2 | [标题] | 内容 | [布局类型] |
| 3 | [标题] | 内容 | [布局类型] |
| ... | ... | ... | ... |
使用 AskUserQuestion
header: "确认"
question: "是否可以开始生成提示词?"
options:
  - label: "是,继续(推荐)"
    description: "生成图片提示词"
  - label: "先编辑大纲"
    description: "我将修改 outline.md 后再继续"
  - label: "重新生成大纲"
    description: "用不同的逻辑生成新的大纲"
用户响应后
  1. 如果选择「先编辑大纲」 → 告知用户编辑
    outline.md
    ,准备好后再次询问
  2. 如果选择「重新生成大纲」 → 返回步骤3
  3. 如果选择「是,继续」 → 进入步骤5

Step 5: Generate Prompts

步骤5:生成提示词

  1. Read
    references/base-prompt.md
  2. For each slide in outline:
    • Extract STYLE_INSTRUCTIONS from outline (not from style file again)
    • Add slide-specific content
    • If
      Layout:
      specified, include layout guidance from
      references/layouts.md
  3. Save to
    prompts/
    directory
    • Backup rule: If prompt file exists, rename to
      prompts/NN-slide-{slug}-backup-YYYYMMDD-HHMMSS.md
After generation:
  • If
    --prompts-only
    , stop here and output prompt summary
  • If
    skip_prompt_review
    is true → Skip Step 6, go to Step 7
  • If
    skip_prompt_review
    is false → Continue to Step 6
  1. 读取
    references/base-prompt.md
  2. 对大纲中的每一张幻灯片:
    • 从大纲中提取 STYLE_INSTRUCTIONS(不再重复读取风格文件)
    • 添加幻灯片专属内容
    • 如果指定了
      Layout:
      ,引入
      references/layouts.md
      中的布局指导
  3. 保存到
    prompts/
    目录
    • 备份规则:如果提示词文件已存在,重命名为
      prompts/NN-slide-{slug}-backup-YYYYMMDD-HHMMSS.md
生成完成后
  • 如果指定了
    --prompts-only
    ,在此终止流程并输出提示词摘要
  • 如果
    skip_prompt_review
    为 true → 跳过步骤6,进入步骤7
  • 如果
    skip_prompt_review
    为 false → 进入步骤6

Step 6: Review Prompts (Conditional)

步骤6:审核提示词(条件执行)

Skip this step if user selected "No, skip prompt review" in Step 2.
Purpose: Review prompts before image generation.
Language: Use user's input language or saved language preference.
Display:
  • Total prompts: N
  • Style: [preset name or custom dimensions]
  • Prompt list:
| # | Filename | Slide Title |
|---|----------|-------------|
| 1 | 01-slide-cover.md | [title] |
| 2 | 02-slide-xxx.md | [title] |
| ... | ... | ... |
  • Path to prompts directory:
    prompts/
Use AskUserQuestion:
header: "Confirm"
question: "Ready to generate slide images?"
options:
  - label: "Yes, proceed (Recommended)"
    description: "Generate all slide images"
  - label: "Edit prompts first"
    description: "I'll modify prompts before continuing"
  - label: "Regenerate prompts"
    description: "Create new prompts with different approach"
After response:
  1. If "Edit prompts first" → Inform user to edit prompts, ask again when ready
  2. If "Regenerate prompts" → Back to Step 5
  3. If "Yes, proceed" → Continue to Step 7
如果用户在步骤2选择「否,跳过提示词审核」,则跳过本步骤。
目的:生成图片前审核提示词。
语言:使用用户输入语言或已保存的语言偏好。
展示内容
  • 总提示词数量:N
  • 风格:[预设名称 或 自定义维度]
  • 提示词列表:
| 序号 | 文件名 | 幻灯片标题 |
|---|----------|-------------|
| 1 | 01-slide-cover.md | [标题] |
| 2 | 02-slide-xxx.md | [标题] |
| ... | ... | ... |
  • 提示词目录路径:
    prompts/
使用 AskUserQuestion
header: "确认"
question: "是否可以开始生成幻灯片图片?"
options:
  - label: "是,继续(推荐)"
    description: "生成所有幻灯片图片"
  - label: "先编辑提示词"
    description: "我将修改提示词后再继续"
  - label: "重新生成提示词"
    description: "用不同的逻辑生成新的提示词"
用户响应后
  1. 如果选择「先编辑提示词」 → 告知用户编辑提示词,准备好后再次询问
  2. 如果选择「重新生成提示词」 → 返回步骤5
  3. 如果选择「是,继续」 → 进入步骤7

Step 7: Generate Images

步骤7:生成图片

For
--images-only
: Start here with existing prompts.
For
--regenerate N
: Only regenerate specified slide(s).
Standard flow:
  1. Select available image generation skill
  2. Generate session ID:
    slides-{topic-slug}-{timestamp}
  3. For each slide:
    • Backup rule: If image file exists, rename to
      NN-slide-{slug}-backup-YYYYMMDD-HHMMSS.png
    • Generate image sequentially with same session ID
  4. Report progress: "Generated X/N" (in user's language)
  5. Auto-retry once on failure before reporting error
使用
--images-only
参数时
:从本步骤开始,使用现有提示词生成图片。
使用
--regenerate N
参数时
:仅重新生成指定的幻灯片。
标准流程
  1. 选择可用的图片生成技能
  2. 生成会话ID:
    slides-{topic-slug}-{时间戳}
  3. 对每一张幻灯片:
    • 备份规则:如果图片文件已存在,重命名为
      NN-slide-{slug}-backup-YYYYMMDD-HHMMSS.png
    • 使用同一会话ID按顺序生成图片
  4. 报告进度:"已生成 X/N 张"(使用用户的语言)
  5. 生成失败时自动重试1次,再上报错误

Step 8: Merge to PPTX and PDF

步骤8:合并为 PPTX 和 PDF

bash
npx -y bun ${SKILL_DIR}/scripts/merge-to-pptx.ts <slide-deck-dir>
npx -y bun ${SKILL_DIR}/scripts/merge-to-pdf.ts <slide-deck-dir>
bash
npx -y bun ${SKILL_DIR}/scripts/merge-to-pptx.ts <slide-deck-dir>
npx -y bun ${SKILL_DIR}/scripts/merge-to-pdf.ts <slide-deck-dir>

Step 9: Output Summary

步骤9:输出总结

Language: Use user's input language or saved language preference.
Slide Deck Complete!

Topic: [topic]
Style: [preset name or custom dimensions]
Location: [directory path]
Slides: N total

- 01-slide-cover.png - Cover
- 02-slide-intro.png - Content
- ...
- {NN}-slide-back-cover.png - Back Cover

Outline: outline.md
PPTX: {topic-slug}.pptx
PDF: {topic-slug}.pdf
语言:使用用户输入语言或已保存的语言偏好。
幻灯片生成完成!

主题:[主题]
风格:[预设名称 或 自定义维度]
保存位置:[目录路径]
幻灯片数量:共 N 张

- 01-slide-cover.png - 封面
- 02-slide-intro.png - 内容
- ...
- {NN}-slide-back-cover.png - 封底

大纲:outline.md
PPTX 文件:{topic-slug}.pptx
PDF 文件:{topic-slug}.pdf

Partial Workflows

部分流程

OptionWorkflow
--outline-only
Steps 1-3 only (stop after outline)
--prompts-only
Steps 1-5 (generate prompts, skip images)
--images-only
Skip to Step 7 (requires existing prompts/)
--regenerate N
Regenerate specific slide(s) only
选项执行流程
--outline-only
仅执行步骤1-3(生成大纲后终止)
--prompts-only
执行步骤1-5(生成提示词,跳过图片生成)
--images-only
直接跳到步骤7(需要已有
prompts/
目录)
--regenerate N
仅重新生成指定的幻灯片

Using
--prompts-only

使用
--prompts-only

Generate outline and prompts without images:
bash
/tuzi-slide-deck content.md --prompts-only
Output:
outline.md
+
prompts/*.md
ready for review/editing.
生成大纲和提示词,不生成图片:
bash
/tuzi-slide-deck content.md --prompts-only
输出:
outline.md
+
prompts/*.md
,可用于审核/编辑。

Using
--images-only

使用
--images-only

Generate images from existing prompts (starts at Step 7):
bash
/tuzi-slide-deck slide-deck/topic-slug/ --images-only
Prerequisites:
  • prompts/
    directory with slide prompt files
  • outline.md
    with style information
从现有提示词生成图片(从步骤7开始):
bash
/tuzi-slide-deck slide-deck/topic-slug/ --images-only
前提条件:
  • prompts/
    目录包含幻灯片提示词文件
  • outline.md
    包含风格信息

Using
--regenerate

使用
--regenerate

Regenerate specific slides:
bash
undefined
重新生成指定幻灯片:
bash
undefined

Single slide

单张幻灯片

/tuzi-slide-deck slide-deck/topic-slug/ --regenerate 3
/tuzi-slide-deck slide-deck/topic-slug/ --regenerate 3

Multiple slides

多张幻灯片

/tuzi-slide-deck slide-deck/topic-slug/ --regenerate 2,5,8

Flow:
1. Read existing prompts for specified slides
2. Regenerate images only for those slides
3. Regenerate PPTX/PDF
/tuzi-slide-deck slide-deck/topic-slug/ --regenerate 2,5,8

流程:
1. 读取指定幻灯片的现有提示词
2. 仅为这些幻灯片重新生成图片
3. 重新生成 PPTX/PDF

Slide Modification

幻灯片修改

Quick Reference

快速参考

ActionCommandManual Steps
Edit
--regenerate N
Update prompt file FIRST → Regenerate image → Regenerate PDF
AddManualCreate prompt → Generate image → Renumber subsequent → Update outline → Regenerate PDF
DeleteManualRemove files → Renumber subsequent → Update outline → Regenerate PDF
操作命令手动步骤
编辑
--regenerate N
先更新提示词文件 → 重新生成图片 → 重新生成 PDF
添加手动创建提示词 → 生成图片 → 重排后续文件序号 → 更新大纲 → 重新生成 PDF
删除手动删除对应文件 → 重排后续文件序号 → 更新大纲 → 重新生成 PDF

Edit Single Slide

编辑单张幻灯片

  1. Update prompt file FIRST in
    prompts/NN-slide-{slug}.md
  2. Run:
    /tuzi-slide-deck <dir> --regenerate N
  3. Or manually regenerate image + PDF
IMPORTANT: When updating slides, ALWAYS update the prompt file (
prompts/NN-slide-{slug}.md
) FIRST before regenerating. This ensures changes are documented and reproducible.
  1. 先更新
    prompts/
    目录下的
    NN-slide-{slug}.md
    提示词文件
  2. 运行:
    /tuzi-slide-deck <目录> --regenerate N
  3. 或手动重新生成图片 + PDF
重要提示:更新幻灯片时,务必**先更新提示词文件(
prompts/NN-slide-{slug}.md
)**再重新生成,确保修改可追溯、可复现。

Add New Slide

添加新幻灯片

  1. Create prompt at position:
    prompts/NN-slide-{new-slug}.md
  2. Generate image using same session ID
  3. Renumber: Subsequent files NN+1 (slugs unchanged)
  4. Update
    outline.md
  5. Regenerate PPTX/PDF
  1. 在对应位置创建提示词:
    prompts/NN-slide-{new-slug}.md
  2. 使用同一会话ID生成图片
  3. 重排序号:将后续文件序号+1(slug保持不变)
  4. 更新
    outline.md
  5. 重新生成 PPTX/PDF

Delete Slide

删除幻灯片

  1. Remove
    NN-slide-{slug}.png
    and
    prompts/NN-slide-{slug}.md
  2. Renumber: Subsequent files NN-1 (slugs unchanged)
  3. Update
    outline.md
  4. Regenerate PPTX/PDF
  1. 删除
    NN-slide-{slug}.png
    prompts/NN-slide-{slug}.md
  2. 重排序号:将后续文件序号-1(slug保持不变)
  3. 更新
    outline.md
  4. 重新生成 PPTX/PDF

File Naming

文件命名规则

Format:
NN-slide-[slug].png
  • NN
    : Two-digit sequence (01, 02, ...)
  • slug
    : Kebab-case from content (2-5 words, unique)
Renumbering Rule: Only NN changes, slugs remain unchanged.
See
references/modification-guide.md
for complete details.
格式:
NN-slide-[slug].png
  • NN
    :两位数字序号(01、02...)
  • slug
    :从内容提取的短横线分隔标识(2-5个词,唯一)
重排规则:仅修改序号NN,slug保持不变。
完整说明见
references/modification-guide.md

References

参考文档

FileContent
references/analysis-framework.md
Content analysis for presentations
references/outline-template.md
Outline structure and format
references/modification-guide.md
Edit, add, delete slide workflows
references/content-rules.md
Content and style guidelines
references/design-guidelines.md
Audience, typography, colors, visual elements
references/layouts.md
Layout options and selection tips
references/base-prompt.md
Base prompt for image generation
references/dimensions/*.md
Dimension specifications (texture, mood, typography, density)
references/dimensions/presets.md
Preset → dimension mapping
references/styles/<style>.md
Full style specifications (legacy)
references/config/preferences-schema.md
EXTEND.md structure
文件内容
references/analysis-framework.md
演示内容分析规则
references/outline-template.md
大纲结构和格式规范
references/modification-guide.md
幻灯片编辑、添加、删除流程
references/content-rules.md
内容和风格指南
references/design-guidelines.md
受众、排版、颜色、视觉元素规范
references/layouts.md
布局选项和选择建议
references/base-prompt.md
图片生成基础提示词
references/dimensions/*.md
维度规格(纹理、氛围、排版、信息密度)
references/dimensions/presets.md
预设与维度映射关系
references/styles/<style>.md
完整风格规格(旧版)
references/config/preferences-schema.md
EXTEND.md 结构规范

Notes

注意事项

  • Image generation: 10-30 seconds per slide
  • Auto-retry once on generation failure
  • Use stylized alternatives for sensitive public figures
  • Maintain style consistency via session ID
  • Step 2 confirmation required - do not skip (style, audience, slides, outline review, prompt review)
  • Step 4 conditional - only if user requested outline review in Step 2
  • Step 6 conditional - only if user requested prompt review in Step 2
  • 图片生成:每张幻灯片耗时10-30秒
  • 生成失败时自动重试1次
  • 敏感公众人物使用风格化替代形象
  • 通过会话ID保持风格一致性
  • 步骤2的确认环节必须执行,不得跳过(风格、受众、幻灯片数量、大纲审核、提示词审核)
  • 步骤4为条件执行:仅当用户在步骤2要求审核大纲时执行
  • 步骤6为条件执行:仅当用户在步骤2要求审核提示词时执行

Extension Support

扩展支持

Custom configurations via EXTEND.md. See Step 1.1 for paths and supported options.
通过 EXTEND.md 自定义配置,路径和支持选项见步骤1.1