mcpField
P
proofread-presentation

proofread-presentation

github.com/ken-guru文档处理160 次安装6 天前更新
代码仓库

关于 proofread-presentation

Proofread Presentation 是一项用于验证已完成主题演示文稿 PRESENTASJON.md 的 Skill,可安全修正有限的机械问题。它检查主题、标记、无障碍、可读性、媒体、引用和导出一致性,并报告内容疑虑与阻塞问题。

主要功能

  1. 01项目与主题就绪检查
  2. 02安全修正机械性问题
  3. 03无障碍与布局验证
  4. 04幻灯片图像审查
  5. 05引用与 PDF 一致性检查

适用场景

  1. 01检查已完成的主题演示文稿
  2. 02发现无障碍和布局阻塞问题
  3. 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 时已经需要的同一本地浏览器渲染幻灯片;不会下载任何内容,也不会安装任何新内容。

  1. 使用 mktemp -d 在项目文件夹之外创建临时目录。
  2. 在项目文件夹中运行 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,依此类推。
  3. 如果 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 相同的浏览器。
  4. 构建检查集,然后打开并检查其中的每张图像:
    • 每种现有幻灯片版式类型的第一张幻灯片;
    • 每张包含图片或示意图的幻灯片;
    • presentation-validation 警告中提到的每张幻灯片。
  5. 无论审查通过还是未通过,都要删除临时目录。

只有检查集中的每张幻灯片都已查看且临时目录已删除,审查才算完成。

不阻止完成的内容警告

报告以下情况及其幻灯片编号:

  • 代码围栏或渐进式显示语法。
  • 项目符号数量超过该版式类型的限制。
  • 缺少演讲者备注,或备注未采用项目符号格式。
  • 视频与其他内容出现在同一张幻灯片上。
  • 幻灯片缺少语义标题。
  • 语言混杂、术语表用词不一致、缩写未说明、语法问题或编码问题。
  • 预期的媒体占位符尚未渲染。

参考完整性

  • 每个议程图片文件名都与 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 对机械修复、幻灯片图片审查、用户审查和状态保留的要求。

评论

支持 Markdown