splicedeck
splicedeck
一个由 AI 代理驱动的视频编辑器,运行在您自己的机器上。
一次调用即可将剪辑套入模板:动态图形、叠加层、字幕以及用于剪辑的节拍网格。对源视频进行一次处理,即可同时获得一个经过清理的长视频母版和竖屏剪辑片段。它还会记住每个客户、频道或节目喜欢的剪辑方式,因此下一次剪辑可以从上一次结束的地方开始。
无需拖拽时间线,无需创建账户。没有任何内容被上传。
状态:流水线端到端运行,记忆已触及剪辑
源视频今天就能变成交付文件。在参考机器(Windows 11, Python 3.13, ffmpeg 8.1.2)上,针对一个真实的 223 MB
.mov文件测得:inspect 2.6 s draft 27 ms splice 27 ms verify 42 ms deliver 157 s -> 1920×1080 h264 + aac, -23.0 LUFS, decodes clean
python -m pytest报告 1425 通过,2 跳过,耗时约四分钟。 三十一个动词可供 CLI 使用,其中十八个可通过 MCP 服务器使用,两者均从同一个表格生成,因此不会发生偏离。有一个主要功能尚未实现。通过引用进行剪辑需要一个语音二进制文件,但目前没有任何清单可以获取它。在规划之前,请阅读哪些功能尚不可用。
安装
您需要 Python 3.12 或更高版本,并且 ffmpeg 8.x 已在您的 PATH 中。splicedeck 不会安装也不捆绑 ffmpeg,docs/first-run.md §4 解释了为什么这是有意为之。
安装脚本会询问工作区的位置,在显示确切的命令后提供安装 ffmpeg 的选项,搭建所有内容并写入一个 MCP 配置:
curl -fsSLO https://raw.githubusercontent.com/ihuzaifashoukat/splicedeck/main/install.sh
less install.sh && bash install.shirm https://raw.githubusercontent.com/ihuzaifashoukat/splicedeck/main/install.ps1 -OutFile install.ps1
notepad install.ps1; powershell -ExecutionPolicy Bypass -File install.ps1在运行之前请先阅读它。一个 curl | bash 的一行命令对于这个 README 主要讨论威胁模型的项目来说,将是一个糟糕的广告。
如果您更愿意自己动手,或者想要运行测试:
uv tool install splicedeck # or: pipx install splicedeck
git clone https://github.com/ihuzaifashoukat/splicedeck.git && cd splicedeck
python -m venv .venv
.venv/Scripts/python -m pip install -e ".[dev]" # Windows
.venv/bin/python -m pip install -e ".[dev]" # macOS, Linux尚未在 PyPI 上发布。 没有发布版本,因此 uv tool install splicedeck 在第一个标签被推送之前将返回 404。在此之前,请使用脚本、克隆仓库,或运行 uv tool install "git+https://github.com/ihuzaifashoukat/splicedeck.git"。
docs/install.md 包含了所有安装路径、针对各平台的 ffmpeg 命令、环境变量,以及您可以粘贴到 AI 代理中以便自动安装和配置 splicedeck 的提示。
Related MCP server: ViralSpin MCP
尝试使用
工作区根目录是您运行命令的目录,spd init 会搭建一个工作区:
mkdir my-edit && cd my-edit
spd init # bookmarks/ casebook/ elements/ ledger/ media/ profiles/ templates/
mkdir -p casebook/parties/demo
spd ready # what is present, and what each gap blocksinit 绝不会覆盖已有文件。在您编辑过配置文件后再次运行它,会填充缺失的内容,并保留您的编辑。它写入的文件与此仓库提供的文件字节完全相同,并且 python -m checks.starter --check 会强制执行这一点。
然后将您的素材放入 media/ 目录并剪辑:
spd inspect --path media/your-file.mov # mints a source handle
spd draft --party demo --source s1 --bookmark baseline --profile wide-1080
spd apply --sheet c1 --template clean-master # overlays, motion, beat grid
spd splice --sheet c1 --source a --in_ticks 0 --out_ticks 900000 \
--source_in_ticks 0 --cause manual
spd verify --sheet c1
spd deliver --sheet c1源素材必须位于工作区内。任何包含盘符的路径都会在读取之前被拒绝,并返回 PATH_OUTSIDE_WORKSPACE 错误。
项目(party)由人类手动、有目的地创建。draft 在 casebook/parties/<name>/ 目录存在之前会拒绝 UNKNOWN_PARTY 错误。
要通过支持 MCP 的助手驱动它,请注册服务器:
{"mcpServers": {"splicedeck": {
"command": "C:\\src\\splicedeck\\.venv\\Scripts\\python.exe",
"args": ["-m", "splicedeck.surface.mcp"],
"cwd": "C:\\src\\splicedeck"}}}cwd 必须是工作区,因为工作区根目录就是工作目录,没有其他方式可以发现它。python -m splicedeck.surface.mcp --tools 会打印生成的工具列表并退出,这有助于区分服务器配置错误和主机配置错误。完整的指南请参阅 docs/mcp.md。
模板:一次调用完成外观设计
apply 将命名的模板应用于剪辑表。它会放置叠加层,写入代理随后剪辑所依据的节拍网格,并在剪辑表中记录使用了哪个模板。
今天提供了四个模板:
模板 | 说明 |
| 一个平静的头部特写母版,带有一个底部三分之一字幕,无节拍网格 |
| 一个快速剪辑的竖屏视频:三个节拍槽,每个槽位带有脉冲强调效果 |
| 一个宣传片外观:两个节拍槽周围的全出血片头和片尾卡片 |
| 屏幕上只有一个标记,别无其他 |
模板的叠加层在安装了可选的动态层时会播放动画,否则会回退为静态图像。六个动画合成作品位于 scenes/ 中,为本项目编写并随其一起授权。
槽位(slots)是强制执行的。verify 会拒绝包含未填充槽位的剪辑表,并且落在槽位容差范围外的剪辑会被拒绝,返回 SLOT_TOO_TIGHT 错误,同时返回最近的有效边界作为可立即发送的调用。这使代理能够命中它无法看到的节奏。
您可以编写自己的模板。spd compose --kind template 会验证并写入一个手动编写的模板或元素卡片。它特意只通过 CLI 提供:MCP 服务器不得写入 templates/,docs/templates.md §4 解释了这一设计背后的理由,而不是将其视为一个疏忽。
为什么需要记忆
一次编辑由成千上万个细微判断组成,而其中几乎所有的判断都会重复出现。笑点之后停顿多久。这位演讲者的填充词是噪音还是个性。在手臂长度的距离上,手机上的字幕需要多大。无状态工具迫使您在每个会话中重新提供这些上下文,这就是为什么“AI 编辑”常常产生技术上正确但风格上错误的结果。
在这里,您做出一次的决定会被记录并重复使用:
subtitle.size_px = 74
when {surface: vertical, frame: 1080x1920}
set by a render you shipped and kept, 2026-08-02
before 66该记录存在于您的仓库中,作为可审阅的文本。您可以查看差异,通过编辑一行来纠正错误条目,并使用 git revert 回滚使编辑变得更糟的更改。它是一个行为变更日志,与您版本控制的所有其他内容保存在同一位置。
两条规则确保其可信:
没有任何持久性内容是由模型写入的。记录描述了人类所做的行为:交付了一个渲染并保留它,恢复了剪辑移除的某个时刻。代理可以指向发生了什么;但它不能编写被记住的内容。
每次写入都经过人工审核。没有偏好设置会被静默学习。
该循环今天即可运行。spd set、ship、keep、restore 和 discard 将行为追加到项目的哈希链式账本中,并从每个行为中提出一个建议;行为不能追加到未经验证的链上。然后 spd review 会盲求值,显示边界和已交付的剪辑,但从不显示具体数字,匹配的答案会成为一个密封案例和一个重新生成的 findings.lock.txt。下一次 draft 会据此解析:书签打开设置,案例簿覆盖人类已确定的内容,剪辑表记录它读取了哪个锁文件。
本地优先且完整
一个全新的克隆,没有任何 API 密钥和云账户,就能在您自己的机器上生成一个完整的、可交付的文件。这是基准,而不是降级模式。
云服务可以在它们真正有帮助的地方开启,例如针对困难音频或说话人分离的托管语音 API,但没有任何服务成为必需,也没有任何交付依赖于此。ffmpeg 作为子进程完成工作。它从未被供应商化或链接。
该项目还拒绝猜测您的硬件配置。编码器支持通过测试编码来验证,而不是通过读取功能列表,因为功能列表可能会说谎。在开发机器上,ffmpeg -encoders 宣传了一个 NVIDIA 编码器,但该编码器在运行时失败,而实际能工作的 Intel 编码器却在所有指南中未被提及。
已实现的功能
一次分析处理,两个交付物。 转录和分析每个源视频只运行一次。长视频母版和竖屏剪辑片段都读取相同的结果。
帧精确剪辑,无音频漂移。 音频在复用前保持 PCM 格式,并仅编码一次。交付的样本与在 Python 中通过 45 次和 120 次连接构建的参考组合字节完全相同。经测量验证,而非断言。
一次调用完成模板和动态效果,带有代理剪辑所依据的节拍网格,以及在缺少动态层时的静态回退。
字幕保持可读性。 渲染器强制执行大小和对比度下限,并且会拒绝绘制位于平台自身界面下方的文本,而不是绘制它。字形由纯标准库的 TrueType 解析器进行形状处理和栅格化,因此印记是字节可重复的,并作为黄金标准提交。
承认不确定性的竖屏构图。 当无法自信地跟踪主体时,它会拒绝自动构图并说明原因。自信的错误裁剪比诚实的拒绝更糟糕,因为没有人会审查看起来还不错的裁剪。
经得起考验的版权。 音乐、特效和库存素材都带有记录,说明其来源及许可条款。如果任何资产缺少此类记录,交付将拒绝运行。
携带自身修正的键入式拒绝。 拒绝会附带
retry_with,这是一个可立即发送的调用列表。共有 102 个错误代码,每个代码都有对应的构建位置和证明其可达性的测试。
哪些功能尚不可用
明确说明,因为如果状态部分省略了这一点,那么它就是上一个版本毫无价值的原因。
不可用功能 | 原因 | 影响 |
通过引用进行剪辑 |
|
|
通过模型进行主体跟踪 | 没有检测器被固定或发布( |
|
从 MCP 主机取消 | stdio 循环是单线程的,因此在 |
|
CHANGELOG.md 包含相同的列表,并且两者应保持同步。
模型层以下的两个层级是有效的。subject: "centre" 是几何的,不需要任何东西。SPD_SIGHT_LOCATOR=reduce 选择一个无权重定位器,通过纯标准库 Python 中的时间中值背景减法来查找主体,无需 numpy 或任何编译扩展。
在参考母版上与人脸检测器进行对比检查,该定位器的中值与帧宽度相差在 0.1% 以内。在相同的素材上,它随后报告置信度为 0.26,并且根本没有拟合任何路径,因为一个在静态背景下几乎不移动的说话者不会给背景减法留下任何可依赖的信息。这两个结果都是正确的答案:算术是正确的,并且无权重层的诚实限制是一个空洞,而不是一个居中的猜测(docs/framing.md §7)。带有移动主体的素材跟踪效果良好。
如何驱动它
通过一个 MCP 服务器和技能(Skills),任何支持 MCP 的助手都可以使用它,此外还有一个 CLI 暴露完全相同的动词。两个界面都由 splicedeck/surface/verbs.py 生成,如果它们发生偏离,python -m checks.golden --check 会使构建失败。
该服务器支持五个协议修订版本,从 2024-11-05 到 2026-07-28,并响应 initialize 握手和 server/discover。
失败是有类型的。拒绝会附带其自身的修正,以可直接发送的调用形式呈现,而非需要智能体去解读的散文,因此恢复只需一个回合:
{"ok": false, "verb": "draft", "refused": "BOOKMARK_UNKNOWN",
"plain": "No bookmark by that name is shipped.",
"needs_human": false,
"retry_with": [{"verb": "draft", "args": {"bookmark": "baseline", "party": "demo",
"profile": "wide-1080", "situation": "default", "source": "s1"}}]}技能
四项技能教会智能体动词顺序、动词之间的陷阱,以及如何将拒绝转化为下一个正确的调用。它们位于 .claude/skills/ 中,克隆后无需任何安装即可直接使用。
技能 | 触发条件 |
| 将源文件转换为已交付的文件 |
| 裁剪 9:16 片段并保持主体在画面内 |
| 任何 |
| 编辑此代码库,或当两个文档不一致时 |
此仓库也是一个 Claude Code 插件及其自身的市场:
claude plugin marketplace add ihuzaifashoukat/splicedeck
claude plugin install splicedeck@splicedeck或者将技能安装到 skills CLI 支持的任何智能体中,包括 Codex、Cursor、OpenCode、Antigravity、Cline、Gemini CLI、Zed 和 Windsurf:
npx skills add ihuzaifashoukat/splicedeck # add --list to look first两种方式都仅分发技能。它们不会注册 MCP 服务器,因为服务器需要绝对的解释器路径和 cwd,而插件和技能安装程序都无法获知这些信息。install.sh 会为你写入这些信息,docs/mcp.md 中也有手动操作说明。
所有其他智能体运行时请阅读 AGENTS.md。
设计
规范先于代码编写,这是有意为之。
文档 | 解决的问题 |
每位贡献者和智能体需遵守的契约 | |
地图:运行时、包、数据流 | |
从克隆到交付文件,以及 Windows 陷阱 | |
所有安装路径,以及面向 AI 智能体的提示 | |
从助手驱动 splicedeck | |
核心工件:整数时间、可差异比较、人类可读 | |
模板、插槽,以及 | |
记忆如何存储、解析和门控 | |
威胁模型,以及为何记忆是攻击面 | |
样式,以及它们作为点的轴 | |
动词表和拒绝目录 | |
功能领域,以及每个领域需要证明的内容 |
智能体中的持久记忆是一个安全面,而不仅仅是一个功能。攻击者写入其中的任何内容都会比植入它的对话存活得更久。如果你只读一份文档,请阅读 docs/security.md。
非目标
从多个源组装影片。生成视频或音乐。时间线 GUI。实时协作。托管服务。自动选择哪些时刻成为片段,因为它会呈现候选片段并等待人工确认。
要求
Python 3.12 或更新版本,以及 PATH 上的 ffmpeg 8.x。任何默认路径上均未使用编译的 Python 扩展,因此无需构建步骤,也无需先安装平台运行时。支持 Windows、macOS 和 Linux;CI 覆盖 Ubuntu 和 Windows,macOS 未经机器测试。
运动层级额外需要 Node 和在 scenes/ 内执行 npm install。这是可选的,没有它则交付会回退到静态印记。
贡献
欢迎提交问题和设计评审。CONTRIBUTING.md 是入口:设置、需要运行的检查、如何添加动词或拒绝代码,以及无论价值如何都会被拒绝的拉取请求。请先阅读 AGENTS.md。十二条硬性规则是承重结构,违反其中任何一条的更改将仅因此被拒绝。
参与即表示你同意行为准则。
安全
请不要为漏洞公开提交 issue。SECURITY.md 中提供了报告路径和范围。
许可证
Apache-2.0。版权所有 2026 Huzaifa Shoukat。
Available Tools
18 toolsapplyC
Dress a cut sheet in a named template: its overlays and its beat grid.
| Name | Required | Description | Default |
|---|---|---|---|
| key | No | Idempotency key. | |
| sheet | Yes | A cut sheet handle. | |
| dry_run | No | Return the calls this would make instead of making them. | |
| template | Yes | A template id under templates/. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full load for behavioral transparency. It only states the action without disclosing side effects, destructive nature, idempotency behavior, permissions, or what happens to existing data. The mention of 'dress' implies modification but lacks necessary detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence of 13 words that efficiently conveys the core action and scope. Every word earns its place, with no fluff or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no output schema and no annotations, yet the description omits operational details such as return values, error conditions, or the effect of the idempotency key. The agent lacks sufficient context to understand the full lifecycle of using this tool, making it incomplete for a complex operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaning beyond the schema by explaining that the template applies overlays and beat grid to the sheet. This contextualizes the 'template' and 'sheet' parameters beyond their raw definitions, despite the schema already having 100% coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool applies a named template to a cut sheet, specifying that it affects overlays and beat grid. The verb 'dress' is domain-specific but still conveys the intended action on a specific resource, distinguishing it from sibling tools like 'draft' or 'splice'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, nor does it mention prerequisites, contraindications, or typical workflows. Without any usage context, an agent has no basis to decide between 'apply' and other sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cancelC
Stop a running job and everything it started.
| Name | Required | Description | Default |
|---|---|---|---|
| job | Yes | A job handle. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must fully disclose behavioral traits. It states the tool stops 'everything it started', hinting at cascading effects, but does not mention whether this is irreversible, whether it requires special permissions, or what happens to dependent processes. The serious consequence of destruction is implied but not explicitly flagged.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, minimal words, no redundancy. Every word is necessary and information-dense.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, irreversible action on a running resource, the description should explicitly mention return behavior (e.g., success/error feedback), side effects, and safety considerations. With no output schema, the agent is left without important context. The tool's simplicity suggests it could be concise while still warning about consequences.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description does not add any parameter-specific meaning beyond what the schema provides (e.g., what a valid job handle looks like, format, or where to obtain it).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a clear verb ('Stop') and specific resource ('a running job'), and adds scope ('and everything it started'). While it does not explicitly distinguish itself from siblings, its action is distinct enough to infer purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., when to cancel vs stop via inspect, or cleanup implications). The description lacks any context about prerequisites (e.g., job must be running) or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
captionC
Build caption imprints for a cut sheet from the source's words.
| Name | Required | Description | Default |
|---|---|---|---|
| key | No | Idempotency key. | |
| sheet | Yes | A cut sheet handle. | |
| style | No | A style slot name. null uses the settled finding. | |
| motion | No | Which caption renderer to use. 'still' draws a static block per caption; 'scene' highlights each word as it is spoken. | still |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the full burden of behavioral disclosure. It does not mention side effects, idempotency (despite the 'key' parameter), destructive potential, or auth requirements. The phrase 'Build caption imprints' hints at creation but lacks depth on behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with zero waste. Every word contributes meaning, and it efficiently conveys the core purpose without padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has four parameters, no output schema, and no annotations, the description omits crucial details such as the meaning of 'caption imprints', the behavior of the 'motion' enum, or the format of the result. The agent would lack sufficient context to use the tool confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds modest context by linking 'cut sheet' to the required 'sheet' parameter and 'source's words' to the tool's input, but it does not elaborate on the 'key', 'style', or 'motion' parameters beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Build') and resource ('caption imprints for a cut sheet from the source's words'), distinguishing it from sibling tools like 'preview' or 'watch' by focusing on imprint creation rather than viewing. However, the phrase 'caption imprints' is somewhat jargon-heavy and could be more universally understood.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives (e.g., 'preview', 'hear', 'draft'). It neither specifies prerequisites nor warns against misuse, leaving the agent without context for choosing 'caption' over siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
carveC
Cut a span of a master cut sheet out into its own clip sheet at a different delivery shape.
| Name | Required | Description | Default |
|---|---|---|---|
| key | No | Idempotency key. | |
| sheet | Yes | The master cut sheet handle to carve from. | |
| profile | Yes | The clip's delivery profile name. | |
| subject | No | Which cached framing path to write into the clip: largest, centre, or none. | largest |
| in_ticks | Yes | First deliverable tick of the master kept. | |
| out_ticks | Yes | First deliverable tick of the master not kept. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for behavioral disclosure. It only describes the high-level operation without mentioning side effects, idempotency behavior, or what happens to the original master sheet. The schema includes a 'key' parameter for idempotency, but the description ignores this, leaving the agent uninformed about repeatable invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of 14 words, front-loaded with the action verb and resource. It is efficient and contains no fluff. However, the extreme brevity sacrifices important context, preventing a higher score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 6 parameters (4 required), no output schema, and no annotations, the description is too minimal. It does not explain return values, prerequisites, or the effect of optional parameters like 'subject' and 'key'. An agent would lack sufficient information to invoke the tool correctly without inspecting the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description does not add any meaning beyond the parameter names and schema descriptions. It does not explain 'profile' or 'subject' in the context of carving, nor does it clarify the relationship between 'in_ticks' and 'out_ticks'. No extra value is provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Cut') and identifies the resource ('master cut sheet', 'clip sheet', 'delivery shape'). It clearly distinguishes from siblings like 'splice' (joining) and 'draft' (creating) by describing a unique extraction operation. However, the term 'delivery shape' is domain-specific and not explained, slightly reducing clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives like 'splice' or 'draft'. It does not state prerequisites, when-not-to-use, or mention the idempotency key's role in avoiding duplicate clips. The usage context is implied but not clarified.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
colourB
Decide the colour treatment for a cut sheet, including whether a transfer stage is inserted.
| Name | Required | Description | Default |
|---|---|---|---|
| key | No | Idempotency key. | |
| look | No | A look slot name declared in the party's kit. Null uses the settled finding. | |
| sheet | Yes | A cut sheet handle. | |
| target_range | No | sdr, hlg, or pq. | sdr |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose side effects and safety profile, but it only states that it decides colour treatment without indicating whether it modifies the cut sheet, requires permissions, or what the output is. The phrase 'including whether a transfer stage is inserted' hints at a possible mutation but is ambiguous.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that immediately states the verb and object, with no wasted words. However, it is under-specified, which is a completeness issue rather than a conciseness issue.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has four parameters with an enum and no output schema, requiring the description to explain return values and effects. The description does not cover what happens after the decision, what a 'transfer stage' is, or what the caller should expect, making the tool under-explained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All four parameters have schema descriptions (100% coverage), so the description itself adds no additional meaning to the parameters. The term 'cut sheet' aligns with the `sheet` parameter, but no deeper semantics are provided beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Decide' with the resource 'cut sheet' and mentions a key aspect (transfer stage insertion), making its function clear and distinct from sibling tools like apply or preview.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidance is provided; the description does not mention when to use this tool over alternatives or any prerequisites/exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deliverB
Encode and mux the finished deliverable for a cut sheet.
| Name | Required | Description | Default |
|---|---|---|---|
| key | No | Idempotency key. | |
| sheet | Yes | A cut sheet handle. | |
| motion | No | Which overlay renderer to use. null adopts whatever the sheet's caption job was built with, and 'still' otherwise. An explicit value that disagrees with the caption job refuses. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description bears full responsibility for behavioral disclosure. It only states the core operation, omitting key traits such as whether the tool is asynchronous, idempotent (beyond the key parameter), destructive, or requires specific sheet states. The one-word 'finished' implies a prerequisite but does not elaborate on failure modes or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-constructed sentence that front-loads the main action without filler. It earns a 4 for efficiency, though a second sentence elaborating on usage or behavior would have made it a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 3 parameters (one required), no output schema, and no annotations, the description is insufficiently complete. It fails to explain what the tool returns, whether it is synchronous, or what state the sheet must be in before calling. For a tool performing encoding and muxing—operations that could be slow or error-prone—this information is critical for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%—all three parameters (key, sheet, motion) already have clear descriptions in the schema. The tool description adds no additional meaning about parameter usage, constraints, or interactions. A baseline of 3 is appropriate since the description does not degrade understanding but also does not enhance it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action with specific verbs ('encode and mux') and identifies the resource ('finished deliverable for a cut sheet'). This verb+resource combination is distinct from sibling tool names like 'inspect', 'draft', or 'preview', enabling an agent to differentiate it easily.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool vs alternatives. Siblings like 'preview' or 'verify' might be used before or after delivery, but the description does not mention prerequisites, sequencing, or conditions that would help an agent decide between them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
draftC
Start a new cut sheet for a party from a source, a bookmark and a delivery profile.
| Name | Required | Description | Default |
|---|---|---|---|
| key | No | Idempotency key. | |
| party | Yes | A party identifier — a directory under casebook/parties/. | |
| source | Yes | A source handle. | |
| profile | Yes | A delivery profile name. | |
| bookmark | Yes | A bookmark name. | |
| situation | No | The name of a situation block declared in that party's party.toml. | default |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral transparency. The description implies a state change ('start a new cut sheet'), but it doesn't disclose what this operation does beyond creation (e.g., does it write files? interact with an API? trigger a workflow?). It doesn't mention destructive potential or idempotency behavior (despite having a 'key' parameter). It is adequate but leaves many behavioral questions unanswered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that names three key building blocks (source, bookmark, delivery profile). It is not verbose, but it is terse to the point of lacking important context. The sentence structure is straightforward but not front-loaded with enough clarifying detail. Some wasted opportunity exists because it could briefly explain the domain jargon without being much longer.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description could compensate but does not explain what the tool returns or how to use the result. With six parameters (four required), the description only briefly references three of them and does not cover 'key' or 'situation'. The sibling tools suggest a workflow (inspect, splice, verify, deliver) but the description does not position draft within that pipeline. Overall, the description feels incomplete for a tool that probably initiates a multi-step process.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds slight context by naming three parameters (source, bookmark, delivery profile) that are part of the tool's core inputs, but does not explain what these domain concepts mean or how they relate to each other. The 'party' parameter is mentioned in vague terms ('directory under casebook/parties/'), but the description adds no additional meaning beyond the schema. The 'key' parameter hint at idempotency but the description does not address it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description tells us the tool starts 'a new cut sheet for a party' given source, bookmark, and delivery profile, but it uses domain jargon ('cut sheet', 'bookmark', 'delivery profile') without explanation. Among sibling tools like inspect, splice, verify, deliver, it's not instantly clear what distinguishes 'draft' from other actions. The verb 'start' and noun 'cut sheet' provide a basic purpose, but the domain terms make it vague for a general AI agent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus siblings like splice, deliver, or verify. It doesn't mention prerequisites (e.g., must party exist? Must source be valid?), nor does it explain that the idempotency key is optional but recommended. The agent has no context for deciding to call draft over other tools in the set.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hearA
Transcribe a source to words with timings, reading the result as text before anything encodes.
| Name | Required | Description | Default |
|---|---|---|---|
| tier | No | draft, local, or cloud. | local |
| source | Yes | A source handle. | |
| consent | No | Consent token. Required only when tier is cloud. | |
| language | No | BCP-47 tag, or auto. | auto |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It mentions 'reading the result as text before anything encodes' but does not explain what 'encodes' means, whether the operation is read-only, requires permissions, or has rate limits. Important behaviors like output format or side effects are missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is front-loaded with the action and avoids redundancy. Every word serves a purpose with no wasted space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the description explains the core transcription function, it omits details about the return format (how timings are represented), the role of 'tier' and 'consent', and does not compensate for the lack of an output schema. Given four parameters and no output schema, the description is not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with minimal per-parameter descriptions (e.g., 'A source handle', 'draft, local, or cloud.'). The tool description adds meaning by stating the tool transcribes to words with timings and reads as text, enriching the context beyond the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool transcribes a source to words with timings, using a specific verb ('transcribe') and resource (source). It also adds nuance about reading the result as text before encoding, which distinguishes it from siblings like 'caption'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as 'caption', 'draft', or 'sound'. The description only states what it does without offering context on when it is appropriate or not.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inspectC
Read a media file's shape and mint a source handle for it.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Workspace-relative path to a media file. | |
| include | No | Extra maps to compute: any of 'quiet', 'loudness'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It implies a read-like operation ('Read'), but also mentions 'mint a source handle', which suggests creating something (a handle) and may have side effects. The description does not disclose whether this operation is reversible, requires authentication, or has rate limits. The term 'mint' is ambiguous and could mislead an agent about the tool's side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of moderate length, conveying the core purpose concisely. It is front-loaded and contains minimal redundancy. However, it could be slightly more compact by removing 'a media file's shape and' since 'Read a file' might suffice.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that no output schema is provided, the description should clarify what a 'source handle' is and whether the tool returns it or something else. It also doesn't mention that 'include' is optional or what defaults apply. The tool has 18 siblings with various media actions (draft, splice, verify, etc.), but the description provides no context for how 'inspect' fits with those. The description is incomplete for a tool that mints a handle.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already has high coverage (100%) with descriptions for both 'path' (workspace-relative path) and 'include' (extra maps to compute). The description does not add any additional semantics beyond the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: reading a media file's shape and minting a source handle. The verb 'Read' and noun 'media file' are specific, though the term 'shape' is somewhat vague. It distinguishes from siblings like 'inspect' (which is the tool itself) and 'stock', 'sound', 'colour' that likely deal with different aspects.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'draft', 'verify', or 'preview'. It does not mention any prerequisites (e.g., file existence, permissions) or exclusions (e.g., unsupported media types). The agent is left to infer context from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
placeB
Place an element onto a cut sheet at a tick for a hold.
| Name | Required | Description | Default |
|---|---|---|---|
| key | No | Idempotency key. | |
| sheet | Yes | A cut sheet handle. | |
| fields | No | Values for the element's declared text slots. | |
| element | Yes | An element name from elements/. | |
| at_ticks | Yes | When it appears. | |
| hold_ticks | Yes | How long it stays. At least one frame in the sheet's cadence. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. The description implies a write/mutation operation ('Place an element') but does not state whether it is destructive, reversible, or requires specific permissions. It adds value by specifying placement constraints (at a tick, for a hold) but fails to disclose other essential behaviors like idempotency (though 'key' parameter hints at it) or effects on existing sheet elements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that states the core action without unnecessary detail. It could be improved by placing domain-specific terminology in a more front-loaded manner, but overall it is appropriately concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complex domain (cut sheets, elements, ticks, holds) and lack of output schema, the description is partially complete. It explains the what, where, and when but omits return values or side effects. With no annotations and no output schema, more detail is warranted for a tool with 6 parameters and nested objects, especially to clarify the 'fields' object and idempotency behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already covers all parameters with descriptions (100% coverage), and the description complements this by explaining the domain-specific action for the main parameters ('at a tick' and 'for a hold'). However, the description does not clarify the 'fields' parameter syntax or the role of 'key', leaving some semantic gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the action ('Place an element'), the target ('onto a cut sheet'), and the conditions ('at a tick for a hold'). It distinguishes from siblings like 'splice' or 'draft' which suggest different operations. However, it does not differentiate from potential similar tools like 'apply', and lacks a verb-resource structure that fully clarifies domain-specific terms like 'element', 'cut sheet', 'tick', and 'hold'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus its siblings. With 17 siblings including tools like 'inspect', 'draft', and 'preview', an agent has no context for choosing 'place' over alternatives. There is no mention of prerequisites (e.g., must a sheet be created first?), exclusions, or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
previewC
Preview a bounded span of a cut sheet at a chosen rung.
| Name | Required | Description | Default |
|---|---|---|---|
| rung | No | Preview ladder rung: 1 h264_qsv, 2 libx264, 3 mpeg4. | |
| sheet | Yes | A cut sheet handle. | |
| in_ticks | No | Start of the span to encode. | |
| out_ticks | No | End of the span. -1 means the whole sheet. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must disclose behavioral traits like read-only vs. mutation, side effects, or permissions. The description only states the action without mentioning whether 'preview' is a read operation, what it produces, or any state changes. This is a serious gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that efficiently communicates the core action with zero wasted words. Every part is meaningful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 4 parameters and no output schema, yet the description does not explain what preview produces (e.g., a video clip, thumbnail, or report), whether it modifies state, or what the output format is. Critical operational context is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description echoes the parameter concepts (bounded span, rung) but does not add new semantic meaning beyond what the schema already provides. No additional context or constraints are introduced.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the verb 'Preview' and the resource 'bounded span of a cut sheet at a chosen rung', clearly indicating the action and target. However, given sibling tools like 'inspect', 'hear', and 'watch', it does not differentiate preview from those, so it misses the chance to clarify the unique purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as 'inspect' or 'hear'. There are no explicit use cases, prerequisites, or exclusion criteria, leaving the agent without decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
quoteB
Locate where something was said in a source, and get the tick range it was said in.
| Name | Required | Description | Default |
|---|---|---|---|
| text | No | Words to look for. Empty means everything in the range. | |
| limit | No | Maximum hits to return. | |
| source | Yes | A source handle. | |
| in_ticks | No | Start of the window to search. | |
| out_ticks | No | End of the window. -1 means end of source. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should reveal behavior. It states what the tool does but does not disclose matching rules (case sensitivity, partial matches), error handling (e.g., text not found), or side effects. Returns tick range but format unspecified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no wasted words. However, it could be slightly more structured (e.g., listing output) without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 5 parameters, no annotations, and no output schema, the description is too minimal. It fails to explain the return format, ordering of results, or behavior when no match is found – critical for correct agent invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so each parameter already has a clear description. The tool description adds no additional meaning beyond what the schema provides – baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Locate') and resource ('something said in a source') and clearly states the output ('get the tick range'). This distinguishes it from sibling tools like 'hear' (listen) or 'caption' (transcribe).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs. alternatives (e.g., 'hear' for listening, 'inspect' for metadata). No exclusions or prerequisites mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
soundC
Resolve the sound plan for a cut sheet: the music lane, its level, and the loudness target.
| Name | Required | Description | Default |
|---|---|---|---|
| key | No | Idempotency key. | |
| music | No | An asset handle to place on the sound lane. | |
| sheet | Yes | A cut sheet handle. | |
| target_loudness | No | A loudness target name from the delivery profile. | |
| music_level_millibel | No | Music level in millibel. Bounds are declared in code; an out-of-bounds value is refused, never clamped. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must fully disclose behavioral traits. It only says 'resolve' without explaining what that entails (e.g., does it modify state? require authorization? revertible?). The presence of an idempotency key (key param) hints at safe retries, but this is neither stated nor elaborated. The description fails to clarify whether the tool is read-only or mutating, a critical gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence of 17 words. Every phrase ('resolve the sound plan', 'music lane', 'level', 'loudness target') directly contributes to understanding. No fluff or redundancy. Excellent conciseness for a tool with 5 parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite good parametric documentation in the schema, the description omits crucial details: what the tool returns (no output schema), the nature of 'resolve' (analysis vs. mutation), edge cases (e.g., out-of-bounds music level is refused, not clamped), and required permissions. For a tool with no annotations and moderate complexity, this brief description leaves an agent underinformed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds 'the music lane, its level, and the loudness target', which maps to music, music_level_millibel, and target_loudness, reinforcing their roles. However, it does not explain parameters beyond what the schema already states (e.g., 'key' for idempotency, 'sheet' as the cut sheet handle). No new semantic value is provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool's purpose: resolving a sound plan for a cut sheet, specifying the music lane, its level, and loudness target. This distinguishes it from siblings like 'hear' or 'preview' which likely involve playback or review, not planning. However, the verb 'resolve' is somewhat vague—could mean compute, finalize, or apply—reducing precision.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like 'draft', 'apply', or 'hear'. The description implies use when setting up a sound plan, but does not state exclusions, prerequisites, or typical workflows. Without this, an agent may misuse the tool in contexts better served by a sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
spliceC
Add a segment to the cut sheet, or amend an existing segment's edges.
| Name | Required | Description | Default |
|---|---|---|---|
| key | No | Idempotency key. | |
| why | No | One line for the human reviewer. Never reaches pixels. | |
| cause | Yes | speech, manual, restored, or pad. | |
| sheet | Yes | A cut sheet handle. | |
| source | Yes | A source key from the sheet's sources[]. | |
| segment | No | When given, amend that segment instead of adding one. | |
| in_ticks | Yes | First deliverable tick kept (the body entry's in). | |
| out_ticks | Yes | First deliverable tick not kept (the body entry's out). | |
| source_in_ticks | Yes | Source tick where the kept range begins (pick.in); pick.out is derived. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only mentions adding or amending segments but omits critical behaviors such as idempotency (key parameter), error conditions (e.g., missing sheet or source), or the effect of the 'segment' parameter. The hint about 'why' never reaching pixels is a minor detail but insufficient overall.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, front-loaded with the key actions. It is concise and avoids excess words, though it could be slightly more structured to separate the two modes (add vs. amend) for clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (9 parameters, 6 required, no output schema, no annotations), the description is too brief. It does not explain what a 'cut sheet' is, what happens on success, error handling, or how the output is returned. The agent has insufficient context to use the tool correctly without additional knowledge.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents each parameter. The description adds minimal semantic value beyond the schema—it loosely maps 'amend' to the 'segment' parameter but does not elaborate on tick semantics or the relationship between parameters. The baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Add a segment' or 'amend an existing segment's edges') and the resource ('cut sheet'). It is specific and distinguishes the tool's purpose from generic operations, though it could benefit from clarifying what a 'cut sheet' is in the context of the sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use splice versus other tools like 'carve', 'stock', or 'sound'. There is no mention of prerequisites, alternatives, or contexts where this tool is appropriate or inappropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stockC
Search licensed third-party music and hits, and record the rights for one that fits.
| Name | Required | Description | Default |
|---|---|---|---|
| key | No | Idempotency key. | |
| kind | Yes | music, hit, footage, still or typeface. | |
| limit | No | Maximum candidates. | |
| terms | No | Search terms. | |
| acquire | No | A candidate id from a previous call. Downloads it and records its rights. | |
| refresh | No | Asset handles to re-capture terms for, or the single token '*'. | |
| seconds_min | No | Reject anything shorter, in whole seconds. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for behavioral disclosure. It merely says 'search and record rights' without detailing side effects (e.g., that acquire downloads and creates a record, or that the tool is idempotent via the 'key' parameter). The schema descriptions fill some gaps, but the tool description itself lacks essential behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence of 14 words. It is concise and efficient, but it sacrifices precision and completeness for brevity. It could be slightly improved without losing conciseness, but it is not verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (7 parameters, no output schema, no annotations), the description is too sparse. It fails to explain the search-then-acquire workflow, the role of the idempotency key, or the meaning of the 'refresh' and 'seconds_min' parameters. The description is inadequate for correctly invoking the tool in all scenarios.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (all 7 parameters have descriptions). The tool description adds minimal additional meaning beyond the schema – it maps 'search' to 'terms' and 'record rights' to 'acquire', but does not clarify other parameters like 'refresh', 'seconds_min', or 'kind'. Baseline 3 is appropriate given high schema coverage and limited added value from the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Search licensed third-party music and hits, and record the rights for one that fits.' It identifies a verb+resource but is partially inaccurate: the schema allows searching footage, stills, and typefaces in addition to music and hits. The purpose is vaguely clear but not fully aligned with the tool's capabilities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus its many siblings (e.g., inspect, hear, preview). There is no mention of prerequisites, alternatives, or when not to use it. The description implies a search-and-acquire workflow but offers no explicit selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
trialC
Find out what this machine can actually do, by test-encoding rather than by reading a feature list.
| Name | Required | Description | Default |
|---|---|---|---|
| what | No | Which surveys to run. | |
| force | No | Ignore the cached result and re-run the test encodes. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions 'test-encoding' and cached results (via force param), but does not disclose side effects, performance characteristics, or what the tool actually runs internally. Minimal behavioral insight.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no fluff. Front-loaded with action verb. Could be slightly more structured, but efficiency is good.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and low parameter count (2, none required). Description does not explain return values or what 'surveys' are. For a discovery tool, it is moderately complete but leaves gaps for an AI agent to interpret correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (both parameters have descriptions in the input schema). The description adds the context of 'test-encoding' but does not provide additional semantics beyond what the schema already states. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose is to discover machine capabilities via test-encoding rather than feature lists. It uses a specific verb ('find out') and resource ('capabilities'), but does not differentiate from sibling tools like 'inspect' or 'hear'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. The description implies it is for exploration, but does not specify when not to use it or provide alternative tool names for missing filtering functionality.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verifyC
Run every gate against a cut sheet and report what passes and what blocks.
| Name | Required | Description | Default |
|---|---|---|---|
| sheet | Yes | A cut sheet handle. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full behavioral disclosure burden. It states the tool 'run[s] every gate' and reports pass/block status, but doesn't mention side effects (e.g., does it modify the sheet?), permissions needed, failure modes, or performance implications (e.g., is it expensive for many gates?).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence that efficiently communicates core purpose. Could arguably be more specific (e.g., defining 'gate'), but is not verbose or wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 1 parameter with full schema coverage and no output schema, the description is adequate for basic use. However, given absence of annotations and output schema, the description could better explain what 'passes' vs 'blocks' means in the return format to compensate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already has 100% description coverage defining 'sheet' as 'A cut sheet handle', so the baseline is 3. The description doesn't add further parameter semantics (e.g., what a valid handle looks like), but the schema is sufficient for this single parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verbs ('run every gate') and identifies the domain ('cut sheet'), clearly differentiating it from sibling tools like 'inspect' or 'draft'. However, it doesn't explain what a 'gate' is, which slightly reduces clarity for agents unfamiliar with the domain jargon.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance is provided on when to use this tool versus siblings like 'inspect' (which might also analyze a sheet) or 'draft'. It implies verification use via 'report what passes and what blocks' but lacks exclusions or comparative context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
watchB
Track shot changes and the subject through a source, producing a framing path.
| Name | Required | Description | Default |
|---|---|---|---|
| source | Yes | A source handle. | |
| subject | No | largest, centre, or none. | largest |
| out_shape | No | Target frame shape the path is planned for, as width:height. | 9:16 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must fully disclose behavior. It states the tool tracks shot changes and framing path, implying analysis rather than output creation. However, it does not mention whether this tool modifies state, requires specific permissions, or what system constraints apply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no waste, front-loading the core action and output. It is appropriately succinct.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool deals with framing paths and output shape, the absence of an output schema is notable. The description does not explain what 'framing path' means or what the tool returns, and the sibling tools list is large with no differentiation hints. The description lacks sufficient context for effective tool selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three parameters. The description mentions 'track shot changes and the subject' which implies the 'subject' and 'source' parameters but adds no extra detail beyond the schema. Baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verbs ('track shot changes and the subject') and a clear resource ('source'), producing a 'framing path'. While it distinguishes the tool's purpose, it could better differentiate from siblings like 'inspect' or 'hear' that might also analyze a source.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as 'inspect', 'hear', or 'preview'. The description does not mention non-use cases, context, or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
18 tool updates
v0.0.0- First observed
apply - First observed
cancel - First observed
caption - First observed
carve - First observed
colour - First observed
deliver - First observed
draft - First observed
hear - First observed
inspect - First observed
place - First observed
preview - First observed
quote - First observed
sound - First observed
splice - First observed
stock - First observed
trial - First observed
verify - First observed
watch
TDQS
Scored across 18 tools
Most tools have clearly distinct purposes (e.g., inspect reads media, draft starts a cut sheet, splice adds segments, hear transcribes). A few pairs like 'splice' and 'place' could be confused in the abstract, but descriptions differentiate them. Overall, an agent can reliably distinguish tools.
All tool names are single-word verbs in lowercase, following a highly consistent pattern. Names like 'splice', 'carve', and 'trial' are domain-appropriate and uniform, with no mixing of conventions.
18 tools cover a comprehensive media editing workflow—ingest, editing, verification, delivery, and auxiliary operations. The count feels well-scoped for the domain, with each tool serving a necessary function and no redundancy.
The toolset covers the core editing lifecycle well (from source intake to final delivery). Minor gaps exist, such as a lack of tools for deleting segments, managing sources, or listing projects, but these are not critical to the main editing flow.
Maintenance
Related MCP Connectors
AI video editor for agents and humans: timeline, captions, color, audio and generation as MCP tools.
Make videos and docs with your AI agent — describe what you need, every output stays editable.
Generate and edit images, video, voice, lip-sync and 3D models from your AI agent.
Orccut: a real timeline video editor for AI agents - journaled edits, FFmpeg/MLT rendering
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to edit videos through natural language, providing tools for timeline editing, audio management, rendering, and more.2MIT
- AlicenseAqualityDmaintenanceEnables AI agents to edit video assemblies from A-roll and B-roll, add captions, and publish to social media platforms.277 npmMIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to autonomously edit videos into publish-ready vertical short-form content, including silence removal, subtitle generation, voiceover synthesis, color grading, and composite pipeline creation.MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI coding agents to generate cinematic video and image assets and perform autonomous timeline assembly, multi-track audio editing, chroma-key compositing, and local draft manipulation from conversational prompts.2MIT