Generate configurable chat motion overlays from a transcript or screenshot, including plain bubble scenes, app-style chat containers, optional device frames, preset or uploaded avatars, nickname display rules, and transparent-video-ready Remotion bundles. Use when Codex needs to create reusable short-form chat clips for Douyin, demo videos, story reenactments, social-message proof scenes, or embeddable alpha overlays for Hyperframe and Remotion workflows.
Turn chat content into a configurable motion overlay clip instead of a single hard-coded WeChat mock.
Normalize the chat input.
references/input-format.md.Choose a scene config.
references/config-schema.md.references/question-strategy.md.Build the scene spec.
scripts/build_chat_overlay_spec.py with a transcript and optional config JSON.Prepare a renderable bundle.
scripts/prepare_chat_overlay_bundle.py.src/chatSpec.ts, and copies any uploaded avatar files into public/.Render the target output.
references/output-modes.md.MOV(透明背景,可直接导入剪映 / PR / FCP 叠加) for editing, WebM(透明背景,适合网页 / 浏览器播放) for browsers, and editable engineering outputs when the user wants to keep composing downstream.container: none, wechat, telegram, messengeravatarMode: preset, upload, mixeddeviceFrame: none, iphone-dynamic-islandnicknameMode: hidden, first-message-only, alwaysdeliveryFormat:
mov: MOV(透明背景,可直接导入剪映 / PR / FCP 叠加)webm: WebM(透明背景,适合网页 / 浏览器播放)remotion: Remotion 工程(适合继续编辑和拼装)hyperframe: Hyperframe 工程(适合作为模块继续复用)json: JSON 数据(适合程序处理 / 自定义渲染)preview: 预览图 / 预览工程(适合先确认效果)container: none for standalone bubble motion without an app shell.container: wechat|telegram|messenger when the platform chrome is part of the story.public/ for the render bundle.deliveryFormat using 格式(场景描述) labels, not internal render terms.references/input-format.mdreferences/config-schema.mdreferences/question-strategy.mdreferences/output-modes.mdscripts/build_chat_overlay_spec.pyscripts/prepare_chat_overlay_bundle.pyassets/remotion-template/Copy a source-pinned command for your client. You run it yourself.
Destination: .claude/skills/chat-motion-overlay · pinned to the source commit
# Run from your project root
git clone https://github.com/nexu-io/open-design.git .skillboard-tmp
git -C .skillboard-tmp checkout 9881cff70e02be86c2a58130af512011ba23d4af
mkdir -p ".claude/skills"
cp -r ".skillboard-tmp/skills/chat-motion-overlay" ".claude/skills/"
rm -rf .skillboard-tmpReview the source before running. This copies files into your project; it is not a one-click install and does not verify runtime safety.
sudo apt update && sudo apt install -y gitnpm install -g @anthropic-ai/claude-code# Run from your project root
git clone https://github.com/nexu-io/open-design.git .skillboard-tmp
git -C .skillboard-tmp checkout 9881cff70e02be86c2a58130af512011ba23d4af
mkdir -p ".claude/skills"
cp -r ".skillboard-tmp/skills/chat-motion-overlay" ".claude/skills/"
rm -rf .skillboard-tmpDestination: .claude/skills/chat-motion-overlay
Scanner static-checks@0.1.0 · commit 9881cff70e02. Static checks cannot prove runtime safety – review the source and the exact diff before installing. How checks work.
No static rules matched. This is not a safety guarantee.