Community编程与开发github.com

thativanng/reels-maker

在制作胶片或短视频前,生成三幅截然不同的视觉样稿并排展示,确保观众评判的是视觉风格而非内容本身;记录所有展示过的样稿,避免重复,并可为系列锁定一种风格。

reels-maker 是什么?

该技能(reels-maker)专门解决 AI 代理在生成短视频(reel)时,总是默认选择相同视觉风格的问题。它通过一个结构化流程,强制为同一段开场画面和文字生成三种真正差异化的视觉样稿(静态图),让人类根据风格而非内容进行选择,从而避免在成品完成时才发现“看起来廉价”的返工。技能自动记录每次展示的样稿及其六项特质(媒介、布局、纹理等),除非用户主动要求,不会重复出现组合完全相同的样稿;如果用户指定了系列,首次选定的风格会被锁定给后续所有集数。它适用于 Claude Code、Cursor 等支持自定义技能的 AI 代理平台,其 SKILL.md 提供了完整的操作步骤:从读取创意摘要和历史记录、构思并筛选五种概念(保留差异最大的三种)、生成并排静帧、到记录最终选择。该技能还贴心地包含了诚实限制说明(默认行走动画之外的样稿需要更完整的测试),以及基于 HyperFrames 和 Anthropic 前端设计技能的改编鸣谢。

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/thativanng/reels-maker/tree/HEAD/skills/reel-style

Installed? Explore more 编程与开发 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜欢的 AI 中提问

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

文档

短片风格:三组样稿,并列展示,不重复

工具位置: 从此技能目录中的 reels-maker 文件夹(即 github.com/thativanng/reels-maker 的克隆,包含 template/ 和 tools/)运行所有命令。如果项目中还没有该文件夹,请先按照该仓库的 SETUP.md 进行设置。

为什么需要这个技能: 当 AI 代理被要求“制作一支关于 X 的短片”时,它往往会每次都回退到同一种视觉风格——要么是自己的默认设置,要么是上次被选中的风格。而如果用户在最初阶段没有看到样稿,就意味着他们第一次看到成品中的风格时,才可能说出“看起来很廉价”这样的话,然后不得不重做。三幅静帧只需几分钟;但一个错误的风格会毁掉整支短片。

1 · 动笔前先阅读

  • 已签署的创意摘要: 平台、画面比例、目标观众、信息、品牌,以及用户对于“我觉得什么看起来廉价”的回答(硬性约束)。
  • 样稿日志,位于用户项目中的 .reels/looks-log.md(格式参考 references/looks-log.md)。如果缺失,则创建它。
  • 品牌。 如果有品牌,三组样稿会共享其配色和字体,但在骨架(媒介、布局、纹理、动效)上表现差异。如果没有品牌,则在所有方面都表现差异。

2 · 构思五组,保留三组

先写出五个一行概念,每个来源于不同的出发点:

  1. 主题本身的世界(供应链话题则用仓库板条箱)
  2. 观众应该感受到的情感
  3. 目标受众:满足他们的预期,或者有意打破它
  4. 该话题下其他所有视频的风格,反过来做
  5. 一种不寻常的格式(收据、倒计时、信件、单个巨大的词)

保留差异最大的三个。每个样稿必须与另外两个至少在 6 个特质中的 3 个上不同(参考 references/axes.md),并且始终要在“媒介”或“布局”上不同。至少有一个样稿要打破该话题的常规视觉风格。 两个布局形状相同的样稿视为一个。如果创意摘要指定了某种布局(例如 reel-intake 中的 F4),则所有三个都要保持该布局,并在媒介及至少另外两个特质上表现差异。

然后对照两个列表检查每个样稿:

  • 要避免的默认风格(参考 references/axes.md)。工具包自身的 template/starter.html 是其中之一;它只是一个骨架,永远不能作为样稿使用。
  • 样稿日志。 除非用户主动要求,否则不要再次展示一个在媒介、布局和调色板上都与日志中任何样稿完全匹配的样稿。被拒绝的样稿是一个约束条件。被用户选中的样稿只有在他们主动要求时(“和上次一样”)才能以第四个选项的形式与三个新样稿一起展示。

3 · 制作三幅静帧

  • 将 template/starter.html 为每个样稿复制一份到短片的文件夹中(reels/<name>/look-a.html、look-b.html、look-c.html),同时将短片的 reel.json 放在旁边;如果是 3D 效果,则同样复制 template/film.html。字体和 formats.json 从工具包根目录加载,因此复制版本可以直接使用。只需要修改样稿:CSS 变量、布局、背景、字体。每幅静帧使用相同的开场画面和相同的文字。
  • 按创意摘要指定的格式,为每个样稿渲染一幅静帧,然后将其并排放置并加上名称:
    node tools/stills.mjs --page reels/<name>/look-a.html --format 9:16 --out reels/<name>/out/looks/a 1.5
    node tools/stills.mjs --page reels/<name>/look-b.html --format 9:16 --out reels/<name>/out/looks/b 1.5
    node tools/stills.mjs --page reels/<name>/look-c.html --format 9:16 --out reels/<name>/out/looks/c 1.5
    python3 tools/sheet.py reels/<name>/out/looks/sheet.jpg 3 360 --labels "A · 账本,B · 码头,C · 收据" reels/<name>/out/looks/a/t001.50.jpg reels/<name>/out/looks/b/t001.50.jpg reels/<name>/out/looks/c/t001.50.jpg
    
  • 使用探测工具检查每一幅静帧:文字必须位于安全区内(node tools/probe.mjs --page reels/<name>/look-a.html --format 9:16 "1.5" "sel:.title,.line,.kicker,.cap" "safe" → inside: true;探测工具测量的是字母本身,因此文字超出画面边缘会被判定为失败)。
  • 用名称展示拼合图,每个样稿附带一行描述,例如 A · 账本: 字体主导、浅色纸张、沉稳。添加一行关于动效能量的描述,因为静帧无法展示动感。在用户查看之前不要推荐某个样稿:推荐会先入为主。

4 · 选择与日志

  • 用户选择一个,或进行混合(“A 的布局,C 的调色板”)。混合被视为一种新样稿:在正式制作前,先将其作为静帧展示。
  • 将所有内容写入日志: 展示的每个样稿(其六个特质及静帧)、哪个被选中、哪些被拒绝,以及用户用他们自己的话给出的评价。
  • 然后短片引擎(film-engine)使用选定的样稿制作 10 秒测试片,供用户在完整制作前确认。被选中的样稿的静帧也用作封面的初稿。

系列模式

当创意摘要指定为“系列”时,第一集选定的样稿会作为系列风格被锁定在日志中。后续集数跳过三个样稿的展示,直接沿用该风格。变化发生在其中:主题、开场图像、节拍顺序。如果用户在系列中途想要更换风格,则视为一个新系列。

当故事是一段旅程

体素行走(voxel-walk 技能)仅在创意摘要为一段旅程(职业生涯,或从开始到结束的过程)时,才能作为三个样稿之一。它永远不是默认选项,且同样遵守规则:它必须与另外两个样稿不同,并受日志约束。

诚实的限制说明

  • 只有体素行走经过完整的端到端构建和验证。其他所有样稿都是从创意摘要全新构建的:采用新样稿的第一支短片需要更长时间,并且会接受完整的短片审计。
  • 静帧只能展示色彩、字体和布局,无法展示节奏。动效的判断要在 10 秒测试片中进行。

致谢

“从不同路径构思五个概念,保留差异最大的,相同布局算一个”的规则改编自 HyperFrames 的提案环节(heygen-com/hyperframes, Apache-2.0)。命名默认风格并记录尝试内容的思路来自 Anthropic 的前端设计技能(paraphrased)。同一场景、不同风格、并列展示,是动态影像工作室在风格帧上的常见实践。

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

thativanng/reels-maker

The gates every code-rendered film passes before anyone sees it. A 40 fps collision pass (no mover touches a solid or another mover), pixel probes (nothing sits over or behind a face, a head, a subtitle or the frame edge), then an independent auditor (a fresh agent) who reads frame sheets at ≥2 fps and signs off. The builder never signs off their own film. Use it before sending ANY render, after every fix round, and whenever someone says "check the film", "audit this", "is it ready", or "why does this frame look wrong".

thativanng/reels-maker

Build and render a film, reel or animation as code. One HTML page draws any frame on demand with window.seek(t), and a headless browser renders every frame at 2x into an MP4 with sound. Use it whenever someone wants a video made with code rather than a video generator, says "make a film / reel / animated explainer / career video", "render this to MP4", "turn this page into a video", or needs the finishing steps (audio cues, loudness, colour-safe encode, phone preview). It is style-agnostic and renders 9:16, 4:5, 1:1 or 16:9. It runs after reel-intake (the brief) and reel-style (the look), builds on template/starter.html or a style pack such as voxel-walk, and passes film-audit before anything is shown to anyone.

thativanng/reels-maker

The interview before any video is built. It reads what the person already gave (source text, CV, links, brand files), then asks the rest in a few short rounds of numbered questions with a recommended answer marked, always including the format (platform, reel or video, ratio, layout, length, sound). It ends in a one-screen brief that splits "you said" from "I assumed", plus a storyboard, and builds nothing until the person says yes. Use it whenever someone asks for a reel, a video, an explainer, a career film, an animation or a "make a video about X", before film-engine or any style pack, and again when a request changes its purpose, platform or audience mid-way.

thativanng/reels-maker

The voxel career-film style. A blocky 3D version of the person walks, without ever vanishing, through one scene per role. Their outfit changes as they walk, each scene rises out of the floor ahead of them, and a dark banner tracks year, company and role. Use it when someone wants their career, a journey or a "how I got here" told as a short 3D film for LinkedIn or a portfolio, says "make my career film", "turn my CV into a video", "voxel film", or wants a new chapter added to an existing one. It runs on film-engine (render, audio, finish) and must pass film-audit before anything is sent.

相关技能