Overview
Bash scripts only — no uv required. Uses python3 for JSON output (stdlib). install.sh may invoke brew or apt with elevated privileges on Linux.
Recipes
Copy-paste command sequences agents can run via uv run. Replace <skill_directory> with the absolute path of this skill (the folder that contains SKILL.md) — do not run scripts/… relative to cwd.
Check what's installed
bash <skill_directory>/scripts/doctor.shExample JSON output
{"ok": true, "op": "install-media-tools.doctor", "data": {"healthy": false, "installed": ["ffmpeg", "ffprobe"], "missing": ["convert", "exiftool", "tesseract", "yt-dlp", "uv"], "platform": "darwin"}, "output_paths": []}Install via script (macOS or Debian/Ubuntu)
bash <skill_directory>/scripts/install.shLocate another skill directory
bash <skill_directory>/scripts/locate-skill.sh --skill speech-captionsList detected tools only
bash <skill_directory>/scripts/detect-tools.shResolve a binary path
bash <skill_directory>/scripts/which.sh --tool ffmpeg
# or
bash <skill_directory>/scripts/which.sh --args '{"tool": "ffmpeg"}'Operations
Each script returns structured JSON — see the script contract.
| Op ID | Script | Common flags |
|---|---|---|
install-media-tools.detect_tools | detect-tools.sh | — |
install-media-tools.doctor | doctor.sh | — |
install-media-tools.install | install.sh | — |
install-media-tools.locate_skill | locate-skill.sh | — |
install-media-tools.which | which.sh | — |
Do not use for
- Media processing itself (install tools, then use other skills)
- Windows auto-install (manual ffmpeg/uv install on Windows)