Skip to main content
Glama

Performance budget

spine_budget
Read-only

Measure Spine animation metrics per setup pose and frame, compare them against limits for pass/fail, and flag worst values with animation time; estimate draw calls using an atlas or pack.

Instructions

Spine Metrics over the setup pose and every frame: attachments, vertices, vertex transforms, triangles, area, clipping, draw call estimate, timelines, constraint costs; worst values with animation@time. limits for pass/fail; draw calls need atlas or pack (~4 s).

Input Schema

NameRequiredDescriptionDefault
fpsNo
packNoTemporary atlas (projects)
skinNo
atlasNo
inputYes.spine, .json or .skel(.bytes)
limitsNo
skeletonNoNeeded only with several skeletons

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.70.1

TDQS

A3.5/5.0
Behavior4/5

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

With readOnlyHint already declaring this a safe read, the description earns credit for disclosing what is actually returned (worst values annotated as animation@time), and for the performance caveat that draw-call estimation requires an atlas or pack and costs roughly 4 seconds. That cost note is exactly the kind of trait annotations cannot express. It stops short of saying how limits produce pass/fail results or whether failures are errors or flags.

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

Conciseness3/5

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

It is compact and front-loads the metric inventory, but it is written as a semicolon-chained run-on mixing output fields, limit semantics, and a timing caveat. The density costs readability, and 'constraint costs' and 'animation@time' are jargon that would benefit from one clarifying clause.

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 7-parameter tool with a nested limits object and no output schema, the description covers the measured metrics and the pass/fail intent but leaves the result structure and the non-obvious parameters (fps, skin, skeleton) unexplained. An agent could call it, but would be guessing about how limits are reported.

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 43%, so the description must compensate and only partly does: it signals the role of 'limits' (pass/fail thresholds) and the atlas/pack interplay for draw calls. The fps, skin, and skeleton parameters receive no explanation anywhere in narrative form, and the required 'input' format list lives only in the schema.

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 description names a specific resource (Spine metrics over setup pose and every frame) and enumerates the measured quantities, plus the distinguishing 'limits for pass/fail' capability. It never names the sibling spine_measure or spine_audit, so the boundary with those tools rests on the reader inferring that 'budget' means threshold-checking.

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 implied: run it to obtain frame-by-frame metrics and evaluate them against limits. The only explicit conditional guidance is 'draw calls need atlas or pack (~4 s)', which is a prerequisite rather than a when-to-use statement. Nothing tells an agent when to prefer this over spines_measure, spine_inspect, or spine_timing.

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