Skip to main content
Glama

publish_edit

Save a checked render as the next version with its recipe, update linked posts, reply to review comments it fixes, and record a changelog note.

Instructions

Save a checked render as the next version, edits/-vN.mp4, with its recipe. In one call: reads the checks the render ran (it refuses on a failed check; accept=[{rule, why}] for a fail you meant), puts the version on the posts that follow this edit (a version the user picked stays), answers the review comments it fixes (replies: like reply_comment; fixed_in and resolve are set for you) and saves note as the changelog line. Call it once per version. To show another file on a post, call set_post media=... after.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
noteYesOne short line the user reads under the edit, at most 60 characters. Say what the viewer will notice, in plain words. No field names or numbers in dB. Example: 'Music softer. Cut the restart at 0:41.'
acceptNo[{rule, why}]: failed checks you keep on purpose. rule is a rule id or a check id. Saved in the recipe.
renderYesThe job id from render_edit, or its render path.
go_backNotrue to save even when a newer version was saved while this render ran.
repliesNoComments this version fixes: [{id, text, lesson, rule?}], as in reply_comment.
sessionYesSession as 'Project/folder', an absolute path, or its id (from get_session). An old path still works after a rename or move.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the annotations (which only declare non-read-only, non-destructive, closed-world) by disclosing refusal conditions ('it refuses on a failed check'), the accept override, the post-side effect ('puts the version on the posts that follow this edit; a version the user picked stays'), the comment-side effect (fixed_in/resolve auto-set), and concurrency handling ('go_back' for a newer saved version). This is exactly the mutation context the annotations cannot carry.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action, and every clause adds distinct information (refusal, accept, post placement, comment replies, note, once-per-version, set_post fallback). It is a dense run-on paragraph rather than a scannable list, which costs a point, but there is little waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a six-parameter mutation tool with no output schema, the description covers refusal, side effects, sequencing, and the follow-up call. It omits only minor detail such as error surface or what the saved version returns, which is a small residual gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is already 100%, so baseline is 3, but the description adds relational meaning: accept is '[{rule, why}] for a fail you meant', replies behave 'like reply_comment' with fixed_in/resolve set for you, and note becomes the changelog line. These tie parameters to workflow behavior rather than restating field docs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Save a checked render as the next version, edits/<name>-vN.mp4, with its recipe') and names the exact artifact produced. It is clearly distinguishable from siblings like render_edit (which produces the render) and set_post (which shows a different file on a post).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit lifecycle guidance ('Call it once per version') and routing to alternatives ('To show another file on a post, call set_post media=... after'), plus the escape hatch for intentionally failed checks via accept. An agent knows when to use this versus its neighbors without inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.