Skip to main content
Glama

keyframe

Create blank or duplicate, remove, hold, or unhold paint-layer animation frames at a given frame, shifting later frames as needed, then draw on the active frame.

Instructions

Keyframe operation on a paint layer at frame: blank (new empty drawing), duplicate (copy of the previous drawing), remove, remove_and_pull (shift later frames back), hold (insert a hold frame, shifting later ones), unhold. The layer becomes animated; draw on it while at that frame.

Input Schema

NameRequiredDescriptionDefault
kindNoblank
frameYes
layerNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.3.0

TDQS

B3.4/5.0
Behavior3/5

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 does useful work here by disclosing the downstream side effects of the mutating kinds (remove_and_pull and hold shift later frames), and by stating 'The layer becomes animated'. It omits other behavioral facts an agent needs: whether the operation is undoable, whether layer must be a currently active paint layer, what happens when frame is out of range, and what is returned.

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?

Two sentences, front-loaded with the operation list and ending with the practical consequence. The parenthetical glosses are dense but every one earns its place by defining a value the schema leaves untyped. Minor cost: the kind enumeration is a long comma run that could be easier to scan as a list.

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

Completeness3/5

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

For a three-parameter mutation tool with no annotations and no output schema, the definition covers the operation kinds and the frame target but leaves the layer parameter, the return value, and undo/permission behavior undescribed. Adequate to attempt a call, but an agent would have to experiment to learn what layer=null does.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate, and it does so well for kind — a bare string with no enum in the schema, whose six legal values are only defined in the description. It also clarifies frame as the target position. However, the layer parameter (nullable, default null) is never mentioned, so its meaning is left entirely to guesswork.

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

Purpose4/5

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

The first sentence names a specific resource (a paint layer) and a specific frame target, and enumerates the six operations the tool can perform, so an agent knows exactly what it does. It does not, however, disambiguate itself from close siblings such as list_keyframes, export_animation_frames, or animation_set, so the boundary is left implicit.

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

Usage Guidelines3/5

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

Usage is only implied through the parenthetical glosses on each kind (e.g. 'duplicate (copy of the previous drawing)', 'remove_and_pull (shift later frames back)'). There is no explicit when-to-use versus when-not-to-use guidance, and no sibling (animation_set, list_keyframes) is named as an alternative for related tasks. The trailing sentence 'draw on it while at that frame' is the only real workflow hint.

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