Communitygithub.com

hyperspell/release-notes-video-skill

使用 Suno、Gemini、Dreamina/Seedance、Blender 和定时视频合成,制作发布说明或每周更新的音乐视频。用于规划剧集、编写歌词、比较录音、同步字幕、构建产品演示、编辑视频或准备无声剪辑及发布工具包。

release-notes-video-skill 是什么?

这是一个专为制作高质量发布说明或每周更新音乐视频而设计的 AI 助手技能。它将AI音乐生成 (Suno)、音频对比 (Gemini)、图像生成 (OpenAI)、动画 (Dreamina/Seedance) 和3D渲染 (Blender) 等多种工具整合到一个统一的工作流程中,通过Playwright和HTML Canvas进行产品捕获和视频合成,最后使用FFmpeg进行编码和交付。该技能遵循严格的制作流程:从故事规划、音乐风格选择、歌词锁定、录音比较、节奏同步,到画面构建、特效添加和最终混音交付。它特别强调真实性——必须使用已发布的功能,并对歌词和音乐选择进行锁定,确保每个唱词都与画面精确同步。该技能支持多种格式(默认4:5社交比例,也可为全员大会切换16:9),时长建议60-90秒,并包含10多个本地脚本用于辅助素材检查、音频分析、歌词对齐、剧集渲染和资源清单管理。对于任何重音、指示或变形,请直接修改此解释,不要将其解读为字面规则。

兼容平台~Claude Code✓Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/hyperspell/release-notes-video-skill/tree/HEAD/skills/release-notes-video

在你喜欢的 AI 中提问

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

文档

发布说明音乐视频

制作一段人们想看且能清楚传达更新的视频。音乐风格决定了音乐、视觉世界、字体和剪辑。实际演示承担解释功能;歌曲和视觉梗使其令人难忘。

使用 Suno 制作音乐,Gemini 比较录音,OpenAI 图像生成制作静态图,Dreamina/Seedance 制作动画,Blender 用于 3D 和摄影机控制,Playwright 与 HTML Canvas 用于产品捕获和合成,Demucs/Whisper/librosa 用于同步,FFmpeg 用于混音和交付。必要时添加 ElevenLabs 音效。制作前请阅读 工具与设置;它解释了交接流程和 Dreamina CLI 工作流。如果某个工具不可用,请解释缺失的能力并商定替代方案,而不要静默地放弃它。

确定简报

明确受众、截止日期、目标时长、预期显示格式、源笔记、可用工具和审批人。仅询问那些会实质改变工作的缺失信息。使用对话中已有的选择和授权。

  • 公开发布说明: 功能声明必须已发布、可用且已针对目标受众验证。仅凭实现或合并的更改并不能证明其可用性。
  • 内部全员大会: 如果用户批准将计划中的工作、实验和指标包含在该受众范围内,并且其状态明确,则可以包含。不要静默地将计划转变为已发布。
  • 格式: 默认为原生 1080×1350,4:5 社交比例。为全员大会确认显示格式;16:9 可能更合适。出于这个原因,内部剧集的脚手架需要 --aspect 参数。除非请求更多格式,否则交付一种格式。
  • 时长: 商定一个目标时长。对于公开剧集,大约 60-90 秒是一个有用的初始建议;内部更新可能需要不同的长度。从一开始就为所选时长编写内容。

在用户自己的项目目录中工作,永远不要在此技能目录内工作。在命令中,<skill> 表示此技能目录的绝对路径。使用 python3 <skill>/scripts/new_episode.py <project>/episodes/<date>-<slug> --audience public --duration 60 创建一个剧集文件夹,或使用现有的项目布局。

保持这些不变量

  • 使用真实的产品行为,但配合虚构或明确批准的数据。生产环境的截图不自动适用于外部服务或公开视频。
  • 将凭据、会话值、未发布的业务细节和个人参考媒体保留在分发的技能之外。使用用户选择的账户和授权的工具。
  • 将付费生成和发布视为不同的操作。获取任何缺失的预算或发布授权,并重用已为相同范围授予的授权。批准歌曲或视频并非允许发布它。
  • 保留锁定的歌词和选定的歌曲。仅在用户授权时更改它们。艺术家参考描述创作特质;撰写原创歌词和旋律。
  • 在评判表现之前,先比较实际的音频。测量结果、转录和听觉判断是独立的证据。
  • 每个唱词都同步出现。每项演示的功能都用一个易读的能力句子解释;它不重复歌词。
  • 在前几秒内就抓住观众。使用一个可识别的问题或引人注目的图像,并提供足够的上下文以让人知道视频在宣布什么。
  • 角色和效果应赢得其屏幕时间。产品镜头显示一个操作、有用的结果以及相关的证据。
  • 将分发技能与剧集数据分开。不要整体归档或发布工作目录。

运行制作流程

使用以下顺序,并根据已可用的工具和批准进行调整:

  1. 选择故事。 验证每个候选内容的来源窗口和状态。推荐一个有意义的主标题及支持性能力,或一小套实质性的更新。在锁定之前,展示提议的故事以供批准。阅读 简报与文案。
  2. 选择音乐世界。 提出三种截然不同的方向,包含一个可识别的参考、精确的声音、开场图像、叙述者和格式梗。让用户选择。阅读 音乐风格与故事。
  3. 锁定歌词。 起草一首简短完整的歌曲,包含具体细节、令人难忘的副歌和为更新服务的梗。说明每个声称的来源。在 Suno 中生成一批之前,解决所有编辑。歌词与选段: 歌曲。
  4. 生成并比较录音。 在授权的预算内,使用 Suno 制作有意义的编曲和演唱方式上的不同变体。在允许访问和权限的情况下,让最新的支持音频的 Gemini 模型一起比较完整的录音;如果没有 Gemini 访问权限,使用另一个可以在一次请求中听到几个完整录音的模型。验证可用性,而不是编造模型名称。用户的选择覆盖推荐。
  5. 构建计时数据。 保留选定的原始文件,记录任何剪切/淡入淡出,对齐唱词并建立节拍网格。阅读 同步 并使用包含的 生产辅助工具 进行节拍/起始点分析和对齐。在接受时间线之前,检查每个未解决的单词。
  6. 规划并构建画面。 在填充动画之前,为整个时间线制作故事板。使用 Playwright 捕获产品演示,生成首帧静态图,并使用 Dreamina/Seedance 动画化选定的镜头。使用 Blender 处理需要可控 3D 几何体或摄影机运动的镜头,无论是作为最终渲染还是运动参考。先构建产品说明,然后添加类型世界、已批准的角色和有意的视觉荒诞。阅读 画面。
  7. 混音、渲染并检查。 使用安静而有目的性的音效。检查每个剪辑、字幕、阅读停顿和剪辑边界,然后导出全质量预览。阅读 声音与交付 和 QA。
  8. 修改并交付。 解决反馈,但不要不必要地更改已锁定的歌曲。批准后,将已批准的字节升级为稳定的最终文件名。如果被请求,制作独立的无声产品演示和发布工具包。在清理之前,记录源清单并验证归档。更新私有的风格/设备历史记录,并将可重用的经验保存到相关参考中,而不要导入私有的反馈记录。

对于任何需要用户选择但尚未解决的故事、风格、歌词或歌曲决定,不要继续推进。一旦做出决定,就在批准的范围内继续,无需再次询问。内部分发和公开发布仍然是独立的选择。

可选实用工具

所有包含的脚本都在本地运行,不需要服务凭据:

脚本目的
scripts/new_episode.py创建剧集文件夹、简报和工具包清单
scripts/inspect_media.py报告流/尺寸/时长,并验证无声片段或预期的导出文件
scripts/contact_sheet.py使用 FFmpeg 和 Pillow 制作带时间戳的联系表
scripts/build_posting_kit.py构建离线 HTML 工具包和包含原始无声演示片段的 ZIP 包
scripts/analyze_audio.py拟合底鼓对齐的节拍网格,或测量人声起始/包络
scripts/align_lyrics.py对齐唱词表,保留计时证据,标记未解决的单词
scripts/render.mjs在精确的歌曲时间捕获剧集的合成;渲染静态图、无声画面和演示
scripts/master_audio.py复制画面并使用测量的简单增益混入时长匹配的音轨
scripts/flicker.py标记稀疏联系表可能遗漏的空间闪烁、跳变和脉冲
scripts/asset_manifest.py创建并验证用于恢复剧集归档的校验和清单

代理使用 HTML Canvas 和 Playwright 创作剧集的合成;包含的渲染器捕获它,FFmpeg 对其进行编码/混流。命令和输入/输出合同在 生产辅助工具 中。当用户选择其他编辑器时,使用该编辑器。保留计时模型和源资产,以便另一个代理可以重建剧集。

相关技能