L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Documents · SKILL.md

sn-ppt-standard

sn-ppt-standard

仅在 `sn-ppt-entry` 与 `sn-ppt-story` 已准备绝对 `DECK_DIR` 和 `outline.md` 后使用;生成每页独立 HTML(1600×900)、渲染 PNG、逐页讲稿、`present.html`,并按 `static_postprocess` 选择生成由 Standard 自有 exporter 转换的 PPTX。**`present.html` 始终是必交付产物,缺失即技术故障,不得交付;`static_postprocess` 含 `pptx` 时 PPTX 同为必交付产物(缺一即技术故障),且只能由 Standard 自有 exporter 生成;仅当用户明确要求只要 HTML(`static_postprocess` 为 `[]`)时,PPTX 才可不交付。…

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: sn-ppt-standard description: 仅在 sn-ppt-entry 与 sn-ppt-story 已准备绝对 DECK_DIR 和 outline.md 后使用;生成每页独立 HTML(1600×900)、渲染 PNG、逐页讲稿、present.html,并按 static_postprocess 选择生成由 Standard 自有 exporter 转换的 PPTX。present.html 始终是必交付产物,缺失即技术故障,不得交付;static_postprocess 含 pptx 时 PPTX 同为必交付产物(缺一即技术故障),且只能由 Standard 自有 exporter 生成;仅当用户明确要求只要 HTML(static_postprocess 为 [])时,PPTX 才可不交付。 metadata: allow_override: false user_visible: false

sn-ppt-standard

把本文件当作路线图,不要当作需要一次背完的规范全集。只读取已准备任务的 Entry/Story 交接、该路径要求的 reference 和职责卡。

整册 HTML 完成条件

<DECK_DIR>/present.html 是静态整册的必交付入口,包括全生图、只要 PPTX、只要 HTML 和续改任务。逐页 HTML/PNG、子代理完成或 PPTX 导出成功,都不等于整册完成。 父级必须执行下方包含 build/audit 的 deck.py review-prep,确认播放器覆盖全部页且可打开; 再完成最终像素检查及所需 PPTX 导出。只缺播放器时复用已有页面补齐收尾,不重新制作整册。 最终回复必须给出真实 present.html 的可点击链接,并保留其依赖的 slides、样式与资源; 未生成或核验失败则保存现有产物、登记 partial 和错误,不得声称完成或伪造链接。

Box-Agent 兼容入口

当当前 harness 暴露 sub_agent、inspect_images、generate_image、bash 等 Box-Agent 原生工具时,父级开始制作前完整读取 references/box-agent-tool-contract.md;只负责写页的 Slide 子任务按该文件的阅读路由读取相关章节,不要求通读父级的素材、渲染和导出操作。该契约只覆盖工具名称、参数、脚本路径、委派方式和权限边界;本文件及各职责卡的事实、设计、质量和交付标准仍然有效。委派时按该契约交接原文:子任务须完整掌握自己的 subagents/<role>.md 与所需工具契约章节,task 或有效分片已完整提供的内容不重复读取;未提供时给出绝对路径并要求读完整。

Entry / Story 输入契约(最高优先级)

本 Skill 不接收裸 query,不自行创建任务目录。只接受绝对 DECK_DIR,且必须存在 task_pack.json、info_pack.json 和 outline.md。 choices.output 必须为 static_html,且 ppt_mode 必须为 standard。开始和恢复时重新读取磁盘上的 outline.md;不得自行 Research、重复解析材料、改写 outline、增删页面、重排页序或新增事实。输入不满足时返回 Entry。

执行路线:复用 task pack → 阶段 3 完成计划与 prepare → 阶段 4 素材验收、页面制作与逐页纠错 → 阶段 5 正式 Review 与交付。制作后的看图方法以 subagents/slide.md 为准,正式 Review 以 subagents/review.md 为准;脚本回执的 next_instructions 给出当前方法的绝对路径,已完整掌握且未变化时直接复用。Box-Agent 工具参数和分工只查工具契约,不另按本路线启动一轮验收。

1. 所有模式共享的合同

1.1 Orchestrator 的职责与边界

非 Box-Agent 环境及已有 PPT 编辑任务中,Orchestrator 只负责:读取 Entry/Story 交接、规划、委派、合并、验收和确定性收尾。Box-Agent 静态新建使用下方执行方式。

  • 可写:plan/、base.css、知识汇总和构建产物。
  • 上述委派分工中不直接写 slides/slide_NN.html;页面由 Slide 或 Review 修改。Box-Agent 静态新建允许主 Agent 制作和修页。
  • 不伪装工具能力,不把计划动作写成已完成动作。
  • 每个 subagent 必须有显式 label;失败、超时或未自然收尾的结果不得当成完成品。
  • sub_agent(title, task, skills, required_tools, files, write_scope, budget) 负责委派;其返回的结构化 contract、artifact paths 与 handoff_path 是父级交接真相,Orchestrator 不读取子 Agent 的 messages.json、tool_log.json 或 system/tool 快照来轮询进度。父级负责通过 inspect_images 完成视觉检查,以及通过 bash、render、build 和 export 完成确定性收尾。

Box-Agent 静态新建的执行方式

本节只改变 Box-Agent 从零生成静态 PPT 的执行组织,不改变既有编辑路径、其他环境或下文的质量与交付要求。

  • 主 Agent 默认连续制作:按阶段 4 的制作方法,在当前上下文完成页面。设计分组不等于执行分组:保留 production_group、跨页呼应和节奏,但主 Agent 可以连续制作多个组,不为每个组自动新建子任务。
  • 只有多个输入已就绪、工作量足够大且互不依赖的制作组确实适合并行,或独立长段确需隔离上下文时,才用现有 sub_agent 委派;后者是容量取舍,不宣称并行加速。一次委派仍负责一个现有组、使用精确 write_scope,不新增执行组格式或固定页数阈值。不要让主 Agent 空等一个仅为分组形式启动的小任务;当前工具不支持父子暂停/续跑流水线。
  • 规划确定事实、逐字文案、设计语言、主焦点、媒介、空间意图、素材与像素验收目标;制作负责实际 CSS/图表尺寸与文字排布。沿用已经确定的决定,不重复生成设计预演报告。同一上下文已完整掌握且未变化的原文可复用,截断、修改或压缩丢失时恢复必要原文。小批页面允许成组读取并连续写出,不要求每页插入一次工具往返。
  • 制作前照常完成 deck.py prepare、素材验收、catalog 的 ready 状态及实际路径和裁切合同回填;prepare 成功不是素材验收。主 Agent 按本文和 Slide 的要求渲染、逐页看图;所有写页子任务返回后,由主 Agent 对有证据的问题集中修复、重渲、复看,不默认重新委派原组。修复前读当前 HTML 和必要 CSS;子任务运行时不改其页面或共享 CSS。
  • Review 是必须完成的验收工作,不是必须新增一个子任务。制作期逐页纠错结束后,按阶段 5 先 review-prep,再由主 Agent 对该正式版本完成全册诊断、事实核验、最终像素覆盖与合同;不在待审前另做一轮完整 Review。必要修复先完成构建再复验,修复次数上限、播放器核验和 Standard exporter 均保留。html_ready 只用于实际子任务交接,不是主任务可以提前结束的状态。

1.2 角色

角色数量与时机唯一职责
Image按素材量并行获取或生成位图素材,返回实际路径
SlideBox-Agent 静态新建按上文执行方式;其他新建或复杂编辑按设计亲缘页组委派制作/重做页面;实际子任务只写所属页组,Box-Agent 由父级完成逐页像素闭环,其他环境由具备能力的 Slide 完成
Review首次验收 1 次,修复后最多复验 2 次;Box-Agent 静态新建不要求新建子任务先诊断、后集中修复、批量重渲和最终讲稿收口;简单编辑时也是执行者

所有角色开工前完整读取自己的 subagents/<role>.md(页组分片中的完整原文等价;Box-Agent task 已提供的完整原文也等价)。任何选中的文件或章节出现截断提示时,续读到结束;未被路由命中的 reference 不读。

1.3 语言与能力

开始前锁定:

  • response_language:过程与最终回复语言;
  • deliverable_language:屏显、规划和讲稿语言;
  • attachments、web、真实图片获取、图片生成、渲染、vision、写文件等能力状态。

默认采用用户 query 的主要语言;用户明确指定交付语言时单独覆盖。只能规划实际可用的能力。 看图任务按制作或 Review 方法区分首次检查与修复复验,Box-Agent 参数见工具契约。视觉判断、问题账本和看图后的回复使用 response_language,不得因模型默认语言切换,屏显原文与专有名词可保留原语言。

1.4 工作区真相源

task_pack.json
info_pack.json
outline.md
plan/design-brief.md
plan/deck.md
plan/slide_NN.md
base.css
assets/
slides/slide_NN.html
renders/slide_NN.png
speech.md
present.html   ← 必交付产物:由 `deck.py build` 生成,缺失即技术故障
`<DECK_DIR>/<DECK_ID>.pptx`   ← 必交付产物(`static_postprocess` 含 `pptx` 时):只能由 `scripts/export_pptx/html_to_pptx.mjs` 生成

outline.md 是页面事实、页数、页序、标题、结论和内容关系的真相源;事实证据沿用 Entry/Story 已交接的 Research 或原始材料。plan/grounded-knowledge.md 按 Grounding gate 按需补充,不新增研究或事实,也不得覆盖 outline.md。 design-brief.md 是视觉真相源; slide_NN.md 是页面内容合同; base.css 是全局设计系统; 最终判断必须基于最新 PNG,而不是只看 HTML。

1.5 Reference 路由

场景读取
场景定调design-rules.md §T1–T3、§1–3 + 命中的主题节;design-styles.md 目录 + 一个风格家族
全局与逐页规划planning-contract.md;每页只读 layout-patterns.md 对应页型
编辑现有 deckediting-contract.md
页面制作 / 修页(新建阶段 4 或已有编辑),不论主 Agent 或子任务执行subagents/slide.md;当前制作页的逐页计划、base.css、quality-checklist.md“一、单页检查”与本页命中章节
Review 验收(新建阶段 5 或已有编辑),不论主 Agent 或子任务执行subagents/review.md;完整读取 quality-checklist.md:先用“一、单页检查”核对视觉语义,再做“二、整套检查”和“三、可机核 lint 项”

字体只在默认角色不足或场合敏感时读 fonts.md。不要在开工前扫描所有 design、style、layout、font 文档。

无论是否读取 fonts.md,中文眉签、部门名、页脚、来源和元数据都不得使用等宽字体或拉丁 ALL CAPS 的疏字距:使用 --font-sans / --font-serif,字距保持 0–0.03em。--font-mono、--tracking-caps、.is-latin-label 只用于纯拉丁技术标识、代码、坐标和真实编号。

同一句中文标题、结论或标签必须使用同一字体家族;强调词只通过颜色、字重、字号或下划线建立层级,禁止把其中几个字换成卡通、手写或另一套展示字体。全册字体家族总数 ≤ 3 且必须全册统一:同一角色在每页都用同一家族,不因页面题材临时换字体;严谨型收敛到 1–2 族。字体选择服从场景与 Style Lock——中文正文/表格/页脚/眉签一律 --font-sans(严谨衬线可 --font-serif),中文绝不放进 --font-mono(IBM Plex Mono 无中文字形,会回退成卡通体);--font-mono 只服务纯拉丁代码、坐标、ID。playful、圆趣、手写和书法字体只有在主题与受众真正支持时启用(至多占那 3 族里的 1 个点缀位),并在对应元素加 .is-expressive-type 或 data-type-intent="expressive",让渲染检查确认这是有意选择。

1.6 视觉媒介优先级

按内容选择媒介:

  1. 真实人物、地点、产品、事件:真实照片;
  2. 氛围、隐喻、故事场景、视觉主画面:生成图或高质量位图;
  3. 数据:ECharts;
  4. 大型流程、架构、机制、关系示意:Canvas 绘制几何 + HTML 文字层,或“无文字图片 + HTML 标注”;
  5. SVG:仅用于 icon、logo、箭头、标记和小型装饰。

普通内容页只要存在人物、地点、产品、作品、活动、体验、自然/城市环境、故事场景或情绪画面等可见主体,优先让一张有分量的真实/生成位图成为主视觉,而不是用彩色块、图标或抽象线框替代。配图数量服从叙事,不机械凑数;但能够增加识别、证据、临场感或情绪价值的位图机会不得静默放弃。

**默认禁止把手写 SVG 当作 hero、半屏/全屏主视觉或大型示意图。**SVG 只承担小型辅助图形;复杂的非位图主视觉若确需程序化表达,优先使用 Canvas 几何 + HTML 文字层。只有用户明确要求矢量交付,或必须复用用户提供的准确矢量资产时才例外。详细实现见 design-rules.md §5 和 layout-patterns.md 的 Canvas diagram 章节。

2. 新建 PPT

阶段 0:解析任务

  1. 读取 task_pack.json、info_pack.json 和当前磁盘 outline.md;页数、页序、标题、结论、事实与内容关系全部以 outline.md 为准,场景、受众、材料与 Research 路径以 task/info pack 为准。
  2. 锁定语言、能力、附件清单和交付范围,不向用户追问非阻塞偏好,并在规划中显式记录合理假设。
  3. static_html 新建流程不启动 Research 或 Material,只读取 Entry/Story 已生成的产物;若 required Research 报告缺失则返回 Entry,事实不足时不编造数字、不改写 Story;事实复用与补充记录按下面的 Grounding gate 执行。

阶段 1:按需接地

Grounding gate

Entry/Story 产物交接后,Orchestrator 先校验 info_pack.json、Entry/Story 的 Research 报告和当前磁盘 outline.md;缺少必需报告时返回 Entry,不能在 Standard 内重新 Research、解析材料或改写事实。

**Box-Agent 静态新建:**直接复用已交接的事实与证据,不强制创建 plan/grounded-knowledge.md。只有尚未在上游原文中说明的跨来源冲突、口径、假设或未确认项需要补充时,才在该文件简记相关 claim、准确数值/单位/时间、事实或示意属性、出处定位及处理结论,不重抄其余事实,也不逐条重建已有来源索引。没有补充项即可进入设计规划,不写“无问题”占位文件。需要改变已确认事实或叙事的冲突先交回 Entry/Story 处理,补充记录不能代替上游修正。已有汇总保留并按需核对,不为新规则删除或迁移。

**其他环境:**保留原有生产汇总流程,校验通过后写唯一 plan/grounded-knowledge.md,整理已交接的用户事实、外部核验、编排器假设、示意、冲突和未确认项,确认完整提交后再进入设计规划。所有路径均不添加无来源的新事实;Box-Agent 文件提交确认仍按工具契约,不固定追加一次 read_file。

附件提供的是事实与可复用素材边界,不是默认设计上限。合并时同时整理材料里的可复用页图、内嵌图片、图表结构和品牌线索;随后在 design-brief.md 明确 material_visual_mode:facts-only、visual-reuse、style-reference 或用户明确要求的 faithful-restyle。对每张图片附件另写 attachment_visual_map,决定 must-show / reuse / reference-only / omit、上屏页与处理方式;论文整页视觉与页内命名 Figure 必须区分为 page-facsimile 和 figure-crop。这项判断独立于外部搜图/生图的 image_opportunity。除 faithful-restyle 外,不继承附件的小字号、密集表格、普通文档排版或低质量视觉;仍按听众、场合和叙事重新定调。

阶段 2:场景定调与 Style Lock

  1. 按 Reference 路由读取视觉规则,不扫描全库。
  2. 先锁定 scene_register(庄重汇报 / 编辑叙事 / 产品发布 / 教学解释 / 文化体验等)和一个明确的主风格;风格必须能解释“为什么适合这个受众、场合与内容”,不能只写抽象形容词,也不要把多个风格编号拼成折中套餐。允许借一种辅助 craft,但整册要能用一句视觉主张说清。
  3. 写 plan/design-brief.md#Style Lock:
    • scene / scene_register 与选择理由;
    • primary_style;
    • supporting_craft(最多一种);
    • visual_thesis / signature_visual;
    • palette / typography / numeric_voice;
    • image_language / image_opportunity_map / composition_grammar;
    • background_system:先根据场景说明背景应偏“克制秩序”还是“氛围表达”,再定义一个贯穿内容页的 base_canvas_family 与 visual_state_range(明度、色场、环境光、肌理、图片占比、信息密度、构图方向和章节状态);每种状态写清叙事用途、适用页面及 enter_from / exit_to。学术、组会、合规、严肃评审等场景可以更安静,但仍需有排版和证据视觉;其他场景不要把整册同一纯色底当作安全默认。统一不等于全册同底色;变化也不能脱离同一画布家族;
    • motif_role:说明主题母题在哪些页作为主视觉、在哪些页只作次要线索、哪些页主动缺席。同一装饰母题不得承担封面、章节页和大多数内容页的主要视觉;一致性主要来自字体、颜色语义、图片处理和构图语法。技术注、坐标、场记、档案编号等只有在传递真实且有用的信息时才可成为母题,不能编造伪元数据营造“高级感”;
    • special_pages;
    • avoid;
    • spatial_rhythm:内容页如何铺开、呼吸页如何聚焦、峰值页在哪里;
    • special_page_system:封面、章节页、结尾页共享什么设计 DNA,各自用什么构图动作。
    • material_visual_mode(有附件时):哪些只作为事实,哪些图片/图表可直接复用,哪些风格线索值得保留。
    • attachment_visual_map(有图片附件时):原路径、must-show / reuse / reference-only / omit、material_asset_type、正式 asset 路径、上屏页、裁切/整图/抠图/调色与理由。论文 Figure N 必须记录 figure-crop 的 figure_id / source_page / crop_box,不能直接复用整页 PDF PNG。
  4. 用户未指定风格时,按主题 × 受众 × 场合主动判断。没有 Style Lock 不进入规划;没有可见的 signature_visual 兑现页,也不把通用配色和字体清单当作完成定调。

image_language 先说明哪些颜色本身承担识别、证据或教学信息,再决定统一处理。人物、动物、植物、作品、产品、场地、实验输出等真实主体默认保留有意义的原始色彩;统一感优先来自选图、裁切、色温、局部色罩、边框与背景。只有用户明确要求黑白/双色调,或本册视觉主张确实依赖该处理且不会损害辨认与证据价值时,才使用整图灰阶或 duotone;“学术感”“高级感”“为了统一”本身不构成把整册真实图片去色的理由。对承担识别、证据或主视觉职责的图片,同时定义轻量 crop_contract:焦点、必须保留的主体部位/图内信息、允许裁掉的背景与推荐 fit;不能只写宽高比后让 Slide 猜裁切。

Style Lock 锁定的是视觉语言与判断边界,不是一套固定 HTML 模板,也不锁死每页几何。必须明确区分:

  • 稳定语言:字体角色、颜色语义、间距节奏、背景语法、图片裁切/调色、图形语法与特殊页亲缘关系;
  • 受控变化:每页主焦点、构图方向、媒介比例、信息密度、留白位置和章节状态;
  • 禁止项:临时引入新字体、新配色、无主题装饰或复制上一页几何只换文案。

它应当像可执行的 Art Direction:足够具体,使不同 Slide 能做出同一世界里的页面;又保留足够空间,让每页按内容选择最佳构图。无需另建模板文件或共享装饰素材。

image_opportunity_map 必须先做一次与实现方式无关的“可见主体扫描”:这页有没有值得被看见的人物、场地、产品、作品、活动、体验场景、虚构角色或情绪主画面;先说明图片能增加的证据、识别、临场感或情绪价值,再选择真图、生成图或代码视觉。不得先偏爱 CSS/Canvas,再倒推“没有图片机会”。

当页面的核心内容是一组具名真实人物、主创、嘉宾或团队成员时,默认把“人物可识别”视为真实图片机会,并交给 Image 批量检索人物肖像、官方简介照、活动照或团队合影。“不应生成假真人”只意味着不能用生成肖像冒充本人,不能据此把该页改判为 image_opportunity: none。若只能可靠取得部分人物照片,优先采用一张可信团队/机构场景图配少量关键人物肖像,或降低人物数量并重组叙事;不得用身份不明的相似面孔补齐。只有经过真实检索仍无可辨认、可下载且适合上屏的素材,且图片不会增加识别价值时,才使用纯排印,并在计划中记录缺口与降级理由。

同样审视具名作品、软件/产品、制作流程与案例:可检索的官方画面、界面、幕后制作图、过程拆解、实物或现场照片通常比小图标和空卡片更能建立识别与可信度。每张普通内容页都应有一个与内容相称的主要视觉载体——真实/生成图片、图表、解释性 Canvas,或真正能独立成立的排印主视觉。边框、空面板、微型图标和装饰线不算主要视觉载体;纯排印只有在文字本身被有意放大、组织并形成明确焦点时才成立。增加配图不等于增加散点:优先一张有分量的主图或一组视觉口径一致的素材,让其他元素安静地服务它。

有附件时同样执行完整扫描:优先复用其中真正有信息价值且清晰的图片;附件没有实景、人物或品牌图,只说明“没有附件真图”,不等于“生成图会虚构所以禁止配图”。用于气氛、愿景、概念体验或非特定场景的生成图可以作为表达层使用,准确事实、数字和关系仍留在 HTML / 图表层。把事实保真与视觉想象分开,不把材料摘要机械搬成卡片墙。

图片附件不能只被“读懂后重画”而默认消失。用户明确要求根据某张图制作,或该图本身是唯一产品、人物、场地、作品、证据、前后对比或流程总图时,将其标为 must-show,至少在一页以可辨认的整图或忠实裁切出现;复杂流程图可以先用原图建立全貌,再用 Canvas/HTML 分步重绘。只有重复、无关、不可读或用户明确不希望展示时才 omit。image_opportunity: none 只表示不新增外部/生成位图,不能覆盖 attachment_visual_map。

真实对象的识别与证据、场景的临场感、人物与产品的可信度、故事与情绪的锚点,都属于有效配图机会。虚构人物、概念场景、未建成空间和风格化主视觉正是生成图的适用对象,不应因其不是真实对象而改用彩色方块、抽象符号或纯 CSS 占位。“CSS 更可控”“没有用户实拍”“担心 AI 生成错误”“为了风格统一”都不能单独成为 none 的理由;这些问题应通过真图/生成图分流、提示词约束、统一裁切与调色解决。只有当位图确实不增加听众价值,或会比图表、Canvas 或排印更含糊时,才选择 none。如果一册存在多个明显可见主体,却被整体判成无位图或仅封面一张图,在冻结计划前必须重做这次扫描。这里不设图片数量配额,也不为装饰而配图。

当搜图或生图能力可用时,整册全部 none 或只有封面一张图属于需要证明的异常,不是默认安全路线。数据、商业、技术、学术或代码题材也不能因此整册退回卡片墙:事实页可以用图表/Canvas,但封面、章节转场、案例、场景、愿景或结论中至少应选择两个真正能从图像获益的节点,给出可执行的搜索/生成 brief;短册则至少保证一个内容节点,而不只是封面。只有用户明确要求纯排印/纯图表,或逐页证明位图都会降低准确性与可读性时,才允许整册无位图,并在 plan/deck.md 写明逐页例外理由。这是防止误判的最低覆盖线,不是为了凑数;事实型真图与非证据性的氛围生成图必须明确分流。卡片、极简、学术、商务等风格描述不等于禁止位图,也不能作为免配图理由。只有用户原文明确要求“纯文字”“不要图片”或语义完全等价的限制时,才能把 explicit_user_request 作为图片豁免依据;不得根据风格标签自行推断用户拒绝图片。

可见主体扫描必须同步落盘为 plan/image-strategy.json,供生成流程在 Slide 委派前确定性验收。存在配图机会时写入 status: images_required、visible_subject_scan_complete: true 和完整的 image_opportunity_pages;整册无位图时必须写入 status: bitmap_exception、visible_subject_scan_complete: true、覆盖全部计划页的 reviewed_pages、不少于 20 字的 exception_reason,以及 explicit_user_request | pure_typography | pure_chart | wireframe | accuracy_critical 之一的 exception_basis。不能用自然语言总结替代该文件。

背景不等于一块纯色,也不等于每页随机换皮。学术、组会、合规、严肃评审等场景可用安静画布承托事实;产品、品牌、招商、文旅、文化、故事、课程导入、活动与大众传播等表达型场景,应主动考虑一层与主题相容的环境设计,而不是整册退回纯色:可以是有方向的柔和光场、局部光晕、低对比颗粒/网点/纸纹/地形等主题肌理、图片背景,或由 Image 统一生成的背景。光晕只有在能解释光源、主题和视觉焦点,且形状、位置与构图相关时才成立;标题后反射式复制的圆形模糊光斑仍属于无主题 glow。先确定贯穿普通内容页的基础画布家族,再选择少量相容手法形成背景语法。章节差异优先通过局部大色场、图片调色、条带或母题状态表达;只有章节页、hero、结尾或叙事确需整体换场时才更换整页画布,并在前一张或后一张保留颜色、肌理、图片处理或构图方向的承接。图片或生成背景必须进入 image_opportunity_map 与素材 brief,不能由 Slide 临时发明路径。避免出现数页突然像另一套 Deck、随后又无过渡切回,也避免把深藏青、霓虹蓝紫渐变或通用科技 glow 当作默认“高级感”。

后续沿阶段 3–5 执行,不另建平行的收尾路线。Box-Agent 静态新建由主 Agent 连续制作、按需委派;其他环境保留 Image 分片、输入分片与 Slide 页组并行,详见阶段 4。前一节点的真相源未冻结,不启动依赖它的下游;已选择委派且互不依赖的同层任务一次并行派出。review-prep 集中执行讲稿、字体、全册渲染、build 和 audit;制作期看图不能作为最终版本验收。

阶段 3:全局规划与字体前置

完整读取 references/planning-contract.md,然后按顺序:

若存在 materials/font-config.json,先读取一次并把其中 title/body/number/annotation 角色作为 Style Lock 的字体输入;用户上传字体优先于自动选型,未覆盖字符由交付字体包自动回退,禁止凭字体名改用未上传的本机字体。

  1. 补全 design-brief.md;
  2. 写 plan/deck.md;
  3. 运行下方 init,仅在缺失时从本 Skill 复制 base.css,随后只编辑 Style Lock 对应的设计 token;不由模型重新输出整份骨架。已有 CSS 原样保留并按本次范围编辑。命令返回绝对路径,不生成计划、字体或验收结果,也不替代第 10 步 prepare;安全骨架不固定各页的几何、媒介或构图:
python "$SKILL_ROOT/scripts/deck.py" init "$DECK_DIR"
  1. 一次写完全部 plan/slide_NN.md,每页同时定稿屏显文案、视觉实现、来源、## 口语讲稿 和 Reference route,不先留空讲稿再新建补稿任务;
  2. 在 plan/deck.md 定义 Production groups:全部过渡页为 dividers,封面与结尾为 bookends;内容页首先按制作方式与构图亲缘性分组,再考虑叙事连续,最后才考虑章节归属。一个组应共享同一种制作问题,而不是把 cards、复杂 Canvas、数据图表、真实照片等不同媒介仅因属于同一章就塞给一个 Agent;章名相同不构成分组理由。每组同时写 boundary_handoff,说明进入本组前与离开本组后的画布、明度、色场和母题状态;分组完成后按逐页表复核一次,确保每页恰好归属一个组,章节页与互动页等页型没有错号。
  3. 参考文献与结尾页分开承担职责:需要上屏的来源使用独立 references 页或前置内容页;closing 只负责收束命题、行动或提问,不与长参考文献、详细回顾或多栏总结合并。
  4. 在启动 Image 或 Slide 前写一段简短的 ## Repetition & rhythm preflight:逐页比较画布状态、标题锚点、构图方向、媒介、图片占比、信息密度与母题角色;同时纵向比较各章的页面脚本,不能把同一套“痛点—案例前—案例后—步骤—工具”机械复制到不同章节。共享节奏可以形成亲缘性,但每章仍应有自己的问题视角、证据任务与阅读动作;某页没有独立职责且需要合并或改变叙事时,返回 Story 更新同一 outline.md。在已确认页数、页序和内容关系不变的范围内,调整视觉页面地图、Style Lock 或 Production groups,再冻结计划。
  5. 做一次内容充分性与屏显语义去重:每个普通内容页先写清不可替代的听众所得,再用最适合该页的证据、机制、对比、案例、行动或边界继续解释;不设固定条数,但只有主题句、同义副题和状态角标的页面不算内容成立。若没有新的支撑层,返回 Story 决定是否合并页面或改变叙事职责;Standard 不自行增删页或改写大纲,不用大片无职责空白或重复标签把薄内容拉成一页。逐页确认主要视觉载体与 spatial_budget 相符;不能靠大边框、等高卡或空面板在几何上“占满”,却把短文字钉在边缘、留下大块未参与阅读的内部空白。逐页比较标题、kicker / subtitle、图片角标、badge、callout、图例和页脚;同一短语通常只选择一个最强载体,其他区域补充对象、原因、变化或结果。只有导航或同屏比较确有必要时才重复,且每次出现必须承担不同作用。dense 不是一句标签:若主内容只压在半张画布或一条窄带里、其余空间没有焦点或方向,必须重做空间计划。
  6. 做一次 screen-copy firewall:逐页区分“观众必须看到”与“只供生产使用”。Speaker/Audience/Occasion/Objective、页面职责、production group、视觉验收、素材路线、证据编号、假设、文件名和 Research/Material 来源都留在计划或讲稿中,不得自动进入 ## 最终屏显文案。只有当页面主题本身确实讨论目标受众、项目目标或研究方法时,才把相关内容重新写成观众可理解的叙事,而不是显示 受众:…、主体:…、页面角色:… 等内部标签。屏显文案和 HTML 不使用 emoji / Unicode 图标(如 👀 ✋ 💡 ✨ ★ ✦);需要图标时使用与 Style Lock 一致的本地小 SVG、CSS 形状或直接用文字表达。星芒、爱心、礼花等通用装饰不能作为“全册点缀”散布到多数页面,只在确有构图职责的页面出现。
  7. 用一个确定性命令同步讲稿并从计划前置字体包:
python "$SKILL_ROOT/scripts/deck.py" prepare "$DECK_DIR" --expected <总页数>

Box-Agent 静态新建若 prepare 报规划缺项,由当前规划者按已列出的全部错误一次补齐原计划,再运行回执的 retry_after_fix;不为补漏另派讲稿或计划子任务。失败回执的 plan_dir 与 planning_reference 给出绝对定位;按原始错误处理,已掌握的合同不重读,也不因回执列了规划路径就把字体或依赖故障误当规划问题。缺少上游事实仍返回 Entry/Story,不由脚本或补稿任务编造。成功回执不要求重跑。

规划冻结条件:事实、页序、屏显文案、视觉媒介、逐页配图机会、素材 brief、背景处理、来源、讲稿、页型和字体全部确定,plan/image-strategy.json 已写入,并已通过内容充分性、屏显语义去重与 screen-copy firewall。本阶段以 deck.py prepare 成功为结束,不以“计划已写完”结束;依据它更新后的 base.css 与 assets/fonts/manifest.json 中的实际字体,以及已准备依赖制作首张 HTML,不能到收尾时才准备字体。冻结前专门反证所有 image_opportunity: none:若页面已经有可视化的主体或场景,不能只用“代码更可控”将它排除。屏显文案或字体 token 变化时,先同步计划再重跑 deck.py prepare;仅 Box-Agent 静态新建的正式 Review 集中修复按 Review §4B 直接执行同次 review-prep,由它在全册渲染前完成讲稿与字体准备,不另跑 prepare。首张制作前、其他环境及已有编辑保留原 prepare 要求。

逐页计划写清主视觉与文字各占哪块、主信息如何使用安全区、剩余空间为什么存在,以及观众从最终像素应读出哪些对象、方向、领域证据和结论。deck.md 与逐页计划的媒介不能互相矛盾。普通内容页若只能把主体挤在中间、靠小字塞下或用通用几何代替领域证据,先改空间意图和内容层级。章节过渡页明确“主信息团 + 视觉对重 + 留白职责”,不能只在局部放一小团文字。Box-Agent 静态新建不在规划和制作两阶段重复书写空间/可读性预演:规划保留这些设计约束,实际像素级布局由制作时求解;其他环境保留原有规划预演。

阶段 4:素材与页面制作

**Box-Agent 的输入准备:**完成下列素材验收和路径回填后,进入页面制作时先完整读取 subagents/slide.md,并按阶段 4 的 Reference 路由读取质量要求与当前页命中参考;这取决于当前工作,不取决于是否委派。按“Box-Agent 静态新建的执行方式”消费既有原计划与 base.css,不以生成页组输入分片为前置。主 Agent 复用当前上下文已完整掌握且未变化的输入;实际委派时可把已掌握的短原文直接交给 Slide,其余给出精确路径。Slide 对已完整提供的内容不重复读取,未提供或已失效时补读。允许小批成组读取并连续制作,不强制一次全读全册。不得为缩短输入改写事实、屏显文案或设计决策,也不把全册或长 CSS 复制到每个 task。已有有效原文分片可复用,不为分片重排计划或另建真相源;路径、files/write_scope 规则见工具契约。

**其他环境的输入准备:**保留素材回填后调用 python "$SKILL_ROOT/scripts/group_input.py" "$DECK_DIR" --expected N 一次准备全部组的流程;该脚本只收集完整原文,不代替设计判断。旧计划格式不适用时按原读取要求继续,不强制迁移或重新规划。

  1. 汇总所有被判定为真实图或生成图的图片 brief,再启动 Image subagent;每个 goal 显式带上稳定 group_id、response_language 与 deliverable_language。第一次 Image 委派前,每个 plan/slide_NN.md 的唯一 ## 视觉实现 都必须已有一条完整单行机器字段 - image_opportunity: <枚举>;有位图页另用同级独立行写 - presentation: <四枚举之一>,不得写成空的 image_opportunity: 父块,不得把 full-bleed / framed-scene 填进 image_opportunity,也不得把 split-media 等 layout 值填进 presentation。缺字段时直接修计划并重试,不搜索或修改运行时代码。只要计划中存在有效配图机会,就不能静默跳过 Image 阶段;若计划需要图片但当前没有 Image Worker,必须重新规划为真正成立的非位图表达,或补派 Image Agent,不能直接进入完成状态。同一视觉配方且能在一张联系表中共同审清的素材归入同一分片,多张生成图在同一工具回合并行提交。Image 与 Slide 不得在同一次 sub_agent 中派出:先完成并验收素材,再启动页面制作。
  2. 先把 attachment_visual_map 中 must-show / reuse 的图片复制并登记来源,再交给对应 Image 分组;论文命名 Figure 先使用 deck.py material-figure 从页图生成独立、可追溯的 Figure 裁图,整页 PNG 只作为定位上下文。每个 Image 分组将候选路径绑定到稳定 asset_id,由 deck.py asset-contact 生成一张带 ID 的素材联系表,默认只做一次整组 Vision;只有被标红、要求抠图、比例可疑或主体完整性无法从缩略图判断的素材才打开单图复核。用 asset-review 写回最终状态后,Orchestrator 只按 ready 的 asset_id → actual path + origin + crop_contract 回填逐页计划;候选、被替换与废弃图片不算正式素材。Box-Agent 的确定性脚本由父级执行:接收 pending_parent_verification 的 Image 候选、原始 prompt / 来源与待办后,直接接续登记、裁图/抠图、联系表和验收,不为这些操作重新委派,也不要求 Image 再返回一份 ready 合同;其他环境仍由 Image 完成原分工并返回 ready。assets/catalog.json 是唯一素材真相源,必须保留下载 URL、生成模型、用户附件路径和派生关系;Image 的自然语言总结不能代替 catalog。逐页图片先锁定 presentation: subject-only | framed-scene | full-bleed | evidence-crop(这是位图的展示/背景处理合同,只允许这四个枚举;split-media/right-half/cards/分屏等是版式不是 presentation,放到 layout;无位图页完全省略 presentation,不写 无/none 占位):任何要悬浮、跨色场叠放或作为独立角色/物件的图都属于 subject-only,必须按上述分工完成透明检查、主体抠图、最终 Alpha 检查与必要的单图 Vision,再回填可用的 *-cutout.png;普通 RGB 图不得作为透明资产返回 ready。带背景图片只能作为有意的画框场景、满幅裁切或证据裁图,不能把其白底/奶油底矩形偶然贴到另一种画布上。Slide 不临时去背,也不用 CSS mask/multiply 冒充。映射确有问题时交回同一个 Image 复核。失败素材先换可行的真实图或生成图路线,确实不可得时才改为 Canvas 或排版降级,并写清原因,不留占位。Slide 启动前,父级必须确认素材验收完成,catalog 中所有计划 asset_id 都必须为 ready、实际文件存在,且路径与裁切合同已经回填逐页计划。
  3. Box-Agent 静态新建不按 Production group 自动委派;主 Agent 可以连续制作多个设计组。实际选择委派时,仍一个 Production group 委派一个 Slide,可并行执行;goal 的首行必须精确写成 Slide Group <group_id> [NN,NN]:,例如 Slide Group bookends [01,20]:。页码所有权以已冻结的 production_group 为准;不用“负责封面和结尾”、“第一组页面”等叙述取代组 ID 与标准页码头。显式带上 response_language、deliverable_language 和该组计划引用;boundary_handoff 使用 plan/deck.md 所属组的完整原文,可随任务提供,不改写。不得为了提高并发把已冻结多页组拆成一页一任务。组内设计与制作负荷仍应相容;复杂媒介可以有独立设计组,但独立设计组本身不构成启动新 Agent 的理由。其他环境保留原有一组一个 Slide 的委派方式。
  4. **Box-Agent 静态新建:**主 Agent 可连续完成一批 HTML 后批量渲染;实际委派的 Slide 在一次任务内写完所属组全部首稿,一次返回全部待渲染页码,不等待父级逐页批准。主 Agent 逐页用 inspect_images(strategy=\"native\") 查看新鲜 PNG,所有写页子任务返回后集中修复有证据的问题,再重渲复看。已有编辑保留原组修复方式。**其他具备子内渲染和看图能力的环境:**Slide 保留“当前页完整首稿 → 渲染 → 看图 → 必要修复与复验 → 下一页”的子内逐页闭环。所有路径都必须覆盖封面、每张章节页、结尾及全部内容页,并用设计组全部最终 PNG 检查亲缘性与明显回归;已有新鲜渲染可直接用于组内总览,不为总览重复渲染或开启审美循环。首次看图后的“合并修改 → 重渲 → 复看”记为一轮 refine,每页最多 1 轮;仍有真实硬伤时改用更稳定的结构或返回 blocked。最后一次修改后没有重新渲染和看图,不得返回 ready。 同一主 Agent 已完成全册逐页检查及必要修复复验、立即进入阶段 5 时,可按 Slide §3 步骤 7 将尚未执行的组末关系检查并入正式 Review;仍用正式最终 PNG 检查各组亲缘、节奏、重复与漂移。未全册就绪、未立即进入 Review、其他环境及已有编辑保留原组末检查;不省略单页初检、特殊页、正式全册检查或修后复验。
  5. 全部页面完成制作期检查(仅上述组末关系检查可并入阶段 5)后进入阶段 5;Box-Agent 静态新建先准备正式待审版本,再由主 Agent 执行首次 Review,不在这里先做全册 Review,也不因此新增子任务。新建或复杂编辑过程中不得额外委派 simple_edit 或 review-fix 角色;不得追逐 cjkTypography、crowded、bbox/contrast 候选、轻微换行/标点等 advisory,也不得在 Review 前开启审美清门循环。有新鲜像素/DOM 证据的硬伤,Box-Agent 静态新建由主 Agent 在所有子写者返回后集中修复;其他环境与已有复杂编辑仍交回原所属 Slide Group。每组最多返修 2 次,退化时恢复最后一次已验证版并重渲复看;实际修复后才可进行下一次 Review,Review 总计最多 3 次。

阶段 5:全册 Review 与交付

Box-Agent 静态新建把正式 Review 与最终验收合为同一次工作,先准备正式版本:

python "$SKILL_ROOT/scripts/deck.py" review-prep "$DECK_DIR" --expected <总页数>

成功回执为 prepared / qa: not-run,只表示待审产物就绪。先完整读取 subagents/review.md(回执 next_instructions)及本阶段路由的质量清单;当前上下文已有完整且未变化的原文时复用。由主 Agent 按 Review §4 完成首次全册诊断、内容保真、讲稿与最终像素检查;有修复则按 §4B 先构建后复验,再按 §5 更新回执 review_ledger 指向的唯一账本和最终合同。制作期记录沿用,不另做待审前的全册 Review,也不在这里重复 Review 方法。全册最终像素覆盖、事实与设计要求、refine 上限不减少。

其他环境及已有编辑继续按 subagents/review.md 的原 Review 分工执行,实际委派使用下列语言与模式合同;主 Agent 自行执行时沿用已锁定语言与 mode=final_review,不为切换职责另建任务:

Review:
Response language: <response_language>
Deliverable language: <deliverable_language>
mode=final_review

委派时不得省略语言或让 Review 自行猜测。Review 中间返回不等于验收完成;父级仍负责该路径的最终待审、像素检查及下列交付门。

  1. 产物核验(硬门):Review 返回 ready 后,父级确认 outline.md、全部 HTML/PNG、讲稿、present.html 与播放器均存在,并确认 DECK_DIR/present.html 可打开。present.html 由待审命令内的 build 生成,不追加 contact/build;缺失即技术故障。present.html 是必交付产物:不得省略构建、不得拿其他文件代替它交付。父级验收通过后登记绝对路径到 state.artifacts.present_html,最终回复提供真实链接;命令失败保持非零状态,不用后续命令掩盖退出码。Entry 仍核对交付和实际链接;脚本没有验收权。

  2. PPTX 导出(必做步骤,不是可选项):当 static_postprocess 含 pptx 时,必须执行以下唯一导出命令,不得跳过、不得改用任何其他工具:

    node "$SKILL_ROOT/scripts/export_pptx/html_to_pptx.mjs" --deck-dir "$DECK_DIR" --pages-dir "$DECK_DIR/slides" --output "$DECK_DIR/<DECK_ID>.pptx"
    
    • 这是 PPTX 的唯一合法产出路径:禁止用 python-pptx、自写 python 脚本、宿主 Agent 原生演示工具或手工重建 PPTX 替代;导出失败时也不得用这些方式"补产出",只能按下方失败分支处理。
    • Linux 下若该命令报 chromium 启动失败 / Target page, context or browser has been closed / 缺动态库(如 libnspr4.so),先执行 export LD_LIBRARY_PATH="$HOME/.box-agent/runtime/linux-libs${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" 再重跑同一条命令,最多重试一次;仍失败进入失败分支。
    • 成功且 DECK_DIR/<DECK_ID>.pptx 确实存在后,登记 state.artifacts.pptx;失败则写入 state.last_error(保留原始错误原文)、将 state.status 设为 partial、保留全部 HTML 产物并如实向用户报告,不得伪造 PPTX 路径。

    Review 停滞收口时允许补齐或更新的正式产物只有 _trace/review-issues.md 与 _trace/content-fidelity.md;运行时不得禁止写入最终验收合同明确要求的这两份文件,也不得在收口阶段允许继续修改页面。inspect_images 超时按工具契约只重试一次降采样批次;再次失败立即记为 visual_unverified,按实际已有产物执行确定性检查,以 partial 保留可用 HTML、未验页与错误;没有 ready 和最终像素通过合同不得启动新的 PPTX 导出,不继续消耗整轮任务预算。

Review 超时、返回 blocked、缺少最终像素复验或没有自然返回合同时,先进入有限恢复流程,而不是立即把整项任务判失败。达到 3 次 Review 或每个受影响页组 2 次返修预算后停止继续改页,保留 _trace/review-issues.md。若需恢复已有验证版,恢复后同样执行 review-prep 并检查最终全册像素,不把恢复前的截图当作最终证据,也不为此重启审美返修。全部 slide、非空最终渲染、speech.md 与可打开的 present.html 存在且最终像素已覆盖时,可按实际问题以 needs_improvement 交付 HTML 并携带 warnings;尚未完成像素检查则保留待验收状态与产物,如实说明,不能称为最终完成。缺页、渲染缺失/空白、播放器无法构建/打开或缺少 present.html 等属于不可用技术故障。static_postprocess 含 pptx 时,没有 ready 最终合同或导出失败按第 2 步登记 partial 并如实提供现有 HTML 及其验收状态,不得以 python-pptx 等替代工具另产 PPTX 冒充完成。

正式验收、事实核验、最终合同的唯一方法见 subagents/review.md,使用原 _trace/review-issues.md 的唯一 ## Final review contract 段;不另造根目录 PASS,不用 --force 绕过导出检查。最终看图后只更新 Review 账本与内容保真记录,不再改视觉源或 build;源变化后按同一 Review 方法重新待审与验收。

只有 Review ready 且用户要求的全部产物验证通过时,交付状态才为 ready;必需 PPTX 缺失时保持 partial。Review 最终仍有硬伤但全部页面、渲染、讲稿与 present.html 可用时,以 needs_improvement 交付并展示问题账本;不得因为 advisory、子 Agent 文本收尾或 Review 合同不完美丢弃可用成稿。

3. 编辑 PPT

先完整读取 references/editing-contract.md,只读检查现有 plan、HTML、素材、讲稿和渲染图,建立受影响文件/页面清单,再选择编辑路径。

3.1 简单与复杂的判定

简单编辑同时满足:

  • 不改变核心论点、页序、页面职责或跨页叙事;
  • 不需要新 Research、Material 或 Image;
  • 不改变全局 Style Lock、字体系统或多个 arch;
  • 可在少量页面内安全完成,且影响边界明确。

任一条件不满足即按复杂编辑处理。页数只是信号,不是唯一判据。

3.2 Review 快修

本轮修改涉及 outline.md 中的标题、结论或事实时,先返回 Entry/Story 仅更新受影响项,再进入简单编辑;纯版式修改不重做 Story。

简单编辑只委派一个 Review,goal 标明 mode=simple_edit、用户原始修改要求、目标页和不可改变项。

Review:

  1. 看现有 overview 与目标页最终 PNG;
  2. 一次列完本次修改项;
  3. 读取目标页计划与 HTML,集中修改;
  4. 更新受影响的计划/讲稿;
  5. 用 render.py --batch --pages 一次重渲并看 focus,确认修改不退化;
  6. 由父级执行 deck.py review-prep,查看它准备的最终全册像素并返回 ready/blocked;最终看图后不再修改或 build。

不派 Slide、Image、Research 或第二个 Review。

3.3 Orchestrator 改造

复杂编辑由 Orchestrator:

  1. 写影响图:事实、叙事、页序、Style Lock、base.css、素材、页面、讲稿分别受什么影响;
  2. 只复用仍有效的既有成果,不从头覆盖无关页面;
  3. 只在已存在的 outline.md、info_pack.json、raw_documents.json 和既有研究边界内,委派受影响的 Image/Slide 页组;Standard 阶段不得委派 Research 或 Material,也不得自行修改outline.md。若发现新事实、新附件、论文 Figure 页图缺失,立即返回 Entry/Story,待Entry 更新材料/研究、Story 覆盖同一 outline.md 后再重新进入 Standard;互不依赖的 Image/Slide任务仍可并行;
  4. 更新受影响计划并运行 deck.py prepare;
  5. 只重做受影响页面;全局 token 变化时 batch 重渲全册;
  6. 最后委派唯一 Review,以 mode=final_review 做全册一致性与讲稿收口。

复杂编辑不允许让 Review 独自重写叙事或凭空补素材,也不允许 Orchestrator 直接改页面 HTML。当编辑改变事实、页序、页面职责或核心结论时,必须先回到 Entry → Story;Standard 只负责表达、渲染、Review、build 和 Standard exporter 收尾。

3.4 编辑交付门

  • 用户要求逐项可追踪到修改结果;
  • 未受影响页面和素材保持不变;
  • 新旧页面风格、页码、讲稿和播放器一致;
  • 所有变更页面已看最终像素;
  • 字体包、render freshness、speech.md、present.html 重新通过。

4. 硬红线

  • 图表必须用 ECharts,不用生成图伪造数据图表。
  • AI 生成图不承载需要准确呈现的文字;文字放 HTML 层。
  • SVG 只做小元素,不做大型结构图或主视觉。
  • slides/ 只保留正式 slide_NN.html,不放备份或临时页。
  • 页面固定骨架、页脚安全区、最小字号、对比度与无溢出是硬门。听众阅读的正文不得低于 20px,注释、来源和辅助说明不得低于 18px;若字体 token 规定了更大值,以更大值为准。内容放不下时减少卡片数量、删减重复屏显文字、调整信息层级;确需拆页时返回 Story 更新大纲,不得自行拆页或继续缩字。
  • 内部规划标签、来源、文件路径、制作状态和无听众价值的伪元数据不得出现在屏显内容中。
  • 最终判断看 PNG;修改后未重渲、未看新像素,不得声称完成。
  • Review 最多 3 次受控验收;只有页面实际修改并重渲后才允许复验。Box-Agent 静态新建不以新建子任务计次,切换执行者也不重置次数。达到预算后停止返工并带 warnings 交付可用成稿。

5. 确定性脚本

脚本用途
stage_materials.py不参与 Entry → Story → Standard 新链路;材料解析由 Entry 完成,Standard 只读取 Entry/Story 已交接的产物
font_bundle.py保留:OFL 白名单、官方来源、许可证随包、字符裁剪、交付校验和 render freshness 属于独立高风险能力
render.py保留:单页诊断;--batch 复用同一 Chromium 渲染整册或指定页
group_input.py保留既有工具与有效原文分片的兼容性;Box-Agent 新任务不以前置打包约束计划标题,其他环境保留阶段 4 的输入准备流程
image_cutout.py保留:检查 Alpha、清除烘焙棋盘格/纯色背景,并在需要时用 GrabCut 生成独立主体 PNG;不覆盖来源原图
deck.pyinit 只复制缺失的基础 CSS;review-prep 一次完成正式待审前的机械步骤,固定全册渲染,不替模型验收;保留 prepare 计划讲稿与字体前置、资产管理、contact、独立 build 与只改讲稿的 sync
install.sh保留:跨环境依赖、字体和 Chromium 安装无法由运行脚本可靠替代;依赖清单已内联

首次部署依赖解析 venv、PyMuPDF、可分发字体、FontTools/Brotli 和 Playwright Chromium;用 scripts/install.sh 安装。运行脚本时若 skill 挂载路径不同,使用实际 skill root。

Skills enregistrées