Skip to content

DirectorySkills

Run 1Underlined quote for vertical video“Make talk.mp4 vertical and show my last line as a quote with "nobody missed" underlined.”
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

Underlined Quote for Vertical Video

On a vertical video, a quote card takes the top half and its key phrase is underlined.

$9.99once, yours to keep

Adds a quote card to a vertical (9:16) talking-head video: the quote takes the top half, the speaker the bottom, and the key phrase is underlined as it is read. 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 makes Reels, TikToks or Shorts and wants a quote shown above them with the key words underlined.

By RecaplyUpdated 11 Nov

Install Underlined Quote for Vertical Video

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

Read https://recaply.co/skills/vertical-quote-overlay/install.md and follow it to install the vertical-quote-overlay skill from vertical-quote-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 Underlined Quote for Vertical Video is for

What you get

  • Your video with the overlay timed to the words, sound kept
  • The frame splits: the quote card on top, their face below
  • 16:9, 9:16, 1:1 or 4:5

Good fit

  • When someone makes Reels, TikToks or Shorts and wants a quote shown above them with the key words underlined

Not for

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

About this skill

You say

Make talk.mp4 vertical and show my last line as a quote with "nobody missed" underlined.

It said back

I rendered talk-graphics-9x16.mp4. It's 1080x1920, 24.3 s, 30 fps, and the sound is yours, unchanged. I checked the layout on a still frame, but I haven't watched the finished video.

  • Vertical crop: I cropped the 1280x720 video to 9:16, centered on the speaker. For the last 3 seconds the quote card takes the top half and the speaker the bottom half. For the rest of the video the speaker fills the frame.
  • Quote beat: the card shows "Honestly, nobody missed the old Monday call." It appears at 21.2 s, as she starts saying "honestly, nobody missed", and stays until the end of the video. "nobody missed" is underlined in tomato red, timed to her saying it.
  • Look: paper (warm off-white panel, black type, tomato accent).
  • Warnings: none from the check. The face stays clear of the card.
  • Attribution: the card has no name or source line, because the transcript doesn't give the speaker's name. If you give me a name and role, I can add them and re-render. That's one "by" field, about a minute of work.
Show more

What it did in run 1

  1. vertical-quote-overlay
  2. ls -la && S=.claude/skills/vertical-quote-overlay && node $S/scripts/check.mjs; ffprobe -v error -show_entries stream=width,height,duration -of csv=p=0 talk.mp4
  3. ls -la && node .claude/skills/vertical-quote-overlay/scripts/check.mjs; ffprobe -v error -show_entries stream=width,height,duration -of csv=p=0 talk.mp4
  4. echo '{"video":"talk.mp4","transcript":"talk.json"}' > overlay.json && node .claude/skills/vertical-quote-overlay/scripts/overlay.mjs overlay.json --words
  5. cat > overlay.json <<'E' {"video":"talk.mp4","transcript":"talk.json","look":"paper","size":"9:16","crop":50,"face":[50,40], "beats":[{"beat":"quote","cue":"honestly nobody missed","text":"Honestly, nobody missed the old Monday call.","highlight":["nobody missed"],"until":"call"}]} E S=.claude/skills/vertical-quote-overlay/scripts/overlay.mjs; node $S overlay.json --face; node $S overlay.json --check
  6. ./overlay.json
  7. node .claude/skills/vertical-quote-overlay/scripts/overlay.mjs overlay.json --face 22
  8. ./face-check.png
  9. ./overlay.json
  10. node .claude/skills/vertical-quote-overlay/scripts/overlay.mjs overlay.json --check
  11. ./overlay-check.png
  12. node .claude/skills/vertical-quote-overlay/scripts/overlay.mjs overlay.json && ls -la *.mp4
  13. Done

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

Questions

Is Underlined Quote for Vertical Video free?

No. Underlined Quote for Vertical 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 Underlined Quote for Vertical Video?

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

What do I get when I buy Underlined Quote for Vertical 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 Underlined Quote for Vertical 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 ./vertical-quote-overlay with your agent's flag.

What do I get from Underlined Quote for Vertical Video?

Your video with the overlay timed to the words, sound kept. The frame splits: the quote card on top, their face below. 16:9, 9:16, 1:1 or 4:5.

What does Underlined Quote for Vertical Video need?

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

How big is Underlined Quote for Vertical Video?

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

What does a run cost?

Our 1 runs took 1 min 41 s to 1 min 41 s and $0.13 to $0.13 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 Underlined Quote for Vertical Video to use it?

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