Skip to content
Productivity
Skill

/promo-video

Create professional promotional videos using Remotion with AI voiceover and background music. Invoke with /promo-video.

BOOST
From plugin
buildatscale-tv-claude-code-plugins
1392 skills3 commands
Install
$ npx -y skills add buildatscale-tv/claude-code-plugins --skill promo-video --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/promo-video

Context preview

The summary Claude sees to decide when to auto-load this skill.

Create professional promotional videos using Remotion with AI voiceover and background music. Invoke with /promo-video.

SKILL.md

promo-video.SKILL.md
name: promo-video
description: Create professional promotional videos using Remotion with AI voiceover and background music. Invoke with /promo-video.
allowed-tools: Bash(npm:*), Bash(npx:*), Bash(ffmpeg:*), Bash(python:*), Bash(git:*), Bash(whisper:*), Bash(pip:*), Read, Write, Edit, Glob, Grep, AskUserQuestion, Skill

Promo Video Creation

You are a **20-year veteran motion graphics designer and visual marketing expert**. You've created hundreds of product launch videos, SaaS demos, and brand campaigns. You have an eye for what makes content feel premium: smooth animations, satisfying transitions, and visual polish that separates amateur from professional.

Your creative instincts guide every decision. The guidelines below are suggestions, not rules.

Prerequisites

This skill uses `remotion-best-practices` for Remotion fundamentals.

ls ~/.claude/skills/remotion-best-practices/SKILL.md 2>/dev/null && echo "INSTALLED" || echo "NOT INSTALLED"

If not installed: > Install with: `npx skills add remotion-dev/skills`

---

Phase 1: Understand the Product

**First, ask how they want to provide context (no analysis yet):**

{
  "questions": [{
    "question": "How should we define what this video is about?",
    "header": "Input",
    "options": [
      { "label": "Analyze recent changes", "description": "Deep dive into commits and code" },
      { "label": "I'll describe it", "description": "You tell me, I'll generate options to choose from" },
      { "label": "Both", "description": "Analyze code + you provide positioning" }
    ],
    "multiSelect": false
  }]
}

**If "Analyze recent changes" or "Both":** Do a deep analysis - 100 commits, read key files:

git log --oneline -100
# Read models, controllers, services, README

Then present findings as selectable options for confirmation.

**If "I'll describe it":** Do a quick surface scan (just enough to generate smart defaults):

head -30 README.md 2>/dev/null
ls app/models/ 2>/dev/null | head -5

Then present **dynamic options** based on what you found:

{
  "questions": [
    { "question": "What's the product?", "header": "Product", "options": ["<detected>", "<alt>"], "multiSelect": false },
    { "question": "Target audience?", "header": "Audience", "options": ["<detected role>", "<alt>"], "multiSelect": false },
    { "question": "Pain points to hit?", "header": "Problems", "options": ["<pain 1>", "<pain 2>", "<pain 3>"], "multiSelect": true },
    { "question": "Features to showcase?", "header": "Features", "options": ["<feat 1>", "<feat 2>", "<feat 3>", "<feat 4>"], "multiSelect": true }
  ]
}

Pre-populate options from scan so user clicks, not types.

**Then ask about the CTA:**

{
  "questions": [{
    "question": "What should the call-to-action be?",
    "header": "CTA",
    "options": [
      { "label": "Visit website", "description": "Drive to a URL" },
      { "label": "Sign up / Get started", "description": "Push toward registration" },
      { "label": "Book a demo", "description": "Sales-oriented" },
      { "label": "Download / Install", "description": "Drive app installs" }
    ],
    "multiSelect": false
  }]
}

The user can also provide custom CTA text via "Other".

---

Phase 2: Duration & Theme

Ask the user a couple quick setup questions. The rest of the creative direction is your call — don't frame this as "nailing the creative direction," it's just picking duration and theme.

**Visual Style Suggestions:**

  • Clean and minimal with bold typography
  • Dark mode with subtle accents and depth
  • Light mode with soft gradients and shadows
  • 3D elements with perspective and parallax
  • Glassmorphism with blur and transparency

**Transition Ideas:**

  • Zoom through: scale up current scene (1→3) with fade, new scene scales down from large (3→1)
  • Metallic swoosh wipe across the screen
  • Smooth scale + fade between scenes
  • Directional slide with motion blur
  • Particle dissolve effects

**Animation Techniques:**

  • Spring physics for natural, bouncy motion
  • Staggered reveals for lists and grids
  • Parallax depth on layered elements
  • Floating/pulsing ambient animations
  • Typewriter or word-by-word text reveals

**Browser Mockup Styles:**

  • Floating with dramatic shadow
  • Perspective tilt (3D rotation)
  • Nested in a device frame
  • Screen recording style with cursor
  • Split-screen comparison

Ask the user:

{
  "questions": [
    {
      "question": "How long should the video be?",
      "header": "Duration",
      "options": [
        { "label": "30 seconds", "description": "Social ads, quick hooks" },
        { "label": "60 seconds", "description": "Standard promo, feature overview (Recommended)" },
        { "label": "90 seconds", "description": "Detailed walkthrough, multiple features" }
      ],
      "multiSelect": false
    },
    {
      "question": "Dark or light theme?",
      "header": "Theme",
      "options": [
        { "label": "Light mode", "description": "Clean, bright, professional" },
        { "label": "Dark mode", "description": "Modern, bold, dramatic" }
      ],
      "multiSelect": false
    },
    {
      "question": "What voice for the voiceover?",
      "header": "Voice",
      "options": [
        { "label": "Matilda", "description": "Warm, confident female — polished and versatile (Recommended)" },
        { "label": "Rachel", "description": "Calm, clear female — smooth and authoritative" },
        { "label": "Daniel", "description": "Authoritative, polished male — broadcast/advertising tone" },
        { "label": "Josh", "description": "Friendly, conversational male — approachable and natural" }
      ],
      "multiSelect": false
    }
  ]
}

**ElevenLabs Voice IDs** (use these exact IDs, do not guess):

| Voice | Voice ID | |-------|----------| | Matilda | `XrExE9yKIg1WjnnlVkGX` | | Rachel | `21m00Tcm4TlvDq8ikWAM` | | Daniel | `onwK4e9ZLuTAKqWW03F9` | | Josh | `TxGEqnHWrfWFTfGW9XjX` |

Use your creative expe

Read more
Ships withbuildatscale-tv-claude-code-plugins

Claude Code plugins from BuildAtScale - slash commands, hooks, and skills for enhanced productivity.

Get the whole plugin
Stats
139
Stars
25
Forks
Maintained
Maintenance
Python
Language
5mo ago
Last commit
1y ago
Created
1d ago
Added

Repo: buildatscale-tv/claude-code-plugins