single-slide-ppt
When to use
满足以下任一条件即触发:
A 迭代模式(已有页改造)
- 用户对某一页 PPT 提出修改、迭代、重做、优化、美化、配图等诉求(不是整本 deck 重写)
- 用户说"这页 / 这一屏 / 上一页 / P3 / 这张图 / 这屏"等单页指代词 + 任何修改动作
- 用户给出参考截图/模板说"按这个改"、"复刻这个布局"
- 用户反馈模糊("太丑/太空/没深度/不够高大上/太满/上重下轻")需要先判断本质问题
- 用户要求"配图 / 配实景图 / 加示意图 / 加图标"
- 用户要求"换个呈现形式 / 换布局 / 重排版"
B 新生模式(从零起一页)
- 用户说"帮我做一页 / 出这页 / 帮我设计 / 这页长啥样 / 做个 PPT"
- 用户给逐页稿/大纲某页,要求"按这页文字生成 PPT"
- 用户口述一页需求(无现成 PPT 也不属于整本 deck 生成)
- 用户要"白纸起手做一页 demo / sample / 示意页"
- 用户粘贴一段文字/截图说"把这页做出来"
非触发场景
- 整套 deck 从 0 创建(用 ppt-master 等通用 PPT 生成 skill)
- 多页连续生成(≥3 页,建议走完整 deck skill)
入口判断:是 A 还是 B?
┌─ 用户诉求
│
├─ 已有 PPT 页 + 修改动作 ──→ A 迭代模式
│ (源文件路径 / v3 第 X 页 / 截图 / "这页改一下")
│
└─ 无现成 PPT / 从稿子/口述/白纸 ──→ B 新生模式
(v4 逐页稿第 X 页 / 大纲某段 / 口述需求 / "帮我做一页")
Steps(A/B 共用五步,B 多一步定目的)
第 0 步(仅 B 新生模式):定目的与受众
A 模式跳过此步(已有页就已知目的)。
B 模式必须先确认三件事,避免做错方向:
- 这一页给谁看?(董事会 / 内部团队 / 对外客户 / demo 样板)
- 这一页要达成什么目的?(论证主张 / 呈现数据 / 介绍方案 / 过渡小结)
- 有没有输入素材?(逐页稿 / 口述要点 / 参考图 / 纯白纸)
→ 没素材就先让用户给一句"本页要讲什么",再进流程。
第 1 步:定方向(最关键,绝不照字面动手)
A 模式:归 7 类 + 追问
- 1a 归类:把诉求归到 7 类之一:① 横向丰富内容 / ② 纵向加深深度 / ③ 改呈现形式 / ④ 配插图视觉素材 / ⑤ 精炼做减法 / ⑥ 重构逻辑换分类轴 / ⑦ 调措辞对齐口径
- 模糊反馈翻译表见 @references/manual.md 第一节
- 不确定时直接问(选择题)让用户先归类
- 1b 追问具体意图(归类后必做,禁止跳过):根据所选方向追加一句开放式追问,让用户描述想要的具体感觉/倾向。各类追问话术见 @references/manual.md 第一节末尾
B 模式:定骨架 + 追问呈现倾向
B 模式没有"原页"可比对,所以方向判断换成"定骨架":
- 1a' 选骨架:从常见骨架里挑一个或组合:
- 金字塔式(结论先行+三卡分论点+底部横条)— 论证类
- 主从对比式(左右分区,一强多弱)— 排除法/选择类
- 时间轴式(左→右递进)— 路线/阶段类
- 流程闭环式(识别→运营→回流→沉淀→优化→回识别)— 闭环类
- 对比表式(行列对照)— Before/After、竞对、新旧对比
- 数据卡式(大数字+小注解)— 数据呈现类
- 全幅金句式(一句话+大留白)— 过渡/小结类
- 不确定时直接问(选择题)让用户拍骨架
- 1b' 追问呈现倾向:骨架定了,再追问一句让用户描述想要的视觉/语气倾向
- "想要什么感觉?如 极简留白 / 信息密度大 / 商务克制 / 科技感 / 温暖叙事"
- "有没有参考页/参考风格?给个截图最好"
- "要配图吗?写实场景图 / 线框图标 / 不配图纯文字"
- 用户已给逐页稿时:直接按稿子内容套骨架,只追问视觉倾向,不重复问内容
第 2 步:金字塔呈现逻辑校验(出文案/出图之前,先校验结构)
A/B 共用。四大规则:结论先行 / 以上统下 / 归类分组(MECE)/ 逻辑递进
- 单页标题 = 本页结论(不是主题)
- 3-4 个分论点刚好,每个对应一张并列卡或一个大模块
- 信息型页底部加结论横条收口
- 分类是否 MECE:同一把尺子量出来的?不是就先换尺子重切,不要在原结构上修补
- 涉及概念/框架的页,先用一句话复述理解再动手
第 3 步:定文案 + 定配图(仍不出 PPT)
A/B 共用。
- 文案逐字敲定,标题/要点先给 2-3 个文字方案让用户拍板
- 配图先选来源:A 风格化 AI 实景图 / B 线框图标 / C 用户自备素材
- 场景类(人物/配送/卖场)用 AI 写实图;平台/抽象类(图标/数据流)用 SVG 自绘
- 一组同类元素风格统一成系列
- AI 生成不出现真实品牌 logo/包装
- 配图先给用户过目(present_files),满意了才进版面
第 4 步:一次性渲染(按上下文确定的品牌模板/skill 生成可编辑 PPTX)
A/B 共用。
- SVG viewBox 固定
0 0 1280 720,字体写在每个 text 元素上 - 走 ppt-master 等通用 PPT skill 的 SVG→PPTX 工具链(或调用时指定的其他 skill)
- svg_to_pptx 三大限制:不支持
<image>(图片用 python-pptx 后期插);不递归<g>(元素必须平铺,defs/filter 组除外);不支持<marker>箭头(用<line>+<polygon>实心三角自拼) - 圆角图用 Pillow alpha 遮罩裁透明 PNG,别用 clipPath
- python-pptx 重绘的文字,SVG 里必须删干净,否则两层重影
- 详细工作流见 @references/manual.md 第五节
第 5 步:不覆盖交付 + 自检
A/B 共用。
- 源文件被 PowerPoint 占用 → 另存新名(_v2),绝不强覆盖用户正在打开的文件
- 截图校验用隔离
--user-data-dir临时目录跑 headless Edge,绝不全局杀 Edge / 不关用户的 PowerPoint;本机不稳时只生成不强制截图 - svg_to_pptx 输出
skipped 0,元素数符合预期 - 预览图:布局无溢出、文字无重影、配图在正确图区、符合项目字数/语言铁律
- 回复正文写明完整文件路径(绝对路径)
Pitfalls
A/B 共用
- ❌ 一上来就动手画 SVG/写文案 → 走错方向白干。先归 7 类(A)或选骨架(B)+ 追问具体意图。
- ❌ 归完类/定完骨架跳过追问 → 方向对但手感偏,做了也白做。必须问清风格/倾向。
- ❌ 把"主题"当"标题" → 标题必须是结论,不是讲什么。
- ❌ 不 MECE 强加排版 → 越改越乱。先重切分类轴。
- ❌ 给了截图自由发挥重设计 → 该严格复刻只换内容。
- ❌ 字多 ≠ 有深度 → "太简单"通常缺逻辑层,不是字少。
- ❌ 渲染 PPTX 时强覆盖用户已打开文件 → PermissionError + 用户工作丢失。
- ❌ headless 截图全局
taskkill /F /IM msedge.exe→ 会关掉用户所有 Edge 窗口。必须--user-data-dir隔离。 - ❌ python-pptx 文字 + SVG 文字两边都画 → 重影。SVG 必须删干净。
- ❌ SVG 用
<g>包卡片组 → svg_to_pptx 漏转。defs/filter 组除外,普通元素必须平铺。 - ❌ 生成物只说"已生成"不写路径 → 用户找不到文件。必须在正文给完整绝对路径。
- ❌ AskUserQuestion 写错 JSON 格式 → 弹窗里出现
[object Object]。label必须是双引号包起来的纯字符串,不能写 Python 字典简写(如"label": "label': "会让解析器把整段当对象)。问问题时只问 1-2 个问题,每个 2-4 个选项,避免描述里嵌套特殊字符(→ / 复杂符号)。中招后立即停止渲染,先重问,别继续做。 - ❌ 字号低于 16px(PPT 12pt) → 🔴 铁律! SVG→PPTX 转换 0.75x,font-size="14" 出来只有 10.5pt,投影/印刷/手机阅读都看不清。所有可见文字必须
font-size ≥ 16(含副标题、注释、页码、卡角编号、节点说明)。硬伤修了都嫌晚。
B 新生模式专属
- ❌ 不问目的受众就开做 → 给董事会做的页和给 demo 的页完全不同。
- ❌ 逐页稿直接堆成 PPT → 稿子是内容不是设计,必须先套骨架再渲染。
- ❌ 没有结论就开做 → B 模式更要先想"这一页要让人记住什么一句话",否则容易做散。
- ❌ 白纸起手不给骨架选项让用户选 → 用户也不知道怎么选,直接给 5-6 个骨架让 ta 拍。
Verification
A/B 共用
- [ ] 单页标题是结论而非主题,能在 1 句话内复述本页核心主张
- [ ] 分论点 3-4 个,同一把尺子(MECE),每条论据回扣分论点
- [ ] 信息型页底部有结论横条
- [ ] 配图先 present 过目再嵌入;同类元素风格统一
- [ ] svg_to_pptx
skipped 0,元素数符合预期 - [ ] 输出文件命名带版本号(不覆盖用户文件)
- [ ] 回复正文明确给出 PPTX 绝对路径
A 迭代模式追加
- [ ] 已显式确认本次修改属于 7 类中的哪一类(1a)
- [ ] 归类后已追问具体意图(1b),用户给出了风格/倾向/偏好
B 新生模式追加
- [ ] 已确认目的(给谁看、要达成什么)
- [ ] 已选骨架并追问视觉倾向
- [ ] 已从逐页稿/口述/白纸三种起点之一确认了内容来源
References
- @references/manual.md — 完整操作手册(一句话心法 / 7 类修改方向 + B 模式 6 类骨架 / 金字塔呈现逻辑 / 文案做厚套路 / 配图策略 / 渲染交付红线 / 品牌视觉规范 / 验证清单)
- @templates/single_page_pyramid.svg — 单页金字塔结构 SVG 起手模板(viewBox 1280×720,含标题/3卡/结论横条占位)