/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:我会自己构建整个视频。说‘use the full brag’可切回。”如果你是其他任何模型,或无法确定自己是什么模型,请跳过此检查。
在检查项目之前,解析完整的 /brag 调用。如果调用包含 --voice,设置 voice.enabled = true。仅在该次运行中启用旁白。不要自动启用旁白,也不要回退到正常的无配音工作流。
/brag 将当前项目网站或应用转换为一个简短、精致、可分享的发布视频,使用 Hyperframes。它范围狭窄、有主见且有趣。
此技能的功能
- 读取当前项目代码以理解应用。
- 为此项目规划一个简短的炫耀概念。
- 编写视频脚本和分镜。
- 向 Hyperframes 提交一份聚焦的创作简报。
- 验证、渲染并编写分享文案。
解析调用
用户可以使用自然语言或标志调用:
/brag
/brag --tone chaotic
/brag --tone polished --format vertical
/brag 这个。让它感觉像一个荒谬的初创公司发布。
解析这些选项:
| 选项 | 值 | 默认值 |
|---|---|---|
--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/ 副本和此仓库都会将其放置在不同位置。
第一步:检查项目
阅读: references/step-1-inspect.md
扫描项目目录,提取规划 brag 视频所需的信息。
门控: 你能够回答 brag 规划评分表中的所有 9 个问题。
第二步:规划和分镜
编写 <output-dir>/brag-plan.md(其中 <output-dir> 是 brag-output/ 或上述选择的带时间戳变体)。回答规划评分表。确定一个创意角度。编写逐拍的分镜,包括场景、文本、时间、过渡和音效提示。
当选择音乐时,包含一个简洁的“音乐提示指导”部分:如果存在,则从 <skill-dir>/assets/music/cues/ 读取捆绑曲目的提示预设;否则注明提示将在创作时检测(任何轨道现在都支持节拍同步 — 参见 references/audio.md)。提示元数据仅是可选的时间指导:故事、可读性、节奏和产品清晰度保持首要地位。
门控: <output-dir>/brag-plan.md 存在且包含完整的分镜。场景时长总和为 15–25 秒。
第三步:移交给 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 拥有具体的创作结构、精确的动画时间、动画机制、运行时选择、linting 规则和渲染工作流。
门控: 在 <output-dir>/composition/ 内部,npx hyperframes check 通过且没有错误(渲染前的单个浏览器门控 — 参见 hyperframes-cli 了解其审计内容)。
第四步:验证、渲染和交付
阅读: 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 已选取(不是任意帧)并作为第 0 帧烘焙到 brag.mp4 中。分享文案已编写。
语气系统
/brag 附带七个语气预设。每个预设会改变脚本能量、节奏、排版个性和过渡风格。预设是默认值,而非限制。
完整定义: references/tones.md
| 语气 | 能量 | 一句话描述 |
|---|---|---|
default | 俏皮、干净、可发布 | 好心情默认值 |
polished | 严肃、优雅 | 适用于非玩笑的项目 |
yc-parody | 面无表情的创业能量 | 对荒谬项目施加虚假严肃 |
chaotic | 快速、大声、激进 | 夸张且失控 |
deadpan | 冷静、干练、低调 | 笑话在于没有什么是个笑话 |
cinematic | 戏剧化、预告片级别 | 大动作,更大声明 |
app-store | 平滑、功能卡片般干净 | 专业但不无聊 |
始终允许自由形式的创意方向来优化或覆盖预设。
创作法则
这些法则适用于每个 brag 视频,无论语气如何。
简短。 15–25 秒。没有理由就一秒也不要多。
可读。 通过运动和剪辑保持高节奏,而不是通过闪烁文本。观众必须阅读的每一行都要保持足够长的阅读时间(短标签约 0.8 秒稳定;一个句子每个词约 0.3 秒)。快速进入,然后保持——绝不能快速进入然后消失。
具体。 视频必须感觉是为这个确切项目制作的,而不是任何项目。
展示产品本身。 至少有一个场景必须显示产品的实际 UI、文案或关键视觉。没有抽象填充物。
禁止通用 SaaS 语言。 “简化你的工作流程”是被禁止的。使用项目实际的文案和宣传语。
钩子是一切。 前 2 秒决定是否有人继续看。在规划其他任何内容之前先规划钩子。
有趣的幽默恰到好处。 幽默应来自项目的荒谬性,而不是试图搞笑。
模式:
钩子 (2-3 秒) → 揭示 (2-4 秒) → 2-3 个尖锐亮点 (5-12 秒) → 点睛/结尾 (2-4 秒)
适应此模式。并非每个项目都需要恰好 3 个亮点。该模式是一个起始形状,而非模板。