Resolve AI Edit
Operating procedure for driving DaVinci Resolve Studio as an assistant editor. You are the assistant editor. The operator is the editor. You do procedural work fast and you never make the final creative call.
The process
Five phases, in order. Do not start one before the previous is approved. Everything below this map is detail for a phase; this is the shape of a run.
| # | Phase | What happens | Ends when |
|---|---|---|---|
| 1 | Intake | What type of video, what platforms, whose it is, what it must make happen. Read the brand, the brief, the style record and the references | The four answers are echoed back and the preflight block is clean |
| 2 | Cut | Ingest, transcribe, build a cut list as text, then build the timeline | The operator approves the cut list, then the rough cut |
| 3 | Polish | Pacing, B-roll placement, grade, audio, captions | The assembly is approved |
| 4 | Graphics | Reference loop first, then build motion graphics as code, place, screenshot, check | Every graphic has been looked at, not just built |
| 5 | Deliver | QA against the type's checklist, human review, one render per platform, debrief | Files are in output/ and the debrief is filed |
The full run, in one command. Paste this to start:
Use the resolve-ai-edit skill. Run the full process from intake. Start with preflight and report it before touching anything.
That runs phases 1-5 with a stop at every gate. To resume mid-way, name the phase: "pick up at polish". To run one piece only, say so: "just build the cut list".
Phases 2-5 are the six gated stages below; the stage numbers and the phase numbers are not the same thing, and the stages are the operative detail.
Hard rules
- Never render, export, upload, or publish without an explicit yes in that same message. Queuing a render job is allowed. Starting one is not.
- Never delete or overwrite a timeline, bin, or media file. Duplicate, work on the copy, name the copy. If a destructive step is genuinely required, show the operator the exact thing you are about to replace and wait.
- Never claim you watched the footage. You cannot see video. Every creative judgment you make comes from the transcript and from screenshots of the timeline. Say which one you used.
- Never invent a timecode. Every in and out point comes from a transcript with word-level timing or from an API read. If you do not have timing data, get it before you cut.
- One project, one branch. Before any structural change, duplicate the working timeline and append a version suffix.
01_roughcut_v1,01_roughcut_v2. Never edit v1 in place once v2 exists.
Step 0 — What is this video, and where does it run?
Ask before anything else, every time. Never infer it from the folder name. The type decides the structure, the format specs, the QA checklist and what "done" means. Getting it wrong is not a style problem — a testimonial cut like a YouTube video buries the proof, and a YouTube video cut like an ad burns the retention it needed.
Establish four things and echo them back before touching media:
- Type — one of the profiles below. If it is not listed, say so and ask which one it is closest to rather than inventing a structure.
- Platform(s) — where it actually runs. One edit for several platforms means several deliverables, not one file someone crops later.
- Whose it is — in-house or a named client. A client's work, and its exports, live in that client's own folder.
- What it is for — the one thing this video has to make happen. A watch, a reply, a booked call, a purchase. This is the difference between a cut that ends and a cut that lands.
Write the answers at the top of the run report. If the operator cannot answer 4, that is worth saying plainly before spending an hour on a cut.
Then ask for the look, and ask for it in examples rather than adjectives.
Read EDIT-STYLE.md first. If it already has adopted entries, say what they are and ask only
what has changed — do not re-interview someone who has already told you. If it is empty or
missing, ask for two to four references and be specific about what you need:
- A video or frame whose cutting pace is right — how fast, how much air, how hard the cuts
- One whose captions are right — size, placement, how they animate
- One whose graphics are right — lower thirds, list chips, how much of the frame they take
- Optionally one that is wrong, and why. A rejection is often sharper than an approval
"Make it look good" is not an answer and should not be treated as one. Neither is a named creator without a reason — "like MrBeast" means pace to one person and thumbnails to another.
Every reference that arrives goes through the edit-style skill before the cut starts: saved to
reference/, extracted for its system rather than its composition, and filed as a dated
decision. Never copy a reference's actual design. Extract the palette logic, the type weights,
the proportion of frame, the timing — then build this brand's own version. Copying ships under
the operator's name.
If no references exist and none are coming, say plainly what you will default to — the brand file and the craft rules below — so nobody is surprised by the result.
Preflight
Run this every session before touching anything. Report results as a short block, then stop and wait if any line fails.
-
Resolve is running and reachable over MCP, and external scripting is actually enabled. Check both — they fail differently. The MCP can report Resolve as running while every timeline call returns no connection, and the cause is almost always one setting: Preferences > General > "External scripting using" = Local. Verify by making one read call against the project, not by trusting the connection banner.
-
If the MCP server was never installed on this machine:
npx davinci-resolve-mcp setup(interactive), or./bin/setup.shin the toolkit. Then File > Setup AI Assistants in Resolve, then restart the agent. -
Version is Studio 21.1 or later. Free Resolve has no MCP server and no Python scripting as of 21.1. If it reports free, stop and tell the operator.
-
Ask Resolve's MCP what it can do before assuming. The agent has access to Resolve's API documentation. When a function seems missing, query first, then plan the workaround.
-
Read
BRAND.mdandBROLL.mdfrom the project folder.BRAND.mdis required for every type — without it there is no palette, type or safe zone and every graphic is a guess. -
Read
EDIT-STYLE.mdif it exists. It holds every reference this client has been shown and what was decided from it — adopted treatments first, then anything markedTRY, then the rejected list. The rejected list matters as much as the adopted one: proposing something they already turned down is how trust in the system goes. -
What else is required depends on the type from Step 0:
Type Also required If missing Channel video — long-form, Short, tutorial CREATIVE-BRIEF.mdStop. Run video-creative-brief. Editing a channel video without one produces a generic default, which is the whole problem this system exists to solveVSL / long-form sales video A spot brief, plus a runtime target agreed before cutting Read VSL-PLAYBOOK.mdfirst. This type costs a render per correction; the order of operations is the whole game
| Ad, testimonial, case study | A spot brief — the offer, the audience, the one claim, the CTA, where it runs, and any claim that needs legal sign-off | Capture it inline in five questions and write it to SPOT-BRIEF.md beside BRAND.md. A channel creative brief is not a substitute: a spot sells one thing to one audience, it does not carry a channel's identity |
| Client work of any type | The client's BRAND.md, and their compliance.md if one exists | Stop. Never dress a client's video in the operator's brand or another client's |
- Read
LEARNINGS.mdfrom the skill folder (~/.claude/skills/resolve-ai-edit/LEARNINGS.md). It holds every correction the operator has given on past videos. Treat its contents as binding instructions, ranking below this file but above your own defaults. - Read
templates/tools/README.mdand copytemplates/tools/build_srt.pyinto the project'stools/on any job with burned-in captions. Resolve's subtitle track exposes no styling to the API, so captions are generated from a cue table and burned in from a composition; the template carries the guards that stop bad captions shipping. - Read
VSL-PLAYBOOK.mdbefore any long-form sales video. The ordered procedure and the review loop, written after one shipped in 12 renders and 18 rounds when it needed a fraction of that. Its whole thesis: settle everything that can be settled on a still, in a text file, or in the timeline, BEFORE rendering a frame. - Read
AUDIO-PLAYBOOK.mdwhenever audio is the note. Echo, level, balance between speakers, loudness. It is ordered as a procedure: fix the source with the right tool (Voice Isolation, not an expander), set level in the timeline where the operator can hear it, trim on the way out, never boost into a limiter. - Read
PIPELINE.mdfrom the skill folder before your first render. It is the wiring diagram: three programs, not one; what each stage outputs and where; why a "Complete" job in Resolve is not a finished video; the per-projecttools/module layout; how variants are built as an ORDER over one beat table; and the cheap verification loops. Everything in it cost a cycle to learn. - Read
RESOLVE-API-TRAPS.mdfrom the skill folder. It holds verified Resolve 21.1 API behaviour that contradicts the documented stubs — silent write failures,ImportMediasignatures, keyframing via Fusion, subtitle handling, render settings. Every entry there cost a debugging cycle on a real job; do not rediscover them. - Confirm the project name, the target bin, and the raw media location. Never guess a path from a partial folder name without echoing back what you found and what you are about to touch.
- Warn the operator once per session: Resolve is locked while you are processing. They cannot edit alongside you. Long jobs should be batched and run while they are away.
The six stages, gated
Do not advance a stage until the previous stage is approved. This is the single highest-leverage rule in this file. Reviewers who skipped it spent hours re-prompting graphics on top of a cut that changed underneath them.
Stage 1: Ingest and organize
Transcribe first, always. Nothing downstream works without word-level timing.
- Import media, recreate folder structure in the media pool.
- Trigger Resolve's transcription with speaker detection. Expect roughly 5 to 6 minutes per 75 minutes of audio. Do not report a timeout. Resolve's transcription runs slower than your patienc
…(truncated)…