lovstudio-any2deck

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Slide Deck Generator

幻灯片生成器

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

Usage

使用方法

bash
/lovstudio:any2deck path/to/content.md
/lovstudio:any2deck path/to/content.md --style sketch-notes
/lovstudio:any2deck path/to/content.md --audience executives
/lovstudio:any2deck path/to/content.md --lang zh
/lovstudio:any2deck path/to/content.md --slides 10
/lovstudio:any2deck path/to/content.md --outline-only
/lovstudio:any2deck  # Then paste content
bash
/lovstudio:any2deck path/to/content.md
/lovstudio:any2deck path/to/content.md --style sketch-notes
/lovstudio:any2deck path/to/content.md --audience executives
/lovstudio:any2deck path/to/content.md --lang zh
/lovstudio:any2deck path/to/content.md --slides 10
/lovstudio:any2deck path/to/content.md --outline-only
/lovstudio:any2deck  # 然后粘贴内容

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>
ScriptPurpose
scripts/merge-to-pptx.ts
Merge slides into PowerPoint
scripts/merge-to-pdf.ts
Merge slides into PDF
scripts/apply-branding.py
Composite logo(s)/QR onto slides — dual logo, tight-crop, JPG white→alpha (opt-in)
Agent执行说明:
  1. 将此SKILL.md文件的目录路径确定为
    SKILL_DIR
  2. 脚本路径 =
    ${SKILL_DIR}/scripts/<script-name>
脚本用途
scripts/merge-to-pptx.ts
将幻灯片合并为PowerPoint文件
scripts/merge-to-pdf.ts
将幻灯片合并为PDF文件
scripts/apply-branding.py
将Logo/二维码合成到幻灯片上 — 支持双Logo、精准裁剪、JPG白色背景转透明(可选)

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
--logo <path>
Primary brand logo (top-right, skips cover/back-cover)
--logo2 <path>
Secondary logo (placed left of primary, optically aligned)
--presentation
Presentation mode: strips narration text, keeps only visual anchors
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>
目标受众:beginners、intermediate、experts、executives、general
--lang <code>
输出语言(en、zh、ja等)
--slides <number>
目标幻灯片数量(推荐8-25张,最多30张)
--outline-only
仅生成大纲,跳过图片生成
--prompts-only
生成大纲+提示词,跳过图片生成
--images-only
根据现有提示词目录生成图片
--regenerate <N>
重新生成指定幻灯片:
--regenerate 3
--regenerate 2,5,8
--logo <path>
主品牌Logo(位于右上角,跳过封面/封底)
--logo2 <path>
副品牌Logo(位于主Logo左侧,视觉对齐)
--presentation
演示模式:移除旁白文本,仅保留视觉锚点
内容长度对应幻灯片数量:
内容幻灯片数量
< 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
(默认)
grid + cool + technical + balanced建筑设计、系统架构
chalkboard
organic + warm + handwritten + balanced教育、教程
corporate
clean + professional + geometric + balanced融资演示、提案
minimal
clean + neutral + geometric + minimal高管简报
sketch-notes
organic + warm + handwritten + balanced教育、教程
watercolor
organic + warm + humanist + minimal生活方式、健康养生
dark-atmospheric
clean + dark + editorial + balanced娱乐、游戏
notion
clean + neutral + geometric + dense产品演示、SaaS
bold-editorial
clean + vibrant + editorial + balanced产品发布、主题演讲
editorial-infographic
clean + cool + editorial + dense技术讲解、研究报告
fantasy-animation
organic + vibrant + handwritten + minimal教育类故事内容
intuition-machine
clean + cool + technical + dense技术文档、学术内容
pixel-art
pixel + vibrant + technical + balanced游戏、开发者分享
scientific
clean + cool + technical + dense生物、化学、医学
vector-illustration
clean + vibrant + humanist + balanced创意内容、儿童内容
vintage
paper + warm + editorial + balanced历史、文化遗产

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
维度选项说明
纹理clean、grid、organic、pixel、paper视觉纹理与背景处理
色调professional、warm、cool、vibrant、dark、neutral色温与调色板风格
排版geometric、humanist、handwritten、editorial、technical标题与正文文本样式
信息密度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
内容信号预设风格
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
默认
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个词,短横线分隔)。示例:"Introduction to Machine Learning" →
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 7.5: Apply branding (if configured)
- [ ] Step 8: Merge to PPTX/PDF
- [ ] Step 9: Output summary
复制此清单并在完成项时勾选:
幻灯片制作进度:
- [ ] 步骤1:设置与分析
  - [ ] 1.1 加载偏好设置
  - [ ] 1.2 分析内容
  - [ ] 1.3 检查现有内容 ⚠️ 必填
- [ ] 步骤2:确认信息 ⚠️ 必填(第一轮必填,第二轮可选)
- [ ] 步骤3:生成大纲
- [ ] 步骤4:审核大纲(可选)
- [ ] 步骤5:生成提示词
- [ ] 步骤6:审核提示词(可选)
- [ ] 步骤7:生成图片
- [ ] 步骤7.5:添加品牌标识(若配置)
- [ ] 步骤8:合并为PPTX/PDF
- [ ] 步骤9:输出总结

Flow

流程

Input → Preferences → Analyze → [Check Existing?] → Confirm (1-2 rounds) → Outline → [Review Outline?] → Prompts → [Review Prompts?] → Images → [Branding?] → 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 .lovstudio-skills/lovstudio-any2deck/EXTEND.md && echo "project"
test -f .lovstudio-skills/lovstudio-any2deck/EXTEND.md && echo "project"

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

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

test -f "$HOME/.lovstudio-skills/lovstudio-any2deck/EXTEND.md" && echo "user"

┌──────────────────────────────────────────────────┬───────────────────┐
│                       Path                       │     Location      │
├──────────────────────────────────────────────────┼───────────────────┤
│ .lovstudio-skills/lovstudio-any2deck/EXTEND.md         │ Project directory │
├──────────────────────────────────────────────────┼───────────────────┤
│ $HOME/.lovstudio-skills/lovstudio-any2deck/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/.lovstudio-skills/lovstudio-any2deck/EXTEND.md" && echo "user"

┌──────────────────────────────────────────────────┬───────────────────┐
│                       路径                       │     位置      │
├──────────────────────────────────────────────────┼───────────────────┤
│ .lovstudio-skills/lovstudio-any2deck/EXTEND.md         │ 项目目录 │
├──────────────────────────────────────────────────┼───────────────────┤
│ $HOME/.lovstudio-skills/lovstudio-any2deck/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:
  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
使用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: "多个数据点,紧凑"
第二轮后:将自定义维度保存为风格配置。
确认后:
  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
  • 风格:[预设名称或"custom: texture+mood+typography+density"]
  • 幻灯片逐张汇总表:
| 序号 | 标题 | 类型 | 布局 |
|---|-------|------|--------|
| 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}-{timestamp}
  3. 对每张幻灯片:
    • 备份规则:若图片文件已存在,重命名为
      NN-slide-{slug}-backup-YYYYMMDD-HHMMSS.png
    • 使用同一会话ID依次生成图片
  4. 报告进度:“已生成X/N”(使用用户语言)
  5. 生成失败时自动重试一次,再报告错误

Step 7.5: Apply Branding (opt-in)

步骤7.5:添加品牌标识(可选)

Trigger: Only run if
branding.logo
is set in EXTEND.md OR user passed
--logo <path>
.
Composites brand logo(s) (top-right) and optional QR code onto generated slides. Supports dual logos (e.g. brand + partner), tight-crops logos via
getbbox()
, and converts JPG white backgrounds to alpha automatically.
Defaults (if EXTEND.md branding not configured):
  • Logo: skip this step entirely
  • Skip slides:
    [1, <last slide>]
    (cover + back-cover get no logo)
bash
python3 ${SKILL_DIR}/scripts/apply-branding.py <slide-deck-dir> \
  --logo <logo_path> \
  [--logo2 <secondary_logo_path> --logo2-gap 32] \
  --skip 1,<last_slide> \
  [--logo-h 46 --pad-top 20 --pad-right 26] \
  [--patch-slides N,M]      # slides whose AI-drawn frames clash with logo
  [--frame-slides N,M]      # slides needing full edge frame-stripping
  [--qr <qr_path> --qr-slide N --qr-box X1,Y1,X2,Y2]
Quality check after running: Read 2-3 slides and visually verify:
  1. Logo is crisp, not clipped by canvas edge
  2. No visible frame lines / card edges touching or crossing the logo
  3. Backdrop blends seamlessly with paper texture
If any slide shows frame/card conflict, add it to
--patch-slides
and re-run. If edges still leak through, add it to
--frame-slides
(more aggressive strip). If problems persist (content-integrated card), regenerate that slide with explicit "NO card containing all content, NO tilted paper" in the prompt.
The script is idempotent: originals are backed up to
_original/
and reused on every run.
触发条件:仅当EXTEND.md中设置了
branding.logo
,或用户传入
--logo <path>
时运行。
将品牌Logo(右上角)和可选二维码合成到生成的幻灯片上。支持双Logo(如品牌+合作伙伴)、通过
getbbox()
精准裁剪Logo,以及自动将JPG白色背景转为透明。
默认设置(若EXTEND.md未配置品牌标识):
  • Logo:完全跳过此步骤
  • 跳过幻灯片:
    [1, <最后一张幻灯片>]
    (封面+封底不添加Logo)
bash
python3 ${SKILL_DIR}/scripts/apply-branding.py <slide-deck-dir> \
  --logo <logo_path> \
  [--logo2 <secondary_logo_path> --logo2-gap 32] \
  --skip 1,<last_slide> \
  [--logo-h 46 --pad-top 20 --pad-right 26] \
  [--patch-slides N,M]      # AI绘制的框架与Logo冲突的幻灯片
  [--frame-slides N,M]      # 需要完全去除边缘框架的幻灯片
  [--qr <qr_path> --qr-slide N --qr-box X1,Y1,X2,Y2]
运行后质量检查:查看2-3张幻灯片并视觉验证:
  1. Logo清晰,未被画布边缘裁剪
  2. 无可见框架线/卡片边缘接触或穿过Logo
  3. 背景与纸张纹理无缝融合
若任何幻灯片出现框架/卡片冲突,将其添加到
--patch-slides
并重新运行。 若边缘仍有泄漏,将其添加到
--frame-slides
(更激进的去除)。 若问题仍存在(内容与卡片整合),重新生成该幻灯片,并在提示词中明确添加“NO card containing all content, NO tilted paper”。
脚本具有幂等性:原图备份到
_original/
,每次运行都会复用。

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
/lovstudio:any2deck content.md --prompts-only
Output:
outline.md
+
prompts/*.md
ready for review/editing.
生成大纲和提示词,不生成图片:
bash
/lovstudio:any2deck content.md --prompts-only
输出:
outline.md
+
prompts/*.md
,可用于审核/编辑。

Using
--images-only

使用
--images-only

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

Using
--regenerate

使用
--regenerate

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

Single slide

单张幻灯片

/lovstudio:any2deck slide-deck/topic-slug/ --regenerate 3
/lovstudio:any2deck slide-deck/topic-slug/ --regenerate 3

Multiple slides

多张幻灯片

/lovstudio:any2deck 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
/lovstudio:any2deck 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:
    /lovstudio:any2deck <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. 运行:
    /lovstudio:any2deck <dir> --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. 重命名:后续文件序号改为NN+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. 重命名:后续文件序号改为NN-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秒
  • 生成失败时自动重试一次
  • 敏感公众人物使用风格化替代形象
  • 通过会话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获取路径与支持选项。