Skip to main content
Glama

move_frame

Reorder animation frames by moving a frame to a new position, carrying its cels and duration so linked cels stay linked. Reports affected tags after the move.

Instructions

Move one frame to another position, taking its cels and its duration with it.

Fixing an ordering mistake otherwise means deleting and redrawing. Nothing is copied:
the frame keeps its identity, so linked cels stay linked.

Args:
    frame: The frame to move, 1-based.
    to: Where it should end up, 1-based, in the numbering *after* the move. Moving
        frame 2 to 5 on a six-frame sprite gives 1, 3, 4, 5, 2, 6.

**Tags mark positions, not pictures.** A tag between the two positions keeps its own
range and now covers a different set of drawings. The result names every tag that
overlapped the frames in between, because that is the part worth checking and it is
invisible in the frame count.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
toYes
frameYes
filenameYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.10.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 readOnlyHint=false annotation by disclosing that nothing is copied, the frame keeps its identity so linked cels stay linked, and that tags mark positions rather than pictures so their ranges shift. It also describes the return behavior (naming every tag that overlapped). This is exactly the mutation-side-effect context annotations cannot convey.

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, then parameter docs, then the tag caveat ordered by importance. Slightly long, and the worked numbering example plus the bolded tag aside push it past the minimum, but each sentence carries information the agent cannot get from the 0%-covered schema.

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

Completeness5/5

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

For a mutating tool with no output schema and no schema descriptions, the description covers the action, the identity/link preservation, the tag-range side effect, and what the result reports. Nothing needed to invoke it correctly is missing.

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

Parameters5/5

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

Schema description coverage is 0%, yet the description fully compensates: frame and to are documented as 1-based, and crucially 'to' is defined in the post-move numbering with a worked example (moving 2 to 5 on six frames gives 1,3,4,5,2,6). Only filename is left implicit, and that is self-evident.

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 ('Move one frame to another position') and immediately qualifies the scope ('taking its cels and its duration with it'). This cleanly separates it from add_frame, duplicate_frame, remove_frame, and reverse_frames in the sibling list.

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

Usage Guidelines4/5

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

Gives a clear use context: fixing an ordering mistake that would otherwise require deleting and redrawing. It contrasts against the delete-and-redraw workflow rather than naming a sibling tool, so it stops short of explicit when-to-use-this-vs-that routing.

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

Deploy Server

Other Tools