Skip to content

DirectorySkills

Run 1Chat over the video“In talk.mp4, stack a short team chat about cancelling the Monday call over the video.”
Runs in
  • Claude Code
  • Codex
  • Cursor
  • Gemini CLI
  • GitHub Copilot
  • OpenCode
Generates with
Your agent's model
Tested with
Claude Code 2.1.322Claude Sonnet 5.51 real run, 9 Nov
Needs
Node 22+Chromeffmpeg
Licence
Recaply licence

Chat Over the Video

A chat thread stacks up over the video beside the speaker without moving them.

$9.99once, yours to keep

Adds a chat thread that stacks up over a talking-head video, message by message, while the speaker stays where they are. Timed to the words they say, on their own footage, with their sound kept; 16:9, 9:16, 1:1 or 4:5. Renders locally with Chrome and ffmpeg: no video model, no key and no cost. Use when someone reads out a message thread and wants it shown without the speaker moving aside.

By RecaplyUpdated 11 Nov

Install Chat Over the Video

After the download, ask your agent to add it, or run the line yourself.

Read https://recaply.co/skills/chat-stack-overlay/install.md and follow it to install the chat-stack-overlay skill from chat-stack-overlay.zip.

Paste it into your agent. It reads our install steps, finds the ZIP you downloaded and adds the skill for you.

New to skills? How to install a skill

Similar skills

All 735 skills

Who Chat Over the Video is for

What you get

  • Your video with the overlay timed to the words, sound kept
  • Chat bubbles stack up over the video in one corner, one message at a time, while the speaker keeps their place on screen
  • 16:9, 9:16, 1:1 or 4:5

Good fit

  • When someone reads out a message thread and wants it shown without the speaker moving aside

Not for

  • Footage with nobody speaking
  • Cutting or re-editing the video itself

About this skill

You say

In talk.mp4, stack a short team chat about cancelling the Monday call over the video.

It said back

I rendered the video with a four-message team chat stacked over the right side of the frame. It's saved as talk-graphics.mp4 in the work folder, at 1920x1080, 24.3 s, 30 fps. The speaker's sound is unchanged, and the check pass showed no layout problems.

The chat is one beat, in the paper look, and the speaker's face stays clear of it. Each message appears as she says the words it's tied to:

Show more

What it did in run 1

  1. chat-stack-overlay
  2. ls -a . .claude/skills/chat-stack-overlay; S=.claude/skills/chat-stack-overlay; node $S/scripts/check.mjs
  3. ls -a && node .claude/skills/chat-stack-overlay/scripts/check.mjs
  4. echo '{"video":"talk.mp4","transcript":"talk.json","beats":[]}' > overlay.json && node .claude/skills/chat-stack-overlay/scripts/overlay.mjs overlay.json --words
  5. node .claude/skills/chat-stack-overlay/scripts/overlay.mjs overlay.json --face
  6. ./face-check.png
  7. cat > overlay.json <<'EOF' { "video": "talk.mp4", "transcript": "talk.json", "look": "paper", "face": [48, 30], "beats": [ { "beat": "chat", "cue": "12 people, 1 hour", "place": "over", "pos": "r", "messages": [ { "from": "Team", "text": "12 people, 1 hour, every Monday." }, { "from": "me", "text": "That's 600 hours a year." }, { "from": "Team", "text": "A 15-minute call, only when something is stuck." }, { "from": "me", "text": "Nobody missed the old Monday call." } ], "cues": ["12 people, 1 hour", "that's 600 hours", "15-minute call", "nobody missed"], "until": "old Monday call" } ] } EOF node .claude/skills/chat-stack-overlay/scripts/overlay.mjs overlay.json --check
  8. ./overlay.json
  9. node .claude/skills/chat-stack-overlay/scripts/overlay.mjs overlay.json --check
  10. sed -i '' 's/"nobody missed"\]/"honestly"]/' overlay.json && node .claude/skills/chat-stack-overlay/scripts/overlay.mjs overlay.json --check
  11. ./overlay.json
  12. node .claude/skills/chat-stack-overlay/scripts/overlay.mjs overlay.json --check
  13. ./overlay-check.png
  14. node .claude/skills/chat-stack-overlay/scripts/overlay.mjs overlay.json 2>&1 | tail -5; ls -la *.mp4
  15. Done

9 Nov 2026 · Claude Code 2.1.322 with Claude Sonnet 5.5 · 1 min 47 s · $0.15 of API use

Questions

Is Chat Over the Video free?

No. Chat Over the Video costs $9.99 once and stays in your Recaply account, or it comes with the Recaply plan ($19.99 a month), which opens every premium skill and prompt.

Which agents can use Chat Over the Video?

Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode.

What do I get when I buy Chat Over the Video?

A ZIP of the whole skill folder (105 KB): the SKILL.md your agent follows and its 12 other files, the references, templates and scripts it uses. You download it from this page whenever you need it, and install it in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode. The Recaply plan opens it too, with every other premium skill and prompt.

How do I install Chat Over the Video?

Buy it, then download the ZIP from this page. For Claude Code, unzip it into .claude/skills/ in your project. For Codex, Cursor and Gemini CLI, unzip it and run npx skills add ./chat-stack-overlay with your agent's flag.

What do I get from Chat Over the Video?

Your video with the overlay timed to the words, sound kept. Chat bubbles stack up over the video in one corner, one message at a time, while the speaker keeps their place on screen. 16:9, 9:16, 1:1 or 4:5.

What does Chat Over the Video need?

Node 22+, Chrome and ffmpeg, and no API key. Each use costs nothing beyond your agent.

How big is Chat Over the Video?

13 files, about 79,938 tokens in all. The SKILL.md is about 2,276 tokens, and your agent reads it only when the job fits.

What does a run cost?

Our 1 runs took 1 min 47 s to 1 min 47 s and $0.15 to $0.15 of API use each, in Claude Code with claude-sonnet-5-5. On a Claude plan, a run counts toward your usage instead.

Do I have to name Chat Over the Video to use it?

Type /chat-stack-overlay first to make sure it loads. Without it, Claude Code may judge a small job simple enough to do without the skill.