Use when manage multiple local CLI agents via tmux sessions (start/stop/monitor/assign) with cron-friendly scheduling.
The English summary is being prepared. Showing the original description.
Utilizes the DaVinci Resolve MCP servers to control timeline editing, media analysis, color grading, and Fusion/Fairlight scripting.
The English summary is being prepared. Showing the original description.
See how to installReview the instructions the agent will receive before you install.
This skill file instructs AI agents on how to interface with the DaVinci Resolve MCP Server integrations (including davinci-resolve-mcp and davinci-mcp-professional). It details page requirements, media analysis, edit loops, versioning pipelines, and troubleshooting steps.
The DaVinci Resolve MCP Server exposes the complete scripting API of DaVinci Resolve Studio (18.5 to 21+) to AI models. In the BDB OS workflow, this server acts as an intelligent assistant that can automate timeline assembly, perform source-safe audio/video analysis, manage color grade metadata (CDLs/LUTs/stills), write timeline markers, and compile extension scripts.
--full): Exposes 341 tools representing a one-to-one mapping of every Resolve scripting API method.venv/bin/python -m src.control_panel) for visual inspection, timeline rollback, and manual analysis review.Resolve is page-centric. Many tool calls will fail if the application is on the wrong page. Always verify or transition the page before invoking page-specific tools:
| Workflow | Page Required | Transition Command |
|---|---|---|
| Media Ingest / Bins | Media | resolve_control(action="open_page", params={"page": "media"}) |
| Timeline Assembly / Edits | Edit or Cut | resolve_control(action="open_page", params={"page": "edit"}) |
| Color Grading / LUTS / CDL | Color | resolve_control(action="open_page", params={"page": "color"}) |
| Audio Configuration | Fairlight | resolve_control(action="open_page", params={"page": "fairlight"}) |
| Effects / Compositing | Fusion | resolve_control(action="open_page", params={"page": "fusion"}) |
| Render Setup / Queues | Deliver | resolve_control(action="open_page", params={"page": "deliver"}) |
davinci-resolve-mcp-analysis scratch directory.analyze_clip or analyze_bin extracts keyframes to disk and returns a deferred payload with frame_paths and a verification token.media_analysis(action="commit_vision", params={clip_id, visual, vision_token}).commit_vision; doing so leaves the clip in a pending_host_vision_analysis error state.edit_engine)Every timeline edit operates on a Plan → Confirm → Execute loop:
plan_tighten or plan_selects calculates trims (e.g., dead air removal from transcription evidence) and returns a plan_id.execute_tighten(plan_id) with a verification token to write the edits to a new timeline version.Key tools on the compound server include:
| Tool | Action | Parameters | Description |
|---|---|---|---|
resolve_control | launch, get_page, open_page, api_truth, quit | page?: string | Manages active page contexts and Resolve application states. |
project_manager | list, get_current, create, load, save, import_project, export_project, lint, apply_spec | name?: string, path?: string, spec?: object | Handles project CRUD, backup archives, health linting, and declarative YAML specs. |
media_pool | get_clips, import_media, move_clips, setup_multicam_timeline, get_selected | paths?: string[], target_path?: string | Organizes media pool folders, imports files, and sets up multi-cam stacks. |
media_pool_item | get_metadata, set_metadata, get_clip_property, set_clip_color, get_audio_mapping | clip_id: string, key: string, value?: any | Sets search tags, notes, track mapping, and clip colors in Resolve. |
media_analysis | plan, coverage_report, analyze_clip, detect_sync_events, publish_clip_metadata, commit_vision, build_embeddings, find_similar | clip_id?: string, kinds?: string[], vision_token?: string | Handles visual keyframing, audio transcriptions, sync detection, and semantic vector indexing. |
edit_engine | plan_selects, execute_selects, plan_tighten, execute_tighten, plan_swap, execute_swap | plan_id?: string, timeline_name?: string, alternate_index?: int | Plans and executes video trimming, select reels, and alternate take swaps. |
timeline_versioning | begin_run, end_run, archive_current, list_versions, diff_versions, diff_timelines | timeline_name?: string, reason?: string | Records edit logs, structures version diffs, and rolls back edits. |
script_plugin | run_inline, execute, safe_install_extension, safe_remove_extension | source: string, language: string | Authoring utility that runs or installs custom Lua/Python script extensions. |
Snapshot a clip's grade, inspect CDL, and export a look:
// Step 1: Switch to Color page
// Tool: resolve_control(action="open_page", params={"page": "color"})
// Step 2: Snapshot active item's grade
// Tool: timeline_item_color(action="grade_version_snapshot", params={"version_name": "BeforeAdjustment"})
// Step 3: Set CDL parameters for mild primary grade adjustment
// Tool: timeline_item_color(action="safe_set_cdl", params={"slope": [1.05, 1.0, 0.95], "offset": [0.01, 0.0, -0.01]})
Use run_inline to quickly rename clips matching a specific prefix inside the Media Pool:
// Tool: script_plugin(action="run_inline", params={"language": "python", "source": "..."})
// Source value:
import sys
resolve = BmdResolveAPI()
projectManager = resolve.GetProjectManager()
project = projectManager.GetCurrentProject()
mediaPool = project.GetMediaPool()
rootFolder = mediaPool.GetRootFolder()
def rename_clips(folder):
for clip in folder.GetClipList():
name = clip.GetName()
if name.startswith("CAM_A_"):
clip.SetClipProperty("Clip Name", name.replace("CAM_A_", "AngleA_"))
for subfolder in folder.GetSubFolderList():
rename_clips(subfolder)
rename_clips(rootFolder)
print("Rename complete")
http://localhost:5000 (by default) or path printed upon running:
venv/bin/python -m src.control_panel
Test if the local Python bridge can reach Resolve:
# Verify the Python scripting modules are discoverable
python -c "import DaVinciResolveScript as dvr; print(dvr.scriptapp('Resolve'))"
Resolve is not running or scripting is disabled
Visual Analysis stuck in pending_host_vision_analysis
commit_vision tool with the results of visual frame descriptions. Check the manifest files in your scratch analysis directory to recover the token.Fusion.Execute() returns False or no-op
run_inline tool which leverages a temporary file fallback mechanism.No reviews yet. Tell others what you thought.
No login needed. Share how it worked for you, ask a question, or note where it did not run.
No comments yet. Be the first to write one.
Use when manage multiple local CLI agents via tmux sessions (start/stop/monitor/assign) with cron-friendly scheduling.
The English summary is being prepared. Showing the original description.
Use when a hybrid memory system that provides persistent, searchable knowledge management for AI agents (Architecture, Patterns, Decisions).
The English summary is being prepared. Showing the original description.
Reference for how BDB structures autonomous software engineering work — the seven-node dispatcher graph (Architect, TechLead, UI/UX, Engineering, Media/EventTech, Reviewer, Shipping) that /startcycle-graph actually runs. Use when you need the high-level lifecycle framing without inventing your own process.
The English summary is being prepared. Showing the original description.
Tools are how AI agents interact with the world. A well-designed tool is the difference between an agent that works and one that hallucinates, fails silently, or costs 10x more tokens than necessary. This skill covers tool design from schema to error handling.
The English summary is being prepared. Showing the original description.
Harness patterns for coding agents — memory, permissions, context engineering, delegation, skills, hooks, bootstrap.
The English summary is being prepared. Showing the original description.
agenttrail: live map of a multi-agent build in the browser: which plan component is being worked on, by which agent or harness, what is done and what is stuck. Use when a multi-agent pipeline starts (/startcycle, /startcycle-graph, /teamwork-preview) or after a plan-canvas approve, when the user asks to see what the agents are doing ("live map", "build board", "who is running now"), or by yourself whenever a multi-agent run is under way — no user prompt needed.
The English summary is being prepared. Showing the original description.