ncklrs/startup-os-skills/remotion-asset-coordinator

Claude Code and agent skill by ncklrs/startup-os-skills

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Bridges asset requirements from motion design specs to production-ready assets. Parses specs for required assets, recommends free/paid sources, provides format conversion guidance, generates validated import code, and offers asset preparation checklists. Use when preparing assets for Remotion projects or when asked "where to get assets", "how to prepare assets", "asset formats for Remotion".

Install

npx vskill@latest install ncklrs/startup-os-skills/remotion-asset-coordinator

SKILL.md

Remotion Asset Coordinator

Streamlines the asset preparation workflow from motion design specs to production-ready files. Identifies requirements, recommends sources, guides optimization, and generates proper import code.

What This Skill Does

Coordinates the complete asset lifecycle:

  1. Requirement extraction — Parse specs for all asset needs
  2. Source recommendations — Suggest free/paid asset sources
  3. Format guidance — Recommend optimal formats for each asset type
  4. Preparation workflows — Step-by-step asset prep instructions
  5. Import code generation — Create validated staticFile imports
  6. Quality validation — Verify assets meet production standards

Input/Output Formats

Input Format: VIDEO_SPEC.md OR CODE_SCAFFOLD.md

This skill accepts either:

Option 1: VIDEO_SPEC.md (from /motion-designer)

markdown
# Video Title
## Assets Required
### Images
-Logo (800x800, transparent background)
-Product photo (1920x1080)
### Audio
-Background music (full duration, 0.4 volume)
-Whoosh sound effect (5s mark, 0.6 volume)
### Fonts
-Inter (weights: 400, 600, 700)

Option 2: CODE_SCAFFOLD.md (from /remotion-spec-translator)

markdown
## TODO Markers
-[ ] **Assets Required**
-[ ] Add `public/logo.png` (800x800)
-[ ] Add `public/audio/background.mp3`
-[ ] Add `public/audio/whoosh.mp3`
Output Format: ASSET_MANIFEST.md

Generates a comprehensive asset preparation manifest:

markdown
# Asset Manifest: [Video Title]
## Status Overview
-🔴 Not Started: 3 assets
-🟡 In Progress: 0 assets
-🟢 Ready: 0 assets
**Progress:** 0/3 assets ready
## Required Assets
### Images (2 required)
#### 1. Logo
-**Status:** 🔴 Not Started
-**File Path:** `public/images/logo.png`
-**Specifications:**
-Format: PNG (transparency required)
-Dimensions: 800x800 pixels (2x for retina)
-Display size: 400x400px
-File size target: < 200KB
-**Source Recommendations:**
-Option 1: Export from Figma/design tool
-Option 2: Create in Photoshop/Illustrator
-Optimization: Use pngquant or tinypng.com
-**Preparation Steps:**
1.Export at 800x800 resolution
2.Ensure transparent background
3.Optimize with `pngquant --quality=80-95 logo.png`
4.Verify file size < 200KB
5.Save to `public/images/logo.png`
-**Import Code:**
```typescript
import { Img, staticFile } from 'remotion';
<Img
src={staticFile('images/logo.png')}
alt="Logo"
style={{
width: 400,
height: 400,
}}
/>
```
#### 2. Product Photo
-**Status:** 🔴 Not Started
-**File Path:** `public/images/product.jpg`
-**Specifications:**
-Format: JPEG (no transparency needed)
-Dimensions: 1920x1080 pixels
-Quality: 85-90%
-File size target: < 500KB
-**Source Recommendations:**
-Option 1: Unsplash (free, high-quality) - https://unsplash.com
-Option 2: Pexels (free) - https://pexels.com
-Option 3: Custom photography
-**Preparation Steps:**
1.Download or shoot at 1920x1080+
2.Edit/crop to exact 1920x1080
3.Export as JPEG 85-90% quality
4.Verify file size < 500KB
5.Save to `public/images/product.jpg`
-**Import Code:**
```typescript
import { Img, staticFile } from 'remotion';
<Img
src={staticFile('images/product.jpg')}
style={{
width: '100%',
height: '100%',
objectFit: 'cover',
}}
/>
```
### Audio (2 required)
#### 3. Background Music
-**Status:** 🔴 Not Started
-**File Path:** `public/audio/music/background.mp3`
-**Specifications:**
-Format: MP3
-Duration: 30 seconds
-Bitrate: 192-256 kbps
-Sample rate: 44.1 kHz or 48 kHz
-Channels: Stereo
-**Source Recommendations:**
-Option 1: YouTube Audio Library (free) - https://studio.youtube.com
-Option 2: Incompetech (free, attribution) - https://incompetech.com
-Option 3: Epidemic Sound (paid) - https://epidemicsound.com
-**Preparation Steps:**
1.Download/purchase 30s music track
2.Trim to exactly 30 seconds if needed
3.Convert to MP3 if needed: `ffmpeg -i input.wav -b:a 192k output.mp3`
4.Apply fade out at end if needed
5.Save to `public/audio/music/background.mp3`
-**Import Code:**
```typescript
import { Audio, staticFile, useVideoConfig } from 'remotion';
const { durationInFrames } = useVideoConfig();
<Audio
src={staticFile('audio/music/background.mp3')}
volume={0.4}
startFrom={0}
endAt={durationInFrames}
/>
```
#### 4. Whoosh Sound Effect
-**Status:** 🔴 Not Started
-**File Path:** `public/audio/sfx/whoosh.mp3`
-**Specifications:**
-Format: MP3
-Duration: 1-2 seconds
-Bitrate: 192 kbps
-Timing: Plays at 5s mark (frame 150 at 30fps)
-**Source Recommendations:**
-Option 1: Freesound (free, Creative Commons) - https://freesound.org
-Option 2: Zapsplat (free, attribution) - https://zapsplat.com
-Option 3: AudioJungle (paid) - https://audiojungle.net
-**Preparation Steps:**
1.Download whoosh/transition sound effect
2.Trim to 1-2 seconds
3.Normalize volume if needed
4.Convert to MP3: `ffmpeg -i input.wav -b:a 192k whoosh.mp3`
5.Save to `public/audio/sfx/whoosh.mp3`
-**Import Code:**
```typescript
import { Audio, Sequence, staticFile } from 'remotion';
<Sequence from={150} durationInFrames={60}>
<Audio
src={staticFile('audio/sfx/whoosh.mp3')}
volume={0.6}
/>
</Sequence>
```
### Fonts (1 required)
#### 5. Inter Font
-**Status:** 🟢 Ready (Google Font)
-**Weights Needed:** 400 (Regular), 600 (Semibold), 700 (Bold)
-**Source:** Google Fonts via @remotion/google-fonts
-**Installation:**
```bash
npm install @remotion/google-fonts
```
-**Import Code:**
```typescript
import { loadFont } from '@remotion/google-fonts/Inter';
const { fontFamily } = loadFont({
weights: ['400', '600', '700'],
});
<div style={{
fontFamily,
fontWeight: 600,
}}>
Text content
</div>
```
## Directory Structure
Create this folder structure in your project:

public/ ├── images/ │ ├── logo.png # 🔴 Required │ └── product.jpg # 🔴 Required └── audio/ ├── music/ │ └── background.mp3 # 🔴 Required └── sfx/ └── whoosh.mp3 # 🔴 Required

## Quick Reference: Optimization Commands
### Images

Optimize PNG

pngquant --quality=80-95 input.png -o output.png

Convert to JPEG

magick input.png -quality 90 output.jpg

Resize image

magick input.png -resize 1920x1080 output.png

### Audio

Convert to MP3

ffmpeg -i input.wav -b:a 192k output.mp3

Trim audio

ffmpeg -i input.mp3 -ss 00:00:00 -t 00:00:30 -c copy output.mp3

Normalize volume

ffmpeg -i input.mp3 -filter:a "volume=1.5" output.mp3

## Quality Checklist
Before marking assets as ready:
- [ ] All files in correct directories
- [ ] File names match import paths exactly
- [ ] Image dimensions correct (2x for retina if needed)
- [ ] Image formats appropriate (PNG for transparency, JPEG for photos)
- [ ] Image file sizes optimized (< 500KB ideal)
- [ ] Audio files in MP3 format
- [ ] Audio durations correct
- [ ] Audio bitrates appropriate (192-256 kbps)
- [ ] Fonts installed and imported correctly
- [ ] All staticFile() paths tested
## Next Steps
1. **Gather assets** using source recommendations above
2. **Prepare assets** following preparation steps for each
3. **Validate quality** using the checklist
4. **Update status** to 🟢 Ready as assets are completed
5. **Implement code** using provided import snippets
6. **Run `/remotion-video-reviewer`** to verify asset integration

This document provides:

  • Complete asset inventory with specifications
  • Source recommendations (free and paid)
  • Step-by-step preparation workflows
  • Ready-to-use import code snippets
  • Quality validation checklist
  • Progress tracking (🔴 🟡 🟢)

Feeds into: Developer implementation → /remotion-video-reviewer for quality check

Asset Categories

Images

Types:

  • Product photos
  • Background images
  • Textures and patterns
  • Icons and illustrations
  • Logos and brand assets

Optimal Formats:

  • PNG: Logos, icons, text overlays (transparency needed)
  • JPEG: Photos, backgrounds (no transparency)
  • SVG: Simple graphics, icons (scalable, small file size)
  • WebP: Modern alternative, smaller file sizes

Recommendations:

typescript
// Logo (transparency required)
Format: PNG
Resolution: 2x intended display size (retina)
Example: 400x400 element → 800x800 PNG
// Product photo
Format: JPEG (85-90% quality)
Resolution: Exact or slightly larger than display
Example: 1920x1080 display → 1920x1080 or 2560x1440 JPEG
// Icon
Format: SVG (preferred) or PNG
Resolution: 2x display size if PNG
Videos

Types:

  • Background footage
  • Product demos
  • Screen recordings
  • Transitions

Optimal Formats:

  • MP4 (H.264): Best compatibility
  • WebM: Modern, smaller files
  • ProRes: High quality source footage

Recommendations:

typescript
// Background video
Format: MP4 (H.264)
Codec: H.264, High profile
Resolution: Match composition (1920x1080)
Bitrate: 5-10 Mbps
Frame rate: Match composition (30fps)
// Product demo
Format: MP4 (H.264)
Resolution: 1920x1080 or 3840x2160 (4K)
Bitrate: 10-20 Mbps
Alpha channel: Use ProRes 4444 if transparency needed
Audio

Types:

  • Background music
  • Sound effects (SFX)
  • Voiceover
  • Ambient texture

Optimal Formats:

  • MP3: Compressed, good compatibility
  • WAV: Uncompressed, best quality
  • AAC: Modern, better compression than MP3

Recommendations:

typescript
// Background music
Format: MP3 or AAC
Bitrate: 192-320 kbps
Sample rate: 44.1 kHz or 48 kHz
Channels: Stereo
// Sound effects
Format: WAV (for editing) → MP3 (for production)
Bitrate: 192 kbps (MP3)
Sample rate: 44.1 kHz
Channels: Stereo or Mono
Duration: Trim to exact needed length
// Voiceover
Format: WAV or MP3
Bitrate: 256-320 kbps
Sample rate: 48 kHz
Channels: Mono (sufficient for voice)
Fonts

Types:

  • Google Fonts (free, web-safe)
  • Custom fonts (brand-specific)
  • System fonts (fallbacks)

Recommendations:

typescript
// Google Fonts (preferred)
Method: Import via @remotion/google-fonts
Weights: Only import needed weights
Example: 400 (regular), 600 (semibold), 700 (bold)
// Custom fonts
Format: WOFF2 (best), WOFF, TTF
Location: /public/fonts/
Import: Via CSS @font-face

Asset Source Recommendations

Free Sources

Images & Illustrations:

  • Unsplash — High-quality photos (free, no attribution required)
  • Pexels — Photos and videos (free)
  • Pixabay — Photos, vectors, videos (free)
  • unDraw — Customizable illustrations (free, SVG)
  • Heroicons — Beautiful hand-crafted SVG icons (free)

Audio:

  • Freesound — Sound effects library (Creative Commons)
  • YouTube Audio Library — Music and SFX (free for commercial use)
  • Incompetech — Royalty-free music (attribution required)
  • Zapsplat — Free sound effects (attribution)

Fonts:

  • Google Fonts — 1400+ free fonts (web-safe)
  • Font Squirrel — Free fonts for commercial use
Paid/Premium Sources

Images:

  • Adobe Stock — Professional quality
  • Shutterstock — Massive library
  • Getty Images — Premium content

Audio:

  • Epidemic Sound — High-quality music library
  • Artlist — Unlimited music licensing
  • AudioJungle — Individual tracks, affordable

Fonts:

  • Adobe Fonts — Included with Creative Cloud
  • MyFonts — Massive font marketplace

Asset Preparation Workflows

Image Preparation
bash
# 1. Resize to appropriate dimensions
magick input.png -resize 1920x1080 output.png
# 2. Optimize PNG
pngquant --quality=80-95 input.png -o optimized.png
# 3. Convert to JPEG (if no transparency)
magick input.png -quality 90 output.jpg
# 4. Generate WebP (modern format)
magick input.png -quality 85 output.webp

This is the start of the file. Read the full SKILL.md on GitHub.

Security

  • Security scanPassed, 100 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
18
Repository forks
2
7-day trend score
15

Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 2 May 2026, 6 months ago.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/ncklrs/startup-os-skills/remotion-asset-coordinator/badge)](https://verified-skill.com/skills/ncklrs/startup-os-skills/remotion-asset-coordinator)

Something wrong with this skill or its page? Tell us.