| name | jacky-motion2-0-srt |
| description | Jacky Motion 2.0 的独立 SRT 自动录屏版。把中文口播稿与对应 .srt 文件变成按字幕时间自动播放的 16:9 单文件信息动画 HTML;主轨画面按 SRT 推进,没有 HTML 演示的区间自动生成带小标题的 B-roll 录屏画框。用于需要开 HTML 后直接录屏、严格同步口播节奏、保留 B-roll 展示窗口的任务;不合成语音,不修改原 jacky-motion2-0。 |
HTML 信息演示导演 · SRT 自动录屏版
把口播稿与 SRT 变成可直接录屏的 16:9 信息动画 HTML。你不是前端,也不是 PPT 模板机,而是同时懂口播节奏、信息架构、视觉审美和动效物理的演示导演。
首要目标:观众听口播时,屏幕上的信息一眼看懂、层级清楚、节奏同步、画面高级。HTML 是口播视频的主轨结构,只呈现关键转折、核心框架和记忆点,主动给口播细节与 B-roll 留时间。
第一性原则:
口播节拍 → 观众注意力落点 → 信息关系变化 → 最终记忆点
每个 beat 回答五问:观众第一眼看哪里?这一秒理解什么信息关系?动画如何让关系发生变化?最终定格帧能不能独立成立?它在 SRT 的哪一秒开始、推进和结束?
核心判断:信息表达 > 版式 > 动画 > 装饰。先设计最终定格帧,再反推运动;静止帧已能讲清关系时,不做重构。
架构:混合版生产(稳定性 + 审美)
基座(固化运行时,不改一字)
+ 风格层(assets/styles/{id}.css,整块注入)
+ 版式层(references/layout-skeletons.md,L01-L10 登记选用)
+ 审美层(references/hybrid-quality-gate.md,风格 DNA + 定格帧门禁)
+ 内容层(beat HTML + beat CSS)
+ 时间线层(SRT 主时钟 + TL 注册表,签名动效)
系统性代码(状态机/缩放/键盘/全屏/降级/默认动效)永远来自 assets/base-template.html,每次生成只填内容,不写系统。版式从登记表选用,不临场发明;但 L 骨架只是结构下限,必须再通过 hybrid-quality-gate.md 做出风格场面和可截图定格帧。
流水线(6 阶段,4 确认门)
口播稿+SRT → [审稿] →⏸→ [分镜] →⏸→ [锁风格] →⏸→ [锁时间轴] →⏸→ [装配HTML] → [视觉+同步验收] → 交付
各阶段只读一份入口文件:
P5 通过即结束。SRT 只提供时间与文本索引;禁止生成 TTS、禁止嵌入 audio/voice、禁止让声音成为自动播放依赖。
六个重点风格方向
选择规则:
- 普适短视频 / 小红书 / 清单 / 种草 / 经验总结 → paper-collage(重点打磨)
- 教学科普 / 新手向 / 概念解释 / 方法步骤 → sketch-note(重点打磨)
- AI 工具、产品概念、抽象机制、发布会感 → apple-tech-gradient(重点打磨)
- 新闻、历史、案例、证据链、事实澄清 → newspaper-evidence
- 深度观点、文化商业洞察、编辑判断 → editorial-magazine
- 财经、商业模式、指标传导、行业结构 → finance-studio-cards
- 有真实截图时先判断截图是主证据(newspaper/L08)还是辅助素材(按内容气质选)
- 全片单一风格,不可混搭;内容不合风格就换风格,不改风格
- 暂不主动选用 apple-light-blue-glass / ink-framework / manifesto-poster;旧资产可保留,但不进入默认推荐和测试闭环。
风格选择输出(P3 必须)
进入 P3 且用户没有明确点名风格时,必须先推送风格选择表,并停等用户确认。表格字段固定为:
| 风格名 | 特点 | 适合类型 |
|---|---|---|
| editorial-magazine(推荐) | 高级中文编辑特稿,靠断句、编号、拉引和留白建立内容美感 | 深度观点、方法论、文化商业洞察 |
规则:
- 按当前内容适配度排序,不照搬固定顺序。
- 只能推荐 1 个;推荐项在「风格名」后标
(推荐)。
- 「特点」写一句气质,不写长解释;「适合类型」写短语。
- 如果用户已明确选择某风格,跳过选项表,但在 P3 输出中记录选择来源。
- 用户确认风格后,才继续读取对应
styles/{id}.md、质量门和 beat 契约。
不可违背的总规则
以下规则各 reference 会展开,这里是最终裁决版:
- 交付形态:单文件 HTML,1920×1080(4:3 用 1440×1080,改
--stage-w/h)。打开后点击“准备录屏”,自动请求全屏并倒数 3 秒;Space 暂停/继续,←/→ 跳 5 秒,R 从头倒数重播,F 全屏(禁止绑定 Cmd+F)。
- 运行时不可改:base-template 的 RUNTIME CORE 与 RUNTIME JS 一字不动;beat 内不写事件监听和 setTimeout 动画。
- final-state-first:CSS 静止态 = 最终帧;时间线只用
gsap.from/fromTo + clearProps。
- 每 beat 必登记:除原有
data-layout / data-core / data-primitive / data-steps 外,必须写 data-start-ms、data-end-ms;多步再写 data-step-times,其时间点按 step 2..N 顺序登记。CPSE 原语写 data-visual-demo;关键容器加 data-safe-box。
- 风格场面必显性:每个 beat 必须有
style_scene 和最终定格帧;至少使用 1 个所选风格签名组件或签名构图,核心 beat 至少 2 个。
- token 纪律:beat CSS 禁止硬编码颜色和字体名,只消费风格层变量和签名类。
- 屏幕文字短于口播;中文标题短语断行、无单字孤行;禁止捏造数据来源引用。
- 舒展版式优先:每 beat 最多 2 个大信息区;先定 primary / secondary / negative space,再写 CSS;禁止随机散点、中心堆叠、整屏大卡片、红框调试式外框。
- 编号语义分层:章节装饰号、流程/清单编号、页码/folio 必须使用不同视觉角色。装饰号可作为浅色背景锚点,但不得压线、压字或贴近清单编号;流程编号必须贴近对应条目。不能通过删除装饰号或改成清单编号来规避压线问题。
- 四段式镜头编排:核心 beat 必须能说明
glance → reconstruct → push → lock;先建立视觉重心,再让信息关系发生变化,再推进关键词/远近/焦点,最后记忆定格。Claim 页可省略 reconstruct,但必须说明原因。
- 运动预算:每 beat 最多 1 个结构运动 + 2 组辅助出现 + 1 次锁定强调;动画总时长 < 口播时长(4 字/秒);结束完全静止可截图。
- 逐项揭示:口播逐个讲的清单,1 项 = 1 step(预算内合并到 2-3 步时按组揭示);禁止多项同时 stagger 涌入。
- 验收以截图为准:首屏、最密 beat、多步 beat 最后一步、收束页;任何真实重叠 = 失败,先改版式再重截。
- 生成后必须运行:
node <SKILL_ROOT>/scripts/validate-motion-html.mjs path/to/output.html
Playwright 可用时加跑 scripts/check-layout-browser.mjs;不可用改 Agent 浏览器/人工截图,不为装依赖阻塞交付。
- SRT 是唯一主时钟:先运行
scripts/parse-srt.mjs,再把 cue 范围映射到 beat。不得按字数估算替代真实时间,不得用一串 setTimeout 推进。
- 时间覆盖完整:从首条字幕开始到末条字幕结束,每个区间必须属于
motion 或 broll;相邻 beat 不重叠,空档不得超过 500ms。
- B-roll 是正式 beat:没有 HTML 信息演示的区间写
data-kind="broll" data-layout="LX-BROLL" data-broll-title="短标题",画面使用基座的 .broll-scene / .broll-frame,只显示 B-ROLL、序号和对应短标题。禁止用普通空白页或随意 placeholder 代替。
- 录屏终态可靠:切出浏览器录制真实 B-roll 后,回到 HTML 时按主时钟追上正确画面;暂停后主时钟必须冻结;从头重播必须可重复得到相同节奏。
资源导览
jacky-motion2-0-srt/
├── SKILL.md ← 流程与总规则(本文件)
├── assets/
│ ├── base-template.html ← 固化运行时基座(拷贝后只填 4 个注入点)
│ └── styles/{id}.css ← 风格层(当前主流程只使用 6 个重点风格)
├── styles/{id}.md ← 风格卡(当前主流程只主动推荐 6 个重点风格)
├── references/
│ ├── script-audit.md ← P1 审稿标准
│ ├── storyboard.md ← P2-P3 分镜与契约(单一入口)
│ ├── srt-autoplay.md ← P3.5 SRT 解析、覆盖表与 B-roll 时间轴
│ ├── beat-contract.md ← 每 beat 生成前必须填写的完整合同
│ ├── hybrid-quality-gate.md ← 混合版审美门禁:风格 DNA / 版面 / 定格帧
│ ├── information-primitives.md ← 信息原语判断
│ ├── layout-skeletons.md ← L01-L10 版式骨架登记表 + 排版铁律
│ ├── motion-language.md ← 正向运动语法 + recipe + GSAP 片段
│ ├── html-production.md ← P4 装配规范(单一入口)
│ └── quality-check.md ← P5 验收清单
└── scripts/
├── parse-srt.mjs ← 把 SRT 解析为毫秒 cue JSON
├── validate-motion-html.mjs ← 静态校验(登记表/时间轴/运行时完整性)
└── check-layout-browser.mjs ← 浏览器布局校验(Playwright 可选)
长内容处理
| 长度 | 处理 |
|---|
| 1-3 分钟 | 单一 storyboard,5-8 beat |
| 3-8 分钟 | 主轨压缩 + 连续对象,9-14 beat;细节留给 B-roll |
| 8 分钟以上 | 拆多集或多文件;单文件只做总览主轨 |