diff --git a/SKILL.md b/SKILL.md index 7519680..172df75 100644 --- a/SKILL.md +++ b/SKILL.md @@ -1,6 +1,6 @@ --- name: guizang-ppt-skill -description: 生成横向翻页网页 PPT(单 HTML 文件),含 WebGL 背景、章节幕封、数据大字报、图片网格等模板。提供两种风格:① "电子杂志 × 电子墨水"(衬线 + 流体背景 + 暖色) ② "瑞士国际主义"(无衬线 + 网格点阵 + IKB/柠檬黄/柠檬绿/安全橙高亮)。当用户需要制作分享 / 演讲 / 发布会风格的网页 PPT,或提到"杂志风 PPT"、"瑞士风 PPT"、"Swiss Style"、"horizontal swipe deck"时使用。 +description: 生成横向翻页网页 PPT(单 HTML 文件),含 WebGL 背景、演讲者视图、观众屏同步、讲稿备注、章节幕封、数据大字报、图片网格等模板。提供两种风格:① "电子杂志 × 电子墨水"(衬线 + 流体背景 + 暖色) ② "瑞士国际主义"(无衬线 + 网格点阵 + IKB/柠檬黄/柠檬绿/安全橙高亮)。当用户需要制作分享 / 演讲 / 发布会风格的网页 PPT,或提到"杂志风 PPT"、"瑞士风 PPT"、"Swiss Style"、"horizontal swipe deck"时使用。 --- # Magazine Web Ppt @@ -28,7 +28,7 @@ description: 生成横向翻页网页 PPT(单 HTML 文件),含 WebGL 背 - 模板:`assets/template-swiss.html` · 主题色:`references/themes-swiss.md` · 布局:`references/layouts-swiss.md` - 美学锚点:像 Massimo Vignelli + Helvetica Forever -**两种风格共享**:横向翻页(键盘 ← →、滚轮、触屏、ESC 索引)、Lucide 图标、Motion One 入场动效(本地 + CDN 双保险)。 +**两种风格共享**:横向翻页(键盘 ← →、滚轮、触屏、ESC 总览)、右下角 `P` 演讲者模式、当前/下一页预览、讲稿备注、计时、观众屏状态与断线恢复、Lucide 图标、Motion One 入场动效(本地 + CDN 双保险)。 @@ -113,6 +113,13 @@ git -C "" pull --ff-only 叙事弧 + 页数规划 + 主题节奏表(见 `layouts.md`),**三张表对齐后**再进 Step 2。 +如果用于正式演讲,页面计划不能只有“这一页放什么”,还要同时规划“台上说什么”。先读 `references/presenter-mode.md`,给每页确定稳定的 `data-slide-id`,并补齐: + +| 页码 | 页面 ID | 页面目的 | 观众可见信息 | 演讲者补充 | 建议时长 | 转场 | cue | +|---|---|---|---|---|---:|---|---| + +默认生成 3-5 条提词卡式讲述要点,不写逐字稿;只有用户明确要求逐字稿时才展开。总建议时长最多占用户时长的 90%,给停顿、互动和现场意外留缓冲。 + 大纲建议保存为 `项目记录.md` 或 `大纲-v1.md`,便于后续迭代。 #### 图片约定(告知用户) @@ -181,7 +188,7 @@ cp "/assets/template.html" "项目/XXX/ppt/index.html" cp "/assets/template-swiss.html" "项目/XXX/ppt/index.html" ``` -两个 `template*.html` 都是**完整可运行**的文件——CSS、WebGL shader、翻页 JS、字体/图标 CDN 全已预设好,只有 `` 占位符等待你填充 slide 内容。 +两个 `template*.html` 都是**完整可运行**的文件——CSS、WebGL shader、翻页 JS、演讲者模式、观众屏同步、字体/图标 CDN 全已预设好,只有 `` 占位符和 `SPEAKER_NOTES` 等待你填充。 **注意**:风格 A 和 B **不能混用**。layouts.md 里的类(如 `.h-hero` 衬线大标题、`.display-zh` 等)只在 template.html 有定义;layouts-swiss.md 里的类(如 `.kpi-hero`、`.accent-block`、`.span-N`、`.dots` 等)只在 template-swiss.html 有定义。一份 deck 只能选一套。 @@ -220,6 +227,20 @@ cp "/assets/template-swiss.html" "项目/XXX/ppt/index.html" ### Step 3 · 填充内容 +#### 3.P · 同步生成演讲备注(正式演讲必做) + +先读 `references/presenter-mode.md`。每个 `
` 必须写唯一且稳定的 `data-slide-id`,再按同样顺序生成一条 `SPEAKER_NOTES` 记录。备注按页面 ID 存储,不要用数组下标或页码作为持久化键,否则页面重排后用户在演讲者视图里改过的备注会串页。 + +内容分工: + +- slide 只放观众此刻必须看见的结论、结构和证据。 +- `purpose` 说明这一页在整场叙事中的任务。 +- `talk` 补充背景、例子、判断依据和语气,不逐字复述 slide。 +- `transition` 解释为什么下一页紧接着出现。 +- `cue` 只写停顿、提问、Demo、视频、敏感信息提醒等舞台动作。 + +没有来源支持的事实不能写进备注;缺失信息要标记“待补充”或询问用户。 + #### 3.0 · 预检:类名必须在模板的 `