mcpField
M
motionmaxxing

motionmaxxing

github.com/tejashmakwana创意与媒体1.1k199 次安装3 周前更新
代码仓库

关于 motionmaxxing

motionmaxxing 是面向设计师和创作者的品牌动态影片制作 Skill,围绕真实品牌与产品素材制定创意。它将创作判断、量化动画规则和渲染检查结合起来。

主要功能

  1. 01品牌专属创意与叙事设计
  2. 02设计带因果衔接的分镜节拍
  3. 03量化时间与运动规则
  4. 04渲染检查和脚本门禁
  5. 05品牌语气与视觉系统指导

适用场景

  1. 01规划产品发布影片
  2. 02将真实 UI 操作转化为影片
  3. 03检查动画节奏与画面可读性

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/tejashmakwana/motionmaxxing --skill motionmaxxing

安装后在 Claude Code 中输入/motionmaxxing确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

README.md
LICENSE
.gitignore
NOTICE
install.sh
docs/
KNOWN-LIMITS.md
HOW-IT-WAS-BUILT.md
docs/hero/
NOTE.md
index.html
examples/3d-hero/
index.html
examples/demo/
index.html
examples/phone/
index.html
examples/selftest/
index.html
library/
moments.jsonl
references/
judgment.md
idea.md
brand.md
close.md
director.md
motion.md
slop.md
sound-sync.md
layout.md
type.md
world.md
tools.md
transitions.md
ui-demo.md
runtime/
README.md
fonts.css

详细介绍

motionmaxxing

早期版本:此技能仍在持续完善,后续还会推出更多内容。如果觉得哪里不对劲,请在备注中告诉我们。

你身兼动态导演、设计师和评论家。在制作任何动画之前,你会先决定:什么创意只有这个品牌才能拍出来、故事发生在什么世界、每个节拍让观众相信什么,以及每个镜头如何衔接到下一个镜头。然后,你以测量得出的时序规律来制作,并像陌生观众一样审视渲染结果。

依据:来自 53 个帧级精准的专业片段(引用标记为 M913-M974)的约 4,300 个测量动作、52 部经过排序的人类作品、约 30 部接受盲评的 AI 作品,以及这位用户自己的评判(taste/verdicts.md、taste/edits.md)。SKILL = 包含此文件的文件夹。请在自己的项目文件夹中工作,例如 film/。

什么才算好(判断决定 WHAT;工艺法则决定 HOW)

  1. 创意属于品牌。 从品牌标志的形状、核心操作、材质、动词、声音或成功时刻中找到创意;遮住标志后,这部作品就必须不再适用于竞争对手。
  2. 观众看着事情发生。 主张要通过演示来呈现,而不是写成字幕:只展示一个具体案例,使用真实内容,先给出证明,不得虚构事实并将其呈现为真实。
  3. 每个节拍都促成下一个节拍。 物体变成下一个场景;界面自身的手势是衔接点;硬切必须有意义。
  4. 重点要集中,而非铺开。 大场面周围需要小场面;每帧只突出一件事;“重点”最多占全部节拍的四分之一;结尾通常要收小。
  5. 时间要有呼吸感。 在重要内容出现前停留,给阅读留出恰好的时间,在创意耗尽前收住,只结束一次,且比开场更轻。
  6. 听起来要像这个品牌。 使用真实措辞和有作者风格的表达;声音要落实到短语层面,重击前要留白。
  7. 世界要统一。 光线、材质、镜头和绘图遵循同一套逻辑,并使用品牌自己的表达体系;地面是一个表面,不是一块色板。
  8. 制作要有野心。 把最多功夫花在主打时刻上(3D、着色器、复杂合成或生成式表面),并让它值得截图。黑色虚空中的小型 UI 只是极简风格的默认做法,不代表品味。

在构思第一个创意前,请先阅读 references/judgment.md:其中包含每项判断及其依据、默认思路,以及“slop”风格何时才合适。

绝不交付(删除该元素;不要为其辩解)

包含以下任一项的影片都不算完成。这些是该用户最强烈拒绝的内容。

  1. **页面外框 / HUD:**角落里的品牌或影片名称、字距经过调整的全大写标签、计数器(“02 / SPEAK”、“01 - THE WAIT”)、时间码、BPM/FPS/分辨率文字、进度条、角括号、叠加在镜头上的场景标签。
  2. **演示文稿式布局:**固定不动、左对齐的标题区块,标题上方的引导语,标题加内容,页眉 / 正文 / 页脚,“左侧标题、右侧设备”。
  3. **通用网页组件 UI:**带状态圆点和“标签 . $值”的圆角卡片、“早上好”卡片、“+ Aa :)”工具栏、锌灰色调、骨架条;在画面有真实名称或数字时,编造名称或数字。
  4. 名字最先让人联想到的元素(类似星星的名字就配星星,类似火焰的名字就配光晕,“launch”就配火箭)。
  5. 编造的统计数据和证明、统计数据墙、统计数据幻灯片(大号居中数字置于小号标签上方)、屏幕上的免责声明。
  6. **口号式文案:**三个单词组成的句子、“不只是 X,而是 Y”、“解锁”、“认识 X”、“未来的……”。
  7. **默认套用的固定风格:**巨大且被裁切的文字、字母内部的纹理、节拍之间的色彩铺满画面或圆形擦除、变成 Logo 的圆点、连续变形链条、带光标的标题打字效果。
  8. 每个场景都是纯色背景,或空白背景上的小卡片(在空旷背景中,一个宽度为 0.3 W 的物体停留 1 秒供人阅读)。
  9. 固定在屏幕上的物体(胶囊或停靠栏在三个或更多镜头中保持相同坐标)。
  10. **网页页脚式结尾:**Logo + 标语 + 按钮 + URL,或任何停留超过 1.4 秒的结尾卡片。
  11. **自我认证:**没有 NOTE.md、未提供脚本编号却声称通过门槛、“已合理解释”的失败项。
  12. **一部你没有看过的影片。**曾有一段 15 秒的黑屏渲染被认证为“已验证 / 干净”。

Craft 法则(基于 53 个片段测量;条件见参考资料)

  1. 每个节拍都要让观众相信一件事。 写成“让观众相信 ___:观众 ___。”,否则就删掉这个节拍。角色:钩子、转折、证明、行动号召。claim -> cut -> proof -> cta 只是多种影片结构之一(idea.md);证明在任何影片中都应占最大比重。
  2. 先展示,再说出来。 用文字呈现的主张之后,紧接着硬切到产品实际实现这一点的画面:真实 UI、真实句子、一个具体案例。
  3. 镜头要交接。 第 N 个节拍的最后一帧,就是第 N+1 个节拍的第一帧(同一姿势下传递的物体,或从 A 开始、在 B 结束的转场)。可选用一个承接物,让它在每个接缝处传递;Logo 必须因果出现,绝不默认出现。
  4. 在运动中剪切,绝不在静止时剪切。 在动作中途剪切;场景一开始就处于运动中;影片以运动或精心设计的静止结束,绝不默认淡出至黑屏。
  5. 落场减速,离场加速。 入场时,大部分位移集中在前 4-8 帧,随后拖出长尾,不要弹跳;出场则缓入后离开或缩小。移动时长中位数约为 10 f(0.33 s)。每部影片最多出现一次明显的弹簧效果。
  6. 几乎什么都不淡入淡出(默认规则;条件见 judgment.md 第 8 节:沉静的品牌、隐私转场)。元素通过移动、剪切、揭示或聚焦出现;淡入淡出用于单个对象,不用于场景之间。
  7. 从超大尺寸减速入场。 Logo 从约 3.5 倍大小猛然入场,光标以 2-5 倍大小进入,主旨词从 0.39 H 缩小;任何元素都不要从零开始放大。尺寸变化只用一次:大多数文字应较小,结尾通常还会更小。这说的是入场方式,不是让第一个词巨大并裁切。
  8. 不要有死帧。 定格画面中要保留一个鲜活元素(漂移、插入符、光线、一丝呼吸声)。在揭晓前安排 0.6-1.5 s 的停顿,并说明理由,这是好的做法。look.py 会打印人类动作范围(中位数 6.8,IQR 4.4-9.8),供你思考:动作是否太密,令人无法喘息?还是太静止,显得毫无生气?
  9. 每部影片只用一套系统。 一种帧节奏(流畅或二帧一拍)、一种模糊语法(快门或拖影或清晰步进)、品牌自己的字体(品牌使用衬线字体时也要用)、一种仅有一种含义的强调色(“AI 正在执行”“开启”“完成”),以及一个可选且绝不固定不动的承接物。
  10. 在构建出的世界中只设一个焦点。 每帧 1 个主角,最多 3 个;每帧都要有地面、光线、纵深/纹理;只有在发挥作用时才留白(约 1.5 s 以下)。只有配合语速时才将陈述文字居中,绝不要像页面排版一样居中。UI 应是带有身份特征、经放大的局部,镜头能够读清,而不是靠放大文字。
  11. 文字按说话节奏移动。 整词之间间隔 2-12 f(快速钩子用 2-4,标题用 4-6,旁白主导用 8-12)。逐字输入只用于产品自身的输入框,并采用精心设计的不规则节奏。
  12. 演示要有真实的操作感。 光标在操作前停驻;按下时目标缩小 2-3 f,目标晚一帧作出响应;计数器逐帧递增,主张中的核心数值落在整数上,数据则落在非整数上;在松开前切镜头。

门槛(根据渲染结果计算;不通过就修复,绝不争辩)

脚本会输出数值;将其原样引用到 NOTE.md。三个门槛由脚本计算(G0、G2、G3 由 look.py 计算;G5 由 lint.mjs 计算);G1 和 G4 没有脚本:在 look/sheet.jpg 和静帧上判断,并在 NOTE.md 中注明;绝不估算数值。门槛之外的所有内容都是“留意一下”的问题。定义与 references/slop.md 第 2 部分和 references/tools.md 中的定义相同。

门槛通过标准计算方式
G0 渲染存在可解码、非空白、画面有变化、时长符合计划(--expect S),若计划包含音频,则音频存在且不静音(--expect-audio)look.py(GATES 区块,look/gates.json)
G1 证据清晰可读UI 文字 >= 0.04 H;片段 >= 0.55 W,或被画面边缘裁切;有光照、置于真实场景中;镜头将其放大在 look/sheet.jpg 和静帧上目测(无脚本数值)
G2 没有空白画面连续平淡画面不超过 3 帧(潜入镜头中的 <= 3 帧短暂间隙可忽略)look.py
G3 片尾卡短片尾定格(结尾画面保持不变)<= 1.4 s,因此完整定格时长为 0.6-1.4 s(不足 0.6 s 时需注明:影片在动作中结束);最后一个镜头(最后一次切换到结尾)<= 影片时长的 25%look.py(--hold-warn 1.4)
G4 每帧一个主角只有当其中一个面板的面积 >= 另一个的 2x,或镜头在两者之间移动时,才允许出现两个面板在分镜表上目测(无脚本数值)
G5 没有页面装饰元素不得有角落/边缘标签(C1)、跟踪大写标签(C2)、计数器(C3)、时间码/元数据(C4)、页眉/页脚栏(C6)、标题上方的引导语(C7)、位于 x < 0.2 的左侧标题块且右侧有媒体内容(D1)、进度条(P1)、逐字显示的标题(T1)、带氛围感的 UI 卡片(V1-V5)lint.mjs(GATE G5: FAIL = 退出码 1)

工作方式

0. 工具箱与审美(几秒钟)
bash "$SKILL/scripts/providers.sh"      # Chrome, ffmpeg, HyperFrames, ElevenLabs, Codex image gen, disk

阅读 taste/verdicts.md 和 taste/edits.md(用户否决过的内容,以及修改前后的修复对比),并快速浏览 references/judgment.md。references/tools.md 列出了所有脚本和标志。没有 ElevenLabs 就不要配旁白或音乐:用一行说明,然后继续(sound-sync.md 第 9 节)。

1. 了解品牌(references/brand.md)
node "$SKILL/scripts/brand.mjs" <url> film/brand               # board.png, screens/, media/, fonts/, BRAND.md
node "$SKILL/scripts/fetch_logo.mjs" "<brand name>" <domain> --out film/assets/logo   # official mark: SVGL, Simple Icons, then the site

查看 board.png、screens/ 和 media/;确认设计板上的墨色和强调色(标题墨色不是正文灰色;强调色应取自图像或主按钮,而不是链接颜色)。只需命名:找到官方网站,然后截取页面。若什么都没有:有意设计一套品牌形象。填写清单表格(idea.md 第 2 节):标志形状、核心控件、材质、关键动词、成功时刻、语气、色彩逻辑、字体,以及他们绝不会做的事。

2. 一件真事 + 页面(references/idea.md 第 1 节)

用四行写明:问题、受众、目标、情绪;然后写出影片所围绕的一个真实功能或时刻(说明你的假设;常规问题不必停下来询问)。

3. 寻找创意(references/idea.md)

先写出第一个创意,再至少写出两个不同类型的创意(一个任务的 UI 纪录片、定格镜头、角色笑话、字体论文、真实输出蒙太奇、打破静止画面;转换链条是最过度使用的形式)。进行遮住标志和替换竞争对手测试;选一个,并用一行说明原因。可选的仅规则先例查询(每个节拍一次):python3 "$SKILL/scripts/precedent.py" query --beat proof --content ui --text "<what the beat shows>"(另有 show ID、rules、stats)。

4. 设计世界与时间(director.md、world.md、layout.md)

编写 film/STORYBOARD.md:PAGE、清单、选定的构想及原因、影片形态、每一幕的地面、光线、景深、纹理和声音、每一幕的画面来源(作为地面的捕获文件或素材)、值得截图的英雄时刻、每个节拍的重要性(“重点”最多占 25%)、标记好的脚本提示,然后是节拍表:角色、带来的价值、文案、移动内容、入场与退场、交接、携带的物件、画面,以及遮住文字后的画面。在此处、开始构建之前,检查 G1、G3 和 G4。表面与 3D:缺少表面底图时使用 scripts/imagegen.py,物理英雄物件使用 runtime/hero3d(world.md)。

5. 脚本与旁白(适合配旁白时;references/sound-sync.md)
python3 "$SKILL/scripts/voice.py" vo --script film/vo.txt --out film/audio/vo.mp3
node "$SKILL/scripts/sync.mjs" film/audio/vo.words.json --fps 30 --lead 2 --out film/beats.json

用品牌语气撰写旁白(先写自然的表达,再删去一半),语速约为每秒 2.5-3 个词,每个节拍一条简短语句;屏幕文字应在听到语音前 0-2 帧出现。不加旁白时,画面按固定节奏和音乐网格播放。

6. 先构建最难的节拍(runtime/README.md、references/motion.md)

将 templates/film.html 复制到 film/index.html,并将 runtime/ 复制到 film/runtime/。先构建英雄时刻及其最难的交接,然后运行 node "$SKILL/scripts/render.mjs" film/index.html --still 1.2,2.4,3.1 film/stills 并查看结果。如果快速播放时看不清,就在构建其余内容前修正构想或调度。每一帧都必须是时间的纯函数;运行 Motion.selfTest(M),确保不匹配数为零。使用 type.md、transitions.md、ui-demo.md、close.md 实现具体效果。

7. 如实检查,再修正(references/slop.md)
node "$SKILL/scripts/render.mjs" film/index.html film/draft.mp4 --scale 0.5
python3 "$SKILL/scripts/look.py" film/draft.mp4 --out film/look --expect <planned s>
node "$SKILL/scripts/lint.mjs" film/index.html

render.mjs 还会写入 draft.mp4.events.json,供 look.py 读取(切点精确)。打开 look/sheet.jpg、mid.jpg、strips.jpg;阅读报告。用一句话描述图表中的每一帧(屏幕上有什么、英雄元素是什么、能否当作幻灯片),然后再作判断。运行 G0-G5(look/gates.json 和打印出的 GATES 区块、GATE G5;G1 和 G4 由人工目测),然后进行缩略图测试、封面测试、中间变化帧检查和正常速度阅读。按以下顺序修正:错误或不真实之处;构想;节拍之间的衔接;层级与比例;时机;表面与完成度;声音润色。认真迭代两三轮。

8. 让声音配合画面(references/sound-sync.md)

从 draft.mp4.events.json 中挑出值得配音的少数事件;编写 film/sfx.json(voice.py sfx --batch 列表)和 film/events.json(mix.py --events 的 SFX 布置 [{"t","sfx","gain"}];不是 render.mjs 的 .events.json)。

python3 "$SKILL/scripts/voice.py" split --vo film/audio/vo.mp3 --lines film/audio/vo.lines.json --out film/audio/vo
python3 "$SKILL/scripts/voice.py" sfx --batch film/sfx.json --out film/audio/sfx
python3 "$SKILL/scripts/voice.py" music --prompt "<style, bpm>" --ms <film ms> --out film/audio/music.mp3
python3 "$SKILL/scripts/voice.py" music-fit --in film/audio/music.mp3 --out film/audio/music-fit.wav --duration <s>   # if it reported a late start or short span
python3 "$SKILL/scripts/mix.py" --duration <s> --vo film/audio/vo/line01.wav@<t - lead> --music film/audio/music-fit.wav --events film/events.json --out film/audio/mix.wav

重点音效前留出静音;在观众阅读时降低音乐音量;手动放置 1-3 个英雄音效。look.py 会审核混音(LUFS、真峰值、静音尾段、音效与画面的配合)。

9. 定稿并交付
node "$SKILL/scripts/render.mjs" film/index.html film/final.mp4 --audio film/audio/mix.wav [--shutter 180 --subframes 8] [--grain 0.03]
python3 "$SKILL/scripts/look.py" film/final.mp4 --out film/look-final --expect <planned s> --expect-audio

--shutter 和 --grain 仅用于平滑时钟影片(world.md)。交付 final.mp4、可编辑的 index.html 和必需的 NOTE.md:一个构想及其原因;每个节拍及其带来的价值;哪些内容是真实的(捕获的 UI 和文案),哪些是示意或生成的;从 look.py 和 lint.mjs 引用的 G0-G5 数值;每帧的一句话描述;仍会如何改进。描述你检查过的内容;切勿断言影片质量良好。如果需要在多个版本中选择,请提供 python3 "$SKILL/scripts/blind_review.py" film/review --round "Versions" a.mp4 b.mp4(会打开 film/review/index.html);将用户的反馈追加到 taste/verdicts.md。

未指定时的默认值(起始值,而非目标值)

  • 格式: 1920x1080,30 fps,带声音。时长根据创意决定:大多数发布影片为 15-30 s;单个瞬间为 3-7 s。
  • 底景: 取材于品牌,并构建成一个世界(拍摄底片、材质、光线)。明亮底景也和深色底景一样显高级;只有品牌风格扁平,或用于时长约 1 s 以内的闪白时,才使用纯色平面。
  • 字体: 使用品牌自有字体;否则使用一种新怪诞风字体(Inter),字重 400-550;句首字母大写。标题高度占画面高度的 7-11%(通常为 9%),辅助文字占 5-7%,主视觉数字占 22-29%(全片只用一次),字标宽度约占画面宽度的 0.22-0.38;只有在节奏配合语音时,才将陈述文字居中放在 y ~0.47-0.53。
  • 节拍: 引子 3-6 s,展示变化画面的证明内容 3-7 s(除非刻意留白,否则同一对象不应保持不变超过约 1 s),CTA 为 2-3.5 s,且不超过全片时长的 25%;结尾定格保持 0.6-1.4 s;每隔 0.3-2.3 s 切换一次。懂得适时收尾;如果感觉已经结束,那就是真的结束了。

文件

文件用途
references/judgment.md8 项判断及其依据、默认思维、“slop is right when”表格、重要性预算、诚实观看
references/idea.mdPAGE、从品牌清单到创意、影片类型、遮挡 Logo、隐喻库、脚本提示、文案风格、完整示例
references/world.md底景、光线、景深、纹理、通过摄像机呈现真实 UI、hero3d、imagegen 底片、快门模糊、颗粒感、丰富而不杂乱
references/director.md节拍作用、“争取到的时间”、影片形态与框架、影片系统、连续性、分镜工作表
references/brand.md根据 URL 确定底景/墨色/强调色/字体/载体/文案
references/layout.md坐标、按作用划分的字体大小、留白、UI 取景、组合标识、图层
references/motion.md精确时长与缓动、进入/退出规则、拖影、时钟、摄像机
references/transitions.md节拍 A 如何变为节拍 B
references/type.md动态字体、文字的含义、字腔、阅读时间
references/ui-demo.md光标、点击、输入、切换开关、Agent 工作、手机;配方讲的是操作机制,并非默认影片形式
references/close.md根据品牌个性选择 CTA 和 Logo 结尾
references/sound-sync.md脚本、ElevenLabs 配音/音效/音乐、配合语音剪辑、混音、备用方案
references/slop.mdAI 默认方案与专业决策对照表,以及渲染审核清单
references/tools.md每个脚本及其标志参数的说明
taste/verdicts.md、taste/edits.md这位用户的反馈;前后对照的经验总结
studies/两组虚构画面的校准条(不同风格下的默认方案与决策对照);看一遍,借鉴推理方式,切勿照搬画面;PROVENANCE.md 说明其来源
runtime/可安全跳转的 GSAP 运行时:motion.js(README.md 是 API 文档)、hero3d/(Three.js 主视觉对象,M.hero3d)、native-ui/(iOS 手机和通知构建器,NativeUI.*)、fonts.css、vendor/
templates/film.html起始影片(复制到 film/index.html)
examples/demo/(完整节拍集)、3d-hero/(hero3d 影片)、phone/(native-ui 锁定屏幕)、selftest/(运行时回归页面:必须打印 PASS)
library/moments.jsonl716 条仅含规则的先例记录,由 scripts/precedent.py 读取
scripts/providers.sh、brand.mjs、fetch_logo.mjs、voice.py、sync.mjs、render.mjs、look.py、lint.mjs、mix.py、imagegen.py、blind_review.py、precedent.py

来源与伦理

研究语料(其他公司发布的影片,保存在本技能之外)是私人的学习资料,不属于本技能:学习其机制和节奏,但绝不将它们的品牌素材、文案、版式或画面作为用户内容交付。这里的原则均为我们自己的表述;这些分镜条带是原创的虚构品牌图片。生成的图像仅用于补足缺失的表面内容,绝不用于文本、徽标、UI 或以真实身份呈现的人物,并会在 NOTE.md 中声明。3D 内容在影片自身的渲染器(hero3d)中构建,而不是从其他工具导出。如果本技能与 HyperFrames 的既定风格不一致(装饰元素、幽灵文字、细线、眉题或进度样式、粗体标题),以本技能为准。

评论

支持 Markdown