pr-to-video 是一个 HyperFrames 技能,用来把一个 GitHub pull request 变成代码变更讲解视频。输入是代码变更(通过 gh 读取),不是网站,因此没有网页捕获步骤,也没有除贡献者头像之外的现成素材。它适合解释 changelog、feature reveal、fix 或 refactor 等类型的 PR。
主要能力与工作流 该技能以 /hyperframes 为入口,作为编排者按顺序执行各步骤,步骤包括:
- Step 0:Setup,进入已确认 brief,创建 HyperFrames 项目,并在 hyperframes.json 与 BRIEF.md 中固化。
- Step 1:Ingest the PR,抓取 PR 的事实信息,没有网站捕获。fetch-pr.mjs 确定性地运行 gh,并通过分页 gh api 补全文件列表,避免大型 PR 在约 100 个文件处被截断,仅写入 capture/pr.json 和 capture/diff.patch。
- Step 2:Design System,采用 code-editorial 帧预设,由脚本生成 frame.md 和字幕皮肤。
- Step 3:Storyboard and Script,把 PR 转成逐帧解释计划,生成 STORYBOARD.md,需要旁白时生成 SCRIPT.md。
- Step 3.1:Audio,从已批准的脚本生成旁白、词级时间、音乐和音频元数据。
- Step 4:Frame Visual Design,为每个分镜帧加入视觉方向、布局意图和动态选择。
- Step 5:Frames,生成 compositions/frames/NN-*.html 和 index.html。
- Step 6:Final render,输出 renders/video.mp4。
使用方式 安装后,需先保持技能最新,确认后运行:npx hyperframes skills update pr-to-video。在获取音频/图片/logo 前,调用 /media-use 从 HeyGen 目录解析 BGM/SFX/图片,并从官方来源获取品牌 logo。若宿主应用提供自己的音乐或音效工具,则音乐和音效使用这些工具。
解析项目目录时,优先保留用户提供的项目目录,否则使用 resolver 打印出的外部缓存位置,绝不在调用方仓库创建 videos/。初始化只在 $PROJECT_DIR/hyperframes.json 缺失时进行:npx hyperframes init "$PROJECT_DIR" --non-interactive --example=blank --skill=pr-to-video。BRIEF.md 必须在 init 之后立即写入。
签名状态需要在 Setup 之后继续前展示,运行 npx hyperframes auth status 并原样转达输出。协作模式下等待用户登录或明确选择离线/继续;自主模式下说明状态并使用可用的本地引擎继续。
适用场景 适用于需要把 GitHub PR 变成解释视频的场景,例如 changelog 视频、功能发布视频、修复说明或重构走查。它使用固定的 code-editorial 风格(温暖编辑风,navy 代码表面,为 diff 设计),不向用户询问风格。
限制 PR 必须能通过 gh 访问;若 fetch-pr.mjs 因 gh auth、未找到或私有仓库而退出 1,需报告 stderr 并停止,不得捏造 PR 内容。贡献者头像下载是尽最大努力,失败不视为任务失败。缺少头像只是意味着没有 credits 收尾。音频方面,若没有旁白和 SCRIPT.md,可跳过语音生成;BGM 仍可在分镜有音乐情绪时运行。完全静音标记为:STORYBOARD.md 顶层 YAML 中 music: none、没有 SCRIPT.md、没有 sfx: 提示或宿主音频。若需要旁白但没有离线提供者,不得静默忽略所需能力,需要暴露阻塞。文档未提供具体价格、收费或平台支持细节。