Skip to content
Automation
Skill

/video-repurposing

Turn long-form video into platform-ready clips - LinkedIn posts, TikTok/Reels, teasers, highlight reels - with word-level captions, using FFmpeg and Remotion. USE THIS SKILL WHEN the user wants to repurpose a YouTube video or any long video into social clips, mentions video,

From plugin
benai-skills
77152 skills17 agents1 hook4 MCP

Claude Code

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

SKILL.md

video-repurposing.SKILL.md
name: video-repurposing
description: Turn long-form video into platform-ready clips - LinkedIn posts, TikTok/Reels, teasers, highlight reels - with word-level captions, using FFmpeg and Remotion. USE THIS SKILL WHEN the user wants to repurpose a YouTube video or any long video into social clips, mentions video, clip, footage, mp4, mov, or any video format, wants to cut, stitch, combine, or edit video files, needs captions, subtitles, or TikTok-style word highlighting, wants a teaser, trailer, or highlight reel, asks about video transcription or whisper, mentions FFmpeg, ffprobe, or Remotion errors, or has .mp4/.captions.json files or video folders. Runs a mandatory intake, proposes an edit plan with exact timestamps, previews in Remotion Studio, and renders only on approval.
disable-model-invocation: true

Video Repurposing

Turns long-form video into platform-ready clips with captions. FFmpeg for fast CLI operations, Remotion for styled compositions you can preview before rendering. Battle-tested on a real LinkedIn publishing pipeline; the rules below exist because breaking them produced visibly worse clips.

---

Rules (Always Enforce)

**Opening Clip (CRITICAL):**

  • The first clip is the hook - it must grab attention immediately
  • Must start at the start of a complete sentence or idea with an explicit subject
  • NEVER start with joining words ("But", "And", "So", "Now", "Then", "However")
  • NEVER start with pronouns without context ("It", "This", "That", "They", "These", "There")
  • NEVER start with filler, hedging, or weak openers ("I think", "You know", "Basically")
  • Review the full transcript and deliberately select the strongest possible opening - a hook, an insight, a bold statement, or a compelling question

**Closing Clip (CRITICAL):**

  • Must end at the natural conclusion of a thought - never trailing off, never a hard stop mid-idea
  • Should leave the viewer with a takeaway, a call-to-action, or a sense of closure
  • If the last word sounds like it leads into something else, keep going until it resolves
  • Good endings: a summary statement, a strong opinion, a forward-looking insight
  • Bad endings: trailing off, abrupt cuts, filler, unrelated tangents

**Clean Cut Points (every cut, no exceptions):**

  • Cuts happen at a natural pause in the content - never mid-sentence, never mid-word
  • Respect the idea, not just the words: a cut is clean when the speaker just finished a complete thought and there is a natural breath after the last word
  • Every clip must be a complete, standalone thought with an explicit subject
  • The stitched video must tell a coherent story, not feel like random fragments

**Editing modes - pick ONE in intake:**

1. **Hard-cut mode (DEFAULT for social clips: LinkedIn, TikTok, Reels).** No transitions. Ever. No fades on video or audio, no crossfades, no dissolves. Clip ends on one frame, the next begins on the very next frame. Audio starts and stops at full volume. Clean hard cuts read as confident and native on social feeds; fades read as template-ware. Build with plain `<Sequence>` blocks + `premountFor={60}` (see Composition Rules below). **Do not use `TransitionSeries`** - it has a null-props bug that crashes Studio in current Remotion versions. 2. **Crossfade mode (optional, for trailers/teasers/montages when the user explicitly wants blended transitions).** NEVER allow overlapping audio noise: cosine curves only (audio fade-out 1.5s, fade-in 1.2s, visual crossfade 1s), no fade-in on the first clip, no fade-out on the last. See [references/transitions.md](references/transitions.md) for the `createVolumeFn` pattern and the TransitionSeries bug workaround.

**Transcription-first timestamps (CRITICAL - the single source of truth):**

  • All clip boundaries come from whisper word-level timestamps, never from scrubbing or guessing
  • `startMs`/`endMs` = whisper timestamps of the first and last spoken words → these define the captions
  • Audio/video cut points DERIVE from those: `audioEndMs = endMs + audioBufferMs` per clip. Whisper timestamps run ~200-700ms ahead of actual speech, so without the buffer the last word gets clipped
  • Punctuation tokens (".", ",") have timestamps but are NOT spoken - never use them as `endMs`
  • Captions are filtered by the raw transcript boundaries, NOT the buffered audio end, so words from the next sentence never flash on screen during the buffer zone
  • Always verify by ear in Studio: the last word resolves fully, the next sentence doesn't bleed in
  • Full pattern with code in [references/transcription.md](references/transcription.md)

**Source video prep (before anything else):**

  • Check the codec with ffprobe. AV1 is too slow to decode in Remotion Studio (YouTube often serves AV1 by default) - always transcode to H.264
  • `-movflags +faststart` is mandatory: without it the moov atom sits at the end of the file and Remotion reads the whole file before it can seek, making Studio crawl. Already-H.264 files remux losslessly: `ffmpeg -i in.mp4 -c copy -movflags +faststart out.mp4`
  • Videos go DIRECTLY into `public/` with no spaces in filenames

**Workflow:**

  • ALWAYS complete Phase 2 (Intake) before making any edits - never skip clarification questions
  • ALWAYS propose an edit plan with exact timestamps and get user approval before executing
  • ALWAYS preview in Remotion Studio before rendering
  • ALWAYS run QA checks before showing the preview (see [references/qa-testing.md](references/qa-testing.md))
  • NEVER render automatically - only when the user explicitly approves

---

Brand kit (one-time, per user)

All styled output (captions, title cards, graphics) uses the user's brand, captured once in intake and reused forever:

| Setting | What to ask | Default if they have no preference | |---|---|---| | Colors | brand dark, background/light, 1-2 accents | dark `#0A0A14`, light `#F5F2EA`, accent `#B8E0B0` | | Fonts | heading font (Google Fonts name) | Inter (via `@remotion/google-fonts`) | | Caption style | frosted pill (default)

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-repurposing.

Which coding agents can use video-repurposing?
video-repurposing 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.