关于 proofread-presentation
Proofread Presentation 是一项用于验证已完成主题演示文稿 PRESENTASJON.md 的 Skill,可安全修正有限的机械问题。它检查主题、标记、无障碍、可读性、媒体、引用和导出一致性,并报告内容疑虑与阻塞问题。
主要功能
- 01项目与主题就绪检查
- 02安全修正机械性问题
- 03无障碍与布局验证
- 04幻灯片图像审查
- 05引用与 PDF 一致性检查
适用场景
- 01检查已完成的主题演示文稿
- 02发现无障碍和布局阻塞问题
- 03验证幻灯片引用与 PDF 一致性
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ ken-guru/ skills --skill proofread-presentation安装后在 Claude Code 中输入/proofread-presentation确认已加载。
附带文件evals/proofread-presentation.json
详细介绍
演示文稿校对
验证现有的主题化 PRESENTASJON.md,安全修复机械性问题,报告内容方面的疑虑,并且仅在阻塞性检查通过后更新 Proofread 状态。
输出语气
对校对报告、警告和面向用户的修复建议进行轻量的自然表达润色。具体说明发现的问题和下一步操作。保留引文、无障碍文本(除非为清晰起见必须修正)、项目状态、命令和语义标记约定。每次撰写校对报告时,都使用独立的 unslop Skill;如果用户要求编辑演示文稿文案,则必须将其作为完整的编辑润色流程,并使用 DISCOVERY.json.editorialPreferences。
启动
必须具备 DISCOVERY.json、PROJECT.json、PRESENTASJON.md、Node.js 和 Marp CLI。读取项目本地的 themes/theme-lock.json、其中选定的 Theme Manifest、声明的 CSS 和资源。重新计算锁文件中的 SHA-256 指纹,并在进行任何更改前验证下文所述的清单约定。Theme Package 缺失、已修改或不兼容时,必须停止。不要依赖其他阶段的 Skill 已安装。
Proofread 用于校对已完成的幻灯片。开始其他工作前,先根据 PROJECT.json 检查就绪状态:
- 如果
phases.generation.status不是"done":不做任何更改并告知用户幻灯片仍在生成中;应先由generate-slides完成。 - 如果
IMAGE_SPEC.md或DIAGRAM_SPEC.md存在,且其媒体阶段(images或diagrams)既不是"done"也不是"skipped":指出待处理的媒体阶段,并询问用户是要先渲染(generate-images或generate-diagrams),还是现在就校对。若选择立即校对,请在警告中将尚未渲染的媒体列为预期中的待处理媒体,不要将其报告为阻塞性失败。
读取已锁定的 Theme Manifest,并依据其接口进行验证,不要硬编码 Editorial、Signal 或 Field Notes 的行为。
如果已安装完整的 Presentation Skill Suite,在完成前调用只读的 presentation-validation 调度器,并使用 proofread 配置文件。如果未安装,则报告依据套件安装约定无法运行完整验证;不要自动安装。
安全的机械性修复
- 当媒体有明确意图,且 Agenda 与 Media Specs 足以判断时,为有意义的媒体补充缺失的用途型
alt文本。 - 对明确属于装饰用途的图像使用空
alt文本。 - 删除演讲者备注末尾的空白字符。
- 当幻灯片现有的原型和内容足以明确判断预期插槽时,补上缺失的语义 Content Slot 类。
绝不能自动将媒体转换为 img-right、添加 class: invert、插入内联主题 CSS、更改原型、选择其他变体、重写 Media Intent 或删除内容。
需要其他阶段处理的修复
如果阻塞性问题需要另一个 Phase Skill(例如图表不符合 Effective Text Size、导出文件过时),请在一个 Decision Prompt 中提出修复方案,并列明要按顺序运行的 Skills、每次重新渲染涉及的幻灯片范围、要覆盖的文件以及要保留的文件。在用户回答前,Proofread 不得更改任何内容。如果必须更改图表布局,请指定 generate-diagrams,并将布局选择交由 generate-diagrams 决定。用户选择修复方案后,按顺序调用列出的 Skills;每个 Skill 自行处理其写入、状态变更和检查。
阻塞性验证
主题与标记
- Front matter 包含
marp: true、解析后的主题 ID、size: 16:9、paginate: true和演示文稿语言。 - Front matter 不包含复制的主题 CSS。仅允许使用生成的 External Font Override 样式。
- 每张幻灯片都恰好声明一个受支持的 Slide Archetype、一个受支持的 Archetype Variation,以及 Theme Manifest 指定的色调状态。
- 每个已填充节点都使用共享的 Semantic Slide Markup 和 Content Slots;不得存在主题专属的语义包装元素。
- 分类必须与 Agenda 和 Media Spec 的视觉类型一致。
无障碍性与可读性
- 有意义的图片、图表和示意图都配有基于用途的替代文本;装饰性媒体不会出现在阅读顺序中。
- DOM 顺序为标题、正文或要点、媒体,然后是说明文字。
- 关键信息使用真实文本,而非栅格图像内容。
- 计算得出的对比度至少为:正文/辅助文本 4.5:1,大号标题 3:1,有意义的非文本图形 3:1。
- 在 1280×720 的参考幻灯片上,标题至少为 54 px,子标题为 36 px,正文和指标标签为 28 px,说明文字和署名为 20 px,页码/上下文标签为 18 px。
- 正文行高为 1.25–1.5;展示文字行高至少为 1.0。全大写文字仅限简短标签和简短的 Signal 标题。
容量、碰撞与媒体
- 内容不得超出所选版式声明的内容容量。
- 任何文本或语义媒体都不得超出幻灯片、与其他受保护的内容槽重叠、被裁切、滚动或截断,也不得位于距边缘 32 px 以内。
- 关键信息文本绝不覆盖栅格媒体。
- 图片尺寸须符合预期媒体方向。
- 栅格媒体不得放大到超过原始尺寸;回退栅格输出的尺寸至少为显示尺寸的 2 倍。
- 裁切须保留媒体意图;示意图标签和图表数值在 100% 视图下仍须清晰可读。
- 主题调色须保留语义颜色和所需对比度。
以上任何一项未通过都会阻止完成,并须报告幻灯片编号以及相关版式类型/槽位。
幻灯片图像审查
HTML 是无障碍参考输出,因此上述视觉检查以其幻灯片图像为依据。Marp 使用生成 PDF 时已经需要的同一本地浏览器渲染幻灯片;不会下载任何内容,也不会安装任何新内容。
- 使用
mktemp -d在项目文件夹之外创建临时目录。 - 在项目文件夹中运行
marp <presentation> --images png --allow-local-files -o <temp>/slide.png,其中<presentation>是DISCOVERY.json中的paths.presentation(默认为PRESENTASJON.md)。Marp 使用项目的.marprc.yml主题,按每张幻灯片生成一个文件:slide.001.png、slide.002.png,依此类推。 - 如果 Marp 无法启动浏览器,请停止并阻止完成,并报告:
❌ Marp found no local browser. Install Chrome, Edge, or Firefox, then rerun. If one is installed, rerun Generate Slides' export to select a working browser.Marp 会读取项目文件夹.marprc.yml中保存的浏览器export,因此幻灯片图像会使用与 PDF 相同的浏览器。 - 构建检查集,然后打开并检查其中的每张图像:
- 每种现有幻灯片版式类型的第一张幻灯片;
- 每张包含图片或示意图的幻灯片;
presentation-validation警告中提到的每张幻灯片。
- 无论审查通过还是未通过,都要删除临时目录。
只有检查集中的每张幻灯片都已查看且临时目录已删除,审查才算完成。
不阻止完成的内容警告
报告以下情况及其幻灯片编号:
- 代码围栏或渐进式显示语法。
- 项目符号数量超过该版式类型的限制。
- 缺少演讲者备注,或备注未采用项目符号格式。
- 视频与其他内容出现在同一张幻灯片上。
- 幻灯片缺少语义标题。
- 语言混杂、术语表用词不一致、缩写未说明、语法问题或编码问题。
- 预期的媒体占位符尚未渲染。
参考完整性
- 每个议程图片文件名都与
IMAGE_SPEC.md中的一个条目匹配,且幻灯片使用的每张图片都存在于该规范中。 - 每个议程示意图文件名都与
DIAGRAM_SPEC.md中的一个条目匹配,且幻灯片使用的每张示意图都存在于该规范中。 - 不得存在孤立的媒体规范条目。
- 幻灯片使用的每个来源链接都须有成功的来源摘要,或出现在报告的抓取失败列表中。
- 幻灯片数量须保持在已确认的估算范围内,除非用户批准了不同的数量。
导出一致性
presentation-validation 的 proofread 配置会以确定性方式对比 PDF 与 HTML 和 Markdown:PDF 的每一页均为 16:9,页数等于 HTML 幻灯片数,每张幻灯片的文本和媒体在 Markdown 与 HTML 中一致,并且 paginate: true 会为每张 HTML 幻灯片添加页码。任何阻塞性 exports.* 问题都会阻止完成;报告中需注明对应的幻灯片或页码。
不会对 PDF 进行视觉审查。两个导出文件均由同一份 Markdown 通过 Marp 和同一个浏览器生成,幻灯片图片审查则覆盖 HTML。
完成
报告已修复的问题、阻塞性失败、警告和参考结果。报告还应包含:
- **已检查的幻灯片:**每张幻灯片的编号及其 Slide Archetype,例如
Slide 4 — text-plus-image。 - **PDF:**说明 PDF 未进行视觉审查,且已由
presentation-validation检查其与 HTML 的一致性。
仅当不存在阻塞性问题时,才将 phases.proofread.status = "done" 并添加时间戳。否则保持待处理状态。
要求 PROJECT.json 的 projectType: "presentation",并在更新 Proofread 时保留所有无关的阶段记录。
只有验证分发器返回零,才能将 Proofread 标记为完成。验证结果为零是必要条件,但不能替代本 Skill 对机械修复、幻灯片图片审查、用户审查和状态保留的要求。