video-pipeline

SkillMedia

Orchestrates raw video footage editing through a four-layer pipeline: AI plans the edit from transcript + intent → FFmpeg executes cuts → Remotion composes brand frames + captions → VideoDB indexes the source for findability. Produces brand-bound cliplets (LinkedIn vertical, YouTube short, podcast clip). Sibling to product-ui-frames (HTML→MP4) and onboarding-video (HTML→MP4) — this is the real-footage editing path. Triggers: "cut this podcast", "make a LinkedIn vertical from", "produce a cliplet of", "scrub this video for", "auto-edit this podcast episode". Pairs with gtme-podcast for cliplet production. STATUS: scaffold only — pending env setup (ffmpeg + Remotion + VideoDB key).

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the video-pipeline skill

What this skill tells your AI

The instructions your AI receives, as published by matteotitta/genesys-skills in skills/primitives/content/motion/video-pipeline/SKILL.md and read by ahel’s review.

STATUS: scaffold only. This skill ships as v0.1 with the workflow documented but NOT yet runnable. Activation is gated on:

  1. brew install ffmpeg (the CLI dependency for cuts)
  2. npm install -g @remotion/cli (the composition layer)
  3. VideoDB API key registered in .claude/apis/videodb-api-key.txt (the indexing layer)
  4. First proving run: produce a 60-second LinkedIn vertical from a recent GTM Engineer Pulse podcast episode

Sourced from 2026-05-17 MCP Market /steal Item D — consolidates the four upstream patterns ai-video-production-pipeline, videodb-for-claude-code, ai-video-editing-workflow-1, video-editing-workflow-1 into one orchestrated Genesys skill.


Why this skill exists

product-ui-frames and onboarding-video render HTML compositions to MP4 via Hyperframes — perfect for product UI animation, useless for editing actual filmed footage. Anything that involves real video sources (podcast cuts, webinar highlights, founder interview clips, customer testimonial videos) falls outside our current stack.

This skill closes the real-footage gap. It's the production pipeline that gtme-podcast was always missing.


When to use

Invoke when user says:

  • "Cut this podcast into a 60-second LinkedIn vertical"
  • "Make a YouTube short from the [topic] section of [episode]"
  • "Produce a cliplet of [guest] talking about [thing]"
  • "Auto-edit this podcast episode for the punchiest segments"
  • "Scrub this video for [keyword] and cut a 90-second clip"

Do NOT invoke when:

  • The source is HTML/UI composition → use /product-ui-frames or /onboarding-video
  • The source is just an audio file (no video) → use /transcript-analysis + downstream content skills
  • The user wants a script for a video that doesn't exist yet → use /youtube-scripts or /gtme-podcast

Input requirements

InputRequiredSource
Source video file (mp4, mov) or URLRequiredUser
Brand kitRequiredbrand-kit output (the colors, fonts, overlay specs)
Intent: what segment, what platformRequiredUser ("60-second LinkedIn vertical of the agent-dispatch section")
Transcript or transcript-search queryRecommendedtranscript-analysis output or user query
Product messaging contextRecommendedproduct-messaging for hook framing
Target platform specRequiredLinkedIn vertical (9:16, ≤60s), YouTube short (9:16, ≤60s), LinkedIn square (1:1, ≤90s), or custom

The four-layer pipeline

Phase 1 — AI plans the edit (from transcript + intent)

  1. Load the source's transcript (from transcript-analysis output or generate via VideoDB transcribe).
  2. From the intent, identify the target segment (e.g., "the 60 seconds where the guest talks about why agents loop").
  3. Use VideoDB semantic search to surface the timestamp range matching the intent.
  4. Produce a structured edit plan:
    • Source in-point + out-point (HH:MM:SS.mmm)
    • Hook frame (the 1-2 second moment that opens the cut)
    • Caption track (verbatim from transcript, time-aligned)
    • Brand overlay specs (logo placement, color frame, end-card)
    • Aspect-ratio decision (9:16 vertical letterbox vs 1:1 square center-crop)

Cost gate: VideoDB transcribe + semantic search = .claude/rules/videodb-credits.md applies. Estimate before running.

Phase 2 — FFmpeg executes the cut

  1. From the AI edit plan, generate the FFmpeg command:
    • ffmpeg -i source.mp4 -ss [in] -to [out] -vf "[aspect-ratio filter]" -c:a copy intermediate.mp4
  2. Run the cut (deterministic, no AI cost).
  3. Verify output duration matches plan ±0.5 sec.

Phase 3 — Remotion composes brand frames + captions

  1. Load brand-kit tokens (colors, fonts, logo path, end-card template).
  2. Generate Remotion composition that overlays:
    • Brand frame (color border, logo top-left)
    • Captions (time-aligned, burned-in for vertical platforms)
    • End-card (last 2 seconds: brand mark + CTA)
  3. Render: npx remotion render src/composition.tsx./out/final.mp4.

Phase 4 — VideoDB indexes the source for reuse

  1. Upload the source video to VideoDB (if not already indexed).
  2. Tag with metadata: source type (podcast / webinar / interview), date, guest, topics from transcript.
  3. Store the index entry so future /video-pipeline runs can search "already indexed" before re-uploading.

Cost gate: Indexing has a per-minute fee. See .claude/rules/videodb-credits.md.


Quality gate before ship

Per design-production.md skill authorship contract, every video-output skill must pass:

  • Output duration ≤ target cap (60s for LinkedIn vertical / YouTube short, 90s for LinkedIn square)
  • Aspect ratio matches platform spec (9:16 vertical, 1:1 square, etc.)
  • Captions are time-aligned and verbatim from transcript
  • Brand frame uses brand-kit tokens (no hardcoded colors)
  • End-card includes CTA + brand mark
  • No copyrighted music or audio in the cut (verify source rights)
  • VideoDB index entry created with proper metadata tags
  • Cost matches estimate within 20% (verify against .claude/rules/videodb-credits.md budget)

Anti-patterns

  • ❌ Skipping Phase 4 (indexing). Re-indexing the same source costs credits next time. Always index on first cut.
  • ❌ Running auto-edit during exploration. Sketch the cut in transcript form (Phase 1) first; only then commit to the cut.
  • ❌ Hardcoded brand colors in the Remotion composition. Always reference brand-kit tokens.
  • ❌ Burning captions in for desktop platforms. Vertical (LinkedIn vertical, YouTube short, TikTok) = burned-in; desktop (YouTube long, LinkedIn newsfeed image) = subtitle file.
  • ❌ Using VideoDB for sources you'll only cut once. If it's truly one-shot, transcribe via cheaper means and skip the index pass.

Chain suggestions

After producing a cliplet:

  • "Want me to draft the LinkedIn post that ships with this cliplet?" → /linkedin-content-guide + the cliplet path
  • "Should I create the YouTube-short metadata (title, description, hashtags)?" → /youtube-scripts adaptation
  • "Should I cascade this into other platform formats?" → /content-operations Platform-Native Adaptation Matrix

Final ship gate

Run /premortem --output before ship. See /premortem skill for the 5 execution domains (will-it-resonate / will-it-convert / will-it-stay-on-brand / will-stakeholder-push-back / will-it-degrade-over-time) and output template.

Trivial-case escape: ## Premortem\nNo failure modes — trivial change satisfies the contract for genuinely trivial outputs.


Signals

GitHub stars
36
Forks
14
Last commit
Jul 2026
Advanced
Catalog kind
skill
Gateway key
video-pipeline
Source
github.com/matteotitta/genesys-skills