Community写作与编辑github.com

RinDig/lecture-deck

从故事板构建高质量动画 HTML 讲座或工作坊幻灯片,支持任意主题。适用于有人要求制作幻灯片、会议幻灯片、工作坊演示、讲座屏幕、演出流程幻灯片或演讲者备注的场景,尤其适用于带有分组讨论、屏幕共享和交接的现场演讲(现场或 Zoom)。

lecture-deck 是什么?

该技能用于生成自包含的 HTML 幻灯片文件,专为技术讲座、工作坊和现场演示设计。它基于故事板开发,每个屏幕只有一个核心论点、一张展示机制的图片和一条说明文字,其余内容放在演讲者备注中。技能支持多种主题,并通过 Python 模块构建,最终输出单个 HTML 文件,包含键盘导航、演讲者备注、概览、打印、复制到剪贴板提示以及每个屏幕的模式条。它还会渲染 PNG 进行视觉检查,并运行文本登记检查,确保内容清晰、不违规。技能适用于需要严格结构、清晰视觉辅助和流畅现场控制的演讲,但不适用于必须使用 PowerPoint 的商业推广幻灯片或数据仪表盘。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/RinDig/lecture-deck-skill/tree/main

Installed? Explore more 写作与编辑 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

在你喜欢的 AI 中提问

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

文档

Lecture deck(讲座幻灯片)

一个屏幕一个论点,一张展示机制的图片,一条说明文字,其余内容放在备注中。幻灯片基于 Python 屏幕模块构建,主题驱动,渲染为 PNG 进行检查,并在输出前通过登记检查。

收到请求时

  1. 询问或推断场景:谁、多少人、在哪里、多长时间、他们已知什么、谁演讲、谁控场。如果有演出流程(主持人的时间表),直接采用。
  2. 首先编写 storyboard.md,使用 reference/storyboard-template.md。包括目标、按编号排列的论点、带模式的演出流程,然后每个屏幕一条记录,包含图片和过渡桥段。仅阅读标题部分作为论点;然后仅阅读过渡桥段。在此处修正顺序。
  3. 超过十个屏幕时,在构建前对故事板进行评审(流程、观众水平、每张图片是否解释其论点、对需求的覆盖程度)。将修改意见纳入。
  4. 搭建并构建屏幕(reference/workflow.md,reference/kit-api.md)。长幻灯片将屏幕拆分为模块,并行构建。
  5. 渲染每个屏幕并查看所有接触表。修复溢出、裁剪、文本不可读、图片仅装饰而非解释的问题。
  6. 使用 --dump 运行登记检查并阅读平文文本。修复,重新渲染更改部分,重复直到无误。
  7. 交付 HTML,说明哪些内容是占位符(日期、名称、可能尚未就绪的平台),并说明演示方式(方向键、N、O、B、F、打印)。

使幻灯片优秀的规则

  • 负载规则。 标题是论点。一张图片。最多一条说明文字。脚注仅用于已验证的引用。提示仅出现在练习和后勤屏幕中。深度内容放入 SAY 和 IF THE ROOM IS AHEAD,逐字逐句。
  • 图片展示机制。 可以放在任何标题下的图片是装饰。画出实际内容:聊天、文件、文件夹、弯腰的人、装满的箱子。按照演讲者讲述的顺序构建,使用 anim、draw、grow、rise、slide_in、drop。复杂是可以的,只要它能解释。
  • 单一角色阵容。 对每个人、系统和刚性框使用 figure、machine、rigid,以便观众在整个幻灯片中看到相同的图形。
  • 角色而非颜色。 HIGHLIGHT 表示主题和当前;COOL 表示系统;WARM 表示写下的内容;SOFT 表示另一方;NEUTRAL 表示间隙;LIVE 仅用于模式点。这样任何主题都能工作。
  • 模式条。 每个屏幕以 mode(kind, label, who) 开头:幻灯片、共享、分组讨论、单人、交接、休息。观众始终知道谁拥有屏幕;演讲者始终知道何时切换应用或交接。演出流程条使用相同的颜色。
  • 登记检查。 以论点开头,使用完整句子,解释而非表演。没有揭示行,没有“不是 X 而是 Y”(整个幻灯片最多一次),没有用来点明观点的片段,没有强行使用的三元组,没有破折号,没有 AI 惯用词,没有在观众屏幕上使用方法词汇。仅使用已验证的引用。每个观众段一个例子,每次顺序相同。详情见 reference/writing.md。
  • 备注即讲座内容。 SAY 使用演讲者的语气,DO NOW 包含主持人的时间,LOOK FOR、IF STUCK、IF THE ROOM IS AHEAD,以及一个指向下一个标题的 BRIDGE 过渡桥段。
  • 以实际大小检查。 渲染器的静态模式显示所有动画元素的最终状态。在浏览器窗格中不可见的错误在 1280×720 下会显现。

命令

python scripts/new_deck.py path/to/deck --title "Session one" --theme eduba --left "PROGRAMME" --right "SESSION 1"
python scripts/build_deck.py path/to/deck            # 写入 deck/out/<name>.html
python scripts/build_deck.py path/to/deck --theme slate   # 以另一个主题生成第二个文件
python scripts/render.py path/to/deck/out/<name>.html     # 每个屏幕 PNG + 接触表,静态模式
python scripts/check_text.py path/to/deck/out/<name>.html --dump

要求:Python 3.9+,用于渲染的 Chromium(Playwright 自带的、Chrome 或 Edge;或设置 DECK_CHROME),用于接触表的 Pillow。字体在打开时从 Google Fonts 加载;主题带有后备字体堆栈。

文件

  • scripts/deckkit/kit.py 包含辅助函数、常量、角色阵容、常用图片。scripts/deckkit/shell.py 是页面外壳。scripts/deckkit/themes/*.json 是主题文件。
  • reference/workflow.md 工作流循环 · reference/writing.md 登记检查规则 · reference/kit-api.md 所有辅助函数 · reference/themes.md 角色定义及如何创建主题 · reference/storyboard-template.md 故事板模板。
  • examples/demo/ 一个九屏幻灯片,演示了大部分工具包;在每个主题下构建它以查看效果范围。

相关技能