slides-creator
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseSlides 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-deckFirst 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: for full principle, application to all content types, and failure modes.
references/content-creation-first-law.md这是最高优先级规则,没有任何例外。
AI无法为用户撰写高质量内容,它只能帮助用户更好地表达自己的内容。第一步永远是:收集用户的原始表述。 包括他们的演讲稿、文章、笔记、语音内容。没有用户原始素材的AI生成内容就是垃圾——看似精美合理,但毫无实用价值。权重优先级:用户自身表述 > 用户认可的外部素材 > AI合成内容 > AI原创内容。输出内容必须贴合用户的风格,呈现出用户最佳的表达状态,是用户能够自信说出的真实内容。
推论:如果用户没有现成内容,你的任务是通过结构化对话帮助他们梳理思路——而非为他们编造内容。
推论:外部素材(文章、参考资料)必须提交给用户选择和确认。AI无权判断素材是否相关,最终决定权在用户手中。
参考: 包含完整原则、适用于所有内容类型的应用方法以及失败案例。
references/content-creation-first-law.mdArchitecture
架构
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 extractionRule: If can do it, we call it. We only do what baoyu-slide-deck cannot: narrative discussion, ABCDEFG methodology, and user's preferred directory structure.
baoyu-slide-deckslides-creator (本技能)
├── Phase 0: 素材收集 ← 收集用户的原始表述
├── Phase 1: 叙事设计 ← 人类专业经验 + ABCDEFG模型讨论
├── Phase 2: 内容结构化 ← 将叙事内容转化为机器可读输入
├── Phase 3: 委托给baoyu-slide-deck
│ ├── --prompts-only → 大纲 + 提示词
│ └── --images-only → 图片 + PPTX + PDF
└── Phase 6: 后处理 ← 目录重组 + 演讲笔记提取规则:如果能完成的任务,就调用它。我们只做baoyu-slide-deck无法完成的工作:叙事讨论、ABCDEFG方法论应用,以及按照用户偏好整理目录结构。
baoyu-slide-deckPhase 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模型)
| Step | Question | Purpose |
|---|---|---|
| A | Attention | How do we hook in the first 30 seconds? |
| B | Benefit | What's the promised takeaway? |
| C | Credibility | Why should the audience trust us? |
| D | Difference | What's the contrarian or novel angle? |
| E | Evidence | What proof, demo, or story backs this? |
| F | Framework | What mental model do we leave them with? |
| G | Go | What should they do Monday morning? |
| 步骤 | 问题 | 目的 |
|---|---|---|
| A | Attention(吸引注意力) | 如何在最初30秒抓住观众? |
| B | Benefit(价值传递) | 能为观众带来什么收获? |
| C | Credibility(建立信任) | 观众为什么要相信我们? |
| D | Difference(差异化) | 有哪些反常规或新颖的视角? |
| E | Evidence(提供证据) | 有哪些案例、演示或故事可以支撑观点? |
| F | Framework(构建框架) | 要留给观众什么样的思维模型? |
| G | Go(行动指引) | 观众周一早上应该做什么? |
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
讨论检查清单
- Opening strategy: Shock? Story? Question? Demo?
- The arc: Where's the tension? Where's the release?
- Transition logic: How does each slide lead to the next?
- The "one thing": If they forget everything, what's the ONE thing?
- Call to action: What do they do after the talk?
- 开场策略:震撼开场?故事引入?提问互动?演示展示?
- 叙事弧线:张力在哪里?释放点在哪里?
- 过渡逻辑:每页幻灯片如何衔接下一页?
- 核心要点:如果听众忘记其他内容,必须记住的唯一要点是什么?
- 行动号召:演讲结束后,听众应该采取什么行动?
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
narrative-brief.md2.1 创建narrative-brief.md
narrative-brief.mdStore in :
00-上游/markdown
undefined保存到:
00-上游/markdown
undefinedNarrative Brief
叙事概要
Topic: [Topic name]
Audience: [description]
Duration: [N min]
Language: [zh/en/etc]
Tone: [educational/persuasive/provocative/inspirational]
Key Messages: (3 max)
- ...
- ...
- ...
主题:[主题名称]
受众:[描述]
时长:[N分钟]
语言:[中文/英文/其他]
风格:[教育性/说服性/煽动性/鼓舞性]
核心信息:(最多3条)
- ...
- ...
- ...
ABCDEFG Arc
ABCDEFG叙事弧线
| Step | Answer |
|---|---|
| A - Attention | ... |
| B - Benefit | ... |
| C - Credibility | ... |
| D - Difference | ... |
| E - Evidence | ... |
| F - Framework | ... |
| G - Go | ... |
| 步骤 | 内容 |
|---|---|
| A - 吸引注意力 | ... |
| B - 价值传递 | ... |
| C - 建立信任 | ... |
| D - 差异化 | ... |
| E - 提供证据 | ... |
| F - 构建框架 | ... |
| G - 行动指引 | ... |
Slide Count Recommendation
幻灯片数量建议
| Duration | Recommended | Max |
|---|---|---|
| 10-15 min | 8-12 | 12 |
| 20-30 min | 12-18 | 20 |
| 30-45 min | 15-25 | 28 |
| 45-60 min | 20-30 | 35 |
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确定”]
undefined2.2 Create content.md
(for baoyu-slide-deck)
content.md2.2 创建content.md
(供baoyu-slide-deck使用)
content.mdConvert 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
核心要点
- [Point 1]
- [Point 2]
- [Point 3]
- [要点1]
- [要点2]
- [要点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[任何约束条件或特殊要求]
undefined2.3 Create style-instructions.md
(Optional)
style-instructions.md2.3 创建style-instructions.md
(可选)
style-instructions.mdIf 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 must be traceable to:
content.md- User's own words (from Phase 0 source materials)
- User-approved external references
- 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>自检:向用户复述内容,确认与Phase 1讨论内容一致后再继续。
narrative-brief.md内容完整性检查:中的所有声明、引用和示例必须可追溯至:
content.md- 用户的原始表述(来自Phase 0素材)
- 用户认可的外部参考资料
- 用户在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 is ready. If exists, note the style preference for passing to baoyu-slide-deck.
content.mdstyle-instructions.md确保已准备就绪。如果存在,记录风格偏好以便传递给baoyu-slide-deck。
content.mdstyle-instructions.mdStep 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:
- Inject narrative-brief: Append (or its ABCDEFG arc section) to the top of
narrative-brief.mdso baoyu receives the narrative structure, not just raw content.content.md - Inject confirmed choices: Prepend a metadata block to 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:
content.mdmarkdown<!-- 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] - Style selection: If user specified a baoyu preset → use it; if custom exists → use
style-instructions.md; otherwise auto-detect.--style custom
⚠️ 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 Description | baoyu Preset |
|---|---|
| Flat cartoon, tech explainer | |
| Hand-drawn edu, infographic, process | |
| Chalkboard, workshop | |
| Corporate, B2B, investor deck | |
| Editorial, magazine, product launch | |
| Journalism, explainer, science communication | |
| Dark, gaming, atmospheric | |
| Retro, pixel, developer talk | |
| Watercolor, lifestyle, travel | |
| Blueprint, technical, architecture | |
| Academic, research, bilingual | |
| Notion, SaaS, product demo | |
| Story, fantasy, animation | |
| Biology, chemistry, medical | |
| History, heritage, 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 <预设风格>]"})调用前准备:
- 注入叙事概要:将(或其ABCDEFG弧线部分)附加到
narrative-brief.md顶部,让baoyu接收叙事结构,而非仅原始内容。content.md - 注入已确认选项:在顶部添加元数据块,包含已确认的选项。这将为baoyu的自动检测提供强烈信号,减少确认过程中的风格偏差:
content.mdmarkdown<!-- 已确认选项 —— 未经讨论不得修改 --> - 风格:[预设名称或自定义] - 受众:[来自Phase 1的受众描述] - 幻灯片数量:[N页,适配X分钟演讲] - 语言:[中文/英文/其他] - 审核偏好:[跳过大纲审核 / 跳过提示词审核 / 无] - 风格选择:如果用户指定了baoyu预设风格→使用该预设;如果存在自定义→使用
style-instructions.md;否则自动检测。--style custom
⚠️ 确认重叠警告:baoyu-slide-deck的Step 2会要求用户确认风格、受众、幻灯片数量、大纲审核和提示词审核。由于这些内容已在Phase 1讨论过,请告知用户坚持我们刚刚确定的选择,而非重新考虑。这可避免确认疲劳和风格偏差。
| 用户描述 | baoyu预设风格 |
|---|---|
| 扁平化卡通、技术讲解 | |
| 手绘教育、信息图表、流程 | |
| 黑板、工作坊 | |
| 企业、B2B、投资者演示 | |
| 编辑风格、杂志、产品发布 | |
| 新闻、讲解、科学传播 | |
| 深色、游戏、氛围感 | |
| 复古、像素风、开发者演讲 | |
| 水彩、生活方式、旅行 | |
| 蓝图、技术、建筑 | |
| 学术、研究、双语 | |
| Notion风格、SaaS、产品演示 | |
| 故事、奇幻、动画 | |
| 生物、化学、医疗 | |
| 历史、文化遗产、复古 | |
Step 3.3: Post-process Prompts
Step 3.3: 后处理提示词
After baoyu-slide-deck generates prompts in :
prompts/- Copy to user's structure: Move/copy prompts to
03-prompts/ - Inject custom style: If exists, ensure FULL content is embedded in every prompt file
style-instructions.md - Add narrative goal: Append section to each prompt based on
// NARRATIVE GOALnarrative-brief.md
Prompt template addition:
markdown
---baoyu-slide-deck在目录生成提示词后:
prompts/- 复制到用户结构:将提示词移动/复制到
03-prompts/ - 注入自定义风格:如果存在,确保完整内容嵌入到每个提示词文件中
style-instructions.md - 添加叙事目标:根据在每个提示词文件末尾添加
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):
- Display prompt summary table
- Ask user: "Ready to generate images?"
- If edits needed → user edits → regenerate specific prompts via baoyu-slide-deck
03-prompts/*.md
If user skips review: Proceed to Phase 5.
目标:生成图片前进行人工审核。
如果用户需要审核(推荐):
- 展示提示词摘要表格
- 询问用户:“准备好生成图片了吗?”
- 如果需要修改→用户编辑→通过baoyu-slide-deck重新生成特定提示词
03-prompts/*.md
如果用户跳过审核:直接进入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-onlyOr using Skill tool:
Skill({"skill": "baoyu-slide-deck", "args": ". --images-only"})Important: baoyu-slide-deck expects prompts in a flat directory (its native output structure). If you have already reorganized to (Phase 6), create a temporary copy before calling:
prompts/03-prompts/bash
undefined/baoyu-slide-deck . --images-only或使用Skill工具:
Skill({"skill": "baoyu-slide-deck", "args": ". --images-only"})重要提示:baoyu-slide-deck期望提示词存放在扁平的目录(其原生输出结构)。如果已在Phase 6重新组织到,调用前需创建临时副本:
prompts/03-prompts/bash
undefinedFrom 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:
- Test slide: Read (or first generated slide)
01-slide-cover.png - Style check: Compare against
style-instructions.md - Text check: Verify Chinese/English text legibility
- If issues: Update affected → copy
03-prompts/*.md→ regenerate viacp -r 03-prompts prompts(或/baoyu-slide-deck . --regenerate N) → clean upSkill({"skill": "baoyu-slide-deck", "args": ". --regenerate N"})rm -rf prompts
Self-check: All slides generated? Style consistent? Text legible?
生成完成后:
- 测试幻灯片:查看(或第一张生成的幻灯片)
01-slide-cover.png - 风格检查:与对比
style-instructions.md - 文本检查:验证中英文文本的可读性
- 如果存在问题:更新受影响的→复制
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}.pdfReorganize 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 可能直接输出到项目根目录的临时文件夹(如 )。Post-processing 时需将这些 PNG 移动到
v6/。02-slides/
Archive current version (before major iteration):
bash
uv run scripts/archive_version.py --project /path/to/projectArchives + to (auto-incremented).
02-slides/03-prompts/_archive/v{N}/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可能直接输出到项目根目录的临时文件夹(如)。后处理时需将这些PNG图片移动到
v6/。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 to extract structured notes from :
scripts/extract_notes.py03-prompts/*.mdbash
uv run scripts/extract_notes.py --prompts 03-prompts --output speaker-notes.mdExtracts:
- sections
// NARRATIVE GOAL - sections
// SPEAKER NOTES - Falls back to if neither found
// KEY CONTENT
Output format ():
speaker-notes.mdmarkdown
undefined使用从提取结构化笔记:
scripts/extract_notes.py03-prompts/*.mdbash
uv run scripts/extract_notes.py --prompts 03-prompts --output speaker-notes.md提取内容包括:
- 部分
// NARRATIVE GOAL - 部分
// SPEAKER NOTES - 如果以上两者都不存在,则提取部分
// KEY CONTENT
输出格式():
speaker-notes.mdmarkdown
undefinedSpeaker 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
- contains all source SSOT files
00-上游/ - contains all prompt files
03-prompts/
- 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/PDFNote on : baoyu-slide-deck reads from flat directory. After reorganization to , create a temporary copy () before regenerating. If you haven't reorganized yet (still in baoyu's flat structure), call directly without copying.
--regenerateprompts/03-prompts/cp -r 03-prompts prompts用户反馈 → 更新03-prompts/NN-slide-xxx.md
→ 复制提示词: cp -r 03-prompts prompts
→ /baoyu-slide-deck . --regenerate N
→ 清理: rm -rf prompts
→ 替换02-slides/中的对应图片
→ 重新生成PPTX/PDF--regenerateprompts/03-prompts/cp -r 03-prompts promptsScript Reference
脚本参考
| Script | Purpose |
|---|---|
| Post-processing: validate + extract notes + generate PDF/PPTX |
| Merge PNGs to PPTX with structured speaker notes from |
| Merge PNGs to PDF (reorganized |
| Check aspect ratio, naming, missing slides |
| Extract structured speaker notes from |
| Archive |
| 脚本 | 用途 |
|---|---|
| 后处理:验证 + 提取笔记 + 生成PDF/PPTX |
| 将PNG图片合并为PPTX,并从 |
| 将PNG图片合并为PDF(适配重新组织后的 |
| 检查图片比例、命名、缺失幻灯片 |
| 从 |
| 将 |
Failure Log (Do NOT Repeat)
失败记录(请勿重复)
| Failure | Root Cause | Prevention |
|---|---|---|
| AI wrote content for the user — polished garbage | Violated First Law: skipped Phase 0, fabricated quotes/examples. See | 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 talk | Didn't enforce slide count guide | Check duration ÷ 2 = max slides |
| Style drift between versions | Style instructions not in prompts | Paste FULL style-instructions.md into every prompt |
| Text unreadable in images | Model doesn't support Chinese well | Test with Chinese text first |
| Narrative arc flat | Jumped to prompts without Phase 1 | ALWAYS discuss narrative first |
| User unhappy with first draft | Didn't confirm before batch | Generate ONE test slide, get approval |
| Directory mess | Didn't use consistent structure | Always use 00-上游/01-成品/02-slides/03-prompts |
| Redundant work | Tried to replace baoyu-slide-deck | Delegate visual generation, focus on narrative |
| Merge scripts questioned as duplicates | Baoyu merge scripts exist but: (1) path unstable ( | Keep own merge scripts for reorganized structure. Validate before deleting — call baoyu merge first if accessible |
| 失败情况 | 根本原因 | 预防措施 |
|---|---|---|
| AI为用户撰写内容——看似精美但毫无价值 | 违反第一原则:跳过Phase 0,编造引用/示例。详见 | 第一原则是绝对的:首先收集用户的表述。没有源素材=停止操作并询问用户。AI仅辅助表达,绝不替代用户。 |
| 20分钟演讲生成30页幻灯片 | 未执行幻灯片数量指南 | 检查时长÷2=最大幻灯片数量 |
| 版本间风格偏差 | 提示词中未包含风格说明 | 将完整的 |
| 图片中文本不可读 | 模型对中文支持不佳 | 先测试中文文本效果 |
| 叙事弧线平淡 | 跳过Phase 1直接生成提示词 | 必须先讨论叙事内容 |
| 用户对初稿不满意 | 未批量生成前确认 | 先生成一页测试幻灯片,获得用户认可 |
| 目录混乱 | 未使用统一结构 | 始终使用00-上游/01-成品/02-slides/03-prompts结构 |
| 重复工作 | 试图替代baoyu-slide-deck | 将视觉生成任务委托给baoyu,专注于叙事内容 |
| 合并脚本被质疑重复 | baoyu合并脚本存在但:(1)路径不稳定( | 保留适用于重组后结构的自有合并脚本。删除前先验证——如果可访问,优先调用baoyu合并脚本 |
References
参考资料
- — Universal principle: user's voice is primary, applies to all content types (slides, articles, ads, courses)
references/content-creation-first-law.md - — ABCDEFG model detailed guide
references/narrative-design-guide.md - — Prompt templates for common slide types
references/prompt-templates/ - — Visual style gallery with examples
references/style-gallery.md
- —— 通用原则:用户的表达是核心,适用于所有内容类型(幻灯片、文章、广告、课程)
references/content-creation-first-law.md - —— ABCDEFG模型详细指南
references/narrative-design-guide.md - —— 常见幻灯片类型的提示词模板
references/prompt-templates/ - —— 视觉风格示例图库
references/style-gallery.md