tuzi-slide-deck
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseSlide 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 contentbash
/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:
- Determine this SKILL.md file's directory path as
SKILL_DIR - Script path =
${SKILL_DIR}/scripts/<script-name>.ts
| Script | Purpose |
|---|---|
| Merge slides into PowerPoint |
| Merge slides into PDF |
Agent 执行说明:
- 将本 SKILL.md 文件的目录路径设置为
SKILL_DIR - 脚本路径 =
${SKILL_DIR}/scripts/<script-name>.ts
| 脚本 | 用途 |
|---|---|
| 将幻灯片合并为 PowerPoint 文件 |
| 将幻灯片合并为 PDF 文件 |
Options
选项
| Option | Description |
|---|---|
| Visual style: preset name, |
| Target: beginners, intermediate, experts, executives, general |
| Output language (en, zh, ja, etc.) |
| Target slide count (8-25 recommended, max 30) |
| Generate outline only, skip image generation |
| Generate outline + prompts, skip images |
| Generate images from existing prompts directory |
| Regenerate specific slide(s): |
Slide Count by Content Length:
| Content | Slides |
|---|---|
| < 1000 words | 5-10 |
| 1000-3000 words | 10-18 |
| 3000-5000 words | 15-25 |
| > 5000 words | 20-30 (consider splitting) |
| 选项 | 描述 |
|---|---|
| 视觉风格:预设名称、 |
| 目标受众:初学者、中级用户、专家、高管、普通大众 |
| 输出语言(en、zh、ja 等) |
| 目标幻灯片数量(推荐8-25张,最多30张) |
| 仅生成大纲,跳过图片生成 |
| 生成大纲+提示词,跳过图片生成 |
| 从现有提示词目录生成图片 |
| 重新生成指定幻灯片: |
按内容长度推荐幻灯片数量:
| 内容长度 | 幻灯片数量 |
|---|---|
| < 1000 字 | 5-10 |
| 1000-3000 字 | 10-18 |
| 3000-5000 字 | 15-25 |
| > 5000 字 | 20-30(建议拆分内容) |
Style System
风格系统
Presets
预设风格
| Preset | Dimensions | Best For |
|---|---|---|
| grid + cool + technical + balanced | Architecture, system design |
| organic + warm + handwritten + balanced | Education, tutorials |
| clean + professional + geometric + balanced | Investor decks, proposals |
| clean + neutral + geometric + minimal | Executive briefings |
| organic + warm + handwritten + balanced | Educational, tutorials |
| organic + warm + humanist + minimal | Lifestyle, wellness |
| clean + dark + editorial + balanced | Entertainment, gaming |
| clean + neutral + geometric + dense | Product demos, SaaS |
| clean + vibrant + editorial + balanced | Product launches, keynotes |
| clean + cool + editorial + dense | Tech explainers, research |
| organic + vibrant + handwritten + minimal | Educational storytelling |
| clean + cool + technical + dense | Technical docs, academic |
| pixel + vibrant + technical + balanced | Gaming, developer talks |
| clean + cool + technical + dense | Biology, chemistry, medical |
| clean + vibrant + humanist + balanced | Creative, children's content |
| paper + warm + editorial + balanced | Historical, heritage |
| 预设名称 | 维度属性 | 适用场景 |
|---|---|---|
| 网格+冷色调+技术感+平衡 | 架构设计、系统设计 |
| 有机质感+暖色调+手写风+平衡 | 教育内容、教程 |
| 简洁+专业+几何风+平衡 | 投资者演示、项目提案 |
| 简洁+中性色+几何风+极简 | 高管简报 |
| 有机质感+暖色调+手写风+平衡 | 教育内容、教程 |
| 有机质感+暖色调+人文风+极简 | 生活方式、健康内容 |
| 简洁+深色+编辑风+平衡 | 娱乐、游戏内容 |
| 简洁+中性色+几何风+高密度 | 产品演示、SaaS 介绍 |
| 简洁+鲜艳+编辑风+平衡 | 产品发布、主题演讲 |
| 简洁+冷色调+编辑风+高密度 | 技术科普、研究报告 |
| 有机质感+鲜艳+手写风+极简 | 教育类故事内容 |
| 简洁+冷色调+技术感+高密度 | 技术文档、学术内容 |
| 像素风+鲜艳+技术感+平衡 | 游戏、开发者分享 |
| 简洁+冷色调+技术感+高密度 | 生物、化学、医疗内容 |
| 简洁+鲜艳+人文风+平衡 | 创意内容、儿童内容 |
| 纸张质感+暖色调+编辑风+平衡 | 历史、文化遗产内容 |
Style Dimensions
风格维度
| Dimension | Options | Description |
|---|---|---|
| Texture | clean, grid, organic, pixel, paper | Visual texture and background treatment |
| Mood | professional, warm, cool, vibrant, dark, neutral | Color temperature and palette style |
| Typography | geometric, humanist, handwritten, editorial, technical | Headline and body text styling |
| Density | minimal, balanced, dense | Information density per slide |
Full specs:
references/dimensions/*.md| 维度 | 可选值 | 描述 |
|---|---|---|
| 纹理(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/*.mdAuto Style Selection
自动风格选择
| Content Signals | Preset |
|---|---|
| tutorial, learn, education, guide, beginner | |
| classroom, teaching, school, chalkboard | |
| architecture, system, data, analysis, technical | |
| creative, children, kids, cute | |
| briefing, academic, research, bilingual | |
| executive, minimal, clean, simple | |
| saas, product, dashboard, metrics | |
| investor, quarterly, business, corporate | |
| launch, marketing, keynote, magazine | |
| entertainment, music, gaming, atmospheric | |
| explainer, journalism, science communication | |
| story, fantasy, animation, magical | |
| gaming, retro, pixel, developer | |
| biology, chemistry, medical, scientific | |
| history, heritage, vintage, expedition | |
| lifestyle, wellness, travel, artistic | |
| Default | |
| 内容信号 | 对应预设 |
|---|---|
| 教程、学习、教育、指南、初学者 | |
| 课堂、教学、学校、黑板 | |
| 架构、系统、数据、分析、技术 | |
| 创意、儿童、小孩、可爱 | |
| 简报、学术、研究、双语 | |
| 高管、极简、简洁、简约 | |
| SaaS、产品、仪表盘、指标 | |
| 投资者、季度报告、商业、企业 | |
| 发布、营销、主题演讲、杂志 | |
| 娱乐、音乐、游戏、氛围 | |
| 科普、新闻、科学传播 | |
| 故事、奇幻、动画、魔法 | |
| 游戏、复古、像素、开发者 | |
| 生物、化学、医疗、科学 | |
| 历史、遗产、复古、探险 | |
| 生活方式、健康、旅行、艺术 | |
| 默认 | |
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 for:
references/design-guidelines.md- Audience-specific principles
- Visual hierarchy
- Content density guidelines
- Color and typography selection
- Font recommendations
See for layout options.
references/layouts.md幻灯片专为阅读和分享设计,而非现场演示:
- 每张幻灯片无需口头解说即可自解释
- 滚动浏览时逻辑流畅
- 每张幻灯片包含所有必要上下文
- 针对社交媒体分享优化
查看 了解:
references/design-guidelines.md- 针对不同受众的设计原则
- 视觉层级规则
- 内容密度指南
- 颜色和排版选择规则
- 字体推荐
查看 了解布局选项。
references/layouts.mdFile 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}.pdfSlug: Extract topic (2-4 words, kebab-case). Example: "Introduction to Machine Learning" →
intro-machine-learningConflict 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}.pdfSlug:提取主题(2-4个词,短横线分隔格式)。示例:"机器学习入门" →
intro-machine-learning冲突处理:现有内容检测和用户选项见步骤1.3。
Language Handling
语言处理
Detection Priority:
- flag (explicit)
--lang - EXTEND.md setting
language - User's conversation language (input language)
- Source content language
Rule: ALL responses use user's preferred language:
- Questions and confirmations
- Progress reports
- Error messages
- Completion summaries
Technical terms (style names, file paths, code) remain in English.
检测优先级:
- 参数(显式指定)
--lang - EXTEND.md 的 设置
language - 用户对话语言(输入语言)
- 源内容语言
规则:所有响应都使用用户偏好语言:
- 问题和确认信息
- 进度报告
- 错误信息
- 完成总结
技术术语(风格名称、文件路径、代码)保留英文。
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
undefined1.1 加载偏好设置(EXTEND.md)
使用 Bash 检查 EXTEND.md 是否存在(优先级顺序):
bash
undefinedCheck 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 with:
analysis.md- 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:
- Update with confirmed preferences
analysis.md - Store flag from Question 4
skip_outline_review - Store flag from Question 5
skip_prompt_review - → 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: "单页包含多个数据点,内容紧凑"第二轮结束后:将自定义维度保存为风格配置。
确认完成后:
- 用确认的偏好设置更新
analysis.md - 保存问题4的 标记
skip_outline_review - 保存问题5的 标记
skip_prompt_review - → 进入步骤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 and combine
references/dimensions/
Generate:
- Follow for structure
references/outline-template.md - Build STYLE_INSTRUCTIONS from style or dimensions
- Apply confirmed audience, language, slide count
- Save as
outline.md
After generation:
- If , stop here
--outline-only - If is true → Skip Step 4, go to Step 5
skip_outline_review - If is false → Continue to Step 4
skip_outline_review
使用步骤2确认的风格生成大纲。
风格解析:
- 如果选择预设风格 → 读取
references/styles/{preset}.md - 如果选择自定义维度 → 读取 下的维度文件并组合
references/dimensions/
生成规则:
- 遵循 的结构
references/outline-template.md - 基于风格或维度构建 STYLE_INSTRUCTIONS
- 应用确认的受众、语言、幻灯片数量参数
- 保存为
outline.md
生成完成后:
- 如果指定了 ,在此终止流程
--outline-only - 如果 为 true → 跳过步骤4,进入步骤5
skip_outline_review - 如果 为 false → 进入步骤4
skip_outline_review
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:
- If "Edit outline first" → Inform user to edit , ask again when ready
outline.md - If "Regenerate outline" → Back to Step 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: "用不同的逻辑生成新的大纲"用户响应后:
- 如果选择「先编辑大纲」 → 告知用户编辑 ,准备好后再次询问
outline.md - 如果选择「重新生成大纲」 → 返回步骤3
- 如果选择「是,继续」 → 进入步骤5
Step 5: Generate Prompts
步骤5:生成提示词
- Read
references/base-prompt.md - For each slide in outline:
- Extract STYLE_INSTRUCTIONS from outline (not from style file again)
- Add slide-specific content
- If specified, include layout guidance from
Layout:references/layouts.md
- Save to directory
prompts/- Backup rule: If prompt file exists, rename to
prompts/NN-slide-{slug}-backup-YYYYMMDD-HHMMSS.md
- Backup rule: If prompt file exists, rename to
After generation:
- If , stop here and output prompt summary
--prompts-only - If is true → Skip Step 6, go to Step 7
skip_prompt_review - If is false → Continue to Step 6
skip_prompt_review
- 读取
references/base-prompt.md - 对大纲中的每一张幻灯片:
- 从大纲中提取 STYLE_INSTRUCTIONS(不再重复读取风格文件)
- 添加幻灯片专属内容
- 如果指定了 ,引入
Layout:中的布局指导references/layouts.md
- 保存到 目录
prompts/- 备份规则:如果提示词文件已存在,重命名为
prompts/NN-slide-{slug}-backup-YYYYMMDD-HHMMSS.md
- 备份规则:如果提示词文件已存在,重命名为
生成完成后:
- 如果指定了 ,在此终止流程并输出提示词摘要
--prompts-only - 如果 为 true → 跳过步骤6,进入步骤7
skip_prompt_review - 如果 为 false → 进入步骤6
skip_prompt_review
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:
- If "Edit prompts first" → Inform user to edit prompts, ask again when ready
- If "Regenerate prompts" → Back to Step 5
- 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: "用不同的逻辑生成新的提示词"用户响应后:
- 如果选择「先编辑提示词」 → 告知用户编辑提示词,准备好后再次询问
- 如果选择「重新生成提示词」 → 返回步骤5
- 如果选择「是,继续」 → 进入步骤7
Step 7: Generate Images
步骤7:生成图片
For : Start here with existing prompts.
--images-onlyFor : Only regenerate specified slide(s).
--regenerate NStandard flow:
- Select available image generation skill
- Generate session ID:
slides-{topic-slug}-{timestamp} - 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
- Backup rule: If image file exists, rename to
- Report progress: "Generated X/N" (in user's language)
- Auto-retry once on failure before reporting error
使用 参数时:从本步骤开始,使用现有提示词生成图片。
--images-only使用 参数时:仅重新生成指定的幻灯片。
--regenerate N标准流程:
- 选择可用的图片生成技能
- 生成会话ID:
slides-{topic-slug}-{时间戳} - 对每一张幻灯片:
- 备份规则:如果图片文件已存在,重命名为
NN-slide-{slug}-backup-YYYYMMDD-HHMMSS.png - 使用同一会话ID按顺序生成图片
- 备份规则:如果图片文件已存在,重命名为
- 报告进度:"已生成 X/N 张"(使用用户的语言)
- 生成失败时自动重试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}.pdfPartial Workflows
部分流程
| Option | Workflow |
|---|---|
| Steps 1-3 only (stop after outline) |
| Steps 1-5 (generate prompts, skip images) |
| Skip to Step 7 (requires existing prompts/) |
| Regenerate specific slide(s) only |
| 选项 | 执行流程 |
|---|---|
| 仅执行步骤1-3(生成大纲后终止) |
| 执行步骤1-5(生成提示词,跳过图片生成) |
| 直接跳到步骤7(需要已有 |
| 仅重新生成指定的幻灯片 |
Using --prompts-only
--prompts-only使用 --prompts-only
--prompts-onlyGenerate outline and prompts without images:
bash
/tuzi-slide-deck content.md --prompts-onlyOutput: + ready for review/editing.
outline.mdprompts/*.md生成大纲和提示词,不生成图片:
bash
/tuzi-slide-deck content.md --prompts-only输出: + ,可用于审核/编辑。
outline.mdprompts/*.mdUsing --images-only
--images-only使用 --images-only
--images-onlyGenerate images from existing prompts (starts at Step 7):
bash
/tuzi-slide-deck slide-deck/topic-slug/ --images-onlyPrerequisites:
- directory with slide prompt files
prompts/ - with style information
outline.md
从现有提示词生成图片(从步骤7开始):
bash
/tuzi-slide-deck slide-deck/topic-slug/ --images-only前提条件:
- 目录包含幻灯片提示词文件
prompts/ - 包含风格信息
outline.md
Using --regenerate
--regenerate使用 --regenerate
--regenerateRegenerate specific slides:
bash
undefined重新生成指定幻灯片:
bash
undefinedSingle 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/PDFSlide Modification
幻灯片修改
Quick Reference
快速参考
| Action | Command | Manual Steps |
|---|---|---|
| Edit | | Update prompt file FIRST → Regenerate image → Regenerate PDF |
| Add | Manual | Create prompt → Generate image → Renumber subsequent → Update outline → Regenerate PDF |
| Delete | Manual | Remove files → Renumber subsequent → Update outline → Regenerate PDF |
| 操作 | 命令 | 手动步骤 |
|---|---|---|
| 编辑 | | 先更新提示词文件 → 重新生成图片 → 重新生成 PDF |
| 添加 | 手动 | 创建提示词 → 生成图片 → 重排后续文件序号 → 更新大纲 → 重新生成 PDF |
| 删除 | 手动 | 删除对应文件 → 重排后续文件序号 → 更新大纲 → 重新生成 PDF |
Edit Single Slide
编辑单张幻灯片
- Update prompt file FIRST in
prompts/NN-slide-{slug}.md - Run:
/tuzi-slide-deck <dir> --regenerate N - Or manually regenerate image + PDF
IMPORTANT: When updating slides, ALWAYS update the prompt file () FIRST before regenerating. This ensures changes are documented and reproducible.
prompts/NN-slide-{slug}.md- 先更新 目录下的
prompts/提示词文件NN-slide-{slug}.md - 运行:
/tuzi-slide-deck <目录> --regenerate N - 或手动重新生成图片 + PDF
重要提示:更新幻灯片时,务必**先更新提示词文件()**再重新生成,确保修改可追溯、可复现。
prompts/NN-slide-{slug}.mdAdd New Slide
添加新幻灯片
- Create prompt at position:
prompts/NN-slide-{new-slug}.md - Generate image using same session ID
- Renumber: Subsequent files NN+1 (slugs unchanged)
- Update
outline.md - Regenerate PPTX/PDF
- 在对应位置创建提示词:
prompts/NN-slide-{new-slug}.md - 使用同一会话ID生成图片
- 重排序号:将后续文件序号+1(slug保持不变)
- 更新
outline.md - 重新生成 PPTX/PDF
Delete Slide
删除幻灯片
- Remove and
NN-slide-{slug}.pngprompts/NN-slide-{slug}.md - Renumber: Subsequent files NN-1 (slugs unchanged)
- Update
outline.md - Regenerate PPTX/PDF
- 删除 和
NN-slide-{slug}.pngprompts/NN-slide-{slug}.md - 重排序号:将后续文件序号-1(slug保持不变)
- 更新
outline.md - 重新生成 PPTX/PDF
File Naming
文件命名规则
Format:
NN-slide-[slug].png- : Two-digit sequence (01, 02, ...)
NN - : Kebab-case from content (2-5 words, unique)
slug
Renumbering Rule: Only NN changes, slugs remain unchanged.
See for complete details.
references/modification-guide.md格式:
NN-slide-[slug].png- :两位数字序号(01、02...)
NN - :从内容提取的短横线分隔标识(2-5个词,唯一)
slug
重排规则:仅修改序号NN,slug保持不变。
完整说明见 。
references/modification-guide.mdReferences
参考文档
| File | Content |
|---|---|
| Content analysis for presentations |
| Outline structure and format |
| Edit, add, delete slide workflows |
| Content and style guidelines |
| Audience, typography, colors, visual elements |
| Layout options and selection tips |
| Base prompt for image generation |
| Dimension specifications (texture, mood, typography, density) |
| Preset → dimension mapping |
| Full style specifications (legacy) |
| EXTEND.md structure |
| 文件 | 内容 |
|---|---|
| 演示内容分析规则 |
| 大纲结构和格式规范 |
| 幻灯片编辑、添加、删除流程 |
| 内容和风格指南 |
| 受众、排版、颜色、视觉元素规范 |
| 布局选项和选择建议 |
| 图片生成基础提示词 |
| 维度规格(纹理、氛围、排版、信息密度) |
| 预设与维度映射关系 |
| 完整风格规格(旧版) |
| 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。