用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/caixinyu2017-star/xixi --skill cyber-ppt命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Help Codex plan, generate, reproduce, and refine editable Microsoft Visio scientific diagrams. Use when users ask Codex to operate local Visio, create VSDX research figures, redraw uploaded paper screenshots or sketches in Visio, convert natural-language method descriptions into scientific diagrams, export preview PNG/PDF/SVG, or build editable model architecture, workflow, system architecture, experiment, pseudo-code, sequence, or module interaction diagrams.
Rebuild or restyle editable Microsoft Visio diagrams from reference images and existing .vsdx files, then export deliverables as .vsdx, PNG, SVG, PDF, or PPTX. Use when the user asks Codex to open Visio, recreate a diagram from a PNG/JPG/screenshot/reference image, match a scientific model figure, batch-create Chinese technical-bid flowcharts, continue drawing another similar flowchart, update colors/typography/layout in a .vsdx, calibrate panel coordinates to avoid shifted or overlapping submodules, or make publication/presentation outputs while preserving Visio native editable shapes rather than embedding the reference image as a flat picture. For Chinese technical-bid flowcharts, default to the user's standard SimSun/宋体 12 pt technical-bid style and ask whether to use that default or reproduce the original image style when the two conflict.
Create stunning, animation-rich HTML presentations from scratch or by converting PowerPoint files. Use when the user wants to build a presentation, convert a PPT/PPTX to web, or create slides for a talk/pitch. Helps non-designers discover their aesthetic through visual exploration rather than abstract choices.
基于 SOC 职业分类
正在显示 SKILL.md
| name | cyber-ppt |
| description | 当用户需要把 DOCX、PDF、TXT、XLSX、研究报告、业务材料或原始数据转成高密度、可编辑、咨询风格 PPTX 时使用;也适用于需要 SCR 论证、视觉风格探索、详细图表和渲染质检的 PPT。 |
将源材料转化为有证据链、结论先行、可编辑的咨询式演示文稿。使用 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 文件,并把该阶段关键约束转成执行清单后再行动。不得只根据主文件摘要、记忆、既有脚本或上一轮经验执行。
source-analysis.md 和 storyline.md 后再产出证据表、内容脑暴、SCR、逐页大纲和页面信息密度清单。visual-system.md 后再生成风格样张;默认必须逐项使用固定 8 种 CyberPPT 视觉风格,不得用扩展风格替代,除非用户明确要求替换。visual-system.md,声明锁定的风格编号、色板、网格、标题层级、图表语言和信息密度规则,防止逐页生成时风格漂移。ppt-production.md 和 quality-assurance.md 后再生成 PPTX 和渲染检查。第一步不是“读完材料后给一个单版大纲”。它要先把源材料变成可审计的证据底表,再用脑暴发散多条可选故事线,最后收敛成 SCR、逐页大纲、图表计划和页面信息密度规则。
第一次确认必须包含:
第二步不是文字风格选择,也不是只写一份样式说明。它分成两个子阶段:先实际展示 8 张固定 CyberPPT 视觉样张供用户选择,再按选定风格和第一步确认的页面密度生成完整页数的逐页 ImageGen 蓝图。
visual-system.md。assets/palette-samples/palette-01.png 到 palette-08.png;如果重新生成,也必须交付 8 张真实图片。stage2_style_options.md 作为风格确认物。slide_content_lock,用第一步确认的真实文本、数据、表格结构、SO WHAT、证据 ID 和必需组件锁定页面内容。第三阶段必须从该锁定文件填入真实内容,不得重新解释源材料、删减组件或降低信息密度。language_overrides,并只在对应范围内使用覆盖语言。不得因为局部英文要求把整套蓝图改成英文。target_language、language_source、effective_language、language_overrides 和 allowed_foreign_terms 是执行元数据,只能写在蓝图记录、prompt 说明、manifest 或 QA 记录中,不得作为页面可见文字出现在蓝图画面或最终 PPT 中。blueprint_component_signature,记录组件类型、组件结构、子组件和对应内容锁定引用。第三阶段只能读取,不得重写、放宽或临时补签名。visual_element_registry,登记蓝图中全部可见元素的 bbox、类型、优先级、所属组件和容差。P0/P1/P2 只决定容差和失败等级,不决定是否可以跳过测量。slide_content_lock、blueprint_component_signature 和 visual_element_registry 必须记录文件路径和 SHA-256;第三阶段 manifest 只能引用冻结结果,不能自行改写。slide_content_lock;每页蓝图确认后冻结 blueprint_component_signature 和 visual_element_registry,并记录路径、SHA-256、页面角色、复杂视觉资产区域、可编辑文本区域、原生组件清单、证据 ID 和预期信息密度。第二次确认必须包含:
slide_content_lock、blueprint_component_signature、visual_element_registry、组件清单、可编辑文本区域、复杂视觉资产区域、证据 ID 和密度目标;stage2_style_options.md 或文字描述让用户选风格。python-pptx 外,这些工具只能用于 prompt 管理、metadata、QA、对照图、第三阶段非生成辅助或用户明确跳过 ImageGen 后的辅助流程;python-pptx 不得用于第三阶段正式 PPTX 生成。imagegen_skipped_by_user=true、用户提供的模板/截图/品牌指南/视觉规范路径和替代依据;不得声称该页是 ImageGen 蓝图。visual_element_inventory_targets 和 blueprint_measurement_targets 只是第二阶段记录 metadata,用于第三阶段还原准备;不得因此把蓝图降级成脚本草图、线框图、默认卡片页或低保真 dashboard。采用“复杂视觉保真 + 主要文字可编辑”的混合还原策略。最大优先级是保留原图的整体设计质感、构图、视觉完成度和高级感,同时保证主要文字内容可以在 PPT 中直接编辑。不要把整页简单铺成一张背景图。
pictures=0;否则必须逐项说明图片、SVG、custom geometry 或 freeform 资产的必要性。blueprint_reconstruction_plan,拆解蓝图的版式、密度、表面系统和锚点。没有该记录不得生成该页。进入第三阶段并等待用户确认时,必须在显眼位置说明:
接下来不是一次性生成完整 PPT,而是逐页制作、逐页验收。 这样做是为了避免 AI 在批量生成时注意力分散,导致信息密度下降、曲线/图标/文字位置漂移、背景表面系统不一致和视觉语义丢失。 每页确认通过后才进入下一页;全部页面通过后,再用已通过的单页 PPTX 合并成完整 deck,并进行合并后回归验证。
第三阶段默认必须逐页执行,不得一次性生成完整 deck 作为终版。
每页必须按顺序执行:
blueprint_reconstruction_plan;complex_visual_scan;当前页未通过前,不得制作下一页。当用户要求“高保真”“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 必须同时满足“信息结构可编辑”和“视觉语义高保真”。
硬性判定:
pictures=0 但关键图表形态、曲线幅度、面板逻辑、底色系统或视觉语义明显不符合蓝图,仍然失败。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 不是第三阶段目标,也不是视觉合格证明。
第三阶段目标只有两个同等硬门槛:
无复杂视觉资产的页面,应优先使用 PowerPoint 原生对象重建,最终通常可能达到 pictures=0。
但当蓝图中的照片、官方素材、复杂纹理、复杂插画、复杂图标、流线、异形边界、复杂弧线、非标准图表形态或非文字视觉资产构成视觉语义时,必须触发资产准入门或精确追踪门,并选择能同时保留视觉语义与主要信息可编辑性的方案。可使用小范围无文字图片、SVG path、custom geometry 或高密度 freeform;不得让图片/SVG 承载主要文字、关键数字、图表标签、SO WHAT、页眉页脚或来源。
不得为了 pictures=0:
第三阶段正式 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 或其他正式生成引擎,均视为第三阶段失败。
当蓝图中存在曲线、弧线、扇形、环形缺口、流带、异形边界、非矩形区域、复杂图标轮廓或用户要求 1:1 的几何敏感视觉时,必须优先使用 SVG path、PPT custom geometry 或高密度 freeform 还原。
第三阶段涉及通用图标、徽章、节点内符号、SO WHAT 图标或解释栏图标时,必须优先从 assets/icons/ 选择已验证 SVG 图标,不得临时手写复杂 SVG 图标。使用图标库是为避免断线、不连续、路径粗糙和风格漂移;图标不要求与 ImageGen 蓝图里的随机图标完全一致,但必须语义近似、风格统一、线宽/填充一致,并进入 visual_element_registry 做坐标反测。
图标库使用规则:
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>" 搜索候选;不要读取整个图标库。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;SVG path、PPT custom geometry 和高密度 freeform 是几何敏感视觉的优先实现方式。pictures=0、可编辑性、PptxGenJS 原生对象或 PowerPoint preset shape 都不能覆盖该门槛。
复杂 PowerPoint preset shape 默认不得进入正式页面。只有同时满足以下条件才允许:
否则必须改用 SVG path、custom geometry、高密度 freeform 或稳定原生对象组合。
每页 PPTX 生成后,必须用 PowerPoint 打开并导出 PNG。只有完整页面 PPTX 能被 PowerPoint 打开并成功导出当前页 PNG,才允许进入 visual QA、manifest approved 状态和用户确认。ZIP/结构预检通过不等于 PowerPoint 兼容通过。
如果 PowerPoint 无法打开页面,必须按顺序执行:
不得在完成对象隔离前切换生成引擎;不得在任何情况下切换到 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、玻璃拟态、光影材质 | 可 | 原生重建会明显降质时才允许 |
| 大面积或整页蓝图截图 | 否 | 蓝图是参考,不是交付背景 |
每个图片资产都必须记录:来源、保留原因、覆盖区域、是否牺牲可编辑性。若无法给出必要性,改用原生对象重建。
第三阶段每页进入 PPTX 生成前必须先写 slide_manifest.json,并在生成后按实际 PPTX 更新。没有 manifest、manifest 缺页、manifest 字段不完整,均视为第三阶段失败,不得交付确认。
每页 manifest 必须至少包含:
{
"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":
硬性判定:
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;否则不得进入下一页或最终合并。image_assets 没有逐项说明来源、区域和必要性,即失败。text_objects 中每个主要文字对象必须写明 role、font_size_pt 和 editable;缺失即失败。role 必须使用固定 Typography Scale(C0, T1-T14);低于对应下限即失败,不能用“为了密度”解释。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。qa_expectations.container_overflow_check_required 必须为 true,并提供 container_overflow_check。qa_expectations.continuous_text_flow_check_required 必须为 ,并提供 。第三阶段必须是高保真蓝图还原阶段,不存在“低保真正式交付”“普通还原正式交付”“语义相似即可交付”或“一次性草稿先行”。
第三阶段不得先生成低保真草稿、快速预览、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,正式交付不得存在。P2:装饰线、点阵、纹理、重复刻度、背景纹样。默认容差 6px,最大 12px;超差即 Medium,若造成可见错位、重影、密度下降或节奏破坏,升级为 High/Critical。所有 P0/P1/P2 元素都必须包含 element_id、priority、element_type、source_component_id、blueprint_bbox_px、ppt_target_bbox_in、render_bbox_px、delta_px、tolerance_px 和 registration_status。不得以“装饰”“P2”“不重要”“视觉近似”为由跳过登记或反测。
最小示例:
{
"visual_element_inventory": [
{
"id": "title_block",
"priority": "P0",
"role": "title",
"measurement_mode": "individual_bbox",
"must_reproduce": true,
"blueprint_bbox_px": {"x": 90, "y": 64, "w": 800, "h": 72},
"ppt_target_bbox_in": {"x": 0.63, "y": 0.44, "w":
硬性判定:
visual_element_inventory 即失败。visual_element_registry 即失败。priority 即失败;priority 只能是 P0、P1、P2。visual_element_registry 中每个 P0/P1/P2 元素都必须提供蓝图 bbox、PPT 目标 bbox、渲染后 bbox、delta 和 tolerance。P0 默认容差 3px,最大 6px;P1 默认容差 4px,最大 8px;P2 默认容差 6px,最大 12px。第三阶段逐页生成前,必须先建立 blueprint_measurement_table。该表是把已批准蓝图转换为 PPT 坐标的执行依据,不是说明文字。
必须记录画布换算字段:
{
"blueprint_canvas_px": {"w": 1920, "h": 1080},
"ppt_canvas_in": {"w": 13.333, "h": 7.5},
"scale_x": 0.006944,
"scale_y": 0.006944
}
每个关键区域必须记录:
{
"id": "main_chart_area",
"priority": "P0",
"role": "main_chart",
"blueprint_bbox_px": {"x": 118, "y": 202, "w": 1320, "h": 610},
"ppt_target_bbox_in": {"x": 0.82, "y": 1.40, "w": 9.17, "h": 4.24},
"tolerance_px": 3,
"must_match_geometry": true
硬性判定:
qa_expectations.visual_semantics_required=true 时,缺少 blueprint_measurement_table 即失败。blueprint_canvas_px、ppt_canvas_in、scale_x 或 scale_y 即失败。visual_element_inventory 未覆盖全部可见元素,即失败。第三阶段每页生成 PPTX 前,必须先把已批准蓝图的视觉系统转成可执行记录。没有记录不得生成该页。
必须记录:
硬性判定:
#FFFFFF 当作默认内容区底色,除非蓝图明确是白色卡片。validate_pptx.py --strict 通过不等于视觉系统合格。渲染图中出现底色逻辑、面板逻辑、图表语义或曲线几何明显偏离蓝图时,视为 High/Critical,必须返工,不得交付确认。当蓝图或参考图中存在曲线、流带、异形边界、非标准弧线或任何几何敏感视觉时,必须触发精确追踪门。触发后不得用普通矩形、平行四边形、默认流程图、默认波浪形状或粗略 PPT 曲线近似。
触发场景包括:
触发后必须产出:
geometry_analysis 几何拆解记录,说明目标是 stroke 还是 fill shape、单线/双线/流带/楔形/面积带/异形边界、端点、最大弯曲点、宽度变化、局部凸起/凹陷方向、交叠层级和重建方式;trace_required: true、trace_method、trace_reference_crop、geometry_analysis、trace_debug_artifact、rendered_crop_comparison 和资产路径。触发精确追踪门后必须按以下顺序执行,缺任何一步均不得生成最终 PPTX,不得把 curve_fidelity_pass 写为 true:
geometry_analysis,先判断目标几何类型和视觉语义,再决定用 stroke、fill path、polyline、PPT freeform/custom geometry 或紧裁非文字图片。curve_fidelity_pass=true。硬性判定:
geometry_analysis 不得绘制最终 SVG;不得先凭感觉画 SVG 再补描述。rendered_crop_comparison,不得交付确认。硬性判定:
pictures=0,把曲线语义图改成错误的原生矩形、平行四边形、硬边条形图或普通堆叠条。pictures=0。允许使用小面积、无文字的 SVG path 资产,但必须在 manifest 中登记。visual_qa_gate.json 的 curve_fidelity_pass=false 且 deliverable_allowed=false,并对用户指出区域重新执行局部对照流程。当页面包含中心图、流程图、架构图、生态图、矩阵图、时间线、路径图或任何图标/节点/曲线密集区域时,必须执行标签避让检查。该检查不能由 strict QA、图片数量、可编辑性或字号检查替代。
硬性判定:
allowed_text_overlaps;未登记的重叠一律按失败处理。visual_qa_gate.json 中记录 label_collision_check。缺失即失败。当页面包含中心图、流程图、架构图、生态图、矩阵图、时间线、路径图、图标密集图,或任何“图标 + 节点 + 标签 + 箭头/曲线”的组合时,必须执行空间锚点检查。该检查不能由标签避让、曲线追踪、字号检查或 pictures 数量替代。
制作前必须先记录蓝图的锚点关系:
manifest 必须包含 spatial_registration_check,至少记录:
{
"passed": true,
"reference_crop": "analysis/region_reference.png",
"rendered_crop": "analysis/region_rendered.png",
"checked_groups": [
{
"id": "conversion_node_01",
"items": ["node_circle", "icon", "node_label", "bullets", "incoming_arrow", "outgoing_arrow"],
"anchor_rule": "icon centered in node; label below icon; bullets below node; arrows connect node midline",
"anchor_points": [
{
"item": "node_circle",
"anchor": "center",
"blueprint_bbox_px"
硬性判定:
anchor_points 只写 top_left、center、baseline 等抽象锚点,不写 blueprint_bbox_px、render_bbox_px、delta_px 和 tolerance_px,视为未完成空间锚点检查。status != passed,该页不得交付确认。delta_px 超过 tolerance_px,不得把 spatial_registration_pass 写为 true。checked_groups[].status 只能是 passed 或 failed;不得使用 mostly_passed、passed_with_tolerance、minor_issue、acceptable 等模糊状态。出现非 passed 即失败。visual_qa_gate.json 的 spatial_registration_pass=false 且 deliverable_allowed=false,重新裁局部图并对照锚点。第三阶段必须按蓝图记录每段文字的归属容器。归属容器包括卡片、面板、图表区、表格单元格、结论条、SO WHAT、标题区、页脚区、图标节点、流程节点、KPI 框和注释框。文字是否合格按归属容器判定,不按整页画布判定。
硬性判定:
continuous_text_flow_check 必须逐项证明拆分后的基线、字距、空格和阅读顺序与蓝图一致。T7 或 T10;不得登记为 T11 微图标签。T11 只允许用于轴标签、刻度、图例、极短表格标签、单位、列短标签或非句子型微标签。T7/T10 的可读区间,并通过重排列宽、行高、换行和内容精炼实现;不得把完整句子压成 T11。table_density_pass=false。visual_qa_gate.json 的对应字段置为 false,且 deliverable_allowed=false,返工后重新渲染对照。manifest 中必须按需记录:
{
"container_overflow_check": {
"passed": true,
"checked_regions": [
{"id": "so_what_body", "owner_container": "so_what_box", "status": "passed"}
],
"failures": []
},
"continuous_text_flow_check": {
"passed": true,
"checked_text_runs": [
{"id": "so_what_sentence", "method": "single-textbox-rich-text", "status": "passed"}
]
曲线质量硬性判定:
point_count、min_required_point_count 和 max_deviation_px 或明确标注人工覆盖检查结果。trace_debug_artifact 必须显示曲线覆盖、采样点或边界对照;只画一个粗略外框不合格。第三阶段每次交付确认前必须生成 visual_qa_gate.json。没有该文件,不得交付确认。该文件必须逐页给出明确布尔判定,不得使用“基本”“大致”“看起来还行”等模糊表述。
visual_qa_gate.json 不是自我声明。每个 true 都必须绑定证据记录;没有证据不得写 true。每页 deliverable_allowed=true 前必须至少提供:
blueprint_render_path;ppt_render_path;side_by_side_comparison_path;local_overlay_artifacts;measurement_evidence_path;spatial_numeric_check_path;visual_differences;evidence 映射;字符串证据必须是存在的文件路径,内联检查记录必须写成结构化对象。每页必须至少包含:
{
"slide": 4,
"blueprint_render_path": "blueprints/slide-04.png",
"ppt_render_path": "renders/slide-04.png",
"side_by_side_comparison_path": "qa/slide-04-side-by-side.png",
"local_overlay_artifacts": [
"qa/slide-04-title-overlay.png",
"qa/slide-04-main-chart-overlay.png",
"qa/slide-04-so-what-overlay.png",
"qa/slide-04-footer-overlay.png"
],
"measurement_evidence_path": "qa/slide-04-blueprint-measurement.json",
"spatial_numeric_check_path": "qa/slide-04-spatial-numeric-check.json",
"visual_differences": [],
"evidence": {
"surface_system_match": "qa/slide-04-color-samples.json",
"main_chart_semantics_match": "qa/slide-04-chart-semantics.json"
硬性判定:
false,deliverable_allowed 必须为 false,不得交付确认。deliverable_allowed=true 但缺少 blueprint_render_path、ppt_render_path、side_by_side_comparison_path 或 visual_differences,即失败。deliverable_allowed=true 但缺少 local_overlay_artifacts、measurement_evidence_path 或 spatial_numeric_check_path,即失败。visual_differences 中存在 High/Critical 且未被用户明确接受的差异时,不得交付确认。true 但缺少对应 evidence,即失败。strict QA 通过不能替代 visual_qa_gate.json;结构合规不等于视觉合格。editable_information_layer_pass=true 只证明信息层可编辑,不代表视觉语义合格;visual_semantics_preserved=true 只证明视觉语义未被降级,不代表信息层可编辑。两者必须同时为 true。spatial_registration_pass=true 必须基于局部裁图或锚点清单判断;不得用“没有重叠”“看起来差不多”替代。| 错误解释 | 正确做法 |
|---|---|
| “为了视觉保真,先铺整页蓝图再遮文字” | 错。蓝图是参考,不是交付背景。简单图表和主要文字必须原生重建。 |
| “图表看起来复杂,可以保留为图片” | 错。折线、柱状、坐标轴、对比条、标签、CAGR/KPI 默认是简单图表,应原生重建。 |
| “只要主标题可编辑就行” | 错。正文、图表标签、关键数字、注释、页脚、页码和 SO WHAT 也必须可编辑。 |
| “用户要求按蓝图还原,所以可以用蓝图截图” | 错。按蓝图还原指复现版式、层级、密度和视觉语言,不代表把蓝图截图放进 PPT。 |
| “字号太小但内容都放下了” | 错。不得用缩小字号替代结构重排;优先精炼文字、调整分区或拆页。 |
| “为了保持 pictures=0,把流线/曲线图改成矩形或平行四边形” | 错。曲线语义图必须先精确追踪;必要时允许小面积无文字 SVG,并登记 manifest。 |
| “我保证了可编辑,所以可以简化蓝图视觉” | 错。可编辑性和视觉语义是同等硬门槛;应使用原生对象加小范围无文字 SVG/custom geometry 的混合方案。 |
| “视觉看起来像,所以主要信息做成图片也可以” | 错。视觉保真不能覆盖信息可编辑性;主要文字、数字、标签、SO WHAT 和页脚必须原生可编辑。 |
| “strict QA 过了,所以视觉还原合格” | 错。strict QA 只证明部分结构规则通过;底色系统、面板逻辑、图表语义和曲线几何仍需渲染对照。 |
| “ImageGen 能画得更像,所以用它重做精确曲线” | 错。1:1 几何还原不能依赖随机生成,必须使用裁切、采样、SVG path 或 custom geometry。 |
| “SVG 也是图片,所以不如直接裁蓝图” | 错。SVG path 是可控几何资产;蓝图截图是不可编辑背景捷径。主要文字和标签仍必须原生。 |
| “文字和图标有一点压住,但结构 QA 通过了” | 错。标签、数值、正文与图标/节点/曲线/箭头可见重叠是视觉 QA 失败,必须返工。 |
| “文字和图标没有重叠,所以位置就算合格” | 错。没有重叠只通过标签避让;图标、标签、节点和箭头还必须通过空间锚点/相对位置还原门。 |
| “整体布局差不多,局部图标偏一点不影响” | 错。中心图、流程图、生态图和路径图依赖局部锚点关系;图标、标签、节点或箭头明显偏移即失败。 |
| “文字没有超出页面,所以不算溢出” | 错。文字必须留在归属容器内;越过卡片、单元格、SO WHAT、结论条或图表区边界即失败。 |
| “一句话拆成多个文本框方便高亮” | 错。连续语义文本必须保持连续流;拆分后产生异常空格、断句、基线错位或漂移即失败。 |
| “表格文字默认都可以用 T11” | 错。表格正文、行动项、风险项和完整判断句必须按语义登记为 T7/T10;T11 只用于微标签。 |
| “表格字号没低于下限,所以布局空也可以” | 错。表格密度必须匹配蓝图;大面积空白、阅读重心塌陷或单元格显空即失败。 |
| “曲线用几个点连起来也能表达意思” | 错。核心曲线不得用少量折线点冒充;必须使用 path/freeform/custom geometry 或足够密集采样。 |
| “我已经给了渲染图,用户会自己看问题” | 错。交付前必须主动填写 visual QA 闸门;发现失败必须拦截,不得转嫁给用户验错。 |
全篇固定 15 个文字层级:C0 为封面/章节幕专用,T1-T14 为内容页层级。制作和 QA 都必须按这些名称检查字号、权重和可读性。
| 层级 | 名称 | 典型位置 | 字号范围 |
|---|---|---|---|
| C0 | 封面/章节幕标题 | 封面主标题、章节幕标题 | 32-44pt |
| T1 | 页码/章节徽章 | 左上角页码徽章、章节编号徽章 | 14-18pt |
| T2 | 页面主标题/结论标题 | 每页顶部结论句 | 22-28pt |
| T3 | 页面副标题/语境说明 | 主标题下方 subtitle/kicker | 10-12pt |
| T4 | 模块标题/图表标题/信息区标题 | 图表标题、右侧面板标题、信息区标题 | 11-14pt |
| T5 | 证据编号/轻量标签 | E02/E05 标签、状态标签、小徽章 | 7.5-8.5pt |
| T6 | 证据块标题/小节标题 | 左侧证据块标题、段落小标题 | 11-13pt |
| T7 | 正文解释段落 | 证据解释、管理解读正文 | 9.5-11pt |
| T8 | 结论条文字/核心结论 | 蓝色结论条、核心总结框 | 10-12pt |
| T9 | SO WHAT 标签 | SO WHAT / WHY IT MATTERS 标签 | 10-12pt |
| T10 | SO WHAT 正文/业务含义 | 底部 SO WHAT 正文、行动含义 | 9.5-11pt |
| T11 | 图表轴/图例/刻度/微图标签 | 坐标轴、图例、刻度、微型图标签 | 7.5-9pt |
| T12 | 图表数据标签/直接标注 | 折线点值、柱形标签、百分比标注 | 8.5-11pt |
| T13 | 关键 KPI/大数字 | 4.2%、CAGR、关键指标大号数字 | 18-28pt |
| T14 | 注释/口径/来源/页脚 | 注释、caveat、来源、页脚、小页码 | 6.5-8pt |
用户图中 1-8 的映射:1=T2,2=T3,3=T6/T4,4=T7,5=T14,6=T11/T12/T13,7=T10,8=T14。
assets/palette-samples/palette-01.png 到 palette-08.png,或生成新的 8 张真实图片。stage2_style_options.md 作为第二阶段交付;这些只能作为图片旁的辅助说明,不能替代当前对话中的 8 张独立样张图片。visual-system.md 中的固定 8 种名称和色板;“8 个视觉方向”不等于固定 8 种 CyberPPT 风格。使用当前环境中最合适的 PPT 工具。保留原始源文件,输出带版本号的文件。
运行结构校验器:
python scripts/validate_pptx.py path/to/deck.pptx --manifest path/to/slide_manifest.json --visual-qa path/to/visual_qa_gate.json --strict --json-out path/to/report.json
在第三阶段,--manifest --visual-qa --strict 不可省略。strict 模式下出现 hard-rule errors 即失败,必须返工后重新生成和重新校验;不得只解释或忽略。
将非 hard-rule 的校验警告视为复查提示,而不是绝对视觉判断。逐页检查渲染图中的空白失衡、字号过小、裁切、重叠、图表标签碰撞、层级弱化和风格漂移。
第三阶段逐页确认前必须同时提供:
visual_qa_gate.json 路径与逐项结果;slide_manifest.json 路径;page_execution 摘要,确认 mode=single_page、page_status=approved、user_confirmed=true 和 made_before_next_slide=true;pictures 数量;pictures 为 0,或说明例外原因。visual_qa_gate.json 中为 true 的视觉字段都必须提供证据。字符串证据必须是存在的文件路径,内联检查记录必须写成结构化对象;没有证据不能交付确认。stage2_style_options.md 或文字风格列表,没有展示 8 张实际图片,会导致第二阶段不合规。target_language、language_source 和 effective_language,属于第二阶段失败。language_overrides,属于第二阶段失败。target_language、language_source、effective_language、language_overrides、allowed_foreign_terms、“目标语言=中文”或 language=Chinese 等执行元数据可见文字,属于生成文字污染,必须重做。generate_stage2_blueprints.py、PptxGenJS、python-pptx、HTML、CSS、SVG、canvas、Pillow、matplotlib 或 PowerPoint 直接生成逐页蓝图,属于第二阶段失败;这些工具不能替代 ImageGen。pictures > 0 但页面组件清单写明“无需保留图片资产”,属于第三阶段返工项,不能交付确认。pictures=0 合理化。truecontinuous_text_flow_checkqa_expectations.table_semantic_typography_required 和 qa_expectations.table_density_check_required 必须为 true,并提供 table_text_objects 与 table_density_check。visual_qa_gate.json、视觉 QA 关键项缺失、或 deliverable_allowed=false 仍交付,属于流程失败。visual_qa_gate.json 只写布尔值,没有蓝图图、PPT 渲染图、side-by-side 对照图或字段证据,属于流程失败。blueprint_reconstruction_plan 就直接生成 PPTX,属于流程失败。