← All skills
making-videos
69 / 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 drsh4dow/pi-setup (GitHub) · media · 10 stars · scanned at commit f793659
Narrated videos end to end: brief, script, voice, capture of a web, Android or iOS app, composed motion graphics, cut, mix, and checks on the exported file. Use when the user asks for a video, walkthrough, demo, tutorial, promo, or recorded proof of a change.
Works with any agent that supports SKILL.md skills.
What this skill can do
Runs commands on your computer
This is disclosed by the author in the skill's SKILL.md or README.
Found in 44 places.
Show 17 more
- agent/skills/making-videos/scripts/_media.py, line 111
subprocess.run(["ffmpeg", "-v", "error", "-y", "-f", "f32le", "-ar", str(sr), "-ac", "1", "-i", "-", str(path)], - agent/skills/making-videos/scripts/_media.py, line 129
raw = subprocess.run(["ffmpeg", "-v", "error", "-ss", f"{max(0.0, t - 1 / fps):.4f}", "-i", str(path), - agent/skills/making-videos/scripts/_media.py, line 189
enc = subprocess.Popen(cmd, stdin=subprocess.PIPE) - agent/skills/making-videos/scripts/cdp.mjs, line 16
import { spawn } from "node:child_process"; - agent/skills/making-videos/scripts/cut.py, line 416
subprocess.run(["ffmpeg", "-v", "error", "-y", "-i", str(self.out), "-i", str(srt), "-map", "0", "-map", "1", - agent/skills/making-videos/scripts/cut.py, line 437
self.proc = subprocess.Popen(["ffmpeg", "-v", "error", "-ss", f"{start:.3f}", "-i", str(tk.path), "-f", "rawvideo", - agent/skills/making-videos/scripts/cut.py, line 438
"-pix_fmt", "rgb24", "-"], stdout=subprocess.PIPE) - agent/skills/making-videos/scripts/cut.py, line 469
subprocess.run([str(here / "narrate.py"), str(d / "script.json"), "--voice", "captions"], check=True, - agent/skills/making-videos/scripts/cut.py, line 530
r = subprocess.run([sys.executable, str(here / script), str(d / "timeline.json"), "--out", str(d / "checks"), - agent/skills/making-videos/scripts/cut.py, line 543
subs = subprocess.run(["ffprobe", "-v", "error", "-select_streams", "s", "-show_entries", "stream=codec_name", - agent/skills/making-videos/scripts/drive.py, line 43
def run_ab(args: list[str], timeout: float = 120) -> subprocess.CompletedProcess: - agent/skills/making-videos/scripts/drive.py, line 44
return subprocess.run(["agent-browser", *args], capture_output=True, text=True, timeout=timeout) - agent/skills/making-videos/scripts/drive.py, line 206
r = subprocess.run(["node", str(HERE / "cdp.mjs"), "wheel", "--ws", ws, "--match", self.wheel_target(), - agent/skills/making-videos/scripts/drive.py, line 265
except (RuntimeError, subprocess.TimeoutExpired) as e: - agent/skills/making-videos/scripts/drive.py, line 271
frames = subprocess.run(["ffprobe", "-v", "error", "-count_frames", "-select_streams", "v:0", "-show_entries", - agent/skills/making-videos/scripts/drive.py, line 273
frozen = subprocess.run(["ffmpeg", "-hide_banner", "-nostats", "-i", str(mp4), "-vf", "freezedetect=n=-60dB:d=1.5", - agent/skills/making-videos/scripts/framediff.py, line 36
p = subprocess.Popen(["ffmpeg", "-v", "error", "-i", str(path), "-map", "0:v", "-vf", f"scale={W}:{H},format=gray",
and 24 more places
Sends data to these websites: api.elevenlabs.io
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
- agent/skills/making-videos/scripts/tts.py, line 42
import http.client - agent/skills/making-videos/scripts/tts.py, line 51
import urllib.request - agent/skills/making-videos/scripts/tts.py, line 102
class _NoRedirect(urllib.request.HTTPRedirectHandler): - agent/skills/making-videos/scripts/tts.py, line 107
_open = urllib.request.build_opener(_NoRedirect).open - agent/skills/making-videos/scripts/tts.py, line 119
req = urllib.request.Request(url, data=json.dumps(body).encode(), method="POST", - agent/skills/making-videos/scripts/tts.py, line 133
except (OSError, http.client.HTTPException) as e: - agent/skills/making-videos/scripts/window.py, line 46
import urllib.request - agent/skills/making-videos/scripts/window.py, line 108
urllib.request.urlopen(f"http://127.0.0.1:{port}/json/version", timeout=1).read()
Can call paid AI services billed to you
The author does not mention this. Expected for a media skill.
Found in 3 places.
Downloads and installs other software
The author does not mention this.
Found in 7 places.
Show 4 more
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/'making-videos' ] || [ -L ~/.agents/skills/'making-videos' ]; then echo 'A skill folder named making-videos already exists — not replacing it' >&2; false; else d=$(mktemp -d) && git clone --quiet --filter=blob:none --no-checkout 'https://github.com/drsh4dow/pi-setup' "$d" && git -C "$d" checkout --quiet 'f7936596c1ba2e1472dadccc3f111b9d517fa96c' -- 'agent/skills/making-videos' && mkdir -p ~/.agents/skills && cp -R "$d"/'agent/skills/making-videos' ~/.agents/skills/'making-videos' && 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/'making-videos' ~/.claude/skills/'making-videos' (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 drsh4dow/pi-setup shows the score of its lowest-scoring skill.

[](https://zalavijaysinh.github.io/skilltrust/repos/drsh4dow/pi-setup/)
Score history
| Date | Version | Score |
|---|
| 2026-11-10 | f793659 | 69 |