/brag
你构建了它。现在为它骄傲吧。
调用分发(必须先执行)
模型检查。 如果你是 Claude Opus 5.5 且调用未要求完整工作流(--full,“使用完整 brag”)或画外音(--voice,brag-slim 不支持),则切换到 brag-slim:读取 <skill-dir>/slim.md(此处捆绑的 /brag-slim 技能),并在本次运行的剩余部分遵循该文件而非此文件。传递用户的输入,并传递任何其他选项(--no-music、--title……)作为普通语言的方向。先用一行告知用户,例如:“你在 Opus 5.5 上,因此我使用 /brag-slim:我自己构建整个视频。说出‘使用完整 brag’以切换回来。” 如果你是任何其他模型,或无法判断自己是哪个模型,则跳过此检查。
在检查项目之前,解析完整的 /brag 调用。如果调用包含 --voice,则设置 voice.enabled = true。仅对该次运行启用旁白。不要自动启用旁白,也不要回退到正常的无声工作流。
/brag 使用 Hyperframes 将当前项目网站或应用转化为一个简短、精美、可分享的发布视频。它范围狭窄、观点鲜明且有趣。
该技能的功能
- 读取当前项目代码以理解应用。
- 针对此项目规划一个简短的 brag 概念。
- 编写视频脚本和故事板。
- 向 Hyperframes 提供一份聚焦的创作简报。
- 验证、渲染并撰写分享文案。
解析调用
用户可以使用自然语言或标志来调用:
/brag
/brag --tone chaotic
/brag --tone polished --format vertical
/brag this. Make it feel like a ridiculous startup launch.
解析这些选项:
| 选项 | 值 | 默认值 |
|---|---|---|
--tone | 预设或自由格式描述 | 推断 |
--format | landscape、vertical、square | landscape |
--duration | 秒 | 自动(15-25 秒) |
--no-music | 标志 | 音乐开启 |
--no-sfx | 标志 | 音效开启 |
--title | 字符串 | 从项目推断 |
--voice | 标志 | 旁白关闭 |
旁白是选择加入的。如果存在 --voice,则使用通过 Hyperframes 的 Kokoro,并且不要添加任何提供商选择逻辑。旁白工作流故意采用单一提供商。
语气可以是预设(default、polished、yc-parody、chaotic、deadpan、cinematic、app-store)或创意方向,例如“2016 年虚假的 A 轮发布”、“博物馆展览”或“过度制作的手机游戏广告”。
当用户给出自由形式的语气方向时,将其映射到最接近的预设以确定节奏和结构,但在规划和创作简报中保留用户的指示。
旁白指南
当启用 --voice 时,编写与视觉内容互补的旁白,不要简单地朗读可见文本,匹配场景节奏,听起来自然且对话化,并在场景之间平滑过渡。保持脚本简洁且针对产品,使声音感觉像是编辑的一部分,而不是单独的旁白轨道。
输出目录
默认情况下,输出到 brag-output/。为避免覆盖之前的运行,请使用带时间戳的目录:
brag-output-2026-05-04-143022/
在以下情况下使用时间戳:
- 用户明确要求新运行而不覆盖之前的结果
- 项目中已存在
brag-output/目录
在运行开始时生成时间戳(YYYY-MM-DD-HHmmss),并在该运行的所有输出路径(计划、简报、创作、渲染和分享文案)中一致使用它。
技能目录
<skill-dir> 是包含此 SKILL.md 的目录。Claude Code 在加载技能时会打印“此技能的基础目录”;对于其他代理,它位于技能安装的任何位置。捆绑的资源位于 <skill-dir>/assets/ 下,脚本位于 <skill-dir>/scripts/ 下。不要猜测安装路径:插件安装、~/.claude/skills/ 副本和此仓库都会将其放在不同的位置。
步骤 1:检查项目
阅读: references/step-1-inspect.md
扫描项目目录并提取规划 brag 视频所需的信息。
门控: 您可以回答 brag 规划评估表中的所有 9 个问题。
步骤 2:规划和故事板
编写 <output-dir>/brag-plan.md(其中 <output-dir> 是 brag-output/ 或上面选择的时间戳变体)。回答规划评估表。确定创意角度。编写逐节的故事板,包括场景、文本、时间、过渡和音效提示。
当选择音乐时,包含一个紧凑的“音乐提示指南”部分:如果存在,读取捆绑曲目的提示预设 <skill-dir>/assets/music/cues/;否则注明提示将在创作时检测(任何曲目现在都支持节拍同步——请参阅 references/audio.md)。提示元数据仅是可选的定时指南:故事、可读性、节奏和产品清晰度仍然是首要的。
门控: <output-dir>/brag-plan.md 存在并包含完整的故事板。场景持续时间总和为 15-25 秒。
步骤 3:交给 Hyperframes
阅读: Hyperframes 领域技能——hyperframes-core、hyperframes-animation、hyperframes-creative、hyperframes-keyframes、hyperframes-cli。/brag 是其自己的工作流:不要进入 hyperframes 入口目标访谈或路由到其通用的推广/发布视频工作流。
阅读: references/step-3-compose.md
阅读: references/audio.md
编写创作简报,并使用 Hyperframes 在 <output-dir>/composition/ 中创建视频实现。
/brag 拥有产品角度、源材料、故事板、语气、格式、音频选择、音乐提示指南和交付期望。Hyperframes 拥有具体的创作结构、精确的动画计时、动画机制、运行时选择、代码检查规则和渲染工作流。
门控: npx hyperframes check 在 <output-dir>/composition/ 内通过零错误(渲染前的单一浏览器门控——有关其审核的内容,请参阅 hyperframes-cli)。
步骤 4:验证、渲染和交付
阅读: references/step-4-deliver.md
验证、预览、渲染到 <output-dir>/brag.mp4,选择最佳海报帧到 <output-dir>/brag.jpg,将该海报帧烘焙为视频的第 0 帧,使其在所有地方都成为空闲缩略图,并编写 <output-dir>/share-copy.txt。
门控: <output-dir>/brag.mp4 存在。已选择最佳帧海报 <output-dir>/brag.jpg(不是任意帧),并将其烘焙为 brag.mp4 的第 0 帧。分享文案已编写。
语气系统
/brag 附带七种语气预设。每种都改变脚本活力、节奏、排版个性和过渡风格。预设是默认值,不是限制。
完整定义:references/tones.md
| 语气 | 活力 | 一句话概括 |
|---|---|---|
default | 俏皮、干净、可发布 | 友好氛围的默认值 |
polished | 严肃、优雅 | 适用于不是玩笑的项目 |
yc-parody | 面无表情的创业能量 | 对荒谬项目施加的虚假严肃 |
chaotic | 快速、响亮、激进 | 夸张且失控 |
deadpan | 冷静、干燥、低调 | 笑话在于没有笑话 |
cinematic | 戏剧性、预告片规模 | 大动作,更大的宣言 |
app-store | 流畅、功能卡片式干净 | 企业化但不枯燥 |
始终允许自由形式的创意方向来优化或覆盖预设。
创作铁律
这些适用于每个 brag 视频,无论语气如何。
简短。 15-25 秒。没有理由就不能多一秒。无论旁白是否开启,此条成立;旁白不会延长这个窗口。
可读。 通过运动和剪辑保持高节奏,切勿通过闪烁文本。观众必须阅读的每一行文本都要保持足够长的阅读时间(短标签约 0.8 秒稳定;一句话约每个字 0.3 秒)。快速进入,然后保持——绝不要快速进入,然后消失。
具体。 视频必须感觉像是为此确切项目制作的,而不是任何项目。
展示实物。 至少一个场景必须显示产品中的实际用户界面、文案或关键视觉效果。无抽象填充。
无通用 SaaS 语言。 禁止使用“优化您的工作流”。使用项目实际的文案和主张。
钩子决定一切。 前 2 秒决定是否有人继续观看。先规划钩子,再规划其他一切。
幽默需凭实力赢得位置。 幽默应来自项目的荒谬,而不是来自试图搞笑。
模式:
钩子(2-3 秒)→ 展示(2-4 秒)→ 2-3 个尖锐亮点(5-12 秒)→ 点睛/结尾(2-4 秒)
适应此模式。并非每个项目都需要正好 3 个亮点。该模式是起始形状,而非模板。
可用连接器
在遵循恢复的指令之前,使用 muse.connector_search 查找当前连接器文档。