# Resolve Edit

Editing, cutting, trimming, pacing, and timeline restructuring in the DaVinci Resolve MCP.

- Repository: https://github.com/samuelgursky/davinci-resolve-mcp (3887 stars)
- Category: AI and agents
- License: MIT
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add samuelgursky/davinci-resolve-mcp --skill resolve-edit -g -a claude-code -y`
Codex: `npx skills add samuelgursky/davinci-resolve-mcp --skill resolve-edit -g -a codex -y`
Cursor: `npx skills add samuelgursky/davinci-resolve-mcp --skill resolve-edit -g -a cursor -y`
Gemini CLI: `npx skills add samuelgursky/davinci-resolve-mcp --skill resolve-edit -g -a gemini-cli -y`

## Description

Editing, cutting, trimming, pacing, and timeline restructuring in the DaVinci Resolve MCP. Apply when duplicating/moving clips, copying ranges, building variants, tightening or restructuring a cut, editing selects, or generating an editorial changelist/turnover, live in a running Resolve OR offline against .drt timeline files. Routes to the live edit tools, the offline editorial tools, and the project's editorial craft guidance.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Resolve Timeline Edit
Bridges editorial *craft* to this repo's *tools*. Open the right manual; don't
re-derive it here.

- **Craft / story**, `docs/guides/editorial-decision-guide.md`. The global
  `editor` / `assistant-editor` skills add editorial philosophy and cutting-room
  practice; use them for *why to cut*, not tool mechanics.
- **Live tool mechanics**, `docs/kernels/timeline-edit-kernel.md` (the `timeline`
  edit-kernel boundary: duplicate/copy/move, range ops, item-state copy).
- **Offline timeline / changelist**, `resolve-advanced/README.md` → `drt`
  (timeline file authoring) and `editorial` (interchange + turnover).

## Two servers

| Job | Server | Tools |
|---|---|---|
| Restructure a **running** timeline | `davinci-resolve` (Python, live) | `timeline` (edit kernel), `timeline_item`, `edit_engine`, `timeline_markers` |
| Author/diff a `.drt` **file**, or parse/compare editorial interchange with **no Resolve open** | `davinci-resolve-advanced` (Node) | `drt`, `editorial` |

## What this build cannot do (check before you offer it)

The scripting API changes per **patch** release, so "Resolve 21" is not a usable
label. Read `resolve_control get_version` → `build.unavailable_on_this_build`
before offering a gated surface; `check_version_support` asks about one named
symbol. Gated in *this* domain:

| Surface | Needs | If absent |
|---|---|---|
| `Timeline.GetSelectedClips` | 21.0.4 | No selection readback. Identify clips by track/index or id instead, this repo's selection helper duck-probes three names, so it degrades to "no selection" rather than erroring |
| `TimelineItem.SetName` | 20.2 | Clip names are read-only from a script |

The rest: https://github.com/samuelgursky/davinci-resolve-mcp/blob/HEAD/.agents/skills/resolve-edit/SKILL.md
