Communitygithub.com

Hadi Got Motion

一个导演级的动态图形工作室,专为Claude打造。可制作动态图形、动画解说、故事短片、剪纸角色动画(含会说话的木偶)、动态文字、文本动画、真实地图动画(路线、步行、飞行、地球、地形)以及永远不像AI生成的字幕时刻。启动时会检查并安装自身工具,然后显示一个视觉简报选择器:标题、时长、概念、12种各具特色的动态风格、无忧的“让Claude决定”选项、10种地图外观,以及可上传或输入脚本。它会提供时间预估,连接ElevenLabs语音(可选ChatGPT图像),然后构建并渲染出最终的MP4文件。

Hadi Got Motion 是什么?

Hadi Got Motion 是一个为 Claude AI 代理设计的复杂技能,将其转变为专业的动态图形工作室。该技能提供了一套全面的工具和流程,用于创建各种动画内容,从动态排版和剪辑拼贴到剪纸木偶剧和真实地图动画。其核心是一个结构化的工作流程,包括工具检查、简报选择、时间估算、方向确定、语音集成、资产获取(优先使用档案馆资源,必要时可选择ChatGPT生成图像)、动画制作、设计审查和最终交付(MP4文件)。它特别强调独特的“动画风格”(共12种),每种都有自己独特的运动语言,并通过内置的“品味检查”积极避免常见的AI生成美学特征。该技能利用ElevenLabs进行语音合成,使用canvas、anime.js和FFmpeg作为核心引擎,并通过高效的提示策略和子代理任务委派来优化令牌预算,目标是每个视频项目在约50轮主聊天交互内完成,上下文保持在180K令牌以下。

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/hyperkidxp/hadi-got-motion/tree/main

在你喜欢的 AI 中提问

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

文档

Hadi Got Motion 是做什么的?

一个技能中的动态图形工作室:12种动画风格,各有其独特的运动方式,以及一个品味标准。 每一帧都基于真实素材构建:存档印刷品和照片、真实字体、真实数据、真实录音。代码负责剪辑、铰链、计时和灯光;代码从不绘制艺术画面。品味标准是Pemberton先生的错误,一部基于维多利亚时代版画的剪纸闹剧(references/case-pemberton.md)。

所有操作都通过一个命令 hgm 执行(此处位于 scripts/hgm;运行 hgm install 后将加入系统PATH)。每个 hgm 命令都会打印简短摘要并将详细信息写入文件,从而使令牌用于品味而非管道。在开始之前,请先阅读下面的令牌预算部分;它是工艺的一部分,而非事后想法。

工作顺序:工具检查 → 简报选择器 → 估算 → 设置 → 方向 → 语音 → 资产 → 动画 → 审查 → 交付。 在简报和设置完成之前,切勿开始构建。

恢复一部电影? 阅读项目的 HANDOFF.md 并运行项目内的 hgm state。不要重新阅读技能参考、旧电影或整个电影文件。

0–1 · 工具检查和简报选择器(一个回合内完成)

  • 不要询问也不要解释。运行 bash <此技能文件夹>/scripts/hgm picker,针对已提及的内容添加 --title "…" --duration 45 --concept "…"。用 ["elicitation"] 调用一次可视化 read_me,然后使用完全按照打印出的加载器字符串调用 show_widget。
  • 答案行返回格式为 Motion graphic details — Tools: … · Title: … · Duration seconds: … · Pacing: 1–5 · Concept: … · Motion style: … · …。只有概念是必需的:无标题则命名;无时长则30秒;无节奏则3;无地图外观则无地图。
  • 如果有任何缺失且用户未选择“现在不”,则在后台启动 hgm install。
  • 空widget、无widget工具、上传的脚本或跳过的表单:请参阅 references/setup.md。

2 · 时间估算(收到答案后立即进行)

hgm estimate --answers "<答案行,逐字复制>"。用一两句话给出其前两行,然后开始。无需等待确认。

“让Claude决定”:全程无问题端到端

当风格为“让Claude决定”(或“你来决定”、“给我惊喜”,或表单被跳过时):

  • 不再提问。像一个导演一样决定一切:服务概念的风格、节奏(除非概念明显需要平静或狂热,否则为3)、地图(仅当故事穿越真实地点时)、剪纸闹剧或纸剧场中的行走、演员和语音、脚本,以及来自档案馆的图像(仅当已连接ChatGPT时)。
  • 重新运行 hgm estimate --style <id> --duration <s> --pace <1-5> --script write|have|none,用两行告诉他们你做了什么选择、为什么,以及需要多长时间。
  • 唯一不能跳过的步骤是ElevenLabs登录(如果需要语音且尚未连接任何内容)。如果无法完成,则制作一部纯文本和音乐的电影。

3 · 设置(在任何构建之前完成)

如果需要,运行 hgm install,然后 hgm new <slug> --style <id> --pace <1-5>(ID:cutout-farce、kinetic-editorial、kinetic-swiss、editorial-collage、period-print、paper-theatre、real-maps、stat-hits、footage-led、silent-film、title-sequence、object-diorama),然后运行 hgm doctor。ElevenLabs登录(hgm connect-voice)和ChatGPT图像(hgm connect-images)在 references/setup.md 中有精确措辞;请逐字遵循,切勿处理密钥。全部绿色 → 用一行输出 “设置完成”。

4 · 方向

  • hgm ref <style-id> 一次性打印此风格所需的所有内容:其在 styles.md 中的章节、其运动语言、所有风格下的规则,以及 taste.md(品味标准和反AI外观检查清单)。不要打开整个参考文件。
  • 事实需要研究,切勿猜测。 如果影片陈述事实(历史、科学、人物、数字、“如果……会怎样”),在编写任何脚本之前,子代理应将其研究到 FACTS.md 中:hgm ref research。脚本仅基于已确认的事实;戏剧性来源于真实细节。
  • 没有提供脚本: 在一条消息中提出3个概念(一个处于情境中的角色、一个1.5秒的钩子、一个升级到高潮)并自行去掉最安全的一个。在“让Claude决定”模式下,不要提出多个方案:选择最强的一个并直接推进。每30秒的单词数取决于节奏(pacing.json 中的 words30:节奏1时为50,节奏3时为66,节奏5时为82)。以高潮台词结束。
  • 规划场景。 在 BRIEF.md 中编写场景计划:每行一个场景,包含其时间范围、地点及其变化方式。除非故事需要一个地点,否则世界会按照节奏的每个 scenery 秒变化。在同一背景下出现一个新道具不算变化(参见 taste.md 的“场景”部分)。
  • 锁定世界 在 BRIEF.md 中,包含五条规则:调色板(2-3种颜色加上每个节拍一种强调色)、印刷或线条、纹理(一种颗粒)、光照、字体(一种字族)。

5 · 语音:语音是时钟(如无旁白则跳过)

  • hgm voices --list → 在 audio/cast.json 中选角 → audio/script.json(text 包含带有 [音频标签] 的表演指示,caption 是屏幕上的干净文本,gap_after 为动作留出空间)。
  • hgm voice-all 打印一行摘要以及任何 ✗ 行(完整日志:review/voice.log)。使用 skip_start、字幕或 hgm voices <id> 修复 ✗ 行。详情:hgm ref elevenlabs。

6 · 资产:优先在线资源,然后是ChatGPT

  • 将机械部分委托给子代理(Agent工具,model: "sonnet"):为其提供视觉列表、BRIEF世界规则以及命令 hgm assets <key> "query" …(图像)和 hgm assets --audio <key> "query"(声音)。它返回每个键的前3个候选,整合到一个合并表格和一个简短的文本列表中。你以小图查看该表格并选择;然后你(或子代理)运行 hgm pick <key>:<n>:<name> 下载并记录来源。来源:hgm ref sources。
  • 只有档案馆无法提供的内容才使用ChatGPT(hgm img inbox/<name>.png "<prompt>",或提示包):hgm ref imagegen。
  • 地图:hgm map-data … 然后 hgm map-reel:hgm ref maps。切勿绘制或猜测地理信息。
  • 裁剪和装配 在 assets/build_assets.py 中(hgm grid、hgm zoom、hgm cut、hgm explode;配方:hgm ref cutout-farce-recipe)。子代理可以进行坐标读取和裁剪;你只需检查单个 explode 表格。

7 · 动画

  • 在 <slug>.mjs(脚手架)中构建。hgm api 列出每个辅助函数及其签名:使用它而不是阅读旧电影或脚手架文件。保留时间线辅助函数;替换 DEMO 块。
  • 一个状态对象,使用 at(sec, {key: [from, to]}, dur, ease)。每个动作都带有音效提示;字幕与单词相对应。at() 按节奏(PC.k)缩放所有持续时间;在 PC.shot 和 PC.scenery 时进行剪切和场景变化。hgm voice-all 应用节奏的叙述者速度和间隙。
  • 按照该风格的运动方式运动(其帧率、哪些步骤以二帧或三帧移动、其缓和曲线、摄像机、转场)。脚手架已应用配置文件。切勿为每种风格都使用相同的平滑缓入缓出:这种千篇一律正是AI的痕迹。
  • 行走属于剪纸闹剧(以及纸剧场的跳跃和滑行):walk(style, t, {facing})、hgm ref walks、hgm walks 用于参考卷。
  • 仅一次编写电影文件,然后通过小范围编辑进行修改。切勿为了更改一个场景而重写整个文件。
  • 需要避免的陷阱:在首次构建前查看 hgm ref traps。

8 · 审查:看起来像设计师(这是值得花费令牌的地方)

  • hgm stills 0,1,3,6,10,...(12-18个时间点,包括动作中)写入 review/contact.jpg。查看一次并对照品味检查清单进行评判:在第0、1、3和10秒有钩子;每个节拍一个主角;没有覆盖面部的内容;没有只是“存在”的内容;场景是否按计划变化,或者连续几帧是否共享同一个背景?有人会猜这是AI做的吗?
  • 在单次操作中修复你发现的所有问题,然后仅对更改的时刻运行 hgm stills。仅放大到你正在评判的单个事物。

9 · 构建和交付

  • hgm build(渲染、混音、合成;在后台运行),然后 hgm frames 0.2,<mid>,<end> 并查看最终MP4的帧。hgm cover <t> 制作一个纯色、无文字的封面。
  • 发送MP4和封面(使用 SendUserFile)。说明时长、与简报相比的任何更改,以及你无法验证的内容(Claude无法收听音频:混音已通过电平和时间码检查)。
  • 保持 CREDITS.md 完整。返回的注释应是精准的:精确应用这些更改,重新检查这些帧,重新构建。

令牌预算

根据前三部电影(Pemberton 338 轮、Hyderabad 116 轮、Wright brothers 72 轮)的测量:每一轮都会重新读取整个对话,因此成本 = 轮数 × 上下文大小。聊天在开始任何操作前大约有90K令牌。一张截图、一个表格或一次 cat 操作会保留在上下文中,并在后续每一轮中重新计算。因此:

  • 更少的轮数。 将独立命令批量处理到一次工具调用中(hgm stills … && hgm frames …)。规划一个修复列表,然后在一次操作中应用。
  • 更小的输出。 使用 hgm 命令,而不是在参考文件、旧电影或日志上使用 cat、ls 或 sed。hgm ref、hgm api 和 hgm state 仅打印所需内容。切勿打印JSON、完整的语音列表两次或电影文件。将较长的工具输出重定向到文件并使用 tail -3 查看。
  • 小图像,少量图像。 每轮审查一张联系表;220像素的帧足以进行判断。切勿读取原始帧、原始下载文件或全尺寸帧;而是放大到裁剪区域。
  • 子代理处理机械工作(model: "sonnet"):资产搜索和下载、裁剪和装配检查、渲染、来源记录。它们返回一个短列表和一个表格。将主要模型用于概念、脚本、风格、选择以及设计师的审查。
  • 在上下文变得沉重之前交接。 当上下文达到约200K令牌(或窗口的40%,以先到者为准;大约50次工具调用)时,完成当前步骤,运行 hgm handoff,填写其“下一步”行,并告知用户:“在新聊天中继续:continue <slug>。” 新聊天从HANDOFF.md和 hgm state 恢复,大约消耗5K令牌。
阶段主聊天轮数可能增加的上下文
选择器 + 估算≤ 4≤ 8K(可视化指南占大部分)
设置≤ 3≤ 2K
研究(子代理编写FACTS.md)≤ 2≤ 3K(你读取FACTS.md,绝不读取搜索结果)
方向(+ hgm ref)≤ 6≤ 12K
语音≤ 4≤ 4K
资产(子代理执行搜索)≤ 6≤ 10K(一个合并表格 + 一个展开表格)
动画(电影编写一次)≤ 8≤ 25K(你编写的电影文件)
审查(≤ 4张联系表)≤ 12≤ 12K
构建 + 交付≤ 4≤ 4K
整部电影≤ 50结束于 ~180K 以下

在概念、风格选择和设计师审查上自由花费。它们成就电影;预算来自管道,绝不来自外观。

不可妥协的事项

  • 语音: 仅限ElevenLabs。
  • 图像: 优先使用档案馆资源;需要时使用ChatGPT图像。绝不使用Higgsfield。无AI视频。绝不通过代码绘制角色、插图或徽章。
  • 引擎: canvas + anime.js + FFmpeg。仅用于真正的3D时使用three.js;仅当物理光照是核心创意时使用Blender。
  • 来源记录和密钥: 记录每个来源。绝不在请求中包含用户的电子邮件或个人详细信息。绝不打印密钥。

相关技能