← All skills
product-launch-video
75 / 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 freekmurze/dotfiles (GitHub) · media · 1,020 stars · scanned at commit 26bd6ac
Turn a product or marketing URL, pasted script, or brief into a product launch / promo video — SaaS promos, feature reveals, product demos, app and company launches. Use when the user wants to market, launch, promote, or reveal a product; the default for any commercial URL. Site tours / showcases of a website route here too — the brief carries the show-it-as-is intent. Unclear → /hyperframes.
Works with any agent that supports SKILL.md skills.
What this skill can do
Downloads and installs other software
The author does not mention this.
Found in 10 places.
Show 7 more
- config/claude/skills/product-launch-video/SKILL.md, line 57
Run capture with: `npx hyperframes capture "<URL>" -o ./capture --json`. Keep the default - config/claude/skills/product-launch-video/SKILL.md, line 151
**Search the live catalog before you design any named look.** For every look, effect, treatment or transition the brief names — "CRT scanlines", "glitch", "film - config/claude/skills/product-launch-video/SKILL.md, line 215
`npx hyperframes lint` - config/claude/skills/product-launch-video/SKILL.md, line 217
`npx hyperframes check` - config/claude/skills/product-launch-video/SKILL.md, line 219
`npx hyperframes snapshot --at <frame-midpoints-and-each-cut-minus-0.1s-and-plus-0.2s>` - config/claude/skills/product-launch-video/SKILL.md, line 227
Preview: `npx hyperframes preview --background` - config/claude/skills/product-launch-video/SKILL.md, line 231
`npx hyperframes render --skill=product-launch-video --quality high --output renders/video.mp4`
Connects to the internet
The author does not mention this. Expected for a media skill.
Found in 1 place.
Runs commands on your computer
The author does not mention this.
Found in 28 places.
Show 17 more
- config/claude/skills/product-launch-video/scripts/assemble-index.mjs, line 100
const ff = spawnSync( - config/claude/skills/product-launch-video/scripts/assemble-index.test.mjs, line 5
import { spawnSync } from "node:child_process"; - config/claude/skills/product-launch-video/scripts/assemble-index.test.mjs, line 10
spawnSync("ffmpeg", ["-version"], { stdio: "ignore" }).status === 0 && - config/claude/skills/product-launch-video/scripts/assemble-index.test.mjs, line 11
spawnSync("ffprobe", ["-version"], { stdio: "ignore" }).status === 0; - config/claude/skills/product-launch-video/scripts/assemble-index.test.mjs, line 32
const r = spawnSync( - config/claude/skills/product-launch-video/scripts/assemble-index.test.mjs, line 94
const gen = spawnSync( - config/claude/skills/product-launch-video/scripts/assemble-index.test.mjs, line 120
const probe = spawnSync( - config/claude/skills/product-launch-video/scripts/audio.mjs, line 23
import { spawnSync } from "node:child_process"; - config/claude/skills/product-launch-video/scripts/audio.mjs, line 85
const r = spawnSync("node", args, { stdio: "inherit" }); - config/claude/skills/product-launch-video/scripts/audio.test.mjs, line 5
import { spawnSync } from "node:child_process"; - config/claude/skills/product-launch-video/scripts/audio.test.mjs, line 24
const result = spawnSync( - config/claude/skills/product-launch-video/scripts/audio.test.mjs, line 86
const result = spawnSync( - config/claude/skills/product-launch-video/scripts/audio.test.mjs, line 170
const result = spawnSync( - config/claude/skills/product-launch-video/scripts/build-frame-subsets.test.mjs, line 2
import { execFileSync } from "node:child_process"; - config/claude/skills/product-launch-video/scripts/build-frame-subsets.test.mjs, line 35
execFileSync( - config/claude/skills/product-launch-video/scripts/media-contract.test.mjs, line 7
import { spawnSync } from "node:child_process"; - config/claude/skills/product-launch-video/scripts/media-contract.test.mjs, line 32
const result = spawnSync(
and 8 more places
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/'product-launch-video' ] || [ -L ~/.agents/skills/'product-launch-video' ]; then echo 'A skill folder named product-launch-video already exists — not replacing it' >&2; false; else d=$(mktemp -d) && git clone --quiet --filter=blob:none --no-checkout 'https://github.com/freekmurze/dotfiles' "$d" && git -C "$d" checkout --quiet '26bd6ac3c4ef9afd949dc1de12d96fddc2548710' -- 'config/claude/skills/product-launch-video' && mkdir -p ~/.agents/skills && cp -R "$d"/'config/claude/skills/product-launch-video' ~/.agents/skills/'product-launch-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/'product-launch-video' ~/.claude/skills/'product-launch-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 freekmurze/dotfiles shows the score of its lowest-scoring skill.

[](https://zalavijaysinh.github.io/skilltrust/repos/freekmurze/dotfiles/)
Score history
| Date | Version | Score |
|---|
| 2026-11-13 | 26bd6ac | 75 |