slides-creator

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Slides Creator

幻灯片制作工具

Narrative-first slide deck creation.
This skill does what machines can't do — narrative co-design with humans — and delegates everything else to the best tool for the job (
baoyu-slide-deck
).
以叙事为核心的幻灯片制作。
本技能专注于机器无法完成的工作——与人类协同设计叙事内容——并将其他所有任务委托给最合适的工具(
baoyu-slide-deck
)。

First Law: The User's Voice Is Primary

第一原则:用户的表达是核心

This is the highest-priority rule. Nothing overrides it.
AI cannot write high-quality content for the user. It can only help the user express their own content better.
Step 1 is ALWAYS: collect the user's original words. Their transcripts, their articles, their notes, their voice. AI-generated content without user source material is garbage — polished, plausible, unusable garbage.
Weight hierarchy: User's own words > User-approved external material > AI synthesis > AI invention.
The output must sound like the user, at their best. Something they could actually say, confidently, in their own voice.
Corollary: If the user has no existing content, your job is to help them articulate their thoughts through structured conversation — NOT to fabricate content for them.
Corollary: External materials (articles, references) must be presented to the user for selection and validation. AI does not decide what is relevant. The user does.
See:
references/content-creation-first-law.md
for full principle, application to all content types, and failure modes.
这是最高优先级规则,没有任何例外。
AI无法为用户撰写高质量内容,它只能帮助用户更好地表达自己的内容。
第一步永远是:收集用户的原始表述。 包括他们的演讲稿、文章、笔记、语音内容。没有用户原始素材的AI生成内容就是垃圾——看似精美合理,但毫无实用价值。
权重优先级:用户自身表述 > 用户认可的外部素材 > AI合成内容 > AI原创内容。
输出内容必须贴合用户的风格,呈现出用户最佳的表达状态,是用户能够自信说出的真实内容。
推论:如果用户没有现成内容,你的任务是通过结构化对话帮助他们梳理思路——而非为他们编造内容。
推论:外部素材(文章、参考资料)必须提交给用户选择和确认。AI无权判断素材是否相关,最终决定权在用户手中。
参考
references/content-creation-first-law.md
包含完整原则、适用于所有内容类型的应用方法以及失败案例。

Architecture

架构

slides-creator (this skill)
├── Phase 0: Source Collection    ← Gather user's original words
├── Phase 1: Narrative Design     ← Human expertise + ABCDEFG discussion
├── Phase 2: Content Structuring  ← Convert narrative to machine-readable input
├── Phase 3: Delegate to baoyu-slide-deck
│   ├── --prompts-only  → outline + prompts
│   └── --images-only   → images + PPTX + PDF
└── Phase 6: Post-processing      ← Directory reorg + speaker notes extraction
Rule: If
baoyu-slide-deck
can do it, we call it. We only do what baoyu-slide-deck cannot: narrative discussion, ABCDEFG methodology, and user's preferred directory structure.

slides-creator (本技能)
├── Phase 0: 素材收集    ← 收集用户的原始表述
├── Phase 1: 叙事设计     ← 人类专业经验 + ABCDEFG模型讨论
├── Phase 2: 内容结构化  ← 将叙事内容转化为机器可读输入
├── Phase 3: 委托给baoyu-slide-deck
│   ├── --prompts-only  → 大纲 + 提示词
│   └── --images-only   → 图片 + PPTX + PDF
└── Phase 6: 后处理      ← 目录重组 + 演讲笔记提取
规则:如果
baoyu-slide-deck
能完成的任务,就调用它。我们只做baoyu-slide-deck无法完成的工作:叙事讨论、ABCDEFG方法论应用,以及按照用户偏好整理目录结构。

Phase 0: Source Material Collection

Phase 0: 素材收集

CRITICAL: Do NOT proceed to Phase 1 until user source materials are collected.
Goal: Gather the user's own words and their approved external references.
关键:在收集到用户素材前,不得进入Phase 1。
目标:收集用户的原始表述以及他们认可的外部参考资料。

Step 0.1: Request User's Original Content

Step 0.1: 请求用户提供原始内容

Ask the user for:
  • Transcripts of their past talks, meetings, or discussions
  • Articles they have written or approved
  • Notes or drafts they have prepared
  • Previous decks they have delivered
  • Voice memos or any recorded thoughts
If none exist, proceed to Phase 1 with the understanding that the entire narrative must be extracted from the user's head through structured conversation.
向用户索要:
  • 过往演讲、会议或讨论的文字稿
  • 用户撰写或认可的文章
  • 用户准备的笔记或草稿
  • 用户之前使用过的幻灯片
  • 语音备忘录或任何录制的想法
如果用户没有现成内容,则进入Phase 1,通过结构化对话从用户口中提取全部叙事内容。

Step 0.2: Gather External References (Optional)

Step 0.2: 收集外部参考资料(可选)

  • Search for relevant external materials (articles, reports, references)
  • Present findings to the user for selection — do not assume relevance
  • Only include materials the user explicitly approves
  • 搜索相关外部素材(文章、报告、参考资料)
  • 将搜索结果提交给用户选择——不要自行判断相关性
  • 仅包含用户明确认可的素材

Step 0.3: Organize Source Materials

Step 0.3: 整理素材

Save all source materials to
00-上游/
(根目录或
source-materials/
子目录均可):
00-上游/
├── prompt-最初提示词.txt       # 用户原始 prompt(如有)
├── narrative-brief.md          # Phase 1 输出
├── content.md                  # Phase 2 输出(baoyu 输入)
├── style-instructions.md       # 视觉设计 SSOT
├── outline.md                  # 来自 baoyu-slide-deck
├── source-materials/           # (可选子目录)
│   ├── user-transcript-1.md
│   ├── user-article-2.md
│   ├── user-notes-3.md
│   └── external-ref-4.md (user-approved)
Note: 对于已有项目,源文件可直接放在
00-上游/
根目录;新建议项目时可用
source-materials/
子目录保持整洁。
Self-check: Do we have the user's own words? If not, are we prepared to extract everything through conversation? Do NOT invent content.

将所有素材保存到
00-上游/
(根目录或
source-materials/
子目录均可):
00-上游/
├── prompt-最初提示词.txt       # 用户原始提示词(如有)
├── narrative-brief.md          # Phase 1 输出
├── content.md                  # Phase 2 输出(baoyu输入)
├── style-instructions.md       # 视觉设计唯一可信来源(SSOT)
├── outline.md                  # 来自baoyu-slide-deck
├── source-materials/           # (可选子目录)
│   ├── user-transcript-1.md
│   ├── user-article-2.md
│   ├── user-notes-3.md
│   └── external-ref-4.md (user-approved)
注意:对于已有项目,源文件可直接放在
00-上游/
根目录;新项目建议使用
source-materials/
子目录保持整洁。
自检:我们是否拥有用户的原始表述?如果没有,是否准备好通过对话提取全部内容?绝对不能编造内容。

Phase 1: Narrative Structure Discussion

Phase 1: 叙事结构讨论

CRITICAL: Do NOT generate any files in this phase. Only discuss.
Goal: Align on the narrative arc, emotional journey, and slide-level logic before any visual work begins.
Principle: "你不要直接去写,你应该跟我讨论"
Input: Phase 0 source materials. Every insight in this discussion must be grounded in the user's own words or their explicitly approved references.
关键:本阶段不得生成任何文件,仅进行讨论。
目标:在开始任何视觉设计工作前,就叙事弧线、情感脉络和单页幻灯片逻辑达成一致。
原则:"你不要直接去写,你应该跟我讨论"
输入:Phase 0收集的素材。本次讨论中的所有观点必须基于用户的原始表述或他们明确认可的参考资料。

Discussion Framework (ABCDEFG Model)

讨论框架(ABCDEFG模型)

StepQuestionPurpose
AAttentionHow do we hook in the first 30 seconds?
BBenefitWhat's the promised takeaway?
CCredibilityWhy should the audience trust us?
DDifferenceWhat's the contrarian or novel angle?
EEvidenceWhat proof, demo, or story backs this?
FFrameworkWhat mental model do we leave them with?
GGoWhat should they do Monday morning?
步骤问题目的
AAttention(吸引注意力)如何在最初30秒抓住观众?
BBenefit(价值传递)能为观众带来什么收获?
CCredibility(建立信任)观众为什么要相信我们?
DDifference(差异化)有哪些反常规或新颖的视角?
EEvidence(提供证据)有哪些案例、演示或故事可以支撑观点?
FFramework(构建框架)要留给观众什么样的思维模型?
GGo(行动指引)观众周一早上应该做什么?

Required Inputs

必需输入

Ask user if missing:
  • Topic: What's the talk about? (1 sentence)
  • Audience: Who's listening? (technical level, role, context)
  • Duration: How long is the talk?
  • Key messages: What must they remember? (3 max)
  • Tone: Educational? Persuasive? Provocative? Inspirational?
  • Existing content: Articles, transcripts, notes, previous decks?
  • Constraints: Must-use content? Avoid topics? Brand guidelines?
如果缺失以下信息,请询问用户:
  • 主题:演讲的核心内容是什么?(一句话概括)
  • 受众:听众是谁?(技术水平、角色、场景)
  • 时长:演讲时长是多少?
  • 核心信息:听众必须记住的内容是什么?(最多3条)
  • 风格:教育性?说服性?煽动性?鼓舞性?
  • 已有内容:文章、文字稿、笔记、过往幻灯片?
  • 约束条件:必须包含的内容?需要避免的话题?品牌规范?

Discussion Checklist

讨论检查清单

  1. Opening strategy: Shock? Story? Question? Demo?
  2. The arc: Where's the tension? Where's the release?
  3. Transition logic: How does each slide lead to the next?
  4. The "one thing": If they forget everything, what's the ONE thing?
  5. Call to action: What do they do after the talk?
  1. 开场策略:震撼开场?故事引入?提问互动?演示展示?
  2. 叙事弧线:张力在哪里?释放点在哪里?
  3. 过渡逻辑:每页幻灯片如何衔接下一页?
  4. 核心要点:如果听众忘记其他内容,必须记住的唯一要点是什么?
  5. 行动号召:演讲结束后,听众应该采取什么行动?

Anti-patterns to Flag

需要警惕的反模式

  • ❌ Too many slides for the time (crowded, rushed)
  • ❌ Jumping into details without setting context
  • ❌ No emotional arc (flat, forgettable)
  • ❌ Ending without a clear takeaway
  • ❌ Trying to teach too many things at once
  • ❌ 时长与幻灯片数量不匹配(内容拥挤、节奏仓促)
  • ❌ 未铺垫背景就直接进入细节
  • ❌ 缺乏情感弧线(平淡无奇、容易遗忘)
  • ❌ 结尾没有明确的核心收获
  • ❌ 试图一次性讲解过多内容

Validation

确认环节

Summarize agreed narrative arc in 3-5 bullet points. Get explicit user confirmation before proceeding to Phase 2.
Self-check: Did we discuss? Or did we jump to generation? If the latter, go back.

用3-5个要点总结已达成一致的叙事弧线,获得用户明确确认后再进入Phase 2。
自检:我们是进行了讨论?还是直接跳到了生成环节?如果是后者,请返回重新讨论。

Phase 2: Content Structuring

Phase 2: 内容结构化

Goal: Produce two SSOT files that baoyu-slide-deck can consume.
目标:生成baoyu-slide-deck可读取的两个唯一可信来源(SSOT)文件。

2.1 Create
narrative-brief.md

2.1 创建
narrative-brief.md

Store in
00-上游/
:
markdown
undefined
保存到
00-上游/
markdown
undefined

Narrative Brief

叙事概要

Topic: [Topic name] Audience: [description] Duration: [N min] Language: [zh/en/etc] Tone: [educational/persuasive/provocative/inspirational] Key Messages: (3 max)
  1. ...
  2. ...
  3. ...
主题:[主题名称] 受众:[描述] 时长:[N分钟] 语言:[中文/英文/其他] 风格:[教育性/说服性/煽动性/鼓舞性] 核心信息:(最多3条)
  1. ...
  2. ...
  3. ...

ABCDEFG Arc

ABCDEFG叙事弧线

StepAnswer
A - Attention...
B - Benefit...
C - Credibility...
D - Difference...
E - Evidence...
F - Framework...
G - Go...
步骤内容
A - 吸引注意力...
B - 价值传递...
C - 建立信任...
D - 差异化...
E - 提供证据...
F - 构建框架...
G - 行动指引...

Slide Count Recommendation

幻灯片数量建议

DurationRecommendedMax
10-15 min8-1212
20-30 min12-1820
30-45 min15-2528
45-60 min20-3035
Recommended: [N] slides for [duration] talk
时长推荐数量上限
10-15分钟8-12页12页
20-30分钟12-18页20页
30-45分钟15-25页28页
45-60分钟20-30页35页
推荐:[N]页幻灯片,适配[时长]演讲

Content Sources

内容来源

  • Original user prompt saved
  • Existing articles/notes/transcripts
  • Previous decks
  • 已保存用户原始提示词
  • 已有文章/笔记/文字稿
  • 过往幻灯片

Style Direction

风格方向

[User's style preference or "to be decided in Phase 3"]
undefined
[用户的风格偏好或“将在Phase 3确定”]
undefined

2.2 Create
content.md
(for baoyu-slide-deck)

2.2 创建
content.md
(供baoyu-slide-deck使用)

Convert narrative brief into baoyu-slide-deck input format:
markdown
undefined
将叙事概要转化为baoyu-slide-deck输入格式:
markdown
undefined

[Title]

[标题]

Overview

概述

[2-3 paragraph summary of the talk content]
[2-3段演讲内容摘要]

Key Points

核心要点

  1. [Point 1]
  2. [Point 2]
  3. [Point 3]
  1. [要点1]
  2. [要点2]
  3. [要点3]

Structure

结构

Opening ([duration])

开场([时长])

[Hook content]
[开场内容]

Section 1: [Name] ([duration])

第一部分:[名称]([时长])

[Content]
[内容]

Section 2: [Name] ([duration])

第二部分:[名称]([时长])

[Content]
[内容]

Closing ([duration])

结尾([时长])

[CTA content]
[行动号召内容]

Audience

受众

[Same as narrative-brief]
[与叙事概要一致]

Notes

备注

[Any constraints or special requirements]
undefined
[任何约束条件或特殊要求]
undefined

2.3 Create
style-instructions.md
(Optional)

2.3 创建
style-instructions.md
(可选)

If user has strong style preferences, create this SSOT file in
00-上游/
:
markdown
<STYLE_INSTRUCTIONS>
Design Aesthetic: [Description]

Background:
  Texture: [clean/grid/organic/etc]
  Base Color: [#HEX]

Typography:
  Headlines: [Style, size, color, weight]
  Body: [Style, size, color, weight]

Color Palette:
  Primary Text: [#HEX] - usage
  Body Text: [#HEX] - usage
  Background: [#HEX]
  Accent 1: [#HEX] - usage
  Accent 2: [#HEX] - usage
  Accent 3: [#HEX] - usage

Visual Elements:
  - [Element 1]
  - [Element 2]

Density Guidelines:
  - Max [N] text elements per slide
  - [Other rules]

Style Rules:
  Do: [List]
  Don't: [List]
</STYLE_INSTRUCTIONS>
Self-check: Read narrative-brief.md back to user. Confirm it matches the Phase 1 discussion before proceeding.
Content Integrity Check: Every claim, quote, and example in
content.md
must be traceable to:
  1. User's own words (from Phase 0 source materials)
  2. User-approved external references
  3. User's explicit statements during Phase 1 discussion
AI must NOT invent facts, quotes, or examples. If the user said it, use it. If they didn't, ask them. If they don't have it, mark it as
[TODO: user to provide]
.

如果用户有明确的风格偏好,在
00-上游/
创建此唯一可信来源文件:
markdown
<STYLE_INSTRUCTIONS>
设计风格:[描述]

背景:
  纹理:[简洁/网格/有机等]
  基础色:[#HEX]

排版:
  标题:[样式、字号、颜色、字重]
  正文:[样式、字号、颜色、字重]

调色板:
  主文本:[#HEX] - 使用场景
  正文文本:[#HEX] - 使用场景
  背景:[#HEX]
  强调色1:[#HEX] - 使用场景
  强调色2:[#HEX] - 使用场景
  强调色3:[#HEX] - 使用场景

视觉元素:
  - [元素1]
  - [元素2]

密度规范:
  - 每页幻灯片最多[N]个文本元素
  - [其他规则]

风格规则:
  建议:[列表]
  禁忌:[列表]
</STYLE_INSTRUCTIONS>
自检:向用户复述
narrative-brief.md
内容,确认与Phase 1讨论内容一致后再继续。
内容完整性检查
content.md
中的所有声明、引用和示例必须可追溯至:
  1. 用户的原始表述(来自Phase 0素材)
  2. 用户认可的外部参考资料
  3. 用户在Phase 1讨论中的明确表述
AI绝对不能编造事实、引用或示例。如果用户提到过,就使用;如果没有,就询问用户;如果用户无法提供,标记为
[TODO: 用户提供]

Phase 3: Delegate to baoyu-slide-deck (Prompts)

Phase 3: 委托给baoyu-slide-deck(生成提示词)

Goal: Generate outline and prompts using baoyu-slide-deck.
目标:使用baoyu-slide-deck生成大纲和提示词。

Step 3.1: Prepare Input

Step 3.1: 准备输入

Ensure
content.md
is ready. If
style-instructions.md
exists, note the style preference for passing to baoyu-slide-deck.
确保
content.md
已准备就绪。如果存在
style-instructions.md
,记录风格偏好以便传递给baoyu-slide-deck。

Step 3.2: Call baoyu-slide-deck

Step 3.2: 调用baoyu-slide-deck

在 Claude Code 中调用 baoyu-slide-deck skill(两种等效方式):
/baoyu-slide-deck 00-上游/content.md --prompts-only [--style <preset>]
或直接使用 Skill 工具(当
/
命令不可用时):
Skill({"skill": "baoyu-slide-deck", "args": "00-上游/content.md --prompts-only [--style <preset>]"})
Pre-call setup:
  1. Inject narrative-brief: Append
    narrative-brief.md
    (or its ABCDEFG arc section) to the top of
    content.md
    so baoyu receives the narrative structure, not just raw content.
  2. Inject confirmed choices: Prepend a metadata block to
    content.md
    with the already-confirmed choices. This acts as a strong signal for baoyu's auto-detect and reduces the chance of style drift during confirmation:
    markdown
    <!-- CONFIRMED CHOICES — do not override without discussion -->
    - Style: [preset name or custom]
    - Audience: [audience from Phase 1]
    - Slide count: [N slides for X-min talk]
    - Language: [zh/en/etc]
    - Review preference: [skip outline / skip prompts / none]
  3. Style selection: If user specified a baoyu preset → use it; if custom
    style-instructions.md
    exists → use
    --style custom
    ; otherwise auto-detect.
⚠️ Confirmation overlap warning: baoyu-slide-deck Step 2 will ask the user to confirm style, audience, slide count, outline review, and prompt review. Since these were already discussed in Phase 1, instruct the user to stick with the choices we just made rather than reconsidering. This prevents confirmation fatigue and style drift.
User's Descriptionbaoyu Preset
Flat cartoon, tech explainer
vector-illustration
or
bold-editorial
Hand-drawn edu, infographic, process
hand-drawn-edu
Chalkboard, workshop
chalkboard
or
sketch-notes
Corporate, B2B, investor deck
corporate
or
minimal
Editorial, magazine, product launch
bold-editorial
Journalism, explainer, science communication
editorial-infographic
Dark, gaming, atmospheric
dark-atmospheric
Retro, pixel, developer talk
pixel-art
Watercolor, lifestyle, travel
watercolor
Blueprint, technical, architecture
blueprint
Academic, research, bilingual
intuition-machine
Notion, SaaS, product demo
notion
Story, fantasy, animation
fantasy-animation
Biology, chemistry, medical
scientific
History, heritage, vintage
vintage
在Claude Code中调用baoyu-slide-deck技能(两种等效方式):
/baoyu-slide-deck 00-上游/content.md --prompts-only [--style <预设风格>]
或直接使用Skill工具(当
/
命令不可用时):
Skill({"skill": "baoyu-slide-deck", "args": "00-上游/content.md --prompts-only [--style <预设风格>]"})
调用前准备:
  1. 注入叙事概要:将
    narrative-brief.md
    (或其ABCDEFG弧线部分)附加到
    content.md
    顶部,让baoyu接收叙事结构,而非仅原始内容。
  2. 注入已确认选项:在
    content.md
    顶部添加元数据块,包含已确认的选项。这将为baoyu的自动检测提供强烈信号,减少确认过程中的风格偏差:
    markdown
    <!-- 已确认选项 —— 未经讨论不得修改 -->
    - 风格:[预设名称或自定义]
    - 受众:[来自Phase 1的受众描述]
    - 幻灯片数量:[N页,适配X分钟演讲]
    - 语言:[中文/英文/其他]
    - 审核偏好:[跳过大纲审核 / 跳过提示词审核 / 无]
  3. 风格选择:如果用户指定了baoyu预设风格→使用该预设;如果存在自定义
    style-instructions.md
    →使用
    --style custom
    ;否则自动检测。
⚠️ 确认重叠警告:baoyu-slide-deck的Step 2会要求用户确认风格、受众、幻灯片数量、大纲审核和提示词审核。由于这些内容已在Phase 1讨论过,请告知用户坚持我们刚刚确定的选择,而非重新考虑。这可避免确认疲劳和风格偏差。
用户描述baoyu预设风格
扁平化卡通、技术讲解
vector-illustration
bold-editorial
手绘教育、信息图表、流程
hand-drawn-edu
黑板、工作坊
chalkboard
sketch-notes
企业、B2B、投资者演示
corporate
minimal
编辑风格、杂志、产品发布
bold-editorial
新闻、讲解、科学传播
editorial-infographic
深色、游戏、氛围感
dark-atmospheric
复古、像素风、开发者演讲
pixel-art
水彩、生活方式、旅行
watercolor
蓝图、技术、建筑
blueprint
学术、研究、双语
intuition-machine
Notion风格、SaaS、产品演示
notion
故事、奇幻、动画
fantasy-animation
生物、化学、医疗
scientific
历史、文化遗产、复古
vintage

Step 3.3: Post-process Prompts

Step 3.3: 后处理提示词

After baoyu-slide-deck generates prompts in
prompts/
:
  1. Copy to user's structure: Move/copy prompts to
    03-prompts/
  2. Inject custom style: If
    style-instructions.md
    exists, ensure FULL content is embedded in every prompt file
  3. Add narrative goal: Append
    // NARRATIVE GOAL
    section to each prompt based on
    narrative-brief.md
Prompt template addition:
markdown
---
baoyu-slide-deck在
prompts/
目录生成提示词后:
  1. 复制到用户结构:将提示词移动/复制到
    03-prompts/
  2. 注入自定义风格:如果存在
    style-instructions.md
    ,确保完整内容嵌入到每个提示词文件中
  3. 添加叙事目标:根据
    narrative-brief.md
    在每个提示词文件末尾添加
    // NARRATIVE GOAL
    部分
提示词模板补充:
markdown
---

NARRATIVE CONTEXT

叙事背景

// NARRATIVE GOAL [What this slide achieves in the talk arc]
// SPEAKER NOTES [What the speaker says while this slide is shown]

**Self-check**: All prompts include full style-instructions.md? Narrative goals added? Files in `03-prompts/`?

---
// 叙事目标 [本页幻灯片在演讲弧线上的作用]
// 演讲笔记 [展示本页幻灯片时演讲者的发言内容]

**自检**:所有提示词是否包含完整的`style-instructions.md`内容?是否添加了叙事目标?文件是否已放入`03-prompts/`?

---

Phase 4: Prompt Review (Conditional)

Phase 4: 提示词审核(可选)

Goal: Human review before image generation.
If user wants to review (recommended):
  1. Display prompt summary table
  2. Ask user: "Ready to generate images?"
  3. If edits needed → user edits
    03-prompts/*.md
    → regenerate specific prompts via baoyu-slide-deck
If user skips review: Proceed to Phase 5.

目标:生成图片前进行人工审核。
如果用户需要审核(推荐):
  1. 展示提示词摘要表格
  2. 询问用户:“准备好生成图片了吗?”
  3. 如果需要修改→用户编辑
    03-prompts/*.md
    →通过baoyu-slide-deck重新生成特定提示词
如果用户跳过审核:直接进入Phase 5。

Phase 5: Delegate to baoyu-slide-deck (Images)

Phase 5: 委托给baoyu-slide-deck(生成图片)

Goal: Generate slide images.
目标:生成幻灯片图片。

Step 5.1: Call baoyu-slide-deck

Step 5.1: 调用baoyu-slide-deck

/baoyu-slide-deck . --images-only
Or using Skill tool:
Skill({"skill": "baoyu-slide-deck", "args": ". --images-only"})
Important: baoyu-slide-deck expects prompts in a flat
prompts/
directory (its native output structure). If you have already reorganized to
03-prompts/
(Phase 6), create a temporary copy before calling:
bash
undefined
/baoyu-slide-deck . --images-only
或使用Skill工具:
Skill({"skill": "baoyu-slide-deck", "args": ". --images-only"})
重要提示:baoyu-slide-deck期望提示词存放在扁平的
prompts/
目录(其原生输出结构)。如果已在Phase 6重新组织到
03-prompts/
,调用前需创建临时副本:
bash
undefined

From the project root (where 03-prompts/ exists)

从项目根目录(存在03-prompts/的目录)执行

cp -r 03-prompts prompts /baoyu-slide-deck . --images-only rm -rf prompts # clean up after

**Note on deliverables**: baoyu-slide-deck internally generates `.pptx` and `.pdf` via its own `merge-to-pptx.ts` and `merge-to-pdf.ts` scripts (Step 8 of its workflow). These are the **primary** deliverables — they live in baoyu's flat output directory (`slide-deck/{topic-slug}/`).

The `scripts/merge_to_pptx.py` and `scripts/merge_to_pdf.py` in slides-creator are **not** duplicates. They serve a different purpose:
- **baoyu merge**: for baoyu's flat directory structure (PNG + prompts at same level)
- **slides-creator merge**: for the reorganized directory structure (`02-slides/` + `03-prompts/`)

Use slides-creator's merge scripts only after Phase 6 reorganization, or if baoyu's merge step fails.
cp -r 03-prompts prompts /baoyu-slide-deck . --images-only rm -rf prompts # 清理临时文件

**交付物说明**:baoyu-slide-deck通过自身的`merge-to-pptx.ts`和`merge-to-pdf.ts`脚本(其工作流的Step 8)内部生成`.pptx`和`.pdf`文件。这些是**主要**交付物——存储在baoyu的扁平输出目录(`slide-deck/{topic-slug}/`)中。

slides-creator中的`scripts/merge_to_pptx.py`和`scripts/merge_to_pdf.py`并非重复脚本,它们有不同用途:
- **baoyu合并脚本**:适用于baoyu的扁平目录结构(PNG和提示词在同一层级)
- **slides-creator合并脚本**:适用于重新组织后的目录结构(`02-slides/` + `03-prompts/`)

仅在Phase 6目录重组后,或baoyu的合并步骤失败时,才使用slides-creator的合并脚本。

Step 5.2: Visual Verification

Step 5.2: 视觉验证

After generation:
  1. Test slide: Read
    01-slide-cover.png
    (or first generated slide)
  2. Style check: Compare against
    style-instructions.md
  3. Text check: Verify Chinese/English text legibility
  4. If issues: Update affected
    03-prompts/*.md
    → copy
    cp -r 03-prompts prompts
    → regenerate via
    /baoyu-slide-deck . --regenerate N
    (或
    Skill({"skill": "baoyu-slide-deck", "args": ". --regenerate N"})
    ) → clean up
    rm -rf prompts
Self-check: All slides generated? Style consistent? Text legible?

生成完成后:
  1. 测试幻灯片:查看
    01-slide-cover.png
    (或第一张生成的幻灯片)
  2. 风格检查:与
    style-instructions.md
    对比
  3. 文本检查:验证中英文文本的可读性
  4. 如果存在问题:更新受影响的
    03-prompts/*.md
    →复制
    cp -r 03-prompts prompts
    →通过
    /baoyu-slide-deck . --regenerate N
    (或
    Skill({"skill": "baoyu-slide-deck", "args": ". --regenerate N"})
    )重新生成→清理
    rm -rf prompts
自检:所有幻灯片是否已生成?风格是否一致?文本是否清晰可读?

Phase 6: Post-processing & Delivery

Phase 6: 后处理与交付

Goal: Reorganize baoyu-slide-deck output into user's preferred structure.
目标:将baoyu-slide-deck的输出重新组织为用户偏好的结构。

6.1 Directory Reorganization

6.1 目录重组

baoyu-slide-deck outputs to
slide-deck/{topic-slug}/
:
slide-deck/{topic-slug}/
├── source-{slug}.md
├── outline.md
├── prompts/
├── *.png
├── {topic-slug}.pptx
└── {topic-slug}.pdf
Reorganize to user's structure:
{project-name}/
├── 00-上游/                    # Source materials
│   ├── prompt-最初提示词.txt   # Original user prompt (if saved)
│   ├── narrative-brief.md      # Phase 1 output
│   ├── content.md              # Phase 2 output (baoyu input)
│   ├── style-instructions.md   # Visual design SSOT
│   └── outline.md              # From baoyu-slide-deck
├── 01-成品/                    # Final deliverables
│   ├── {project-name}.pdf
│   └── {project-name}.pptx
├── 02-slides/                  # Generated PNGs (当前版本)
│   ├── 01-slide-cover.png
│   └── ...
├── 03-prompts/                 # Per-slide prompts (SSOT)
│   ├── v6/                     # 支持版本子目录(如 v6, v7...)
│   │   ├── 01-slide-cover.md
│   │   └── ...
│   └── 01-slide-cover.md       # 或平铺结构
├── speaker-notes.md            # Auto-extracted from 03-prompts/ via extract_notes.py
├── v6/                         # baoyu-slide-deck 临时输出(需搬迁到 02-slides/)
│   └── ...
└── _archive/                   # Historical versions
    └── v1/
Note on versioning:
  • 03-prompts/
    支持平铺或版本子目录(
    v6/
    ,
    v7/
    )。当同一项目多次迭代时,用子目录保留历史版本。
  • baoyu-slide-deck 可能直接输出到项目根目录的临时文件夹(如
    v6/
    )。Post-processing 时需将这些 PNG 移动到
    02-slides/
Archive current version (before major iteration):
bash
uv run scripts/archive_version.py --project /path/to/project
Archives
02-slides/
+
03-prompts/
to
_archive/v{N}/
(auto-incremented).
baoyu-slide-deck输出到
slide-deck/{topic-slug}/
slide-deck/{topic-slug}/
├── source-{slug}.md
├── outline.md
├── prompts/
├── *.png
├── {topic-slug}.pptx
└── {topic-slug}.pdf
重新组织为用户偏好的结构:
{项目名称}/
├── 00-上游/                    # 素材
│   ├── prompt-最初提示词.txt   # 用户原始提示词(如有保存)
│   ├── narrative-brief.md      # Phase 1 输出
│   ├── content.md              # Phase 2 输出(baoyu输入)
│   ├── style-instructions.md   # 视觉设计唯一可信来源
│   └── outline.md              # 来自baoyu-slide-deck
├── 01-成品/                    # 最终交付物
│   ├── {项目名称}.pdf
│   └── {项目名称}.pptx
├── 02-slides/                  # 生成的PNG图片(当前版本)
│   ├── 01-slide-cover.png
│   └── ...
├── 03-prompts/                 # 单页幻灯片提示词(唯一可信来源)
│   ├── v6/                     # 支持版本子目录(如v6, v7...)
│   │   ├── 01-slide-cover.md
│   │   └── ...
│   └── 01-slide-cover.md       # 或平铺结构
├── speaker-notes.md            # 通过extract_notes.py从03-prompts/自动提取
├── v6/                         # baoyu-slide-deck临时输出(需迁移到02-slides/)
│   └── ...
└── _archive/                   # 历史版本
    └── v1/
版本说明:
  • 03-prompts/
    支持平铺或版本子目录(
    v6/
    ,
    v7/
    )。同一项目多次迭代时,使用子目录保留历史版本。
  • baoyu-slide-deck可能直接输出到项目根目录的临时文件夹(如
    v6/
    )。后处理时需将这些PNG图片移动到
    02-slides/
归档当前版本(重大迭代前):
bash
uv run scripts/archive_version.py --project /path/to/project
02-slides/
+
03-prompts/
归档到
_archive/v{N}/
(自动递增版本号)。

6.2 Extract Speaker Notes

6.2 提取演讲笔记

Use
scripts/extract_notes.py
to extract structured notes from
03-prompts/*.md
:
bash
uv run scripts/extract_notes.py --prompts 03-prompts --output speaker-notes.md
Extracts:
  • // NARRATIVE GOAL
    sections
  • // SPEAKER NOTES
    sections
  • Falls back to
    // KEY CONTENT
    if neither found
Output format (
speaker-notes.md
):
markdown
undefined
使用
scripts/extract_notes.py
03-prompts/*.md
提取结构化笔记:
bash
uv run scripts/extract_notes.py --prompts 03-prompts --output speaker-notes.md
提取内容包括:
  • // NARRATIVE GOAL
    部分
  • // SPEAKER NOTES
    部分
  • 如果以上两者都不存在,则提取
    // KEY CONTENT
    部分
输出格式(
speaker-notes.md
):
markdown
undefined

Speaker Notes

演讲笔记

01-slide-cover

01-slide-cover

Narrative Goal: ... Speaker Notes: ...
叙事目标:... 演讲笔记:...

02-slide-intro

02-slide-intro

...

**Note**: `main.ts` auto-runs this step if `03-prompts/` exists.
...

**注意**:如果`03-prompts/`存在,`main.ts`会自动执行此步骤。

6.3 Archive Original Prompt

6.3 归档原始提示词

If user provided an original prompt (like the 35KB prompt for 龙虾 vs Claude Code):
  • Save as
    00-上游/prompt-最初提示词.txt
如果用户提供了原始提示词(例如35KB的“龙虾 vs Claude Code”提示词):
  • 保存为
    00-上游/prompt-最初提示词.txt

6.4 Final Verification Checklist

6.4 最终验证检查清单

  • PDF opens and all slides render correctly
  • PPTX opens without errors
  • PNG sequence numbered correctly (01, 02, ...)
  • Speaker notes cover all slides
  • Style consistent across all slides
  • No garbled or missing text
  • 00-上游/
    contains all source SSOT files
  • 03-prompts/
    contains all prompt files

  • PDF可正常打开且所有幻灯片渲染正确
  • PPTX可正常打开无错误
  • PNG图片序列编号正确(01, 02, ...)
  • 演讲笔记覆盖所有幻灯片
  • 所有幻灯片风格一致
  • 无乱码或缺失文本
  • 00-上游/
    包含所有源文件(唯一可信来源)
  • 03-prompts/
    包含所有提示词文件

Iteration Workflow

迭代工作流

Path A: Content Changes

路径A:内容变更

User feedback → Update narrative-brief.md → Update content.md
→ Regenerate prompts (/baoyu-slide-deck content.md --prompts-only)
→ Regenerate images (/baoyu-slide-deck . --images-only)
→ Reorganize + extract notes
用户反馈 → 更新narrative-brief.md → 更新content.md
→ 重新生成提示词(/baoyu-slide-deck content.md --prompts-only)
→ 重新生成图片(/baoyu-slide-deck . --images-only)
→ 目录重组 + 提取笔记

Path B: Style Changes

路径B:风格变更

User feedback → Update style-instructions.md
→ Update all prompts (inject new style into 03-prompts/*.md)
→ Regenerate all images (via /baoyu-slide-deck . --images-only)
→ Reorganize + extract notes
用户反馈 → 更新style-instructions.md
→ 更新所有提示词(将新风格注入03-prompts/*.md)
→ 重新生成所有图片(通过/baoyu-slide-deck . --images-only)
→ 目录重组 + 提取笔记

Path C: Single Slide Fix

路径C:单页幻灯片修复

User feedback → Update 03-prompts/NN-slide-xxx.md
→ Copy prompts: cp -r 03-prompts prompts
→ /baoyu-slide-deck . --regenerate N
→ Clean up: rm -rf prompts
→ Replace in 02-slides/
→ Regenerate PPTX/PDF
Note on
--regenerate
: baoyu-slide-deck reads from flat
prompts/
directory. After reorganization to
03-prompts/
, create a temporary copy (
cp -r 03-prompts prompts
) before regenerating. If you haven't reorganized yet (still in baoyu's flat structure), call directly without copying.

用户反馈 → 更新03-prompts/NN-slide-xxx.md
→ 复制提示词: cp -r 03-prompts prompts
→ /baoyu-slide-deck . --regenerate N
→ 清理: rm -rf prompts
→ 替换02-slides/中的对应图片
→ 重新生成PPTX/PDF
--regenerate
说明
:baoyu-slide-deck从扁平的
prompts/
目录读取内容。重新组织到
03-prompts/
后,重新生成前需创建临时副本(
cp -r 03-prompts prompts
)。如果尚未重新组织(仍处于baoyu的扁平结构),可直接调用无需复制。

Script Reference

脚本参考

ScriptPurpose
scripts/main.ts
Post-processing: validate + extract notes + generate PDF/PPTX
scripts/merge_to_pptx.py
Merge PNGs to PPTX with structured speaker notes from
03-prompts/*.md
scripts/merge_to_pdf.py
Merge PNGs to PDF (reorganized
02-slides/
structure)
scripts/validate_slides.py
Check aspect ratio, naming, missing slides
scripts/extract_notes.py
Extract structured speaker notes from
03-prompts/*.md
to
speaker-notes.md
scripts/archive_version.py
Archive
02-slides/
+
03-prompts/
to
_archive/v{N}/

脚本用途
scripts/main.ts
后处理:验证 + 提取笔记 + 生成PDF/PPTX
scripts/merge_to_pptx.py
将PNG图片合并为PPTX,并从
03-prompts/*.md
添加结构化演讲笔记
scripts/merge_to_pdf.py
将PNG图片合并为PDF(适配重新组织后的
02-slides/
结构)
scripts/validate_slides.py
检查图片比例、命名、缺失幻灯片
scripts/extract_notes.py
03-prompts/*.md
提取结构化演讲笔记到
speaker-notes.md
scripts/archive_version.py
02-slides/
+
03-prompts/
归档到
_archive/v{N}/

Failure Log (Do NOT Repeat)

失败记录(请勿重复)

FailureRoot CausePrevention
AI wrote content for the user — polished garbageViolated First Law: skipped Phase 0, fabricated quotes/examples. See
references/content-creation-first-law.md
First Law is absolute: collect user's words FIRST. No source material = STOP and ask. AI assists expression, never replaces it
Generated 30 slides for 20-min talkDidn't enforce slide count guideCheck duration ÷ 2 = max slides
Style drift between versionsStyle instructions not in promptsPaste FULL style-instructions.md into every prompt
Text unreadable in imagesModel doesn't support Chinese wellTest with Chinese text first
Narrative arc flatJumped to prompts without Phase 1ALWAYS discuss narrative first
User unhappy with first draftDidn't confirm before batchGenerate ONE test slide, get approval
Directory messDidn't use consistent structureAlways use 00-上游/01-成品/02-slides/03-prompts
Redundant workTried to replace baoyu-slide-deckDelegate visual generation, focus on narrative
Merge scripts questioned as duplicatesBaoyu merge scripts exist but: (1) path unstable (
~/.claude/plugins/...
); (2) expect flat
prompts/
dir; (3) inject full base prompt as notes noise
Keep own merge scripts for reorganized structure. Validate before deleting — call baoyu merge first if accessible

失败情况根本原因预防措施
AI为用户撰写内容——看似精美但毫无价值违反第一原则:跳过Phase 0,编造引用/示例。详见
references/content-creation-first-law.md
第一原则是绝对的:首先收集用户的表述。没有源素材=停止操作并询问用户。AI仅辅助表达,绝不替代用户。
20分钟演讲生成30页幻灯片未执行幻灯片数量指南检查时长÷2=最大幻灯片数量
版本间风格偏差提示词中未包含风格说明将完整的
style-instructions.md
粘贴到每个提示词中
图片中文本不可读模型对中文支持不佳先测试中文文本效果
叙事弧线平淡跳过Phase 1直接生成提示词必须先讨论叙事内容
用户对初稿不满意未批量生成前确认先生成一页测试幻灯片,获得用户认可
目录混乱未使用统一结构始终使用00-上游/01-成品/02-slides/03-prompts结构
重复工作试图替代baoyu-slide-deck将视觉生成任务委托给baoyu,专注于叙事内容
合并脚本被质疑重复baoyu合并脚本存在但:(1)路径不稳定(
~/.claude/plugins/...
); (2)期望扁平
prompts/
目录; (3)将完整基础提示词作为无效笔记注入
保留适用于重组后结构的自有合并脚本。删除前先验证——如果可访问,优先调用baoyu合并脚本

References

参考资料

  • references/content-creation-first-law.md
    — Universal principle: user's voice is primary, applies to all content types (slides, articles, ads, courses)
  • references/narrative-design-guide.md
    — ABCDEFG model detailed guide
  • references/prompt-templates/
    — Prompt templates for common slide types
  • references/style-gallery.md
    — Visual style gallery with examples
  • references/content-creation-first-law.md
    —— 通用原则:用户的表达是核心,适用于所有内容类型(幻灯片、文章、广告、课程)
  • references/narrative-design-guide.md
    —— ABCDEFG模型详细指南
  • references/prompt-templates/
    —— 常见幻灯片类型的提示词模板
  • references/style-gallery.md
    —— 视觉风格示例图库