Skip to content

DirectorySkills

Run 1Composition strip“In talk.mp4, when I say 600 hours a year, split the 600 hours into the parts of a status call: 250 going round the room, 150 reading the board aloud, 120 on side topics, 80 on real blockers. These are my own numbers and words, put them on screen as they are.”
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, 10 Nov
Needs
Node 22+Chromeffmpeg
Licence
Recaply licence

Composition Strip

One bar splits into its parts, each drawing in as it is named, with a legend.

$9.99once, yours to keep

Adds one bar split into its parts to a talking-head video, each part drawing in as it is named, with a legend: what something is made of. 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 breaks something into its parts (an ingredient list, a price, a day).

By RecaplyUpdated 11 Nov

Install Composition Strip

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

Read https://recaply.co/skills/composition-strip-overlay/install.md and follow it to install the composition-strip-overlay skill from composition-strip-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 Composition Strip is for

What you get

  • Your video with the overlay timed to the words, sound kept
  • A single bar fills part by part, each in its colour, while a legend names them
  • 16:9, 9:16, 1:1 or 4:5

Good fit

  • When someone breaks something into its parts (an ingredient list, a price, a day)

Not for

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

About this skill

You say

In talk.mp4, when I say 600 hours a year, split the 600 hours into the parts of a status call: 250 going round the room, 150 reading the board aloud, 120 on side topics, 80 on real blockers. These are my own numbers and words, put them on screen as they are.

It said back

I rendered talk-graphics.mp4 in the work folder: 1920×1080, 24.3 s, 30 fps. I checked the settled frame in the check sheet and it showed no layout warnings. I didn't watch the rendered video itself.

  • What's on screen: one bar, "600 hours a year", split into Going round the room 250h, Reading the board aloud 150h, Side topics 120h and Real blockers 80h. The speaker slides to the right half while the bar fills the left.
  • Timing: it starts as you say "600 hours a year" at about 7.9 s and stays until about 14.9 s.
  • Look: paper, the warm off-white panels with a tomato accent.
  • Sound: yours, unchanged.
  • Unit: I wrote the values as "250h" and so on. With plain numbers the tool adds a "%" to the legend, which is wrong for hours. "250 hrs" wrapped onto two lines in the narrow segments, so I shortened it to "h".
  • Parts not tied to your voice: your transcript doesn't name the four parts, so they appear on the tool's default stagger within the beat rather than as you say them.
Show more

What it did in run 1

  1. composition-strip-overlay
  2. ls && S=.claude/skills/composition-strip-overlay/scripts && node $S/check.mjs
  3. ls -a && node .claude/skills/composition-strip-overlay/scripts/check.mjs
  4. echo '{"video":"talk.mp4","transcript":"talk.json","beats":[]}' > overlay.json && node .claude/skills/composition-strip-overlay/scripts/overlay.mjs overlay.json --words
  5. cat > overlay.json <<'E' {"video":"talk.mp4","transcript":"talk.json","look":"paper", "beats":[{"beat":"strip","cue":"600 hours a year","title":"600 hours a year","parts":[{"label":"Going round the room","value":250},{"label":"Reading the board aloud","value":150},{"label":"Side topics","value":120},{"label":"Real blockers","value":80}],"for":7}]} E node .claude/skills/composition-strip-overlay/scripts/overlay.mjs overlay.json --check; node .claude/skills/composition-strip-overlay/scripts/overlay.mjs overlay.json --face
  6. ./overlay.json
  7. node .claude/skills/composition-strip-overlay/scripts/overlay.mjs overlay.json --check
  8. ./overlay-check.png
  9. node .claude/skills/composition-strip-overlay/scripts/overlay.mjs --beats | grep -i -B2 -A8 strip | head -60; grep -n "unit\|'%'\|\"%\"" .claude/skills/composition-strip-overlay/scripts/*.mjs | head -20
  10. sed -n 325,335p .claude/skills/composition-strip-overlay/scripts/beats-extra.mjs | cut -c1-400
  11. sed -i 's/"value": \([0-9]*\) }/"value": "\1 hrs" }/' overlay.json && grep value overlay.json && node .claude/skills/composition-strip-overlay/scripts/overlay.mjs overlay.json --check
  12. ./overlay.json
  13. node .claude/skills/composition-strip-overlay/scripts/overlay.mjs overlay.json --check
  14. ./overlay-check.png
  15. perl -pi -e 's/ hrs"/h"/' overlay.json && grep value overlay.json && node .claude/skills/composition-strip-overlay/scripts/overlay.mjs overlay.json --check
  16. ./overlay.json
  17. node .claude/skills/composition-strip-overlay/scripts/overlay.mjs overlay.json --check
  18. ./overlay-check.png
  19. node .claude/skills/composition-strip-overlay/scripts/overlay.mjs overlay.json
  20. Done

10 Nov 2026 · Claude Code 2.1.322 with Claude Sonnet 5.5 · 1 min 58 s · $0.21 of API use

Questions

Is Composition Strip free?

No. Composition Strip 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 Composition Strip?

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

What do I get when I buy Composition Strip?

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 Composition Strip?

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 ./composition-strip-overlay with your agent's flag.

What do I get from Composition Strip?

Your video with the overlay timed to the words, sound kept. A single bar fills part by part, each in its colour, while a legend names them. 16:9, 9:16, 1:1 or 4:5.

What does Composition Strip need?

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

How big is Composition Strip?

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

What does a run cost?

Our 1 runs took 1 min 58 s to 1 min 58 s and $0.21 to $0.21 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 Composition Strip to use it?

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