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.sh
Example 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.sh
Locate another skill directory
bash <skill_directory>/scripts/locate-skill.sh --skill speech-captions
List detected tools only
bash <skill_directory>/scripts/detect-tools.sh
Resolve 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 IDScriptCommon flags
install-media-tools.detect_toolsdetect-tools.sh—
install-media-tools.doctordoctor.sh—
install-media-tools.installinstall.sh—
install-media-tools.locate_skilllocate-skill.sh—
install-media-tools.whichwhich.sh—

Do not use for

  • Media processing itself (install tools, then use other skills)
  • Windows auto-install (manual ffmpeg/uv install on Windows)