← All skills
scenario-kinetic-music-video
77 / 100 · Review before installing
Check before installing. Some of what it can do is expected: a media skill usually calls an AI service over the internet.
By scenario-labs/skills (GitHub) · media · 3,675 stars · scanned at commit b96506d
Use when turning a song into a kinetic-typography or motion-design music video, lyric video, visualizer or K-pop style MV with Scenario, landscape or vertical 9:16 for TikTok, Reels and Shorts: a generated subject sheet, style frames and footage, plus a deterministic JavaScript/three.js engine for lyric type, mattes and tracked graphics timed to sung onsets. Also for revising, recutting or cutting teasers from such a video. Not for a brief-led launch film (scenario-kinetic-film).
Works with any agent that supports SKILL.md skills.
What this skill can do
Sends data to these websites: raw.githubusercontent.com
This is disclosed by the author in the skill's SKILL.md or README. Expected for a media skill.
Found in 11 places.
Show 8 more
- skills/scenario-kinetic-music-video/assets/engine/core.js, line 530
v.track = await (await fetch(`/assets/video/${clip}/track.json`)).json(); - skills/scenario-kinetic-music-video/assets/engine/main.js, line 340
fetch("/engine/data/audio.json").then((r) => r.json()), - skills/scenario-kinetic-music-video/assets/engine/main.js, line 341
fetch("/engine/data/lyrics.json").then((r) => r.json()), - skills/scenario-kinetic-music-video/references/pipeline.md, line 51
`curl -fsS -X PUT -T file '<url>'` (no checksum headers), then `upload_asset_complete(upload_id)`. - skills/scenario-kinetic-music-video/references/pipeline.md, line 90
- Download with `asset_download` → `curl -L`. Always look at the results before going on. - skills/scenario-kinetic-music-video/scripts/audio_analysis.py, line 5
import sys, os, json, hashlib, subprocess, urllib.request, numpy as np, librosa - skills/scenario-kinetic-music-video/scripts/audio_analysis.py, line 44
urllib.request.urlretrieve(CKPT_URL, CKPT + '.part') - skills/scenario-kinetic-music-video/scripts/scaffold.sh, line 48
curl -fsSL "https://raw.githubusercontent.com/google/fonts/$FONTS_REV/ofl/$1" -o "$3.part" || {
Runs commands on your computer
The author does not mention this.
Found in 18 places.
Show 15 more
- skills/scenario-kinetic-music-video/scripts/dynamism_check.py, line 92
'-c:v', 'ppm', '-'], stdout=subprocess.PIPE, stderr=subprocess.DEVNULL) - skills/scenario-kinetic-music-video/scripts/dynamism_check.py, line 114
p = subprocess.Popen(['ffmpeg', '-nostdin', '-v', 'error', '-i', video, '-vf', vf, '-f', 'rawvideo', - skills/scenario-kinetic-music-video/scripts/dynamism_check.py, line 115
'-pix_fmt', 'rgb24', '-'], stdout=subprocess.PIPE) - skills/scenario-kinetic-music-video/scripts/dynamism_check.py, line 394
r = subprocess.run(['node', '--input-type=module', '-e', TIMELINE_JS, path], capture_output=True, text=True) - skills/scenario-kinetic-music-video/scripts/dynamism_check.py, line 534
subprocess.run(['ffmpeg', '-nostdin', '-y', '-v', 'error', '-ss', f'{max(0.0, t):.3f}', '-t', '1', '-i', video, - skills/scenario-kinetic-music-video/scripts/matte_keyed.py, line 28
subprocess.run(['ffmpeg', '-loglevel', 'error', '-y', '-i', keyed, '-vf', - skills/scenario-kinetic-music-video/scripts/prep_video.py, line 12
subprocess.run(['ffmpeg','-loglevel','error','-y','-i',a.src,'-vf',f'fps={a.fps},scale={a.width}:-2:flags=lanczos','-q:v','2',f'{out}/f_%05d.jpg'], check=True) - skills/scenario-kinetic-music-video/scripts/prep_video.py, line 14
pr = json.loads(subprocess.run(['ffprobe','-v','error','-show_entries','stream=width,height,duration,r_frame_rate','-of','json',f'{a.src}'],capture_output=True, - skills/scenario-kinetic-music-video/scripts/rectify_screen.py, line 32
r = subprocess.run(['ffmpeg', '-nostdin', '-v', 'error', '-i', src, '-frames:v', '1', '-f', 'image2pipe', - skills/scenario-kinetic-music-video/scripts/rectify_screen.py, line 44
p = subprocess.Popen(cmd + ['-vf', f'fps={fps}', '-f', 'rawvideo', '-pix_fmt', 'bgr24', '-'], stdout=subprocess.PIPE) - skills/scenario-kinetic-music-video/scripts/rectify_screen.py, line 217
enc = subprocess.Popen(['ffmpeg', '-nostdin', '-v', 'error', '-y', '-f', 'rawvideo', '-pix_fmt', 'bgr24', '-s', - skills/scenario-kinetic-music-video/scripts/rectify_screen.py, line 219
'yuv420p', '-an', a.out], stdin=subprocess.PIPE) - skills/scenario-kinetic-music-video/scripts/render.mjs, line 4
import { spawn } from "node:child_process"; - skills/scenario-kinetic-music-video/scripts/still.mjs, line 6
import { spawnSync } from "node:child_process"; - skills/scenario-kinetic-music-video/scripts/still.mjs, line 66
const r = spawnSync(".venv/bin/python", [
Downloads and installs other software
The author does not mention this.
Found in 1 place.
Safer alternatives
Low-risk skills in the same category (media) that look related. Check that one does what you need.
Install
Paste this into your terminal. It downloads exactly the version we scanned, not whatever is newest.
if [ -e ~/.agents/skills/'scenario-kinetic-music-video' ] || [ -L ~/.agents/skills/'scenario-kinetic-music-video' ]; then echo 'A skill folder named scenario-kinetic-music-video already exists — not replacing it' >&2; false; else d=$(mktemp -d) && git clone --quiet --filter=blob:none --no-checkout 'https://github.com/scenario-labs/skills' "$d" && git -C "$d" checkout --quiet 'b96506d77c8595a4fe9c66eddb0bf9b5953a1d45' -- 'skills/scenario-kinetic-music-video' && mkdir -p ~/.agents/skills && cp -R "$d"/'skills/scenario-kinetic-music-video' ~/.agents/skills/'scenario-kinetic-music-video' && rm -rf "$d"; fi
Codex reads ~/.agents/skills directly. For Claude Code, Cursor, Copilot, Gemini CLI, Antigravity or OpenCode, also link it. For Claude Code: ln -s ~/.agents/skills/'scenario-kinetic-music-video' ~/.claude/skills/'scenario-kinetic-music-video' (other agents: ~/.cursor/skills, ~/.copilot/skills, ~/.gemini/skills, ~/.gemini/config/skills, ~/.config/opencode/skills). Or install through the finder skill, which does both.
Badge for your README
The badge for scenario-labs/skills shows the score of its lowest-scoring skill.

[](https://zalavijaysinh.github.io/skilltrust/repos/scenario-labs/skills/)
Score history
| Date | Version | Score |
|---|
| 2026-11-11 | b96506d | 77 |
| 2026-11-08 | f38c3e8 | 77 |
| 2026-11-07 | a4a8409 | 77 |