New to Claude Skills? Learn how to install them →

nexu-io on GitHub

Chat Motion Overlay

Free

Create dynamic chat overlays from transcripts or screenshots.

by nexu-io84.9k stars on nexu-io/open-design
1 views
Updated Aug 10, 2026
Get this skill

Free · Opens the source repo

What Chat Motion Overlay does

Chat Motion Overlay is a tool designed to transform chat content into visually appealing motion overlays. This skill allows users to generate configurable clips that can be used in various contexts, such as social media videos, demo presentations, or storytelling reenactments. By utilizing transcripts or screenshots, it normalizes the input and extracts the necessary information to create an engaging chat scene.

The workflow begins with normalizing the chat input, where the skill can handle both screenshots and plain text. For screenshots, it extracts visible messages and infers participant details without altering the original avatars unless specified. Users can configure the scene by selecting options for container styles, avatar modes, device frames, and nickname display rules, ensuring the output meets their specific needs.

Once the configuration is set, the skill builds a scene specification using provided scripts, which output a JSON spec that can be rendered by Remotion. This process culminates in preparing a renderable bundle that can be exported in various formats, such as MOV or WebM, depending on the intended use. The tool is particularly useful for developers and designers looking to create reusable chat clips that enhance their projects or presentations.

This skill is ideal for anyone involved in video production, social media content creation, or app development who needs to incorporate chat interactions into their work. With its flexibility in output formats and configuration options, Chat Motion Overlay streamlines the process of creating dynamic chat visuals.

When to use it

Use this skill when you need to produce short-form chat clips for social media, demos, or storytelling.

When not to use it

This skill may not be suitable for projects requiring static images or non-chat-related content.

What you can build with it

Social Media Content Creation

Generate engaging chat overlays for platforms like Douyin to enhance video storytelling.

Demo Videos

Create professional-looking chat clips for product demos, showcasing interactions in a visually appealing way.

Story Reenactments

Utilize chat motion overlays to reenact conversations in a dynamic format, making stories more engaging.

How to install Chat Motion Overlay

View source

1. Install with the skills CLI

npx skills add nexu-io/open-design/chat-motion-overlay --agent claude-code

2. Or install it manually

Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.

Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs

Inside SKILL.md

Written by nexu-io

Chat Motion Overlay

Turn chat content into a configurable motion overlay clip instead of a single hard-coded WeChat mock.

Workflow

  1. Normalize the chat input.

    • If the user gives a screenshot, extract the visible messages into the transcript format in references/input-format.md.
    • If the user gives plain text, keep one message per beat and preserve exact wording when authenticity matters.
    • For screenshots, use visible avatars as clues for participant count and message grouping, but do not crop or recreate avatar images by default. Infer participants and sides, then render with preset avatars unless the user provides avatar files or explicitly requests screenshot-derived avatars.
  2. Choose a scene config.

    • Read references/config-schema.md.
    • Decide container style, avatar mode, device frame, nickname mode, and delivery format before generating the bundle.
    • When the user has not provided enough information, follow the question policy in references/question-strategy.md.
  3. Build the scene spec.

    • Run scripts/build_chat_overlay_spec.py with a transcript and optional config JSON.
    • The script outputs a single JSON spec that Remotion can render directly.
  4. Prepare a renderable bundle.

    • Run scripts/prepare_chat_overlay_bundle.py.
    • It copies the Remotion template, injects src/chatSpec.ts, and copies any uploaded avatar files into public/.
  5. Render the target output.

    • Use the exact export commands in references/output-modes.md.
    • Prefer MOV(透明背景,可直接导入剪映 / PR / FCP 叠加) for editing, WebM(透明背景,适合网页 / 浏览器播放) for browsers, and editable engineering outputs when the user wants to keep composing downstream.

Supported Dimensions

  • container: none, wechat, telegram, messenger
  • avatarMode: preset, upload, mixed
  • deviceFrame: none, iphone-dynamic-island
  • nicknameMode: hidden, first-message-only, always
  • deliveryFormat:
    • mov: MOV(透明背景,可直接导入剪映 / PR / FCP 叠加)
    • webm: WebM(透明背景,适合网页 / 浏览器播放)
    • remotion: Remotion 工程(适合继续编辑和拼装)
    • hyperframe: Hyperframe 工程(适合作为模块继续复用)
    • json: JSON 数据(适合程序处理 / 自定义渲染)
    • preview: 预览图 / 预览工程(适合先确认效果)

Output Rules

  • Keep the composition root transparent for overlay outputs.
  • Use container: none for standalone bubble motion without an app shell.
  • Use container: wechat|telegram|messenger when the platform chrome is part of the story.
  • Treat uploaded avatars as content assets and copy them into public/ for the render bundle.
  • Prefer preset avatars when the user does not specify avatar files. Screenshot avatars may help identify participants, but recommend user-provided avatar files before attempting to crop or recreate avatars from screenshots.
  • Keep config-driven behavior explicit; do not silently switch style families.

Question Policy

  • Prefer inference first, questions second.
  • If the user gives enough information for a sensible default, continue and clearly state the assumptions.
  • Ask only for missing high-impact choices.
  • Keep the question set to 1-3 items.
  • Prefer user-facing wording over technical wording.
  • Ask about deliveryFormat using 格式(场景描述) labels, not internal render terms.
  • If the user says they do not care, continue with defaults and note them in the result.

Resources

  • Transcript format: references/input-format.md
  • Config fields and examples: references/config-schema.md
  • Question strategy: references/question-strategy.md
  • Output commands and targets: references/output-modes.md
  • Transcript/config to spec: scripts/build_chat_overlay_spec.py
  • Remotion bundle preparation: scripts/prepare_chat_overlay_bundle.py
  • Remotion render template: assets/remotion-template/

Frequently asked questions about Chat Motion Overlay

Similar skills