Communitygithub.com

chuonglife/课程幻灯片设计技能

将一份课程内容(教案、教学脚本、教学大纲章节或笔记)转化为一份简洁生动的 PowerPoint 演示文稿(.pptx,16:9,带图标、原生图表、演讲者备注)以及一份供视频剪辑或 TTS 流水线使用的视频脚本。遵循教学设计规范(每页一个要点、每页一个视觉元素、6x6 文本、字号不低于 24 pt、深色背景、三种颜色、标题到结尾的完整结构),并在交付前通过脚本逐一检查每条规则。用户需要幻灯片、演示文稿、PowerPoint、展示内容或课件,或说“把这节课做成幻灯片”、“为模块 2 做一套演示”、“给我的课程视频做幻灯片”时使用,不适用于编写课程内容本身或商业路演展示。

课程幻灯片设计技能 是什么?

该技能是一个专业的教学幻灯片设计工具,能够将单一课程(教案、脚本、大纲等)自动转化为符合教学设计规范的 PowerPoint 演示文稿(.pptx,16:9 比例)和配套的视频脚本。它内置了严格的规则引擎,基于参考文件(slide-standards.md、slide-types.md、narration-and-video-script.md)强制检查每页幻灯片的内容(如一页一个要点、文本限额、24 pt 最小字号、色彩主题和叙事结构),并通过自动脚本在构建时即可捕获并阻止硬性违规。技能支持多种输出格式:slides.json(唯一数据源)、.pptx(带演讲者备注)、.video-script.md(带时间码和制作说明的脚本)以及用于视觉检查的预览图片和视频。它特别适合在线课程、录播视频或线下培训场景,帮助教师或课程开发者从内容种子快速迭代出高质量的教学材料。技能本身不生成课程内容,仅负责设计幻灯片和脚本。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/chuonglife/lesson-slide-designer-skill/tree/HEAD

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

课程幻灯片设计

将 一课 的内容转化为 让人能学懂的幻灯片 以及 供配音版本的视频脚本。每次处理一课,每课一个文件夹。

输出文件位于 slides/<课程>/<课时>/ 下(除非用户指定其他位置):

文件说明
slides.json唯一数据源:每页幻灯片以 16 种类型(references/slide-types.md)表示。编辑此文件后再重建
<文件名>.pptx16:9 比例的幻灯片,使用 Arial 字体和三色主题;每页的讲评会写入演讲者备注
<文件名>.video-script.md视频步骤使用的文件:每页一个区块,包含屏幕文本、制作说明、可直接用于 TTS 的讲稿和时间码,以及概览表格
_preview/slide-NN.png, _preview/contact-sheet.png每页幻灯片 1920x1080 的图片和缩略接触板,用于视觉检查及视频帧
<文件名>.preview.mp4(可选)按脚本时间码静音播放,或每页有音频时可生成带旁白的预览视频

脚本使用的工具:Python 3.9+ 及 python-pptx、Pillow、lxml(图标需要 cairosvg 或 sharp-cli、rsvg-convert、Inkscape);LibreOffice 及 Poppler(pdftoppm)用于渲染预览;ffmpeg 用于可选的预览视频。图标采用 Lucide 图标集(ISC 许可证),存放在 assets/icons/。

工作流程

步骤 0. 阅读原始内容并明确需求

  1. 阅读 所有 课程原始内容:目标、受众、授课方式、带时间安排的教案、脚本、带答案的问题、任何幻灯片提纲、讲义。如果用户只给了一个标题,请先询问内容或使用配套技能 lesson-content-writer 编写内容。
  2. 阅读 references/slide-standards.md(规则和幻灯片结构)以及 references/slide-types.md(16 种类型及其文本限制)。
  3. 确定:授课方式(自定进度视频:每个视频是一个集群,包含自己的开头、主体和结尾以及暂停幻灯片;还是现场课堂:需要面向教室提问和指导练习的幻灯片);语言(language,支持任何语言,en 和 vi 会有额外检查);主题(默认为 navy;一堂课统一为一个主题,逐课复用);教师如何称呼学习者(从脚本中获取);教师姓名和联系方式用于页脚。

步骤 1. 规划幻灯片

根据原始内容的幻灯片提纲或课程顺序,写一个表格:# | 类型 | 该页的核心观点 | 视觉元素或图标 | 问题或暂停 | 视频编号。约束条件:

  • 完整结构:标题 -> (问题,如果课程有的话,先试再教)-> 目标 -> 议程 -> 每个部分一个 分区(或使用带 当前 标记的 议程)-> 2 到 5 页内容页 -> 至少一个 问题 -> 总结 -> 结尾。
  • 每页一个核心观点。 每套幻灯片至少使用 4 种类型,不能连续 3 页相同类型,讲评每 10 到 12 分钟至少有一个暂停或问题。
  • 规划 情感曲线,在 1/3 和 2/3 处设置 节奏破口;将标题写为 陈述句,而非标签(参见 references/rhythm-and-titles.md)。带来源的数字使用 大数字 或 图表,不要放在列表项中。
  • 事实、术语、数字和例子仅来自课程原始内容。绝不要凭空编造。例子应来自学习者自己的工作。
  • 视频课程:覆盖教案中的 每个部分、示例、暂停问题及演练样本,并在幻灯片或其讲评中呈现,同时声明 videos 的计划分钟数,以便脚本能警告过短的视频。原始内容中的幻灯片提纲是最低要求,而非上限。100 分钟的课程通常需要 35 到 60 页幻灯片;17 页的模板仅用于技术演示,不适用于完整课程。

步骤 2. 编写 slides.json

复制 templates/slides.example.json 并根据规划填写。对于每页幻灯片:

  • 屏幕文本应为 关键词和简短行,在 24 pt 字号下能容纳(各类型限制见 slide-types.md)。太长?拆分幻灯片。绝不要缩小文本。
  • narration(旁白):来自课程脚本,改写为适合听的语言(参见 references/narration-and-video-script.md):每行一个呼吸,每行以 . , ? 或 ! 结尾,数字写为口语形式,不逐字阅读幻灯片,问题幻灯片说“请暂停视频”。
  • notes(备注):制作说明(逐项显示、指向、圈出、插入片段、“静默 60 秒”)。
  • 根据含义选择图标(slide-types.md 第 4 节),同一概念在整个课程中保持使用同一个图标。真实图片(截图、产品照片)与 slides.json 放在同一目录,并在 IMAGE-SOURCES.md 中注明来源。下载网络图片前需询问,并检查许可证。
  • 像人类一样写作,而非使用宣传册式语言(参见 references/plain-human-voice.md)。

步骤 3. 构建并检查

python scripts/build_slides.py slides/<课程>/<课时>/slides.json

脚本在遇到硬性违规时 会停止:超过 6 行、文本在 24 pt 字号下无法容纳、孤词且无法通过合并最后两个词修复、缺少图标或图片、未知类型、禁用的破折号或 AI 惯用语、与旁白时间码不一致、旁白从未读到的项目。修复 slides.json 后重新构建,直到 0 错误。同时阅读每条警告(长行、旁白中的数字、连续三页同类型、缺少节奏破口、过短的视频)并修复或注明原因。

python scripts/render_slides.py slides/<课程>/<课时>/<文件名>.pptx

查看 _preview/contact-sheet.png,再以完整尺寸查看每张 slide-NN.png,对照 slide-standards.md 第 5 节的检查清单:文本剪切或重叠、大面积空白、对齐问题、在三分之一尺寸下是否可读、每页是否有单一焦点。修复、重新构建、再次查看,直到完整检查无问题。未查看最新渲染前绝不要报告完成。

可选,用于检查节奏或交付草稿视频:

python scripts/preview_video.py slides/<课程>/<课时>/slides.json [--audio <包含 S01.mp3 等文件的文件夹>]

对于视频平台上的长课程(一个主题一个视频,10 到 12 分钟):在课程级别的 slides.json 中为每页幻灯片设置 video 编号,然后拆分:

python scripts/split_videos.py slides/<课程>/<课时>/slides.json --build --render

每个视频将获得自己的文件夹和幻灯片,包含标题页(“视频 k/N”)、自己的目标、主体以及衔接到下一视频的结尾。编辑课程级别的文件,而非生成的文件。

步骤 4. 报告

向用户提供:幻灯片、视频脚本和接触板的路径;简短的概览表格(# - 类型 - 观点 - 秒数);幻灯片数量和预估长度;主题;你的假设(称呼方式、数字及其来源);你保留的警告及原因。展示接触板。

连续多课时

在相同课程文件夹内,复用之前课时使用的主题、页脚、称呼方式和图标-概念集。保持 标题 和 结尾 幻灯片在整个课程中的布局一致,并让每个结尾衔接到下一课时。

原则

  • 标准不移动(slide-standards.md)。标准内的内容才是发挥创意的地方。脚本是守门员;绝不要为了通过而关闭检查项。
  • 幻灯片服务于视觉,旁白服务于听觉。 两个通道相互补充,绝不重复。
  • 学习者要有行动。 每个部分都有问题或暂停;幻灯片以一个具体行动结束。
  • 标题默认大写("title_case": "upper"),JSON 保持书写形式,这样旁白和字幕不受影响。大写字母占用宽度更大,请保持标题简短。
  • 24 pt 是所有内容的最低字号,包括标签、说明、来源和页脚。太长意味着重写,而非缩小。
  • 没有孤词。 标题、卡片、步骤或列表项的最后一行如果只有一个词会显得断裂。脚本会在可行时将最后两个词合并,若不可行则停止。
  • 先运行,再交付。 构建、渲染、查看、度量。绝不要猜测。
  • 要添加幻灯片类型,请在 scripts/build_slides.py 中添加 s_<类型> 方法,在 KINDS 中注册,在 slide-types.md 中记录,并在使用前构建测试幻灯片。

参考文件

  • references/slide-standards.md - 数字学习幻灯片的概念、十条设计规范及脚本检查方式、幻灯片结构、多媒体学习原则、交付前检查清单。
  • references/slide-types.md - slides.json 格式、16 种幻灯片类型及其文本限制、主题、视频规划、图标列表。
  • references/narration-and-video-script.md - 面向 TTS 或人声的旁白规则、制作说明、阅读每个屏幕元素、交接给视频制作。
  • references/rhythm-and-titles.md - 课程的情感曲线、1/3 和 2/3 处的节奏破口、陈述式标题、开场白、比较、数字和结尾的句式模式。
  • references/plain-human-voice.md - 如何消除 AI 写作痕迹:禁用破折号与短语、句子节奏、具体细节、观点表达。
  • templates/slides.example.json - 包含所有主要类型的 17 页演示课程,已构建并检查完毕。

相关技能