Skip to content
Automation
Skill

/video

Edit, process, and render videos using FFmpeg and Remotion. Handles stitching, transitions, captions, teasers, and transcription. USE THIS SKILL WHEN user mentions video, clip, footage, mp4, mov, avi, mkv, or any video format, wants to combine, stitch, merge, or join video

From plugin
benai-skills
77152 skills17 agents1 hook4 MCP

Claude Code

$ npx -y skills add naveedharri/benai-skills --skill video --agent claude-code

SKILL.md

video.SKILL.md
name: video
description: Edit, process, and render videos using FFmpeg and Remotion. Handles stitching, transitions, captions, teasers, and transcription. USE THIS SKILL WHEN user mentions video, clip, footage, mp4, mov, avi, mkv, or any video format, wants to combine, stitch, merge, or join video files, asks about transitions, fades, crossfades, or effects between clips, needs captions, subtitles, or TikTok-style word highlighting, wants a teaser, trailer, or highlight reel from longer video, mentions FFmpeg, ffprobe, Remotion, or related errors, asks about video transcription or whisper speech-to-text, asks about video duration, resolution, fps, or trimming, has .mp4, .mov, .captions.json files or video folders, or asks about thumbnails, overlays, title cards, or graphics for video.
disable-model-invocation: true

Video Editing Skill

Edits, processes, and renders videos using FFmpeg and Remotion.

---

Intelligent Editing Workflow

This skill enables Claude to act as a smart video editor. Before executing commands:

1. **Analyze** - Examine videos (duration, resolution, audio) using ffprobe 2. **Transcribe** - Get speech content for smart cuts (if needed) 3. **Ask** - Clarify user intent and preferences 4. **Plan** - Propose edit approach for approval 5. **QA Test** - Run automated tests before user preview (see [references/qa-testing.md](references/qa-testing.md)) 6. **Preview** - Only show to user after QA passes 7. **Iterate** - Refine based on feedback

See [references/intelligent-editing.md](references/intelligent-editing.md) for detailed workflow, questions to ask, and quality checks.

---

Tool Selection

| Task | FFmpeg | Remotion | |------|--------|----------| | **Stitching** | Same codec, no effects | Transitions, overlays, programmatic | | **Transitions** | Simple crossfades | Multiple types, custom timing | | **Captions** | SRT burn-in | TikTok-style word highlighting | | **Teasers** | Quick clips | Text overlays, branded elements |

**General guidance:**

  • **FFmpeg**: Fast CLI operations, batch processing, format conversion
  • **Remotion**: Styled content, animations, preview before render, React components

---

Reference Files

Read these files as needed using the Read tool:

Intelligence Layer

| File | Contents | |------|----------| | [references/intelligent-editing.md](references/intelligent-editing.md) | Smart editing workflow, questions, quality checks | | [references/video-analysis.md](references/video-analysis.md) | Analyze videos with ffprobe | | [references/transcription.md](references/transcription.md) | Whisper transcription for speech analysis | | [references/qa-testing.md](references/qa-testing.md) | **QA tests before user preview** |

Core Editing

| File | Contents | |------|----------| | [references/stitching.md](references/stitching.md) | Combine multiple clips into one video | | [references/transitions.md](references/transitions.md) | Add fade, slide, wipe between clips | | [references/captions.md](references/captions.md) | Add subtitles and TikTok-style captions | | [references/teasers.md](references/teasers.md) | Create 30-second teasers/trailers | | [references/title-cards.md](references/title-cards.md) | Add chapter headers, bumpers, section titles | | [references/graphics-generation.md](references/graphics-generation.md) | Generate thumbnails, overlays, social graphics |

Technical Reference

| File | Contents | |------|----------| | [references/ffmpeg-basics.md](references/ffmpeg-basics.md) | Common FFmpeg patterns and troubleshooting | | [references/remotion-setup.md](references/remotion-setup.md) | Remotion project setup and workflow | | [references/remotion-tips.md](references/remotion-tips.md) | Animations, timing, springs, sequences, and captions | | [references/reference-implementation.md](references/reference-implementation.md) | **Complete working code to recreate the project** |

---

Quick Start

Transcription (Fast)

# 1. Setup whisper.cpp (one-time)
npx ts-node scripts/setup-whisper.ts

# 2. Transcribe all videos (GPU accelerated)
npx ts-node scripts/transcribe-fast.ts

FFmpeg (CLI)

# Check installation
which ffmpeg || brew install ffmpeg

# Basic concat (same codec)
ffmpeg -f concat -safe 0 -i list.txt -c copy output.mp4

# Burn in subtitles
ffmpeg -i video.mp4 -vf "subtitles=captions.srt" output.mp4

Remotion (React)

# Start preview (always do this first)
npm run dev

# Render (only when user requests)
npx remotion render CompositionName out/video.mp4

---

Key Lessons Learned

Transcription (IMPORTANT)

  • **Use `@remotion/install-whisper-cpp`** - NOT Python whisper (10x faster with GPU)
  • Use `base.en` model for speed, `medium.en` for final quality
  • **Required parameter**: `whisperCppVersion: '1.5.5'` in transcribe() call
  • Enable `tokenLevelTimestamps: true` for word-level captions
  • Whisper.cpp uses Metal GPU on Mac - 8.5min video in ~85 seconds

Teasers

  • **Never start clips with**: "But", "And", "So", "Now", "It", "This", "That", "They"
  • Each clip must have an **explicit subject** - not pronouns or references
  • Aim for 3-4 clips totaling 25-30 seconds
  • **Playback speed**: 1.3x for energy (1.5x is too fast)
  • **Transitions**: Smooth fade (0.4s) between clips
  • **First clip**: Must NOT overlap with intro start (avoid repetition)

Captions

  • **Active word**: Yellow `#FFD700`
  • **Spoken words**: White `#FFFFFF`
  • **Upcoming words**: Light gray `#E0E0E0`
  • **Font**: Roboto at 48px for 1080p
  • **Black stroke outline** (works on ANY background):
  WebkitTextStroke: '3px black',
  paintOrder: 'stroke fill',
  textShadow: '0px 0px 4px rgba(0,0,0,1), 0px 0px 8px rgba(0,0,0,0.8)'

Remotion Video Trimming

  • Use `OffthreadVideo` component
  • Set BOTH `startFrom` AND `endAt` props
  • Convert ms to frames: `Math.round((ms / 1000) * fps)`

---

Edge Cases & Gotchas

File Naming

  • Avoid spaces in video filenames: use `intro.mp4`
Read more
@naveedharri
Ships withbenai-skills

Expert automation skills for Claude Code, organized by department.

77152 skills17 agents4 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
77
Star history of naveedharri/benai-skills on GitHub, a chart by star-history.com

Other skills on benai-skills.

ads-audit

ads-audit

Full multi-platform paid advertising audit with parallel subagent delegation. Analyzes Google Ads, Meta Ads, LinkedIn Ads, TikTok…

ads-budget

ads-budget

Budget allocation and bidding strategy review across all ad platforms. Evaluates spend distribution, bidding strategy…

ads-competitor

ads-competitor

Competitor ad intelligence analysis across Google, Meta, LinkedIn, TikTok, and Microsoft. Analyzes competitor ad copy, creative…

ads-creative

ads-creative

Cross-platform creative quality audit covering ad copy, video, image, and format diversity across all platforms. Detects creative…

ads-google

ads-google

Google Ads deep analysis covering Search, Performance Max, Display, YouTube, and Demand Gen campaigns. Evaluates 74 checks across…

ads-landing

ads-landing

Landing page quality assessment for paid advertising campaigns. Evaluates message match, page speed, mobile experience, trust…

More skills from other plugins.

agent-builder

agent-builder

Load immediately after an Agent intent, before the first agent_builder_* call. Governs how you create, configure, test, and…

n8n12d209k
@n8n-io@n8n-ioInstall Skill
browser-use

browser-use

Direct browser control via CDP for web interaction: automation, scraping, testing, screenshots, and site/app work. Also covers…

@browser-use@browser-useInstall Skill
agent-browser

agent-browser

Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling…

@vercel-labs-2@vercel-labs-2Install Skill
add-anydoc

add-anydoc

Add local office-document-to-Markdown conversion to NanoClaw agent containers with the pinned Firecrawl AnyDoc CLI. Use when…

@nanocoai@nanocoaiInstall Skill

Questions about video.

Which coding agents can use video?
video installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.