Skip to main content

cyber-ppt

当用户需要把 DOCX、PDF、TXT、XLSX、研究报告、业务材料或原始数据转成高密度、可编辑、咨询风格 PPTX 时使用;也适用于需要 SCR 论证、视觉风格探索、详细图表和渲染质检的 PPT。

Source facts

Repository
crazyykhllc-bit/CyberPPT
Last source activity
July 20, 2026 at 12:48
Detected SKILL.md language
Chinese
Stars
1,889
Forks
189

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
cyber-ppt
description
当用户需要把 DOCX、PDF、TXT、XLSX、研究报告、业务材料或原始数据转成高密度、可编辑、咨询风格 PPTX 时使用;也适用于需要 SCR 论证、视觉风格探索、详细图表和渲染质检的 PPT。
<!-- ENCODING-GUARD: This file is UTF-8. In Windows PowerShell 5.1, use `Get-Content -Encoding UTF8`; if Chinese text appears garbled, reread with UTF-8 before summarizing or acting. --> # CyberPPT ## 概览 将源材料转化为有证据链、结论先行、可编辑的咨询式演示文稿。使用 MBB 级标准审视证据、论证和页面架构。保留证据可追溯性,设置确认门,并以渲染结果而不是文件生成作为完成判断。 ## 强制流程 | 阶段 | 必须产出 | 停止条件 | 读取 | |---|---|---|---| | 1. 分析 | MBB 标准证据表、冲突记录、内容脑暴子步骤、SCR 论证、逐页大纲、图表计划、页面信息密度和组件清单 | 第一次确认:用户批准故事线、页数、大纲、每页信息结构和密度目标 | `references/source-analysis.md`, `references/storyline.md` | | 2. 蓝图 | 8 种视觉风格、选定风格、覆盖全部请求/计划页数的逐页 ImageGen 蓝图 | 第二次确认:用户批准视觉方向和全部页面蓝图 | `references/visual-system.md` | | 3. 混合还原 PPTX | 采用“复杂视觉保真 + 主要文字可编辑”的混合还原策略,输出 PPTX、全页渲染图、对照检查和可编辑性说明 | 最终确认:用户批准可编辑 PPT | `references/ppt-production.md`, `references/quality-assurance.md` | 未经确认不要跨过确认门。用户要求修改时,回到对应阶段修订并重新确认。 ## Reference Gate 每个阶段开始前必须读取上表“读取”列中的全部 reference 文件,并把该阶段关键约束转成执行清单后再行动。不得只根据主文件摘要、记忆、既有脚本或上一轮经验执行。 - 阶段开始前必须读取对应 reference 的完整内容;如果终端显示乱码,改用 UTF-8 方式重读,不得跳过。 - reference 中的具体清单优先于本文件中的摘要描述;如果二者冲突,先停下说明冲突并请求用户确认。 - 第一阶段必须读取 `source-analysis.md` 和 `storyline.md` 后再产出证据表、内容脑暴、SCR、逐页大纲和页面信息密度清单。 - 第二阶段必须读取 `visual-system.md` 后再生成风格样张;默认必须逐项使用固定 8 种 CyberPPT 视觉风格,不得用扩展风格替代,除非用户明确要求替换。 - 第二阶段的逐页蓝图子阶段即使已经选好风格,也必须重新对照 `visual-system.md`,声明锁定的风格编号、色板、网格、标题层级、图表语言和信息密度规则,防止逐页生成时风格漂移。 - 第三阶段必须读取 `ppt-production.md` 和 `quality-assurance.md` 后再生成 PPTX 和渲染检查。 ## 第一步:证据分析 + 内容脑暴 + SCR + 页面密度规划 第一步不是“读完材料后给一个单版大纲”。它要先把源材料变成可审计的证据底表,再用脑暴发散多条可选故事线,最后收敛成 SCR、逐页大纲、图表计划和页面信息密度规则。 ### 第一步硬性要求 1. 所有事实、数字、判断、建议、caveat 和 SO WHAT 都必须能追溯到源材料位置或明确标记为缺口。 2. 必须建立 MBB 标准证据表,记录来源位置、期间、单位、置信度、冲突、caveat、含义和推荐视觉。 3. 必须完成内容脑暴子步骤:提出 2-3 条可选故事线,建立 issue tree 或 hypothesis tree,并比较证据强度、风险缺口、适用受众和不推荐原因。 4. 必须形成页面物料池:关键数字、对比、排名、变化、漏斗、矩阵、表格、注释、图例、微图表、边栏洞察和可用证据 ID。 5. 必须输出推荐故事线,而不是只给一个看似合理的大纲。 6. 必须为每页定义信息密度和组件清单,包括信息区数量、主图与侧栏比例、表格/注释/图例/微图表数量、证据 ID、SO WHAT 和低密度风险。 7. 不得让用户只确认页标题;第一次确认必须覆盖故事线、页数、逐页论点、图表计划、信息密度和组件清单。 ### 第一步工作顺序 1. 盘点输入文件和材料角色。 2. 抽取事实、数字、表格、图形、论点、日期、单位和来源。 3. 建立证据表,并标记冲突、缺口和仅方向性判断。 4. 基于证据表做内容脑暴,提出 2-3 条可选故事线和 issue tree / hypothesis tree。 5. 比较故事线,选择推荐路径并说明取舍。 6. 将推荐路径收敛为全篇 SCR。 7. 生成逐页计划:结论标题、角色、详细论证、证据、caveat、图表计划、视觉、含义、承接。 8. 为每页补齐页面信息密度和组件清单,作为第二步蓝图输入。 ### 第一步确认输出 第一次确认必须包含: - MBB 证据表摘要; - 开放数据冲突、缺失证据和 caveat; - 2-3 条可选故事线与推荐理由; - 推荐 SCR; - 逐页大纲和图表计划; - 逐页页面信息密度和组件清单; - 需要用户决策或补充的数据问题。 ### 第一步禁止事项 - 不得跳过内容脑暴,直接提交单版大纲。 - 不得用常识补源材料没有的数据。 - 不得把 ImageGen 文字、数字、Logo、引文或图表值当作证据。 - 不得输出只有“页面标题 + 简短描述”的低密度大纲。 - 不得把低密度风险留给蓝图阶段自行解决。 ## 第二步:8 张固定样张 + 逐页 ImageGen 蓝图 第二步不是文字风格选择,也不是只写一份样式说明。它分成两个子阶段:先实际展示 8 张固定 CyberPPT 视觉样张供用户选择,再按选定风格和第一步确认的页面密度生成完整页数的逐页 ImageGen 蓝图。 ### 第二步硬性要求 1. 必须读取 `visual-system.md`。 2. 必须直接通过当前对话发送 8 张独立完整的 16:9 样张图片供用户选择。优先使用内置样张 `assets/palette-samples/palette-01.png` 到 `palette-08.png`;如果重新生成,也必须交付 8 张真实图片。 3. 网页、HTML、URL、文件夹路径、文件列表、Markdown 表格、文字说明、拼图或缩略图墙只能作为补充,不能替代当前对话中的 8 张独立样张图片。 4. 如果使用网页辅助,网页只能作为附加浏览方式,不得作为风格确认的唯一依据。 5. 在用户能够在当前对话中直接看到 8 张样张之前,不得请求用户选择风格,不得进入逐页蓝图阶段。 6. 不得只生成 Markdown、表格、文本列表、推荐理由或 `stage2_style_options.md` 作为风格确认物。 7. 默认必须使用固定 8 种 CyberPPT 视觉风格;除非用户明确要求替换,否则不得改成临场扩展风格。 8. 选定风格后,必须声明并锁定风格编号、名称、色板、网格、标题层级、图表语言、页眉页脚和信息密度规则。 9. 逐页蓝图必须使用第一步确认的页面信息密度和组件清单,不得把高密度计划降级成宽松卡片、泛化图表或稀疏大字报。 10. 蓝图画面中的文字和数字仍不得作为最终事实来源;但逐页蓝图生成前必须先建立 `slide_content_lock`,用第一步确认的真实文本、数据、表格结构、SO WHAT、证据 ID 和必需组件锁定页面内容。第三阶段必须从该锁定文件填入真实内容,不得重新解释源材料、删减组件或降低信息密度。 11. 第二阶段必须自动判定默认目标交付语言,不得为语言选择单独增加确认步骤。默认语言判定优先级为:用户明确指定的全局交付语言 > 源材料主要语言 > 当前对话语言。只有源材料多语言且无明显主语言,或用户指令与源材料语言冲突时,才询问用户。 12. 逐页 ImageGen 蓝图必须使用有效目标语言。有效目标语言 = 默认目标交付语言 + 已登记的页级、章节级或组件级语言覆盖。蓝图中的标题、模块标题、图表标签、图例、轴标签、注释、来源、页脚、SO WHAT 和其他可见文字占位都必须使用对应范围的有效目标语言;不得默认生成英文蓝图。 13. 如果用户明确要求某一页、某一节或某个组件使用不同语言,必须记录为 `language_overrides`,并只在对应范围内使用覆盖语言。不得因为局部英文要求把整套蓝图改成英文。 14. `target_language`、`language_source`、`effective_language`、`language_overrides` 和 `allowed_foreign_terms` 是执行元数据,只能写在蓝图记录、prompt 说明、manifest 或 QA 记录中,不得作为页面可见文字出现在蓝图画面或最终 PPT 中。 15. 每页蓝图确认后,必须冻结 `blueprint_component_signature`,记录组件类型、组件结构、子组件和对应内容锁定引用。第三阶段只能读取,不得重写、放宽或临时补签名。 16. 每页蓝图确认后,必须建立 `visual_element_registry`,登记蓝图中全部可见元素的 bbox、类型、优先级、所属组件和容差。P0/P1/P2 只决定容差和失败等级,不决定是否可以跳过测量。 17. `slide_content_lock`、`blueprint_component_signature` 和 `visual_element_registry` 必须记录文件路径和 SHA-256;第三阶段 manifest 只能引用冻结结果,不能自行改写。 ### 第二步工作顺序 1. 直接通过当前对话发送 8 张固定样张图片,并在图片外列出编号、名称、色板、语气、优势和风险。 2. 等待用户选择或要求替换风格。 3. 锁定视觉系统:页面尺寸、安全边距、网格、字体层级、图表语言、表格样式、页眉页脚、强调色和密度规则。 4. 基于第一步确认的逐页计划,为每页生成一张完整 16:9 ImageGen 蓝图;除非用户明确跳过 ImageGen,不得用脚本绘图、PPT、HTML、SVG、canvas 或低保真 mockup 替代。 5. 每页蓝图前先生成 `slide_content_lock`;每页蓝图确认后冻结 `blueprint_component_signature` 和 `visual_element_registry`,并记录路径、SHA-256、页面角色、复杂视觉资产区域、可编辑文本区域、原生组件清单、证据 ID 和预期信息密度。 6. 检查风格漂移、信息密度下降、封面过密、内容页过稀和生成文字污染。 ### 第二步确认输出 第二次确认必须包含: - 8 张独立 16:9 风格样张图片; - 风格编号、名称、色板、适用语气、优势和风险; - 用户选定后的视觉系统锁定说明; - 覆盖全部页数的逐页 ImageGen 蓝图; - 每页蓝图的 ImageGen prompt、输出图片路径或生成记录、`slide_content_lock`、`blueprint_component_signature`、`visual_element_registry`、组件清单、可编辑文本区域、复杂视觉资产区域、证据 ID 和密度目标; - 需要用户确认的风格漂移或信息密度风险。 ### 第二步禁止事项 - 不得只给 `stage2_style_options.md` 或文字描述让用户选风格。 - 不得用拼图、缩略图墙或压缩多页画布替代 8 张独立样张。 - 不得只提供网页、HTML、URL、文件夹路径或文件列表让用户查看样张;这些只能作为当前对话图片展示之后的补充。 - 不得在网页中图片未加载、路径失效或用户无法看到样张时请求用户选择风格。 - 不得在用户尚未确认能看到 8 张样张时进入逐页蓝图阶段。 - 不得把“只用源文件”理解成跳过视觉样张或跳过 ImageGen;它只约束事实、数据和文字来源。 - 不得让 ImageGen 自行补内容密度;内容密度必须来自第一步确认的页面计划。 - 不得在逐页蓝图阶段重新发散到未选定的视觉系统。 - 不得用 PptxGenJS、python-pptx、HTML、CSS、SVG、canvas、Pillow、matplotlib、PowerPoint 或任何本地绘图脚本直接绘制逐页蓝图。除 `python-pptx` 外,这些工具只能用于 prompt 管理、metadata、QA、对照图、第三阶段非生成辅助或用户明确跳过 ImageGen 后的辅助流程;`python-pptx` 不得用于第三阶段正式 PPTX 生成。 - 不得把 PowerPoint 页面、网页截图、线框稿、结构草图、默认卡片页、低保真 mockup 或便于测量的规整占位图冒充 ImageGen 蓝图。 - 如果用户明确跳过 ImageGen,必须记录 `imagegen_skipped_by_user=true`、用户提供的模板/截图/品牌指南/视觉规范路径和替代依据;不得声称该页是 ImageGen 蓝图。 - `visual_element_inventory_targets` 和 `blueprint_measurement_targets` 只是第二阶段记录 metadata,用于第三阶段还原准备;不得因此把蓝图降级成脚本草图、线框图、默认卡片页或低保真 dashboard。 ## 第三步:复杂视觉保真 + 主要文字可编辑 采用“复杂视觉保真 + 主要文字可编辑”的混合还原策略。最大优先级是保留原图的整体设计质感、构图、视觉完成度和高级感,同时保证主要文字内容可以在 PPT 中直接编辑。不要把整页简单铺成一张背景图。 ### 硬性要求 1. 主要文字不得整体作为图片保留,必须使用 PPT 原生文本框重建。 2. 必须可编辑的文字包括:主标题、副标题、正文段落、金句、关键数字、关键词、结论框文字、注释文字、页脚说明、章节名、页码。 3. 复杂视觉区域内部的小字,如果拆分会明显破坏视觉质感,可以保留为图片,但需要在最终说明中标注。 4. 不要为了视觉保真,把所有文字都压成图片。 5. 不要为了全量可编辑,把复杂视觉效果重建成低质感的 PPT 默认图形。 6. ImageGen 蓝图只允许作为构图、层级、密度和视觉语言参考;不得将整页蓝图或大面积蓝图截图作为最终 PPTX 背景。 7. 内容页中的折线图、柱状图、坐标轴、标签、关键数字、表格、对比条、流程箭头、SO WHAT、页眉页脚默认必须使用 PowerPoint 原生文本和形状重建。 8. 如果某页经复杂视觉扫描后确认无复杂视觉资产,且蓝图允许完全原生重建,则该页最终通常可达到 `pictures=0`;否则必须逐项说明图片、SVG、custom geometry 或 freeform 资产的必要性。 9. 第三阶段交付不是“生成 PPTX + strict QA”,而是“逐页蓝图对照通过 + PPTX 结构通过”。两者任一失败都不得交付确认。 10. 已批准蓝图是视觉验收基准,不是灵感图或内容结构参考。页面底色、表面系统、页眉页脚、SO WHAT、分栏关系、主图形态、图标锚点、密度和留白节奏都必须逐项对照。 11. 每页生成 PPTX 前必须先写 `blueprint_reconstruction_plan`,拆解蓝图的版式、密度、表面系统和锚点。没有该记录不得生成该页。 ### 第三阶段用户确认提示 进入第三阶段并等待用户确认时,必须在显眼位置说明: > 接下来不是一次性生成完整 PPT,而是逐页制作、逐页验收。 > 这样做是为了避免 AI 在批量生成时注意力分散,导致信息密度下降、曲线/图标/文字位置漂移、背景表面系统不一致和视觉语义丢失。 > 每页确认通过后才进入下一页;全部页面通过后,再用已通过的单页 PPTX 合并成完整 deck,并进行合并后回归验证。 ### 第三阶段逐页执行与逐页验收门 第三阶段默认必须逐页执行,不得一次性生成完整 deck 作为终版。 每页必须按顺序执行: 1. 只读取当前页蓝图; 2. 输出当前页 `blueprint_reconstruction_plan`; 3. 完成当前页 `complex_visual_scan`; 4. 判断图片、SVG、custom geometry、复杂视觉资产准入; 5. 判断是否触发精确曲线、像素边界追踪、表格密度、位置锚点、字号和溢出门; 6. 只生成当前页单页 PPTX; 7. 导出当前页渲染图; 8. 生成当前页 blueprint vs render side-by-side 对照图; 9. 对标题区、主图表区、流程/图标区、SO WHAT、页脚等关键区域做局部对照; 10. 填写当前页 manifest 与 visual QA evidence; 11. 修复当前页直到通过; 12. 用户确认当前页后,才允许进入下一页。 当前页未通过前,不得制作下一页。当用户要求“高保真”“1:1”“按蓝图还原”“正式交付”“精确还原”时,第三阶段禁止一次性生成 2 页以上作为终版。一次性生成多页只能标记为 rough draft,不得标记为 CyberPPT 合格终版。不得先批量生成完整 PPTX,再事后补写 manifest、visual QA 或 side-by-side 来伪装为逐页验收;visual QA 必须基于当前页实际渲染结果即时生成。 ### 最终合并门 最终完整 PPTX 必须由已经逐页验收通过的单页 PPTX 合并得到。 合并阶段不得重新运行页面生成脚本重建页面、不得重新排版、不得重新绘制图表、不得重新套用背景、不得将单页渲染图作为整页背景、不得用截图替代已通过的原生对象页面。 合并阶段只能导入已验收通过的单页 PPTX 页面,并尽量保留原页面 XML、主题、背景、形状、文本、图表、SVG/custom geometry 和关系文件。合并后必须导出 PNG 做回归验证;这里的渲染只是 QA,不是重新制作页面。 合并后的每一页必须和对应的已验收单页渲染图进行对照。如果出现背景色变化、页面尺寸变化、对象偏移、字体变化、图片丢失、SVG 变形、图表错位或信息密度下降,则合并失败,必须修复合并流程,而不是重新生成页面。 ### 双硬门槛:可编辑性与视觉语义必须同时成立 `结构可编辑` 和 `视觉还原` 是同等硬门槛,不是二选一,也不得互相覆盖。最终 PPTX 必须同时满足“信息结构可编辑”和“视觉语义高保真”。 硬性判定: - 不得以可编辑性为理由,把蓝图中的关键视觉表达简化、替换或降级。例如不得把流线、弧线、异形图、空间关系、统一表面系统、颜色层级或视觉重心改成普通矩形、默认流程图、白卡片堆叠或粗略线条。 - 不得以视觉保真为理由,把主要文字、关键数字、图表标签、SO WHAT、页眉页脚或简单图表图片化。 - 当可编辑性和视觉保真出现冲突时,必须采用“原生对象 + 小范围无文字 SVG/custom geometry/紧裁非文字资产 + manifest 披露”的混合方案,而不是牺牲任一目标。 - 如果 `pictures=0` 但关键图表形态、曲线幅度、面板逻辑、底色系统或视觉语义明显不符合蓝图,仍然失败。 - 如果使用图片/SVG 承载了主要文字、数字、标签、来源、页脚或 SO WHAT,仍然失败。 - `qa_expectations` 必须声明 `dual_gate_required: true`、`visual_semantics_required: true` 和 `all_key_text_editable: true`;缺失即视为第三阶段失败。 - `visual_qa_gate.json` 必须分别给出 `editable_information_layer_pass` 和 `visual_semantics_preserved`。任一为 `false`,`deliverable_allowed` 必须为 `false`。 ### pictures=0 非目标原则 `pictures=0` 不是第三阶段目标,也不是视觉合格证明。 第三阶段目标只有两个同等硬门槛: 1. 主要信息层可编辑; 2. 蓝图视觉语义高保真。 无复杂视觉资产的页面,应优先使用 PowerPoint 原生对象重建,最终通常可能达到 `pictures=0`。 但当蓝图中的照片、官方素材、复杂纹理、复杂插画、复杂图标、流线、异形边界、复杂弧线、非标准图表形态或非文字视觉资产构成视觉语义时,必须触发资产准入门或精确追踪门,并选择能同时保留视觉语义与主要信息可编辑性的方案。可使用小范围无文字图片、SVG path、custom geometry 或高密度 freeform;不得让图片/SVG 承载主要文字、关键数字、图表标签、SO WHAT、页眉页脚或来源。 不得为了 `pictures=0`: - 把流线图改成矩形条; - 把弧线流程改成普通折线; - 把复杂图标改成默认图标; - 把统一页面表面系统改成白卡片; - 降低页面密度; - 简化蓝图视觉重心; - 主动避免触发图片、曲线、异形或复杂视觉门。 ### 还原策略 1. 先识别页面结构,将画面拆成“复杂视觉资产层”和“可编辑信息层”。 2. 复杂视觉资产层优先从原图裁切/提取为高清图片素材嵌入 PPTX。 3. 可编辑信息层使用 PPT 原生文本、形状、线条、基础图形和简单图表重建。 4. 如果原图文字需要改成可编辑文本,请使用背景色、渐变近似或局部遮罩覆盖原图文字,再叠加可编辑文本,避免重影。 5. 对于复杂图标、品牌 Logo、照片、插画、3D 图、拼图、复杂图表、复杂流程图、复杂循环图、复杂背景、材质、纹理、光影、景深、玻璃拟态、金属质感、柔光和投影,可以保留为图片。 6. 对于简单线条、分隔线、基础几何框、轻量标签、简单按钮、简单色块、页码、基础表格和简单图表,必须重建为可编辑 PPT 元素。 7. 品牌 Logo、商标、产品 UI、人物、商品图、官方图标不要手绘或伪造,优先保留为原图裁切图片素材。 8. 如果图表数据无法从图片准确反推,请按视觉比例近似重建,并在说明里标注“数据为视觉近似”。 ### PPTX 生成工具选择门 第三阶段正式 PPTX 页面必须使用 PptxGenJS / pptx-generator 生成。PptxGenJS 是承载和排版引擎,用于放置原生文本、矩形、表格、基础线条、图表组件、已追踪 SVG path、PPT custom geometry 和高密度 freeform;它不是把复杂视觉降级为 PowerPoint preset shape 的许可。 第三阶段正式 PPTX 生成一律禁止使用 `python-pptx`。无论 PptxGenJS 是否报错、PowerPoint 是否打不开、任务是否紧急、页面是否简单,都不得切换到 `python-pptx`、HTML 转 PPT、截图转 PPT 或其他生成引擎。 每页 manifest 必须记录 `generation_engine.tool="pptxgenjs"` 或等价 `pptx-generator`,并声明 `visual_fidelity_not_reduced=true`。`generation_engine.tool` 为 `python-pptx`、`python_pptx`、`html-to-ppt`、`screenshot-to-ppt` 或其他正式生成引擎,均视为第三阶段失败。 ### SVG / custom geometry 优先门 当蓝图中存在曲线、弧线、扇形、环形缺口、流带、异形边界、非矩形区域、复杂图标轮廓或用户要求 1:1 的几何敏感视觉时,必须优先使用 SVG path、PPT custom geometry 或高密度 freeform 还原。 ### 图标库优先门 第三阶段涉及通用图标、徽章、节点内符号、SO WHAT 图标或解释栏图标时,必须优先从 `assets/icons/` 选择已验证 SVG 图标,不得临时手写复杂 SVG 图标。使用图标库是为避免断线、不连续、路径粗糙和风格漂移;图标不要求与 ImageGen 蓝图里的随机图标完全一致,但必须语义近似、风格统一、线宽/填充一致,并进入 `visual_element_registry` 做坐标反测。 图标库使用规则: - 每套 PPT 的通用图标只能选择一个 stylistic library:`chunk-filled`、`tabler-filled`、`tabler-outline` 或 `phosphor-duotone`。不得混用多个通用图标风格。 - `simple-icons` 只允许用于真实品牌、公司、产品或服务 logo,不得用作普通概念图标的替代。 - 选图标前必须用 `scripts/select_icon.py search --index assets/icons/index.json --query "<keyword>" --library "<library>"` 搜索候选;不要读取整个图标库。 - 选中图标后,manifest 或制作记录必须登记 `icon_id`、`source_library`、`semantic_meaning`、`svg_path`、`viewBox` 和 `powerpoint_render_verified`。 - 图标仍必须登记 `blueprint_bbox_px`、`ppt_target_bbox_in`、`render_bbox_px`、`delta_px` 和 `tolerance_px`;不得因为使用图标库跳过空间注册。 只有图标库中没有语义近似图标时,才允许 `custom_icon_required=true`,并按 SVG path / custom geometry 精确追踪门执行。不得为了“更像蓝图”临时手写断裂、粗糙或不可渲染的复杂图标 SVG。 不得用 PowerPoint preset shape 替代精确追踪结果,包括但不限于: - `pie`; - `arc`; - `blockArc`; - `chord`; - `moon`; - `wave`; - 复杂箭头; - 默认流程图形状; - connector 线段拼接。 SVG path、PPT custom geometry 和高密度 freeform 是几何敏感视觉的优先实现方式。`pictures=0`、可编辑性、PptxGenJS 原生对象或 PowerPoint preset shape 都不能覆盖该门槛。 ### preset shape 准入门 复杂 PowerPoint preset shape 默认不得进入正式页面。只有同时满足以下条件才允许: 1. 已完成单对象 PowerPoint 打开和 PNG 导出测试; 2. 已完成局部 blueprint vs render 对照; 3. 视觉误差低于该区域 tolerance; 4. manifest 记录为什么不用 SVG path/custom geometry; 5. 该对象不会造成零尺寸、负尺寸、负坐标、非法调整参数或 PowerPoint 打不开。 否则必须改用 SVG path、custom geometry、高密度 freeform 或稳定原生对象组合。 ### PowerPoint 兼容与损坏处理门 每页 PPTX 生成后,必须用 PowerPoint 打开并导出 PNG。只有完整页面 PPTX 能被 PowerPoint 打开并成功导出当前页 PNG,才允许进入 visual QA、manifest approved 状态和用户确认。ZIP/结构预检通过不等于 PowerPoint 兼容通过。 如果 PowerPoint 无法打开页面,必须按顺序执行: 1. 删除当前页旧 PPTX、旧 PNG、旧 QA 文件,防止旧文件残留; 2. 扫描 slide XML 中零尺寸、负尺寸、负坐标、异常 ext/off、非法透明度和非法线宽; 3. 逐组隔离对象,定位首次导致 PowerPoint 打不开的对象或对象组; 4. 用 PowerPoint-safe SVG path、custom geometry、高密度 freeform 或稳定原生对象组合替代坏对象; 5. 重新生成完整页面; 6. 再次用 PowerPoint 打开并导出 PNG。 不得在完成对象隔离前切换生成引擎;不得在任何情况下切换到 `python-pptx`。 ### 隔离文件不是交付物 兼容性定位过程中产生的空白 PPTX、半成品 PPTX、分组测试 PPTX 和对象隔离 PPTX,只能命名为 `isolation-*` 或 `compat-test-*`,只能用于定位问题。 这些文件不得命名为 `slide-XX.pptx`,不得写入 manifest,不得进入 visual QA,不得给用户确认,不得作为最终页面或合并来源。只有完整蓝图页面通过 PowerPoint 打开和渲染后,才能写入 `pages/slide-XX.pptx`。 ### 图片资产准入门 制作每页 PPTX 前必须先建立图片资产准入表;没有准入表不得开始生成该页。 | 区域 | 默认是否允许图片 | 判定 | |---|---|---| | 标题、副标题、正文、关键数字、页脚、页码、SO WHAT | 否 | 主要信息层,必须可编辑 | | 折线图、柱状图、坐标轴、标签、对比条、简单流程箭头、基础表格 | 否 | 简单图表/基础图形,必须原生重建 | | 照片、官方 Logo、产品 UI、复杂插画、复杂纹理、3D、玻璃拟态、光影材质 | 可 | 原生重建会明显降质时才允许 | | 大面积或整页蓝图截图 | 否 | 蓝图是参考,不是交付背景 | 每个图片资产都必须记录:来源、保留原因、覆盖区域、是否牺牲可编辑性。若无法给出必要性,改用原生对象重建。 ### slide_manifest.json 硬门槛 第三阶段每页进入 PPTX 生成前必须先写 `slide_manifest.json`,并在生成后按实际 PPTX 更新。没有 manifest、manifest 缺页、manifest 字段不完整,均视为第三阶段失败,不得交付确认。 每页 manifest 必须至少包含: ```json { "slide": 2, "role": "Situation", "layout_reference": "blueprints/slide-02.png", "generation_engine": { "tool": "pptxgenjs", "fallback_reason": null, "visual_fidelity_not_reduced": true }, "page_execution": { "mode": "single_page", "single_page_pptx_path": "pages/slide-02.pptx", "blueprint_render_path": "blueprints/slide-02.png", "ppt_render_path": "renders/slide-02.png", "side_by_side_path": "qa/slide-02-side-by-side.png", "local_comparison_artifacts": [ "qa/slide-02-title-crop.png", "qa/slide-02-main-chart-crop.png", "qa/slide-02-so-what-crop.png" ], "page_status": "approved", "user_confirmed": true, "made_before_next_slide": true }, "blueprint_reconstruction_plan": { "blueprint_path": "blueprints/slide-02.png", "canvas_size": "16:9", "background_color_sample": "#F3F4EF", "surface_system": "continuous paper with subtle panels", "layout_regions": ["title", "main_chart", "right_evidence", "so_what"], "header_footer_system": "page badge, source footer", "so_what_region": "bottom band", "main_chart_semantics": "line chart with evidence callouts", "density_targets": "high-density consulting page", "anchor_targets": ["title baseline", "chart origin", "right panel edges"], "native_rebuild_targets": ["title", "labels", "chart", "so_what"], "allowed_visual_assets": [], "complex_visual_scan": { "completed": true, "complex_visual_candidates": ["line chart callouts", "subtle panel system"], "triggered_gates": ["spatial_registration"], "native_only_rationale": null, "pictures_zero_is_not_goal": true } }, "expected_pictures": 0, "image_assets": [], "text_objects": [ { "id": "page_title", "role": "T2", "text": "页面主标题", "font_size_pt": 24, "editable": true } ], "native_components": [ { "id": "main_chart", "type": "line-chart-shapes", "reason": "简单折线图,必须原生重建" } ], "qa_expectations": { "pictures_must_be_zero": true, "all_key_text_editable": true, "typography_scale_required": true, "dual_gate_required": true, "visual_semantics_required": true, "visual_qa_required": true, "spatial_registration_required": true, "container_overflow_check_required": true, "continuous_text_flow_check_required": true, "table_semantic_typography_required": true, "table_density_check_required": true } } ``` 硬性判定: - 只有完成 `complex_visual_scan` 并确认无复杂视觉资产、无资产准入门和无精确追踪门时,`expected_pictures` 才可设为 `0`,`image_assets` 才可为空数组。 - 只要 `expected_pictures = 0` 或 `pictures_must_be_zero = true`,最终 PPTX 中该页 `pictures > 0` 即失败;但不得把 `expected_pictures = 0` 或 `pictures_must_be_zero = true` 当作目标,也不得因此主动避免触发复杂视觉门。 - `blueprint_reconstruction_plan.complex_visual_scan` 必须记录扫描完成状态、复杂视觉候选、触发门、native-only 理由和 `pictures_zero_is_not_goal=true`。缺失或不完整即失败。 - `generation_engine` 必须记录 PPTX 生成工具和 `visual_fidelity_not_reduced=true`;第三阶段正式 PPTX 生成必须使用 PptxGenJS / pptx-generator,任何 `python-pptx`、HTML 转 PPT、截图转 PPT 或其他生成引擎均失败。 - `page_execution` 必须记录当前页单页制作、渲染、side-by-side、局部对照、用户确认和“确认后才进入下一页”的状态。缺失或不是 `mode=single_page` 即失败。 - `page_execution.page_status` 必须为 `approved`,`user_confirmed` 和 `made_before_next_slide` 必须为 `true`;否则不得进入下一页或最终合并。 - 任一图片覆盖单页面积超过 40%,但 `image_assets` 没有逐项说明来源、区域和必要性,即失败。 - 任一图片覆盖单页面积超过 90%,按整页背景风险处理;内容页默认失败,不得用“上面叠了可编辑文字”作为例外。 - `text_objects` 中每个主要文字对象必须写明 `role`、`font_size_pt` 和 `editable`;缺失即失败。 - `role` 必须使用固定 Typography Scale(`C0`, `T1-T14`);低于对应下限即失败,不能用“为了密度”解释。 - 折线图、柱状图、坐标轴、标签、关键数字、表格、对比条、流程箭头、SO WHAT、页眉页脚必须登记为 `native_components`;若被图片承载即失败。 - `qa_expectations.dual_gate_required`、`qa_expectations.visual_semantics_required` 和 `qa_expectations.all_key_text_editable` 必须同时为 `true`;不得只声明可编辑性或只声明视觉保真。 - 对中心图、流程图、架构图、生态图、矩阵图、路径图、图标密集页或包含节点/箭头/图标/标签组合的页面,`qa_expectations.spatial_registration_required` 必须为 `true`,并提供 `spatial_registration_check`。 - 任一页面包含卡片、面板、表格、结论条、SO WHAT、图表标注或固定区域文本时,`qa_expectations.container_overflow_check_required` 必须为 `true`,并提供 `container_overflow_check`。 - 任一语义连续句子被拆成多个文本框、多个富文本片段、多个高亮段或跨区域文本时,`qa_expectations.continuous_text_flow_check_required` 必须为 `true`,并提供 `continuous_text_flow_check`。 - 任一页面包含表格、矩阵、行动清单、风险清单或网格化管理表时,`qa_expectations.table_semantic_typography_required` 和 `qa_expectations.table_density_check_required` 必须为 `true`,并提供 `table_text_objects` 与 `table_density_check`。 - 违反字面规则就是违反规则本身;不得以“视觉保真”“按蓝图还原”“用户只看渲染图”“后续会改”为理由绕过 manifest。 ### 第三阶段高保真蓝图还原门 第三阶段必须是高保真蓝图还原阶段,不存在“低保真正式交付”“普通还原正式交付”“语义相似即可交付”或“一次性草稿先行”。 第三阶段不得先生成低保真草稿、快速预览、rough draft 或批量初稿,再事后补写 manifest、visual QA 或用户确认记录。 所有可见视觉元素都必须进入 `visual_element_inventory`,并被归入逐项测量、组内子锚点测量或装饰组测量。未登记的可见元素默认视为遗漏;遗漏未修复前,不得设置 `visual_semantics_preserved=true`,不得设置 `deliverable_allowed=true`,不得交付确认。 不得因为元素“微小”“装饰性”“不影响文字”而跳过登记。 `visual_element_inventory` 必须为每个可见元素或元素组标注 `priority`: 第三阶段必须对蓝图中所有可见元素建立 `visual_element_registry`。P0/P1/P2 只影响容差和失败等级,不影响是否需要登记、测量、还原和渲染后反测。 - `P0`:标题、主图、SO WHAT、页脚、关键数字、核心面板、用户指出区域。默认容差 3px,最大 6px;超差即 Critical。 - `P1`:普通卡片、图标、标签、箭头、表格、分隔线。默认容差 4px,最大 8px;超差即 High,正式交付不得存在。
View on GitHub
This SKILL.md is very large, so SkillsMP previews the first section here. View on GitHub