一键导入
resolve-conventions
Project conventions and patterns for resolve-mcp development. Explains tool registration, error handling, module organization, and naming rules.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Project conventions and patterns for resolve-mcp development. Explains tool registration, error handling, module organization, and naming rules.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Bump the package version in pyproject.toml and publish to PyPI. Handles version increment, git tag, build, and upload in one step.
AI-powered color grading assistant. Exports the current frame in sRGB, visually analyzes it, and makes CDL adjustments directly on the Color page nodes. Works regardless of project color space (HDR, P3, ACES, etc.) because the frame is converted to sRGB for analysis — the color space LLMs are trained on.
Match the color grade of the current DaVinci Resolve timeline frame to a reference image. Exports both in sRGB, visually compares them, and adjusts CDL nodes to match the reference look.
Archive a DaVinci Resolve project — export the .drp project file, media list, timeline markers, render queue status, and editorial notes as a complete archive package.
Paste timecoded client feedback or review notes and auto-create color-coded markers on the DaVinci Resolve timeline at each timecode.
Render multiple deliverables from one DaVinci Resolve timeline in a single batch — YouTube, Instagram, broadcast, ProRes master, etc.
| name | resolve-conventions |
| description | Project conventions and patterns for resolve-mcp development. Explains tool registration, error handling, module organization, and naming rules. |
| user-invocable | false |
This skill provides Claude with the project conventions for the resolve-mcp codebase. It is automatically invoked when Claude needs to write or review code in this project.
Every tool follows this exact structure:
from .config import mcp
from .resolve import get_resolve, _boilerplate
@mcp.tool
def resolve_do_something(param: str) -> str:
"""One-line description of what this tool does."""
resolve, project, media_pool, timeline = _boilerplate()
# ... implementation ...
return "Success: description of what happened"
resolve_ — this is the MCP namespace prefixstr — never return dict, list, or None_boilerplate() for tools that need project/timeline accessget_resolve() only for tools that work without a project openfrom .errors import safe_resolve_call
@mcp.tool
@safe_resolve_call
def resolve_my_tool() -> str:
...
The @safe_resolve_call decorator catches all exceptions and returns clean MCP error strings. Custom exceptions:
| Exception | When |
|---|---|
ResolveNotRunning | get_resolve() returns None |
ProjectNotOpen | No project loaded |
TimelineNotFound | No current timeline |
BinNotFound | Requested bin doesn't exist |
ClipNotFound | Clip index out of range |
ItemNotFound | Timeline item not found |
StudioRequired | Feature needs DaVinci Resolve Studio |
{domain}_tools.py (e.g., color_tools.py, marker_tools.py)__init__.py with the noqa comment:
from . import my_new_tools # noqa: F401 — description (N tools)
| Item | Convention | Example |
|---|---|---|
| Tool function | resolve_{verb}_{noun} | resolve_get_timeline_info |
| Module file | {domain}_tools.py | color_tools.py |
| Agent file | {role}.md (kebab-case) | colorist.md |
| Skill directory | {action} (kebab-case) | bump-publish |
resolve_mcp/ packagefrom .config import mcp — never absolute-> strint for indices (1-based for user-facing, 0-based internally)str for Resolve enums (colors, track types, etc.)tests/ directorytest_{module}.pypyproject.toml)