Check a shot plan will cut together
shoot_plan_checkChecks whether a shot plan will cut together before you film or generate it. It looks for crossed lines of action, mismatched eyelines, missing reactions, speakers who are never on screen, missing geography, jump cuts, travel direction, and props that change with no cause. It returns evidence from the plan and fixes it has already tested. The check is instant, and no AI model runs. It checks editing craft, not whether the film is good. Scenes without staging, dialogue or coverage detail come back "not assessed": call shoot_plan_missing_details for the questions to ask your human. Input: plan, a dpl.plan/1 object sent inline (call shoot_plan_format first if you have not written one). Optionally dispositions, the decision log that shoot_plan_record_decision gave you: a finding you decided about earlier, whose evidence has not changed, comes back closed with your reason, and one whose evidence has changed comes back open again (the answer then also says dispositions_applied: how many decisions were applied, reopened or matched no finding). Without dispositions the answer is the same as ever. Output: dpl.findings/1 with stable finding ids, plan_hash, rules_version, any not_assessed scenes and, per finding, its tested fixes (apply one with shoot_plan_apply_fix). A plan that does not validate gets dpl.diagnostics/1 instead: each problem with its path and a fix. We don't keep the plan. We log a one-way fingerprint (hash) of it, its size, the tool, the type of client, the result and the time taken. Needs an agent key from a Shoot Plan account. Free, and it does not count toward the account's 3 free projects a month. Plans up to 8 MB and 120 calls a minute (5,000 a day).
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"plan": "<plan>"
},
"name": "shoot_plan_check"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| plan | Yes | The plan itself: a dpl.plan/1 JSON object (not text inside a string). Call shoot_plan_format for the schema links and an example. | |
| dispositions | No | The decision log: the dpl.dispositions/1 document shoot_plan_record_decision returned, exactly as returned. You keep it; we don't. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||