Community编程与开发github.com

Cerulean

创建按场景逐步变化的演示文稿,风格类似视觉解说员。左侧显示步骤卡片,右侧显示主题世界中对象的动画插画或缩放标注的截图/照片,并拥有专属视觉标识。

Cerulean 是什么?

Cerulean 是一款专业级演示文稿生成器,专为需要视觉叙述和动态动画展示的场景而设计。它通过与 AI 用户协同工作,将内容脚本(JSON)、场景程序(JS)和样式皮肤(CSS)三个文件,通过 `scripts/build.py` 构建成一个自包含的演示文稿 HTML 文件。该文件包含预览、全屏、编辑和导出 PDF 功能,并且每个演示文稿都拥有精心设计的独立视觉身份(调色板、字体和 CSS 皮肤),以匹配特定主题。Cerulean 特别适合创建技术解说、教育内容或产品演示,其中每个场景都通过独特的插图和动画来逐步说明一个概念。它支持西班牙语等语言,但开发者可以自定义任何语言的脚本。与传统的幻灯片工具不同,Cerulean 强调每个场景的独一无二的视觉叙事和动画编排,要求用户设计概念隐喻,并确保演示文稿之间不共享相同的视觉风格。它明确不适用于生成 PowerPoint (.pptx) 或 Google Slides 文件。

兼容平台~Claude Code~Codex CLI~Cursor
Part ofMobile
npx skills add https://github.com/ver0nica1/cerulean/tree/main

Installed? Explore more 编程与开发 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜欢的 AI 中提问

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

文档

Cerulean: 按场景逐步变化的演示文稿

你设计,Cerulean 构建。你编写三个文件:JSON 格式的脚本、JS 编程的场景以及 CSS 皮肤。scripts/build.py 会验证它们并将其转换为一个自包含的 HTML 文件,其中包含内置的查看器。

每个场景是一个由 2 到 4 个步骤讲述的想法。左侧是一个步骤卡片。右侧是该场景的编程插画:主题世界的真实对象,拥有其自己的编排,随着每一步平稳推进,并且有自己的生命力(漂浮、流动、跳动)。也可以是一张缩放标注的截图或照片。每个场景看起来和动起来都不同,这才是 Cerulean 演示文稿的精彩之处。

每个演示文稿还有其自己的视觉身份,由你为该主题设计:它所处的世界(其对象)、调色板、字体、背景节奏以及为其完整编写的 CSS 皮肤。一个关于安全的演示文稿看起来像控制台;一个历史演示文稿像时代的印刷品。两个不同的主题不应该看起来属于同一个系列,遮住标题也应能猜出主题。

流程

  1. 理解需求。 你需要主题、内容(笔记、要点、粘贴的文本)以及任何存在的图片。如果只给主题,请用公认的常识展开。不要为请求图片而中断:如果缺少任何图片,请为其预留空间。默认:西班牙语,5 到 9 个场景。

  2. 阅读指南,一次。 阅读 references/direccion.md(视觉身份)、references/formato.md(JSON 格式)和 references/escenas.md(工具包、时间线和按想法类型分类的动画目录)。assets/ejemplo.js 包含 7 个完整场景:仅在你不确定如何解决某个问题时阅读它。

  3. 设计身份,按照 direccion.md 的流程:主题的世界(它所在的地方和 6 到 10 个可识别的对象)、情绪、从该场景中提取的调色板、这个世界会使用的字体、节奏和运动,每个在 why 中有一行描述。通过泛化测试:遮住标题,是否能猜出主题?

  4. 编写脚本 到 presentaciones/<主题>.json 文件中:文本、步骤、注释和 design 块。如果文件夹不存在则创建。根据节奏分配“背景”和“角色”。

  5. 编写皮肤 到 presentaciones/<主题>.css 文件中:卡片、封面、标题、标注、细节和条目,就像它们会在这个世界中显示的样子(哪些可以装饰,哪些不可以,详见 direccion.md)。

  6. 在编程之前规划场景:对于每个场景,它解释什么类型的想法(idea)、其隐喻(form)用主题世界的一个对象表达,以及每个步骤中变化的内容。至少 3 种想法类型,没有重复的隐喻。仅对用户想要展示的实物(其应用、产品、地点)使用图片。

  7. 编程场景 到 presentaciones/<主题>.js 文件中(scene("name", (K) => {…})),并在 JSON 中包含其 "draw" 函数。每个场景 20 到 60 行。绘制该世界的对象,默认平面(参见 escenas.md)。

  8. 生成并审查:

    python "<此技能文件夹>/scripts/build.py" presentaciones/<主题>.json
    

    生成 presentaciones/<主题>.html。修正警告(无场景的名称、语法错误、待处理图片、不完整的视觉方向、被拒绝的皮肤、缺少多样性、与先前演示文稿相似)。如果你有浏览器,无需花费截图即可审查:

    • 启动预览:在后台运行 python "<此技能文件夹>/scripts/preview.py" presentaciones/<主题>.json,然后打开 http://localhost:8767。
    • 在页面中执行 JSON.stringify(CERULEAN_REPORT())。它会报告哪些场景有错误、画布外的元素或步骤中没有任何变化,以及哪些文本在皮肤下难以阅读(legibility)。修正后重新执行;页面会自动重新加载。
    • 用一张截图截取概览(“全部”按钮或快捷键 G)来评判整体效果:身份是否明显(颜色、字体、绘画风格),以及场景是否彼此不同。不要按步骤截图:这是最浪费时间和 token 的做法。
  9. 交付。 提供 HTML 的路径,并用几行文字解释如何使用:

    • → 或空格向前,← 向后。
    • F 全屏,N 注释,G 概览。
    • E 编辑模式:修改文本、拖动图片、移动或调整卡片和插画的大小(手柄 ✥ 和 ⤡)。“下载副本”保存带有更改的 HTML。
    • PDF 按钮保存为每页一个场景的 PDF。

    如果还有待处理的图片,最后给出其列表:场景、应显示的内容以及文件名 presentaciones/imagenes/escena-<n>.png。

不可协商的规则

  • 不要编造数字、日期、引用、名称或研究。场景中出现的数字来自内容或非常公认的常识,并且也出现在步骤的文本中。
  • 不要在缺少真实图片时放置编造或任意的图片:请预留空间。
  • 每个场景有其自己的插画和编排,并在每个步骤中发生变化。
  • 每个演示文稿有其自己的视觉身份,为其主题设计:其世界、调色板、字体和皮肤。调色板、字体和默认外观并非随意选择。
  • 永远不要为特定演示文稿编辑 assets/:查看器和工具包是所有演示文稿共享的。

相关技能