首页 / 全部技能 / 内容创作 / scene-continuity-and-transitions
内容创作 · saranambiar/hyperframes-video-agent-skills

scene-continuity-and-transitions

Preserve visual continuity across video scenes with previous-final-frame starts, camera swipes, carryover frames, transition QA, and boundary proofing. Use when a scene must begin from the exact last frame of a previous scene, when adding camera-move transitions, when replacing scene endings, or when debugging stale starting frames.

L4 高权限 · 分级授权与审计V1 已固定执行命令读写文件Dual-pass Audit
Author saranambiarGitHub saranambiar/hyperframes-video-agent-skills ↗Stars 48License Apache-2.0(仓库根 LICENSE 为 Apache License Version 2.0;GitHub API license.spdx_id = Apache-2.0)Commit f6b043d9fd
管控等级描述 skill 的能力与建议配套的管控措施,不代表质量或安全认证,也不表示可用或不可用。是否使用由用户和管理者决定。不同 agent 宿主对权限的约束各不相同,请勿假定宿主一定会提供安全兜底。第三方 skill 版权归原作者,使用风险由使用者自行承担。

1实现原理 · 为什么它能做到

动手前先立「连续性契约」:上一场景末帧、当前场景首帧、转场方向、相机运动时长、下一场景里被复制的图表或表格或卡片或 logo 或文本、以及不得修改的已批准场景。

skills/scene-continuity-and-transitions/SKILL.md
Before editing a scene, identify:
这里在做什么:把连续性变成一份可核对的输入清单;其中「下一场景里的复制件」正是族内最主要的失败模式来源。

相机擦除有方向性模式:右移即当前世界左移、下一世界从右进入或落在干净空场;背景色、光照、尺度必须连续;除非用户要求否则不要淡入到新幻灯片。

skills/scene-continuity-and-transitions/SKILL.md
- Move the current world left.
这里在做什么:把转场从特效选择变成空间连续性的实现规则(同一世界移动 vs 换幻灯片),这是「不像幻灯片」的关键。

首帧匹配要求把上一场景末帧「复制或重建」进新组合,且必须带上最新文本、标签、主题色、加号、高亮与批注;若末帧是源驱动,两个场景都要重渲,并抽边界前后帧。

skills/scene-continuity-and-transitions/SKILL.md
- Re-render both affected scenes if the final frame is source-driven.
这里在做什么:明确「复制」不是截图上贴——重建件必须与源同步更新,否则就是 stale 起始帧。

边界 QA 有六查:接缝无视觉跳变、无旧渲染遗留文本、无突然色偏、无上一场景新增批注的缺失、无意外裁切或尺度变化、字幕不遮关键边界文本。

skills/scene-continuity-and-transitions/SKILL.md
- No visual pop at the join.
这里在做什么:把「看起来自然」拆成六个可逐项检查的差异面(文本/颜色/批注/裁切/尺度/字幕)。

surgical change rule:只要上一场景末帧变了,就默认下一场景可能也要改源——先搜再说完成。

skills/scene-continuity-and-transitions/SKILL.md
If the previous final frame changes, assume the next scene may also need a source patch. Search before declaring done.
这里在做什么:把「改动影响闭包」写成默认假设;族内 render-qa 与 workflows/surgical-final-edit.md 都复述了这条。

边界证明程序固定四个抽帧点:边界前 0.05s、边界后 0.05s、转场中间、首个稳定帧;判定规则是「标签在边界前出现、边界后消失」即 carryover 源过期。

skills/scene-continuity-and-transitions/SKILL.md
If a label appears before the boundary and disappears after, the carryover source is stale.
这里在做什么:把「有没有旧帧残留」变成一个可执行的判定,而不是凭感觉说「看起来有点跳」。

时间默认值按转场类型给出(场景间擦除 0.4-1.0s、干净重置保持 0.5-1.5s、产品演示落地要够长看懂首帧、结尾 CTA 快进后静止保持、图表到问题转场留干净负空间),并明确旁白时序优先。

skills/scene-continuity-and-transitions/SKILL.md
These are defaults; narration timing wins when explicit.
这里在做什么:给可用的起点值,同时把最终裁决权交给旁白时序——避免死守秒数导致音画错位。

把用户的口头纠正映射成动作(「It jumps」→边界证明与尺度位置检查;「It forgot the text」→搜 carryover 源;「It feels like a slide」→把淡入或硬切换成相机运动;「Too fast」→延长转场或落地后加保持;「Too empty」→加环境动效而非加新面板)。

skills/scene-continuity-and-transitions/SKILL.md
"It jumps" means boundary proof and scale/position check.
这里在做什么:把模糊反馈转成确定的修复路径,避免对症下错药(例如把「太空」理解成要加内容)。

2核心能力

01首帧匹配与末帧复用:把上一场景末帧复制或重建进新组合并保持最新文本、标签、主题色、符号、高亮、批注同步
02相机擦除、推进、下移的实现模式(右移世界、下移从 hook 顶场进入正片、保色保尺度、避免淡入幻灯片)
03carryover 审计清单:当前场景源、下一场景源、同标题文本的旧 HTML、inline SVG 文本、轴标签、表头、CTA 文案、主题色;生成快照只用于 QA 不作源
04边界证明程序(0.05s 前、0.05s 后、转场中、首个稳定帧)与「标签跨边界消失即源过期」的判定
05转场类型与叙事目的的对应表:相机擦(同世界不同区域)、相机推(进入同一物体更深处)、下移(hook 进正片)、点到数据(图变表)、产品落地(抽象场景进录屏)、空场重置(给观众换气)
06产品演示边界专节(查录屏首帧、是否有画布背景、落地用全录屏还是裁切 UI、裁切前是否含滚动或缩放、避免末尾空白帧)与常见用户纠正到动作的映射表
07carryover 常见重复件清单(图表末帧、表格末帧、CTA 或 logo 锁定、片头或标题帧、产品演示结尾帧、图到问题的场景起始)

3外部依赖

KindDependency / Endpoint
cli抽边界证明帧与重渲(文档未点名 CLI;实际由同族工具承担:scripts/extract_proof_frames.py 用 ffmpeg -ss 抽帧,场景渲染由 HyperFrames 完成)

4管控建议与判定依据

建议配套管控措施
面向 Agent
分级或逐次授权,建议在沙箱运行
面向管理者
审批流程、可回滚、全程审计
判定依据(文件路径与关键语句摘要)
  • scripts/: 执行本地脚本或命令: (本 skill 目录内无脚本,文档也未点名任何命令)按文档由宿主重渲场景、重建装配并抽边界证明帧——具体由 HyperFrames 渲染与仓库 sc
  • 本地工作目录: 文件读写与工件输出: 被改动的场景源文件(含下一场景的 carryover 或起始帧)
审计说明: 。skill 目录只有 SKILL.md + references/carryover-frames.md(纯指令,无脚本、无命令、无端点、无凭证);行为面是本地文件读写(改场景源、重渲、抽边界帧)与对源码的文本搜索,符合蓝档「仅本地读写」。**没有把素材送外部服务**:全量扫描本 skill 目录内无 http(s):// 端点、无 fetch/requests、无 token/env 读取、无 CLI 命令。相邻的渲染与抽帧工具(HyperFrames CLI、scripts/extract_proof_frames.py)属仓库层与宿主层,本件只以判据引用它们。九件同族 skill 判级口径一致:目录内只有 SKILL.md(+ references),行为面是本地读写与本地 CLI,无端点、无凭证、无素材外发。

5第二遍独立确认

  • [ok] 是否真为纯判据件(无命令、无端点、无凭证) — 全文无 http(s)://、无 fetch、无 token/env、无 npx/ffmpeg/ffprobe 等命令字样;目录仅两个 markdown。故接触面只有本地文件读写,落蓝档。
  • [ok] 「末帧改动即改下一场景源」在族内是否一致(避免同族互相矛盾) — 本件 Surgical Change Rule、render-qa-and-surgical-changes 的 Safe Text Replacement(Search next scene for carryover copy.)、workflows/surgical-final-edit.md(Updating a chart in one scene but forgetting the next scene's carryover chart.)三处一致。
  • [ok] 边界证明的抽帧点与 references 是否相容 — SKILL.md 的 Boundary Proof Procedure 列 0.05s 前、0.05s 后、转场中、首个稳定帧;carryover-frames.md 的 Proof Timestamps 列末帧 -0.05s、首帧 +0.05s、转场运动中一帧。后者是前者的子集,无冲突(SKILL.md 更严)。
  • [discrepancy] 「重新渲染两个场景」与同族「只重渲受影响场景」是否冲突 — 本件首帧匹配段要求 Re-render both affected scenes if the final frame is source-driven.,而 render-qa-and-surgical-changes 与 end-to-end-video-playbook 强调 Re-render only affected scene(s).。二者并不真冲突(carryover 使「受影响」包含下一场景),但表述上容易让操作者误以为矛盾;合读时应理解为「受影响闭包 = 源场景 + 承载帧场景」。
  • [ok] 时间默认值是否会被误当硬约束 — SKILL.md 在 Timing Guidelines 段末明写 These are defaults; narration timing wins when explicit.,与 audio-sync-assembly 的「旁白为时序真源」一致,不冲突。
  • [ok] 是否需要外部素材(例如参考图)才能执行 — 全流程只依赖项目内既有场景源与上一场景末帧,无外部素材、无远端依赖;这也是本件被设计成纯判据的原因。

6结论

  • 把族内头号失败模式(改了上一场景末帧、忘了下一场景的重建复制件)写成默认假设 + 搜索程序 + 边界取证三步闭环
  • 边界质量可判定:四帧取证加「标签跨边界消失即源过期」的规则,替代「看起来有点跳」的模糊反馈
  • 转场按叙事目的选型而非特效名,并把硬切与淡入换幻灯片明确列为反例
  • 口头纠正到动作的映射表,能把模糊反馈转成确定的修复路径
  • 时间默认值给起点、旁白时序给裁决,避免两者打架
  • 适合: 适合:多场景视频的「接缝」工作——某场景必须从上一场景的确切末帧开始、要加相机运动转场(擦/推/下移)、要替换场景结尾导致下一场景起始过期、或正在排查「起始帧是旧版、有跳变、像幻灯片」这类问题。也适合作为收尾改动的影响闭包检查清单(改末帧前先查下一场景)。
    不适合: 不适合:① 单场景、无接缝的短片(无 carryover 问题,直接走 hyperframes-scene-builder);② 需要产品录屏裁切与 UI 可读性判据(走 product-demo-integration);③ 需要整体验收与小改动规程(走 render-qa-and-surgical-changes);④ 期望工具自动找出所有 stale 帧的场合——本件只给搜索程序与人眼判定规则,无自动检测器。
    Install Agent-Ready
    ① Verified Mirror 2026-09-28
    Option A · Direct DownloadDownload scene-continuity-and-transitions.tar.gz
    sha256: c9aa5531333a1629…
    Option B · Copy Guide for Agent
    install.json
    agent 读 JSON 指南后会自动从本站下载安装,无需更多说明。
    ② Upstream GitHub
    GitHub Repo ↗
    Pinned to commit f6b043d9fd.