canghe-slide-deck
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseSlide Deck Generator
幻灯片组生成器
Transform content into professional slide deck images.
将内容转换为专业的幻灯片组图片。
Usage
使用方法
bash
/canghe-slide-deck path/to/content.md
/canghe-slide-deck path/to/content.md --style sketch-notes
/canghe-slide-deck path/to/content.md --audience executives
/canghe-slide-deck path/to/content.md --lang zh
/canghe-slide-deck path/to/content.md --slides 10
/canghe-slide-deck path/to/content.md --outline-only
/canghe-slide-deck # Then paste contentbash
/canghe-slide-deck path/to/content.md
/canghe-slide-deck path/to/content.md --style sketch-notes
/canghe-slide-deck path/to/content.md --audience executives
/canghe-slide-deck path/to/content.md --lang zh
/canghe-slide-deck path/to/content.md --slides 10
/canghe-slide-deck path/to/content.md --outline-only
/canghe-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) |
| 选项 | 描述 |
|---|---|
| 视觉样式:预设名称、 |
| 目标受众:beginners(初学者)、intermediate(中级用户)、experts(专家)、executives(高管)、general(普通用户) |
| 输出语言(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 |
| 预设 | 风格维度 | 适用场景 |
|---|---|---|
| grid(网格)+ cool(冷色调)+ technical(技术风)+ balanced(均衡) | 架构设计、系统设计 |
| organic(有机)+ warm(暖色调)+ handwritten(手写体)+ balanced(均衡) | 教育、教程 |
| clean(简洁)+ professional(专业)+ geometric(几何风)+ balanced(均衡) | 投资者演示文稿、提案 |
| clean(简洁)+ neutral(中性)+ geometric(几何风)+ minimal(极简) | 高管简报 |
| organic(有机)+ warm(暖色调)+ handwritten(手写体)+ balanced(均衡) | 教育、教程 |
| organic(有机)+ warm(暖色调)+ humanist(人文风)+ minimal(极简) | 生活方式、健康养生 |
| clean(简洁)+ dark(深色)+ editorial(编辑风)+ balanced(均衡) | 娱乐、游戏 |
| clean(简洁)+ neutral(中性)+ geometric(几何风)+ dense(信息密集) | 产品演示、SaaS |
| clean(简洁)+ vibrant(鲜艳)+ editorial(编辑风)+ balanced(均衡) | 产品发布、主题演讲 |
| clean(简洁)+ cool(冷色调)+ editorial(编辑风)+ dense(信息密集) | 技术讲解、研究报告 |
| organic(有机)+ vibrant(鲜艳)+ handwritten(手写体)+ minimal(极简) | 教育类故事讲述 |
| clean(简洁)+ cool(冷色调)+ technical(技术风)+ dense(信息密集) | 技术文档、学术内容 |
| pixel(像素)+ vibrant(鲜艳)+ technical(技术风)+ balanced(均衡) | 游戏、开发者分享 |
| clean(简洁)+ cool(冷色调)+ technical(技术风)+ dense(信息密集) | 生物、化学、医学 |
| clean(简洁)+ vibrant(鲜艳)+ humanist(人文风)+ balanced(均衡) | 创意内容、儿童内容 |
| paper(纸张纹理)+ warm(暖色调)+ editorial(编辑风)+ balanced(均衡) | 历史、文化遗产 |
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 | |
| 内容特征 | 推荐预设 |
|---|---|
| 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(艺术) | |
| 默认 | |
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个单词,短横线分隔)。示例:"Introduction to Machine Learning" →
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 .canghe-skills/canghe-slide-deck/EXTEND.md && echo "project"
test -f .canghe-skills/canghe-slide-deck/EXTEND.md && echo "project"
Then user-level (cross-platform: $HOME works on macOS/Linux/WSL)
然后检查用户级目录(跨平台:$HOME适用于macOS/Linux/WSL)
test -f "$HOME/.canghe-skills/canghe-slide-deck/EXTEND.md" && echo "user"
┌──────────────────────────────────────────────────┬───────────────────┐
│ Path │ Location │
├──────────────────────────────────────────────────┼───────────────────┤
│ .canghe-skills/canghe-slide-deck/EXTEND.md │ Project directory │
├──────────────────────────────────────────────────┼───────────────────┤
│ $HOME/.canghe-skills/canghe-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/.canghe-skills/canghe-slide-deck/EXTEND.md" && echo "user"
┌──────────────────────────────────────────────────┬───────────────────┐
│ 路径 │ 位置 │
├──────────────────────────────────────────────────┼───────────────────┤
│ .canghe-skills/canghe-slide-deck/EXTEND.md │ 项目目录 │
├──────────────────────────────────────────────────┼───────────────────┤
│ $HOME/.canghe-skills/canghe-slide-deck/EXTEND.md │ 用户主目录 │
└──────────────────────────────────────────────────┴───────────────────┘
**找到EXTEND.md时** → 读取、解析并**向用户输出总结**:
📋 从[完整路径]加载偏好设置
├─ 样式:[预设/自定义名称]
├─ 受众:[受众类型或“自动检测”]
├─ 语言:[语言或“自动检测”]
└─ 审核:[启用/禁用]
**未找到EXTEND.md时** → 使用AskUserQuestion进行首次设置,或使用默认值继续。
**EXTEND.md支持**:偏好样式 | 自定义维度 | 默认受众 | 语言偏好 | 审核偏好
Schema:`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-{timestamp},然后重新生成所有内容"
- 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"使用AskUserQuestion询问以下5个问题:
问题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
使用AskUserQuestion询问以下4个维度:
问题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
- 样式:[预设名称或“custom: texture+mood+typography+density”]
- 逐页幻灯片摘要表格:
| 序号 | 标题 | 类型 | 布局 |
|---|-------|------|--------|
| 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标准流程:
- 选择可用的图片生成skill
- 生成会话ID:
slides-{topic-slug}-{timestamp} - 对每张幻灯片:
- 备份规则:如果图片文件已存在,重命名为
NN-slide-{slug}-backup-YYYYMMDD-HHMMSS.png - 使用同一个会话ID依次生成图片
- 备份规则:如果图片文件已存在,重命名为
- 报告进度:“已生成X/N张”(使用用户语言)
- 生成失败时自动重试一次,再报告错误
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(需要现有prompts/目录) |
| 仅重新生成指定幻灯片 |
Using --prompts-only
--prompts-only使用--prompts-only
--prompts-onlyGenerate outline and prompts without images:
bash
/canghe-slide-deck content.md --prompts-onlyOutput: + ready for review/editing.
outline.mdprompts/*.md生成大纲和提示词,不生成图片:
bash
/canghe-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
/canghe-slide-deck slide-deck/topic-slug/ --images-onlyPrerequisites:
- directory with slide prompt files
prompts/ - with style information
outline.md
根据现有提示词生成图片(从步骤7开始):
bash
/canghe-slide-deck slide-deck/topic-slug/ --images-only前提条件:
- 存在目录,包含幻灯片提示词文件
prompts/ - 存在,包含样式信息
outline.md
Using --regenerate
--regenerate使用--regenerate
--regenerateRegenerate specific slides:
bash
undefined重新生成指定幻灯片:
bash
undefinedSingle slide
单张幻灯片
/canghe-slide-deck slide-deck/topic-slug/ --regenerate 3
/canghe-slide-deck slide-deck/topic-slug/ --regenerate 3
Multiple slides
多张幻灯片
/canghe-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/canghe-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:
/canghe-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 - 运行:
/canghe-slide-deck <dir> --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生成图片
- 重新编号:后续文件的NN部分递增(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 - 重新编号:后续文件的NN部分递减(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秒
- 生成失败时自动重试一次,再报告错误
- 敏感公众人物使用风格化替代形象
- 通过会话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。