Skip to main content
Glama

apply_motion_spec

Compile an explicit numeric motion spec into a Spine skeleton, validating target names, curves, frame alignment, handoffs, and loop seams.

Instructions

Compile an explicit numeric motion spec into a Spine skeleton.

Inspect the source/project first, translate art direction into timed bone and slot tracks with named eases, then call this tool. Specs contain fps, clips, optional handoffs, and bone/slot keys. This validates target names, curve generation, frame alignment, intro→loop handoffs, and loop seams.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
out_jsonYes
motion_specYes
runtime_jsonYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.7.0

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the full burden and does disclose real behavior: it validates target names, curve generation, frame alignment, handoffs, and loop seams, implying invalid specs are rejected. However it doesn't say whether it mutates runtime_json in place, whether it is idempotent, or what a validation failure looks like, which matters for a tool writing out_json.

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?

Purpose is front-loaded in the first sentence and the remaining sentences add workflow, spec shape, and validation behavior. Slightly dense and mixes imperative instructions with descriptive facts, but no sentence is filler.

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 3-required-param mutation tool with no annotations and no output schema, the description covers the spec payload and validation behavior reasonably but omits the meaning of the two file-path parameters and any hint about the result written to out_json. Adequate but with clear gaps.

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 coverage is 0% for three required params, so the description must compensate. It partially does by describing the motion_spec contents (fps, clips, optional handoffs, bone/slot keys), which is genuinely beyond the generic 'object' schema, but runtime_json and out_json are never explained, leaving two of three parameters undocumented.

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?

States a specific verb and artifact ('Compile an explicit numeric motion spec into a Spine skeleton'), which is enough for an agent to distinguish it from validate_motion or rig_and_animate. It identifies the input artifact and the output target, though it never explicitly names the sibling it must not be confused with.

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 workflow placement ('Inspect the source/project first ... then call this tool'), which implies the prerequisite inspect_source step and clarifies the ordering relative to other tools. It stops short of explicit when-not-to-use conditions or naming alternatives like validate_motion for an already-built spec.

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