davinci-resolve

Installation
SKILL.md

DaVinci Resolve (free, Linux)

The agent drives Resolve through the davinci-resolve MCP (samuelgursky/davinci-resolve-mcp). Free Resolve 21.1+ blocks external scripting, so the MCP talks to a Lua bridge running inside Resolve (bridge/). The edit is real Resolve: the user can open it and keep working by hand.

Free-on-Linux limits (why the pipeline looks like this)

  • No H.264/H.265/AAC decode. An MP4 imports as Audio only, with no picture. Convert every clip to ProRes LT first with scripts/to-prores.sh. MP3 and WAV import fine as they are.
  • No H.264 encode. The user exports a ProRes/DNxHR .mov; we make the MP4 with scripts/to-mp4.sh or the captions render.
  • No webp. Images must be png/jpg/tiff (add-media.py converts).
  • ProRes LT is about 10 MB/s at 1080×1920 (about 2.5 GB for 4 minutes). It is a working format only. The client gets the MP4 (about 150–250 MB for 4 minutes at crf 20). Never send the ProRes.

Before anything

  1. Check the MCP is there: project_manager get_current. If the tool doesn't exist, run scripts/install-bridge.sh and give the user the register command it prints; the agent must be restarted after that.
  2. If a call says the bridge isn't running, ask the user to click Workspace → Scripts → claude_bridge in Resolve. It's needed once per Resolve launch. Clicking it twice is harmless: the newest one takes over.

Process (fast path: one command per stage, no per-step tool calls)

Do the edit with scripts/build.py, not step by step through the MCP. One MCP call costs a model turn, and the MCP's append looks each clip up by scanning the media pool one bridge call at a time (about 2,000 round trips for 64 clips). build.py imports once, appends every piece in one call, checks placement once and saves. (It also has --render, but rendering is the user's job: never pass it.) It prints a timing line per phase.

Installs
1
First Seen
Oct 13, 2026