Skip to main content
Glama

Server Quality Checklist

67%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.7.0

  • Disambiguation3/5

    With 113 tools, there is significant overlap, especially among export and drawing tools. For example, export_frames, export_tags, and export_onion_skin have similar purposes, and multiple fill/draw operations exist. While descriptions are detailed, the sheer number increases the chance of misselection.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern in snake_case (e.g., create_sprite, draw_line, export_png). Even longer names like validate_sprite_for_game_export adhere to this pattern, making naming predictable and clear.

    Tool Count2/5

    113 tools is excessively high for a sprite editor. Many tools could be consolidated or made more generic (e.g., multiple export functions, many drawing types). The scope is large, but the granularity leads to a heavy and unwieldy tool surface.

    Completeness5/5

    The tool set covers the full lifecycle of sprite creation, editing, animation, palette management, tilemaps, exporting, validation, and even metatools like plan_asset_spec and build_asset_from_spec. There are no obvious gaps; all core workflows are supported.

  • Average 3.4/5 across 113 of 113 tools scored. Lowest: 2.3/5.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 30 commits in the last 12 weeks
    • Last stable release on
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is passing
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior1/5

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

    No annotations are provided, so the description carries full burden for behavioral disclosure. It fails to mention that the top layer is removed, that the operation is destructive, or any prerequisite like layer existence. The user cannot infer what happens to the merged layer.

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

    Conciseness2/5

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

    The description is a single sentence with no fluff, but it sacrifices critical information for brevity. Essential details about parameters and effects are missing, making it under-specified.

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

    Completeness1/5

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

    Given no annotations, no output schema, and zero parameter descriptions, the description is vastly incomplete. It leaves an agent without enough information to use the tool correctly or avoid errors.

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

    Parameters1/5

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

    The schema has 0% description coverage on properties. The description adds no explanation for 'filename' or 'layer', so an agent has no idea what these parameters represent or how to supply them.

    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?

    The description clearly states the verb 'merge' and the resource 'a layer down into the layer directly beneath it', which uniquely identifies the action and distinguishes it from siblings like remove_layer, duplicate_layer, or move_layer.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives. It does not mention scenarios where merging is appropriate or when other layer operations should be used instead.

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

  • Behavior2/5

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

    No annotations provided; the description does not disclose any behavioral aspects such as side effects, permission requirements, or impact on layer references. Merely states the operation.

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

    Conciseness2/5

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

    Extremely concise at one sentence, but under-specified. Does not provide enough information to be useful.

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

    Completeness2/5

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

    Given the tool operates within a complex sprite editing environment with many similar tools, the description is incomplete. No mention of return values, error cases, or constraints on new_name.

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

    Parameters1/5

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

    Input schema has 0% description coverage for parameters; the description adds no meaning. The parameter names (layer, filename, new_name) are ambiguous – e.g., 'filename' likely refers to the sprite file but is not clarified.

    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 states the action (rename) and resource (a layer), but does not differentiate from sibling tools like set_layer_properties which could also change the layer name. No mention of context (e.g., which sprite).

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

    Usage Guidelines2/5

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

    No guidance on when to use this tool versus alternatives like set_layer_properties. No prerequisites or exclusions mentioned.

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

  • Behavior2/5

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

    No annotations provided; the description carries full disclosure burden. It does not specify whether the fill overwrites existing content, only affects the current cel, or if it is reversible. For a tool that modifies pixel data, this is insufficient.

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

    Conciseness2/5

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

    While the single sentence is concise, it omits critical information needed for correct use. The brevity sacrifices clarity, making it under-specified rather than efficiently informative.

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

    Completeness1/5

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

    With no output schema, no annotations, and a description that fails to explain even required parameters, the tool definition is severely incomplete. An AI agent lacks sufficient context to invoke this tool correctly or interpret its behavior.

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

    Parameters1/5

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

    The input schema has 0% description coverage on properties. The description adds no details beyond mentioning 'solid colour,' leaving the meaning and format of 'color,' 'filename,' 'frame,' and 'layer' entirely unspecified.

    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?

    The description clearly states the action (fill), the resource (entire target layer/frame cel), and the method (solid colour). This distinguishes it from sibling tools like fill_area, fill_checkerboard, or fill_gradient that fill only portions or patterns.

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

    Usage Guidelines2/5

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

    No explicit guidance on when to use this tool versus alternatives like fill_area or fill_gradient. The description implies it is for entire layer fills but does not mention prerequisites, such as requiring an existing layer or the need to specify a valid filename.

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

  • Behavior2/5

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

    With no annotations provided, the description carries the full burden of behavioral disclosure. It states the action but does not reveal side effects: whether the change is permanent, whether it modifies the file on disk, if there are any constraints (e.g., palette size limit), or if the operation is reversible. This is insufficient for a mutation tool.

    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?

    The description is a single sentence, which is concise, but it sacrifices essential details. It is not overly verbose, but it is under-specified. The structure is minimal but acceptable for a very simple tool, though it fails to convey critical information.

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

    Completeness1/5

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

    Given the tool has two required parameters, no schema descriptions, no output schema, and no annotations, the description is woefully incomplete. It does not explain return values, error scenarios, or the effect on the palette order. An agent cannot reliably use this tool based solely on this description.

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

    Parameters1/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. However, it does not describe either parameter: 'color' format (hex? name?) or 'filename' (path? basename?). The description adds no meaning beyond the schema property names, leaving the agent to guess.

    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?

    The description clearly states the action (append), the resource (a colour to the palette), and the specific scope (to the end). This distinguishes it from sibling tools like set_palette_color, which modifies an existing color. The verb 'append' is precise and unambiguous.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives like set_palette_color or resize_palette. It does not mention prerequisites such as the palette must exist or the required color format. An agent would have to infer usage from context alone.

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

  • Behavior2/5

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

    No annotations exist, so the description carries full burden. It only states the effect (full transparency) but omits behavioral details like undo impact, prerequisites, or side effects. Minimal disclosure.

    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?

    The description is a single sentence, front-loaded, but sacrifices informativeness for brevity. It could include parameter hints without becoming verbose.

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

    Completeness1/5

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

    With no output schema and 0% parameter coverage, the description is incomplete. It does not explain return values, behavior on missing parameters, or edge cases, making it insufficient for correct invocation.

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

    Parameters1/5

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

    Schema description coverage is 0%, and the description does not explain any parameters (frame, layer, filename). It mentions 'target layer/frame cel' but lacks mapping to actual parameters, leaving the agent to guess.

    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?

    The description clearly states the action (erase) and the resource (target layer/frame cel) with a specific outcome (full transparency). It distinguishes from siblings like delete_cel and set_cel_opacity.

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

    Usage Guidelines2/5

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

    No guidance on when to use this tool versus alternatives like delete_cel or set_cel_opacity. The description implies clearing content but does not provide context or exclusions.

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

  • Behavior2/5

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

    No annotations exist, and the description does not disclose whether the fill overwrites existing artwork, requires the tile to exist, or how it interacts with layers or frames. Minimal behavioral context is provided.

    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?

    The description is a single sentence with no waste, but it lacks structural elements like when-to-use or parameter hints. While concise, it is under-informative for a tool with five parameters.

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

    Completeness1/5

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

    Given the tool has 5 parameters, no output schema, and no annotations, the description is far too minimal. It does not explain the filling process, required preconditions, or return behavior, leaving the agent with insufficient context.

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

    Parameters1/5

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

    Schema description coverage is 0%, and the description does not explain any parameter (e.g., color format, layer meaning, tile_index requirement). The agent has no guidance on parameter semantics beyond the schema's property names.

    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?

    The description clearly states the action ('fill'), target ('existing tile's artwork'), and medium ('solid colour'). It distinguishes from siblings like fill_area or fill_layer by specifying 'tile', which is unique among the many fill tools.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives such as fill_area, fill_layer, or paint_tile_pixels. The agent must infer from the name alone.

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

  • Behavior2/5

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

    No annotations provided; description only says 'delete,' which implies destructiveness. No details on error handling, reversibility, or side effects.

    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?

    Very concise single sentence, no fluff. However, brevity sacrifices essential parameter context.

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

    Completeness2/5

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

    Given no output schema and two parameters, the description should at minimum explain what filename and name represent. It fails to do so, leaving the tool's usage unclear.

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

    Parameters1/5

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

    The description does not explain the two parameters (filename and name). With 0% schema description coverage, the agent lacks context to understand what values to provide.

    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 states a specific action (delete) and resource (slice), clearly distinguishing it from siblings like remove_tag or remove_frame. However, it could be more explicit about the filename parameter's role.

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

    Usage Guidelines2/5

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

    No guidance on when to use this tool versus alternatives, such as add_slice or set_slice. No prerequisites or conditions mentioned.

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

  • Behavior2/5

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

    With no annotations, the description must disclose behavioral traits. It only states that the cel's image is moved to a position, implying mutation, but lacks details on idempotency, bounds checking, immediate effect, or side effects. The minimal description leaves the agent with significant uncertainty.

    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?

    The description is a single sentence, which is concise, but it omits critical details. It qualifies as 'appropriately sized' for a simple action, but the structure is flat with no breakdown of parameters or context. For 5 required parameters, a short sentence is insufficient.

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

    Completeness1/5

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

    Given the tool has 5 required parameters, no output schema, and no annotations, the description is woefully incomplete. It does not explain what a cel is, coordinate system, error conditions, or the effect on other cels. The agent cannot reliably use this tool based solely on the description.

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

    Parameters1/5

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

    The input schema has 5 parameters with titles only, and the description adds no information beyond that. It does not explain what x and y represent (e.g., pixel coordinates), how frame and layer identify the cel, or what filename refers to. Since schema coverage is 0%, the description must compensate but fails completely.

    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?

    The description clearly identifies the action (Move) and resource (cel's image) along with the target (position (x, y) within the canvas). It distinguishes this tool from sibling tools like get_cel, delete_cel, set_cel_opacity, etc., which have different purposes.

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

    Usage Guidelines2/5

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

    No usage guidelines are provided. There is no mention of when to use this tool, prerequisites (e.g., cel must exist), or when not to use it (e.g., if the cel is locked). The description does not help the agent choose between this and other position-manipulation tools like move_layer.

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

  • Behavior2/5

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

    No annotations are provided, so the description must fully disclose behavior. It says the background layer is 'opaque' but does not state whether the original normal layer is removed, what happens to the existing background layer, or any side effects. This is insufficient for a mutation tool.

    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?

    The description is extremely short (one sentence), which is concise but at the expense of necessary detail. It front-loads the purpose but omits important usage and behavioral information. Every word earns its place, but more words are needed.

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

    Completeness2/5

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

    Given the tool's complexity (a mutation with potential overwrite), the lack of annotations and output schema, the description is incomplete. It does not explain return values or the effect on the background layer, leaving the agent with insufficient information.

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

    Parameters1/5

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

    Schema description coverage is 0%, and the description adds no meaning to the two parameters ('layer' and 'filename'). It does not explain that 'filename' identifies the sprite or that 'layer' is the name of the layer to convert. No additional context.

    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?

    The description clearly states the verb 'convert' and the resource 'normal layer' into the 'Background layer'. It distinguishes from the sibling tool 'convert_background_to_layer' which does the opposite.

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

    Usage Guidelines2/5

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

    No guidance on when to use this tool or when not to. Does not mention that a sprite can only have one background layer, or that converting may overwrite an existing background. No context about prerequisites or alternatives.

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

  • Behavior2/5

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

    No annotations provided. The description lacks details on side effects, reversibility, authorization requirements, or what happens to the cel data permanently. For a destructive tool, this is insufficient.

    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?

    The description is very short (one sentence) but not overly concise—it lacks necessary details. It is not front-loaded; the key info (delete) is present, but nothing else.

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

    Completeness2/5

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

    Given the tool's simplicity (3 params, no output schema), the description is incomplete. It does not explain the effect on the sprite, whether it can be undone, or what happens if the cel doesn't exist.

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

    Parameters1/5

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

    Schema has 0% description coverage, yet the description adds no meaning to parameters like filename, layer, or frame. It does not explain expected formats, constraints, or how they relate to the operation.

    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?

    The description clearly states the action ('delete'), the resource ('cel'), and the result ('layer becomes empty at that frame'). It distinguishes from sibling tools like copy_cel, get_cel, set_cel_opacity, etc.

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

    Usage Guidelines2/5

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

    No guidance on when to use this tool versus alternatives. The description does not mention prerequisites, when not to use, or suggest alternative tools like copy_cel or set_cel_opacity.

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

  • Behavior2/5

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

    Beyond the filled parameter behavior, the description lacks details on side effects, required permissions, or coordinate system. Without annotations, the description should disclose more traits.

    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 concise sentences with no fluff. However, the description could be more informative without sacrificing brevity.

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

    Completeness2/5

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

    For a tool with 9 parameters (6 required) and no output schema, the description is too brief. It omits details on frame, layer, coordinate system, and return values, which are needed for proper use.

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

    Parameters2/5

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

    Only the 'filled' parameter is explained. With 0% schema description coverage, the description adds minimal value for the other 8 parameters, leaving their semantics unclear.

    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 clearly states 'Draw a rectangle.' which pairs a specific verb with a resource. However, it does not differentiate from sibling drawing tools like draw_ellipse or draw_polyline.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, limitations, or when not to use it.

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

  • Behavior2/5

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

    Without annotations, the description must reveal behavioral traits. It states 'fill the entire grid' implying destructive overwrite, but does not confirm this, nor does it mention if the operation is irreversible, if it affects all frames or only the specified frame, or if the tile index must exist in the tileset. The frame parameter defaults to 1, but this is not explained.

    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?

    The description is a single sentence, which is concise, but it is too brief to cover necessary details. It does not front-load key constraints or provide any structure. While not verbose, it sacrifices clarity for brevity.

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

    Completeness2/5

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

    Given the complexity (4 parameters, no output schema), the description is incomplete. It does not explain the return value (likely void or confirmation), nor does it describe side effects or prerequisites. The description fails to provide enough information for an agent to confidently invoke the tool.

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

    Parameters1/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. It only mentions 'tile index' but does not explain what filename, layer, or frame refer to. Users are left to infer that filename is the sprite file and layer is the tilemap layer, but no details are given. This is insufficient for correct parameter usage.

    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?

    The description clearly states the action ('Fill the entire tilemap grid') and the resource ('single tile index'), distinguishing it from siblings like fill_tile (fills a tile region) or set_tile (sets individual tiles). It is specific and unambiguous.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool vs alternatives. For example, it does not indicate that it overwrites all existing tiles or that it is a convenient bulk operation compared to set_tiles. Sibling toolset includes many similar operations, making this gap significant.

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

  • Behavior3/5

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

    The description includes the phrase 'in place', signaling that the tool mutates the sprite. However, without annotations, it lacks details on permanence, side effects (e.g., lost layer properties), or undo capability. This is adequate but not comprehensive.

    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?

    The description is extremely concise, using a single phrase and parenthetical. It front-loads the action and scope, with no wasted words. However, the brevity sacrifices some completeness for the parameter.

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

    Completeness2/5

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

    Given the lack of output schema and no parameter description, the description is incomplete. It does not explain the role of 'filename', expected behavior on failure, or any contextual prerequisites like an open sprite. The tool is simple, but more context is needed.

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

    Parameters1/5

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

    The sole parameter 'filename' has 0% schema description coverage, and the tool description provides no additional meaning about what 'filename' refers to (e.g., the sprite to flatten). The agent is left to infer the syntax and semantics.

    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 states the action 'flatten' and the resource 'all layers into a single layer', making the core purpose clear. However, it does not explicitly differentiate from similar sibling tools like 'merge_layer_down', though the phrase 'all layers' implies a broader scope.

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

    Usage Guidelines2/5

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

    No guidance on when to use this tool versus alternatives. There is no mention of prerequisites, conditions, or explicit exclusions. The description only states what it does, not when or why to use it.

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

  • Behavior2/5

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

    With no annotations, the description carries the full burden of behavioral disclosure. It lacks details on side effects (e.g., irreversibility), permission requirements, or what happens if the tag does not exist.

    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?

    The description is very short (one sentence, five words), which is concise but at the expense of necessary detail. It is front-loaded but insufficient for completeness.

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

    Completeness2/5

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

    Given no output schema and minimal description, the tool definition is incomplete. It does not specify return values, error handling, or any contextual constraints beyond the bare action.

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

    Parameters1/5

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

    Schema description coverage is 0%, meaning no parameter descriptions exist. The tool description does not compensate; it does not explain what 'filename' and 'name' represent or their formats.

    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?

    The description clearly states the action 'Delete' and the resource 'animation tag by name', making the tool's purpose unambiguous. It distinguishes itself from sibling tools like 'add_tag' and 'set_tag'.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, error conditions, or typical use cases.

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

  • Behavior2/5

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

    With no annotations, the description must disclose behavioral traits. It only states the operation and range, omitting side effects, required permissions, or whether the operation is reversible. The impact of setting opacity on other cel properties is not addressed.

    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?

    The description is extremely concise (one sentence, 7 words), but this is achieved at the expense of necessary detail. It is not verbose, but it is underspecified.

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

    Completeness2/5

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

    Given the tool has 4 required parameters and no output schema, the description is incomplete. It does not explain how to identify the cel uniquely, what the response looks like, or error conditions. The minimal information leaves significant gaps for correct invocation.

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

    Parameters1/5

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

    The schema has 0% coverage (no descriptions), and the description adds meaning only for 'opacity' (range). The other three parameters (filename, layer, frame) are not explained at all, leaving the agent to infer from names alone.

    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?

    The description clearly states the action ('Set') and the specific resource ('cel's opacity') with an explicit range (0-255). It effectively distinguishes from siblings like set_cel_position or copy_cel.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives, nor any preconditions or exclusions. For example, it doesn't clarify whether the cel must already exist or if it creates one.

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

  • Behavior2/5

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

    No annotations provided, so the description must fully disclose behavior. It states the operation is mutating, but omits details on side effects, reversibility, valid index range, or impact on existing pixels. This leaves significant ambiguity for an AI agent.

    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?

    The description is very short (one sentence), but omits critical information. It is not a model of efficiency because it sacrifices completeness for brevity.

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

    Completeness1/5

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

    Given no annotations, no output schema, and 0% schema coverage, the description fails to provide enough context for a tool that modifies sprite transparency. It does not cover valid index ranges, side effects, or relationship to sibling tools.

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

    Parameters1/5

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

    Schema description coverage is 0%, and the description adds no explanation for the two required parameters (filename, index). The agent must infer meaning from names alone, which is insufficient for correct invocation.

    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?

    The description clearly specifies the action ('Set'), the resource ('which palette index is treated as transparent'), and the context ('indexed sprites only'), making it easy to understand what the tool does and distinguishing it from other sprite-related tools.

    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?

    The description implies usage only for indexed sprites, but does not explicitly state when to use this tool versus alternatives like set_palette_color or other palette operations. No guidance on prerequisites or exclusions.

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

  • Behavior2/5

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

    With no annotations, the description must fully disclose behavioral traits. It describes the effect (adding an outline) and parameter meanings, but omits critical behavioral details: whether the operation is destructive, how it interacts with existing pixels, if it requires a selection, or if it modifies all frames. The missing required parameters (filename, frame, layer) also obscure the tool's actual behavior.

    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?

    The description is concise and front-loads the purpose. The Args list is structured but incomplete, missing three parameters (filename, frame, layer). This structural flaw reduces effectiveness, though overall length is appropriate.

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

    Completeness2/5

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

    Given the tool's complexity (7 parameters, no annotations, no output schema), the description is insufficient. It explains only 4 parameters and omits the required filename and optional frame/layer. It does not describe return values, side effects, or how to specify the target sprite/layer, leaving the agent with incomplete context to invoke the tool correctly.

    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?

    The description adds meaning for 4 of 7 parameters (color, thickness, connectivity, where) beyond the schema, which has 0% description coverage. However, it fails to explain the required 'filename' and optional 'frame' and 'layer' parameters, which are essential for correct usage. This partial coverage limits the value added.

    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 clearly states it adds a pixel outline around artwork on a layer, which distinguishes it from other drawing tools like 'draw_rectangle' or 'add_drop_shadow'. However, it does not explicitly mention that it operates on a specific sprite (via filename) or layer, leaving some ambiguity about the target.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives. For example, it does not contrast with 'add_drop_shadow' or 'draw_line' to help an agent choose. The description also does not state prerequisites (e.g., a layer must exist) or when not to use it.

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

  • Behavior2/5

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

    With no annotations, the description should disclose behavioral traits like side effects, error conditions, or requirements. It only says 'Create a slice' without noting that a 'filename' parameter identifies the sprite, whether the sprite must be open, or if duplicate names cause errors. The description is insufficient for an unannotated tool.

    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?

    The description is short and to the point, using a clear structure with 'Args:' list. However, the formatting is somewhat non-standard for MCP descriptions (e.g., code-like indentation). Overall, it is concise without being terse.

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

    Completeness2/5

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

    Given 14 parameters, 6 required, no output schema, and no annotations, the description should provide more context (e.g., which sprite operates on, return value, error handling). It does not mention that the slice is added to the current sprite or that filename is needed. This leaves significant gaps for an agent.

    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?

    The description adds meaning for optional parameters: center_* 'relative to slice's top-left' and 'provide all four to mark stretchable middle', pivot_* 'relative to slice', color 'shown in editor', data 'optional user data'. However, required parameters like filename, x, y, width, height are not explained, and schema coverage is 0%. The description partially compensates but not fully.

    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 states 'Create a slice (named region) at (x, y, width, height)', clearly indicating the verb (create) and resource (slice). However, it does not distinguish this tool from related sibling tools like 'set_slice' or 'remove_slice', so it misses some differentiation.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives like 'set_slice' or 'list_slices'. The description does not mention prerequisites (e.g., sprite must be open) or when not to use it. This leaves the agent without context for tool selection.

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

  • Behavior2/5

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

    With no annotations, the description carries full burden for behavioral disclosure. It explains the direction and color parameters but omits important details: what happens if a tag with the same name exists, if from_frame > to_frame, or any side effects. The basic creation behavior is implied, but not comprehensive.

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

    Conciseness5/5

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

    Extremely concise: two sentences. First sentence states purpose and frame range. Second sentence lists optional parameters. No redundant information. Well-structured for quick parsing.

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

    Completeness2/5

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

    Given 6 parameters (4 required), no output schema, and no annotations, the description is incomplete. It covers direction and color but omits filename, name, from_frame, to_frame details (though from/to are partially addressed). It does not describe return value or what the tag represents in animation context.

    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%, so description must compensate. It explains 'direction' (enum values) and 'color' (optional, timeline display). It clarifies 'from_frame' and 'to_frame' as frame range with 1-based indexing. However, 'filename' and 'name' are not explained; their purpose is somewhat obvious but not formally defined.

    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 clearly states the tool creates an animation tag spanning frames, with specific verb 'create' and resource 'tag'. It distinguishes from sibling tools like set_tag or remove_tag by focusing on creation, though not explicitly comparing.

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

    Usage Guidelines2/5

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

    No guidance on when to use this tool vs alternatives like set_tag or remove_tag. The description does not mention any prerequisites, conflicts, or context for when this is appropriate.

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

  • Behavior2/5

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

    No annotations are provided, so the description must fully disclose behavioral traits. It mentions creation (mutation) but lacks details on side effects, required permissions, or any constraints (e.g., whether the sprite must exist). The empty grid implication is noted, but overall transparency is low.

    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?

    The description is brief (one sentence plus an Args list) and front-loaded. Every sentence adds value, though the list format is clear. Could be slightly improved by reordering or formatting, but overall efficient.

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

    Completeness2/5

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

    Given the lack of output schema and the presence of a required but unexplained parameter (filename), the description is incomplete. It does not explain what the tool returns or how the filename relates to the layer creation, leaving agents potentially confused.

    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?

    The schema has 0% description coverage, so the description must compensate. It explains tile_width, tile_height, columns, and rows with meaningful context (sets grid, covers canvas). However, it omits the required 'filename' and optional 'frame', leaving those parameters ambiguous. Partial but incomplete compensation.

    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 clearly states the action ('Create a tilemap layer') and the object ('with an empty grid'), which distinguishes it from sibling tools like add_layer or add_group_layer. However, it fails to mention the required 'filename' parameter, which is crucial for understanding what sprite context the layer is created in.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives such as add_layer or add_group_layer. The context signals show numerous sibling tools, but the description does not help an agent choose this tool over others.

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

  • Behavior2/5

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

    The description does not specify whether the operation is destructive or creates a new sprite, nor does it clarify that frame/layer parameters limit the effect. With no annotations, these behavioral traits remain hidden, risking misuse.

    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?

    Extremely concise single sentence that conveys the core function. However, given the number of parameters and complexity, the brevity comes at the cost of completeness.

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

    Completeness2/5

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

    Lacks explanation of return value, side effects, or scope. With no output schema and high parameter count, the description is insufficient for an agent to use the tool correctly in diverse contexts.

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

    Parameters2/5

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

    Only 'amount' is explained (percent, 0-100). The critical 'filename' parameter and optional 'frame'/'layer' are not described. Schema coverage is 0%, so the description should compensate but fails to clarify the meaning of three out of four parameters.

    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?

    The description clearly states the action ('desaturate') and target ('toward grayscale') with the key parameter 'amount' and its range (0-100). It distinguishes this tool from siblings like 'adjust_hue_saturation' which handle broader color adjustments.

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

    Usage Guidelines2/5

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

    No guidance on when to use this tool versus alternatives. For example, it does not mention that this tool fully desaturates at 100% or that other tools might offer more nuanced color effects. The agent receives no decision support.

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

  • Behavior2/5

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

    With no annotations provided, the description carries full responsibility for behavioral disclosure. It only states the basic action (fill with checkerboard) but does not explain whether the region is defined by x/y/width/height, whether it overwrites existing pixels, or any side effects (e.g., destructive nature, layer targeting). Minimal behavioral insight beyond the action itself.

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

    Conciseness5/5

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

    The description is a single 14-word sentence that is well front-loaded with the core action. Every word adds meaning; there is no repetition or filler. Ideal conciseness for a straightforward tool.

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

    Completeness1/5

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

    Given 10 parameters, 3 required, no output schema, and no annotations, the description is severely underdeveloped. It omits how the checkerboard region is specified (x, y, width, height), which frame or layer it affects, and the role of 'filename'. For a tool with such complexity, the description is far from complete enough to guide correct invocation.

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

    Parameters2/5

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

    Schema coverage is 0%, so the description must add meaning to parameters. It only mentions 'size' in backticks, hinting at one parameter. The 2-colour description vaguely relates to color1 and color2, but x, y, width, height, frame, layer, and filename are left completely unexplained. The description adds minimal value over the raw parameter names.

    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?

    The description clearly states the tool fills a region with a 2-colour checkerboard of specified square size. It uses a specific verb ('fill') and resource ('region'), and the pattern immediately distinguishes it from siblings like fill_area or fill_gradient.

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

    Usage Guidelines2/5

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

    No guidance is given on when to use this tool versus alternatives; no mention of prerequisites, limitations, or when not to use it. The description implies usage via its name but offers no explicit context.

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

  • Behavior2/5

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

    No annotations provided, so description must carry full behavioral burden. It does not disclose whether flipping is destructive, if it modifies the sprite in place, or what the outcome looks like. The description is too brief to convey important behavioral traits.

    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?

    Very concise, one descriptive sentence plus a parameter hint. No redundancy, but could be slightly more structured. Efficient use of space for the limited information provided.

    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?

    Given no output schema and simple parameters, the description is partially complete. It lacks behavioral details (e.g., side effects, return value) that would help an agent use it safely. Adequate but not thorough for a tool with many siblings.

    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%, so description must compensate. It explains the 'direction' parameter with example values ('horizontal' or 'vertical'), which adds value. However, it ignores the 'filename' parameter entirely, leaving it undocumented. Partial coverage but minimally helpful.

    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?

    Description clearly states the tool flips the entire sprite, using a specific verb and resource. It does not explicitly distinguish from sibling tools like mirror_layer or rotate_sprite, but the action is distinct enough for an agent to infer the purpose.

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

    Usage Guidelines2/5

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

    No guidance on when to use this tool versus alternatives. No prerequisites, when-not-to-use, or context provided. The description is purely functional, leaving the agent to guess appropriateness.

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

  • Behavior2/5

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

    Without annotations, the description bears the full burden of behavioral disclosure. It only notes that alpha is preserved, but fails to clarify if the operation is destructive, whether it modifies the sprite in-place, or what happens when parameters like layer or frame are not specified. The agent cannot fully anticipate side effects.

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

    Conciseness5/5

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

    The description is a single 10-word sentence that efficiently conveys the core purpose. Every word earns its place, with no redundancy or filler.

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

    Completeness2/5

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

    For a tool with 3 parameters (1 required) and no output schema, the description lacks essential context: what 'filename' represents, default behaviors for frame and layer, and what the tool returns or confirms. Without annotations, significant information is missing.

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

    Parameters1/5

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

    Schema description coverage is 0%, but the description does not explain any of the three parameters (filename, frame, layer). The agent needs to infer what 'filename' refers to, what 'null' means for layer, and how 'frame' is used. This is a critical gap.

    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?

    The description clearly states the tool's function: 'Invert the RGB colours of a layer's pixels (alpha preserved).' This specifies a unique action (invert) on a specific resource (layer's pixels) and distinguishes it from sibling tools like 'desaturate' or 'replace_color'.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, when not to use it, or context where other tools might be preferred. The description only states what it does, leaving the agent to infer usage.

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

  • Behavior2/5

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

    With no annotations provided, the description must fully disclose behavior. It mentions tile-local coordinates and the pixels parameter format, but lacks critical details: whether this is additive or overwriting, what happens to existing pixels, if there are any side effects, or performance implications.

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

    Conciseness5/5

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

    The description is extremely concise: two sentences that front-load the purpose and then detail the important 'pixels' parameter. No extraneous words earn their place.

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

    Completeness2/5

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

    Despite the tool's apparent simplicity, it has 6 parameters, no output schema, and many siblings. The description does not cover return value, error states, interaction with layers/frames, or how it relates to similar tools like draw_pixels or stamp_pattern.

    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 is the sole source of parameter semantics. It explains the 'pixels' parameter structure and the optional 'color' fallback, but does not clarify 'filename', 'layer', 'tile_index', or 'frame'. The explanation adds value but leaves many 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?

    The description clearly states the action ('draw individual pixels') and the resource ('tile's artwork') with spatial context ('tile-local coordinates'), distinguishing it from sibling drawing tools that operate on different scales (e.g., draw_pixels for general canvas, fill_area for filling).

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool vs. alternatives like draw_pixels, fill_area, or draw_brush. The description does not specify any prerequisites, common use cases, or when to avoid this tool.

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

  • Behavior3/5

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

    With no annotations, the description carries the burden. It discloses the basic action (load and apply) but omits details like whether it replaces the current palette, error handling, or supported file size. Adequate but not thorough.

    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?

    Single sentence with no fluff. Lists supported file types efficiently. Could be slightly more structured (e.g., separating load from apply) but still effective.

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

    Completeness2/5

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

    Given zero schema descriptions, no output schema, and no annotations, the description is too brief. Missing parameter semantics, return value, and error conditions. Not sufficient for reliable agent invocation among many sibling tools.

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

    Parameters1/5

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

    Schema coverage is 0%, and the description fails to clarify the role of each parameter. 'filename' and 'palette_file' are ambiguous; it's unclear which is the palette source and which is the target. No value added beyond parameter names.

    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?

    The description clearly states the verb ('Load') and resource ('palette from a file'), lists supported file formats, and implies application. It distinguishes from sibling tools like get_palette and set_palette by specifying external file loading.

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

    Usage Guidelines2/5

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

    No guidance on when to use this tool versus alternatives. No prerequisites, exclusions, or context provided. An agent would not know if this is the right choice for palette operations.

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

  • Behavior2/5

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

    No annotations are provided, so the description must carry the full burden. It discloses that the tile is added to the tileset, optionally filled with color, and returns an index. Missing details: destructive nature (tileset size changes), prerequisites (e.g., valid layer), and default insertion behavior.

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

    Conciseness5/5

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

    Two concise sentences: the first states the action, the second states the return value. No extraneous information. Front-loaded and efficiently worded.

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

    Completeness2/5

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

    Given 4 parameters, 2 required, no output schema, and no annotations, the description is insufficient. It does not cover parameter meanings, behavioral constraints, or return value semantics beyond 'index'. The agent lacks critical details to use the tool correctly.

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

    Parameters1/5

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

    With 0% schema description coverage, the description should explain parameters. It only mentions 'color' as optional fill. The required parameters 'filename' and 'layer' and optional 'frame' are unexplained, leaving the agent to guess their purpose.

    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?

    The description clearly states the verb 'Add' and the resource 'tile to the layer's tileset', distinguishing it from sibling tools that modify existing tiles (e.g., set_tile, fill_tile) or perform other actions. It also specifies optional filling and return of index.

    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?

    The description implies usage for adding a new tile but does not explicitly contrast with alternatives like set_tile or fill_tile. However, the action of adding versus modifying is reasonably clear from the context.

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

  • Behavior2/5

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

    No annotations provided, so description must carry full burden. It mentions the copy is inserted after the original, but omits side effects (e.g., does it preserve all properties? affect subsequent indices? require permissions?). Partially addresses behavior but insufficient for a mutation tool.

    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?

    Single sentence, front-loaded with main action. Very concise with no wasted words, but could benefit from separating parameter explanations.

    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?

    Minimal but covers essentials for a simple mutation. Lacks return value description and error conditions (e.g., invalid frame index). Adequate given tool simplicity but could be more complete.

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

    Parameters2/5

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

    Schema coverage is 0%, so description must compensate. It adds meaning to 'frame' (1-based) but not to 'filename', leaving ambiguity. Adds partial value but incomplete.

    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?

    The description clearly states the action ('duplicate'), the resource ('existing frame'), and the result ('copy is inserted after it'). It effectively distinguishes from sibling tools like add_frame (which adds an empty frame) and remove_frame.

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

    Usage Guidelines2/5

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

    No explicit guidance on when to use this tool versus alternatives. With many sibling tools for frame manipulation (e.g., add_frame, remove_frame, set_frame_duration), the description lacks context for decision-making.

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

  • Behavior3/5

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

    With no annotations, the description must disclose behavioral traits. It explains the overwrite parameter's no-clobber default and indicates the operation is an export, implying non-destructive. However, it does not explicitly state that the source sprite is not modified, nor does it mention any prerequisites (e.g., sprite must be open). Sufficient but not thorough.

    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?

    The description is concise: one sentence summarizing the action plus a bulleted list of arguments. No unnecessary information. Could be improved by structuring the args more clearly (e.g., using a table) or adding a note about the missing filename parameter.

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

    Completeness2/5

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

    Given 5 parameters, no output schema, and no annotations, the description is incomplete. It fails to explain the 'filename' parameter, does not describe return behavior, and provides no context about prerequisites or how this tool fits among many similar export siblings. The agent may struggle to use it correctly without additional information.

    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?

    The description adds meaning for 4 of 5 parameters (output, frame, scale, overwrite) including defaults and semantics. However, it completely omits the required 'filename' parameter, leaving its purpose unclear. Schema coverage is 0%, so the description must compensate, and this gap reduces the score.

    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?

    Clearly states it exports one frame as a flattened PNG. The verb 'export' and resource 'one frame' are specific. However, it does not differentiate from sibling export tools like export_frames or export_gif, which could cause confusion. A mention of when to use this vs others would push it to 5.

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

    Usage Guidelines2/5

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

    No guidance on when to use this tool versus alternatives. The description does not provide context for selecting this over export_frames, export_layer, etc. The agent is left to infer the tool's role based on name and parameters alone.

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

  • Behavior2/5

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

    No annotations provided. Description only lists output, not behavior (read-only, side effects, permissions, rate limits). With no annotations, description must cover behavioral traits but fails to do so.

    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?

    Single sentence is concise and front-loaded with purpose. Structure could be improved by breaking into bullets or adding examples, but currently efficient and clear.

    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?

    Lists output fields adequately but omits error cases, required state (sprite must be loaded?), units of size, or color mode options. With no output schema, description should be more thorough.

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

    Parameters2/5

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

    Only parameter 'filename' has 0% schema description coverage. Description adds no extra meaning (format, allowed values, path conventions). Should compensate for missing schema metadata.

    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?

    The description uses specific verb 'Return' and lists exact data returned (size, colour mode, frames, layer tree, tags, palette). It clearly distinguishes from siblings that return individual pieces like get_palette or get_pixels.

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

    Usage Guidelines2/5

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

    No explicit guidance on when to use this comprehensive tool vs specific getters like get_palette or get_tilemap. Implies it's for overall sprite info but doesn't state when to prefer this over alternatives.

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

  • Behavior3/5

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

    With no annotations, the description carries the full burden. It states the tool reads and returns a grid, but does not disclose potential side effects (none expected), performance implications of a large grid, or format details of the output. Basic transparency but lacks depth.

    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?

    The description is a single sentence, very concise, but at the expense of critical parameter information. Efficient wording, but missing content reduces its usefulness.

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

    Completeness2/5

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

    No output schema, no annotations, and 3 parameters with 0% coverage make the description incomplete. It fails to explain how to invoke the tool correctly (parameters) and does not contextualize among sibling tilemap tools.

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

    Parameters1/5

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

    Schema coverage is 0%, requiring description to explain parameters. The description mentions none of the parameters (filename, layer, frame). The agent must infer their meaning from the tool name and schema types, which is insufficient.

    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?

    The description clearly states the verb 'Read' and the resource 'tilemap', and specifies the output as a '2D grid of tile indices, plus tile size and count'. This distinguishes it from sibling tools like create_tilemap_layer or set_tiles, which modify the tilemap.

    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?

    No explicit guidance on when to use this tool versus alternatives. The description implies it is for reading, but does not mention prerequisites, such as the tilemap existing on the specified layer and filename, or when other read tools might be more appropriate.

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

  • Behavior2/5

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

    With no annotations, the description must fully disclose behavioral traits. It only states that duration is in milliseconds and frames are 1-based, but lacks details on side effects, error behavior, or authorization needs.

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

    Conciseness5/5

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

    The description is a single, clear sentence without any extraneous words. Every part adds value.

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

    Completeness2/5

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

    For a mutation tool with no annotations or output schema, the description is too sparse. It omits return value information, error handling, and prerequisites like 'filename' purpose.

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

    Parameters2/5

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

    Schema coverage is 0%, so the description must explain parameters. It clarifies 'frame' as 1-based and 'duration_ms' as milliseconds, but leaves 'filename' completely unexplained.

    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?

    The description clearly states the verb 'Set' and the resource 'a single frame's duration in milliseconds' and specifies that the frame index is 1-based. This distinguishes it from siblings like set_all_frame_durations.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives such as set_all_frame_durations, nor does it mention any prerequisites or conditions.

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

  • Behavior2/5

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

    No annotations exist, so the description must fully disclose behavior. It lacks details on whether the tool overwrites existing cels, what happens if the source frame has no cel, or how position is handled. Only minimal copy action is stated.

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

    Conciseness5/5

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

    The description is a single concise sentence that immediately states the purpose. No unnecessary words.

    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?

    Given the tool's complexity (4 required params, no output schema, no annotations), the description provides the basic action but omits important behavioral context like overwrite behavior and parameter details. It is adequate but not fully complete.

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

    Parameters2/5

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

    With 0% schema coverage and no parameter descriptions in the schema, the description does not add any meaning to the parameters beyond their names (filename, layer, from_frame, to_frame). No format or constraints are given.

    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?

    The description explicitly states the action 'Copy a cel's image (and position)' and the scope 'from one frame to another on the same layer.' This clearly identifies the tool's purpose and distinguishes it from siblings like 'duplicate_frame' or 'set_cel_position.'

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives such as 'duplicate_frame' or 'set_cel_position.' No prerequisites, limitations, or usage context are mentioned.

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

  • Behavior2/5

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

    With no annotations, the description should disclose behavioral traits. It only mentions the optional data: prefix for the base64 string. Missing are critical details: whether the operation is destructive, what happens if the layer doesn't exist, whether it affects the undo stack, or if there are size limitations.

    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?

    The description is concise with two sentences, front-loading the core action. However, the extreme brevity sacrifices needed detail. One more sentence covering the filename and layer parameters would improve without losing conciseness.

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

    Completeness2/5

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

    Given 8 parameters, no output schema, and no annotations, the description is too sparse. It omits key parameters (filename, layer, blend_mode, etc.) and does not explain return behavior or side effects, making it incomplete for autonomous agent use.

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

    Parameters2/5

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

    Schema coverage is 0%, so the description must explain parameters. It only clarifies x, y, and image_base64 (mentioning the prefix). The required 'filename' parameter is not explained at all, and optional parameters like opacity, blend_mode, frame, and layer receive no description, leaving their purpose ambiguous.

    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?

    The description clearly states the tool composites a base64-encoded image onto a layer at specific coordinates. The verb 'composite' is precise, and the distinction from siblings like 'import_image' (which likely uses file paths) is evident.

    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?

    The description mentions it's useful for pasting externally generated artwork, implying a use case. However, it does not provide explicit guidance on when to avoid this tool or suggest alternatives among the many sibling tools, leaving the agent to infer context.

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

  • Behavior3/5

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

    The description discloses the overwrite behavior ('Replace output if it already exists (default False = no-clobber)'), which adds value beyond the schema. However, no annotations exist, and there is no mention of side effects (e.g., does it modify the sprite?), error handling, or permissions.

    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?

    The description is brief: one sentence for purpose and one for overwrite. It is front-loaded with the core action. However, it could be slightly more structured (e.g., separating parameter explanations).

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

    Completeness2/5

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

    For a tool with 5 parameters and no output schema, the description is insufficient. It lacks details on scale, filename, output path format, and the relationship between parameters (e.g., is filename the source sprite?). First-time users would need to guess or refer to other tools.

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

    Parameters2/5

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

    With 0% schema description coverage, the description only elaborates on the 'overwrite' parameter. It does not explain 'tag' (used in purpose but not detailed), 'scale' (default 1, likely scaling factor), 'output', or 'filename'. Most parameters lack meaningful explanation.

    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?

    The description clearly states the action 'Export only the frames of a named animation tag as an animated GIF', specifying verb (export), resource (frames of a named tag), and output format (GIF). It distinguishes from sibling tools like export_gif (likely exports all frames) and export_png (exports as PNG).

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

    Usage Guidelines2/5

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

    No guidance on when to use this tool vs alternatives like export_gif, export_frames, or export_tags. The description does not mention prerequisites, constraints (e.g., tag must exist), or when not to use it.

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

  • Behavior3/5

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

    Without annotations, the description carries the burden. It mentions the palette grows if needed and index is 0-based, which are useful behaviors. However, it does not disclose other important behaviors like return value, error handling for negative indices, or color format expectations.

    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?

    The description is a single concise sentence with no wasted words. It is front-loaded and easy to parse, though it could include more detail without becoming overly long.

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

    Completeness2/5

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

    Given 3 parameters with no schema descriptions, no output schema, and no annotations, the description is incomplete. It lacks details on color format, expected behavior for out-of-range indices beyond growth, and return values, making it insufficient for an agent to use correctly.

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

    Parameters2/5

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

    Schema description coverage is 0%, and the description only adds minimal meaning by indicating that index is 0-based. It does not explain the 'color' parameter format (e.g., hex, RGB) or the 'filename' parameter. This is insufficient compensation for the lack of schema descriptions.

    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?

    The description clearly states it sets a single palette entry by index (0-based) and can grow the palette. This is specific and distinguishes it from siblings like set_palette, add_palette_color, etc.

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

    Usage Guidelines2/5

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

    No explicit guidance on when to use this tool versus alternatives like set_palette or add_palette_color. The description implies usage only for single entry changes, but no exclusions or context are provided.

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

  • Behavior2/5

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

    No annotations provided; description only lists modifiable attributes. Lacks disclosure of side effects, idempotency, error behavior on nonexistent slice, or required permissions. Insufficient for a mutation tool.

    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?

    Single sentence, no redundancy. Could be improved with structured list of modifiable fields.

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

    Completeness2/5

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

    No output schema, 9 parameters, many siblings. Description fails to cover return value, error conditions, or prerequisites (e.g., slice must exist). Incomplete for the complexity.

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

    Parameters2/5

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

    Schema coverage is 0%, so description must compensate. It lists 'bounds, name, colour, or data' which maps loosely to parameters, but doesn't explain each parameter's meaning (e.g., x/y vs width/height, name vs new_name). Falls short.

    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?

    The description clearly states the verb 'Update' and resource 'slice', and lists specific attributes (bounds, name, colour, data). It distinguishes from sibling tools like add_slice, remove_slice by focusing on modification.

    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?

    The description implies the tool is for updating existing slices, but does not explicitly state prerequisites, when to use alternatives like add_slice, or when not to use. Guidance is minimal.

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

  • Behavior2/5

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

    No annotations are provided, so the description must disclose behavioral traits. It only states the action without mentioning side effects (e.g., overwriting existing tiles), permissions, or return behavior. This is insufficient for a mutation tool.

    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?

    The description is very concise with two sentences; no filler. However, the structure could better front-load key information beyond the tiles format.

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

    Completeness2/5

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

    Given four parameters and no output schema, the description omits critical context like required parameters (filename, layer), the target sprite, and return value. It is insufficient for complete understanding.

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

    Parameters2/5

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

    Only the 'tiles' parameter is explained with expected format (list of objects with column, row, index). The other three parameters (frame, layer, filename) are not described. With schema description coverage at 0%, the description fails to compensate.

    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?

    The description clearly states the tool places many tiles at once, distinguishing it from sibling 'set_tile' which implies single placement. The verb 'Place' and resource 'tiles' are specific.

    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?

    No explicit guidance on when to use versus alternatives, but the existence of sibling 'set_tile' implies this is for batch operations. The description does not provide context exclusions.

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

  • Behavior3/5

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

    With no annotations, the description partially covers behavior by listing blend modes and opacity. However, it does not disclose side effects (e.g., in-place modification, coordinate bounds, layer existence, error handling). It gives a basic operational view but lacks depth.

    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?

    The description is concise and front-loaded with the main action. It uses a clear docstring format with parameter lines. No unnecessary text, but the missing parameters reduce efficiency.

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

    Completeness2/5

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

    Given the tool's complexity (9 parameters, no output schema), the description is incomplete. It lacks explanations for several parameters and does not describe return values or behavioral edge cases, limiting its usefulness for an AI agent.

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

    Parameters2/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 explain all parameters. It covers source, x, y, source_frame, opacity, and blend_mode, but ignores required parameters like 'filename' and optional ones like 'frame' and 'layer'. This leaves a significant gap in understanding.

    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?

    The description clearly states the action ('Composite another image/sprite file onto a layer at (x, y)') and identifies the resource (image/sprite file). This distinguishes it from sibling tools like stamp_pattern (pattern stamping) or draw_pixels (pixel drawing).

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

    Usage Guidelines2/5

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

    The description provides parameter details but no guidance on when to use this tool versus alternatives (e.g., stamp_pattern, draw_pixels). It lacks explicit when-to-use or when-not-to-use context.

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

  • Behavior3/5

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

    With no annotations, the description carries full burden. It reveals compositing options (opacity, blend_mode), gap spacing, and that the region defaults to the whole canvas. However, it does not disclose side effects (e.g., permanent modification), undo behavior, or performance considerations. It is partially transparent but missing key behavioral traits.

    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?

    The description is relatively concise, starting with a clear purpose sentence followed by a parameter list. It uses minimal prose and front-loads the key action. It could be more structured but is not overly verbose.

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

    Completeness2/5

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

    For a tool with 12 parameters, no output schema, and no annotations, the description is insufficiently complete. It misses required parameters (filename) and provides no information about return values or side effects. The parameter list is partial, reducing completeness.

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

    Parameters2/5

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

    The description adds meaning for some parameters (e.g., 'Image/sprite to tile', 'Gap between tiles') but omits required parameters like 'filename' and does not mention 'frame' or 'layer'. Given 12 parameters and 0% schema description coverage, the description should cover all parameters but fails to do so completely.

    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?

    The description clearly states 'Tile an image/sprite across a region to fill it with a repeating pattern.' This is a specific verb+resource combination and distinguishes it from siblings like stamp_file (single placement) or draw_image_base64 (single image).

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

    Usage Guidelines2/5

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

    No guidance is given on when to use this tool versus alternatives (e.g., stamp_file, draw_rectangle). There is no mention of prerequisites or typical use cases, leaving the agent to infer context from the description alone.

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

  • Behavior3/5

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

    Without annotations, the description must disclose side effects. It mentions a new layer is created but does not specify naming, undo behavior, or what happens if the layer doesn't exist. Adequate but not detailed.

    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?

    The description is concise but the missing parameter reduces its effectiveness. The docstring style is clear but incomplete.

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

    Completeness2/5

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

    Given 7 parameters, no output schema, and no annotations, the description should explain return values and side effects more thoroughly. It lacks details on what the tool returns and does not cover all parameters.

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

    Parameters2/5

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

    The description lists most parameters with defaults, but critically omits the required 'filename' parameter. Schema coverage is 0%, so the description fails to provide meaning for all parameters.

    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?

    The description clearly states the tool adds a hard drop shadow for a layer's artwork on a new layer beneath it. It uses specific verbs and resources, and differentiates from siblings like add_outline.

    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?

    The description does not explicitly state when to use this tool vs alternatives, nor does it mention prerequisites or exclusions. Usage is implied but not guided.

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

  • Behavior3/5

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

    No annotations are present, so the description carries the full burden. It mentions brightness is additive and provides ranges, but does not disclose if the operation is destructive, irreversible, or modifies the layer permanently. It is basic but not complete.

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

    Conciseness5/5

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

    The description is a single sentence, front-loading key information (ranges and additive property) with no superfluous words. It is appropriately sized and well-structured.

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

    Completeness2/5

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

    Given no output schema and moderate complexity (5 parameters including frame and layer), the description lacks information about which layer/frame is affected, prerequisites, and return behavior. It is incomplete for the tool's complexity.

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

    Parameters2/5

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

    Schema description coverage is 0%. The description only explains brightness and contrast ranges, leaving 'filename', 'frame', and 'layer' completely unexplained. It adds value for two parameters but fails to compensate for the other three.

    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?

    The description clearly states the verb 'Adjust' and the resource 'brightness and contrast of a layer', with specific ranges and the additive nature of brightness. This distinguishes it from sibling tools like 'adjust_hue_saturation' and 'desaturate'.

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

    Usage Guidelines2/5

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

    The description does not provide any guidance on when to use this tool versus alternatives, or when it is appropriate. No exclusions or context for usage are given.

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

  • Behavior2/5

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

    With no annotations, the description carries full burden. It reveals parameter units and ranges but does not disclose whether the operation is destructive, modifies the file in-place, or requires specific permissions. The behavioral traits are only partially covered.

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

    Conciseness5/5

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

    The description is a single, front-loaded sentence with no waste. It efficiently conveys the core operation and parameter limits.

    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 tool with 6 parameters, no output schema, and many siblings, the description is minimal but sufficient for basic understanding. It lacks explanation of return value or side effects, making it adequate but not thorough.

    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%, so description must add value. It explains 'hue' as degrees, 'saturation' and 'lightness' as percent with range, which helps. However, 'frame', 'layer', and 'filename' are left implicit. The description adds useful but incomplete semantic information.

    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?

    The description clearly states the tool adjusts hue (in degrees) and scales saturation/lightness (percent range -100 to 100), providing a specific verb and resource. It distinguishes itself from siblings like adjust_brightness_contrast and desaturate.

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

    Usage Guidelines2/5

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

    No guidance is given on when to use this tool versus its many siblings (e.g., adjust_brightness_contrast, desaturate). There is no mention of prerequisites or alternatives.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the burden. It explains the output_pattern requirement and substitution behavior, which is good. However, it does not disclose whether files are overwritten, what image format is used, or how the scale parameter affects output. Some behavioral context is present but incomplete.

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

    Conciseness5/5

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

    The description is very concise: three short sentences, front-loaded with the purpose. Every sentence adds value, and there is no redundant or extraneous content. Perfectly efficient.

    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?

    Given the presence of many sibling export tools and 3 parameters, the description is somewhat complete for the main purpose but lacks guidance on choosing this tool and does not describe all parameters. It adequately covers the output_pattern but misses scale and filename semantics. No output schema exists, so more documentation would be helpful.

    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?

    With 0% schema description coverage, the description must compensate. It adds meaning for output_pattern (with placeholders and example) but provides no information for filename or scale. The baseline for zero coverage is 4, but the description only partially compensates, so a 3 reflects the partial added value.

    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 clearly states the tool exports each frame to its own image file, which is a specific verb+resource. It distinguishes from sibling tools like export_png or export_spritesheet by focusing on individual frame output. However, it does not explicitly contrast with those siblings, so a 4 is appropriate.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives like export_spritesheet or export_gif. It lacks any when-to-use or when-not-to-use instructions, making it hard for an agent to choose correctly among siblings.

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

  • Behavior3/5

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

    With no annotations, the description carries full burden. It discloses that it honours frame durations and tags, and explains the overwrite parameter, but omits other behaviors like palette handling or layer scope, leaving gaps.

    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?

    The description is very short and front-loaded with purpose, but it sacrifices completeness. For a tool with 4 parameters, it lacks structure and detail, making it barely adequate.

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

    Completeness2/5

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

    Given the complexity (4 params, no output schema, no annotations, many siblings), the description is incomplete. It fails to explain required parameters, scale, or overall export behavior, which is insufficient for safe and correct invocation.

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

    Parameters2/5

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

    Schema coverage is 0%, but description only explains 'overwrite' parameter. Required parameters 'filename' and 'output' are not explained, and 'scale' is undocumented. This is insufficient for correct parameter usage.

    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?

    The description states 'Export the full animation as an animated GIF' with specific verb and resource, and mentions 'honours frame durations & tags', which distinguishes it from siblings like export_png or export_tag_gif.

    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?

    The description implies usage when preserving animation timing and tags, but does not explicitly state when to use this tool versus alternatives like export_tag_gif or export_spritesheet, nor does it provide exclusions.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries full burden. It discloses the basic operation (export as PNG) but lacks details on side effects (e.g., file creation, overwriting), permissions needed, or the destination of the output file. The parameter 'output' implies a file path, but behavior is not explained.

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

    Conciseness5/5

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

    The description is a single, front-loaded sentence of 12 words. Every word contributes meaning, with no redundancy or filler. It efficiently conveys the core purpose.

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

    Completeness2/5

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

    Given the tool has 5 parameters (3 required), no output schema, and no annotations, the description is insufficiently detailed. It omits crucial context such as output format (though implied), error conditions, and parameter interdependencies. A more complete description would explain the role of each parameter and any constraints.

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

    Parameters2/5

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

    Schema coverage is 0%, meaning the description adds no specific parameter meanings beyond what the schema provides. While it hints that 'layer' and 'frame' are relevant, it does not explain defaults, constraints, or the purpose of 'scale', 'output', and 'filename'. The description thus fails to compensate for the coverage gap.

    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?

    The description clearly states the action (Export), the resource (a single layer of one frame), and the output format (PNG). It distinguishes from sibling tools like export_png (exports whole frame) and export_layers (exports all layers) by specifying 'single layer' and 'others excluded'.

    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?

    The description implies when to use the tool (to export one layer of a specific frame), but does not explicitly mention when not to use it or provide alternative sibling tools. For example, it doesn't clarify when to use export_png instead.

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

  • Behavior2/5

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

    No annotations are provided, so the description bears full responsibility. It discloses the output pattern requirement and that files are created, but omits details like side effects (overwriting, required project state), error conditions (missing tags), or safety profile. This is insufficient for a file export tool.

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

    Conciseness5/5

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

    Two sentences, first stating purpose, second providing parameter guidance. Front-loaded and efficient with no wasted words.

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

    Completeness2/5

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

    Given no annotations, no output schema, and three parameters with no schema descriptions, the description is incomplete. It fails to explain the 'filename' parameter, scale meaning, or what the tool returns (it creates files, but this is not stated). An agent cannot reliably use this tool without additional information.

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

    Parameters2/5

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

    With 0% schema description coverage, the description must compensate. It partially addresses output_pattern (required format, example), but ignores 'filename' (required) and 'scale' (default 1). No explanation of what 'filename' represents (input file? output base?) or the effect of scale.

    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?

    The description clearly states the tool exports each animation tag's frames to individual files, specifying the required output pattern with placeholders. This distinguishes it from sibling tools like export_tag_gif which exports a single gif per tag. The example further clarifies the usage.

    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?

    The description gives format constraints for output_pattern and an example, implying how to use the tool. However, it does not explicitly state when to use this over alternatives like export_tag_gif or export_frames, nor does it mention prerequisites or context.

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

  • Behavior3/5

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

    Description discloses it is a destructive operation (replaces pixels) but does not mention undo behavior, selection interaction, or whether it modifies the file immediately. Given no annotations, description partially fulfills transparency but lacks details about side effects.

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

    Conciseness5/5

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

    Single, clear sentence with no fluff. All information is front-loaded and efficient.

    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?

    Minimally complete for a 6-parameter tool with no annotations or output schema. Explains core action but omits return value, error cases, and details about frame and layer handling. Additional context (e.g., if cancelable, if requires selection) would improve completeness.

    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?

    Description adds meaning for x, y (starting coordinates), color (fill color), and layer (target layer). However, frame is not explained despite having a default, and layer's null default is not clarified. With 0% schema description coverage, description partially compensates but leaves gaps.

    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?

    Description clearly states flood fill operation with specific verb 'replace' and resource 'contiguous region of matching colour'. It identifies starting coordinates (x,y) and target layer. However, it does not explicitly state that the color to be replaced is the pixel color at (x,y) before the fill, though it is implied.

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

    Usage Guidelines2/5

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

    No guidance on when to use this tool vs alternatives like fill_layer, draw_pixels, or other painting tools. No prerequisites, limitations, or context (e.g., file must be open, layer must exist) are mentioned.

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

  • Behavior2/5

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

    With no annotations, the description bears full responsibility. It discloses that frames are placeholders and the tool returns a manifest, but does not explain if it modifies the sprite in-place, overwrites existing frames, or any side effects. Destructive or mutating behavior is not addressed.

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

    Conciseness5/5

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

    Two concise sentences that front-load the main action. No wasted words. Every sentence adds value: first states what it does, second clarifies placeholders and return type.

    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?

    Given 4 parameters, no output schema, no annotations, the description should provide more parameter guidance and behavioral context. It explains the overall purpose and return format but lacks details on parameter effects and operational constraints, leaving the modal partially incomplete.

    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% but the description mentions 'frames_per_direction' and default directions, adding some meaning. However, it does not explain 'filename' (required), 'directions' (how to override defaults), or 'frame_duration_ms'. The description partially compensates but leaves significant gaps.

    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?

    The description clearly states it scaffolds an 8-direction walk-cycle template on an existing sprite, specifying the number of frames per direction and default directions. It distinguishes itself from sibling tools like make_4_frame_idle_animation by being a more specific, multi-directional animation template.

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

    Usage Guidelines2/5

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

    No explicit guidance on when to use this tool versus alternatives. It does not mention prerequisites, when not to use it, or which sibling tools serve similar purposes. The user is left to infer applicability from the name and description alone.

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

  • Behavior2/5

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

    With no annotations, the description carries full burden. It states the operation but does not disclose whether the sprite is modified in place, if rotation is permanent, or any permissions needed. The description is minimal and lacks behavioral context beyond the basic action.

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

    Conciseness5/5

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

    The description is a single sentence with no wasted words. It efficiently conveys the core operation and constraints.

    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 simple rotation tool with two parameters and no output schema, the description is adequate but incomplete. It does not mention that the sprite is modified in place or any return value. Given the tool's simplicity, it meets minimal completeness but lacks contextual details.

    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. It adds meaning to the angle parameter by specifying valid values (90, 180, 270), but does not explain the filename parameter. Overall, it provides partial parameter semantics but not full coverage.

    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?

    The description clearly states the action ('Rotate the entire sprite') and specifies the exact angles (90, 180, 270 degrees) and direction (clockwise). It distinguishes from sibling tools like flip_sprite, which performs a mirror operation.

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

    Usage Guidelines2/5

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

    The description does not provide any guidance on when to use this tool versus alternatives (e.g., flip_sprite, scale_sprite). It merely states what the tool does, leaving the agent to infer usage context from the tool name and sibling list.

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

  • Behavior3/5

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

    The description adds the behavioral detail that only passed arguments are changed, but with no annotations, it omits side effects, authorization needs, rate limits, and error handling. It is somewhat transparent but leaves significant gaps.

    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?

    The description is very short (two sentences) but at the expense of completeness. It is concise but lacks necessary details, making it borderline under-specified.

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

    Completeness2/5

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

    With 7 parameters, no output schema, and no annotations, the description is incomplete. It does not mention return behavior, valid value ranges, or constraints like enum options for blend_mode, which are critical for correct invocation.

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

    Parameters2/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. It only states a generic purpose and does not explain individual parameters (name, opacity, blend_mode, etc.), leaving their meanings and valid values unclear.

    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?

    The description clearly states the tool updates layer properties, specifying 'one or more' and 'only arguments passed are changed,' which distinguishes it from sibling layer manipulation tools (add, remove, rename, etc.).

    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?

    The description implies usage when modifying layer properties but does not provide explicit guidance on when to use alternatives or exclude certain use cases (e.g., renaming should use rename_layer).

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

  • Behavior2/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 describes the conversion but does not disclose side effects, reversibility, permissions, or behavior on layers with existing content.

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

    Conciseness5/5

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

    The description is a single, front-loaded sentence with no unnecessary words. Every part contributes to understanding the tool's function.

    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 simple tool with one parameter and no output schema, the description is minimally adequate but lacks detail on parameter usage and when to apply in the workflow.

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

    Parameters2/5

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

    Schema coverage is 0%, and the description does not clarify the 'filename' parameter. The schema only provides a title, leaving the agent to infer that it identifies the sprite file.

    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?

    The description clearly states the action (convert) and the target (Background layer to normal transparent-capable layer). It distinguishes from sibling 'convert_layer_to_background' by describing the opposite transformation.

    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?

    The description implies usage when a background layer needs to become normal, but does not explicitly state when to use, when not, or mention alternatives like 'convert_layer_to_background'.

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

  • Behavior2/5

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

    No annotations provided, so description carries full burden. It lacks behavioral details like whether it modifies existing pixels, what 'steps' concretely does beyond 'controls smoothness', or if it returns any output.

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

    Conciseness5/5

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

    Two sentences, directly states purpose and key parameter (steps) with no extraneous words; front-loaded with the core action.

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

    Completeness2/5

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

    Given no output schema, no annotations, and many sibling drawing tools, the description leaves gaps: how curve interacts with existing art, typical step values, whether color uses a parameter (mentioned in schema but not description).

    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%, so description must compensate. It explains geometric parameters (x0,y0, control point, x1,y1) and 'steps', but omits filename, color, frame, layer—important context for an agent.

    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?

    Description clearly specifies the action (draw a quadratic Bézier curve), the geometric elements (start point, end point, control point), and distinguishes from sibling drawing tools by naming the curve type.

    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?

    Implies usage for smooth curved lines, but no explicit guidance on when to choose this over alternatives like draw_line or draw_ellipse; no when-not-to-use conditions.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the burden. It explains that closed=True connects the last point to the first and pixel_perfect removes L-corner pixels. However, it doesn't disclose whether the tool modifies existing pixels, error handling, or performance implications.

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

    Conciseness5/5

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

    The description is very concise with two clear sentences followed by parameter explanations. Every sentence adds value without redundancy.

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

    Completeness2/5

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

    With 7 parameters and no output schema, the description only covers three parameters meaningfully. There is no explanation of return values, error conditions, or how the tool interacts with the sprite state.

    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. It adds meaning for points (list of {x, y} objects), closed (outlines polygon), and pixel_perfect (removes L-corner pixels). But color, filename, frame, and layer are left unexplained.

    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?

    The description clearly states the tool draws connected line segments through a list of points, using a specific verb and resource. It distinguishes from sibling drawing tools like draw_line and draw_curve by its multi-segment capability.

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

    Usage Guidelines2/5

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

    No explicit guidance on when to use this tool versus alternatives. For example, it doesn't indicate that for a single line one should use draw_line. The description only describes the parameters without usage context.

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

  • Behavior3/5

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

    With no annotations, the description must fully disclose behavior. It explains gradient types, color stops, dithering, and region parameters, but lacks details on whether the fill overwrites existing content, undo behavior, or return values. Some behavioral traits are missing.

    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?

    The description is well-structured with a clear purpose statement followed by parameter explanations. It is reasonably concise, though the Args list takes up space. Each sentence adds value, but could be slightly more compact.

    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?

    Given the tool's complexity (11 parameters, no output schema, no annotations), the description should provide more context. It explains gradient-specific parameters well but does not cover the filename, frame, and layer parameters nor the return value, leaving the agent with incomplete information.

    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. It explains most parameters (colors, gradient_type, angle, dither, region) in the Args section, but omits description for filename, frame, and layer, leaving a gap in parameter semantics.

    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 clearly states 'Fill a region with a gradient' which effectively communicates the tool's action and resource. However, it does not explicitly differentiate from sibling tools like fill_area or fill_layer that also fill regions.

    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?

    The description provides context for dithering (e.g., 'provide exactly 2 colours' for dither=True) but does not give explicit guidance on when to use this tool over alternatives like fill_area or fill_layer. Usage is implied but not declared.

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

  • Behavior3/5

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

    No annotations provided, so the description bears full burden. It describes a read-only listing of slice properties, which is transparent but lacks disclosure of potential side effects or authentication needs.

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

    Conciseness5/5

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

    The description is a single sentence with no redundancy, efficiently conveying the tool's purpose and output.

    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 simple read tool with one parameter and no output schema, the description provides essential function but omits response format and any limitations. Adequate but not comprehensive.

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

    Parameters2/5

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

    With 0% schema description coverage and only one parameter (filename), the description does not add any meaning beyond the schema. It does not clarify the expected value or format of the parameter.

    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?

    The description uses a specific verb 'List' and resource 'slices' and details the returned information (bounds, center, pivot), clearly distinguishing it from sibling tools like add_slice or remove_slice.

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

    Usage Guidelines2/5

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

    No guidance on when to use this tool versus alternatives, nor any mention of prerequisites or context. The description is purely declarative.

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

  • Behavior2/5

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

    No annotations are provided, so the description must disclose all behavioral traits. It only states the basic action without describing what is returned (e.g., file names, paths), whether it lists recursively, or any side effects.

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

    Conciseness5/5

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

    The description is a single, clear sentence with no unnecessary words. It is appropriately sized for a tool with no parameters and a simple action.

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

    Completeness2/5

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

    Given no output schema, the description should explain what the tool returns. It does not specify the format or content of the list, nor does it mention edge cases. This makes it incomplete for an AI agent to use effectively.

    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?

    No parameters exist in the input schema, so the schema already covers everything. The description adds no additional parameter semantics, but baseline for 0 parameters is 4.

    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?

    The description clearly states the action ('List') and the resource ('sprite/image files in the workspace directory'). It is specific and distinguishes this tool from siblings like list_slices or get_sprite_info.

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

    Usage Guidelines2/5

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

    No guidance on when to use this tool vs alternatives. For example, it does not mention that get_sprite_info provides detailed information on a single sprite, which could be a better choice for individual inspection.

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

  • Behavior2/5

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

    No annotations are provided, so the description must disclose behavior. It states that scaling includes artwork and mentions the method parameter, but does not explain whether the operation is destructive, in-place, or returns a result. It also omits details about layer handling, aspect ratio preservation, or animation support.

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

    Conciseness5/5

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

    The description is extremely concise with three short sentences. It front-loads the main purpose, then explains the two scaling options, then the method parameter. Every sentence adds value without redundancy.

    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 sprite scaling tool without output schema, the description covers the essential parameters and options but lacks details on return values, in-place modification, and effects on layers/cels. Given that annotations are absent, more behavioral context would improve completeness.

    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?

    With 0% schema description coverage, the description adds meaningful context: it explains the mutual exclusivity of `factor` vs `width`/`height`, provides an example for `factor` (2.0 to double), and clarifies the two scaling methods. However, it does not explain the required `filename` parameter or the default null values.

    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 clearly states that it scales the whole sprite including artwork, which is a specific verb-resource combination. It is distinct from sibling tools like `resize_canvas` (which only resizes canvas) but does not explicitly differentiate itself from similar scaling actions.

    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?

    The description advises to provide either `factor` OR explicit `width`/`height`, giving usage guidance for the mutually exclusive parameters. However, it does not specify when to use this tool versus alternatives like `resize_canvas`, nor does it mention any prerequisites or when not to use.

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

  • Behavior3/5

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

    The description implies the canvas is permanently cropped but does not explicitly state destructive behavior, undo capabilities, or effects on layers. Without annotations, the description carries the burden but offers marginal additional context.

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

    Conciseness5/5

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

    A single sentence clearly communicates the tool's function with no unnecessary words. It is front-loaded with the verb and resource, making it easy to parse quickly.

    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?

    Given the tool's simplicity, the description is mostly complete but lacks details on what happens to the cropped-away area, layer handling, or whether the operation is reversible. The presence of sibling tools like trim_sprite suggests more context could help.

    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?

    The description lists the parameters (x, y, width, height) but does not clarify their coordinate system (e.g., top-left origin) or the meaning of 'filename'. With 0% schema coverage, the description adds minimal value beyond parameter names.

    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?

    The description uses a specific verb ('Crop') and resource ('the canvas') and explicitly mentions the rectangle parameters (x, y, width, height). This clearly distinguishes it from sibling tools like resize_canvas or trim_sprite.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives (e.g., trim_sprite). There is no mention of prerequisites, such as requiring a sprite to be open, or when cropping is preferable over other operations.

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

  • Behavior3/5

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

    No annotations exist, so description carries full burden. It explains brush format, anchor option, and point positions, but does not mention behaviors like overwriting vs blending, or effect on frame/layer parameters present in schema.

    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?

    Description is well-structured as a docstring with clear Args section. It is concise but could front-load the purpose more. Each sentence adds value, though the Args format is slightly verbose.

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

    Completeness2/5

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

    Given no output schema and no annotations, the description lacks details on return value (void? success?), side effects (modifying sprite), and interaction with frame/layer. Incomplete for a tool with 7 parameters and 0% schema coverage.

    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 has 0% description coverage. Description covers brush, points, color, and anchor with meaning beyond types. However, it omits filename (required), frame, and layer, leaving 3 parameters undocumented.

    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?

    Description clearly states 'Stamp a custom brush shape at a list of points,' which is a specific verb+resource. It distinguishes from sibling drawing tools like draw_pixels and draw_line by focusing on custom brush shapes.

    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?

    The description implies usage for custom shape stamping but does not explicitly guide when to use this tool versus alternatives like draw_pixels or fill_area. No exclusions or when-not-to-use guidance provided.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries the burden of disclosing behavior. It explains the color fallback logic but does not mention what happens to existing pixels (overwrite?), whether plotting is additive or destructive, or any other side effects. This leaves important behavioral traits unspecified.

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

    Conciseness5/5

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

    The description is very concise, using only five lines plus an Args list. Every sentence adds value, and the structured format makes it easy to parse.

    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?

    The description covers the input parameters adequately but fails to mention what the tool returns or whether it modifies the sprite in place. With no output schema and no return description, the agent does not know the outcome of calling this tool. For a drawing operation, this is a 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 description coverage is 0%, so the description must add meaning. It explains that pixels is a list of objects with x, y, and optional color, and that the shared color argument serves as default. It also clarifies layer and frame defaults. This compensates well for the lack of schema descriptions.

    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?

    The description clearly states 'Plot individual pixels.' This is a specific verb and resource. The tool draws individual pixels, distinct from sibling tools like draw_line, draw_rectangle, etc.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. No conditions, prerequisites, or exclusions are mentioned. The agent is left to infer usage from the name and parameters.

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

  • Behavior3/5

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

    Without annotations, the description carries the full burden. It states a non-destructive read operation, but it does not disclose side effects, permissions, or return size limits. The behavioral trait is simple and correctly implied.

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

    Conciseness5/5

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

    The description is a single concise sentence with no wasted words. It directly conveys the action and output format.

    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?

    Given no output schema, the description adequately covers the return format (list of colour strings). However, it omits details about edge cases (e.g., empty palette) and whether it applies to the current frame or entire sprite. Overall sufficient for a simple retrieval.

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

    Parameters1/5

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

    The schema has 0% description coverage, yet the description adds no meaning to the 'filename' parameter. It does not explain what filename refers to (sprite file, asset name, etc.), leaving the agent to guess.

    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?

    The description clearly states it returns the sprite's palette as a list of "#RRGGBBAA" colours, using a specific verb and resource. It distinguishes itself from sibling palette tools like set_palette and load_palette by being a read-only retrieval.

    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?

    The description implies usage for reading the palette but provides no explicit guidance on when to use this vs alternatives, no prerequisites, and no when-not-to-use conditions. The agent must infer from the verb and sibling names.

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

  • Behavior3/5

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

    With no annotations, the description carries the burden. It explains the parameters and the effect (mirroring one half onto the other), implying it modifies the layer in place. However, it does not explicitly state if the operation is destructive, required permissions, or error conditions. This is adequate but not fully transparent.

    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?

    The description is concise (4 sentences) with a clear lead sentence and a structured Args section. It is front-loaded with the purpose. Minor improvement could condense the Args into a more compact format, but overall it is efficient and well-structured.

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

    Completeness2/5

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

    Given 6 parameters, no output schema, and no annotations, the description is incomplete. It explains only 3 non-required parameters (direction, source_side, axis) but fails to mention the required parameters (filename, layer) and the optional frame. This leaves the agent without guidance for important inputs.

    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 0%, so the description must explain parameters. It details direction, source_side, and axis with acceptable values and defaults, adding significant meaning beyond the schema. However, it omits filename, layer, and frame, which are required or have defaults. This adds value but leaves a gap for key parameters.

    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?

    The description clearly states the tool's purpose: 'Mirror one half of a layer onto the other (build symmetric artwork).' This is a specific verb+resource that distinguishes it from siblings like flip_sprite (flips entire sprite) or draw_symmetric_pixels (drawing symmetrically).

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

    Usage Guidelines2/5

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

    No guidance on when to use this tool versus alternatives. The description does not mention any context, prerequisites, or comparisons to sibling tools, leaving the agent to infer usage.

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

  • Behavior3/5

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

    No annotations provided, so description carries burden. It states new entries are black, but doesn't clarify if existing entries are preserved, truncation behavior, or size limits. Adequate but incomplete.

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

    Conciseness5/5

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

    Single sentence, no wasted words, front-loaded with key action. Efficient structure.

    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?

    Given many siblings, no output schema, and 0% schema coverage, the description is minimal. Does not mention return value, prerequisites, or error cases. Sufficient for a simple resize but not fully contextually complete.

    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%. The description adds meaning for 'size' (number of entries, new entries black) but leaves 'filename' unexplained. Partial compensation.

    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?

    The description clearly states the verb 'resize', the resource 'palette', and specifies the new entries are black. It distinguishes from siblings like 'set_palette' and 'add_palette_color'.

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

    Usage Guidelines2/5

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

    No guidance on when to use this tool vs alternatives like 'set_palette' or 'add_palette_color'. The description does not mention prerequisites or exclusions.

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

  • Behavior2/5

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

    With no annotations provided, the description must fully disclose behavioral traits. It only states the conversion action and dithering options, but fails to mention whether the sprite is modified in-place, if the operation is reversible, any prerequisites (e.g., existing palette for indexed mode), or what happens to existing layers and frames. This is insufficient for a mutation tool.

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

    Conciseness5/5

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

    The description is extremely concise with two short sentences. The primary action is front-loaded, and every word adds value. No redundant information.

    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?

    Given moderate complexity (3 parameters, no output schema), the description covers the core conversion action and dithering details but omits any mention of the required filename parameter, behavioral side effects, error conditions, or return value. It is functional but not complete.

    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?

    The schema has 0% description coverage, so the description must compensate. It adds meaning for 'color_mode' by listing valid values and for 'dithering' by specifying options for indexed conversion. However, it does not mention the required 'filename' parameter, leaving a significant gap.

    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?

    The description uses the specific verb 'Convert' and identifies the resource as 'a sprite between colour modes', listing the valid modes 'rgb', 'indexed', 'gray'. This clearly differentiates from sibling tools like export or palette manipulation tools.

    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?

    The description implies usage when changing a sprite's color mode, but it does not provide explicit guidance on when to use this tool versus alternatives (e.g., desaturate or adjust_hue_saturation) or state when not to use it. The dithering options are mentioned only for indexed mode.

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

  • Behavior3/5

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

    No annotations are provided, so the description must convey behavioral traits. It discloses that index 0 = empty (enables clearing) but does not mention overwriting behavior, out-of-bounds handling, the effect of the 'frame' parameter, or whether the tool requires a specific layer type. Conveys basic mutation but misses important nuances.

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

    Conciseness5/5

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

    A single, well-structured sentence that concisely states the operation. No redundancy, and all words add value. Ideal length for a straightforward tool.

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

    Completeness2/5

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

    Given 6 parameters, no annotations, and no output schema, the description is insufficient. It does not explain the role of 'filename' and 'layer', nor the default 'frame'. Missing guidance on return value or error conditions. Relies heavily on parameter names which may be ambiguous.

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

    Parameters2/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 explain parameters. It covers 'tile_index', 'column', and 'row' but omits 'filename', 'layer', and 'frame'. 'filename' likely specifies the sprite file, 'layer' the target layer, and 'frame' defaults to 1—none are clarified, leaving ambiguity.

    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?

    The description clearly states the action ('Place a tile'), the resource ('by tileset index'), the location ('at grid cell (column, row)'), and even clarifies that index 0 means empty. It effectively distinguishes from siblings like 'set_tiles' (which sets multiple tiles) and 'add_tile' (which likely adds to a tilemap).

    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?

    The description implies use for setting a single tile at a specific cell, but does not explicitly guide when to use this versus alternatives like set_tiles or add_tile. No exclusion criteria or prerequisites (e.g., tilemap layer must exist) are mentioned.

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

  • Behavior3/5

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

    No annotations are present, so the description carries full burden. It mentions adding a layer but does not disclose side effects (e.g., whether the action is reversible, required permissions, or behavior with invalid group names). Transparency is adequate for a simple operation but could be improved.

    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?

    The description is concise and front-loaded with the main purpose. The Args list is clear, though the enumeration of blend modes adds length. No unnecessary content.

    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?

    With no output schema and no annotations, the description covers the tool's main function and parameters but lacks information about return values, error conditions, or side effects. Adequate for a simple tool but not fully comprehensive.

    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%, and the description explains 5 of 6 parameters (name, group, opacity, blend_mode, visible) with meaningful details. However, the required parameter 'filename' is not mentioned in the description, leaving a significant gap.

    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?

    The description clearly states the action (add), the resource (empty normal layer), and the location (on top of the stack). It distinguishes this tool from siblings like add_group_layer and remove_layer.

    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?

    The description implies usage for adding a layer but does not explicitly state when to use this tool vs alternatives (e.g., add_group_layer). No guidance on prerequisites or context is provided.

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

  • Behavior4/5

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

    With no annotations, the description carries the burden. It explains the output format (manifest with slices), which helps the agent understand what happens. However, it doesn't explicitly state it creates a new project or that it is non-destructive, though that can be inferred.

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

    Conciseness5/5

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

    The description is two sentences, front-loaded with the core purpose, and contains no extraneous information. Every part adds value.

    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?

    The description explains the output and default items but omits details about grid layout, column count, and item size. Given no output schema, more detail would help, but the core functionality is covered.

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

    Parameters2/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. It only implies the 'items' parameter through the default list, but does not explain 'name', 'columns', or 'item_size'. The agent is left guessing parameter roles.

    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?

    The description clearly states it scaffolds an RPG item sheet with named slices per item, listing default items and the output manifest structure. This distinguishes it from generic sprite creation tools among siblings.

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

    Usage Guidelines2/5

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

    The description does not provide any guidance on when to use this tool vs alternatives (e.g., create_character_sprite, create_sprite). No conditions or exclusions are mentioned.

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

  • Behavior3/5

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

    No annotations are provided, so the description bears full burden. It discloses key behaviors (pattern requirements, hidden layer export) but omits details about file format, overwrite behavior, or error handling. It adds moderate value beyond the schema.

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

    Conciseness5/5

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

    The description is extremely concise with two short sentences and a note. Every sentence contributes meaning, and it is front-loaded with the core purpose.

    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?

    Given no output schema, no annotations, and 0% schema coverage, the description covers the main purpose and key constraints but lacks details on parameters and behavior for a tool with 4 parameters and multiple sibling export tools.

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

    Parameters2/5

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

    Schema coverage is 0%, requiring the description to explain parameters. It only clarifies output_pattern (must contain '{layer}') and include_hidden (exports hidden layers). 'filename' and 'scale' are left unexplained, leaving gaps in understanding.

    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?

    The description clearly states 'Export each layer to its own image file.' It uses a specific verb ('export') and resource ('each layer') and distinguishes from sibling tools like export_layer (likely single layer) and export_png/export_gif (single file exports).

    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?

    The description provides usage details (output_pattern must contain '{layer}', optional '{frame}', include_hidden exports hidden layers) but does not explicitly say when to use this tool vs alternatives or provide exclusion criteria.

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

  • Behavior3/5

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

    With no annotations, the description carries the full burden. It discloses the parent group constraint, adding value, but does not mention side effects, error behavior (e.g., invalid index), or reversibility.

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

    Conciseness5/5

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

    Two sentences with zero waste. The first sentence states the core action, and the second adds a critical constraint. Highly efficient.

    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 simple reorder operation, the description covers the essential functional detail (parent group constraint). However, with no output schema, it lacks information about return value, valid index range, or edge-case behavior, leaving minor gaps.

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

    Parameters2/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. It clarifies the 'to_index' parameter as 1-based and bottom-most, but adds no meaning for 'filename' or 'layer', leaving them underdescribed.

    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?

    The description clearly states it reorders a layer to a new 1-based stack index, with '1 = bottom-most'. This specific verb and resource (layer) distinguishes it from sibling tools like add_layer, remove_layer, etc., which handle different operations.

    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?

    The note 'moves within the layer's current parent group' provides important context on where the reordering applies, but does not explicitly guide when to use this tool versus alternatives or mention when not to use it.

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

  • Behavior3/5

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

    Implies read-only behavior (renders to view) but does not explicitly confirm non-destructive nature. No annotations to supplement, so description carries burden but is partially adequate.

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

    Conciseness5/5

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

    Two sentences, no fluff, front-loaded purpose. Every sentence adds value.

    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?

    Covers purpose and two parameters but misses explaining the required filename parameter and does not mention prerequisites or output format. Adequate for simple use but incomplete.

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

    Parameters2/5

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

    Only frame (1-based) and scale (default 8x for small sprites) get description. Filename is required but unexplained; schema has 0% coverage, so missing critical parameter meaning.

    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?

    Clearly states it renders a single frame to PNG and returns viewable image. Use this to 'see' your work. Distinguishes from sibling export tools by focusing on preview rather than saving.

    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?

    Provides some guidance ('Use this to *see* your work') but does not explicitly differentiate from alternatives like export_png or state when not to use.

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

  • Behavior3/5

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

    With no annotations, the description carries the behavioral burden. It states that the tool modifies pixels on the chosen layer and frame, but lacks details on side effects, undo behavior, or performance. It adds some context beyond annotations but is minimal.

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

    Conciseness5/5

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

    The description is a single, well-structured sentence with no unnecessary words. It conveys the essential functionality efficiently.

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

    Completeness2/5

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

    With no annotations, no output schema, and 6 parameters, the description is too brief. It lacks guidance on when to use, prerequisites, input formats, and behavior under edge cases, leaving the agent underinformed.

    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%, so the description must compensate. It explains that from_color matching uses tolerance per channel, adding meaning beyond the schema. However, it does not elaborate on filename and frame parameters, leaving gaps.

    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?

    The description clearly states the tool replaces pixels matching from_color with to_color, specifying tolerance and the target layer and frame. It uses a specific verb and resource, and distinguishes from sibling tools like fill_layer or draw_brush.

    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?

    The description implies usage for color replacement but provides no explicit guidance on when to use this tool vs alternatives, such as fill_area or draw_brush, or when not to use it.

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

  • Behavior3/5

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

    Without annotations, the description must bear the full burden. It discloses that the palette is replaced ('destructive'), but does not mention prerequisites, side effects, or return behavior. Adequate but not comprehensive.

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

    Conciseness5/5

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

    Two concise sentences front-loaded with the core action, then parameter details. No unnecessary words.

    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?

    The tool is simple but the description fails to explain the 'filename' parameter, which could refer to the sprite file or palette file. This omission reduces completeness for someone without prior context.

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

    Parameters2/5

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

    The description only explains the 'colors' parameter with format examples, but completely omits the 'filename' parameter, which is required. With 0% schema coverage, this is a significant gap for a required parameter.

    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?

    The description clearly states 'Replace the entire palette' with a specific verb and resource, distinguishing it from siblings like add_palette_color or get_palette.

    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?

    The description does not provide explicit guidance on when to use this tool versus alternatives, such as when to add a single color or load a palette from a file. The usage is implied but not contrasted.

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

  • Behavior4/5

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

    Describes key behaviors: creates canvas, layers, palette from base_color, optional placeholder, returns manifest. With no annotations, this is good, but could mention if it overwrites existing projects.

    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?

    Short, front-loaded with purpose, well-structured single paragraph. No fluff, but could be even more concise by omitting obvious return type details.

    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?

    Provides high-level overview but lacks parameter details and behavioral specifics (e.g., defaults, overwrite behavior). With 5 params and no output schema, more completeness is needed.

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

    Parameters2/5

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

    Only base_color is mentioned in context of palette ramp. The other four parameters (name, width, height, with_placeholder) have no description in schema or description, leaving their semantics unclear.

    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?

    The description clearly states it scaffolds a character sprite project with specific components (transparent canvas, layer stack, palette ramp, optional placeholder). This distinguishes it from siblings like create_sprite which likely creates a blank sprite.

    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?

    Implies usage for starting character sprites, but lacks explicit when-not-to-use or alternatives. Given many sibling tools, some guidance on choosing this vs create_sprite or create_tileset_project would help.

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

  • Behavior3/5

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

    No annotations are provided, so the description must disclose behavior. It explains creation of a canvas, tilemap layer, and tileset, plus filling the grid. However, it doesn't mention whether the tool is idempotent, what happens on conflicts, or any required permissions. For a creation tool, this is adequate but not fully transparent.

    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?

    The description is four sentences with the main purpose front-loaded. It is efficient and covers key points without redundancy. Could be slightly tighter, but overall effective.

    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?

    Given no output schema, the description includes the return type (workflow_manifest.v1) and key output details. It provides a solid overview of what the tool does. Minor omissions like error cases or permissions are not critical for a scaffold tool, so completeness is good.

    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?

    The description explains 'columns×rows' (rows/columns) and 'tiles' (custom list), but does not describe 'tile_size' or 'name' (the required parameter). Since schema coverage is 0%, the description partially compensates but leaves gaps. Baseline is 3 due to zero coverage, and the description misses some parameters.

    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?

    The description clearly states it scaffolds a tilemap project, specifying its components (canvas, tilemap layer, starter tileset) and default tiles. It distinguishes from sibling tools like 'create_tilemap_layer' or 'add_tile' by emphasizing this is a project-level scaffold.

    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?

    No explicit when-to-use or when-not-to-use guidance. Usage is implied as a starting point for tilemap projects, but no alternatives or exclusions are mentioned. Sibling tools provide similar but lower-level operations, so some guidance would help.

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

  • Behavior4/5

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

    The description explains that antialias is ignored on indexed/gray sprites and takes precedence over pixel_perfect. This adds transparency beyond the mere action of drawing. However, it does not mention other behavioral aspects like pixel blending or layer interaction.

    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?

    The description is concise, with a clear Args section. It avoids unnecessary details but could be slightly more efficient. Every sentence adds value.

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

    Completeness2/5

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

    With 10 parameters and no output schema, the description is incomplete. It does not explain the purpose of filename, frame, layer, or color format. Users may still be unsure about how to use the tool correctly.

    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?

    The description adds meaning to pixel_perfect and antialias parameters with detailed explanations. However, it omits explanation for required parameters like filename, frame, layer, and color, which are not covered in the schema descriptions. Schema coverage is 0%, so the description compensates partially.

    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?

    The description clearly states the tool draws a straight line between two points, with specific parameter details. It distinguishes itself from sibling tools like draw_curve or draw_polyline by focusing on a single straight line.

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

    Usage Guidelines2/5

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

    The description does not provide guidance on when to use this tool versus alternatives such as draw_curve or draw_rectangle. It assumes the user wants a straight line without specifying context or exclusions.

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

  • Behavior3/5

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

    No annotations are provided, so the description carries the burden. It explains modes and axis defaults, but does not disclose whether operations are destructive, overwrite existing content, or any side effects. Return value is not mentioned.

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

    Conciseness5/5

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

    The description is extremely concise (two sentences), front-loaded with the main purpose, and includes essential mode explanations without unnecessary detail.

    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?

    Given no annotations and no output schema, the description could be more complete. It covers modes and axis defaults well, but does not explain pixel format, color specification, or behavior with frame/layer parameters.

    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?

    With 0% schema description coverage, the description adds value for mode, axis_x, and axis_y by explaining their behavior. However, parameters like pixels, color, filename, frame, and layer lack explanation beyond the schema.

    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?

    The description clearly states the tool plots pixels with mirror images, distinguishing it from sibling tools like draw_pixels and mirror_layer. It explains the symmetrical modes (horizontal, vertical, both) and axis defaults.

    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?

    The description implies usage for drawing symmetric patterns but does not explicitly state when to use this tool versus alternatives like draw_pixels or mirror_layer. No exclusions or context provided.

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

  • 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 discloses several behaviors: output is .png, supports optional JSON metadata, controls for layers and overwrite, and that overwrite defaults to 'no-clobber' with both files checked when data_output is given. However, it does not mention whether the original sprite is modified (presumably not, as it's an export), required permissions, or error handling for missing input files.

    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?

    The description is well-structured as a list with a clear first sentence. It is longer due to parameter explanations, but each sentence has purpose. A minor improvement could be condensing some parameter descriptions, but overall it is efficient for the number of parameters.

    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?

    Given 11 parameters, no output schema, and no annotations, the description covers parameters and the no-clobber behavior well. However, it omits the format of the optional JSON output, what happens on errors (e.g., missing filename), and any validation of input parameters. It is adequate but not fully comprehensive for a tool with this complexity.

    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?

    The input schema has 0% description coverage, so the description must compensate. It fully explains each parameter: output file path, sheet_type allowed values (horizontal, vertical, rows, columns, packed), scale factor, data_output purpose, padding, layer inclusion/exclusion, split options, and overwrite behavior. This adds crucial meaning beyond the schema's bare property names and types.

    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?

    The description clearly states the tool's purpose: 'Export frames into a single sprite-sheet image.' This distinguishes it from sibling tools like export_png or export_gif, which export individual frames or animations. The verb 'export' and resource 'spritesheet' are specific and unambiguous.

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

    Usage Guidelines2/5

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

    The description lacks any guidance on when to use this tool versus alternatives. With many sibling tools for different export formats, the agent is not helped in deciding to use export_spritesheet instead of export_png, export_gif, or export_tag_gif. No 'when not to use' or alternative suggestions are provided.

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

  • Behavior3/5

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

    The description notes that the original file is left untouched and explains the overwrite parameter's default behavior. However, it lacks details on error handling, permissions, or return values. With no annotations, more behavioral disclosure would be better.

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

    Conciseness5/5

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

    The description is very concise, starting with the core purpose and adding essential details without waste. Each sentence serves a purpose.

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

    Completeness2/5

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

    Given the tool has 4 parameters (2 required), no output schema, and no annotations, the description is incomplete. It lacks information on return values, error scenarios, and file path requirements, which an agent needs to use the tool correctly.

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

    Parameters2/5

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

    The description explains only the 'overwrite' parameter. With 0% schema description coverage, it should describe more parameters. 'filename' and 'new_filename' are not explained, and 'flatten' is only mentioned implicitly.

    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?

    The description clearly states the tool's action ('save a copy of a sprite under a new path, optionally flattened') and distinguishes it from siblings like export functions and flatten_sprite by emphasizing it creates a copy rather than modifying or exporting.

    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?

    The description provides context for when to use the tool ('exporting an editable .aseprite to another .aseprite, or snapshotting a version') but does not explicitly exclude other scenarios or mention alternative tools.

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

  • Behavior3/5

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

    No annotations are provided; the description indicates a mutation action but lacks details on side effects, permissions, or reversibility. The behavior is straightforward but could be more explicit.

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

    Conciseness5/5

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

    A single, front-loaded sentence that efficiently conveys the tool's function with no extraneous words.

    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 simple setter with two parameters, the description is mostly complete, though it could mention that it overwrites all existing durations. No output schema is needed.

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

    Parameters2/5

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

    The description adds the unit 'milliseconds' for duration_ms but does not explain filename, leaving its purpose unclear. With 0% schema coverage, the description adds minimal value.

    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?

    The description clearly states the tool sets every frame's duration uniformly in milliseconds, distinguishing it from the sibling set_frame_duration which sets individual frames.

    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?

    The description implies uniform animation speed but does not explicitly specify when to use this tool versus alternatives like set_frame_duration or when not to use it.

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

  • Behavior3/5

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

    With no annotations, the description carries full burden. It discloses that indexed sprites remap pixel indices to preserve appearance, but omits whether the tool modifies the sprite permanently, errors for non-indexed modes, or destructive effects beyond sorting.

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

    Conciseness5/5

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

    Two sentences: first covers purpose and options, second explains indexed sprite handling. No unnecessary words, and the main function is front-loaded.

    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?

    Descriptions is adequate for a simple tool but lacks details on return value, prerequisites (e.g., sprite must be open), behavior with non-indexed color modes, and error handling. Missing 'reverse' parameter explanation.

    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?

    The description explains the 'by' parameter (hue, luminance, etc.) and its default, and implies filename from context, but does not mention the 'reverse' parameter at all, leaving its meaning unclear despite 0% schema description coverage.

    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?

    The description clearly states the tool sorts a palette by hue, luminance, saturation, or value, with luminance as default. It distinguishes from siblings like set_palette or get_palette by focusing on reordering, not setting or retrieving.

    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?

    The description implies usage for sorting palette colors and mentions default behavior, but does not explicitly state when to use this tool versus alternatives like set_palette or set_palette_color, nor when not to use it.

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

  • Behavior4/5

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

    No annotations exist, so the description bears full burden. It states that the new layer includes the source layer's cels and is placed on top, which is helpful. However, it does not disclose whether other properties (e.g., blend mode, opacity, visibility) are duplicated, nor any side effects.

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

    Conciseness5/5

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

    The description is a single concise sentence with no wasted words. It is front-loaded with the primary action and scope.

    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?

    While the tool is simple, the description does not mention what the tool returns, nor does it clarify parameter semantics. Given the absence of output schema, this omission leaves the agent uncertain about the outcome (e.g., returns the new layer name?).

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

    Parameters2/5

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

    Schema coverage is 0%, yet the description adds no explanation of the parameters ('layer' and 'filename'). The purpose of 'filename' is particularly unclear – it might refer to the sprite file or target filename. The description should have clarified these for effective use.

    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?

    The description clearly states the verb 'Duplicate' and the resource 'layer', and specifies that it includes cels and places the new layer on top. This clearly distinguishes it from sibling tools like copy_cel (duplicates cel only) or add_layer (creates empty layer).

    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?

    The description does not provide any guidance on when to use this tool versus alternatives (e.g., copy_cel+add_layer, duplicate_frame). No exclusions or context about prerequisites are given, so the agent must infer usage from the tool name alone.

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

  • Behavior2/5

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

    No annotations are provided, so the description must disclose behavioral traits. It explains parameters but does not state whether the tool is read-only or destructive, what file format is output (inferred from 'scale' description mentions PNG), or any required permissions. Missing side effects or return behavior.

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

    Conciseness5/5

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

    The description is extremely concise: one sentence for purpose and a list of parameter explanations. Every sentence adds value with no redundancy. Front-loaded with the key action.

    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?

    Given 7 parameters, no output schema, and no annotations, the description adequately explains all inputs. It lacks explicit output format confirmation beyond the PNG mention in scale, but overall sufficiently guides usage for a simple export tool.

    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?

    The description adds meaning beyond the schema for all 7 parameters (e.g., 'frame: The in-focus frame (drawn fully opaque), 1-based'), compensating for the 0% schema description coverage. It clarifies defaults and ranges (e.g., ghost_opacity 0-255).

    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?

    The description states a specific verb ('Export') and resource ('frame with neighbouring frames ghosted behind it'), clearly distinguishing it from sibling tools like export_png, export_gif, and export_frames.

    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?

    The description implies usage for onion skin export but does not explicitly tell when to use this vs. alternatives (e.g., 'Use this when you need onion skin; otherwise use export_png or export_gif'). No exclusions or prerequisites are mentioned.

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

  • Behavior3/5

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

    No annotations provided, so description carries full burden. States it creates an editable sprite, but does not disclose side effects (e.g., file overwrite, permissions needed). Basic transparency but lacks depth.

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

    Conciseness5/5

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

    Very concise: single-line summary followed by parameter descriptions. No fluff. Front-loaded with main purpose. Efficient structure.

    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?

    Given simple tool with 2 parameters and no output schema, description covers core functionality and parameters. Missing return value (e.g., sprite ID) and whether it creates new project or imports to existing. Almost complete.

    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 has 0% description coverage. Description adds brief semantics for both parameters ('Source raster image', 'Destination .aseprite path'), which is helpful but minimal. Could specify accepted formats or constraints.

    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?

    Clearly states it creates an editable .aseprite sprite from flat images, with explicit input formats. Distinguishes from siblings which are export or manipulation tools.

    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?

    Implied usage as a first step for editing flat images, but no explicit when-to-use, when-not-to-use, or alternatives mentioned. Sibling tools like 'create_sprite' or 'stamp_file' are not differentiated.

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

  • Behavior3/5

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

    No annotations are provided, so the description must disclose behavior. It notes 1-based indexing and a constraint, but lacks details on error handling (e.g., what happens if sprite has only one frame) or side effects (e.g., permanent deletion).

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

    Conciseness5/5

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

    Two sentences, front-loaded with verb and resource, no wasted words. Efficient and to the point.

    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 simple delete operation with two parameters and no output schema, the description covers the action and a precondition. However, it omits return value, error conditions, and confirmation, leaving some gaps.

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

    Parameters2/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. However, it only mentions 'frame (1-based)' and does not describe the 'filename' parameter or any parameter constraints beyond the integer type.

    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?

    The description clearly states the action 'Delete a frame' with specific details (1-based indexing) and a precondition (sprite must have more than one frame). This distinguishes it from sibling tools like add_frame or duplicate_frame.

    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?

    The description provides a clear precondition ('The sprite must have more than one frame') which implies when to use and when not. However, it does not explicitly name alternative tools for handling frames.

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

  • Behavior3/5

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

    With no annotations provided, the description carries full burden. It discloses that deleting a group also removes its children, but lacks details on reversibility, permissions required, or side effects. The implicit destructiveness is noted but not elaborated.

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

    Conciseness5/5

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

    The description is a single, well-structured sentence. It front-loads the action and resource, then specifies the targeting method. No extraneous words.

    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?

    Given the tool's simplicity (2 parameters, no output schema), the description covers the core functionality: what it deletes and how to specify the target. It does not mention return values or errors, but for a straightforward deletion tool, this is nearly complete.

    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. It clarifies that the 'layer' parameter accepts a string that can be a name or 1-based index, but does not explain the 'filename' parameter (likely a file path). This adds some meaning but not fully covers all parameter aspects.

    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?

    The description clearly states the action ('Delete'), the resource ('a layer or group'), and specifies the targeting methods ('by name or 1-based index'). It effectively distinguishes from sibling tools like 'add_layer' or 'rename_layer'.

    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?

    The description implies when to use the tool (when a layer or group needs to be removed) but does not provide explicit guidance on when not to use it or alternatives (e.g., 'merge_layer_down' or 'delete_cel' for different use cases).

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

  • Behavior3/5

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

    No annotations are provided, so the description must disclose behavioral traits. It explains that changing from_frame/to_frame recreates the tag in place, which is valuable. However, it omits other behaviors like error handling, permissions, or whether the operation is reversible.

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

    Conciseness5/5

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

    The description is very concise with two sentences. The first sentence states the core purpose, and the second adds a critical behavioral note. No fluff; every word contributes value.

    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?

    With 7 parameters, no output schema, and no annotations, the description is adequate for a simple update tool but not comprehensive. It covers the basic purpose and a key behavioral detail, but lacks information on return values, failure modes, or typical use cases.

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

    Parameters2/5

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

    Schema description coverage is 0%, meaning the schema includes no parameter descriptions. The description only adds semantics for from_frame and to_frame (recreates tag), while other parameters (color, direction, new_name) remain undocumented, leaving significant gaps.

    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?

    The description clearly states 'Update an existing tag' using a specific verb and resource. It distinguishes from sibling tools like add_tag (create) and remove_tag (delete), making the purpose unambiguous.

    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?

    The description implies usage for updating tags and notes that only passed arguments change, which guides the agent on partial updates. However, it lacks explicit when-not-to-use context or alternatives, but the context is clear enough.

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

  • Behavior4/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 describes the output (workflow manifest with slices) and the nature of the operation (scaffolding placeholders). It doesn't mention side effects or permissions, but for a creation tool this is adequate.

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

    Conciseness5/5

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

    Two sentences, front-loaded with purpose. No wasted words; each sentence provides essential information.

    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?

    The description explains the output format (workflow manifest with slices) which is important since there is no output schema. It lacks prerequisites or side effects, but for a simple creation tool it is largely complete.

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

    Parameters2/5

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

    With 0% schema coverage, the description must explain parameters. It only explains 'count' (icon cells and named slices). The other parameters (name, columns, icon_size) are not described, leaving a significant gap for the agent.

    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?

    The description clearly states it scaffolds an icon set with a grid sheet and named slices, which is a specific action on a specific resource. It distinguishes itself from sibling tools like create_sprite or create_character_sprite.

    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?

    The description implies usage for creating icon sets but does not explicitly state when to use this tool versus alternatives like create_sprite or create_character_sprite. No exclusions are provided.

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

  • Behavior3/5

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

    With no annotations, description carries full burden. It explains that filled=False gives 1px outline and antialias only works for filled RGB sprites. But it does not disclose side effects (like overwriting pixels), error conditions, or behavior across frames/layers.

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

    Conciseness5/5

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

    Three sentences, no wasted words. The first sentence gives the core action, followed by brief parameter clarifications. Front-loaded and efficient.

    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?

    Given 10 parameters, no output schema, and no annotations, the description covers the essential behavior and key params but lacks details on color, frame, layer, and return value. Adequate for a simple drawing tool but not fully comprehensive.

    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%, so description must compensate. It explains center_x, center_y, radius_x, radius_y, filled, antialias. But it omits explanations for color (format?), frame (existence?), layer, and filename. Assumes filename is obvious, but extra clarity would help.

    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?

    The description clearly states 'Draw an ellipse centred at (center_x, center_y) with the given radii.' It uses a specific verb (draw) and resource (ellipse), and the mention of radii distinguishes it from other shape tools like draw_rectangle.

    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?

    Provides context for circles (same radii) and explains parameters like filled and antialias. However, it does not explicitly state when to use this tool over alternatives (e.g., draw_rectangle) or mention prerequisites like frame or layer existence.

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

  • Behavior4/5

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

    With no annotations, the description effectively discloses the core behaviors: duplicating frames, nudging layer, setting durations, adding a tag, and returning a manifest. It does not cover what happens to existing frames or tags, but provides substantial transparency.

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

    Conciseness5/5

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

    Three concise sentences front-load the purpose, then detail the process and output. Every sentence adds value with no redundancy.

    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?

    Given 5 parameters (1 required) and no output schema/annotations, the description explains the output format and main steps but lacks details on edge cases (e.g., existing frames, missing layer) and full parameter semantics. Adequate but could be more complete.

    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. It explains 'bob_pixels' and mentions 'layer', but does not individually describe all 5 parameters (e.g., 'filename', 'tag_name', 'frame_duration_ms' are implied but not explicitly detailed). Adds moderate value beyond schema.

    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?

    The description clearly states the verb 'turn' and resource 'single-frame sprite', specifies the output as a '4-frame idle bob loop', and lists the key transformations. It distinguishes from siblings like make_8_direction_walk_template by focusing on a 4-frame idle loop.

    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?

    The description implies the tool is for creating an idle animation from a single frame, but does not explicitly state when to use it vs alternatives (e.g., when you have a multi-frame sprite) or any prerequisites. Lacks guidance on exclusions.

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

  • Behavior4/5

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

    Discloses that Aseprite is not launched, returns dry_run=true manifest, and handles invalid specs with validation report. No annotations provided, so description carries the burden and does well.

    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 purpose, but slightly wordy in first sentence. Almost concise.

    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?

    Overall adequate for a simple tool with one parameter, but lacks specification details for the 'spec' object, which is important given no output schema.

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

    Parameters2/5

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

    Schema coverage is 0%, and the description adds no detail about the 'spec' parameter format or required fields, leaving the agent with minimal guidance.

    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?

    Clearly states it returns ordered build steps without launching Aseprite, distinguishing it from build_asset_from_spec and validate_asset_spec.

    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?

    Describes it as a dry-run alternative to build_asset_from_spec, and indicates it returns validation report on invalid input, providing clear context for usage.

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

  • Behavior3/5

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

    No annotations provided, so description must disclose behavior. It states adds/trims space and anchor controls content position. However, does not mention potential destructiveness, effect on layers, or other side effects.

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

    Conciseness5/5

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

    Extremely concise: two sentences plus bullet, front-loaded with main purpose. Every sentence adds value with zero wasted words.

    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?

    Given no annotations, no output schema, and 0% schema coverage, the description is adequate for a simple tool but lacks detail on return values, errors, or prerequisites. Could be more complete.

    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 description must compensate. It explains anchor values ('top_left' or 'center') but does not describe width, height, or filename. Only adds partial meaning beyond schema.

    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?

    Description clearly states 'Resize the canvas WITHOUT scaling the artwork' with specific verb (resize) and resource (canvas), and distinguishes from scaling. Also explains the anchor parameter effect.

    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?

    Describes when to use (resize canvas without scaling) and explains anchor parameter. Does not explicitly state when not to use or list alternatives, but context with sibling tools implies scaling uses scale_sprite.

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

  • Behavior4/5

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

    No annotations exist, so the description carries the burden. It explicitly states the cropping logic (bounding box of non-transparent content across every frame), which is transparent about the behavior. It does not mention destructiveness or reversibility, but the core action is well explained.

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

    Conciseness5/5

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

    The description is a single, well-structured sentence that front-loads the action and key conditions. Every word contributes meaning with no redundancy.

    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 simple tool with one parameter and no output schema, the description covers the core behavior sufficiently. It could mention whether the operation is destructive or affects layers, but overall provides adequate context for an agent to invoke the tool correctly.

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

    Parameters2/5

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

    Schema coverage is 0% for the single parameter 'filename', and the description does not explain what filename refers to (presumably the sprite identifier). The agent must infer meaning from context, so the description fails to add value beyond the parameter name.

    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?

    The description clearly states the tool auto-crops the canvas to the bounding box of non-transparent content across all frames, using a specific verb (auto-crop) and resource (canvas). It distinguishes from siblings like crop_sprite (likely manual) and resize_canvas.

    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?

    The description implies usage when needing to remove empty space around content, but does not explicitly contrast with alternatives like crop_sprite or mention prerequisites. No when-not-to-use guidance is given.

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

  • Behavior4/5

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

    With no annotations, the description carries the full burden of behavioral disclosure. It details the checks performed, notes that all criteria are optional, and describes the return manifest structure (validation.passed, checks, errors, warnings). It also mentions soft warnings for oversized canvases, etc., providing good transparency.

    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?

    The description is front-loaded with the core purpose, followed by a comprehensive list of checks, and ends with return format details. It is informative but not overly verbose for a tool with 12 parameters and no schema descriptions.

    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?

    Given the tool's complexity (12 parameters, no output schema, no annotations), the description provides a clear overview of behavior, the checks performed, and the verdict structure. It could be improved by explaining each parameter's role, but overall it is sufficiently complete for an agent to understand and invoke the tool correctly.

    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. It lists the types of checks (dimensions, frames, tags, etc.) which correspond to parameters, but does not explicitly map parameter names to their meanings. For example, 'expected_width' is not mentioned; instead it says 'do dimensions match'. This provides context but not direct parameter semantics.

    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?

    The description clearly states the tool's purpose: 'Check whether a sprite is game-ready against the criteria you specify.' It enumerates specific checks (file opens, dimensions, color mode, etc.), distinguishing it from sibling tools like validate_asset_spec by focusing on sprite game readiness.

    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?

    The description implies usage for pre-export validation by listing checks, but it does not explicitly state when to use this tool over alternatives (e.g., validate_asset_spec) or when not to use it. No guidance on prerequisites or context.

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

  • Behavior3/5

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

    Without annotations, the description explains the layer is dimmed and locked, and details parameter effects (opacity, scale_to_fit), but omits side effects, reversibility, or permission requirements.

    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?

    Concise with a clear introductory sentence and parameter list, though not strictly formatted as bullet points; no redundant information.

    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?

    Adequately covers purpose and main parameters, but lacks details on error handling, default behavior when scale_to_fit is false, and does not describe return value or side effects.

    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?

    The description explains 6 of 8 parameters (image_file, layer_name, opacity, scale_to_fit, x, y) adding context like 'dim it so your art stands out,' compensating for 0% schema coverage, but misses 'filename' and 'frame'.

    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?

    The description clearly states the tool adds a dimmed, locked layer for tracing a reference image, distinguishing it from other layer-adding tools like add_layer or import_image.

    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?

    It mentions excluding the layer from exports using ignore_layer, providing context for export handling, but does not explicitly compare to sibling tools like add_layer or import_image.

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

  • Behavior4/5

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

    With no annotations, the description must reveal behavioral traits. It explains overwrite behavior (no-clobber, pre-check) and that a manifest is returned. However, it omits potential side effects (e.g., file system writes) and permissions, but for an export tool, this is acceptable.

    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?

    The description is front-loaded with the main purpose and lists outputs concisely. It uses a bullet-like structure with Args and Returns, but is slightly verbose. Overall, it efficiently conveys necessary information.

    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?

    Given the tool's complexity (4 parameters, no output schema), the description covers the main outputs and the overwrite behavior well. It mentions the manifest return but does not detail its structure. However, for an experienced agent, the description is mostly sufficient to use the tool correctly.

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

    Parameters2/5

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

    With 0% schema description coverage, the description should explain all parameters. It only details 'overwrite'; 'filename', 'scale', and 'bundle_name' are not explicitly described beyond their schema titles. The parameter names are somewhat self-explanatory, but the description fails to fully compensate for the lack of schema descriptions.

    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?

    The description clearly states the tool exports a sprite into a game-ready bundle directory and lists specific outputs (PNG, GIF, spritesheet, etc.), distinguishing it from sibling export tools that produce single formats.

    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?

    The description implies this is a comprehensive export for game-ready assets, but does not explicitly contrast with siblings or state when an alternative (e.g., export_png) is preferred. The context is clear enough for an agent to infer usage.

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

  • Behavior4/5

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

    With no annotations, the description carries full burden. It accurately states the tool inspects and returns existence, position, bounds, and opacity, implying no side effects. It does not explicitly state it is read-only, but the verb 'inspect' is strong enough. A 5 would require explicit mention of safety or non-modification.

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

    Conciseness5/5

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

    The description is a single, efficient sentence that front-loads the purpose. Every word is meaningful—no filler or redundancy.

    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?

    Given the tool has 3 parameters, no output schema, and no annotations, the description provides only the core purpose and returned properties. It does not specify return format, error handling (e.g., if cel doesn't exist), or prerequisites like filename validity. Adequate but lacks detail for full agent autonomy.

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

    Parameters2/5

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

    Schema coverage is 0% (no parameter descriptions), and the description does not explain the three parameters (filename, layer, frame). It assumes domain knowledge about cel identification. The context 'Inspect a cel' gives minimal guidance, but the agent lacks specifics on the role of each parameter, leading to poor semantic support.

    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?

    The description clearly states the tool inspects a cel and lists what can be learned: existence, position, bounds, and opacity. The verb 'inspect' and resource 'cel' are specific, and the tool distinguishes itself from sibling tools like set_cel_position or delete_cel that modify or remove cels.

    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?

    The description implies use for reading cel properties without modification. The verb 'inspect' clearly indicates read-only intent, distinguishing it from write siblings. However, no explicit alternatives or when-not scenarios are mentioned, so it stops short of a 5.

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

  • Behavior4/5

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

    No annotations provided, so description carries full burden. Discloses atomicity, rollback on failure, dry-run mode, operation ordering, and return type. Does not mention file saving behavior or side effects beyond failure scenario.

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

    Conciseness5/5

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

    Concise single paragraph, front-loaded with purpose, followed by structure, atomicity, dry-run, and return info. Every sentence adds value.

    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-param tool with no output schema, description covers behavior well but misses details on filename parameter (e.g., path format) and return manifest structure. Good but not fully complete.

    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%. Description explains operations array format and lists supported ops, adding value for that parameter. dry_run is briefly explained, but filename is not described. Overall partial compensation for missing schema descriptions.

    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?

    Description clearly states it applies a list of edit operations atomically, lists supported ops, and explains batch behavior. Distinct from sibling tools that perform single operations.

    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?

    Describes atomic batch behavior and dry-run validation, implying use when multiple operations need to be applied together or validated. Lacks explicit comparison to individual sibling tools or when not to use.

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

  • Behavior4/5

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

    With no annotations, the description discloses key traits: no pixels drawn, no-clobber sprite creation, overwrite passed to exports, raises ValidationFailed if spec invalid, and returns a workflow manifest. It does not cover auth or rate limits, but those are less critical for a build tool.

    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?

    The description is somewhat lengthy but well-structured, starting with a summary then details about args and return. It uses a list for args and return, making it scannable. Could be slightly more concise, but overall good.

    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?

    The tool has two parameters, no output schema, and nested objects. The description covers behavior, return type, and error conditions. It references a document type for spec, which is reasonable. It might benefit from mentioning the need for prior validation, but it's implied.

    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?

    The description explains overwrite clearly, including its effect and the no-clobber behavior for the sprite. For the 'spec' parameter, it only mentions the document type and that it's a validated plan, lacking detailed structure. With 0% schema coverage, more detail on spec would be helpful.

    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?

    The description clearly states it builds an asset from an aseprite_mcp.asset_spec.v1 document, and distinguishes from sibling tools like validate_asset_spec and plan_asset_spec by referring to executing a validated plan. It also notes that no pixels are drawn, differentiating from drawing tools.

    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?

    The description explains that the tool executes a validated plan and mentions overwrite behavior and no-clobber on sprite creation. It implicitly tells when to use (after validation and planning) but does not explicitly state alternatives or exclude wrong usage scenarios.

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

  • Behavior4/5

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

    Describes key behavioral traits: creates a dimmed, locked layer, frames created as needed, images per frame, export exclusion. No annotations provided, so description carries the burden; it covers the main behaviors but lacks details on side effects (e.g., overwriting).

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

    Conciseness5/5

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

    Two sentences that are concise and front-loaded: first sentence states purpose, second sentence provides usage notes. No wasted words.

    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?

    Given the tool's complexity (6 params, no output schema, no annotations), the description covers the essential workflow. Missing details like image formats or behavior on existing frames, but still fairly complete for a common operation.

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

    Parameters2/5

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

    Schema description coverage is 0%, and the description adds no explanation for the 6 parameters. Parameter names are self-explanatory, but the description does not clarify purpose or constraints beyond the name.

    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?

    The description clearly states the tool's purpose: importing a sequence of images as per-frame references for rotoscoping. It uses specific verb+resource ('import... as per-frame references') and distinguishes from siblings like 'import_image' and 'add_reference_layer'.

    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?

    Provides clear guidance on how to use the tool: images placed on their own frames in a dimmed, locked layer, draw animation above, exclude at export. Does not explicitly list when not to use, but context is sufficient.

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

  • Behavior4/5

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

    With no annotations, the description carries full burden. It describes the group layer as empty and topmost, and hints at nesting behavior. It does not detail side effects or default properties, but is reasonably transparent.

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

    Conciseness5/5

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

    Two concise sentences with no fluff. The first sentence states the core action, the second provides usage context, making it highly efficient.

    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 simple tool with 2 required params and no output schema, the description explains the purpose and usage context. However, missing parameter descriptions reduce completeness.

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

    Parameters2/5

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

    Schema coverage is 0%, but the description does not explain parameters 'name' or 'filename'. No additional meaning is provided beyond the schema, leaving the agent without clarity on what values to supply.

    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?

    The description clearly states the action (add), the resource (group layer), and its placement (on top of the stack). It distinguishes from sibling tools by mentioning nesting with add_layer and move_layer.

    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?

    Provides explicit guidance on when to use this tool (create a group layer) and how to nest layers using other tools, offering clear context and alternatives.

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

  • Behavior4/5

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

    Describes return format (list of #RRGGBBAA) and all parameter effects including side effect of set_as_palette. No annotation contradictions as none provided.

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

    Conciseness5/5

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

    Very concise: one sentence for purpose, then clear parameter list. No wasted words.

    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?

    Fully describes purpose, parameters, and return format. No output schema but description covers what is returned. Complements the schema perfectly.

    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?

    Despite 0% schema description coverage, the description provides detailed explanations for all 5 parameters including default behavior (include_alpha, set_as_palette, max_colors error).

    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?

    The description clearly states the tool extracts unique colours from a sprite or another image, distinguishing it from palette manipulation siblings like get_palette or set_palette.

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

    Usage Guidelines2/5

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

    No guidance on when to use this tool vs alternatives (e.g., get_palette). The description does not specify context or exclusions.

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

  • Behavior4/5

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

    Despite no annotations, the description discloses that it reads the composited view, returns hex strings with alpha, and has a 64x64 cap. This is sufficient behavioral context for safe use.

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

    Conciseness5/5

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

    Three sentences, no wasted words. Essential information is front-loaded (verb, resource, output format, constraint).

    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 simple read tool, the description covers the main aspects: what it reads, output format, and size limit. It could mention coordinate system or what happens at canvas edges, but overall it's sufficiently complete.

    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?

    The description implicitly explains that parameters define a region (x, y, width, height) and filename, but frame is not mentioned and width/height default behavior (null = full?) is ambiguous. With 0% schema coverage, it adds needed context but not fully.

    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?

    The description clearly states 'Read the composited pixel colours of a region' with a specific verb and resource. It distinguishes from siblings like draw_pixels (write) and get_palette, making the tool's purpose unambiguous.

    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?

    It provides clear guidance on the region cap and recommends tiling for larger areas. However, it does not explicitly mention when not to use this tool or suggest alternatives like draw_pixels for writing, though siblings are numerous.

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

  • Behavior4/5

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

    No annotations provided, so description carries full burden. It discloses the check is non-destructive and return a boolean (implied). Could mention that it does not launch the GUI itself, but otherwise transparent enough.

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

    Conciseness5/5

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

    Single, well-structured sentence with no unnecessary words. Front-loaded with verb and resource, efficiently conveys meaning.

    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 simple check with no parameters and no output schema, the description covers the essential purpose. Slightly lacking detail on return type or edge cases, but adequate for selecting this tool.

    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?

    No parameters exist; schema coverage is 100%. Description adds value by explaining the purpose, which is sufficient given zero parameters.

    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?

    Description clearly specifies the tool checks if the Aseprite GUI can be launched, with a precise condition 'executable resolvable'. This distinguishes it from all sibling tools which perform sprite editing or export operations.

    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?

    Implied usage context: use before GUI-dependent tasks. No explicit when-to-use or when-not-to-use, but contrast with siblings suggests it's a precondition check. Lacks alternatives or exclusions.

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

  • Behavior4/5

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

    Without annotations, the description bears full responsibility. It discloses key behaviors: support for newlines ('\n'), default bitmap font vs. TrueType font with font_size, threshold cutoff for crispness, and return of pixel size. However, it does not address what happens if font_path is invalid, error handling, or whether drawing overwrites existing pixels.

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

    Conciseness5/5

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

    The description is well-structured with a brief initial sentence followed by a clean, bullet-like argument list. It is informative without redundancy, includes essential details, and is appropriately sized for the parameter count.

    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?

    Given the complexity (12 parameters, no output schema, no annotations), the description covers nearly all aspects: parameter explanations, return value, and behavioral details. Minor gaps include lack of error scenarios (e.g., invalid font_path, out-of-bounds coordinates) and lack of explanation for 'standard draw result'.

    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%, so the description must fully explain parameters. It does so comprehensively: text supports newlines, x/y are top-left, color is a string, scale defaults to 1, font_path is optional with implications, font_size is only for TrueType, spacing adds between lines, threshold controls cut-off. It also notes the return value includes pixel size.

    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?

    The description clearly states the tool's action: 'Draw text onto a layer at (x, y) in a single colour.' It specifies the verb 'draw', the resource 'text onto a layer', and enumerates parameters. This distinguishes it from sibling drawing tools like draw_pixels or draw_line, which have different purposes.

    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?

    The description does not explicitly state when to use this tool versus alternatives, nor does it mention when not to use it. The context is implied (use when drawing text), but no guidance is given on choosing between this and other text-related tools (e.g., none listed) or general drawing tools.

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

  • Behavior4/5

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

    With no annotations, the description carries the full burden. It discloses behavioral traits: file output defaults, overwrite flag behavior, type detection rules, and data parsing logic. However, it does not explicitly state that it creates a file (though implied by output parameter).

    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?

    The description is well-structured with a clear header, format details, type detection rules, and argument list. It is slightly long but every sentence contributes value. No redundancy.

    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?

    Given 3 parameters, no output schema, and no annotations, the description is highly complete: it explains the return type (workflow manifest), covers edge cases in type detection, and specifies format structure. An agent can reliably invoke this tool.

    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 has 0% description coverage, so the description fully compensates. It explains each parameter: output defaults to <sprite>_slices.json, filename is required, overwrite controls replacement. This adds essential meaning beyond the schema.

    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?

    The description clearly states it exports every slice as engine-agnostic JSON, specifies the format version, and details the output structure. It distinguishes this tool from siblings like list_slices or export_layers by focusing on slice metadata export with specific transformation logic.

    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?

    The description implies usage for exporting slice metadata in a standardized format but does not explicitly state when to use this tool versus alternatives like list_slices for basic listing or other export tools. No direct mention of when not to use.

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

  • Behavior4/5

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

    No annotations are provided, so the description carries full burden. It discloses that the tool performs a real round-trip test and defines the condition for 'ok'. This is transparent about behavior without annotations.

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

    Conciseness5/5

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

    Two sentences, front-loaded with the key action, none wasted. Every sentence provides essential information.

    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?

    Given no parameters, no output schema, and no annotations, the description fully explains what the tool does and what it returns, including the meaning of 'ok'. No gaps.

    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?

    The tool has zero parameters and schema coverage is 100%. The description adds no new parameter info, but none is needed. Baseline 4 applies due to no parameters.

    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?

    The description clearly states the tool runs a self-test of the server and Aseprite integration, listing specific checks performed. This distinguishes it from all sibling tools, which are primarily sprite manipulation or export tools, making the purpose obvious.

    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?

    The description does not explicitly state when to use this tool versus alternatives. While the purpose is clear, there is no guidance on context or exclusion (e.g., 'use this to verify setup before other operations'). Usage must be inferred.

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

  • Behavior4/5

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

    The description explains that appending is additive and describes the effect of the 'copy_from' parameter. It also states what is returned (new frame number and updated frame count). However, it does not mention persistence or side effects, but given no annotations, this is adequate.

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

    Conciseness5/5

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

    The description is concise, using a short paragraph with clear Arggs and Returns sections. Every sentence is informative and there is no redundancy.

    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?

    All necessary information is covered: purpose, parameters, return values, and parameter behavior. No missing details given the tool's simplicity and lack of output schema.

    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?

    With 0% schema description coverage, the description fully compensates by explaining each parameter: 'duration_ms' default, 'copy_from' as 1-based index or null with behavior, and 'filename' required. It adds meaning beyond the schema definition.

    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?

    The description explicitly states 'Append a new frame to the animation' with a clear verb (append), resource (frame), and context (animation). This distinguishes it from sibling tools like 'remove_frame' and 'duplicate_frame'.

    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?

    No explicit guidance on when to use this tool versus alternatives such as 'duplicate_frame' or 'insert_frame'. Usage is implied by the purpose, but no exclusions or preferences are provided.

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

  • Behavior4/5

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

    No annotations are provided, so the description must fully disclose behavior. It notes the overwrite default, optional background for transparency, and return of structured info. It does not mention error conditions or side effects beyond file creation, but the core behavior is well covered.

    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?

    The description is efficient, using one sentence for purpose and a bullet list for parameters. It avoids fluff and front-loads the action. The return statement is somewhat redundant but not harmful.

    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?

    With 6 parameters, no output schema, and no annotations, the description covers all inputs with defaults and bounds. It mentions the return value without detail, which is acceptable. The description is complete enough for an agent to use correctly.

    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%, so the description carries the full burden. It adds bounds (1-65535 for dimensions), default values (color_mode='rgb', overwrite=false), format tips (extension), and background optionality. This significantly enriches the bare schema.

    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?

    The description clearly states 'Create a new sprite file and save it.' This is a specific verb+resource combination. Among siblings, none duplicate this creation purpose, making it well-differentiated.

    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?

    The description gives usage guidance on filename extension (.aseprite/.ase) and default behavior (no overwrite). It doesn't explicitly mention when not to use or compare to alternatives, but the context of siblings like import_image implies this is for new sprites from scratch.

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

  • Behavior5/5

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

    With no annotations, the description fully discloses behavioral traits: multiple file output, per-frame timing from Aseprite, animation per tag or default, and overwrite validation (all three targets validated upfront). It also notes that tag direction is not represented and that default_loop applies to all.

    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?

    The description is well-structured with clear sections but is verbose. Every sentence adds value, but some explanatory details (like v1 limitations) could be streamlined without losing clarity.

    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 tool with 7 parameters and no output schema, the description is thorough. It covers the complete output, edge cases (no-clobber), defaults, and return type (workflow_manifest). No missing critical information.

    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%, so the description must explain parameters. It describes output, sheet_output, scale, texture_res_path, default_loop, and overwrite with semantics and defaults. However, the required parameter 'filename' is not mentioned in the description, leaving its purpose unclear.

    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?

    The description clearly states the tool exports a sprite as a Godot SpriteFrames resource (.tres) plus a packed sheet. It specifies the three output files and distinguishes this from sibling export tools (e.g., export_png, export_gif) by its Godot-specific format and features.

    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?

    The description explains the context of use (exporting for Godot) and details limitations (v1, no pivot/origin/hitbox, tag direction ignored). It implies when to use but does not explicitly state when not to use or offer direct alternatives among siblings.

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

  • Behavior5/5

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

    With no annotations, the description carries full burden. It discloses the return format ('workflow_manifest.v1' with a 'validation' block containing passed, checks, errors, warnings), lists what aspects are checked, and clarifies what is not checked, providing rich behavioral context beyond the input schema.

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

    Conciseness5/5

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

    The description is concise and front-loaded: first sentence states the primary action, second paragraph enumerates checks, third clarifies scope. No redundant or verbose language; every sentence adds value.

    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?

    Given one complex parameter and no output schema, the description covers purpose, processing, and return format well. It could hint at prerequisites or error handling, but is largely sufficient for an agent to understand and invoke the tool correctly.

    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% — the sole parameter 'spec' has no schema-level description. The tool description partially compensates by naming the document type and listing checks, but it does not detail the expected structure or required properties of the 'spec' object, leaving ambiguity for the agent.

    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?

    The description clearly states the tool validates an 'aseprite_mcp.asset_spec.v1' document, checking if the spec makes sense. It lists specific checks (schema, kind, canvas, etc.) and explicitly contrasts with a future tool for checking a finished sprite, distinguishing it from siblings like 'validate_sprite_for_game_export'.

    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?

    The description provides a clear when-not-to-use case: 'This does **not** check a finished sprite against the spec — that's a separate future tool.' However, it does not explicitly state when to use this vs. other related tools like 'plan_asset_spec' or 'build_asset_from_spec', though the context implies using it before building.

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

  • Behavior4/5

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

    With no annotations, the description fully discloses the behavior: it generates colors, optionally modifies a sprite's palette via apply/filename, and returns a list of colors. It explains hue shifting and saturation scaling clearly. No mention of error handling or side effects, but the core behavior is well covered.

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

    Conciseness5/5

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

    The description is concise: a two-sentence overview followed by a structured Args section. Every sentence adds value without redundancy. It is front-loaded with the core purpose and parameter effects.

    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?

    Given no annotations and no output schema, the description adequately covers purpose, parameters, and return format. It could include more detail on error handling or edge cases (e.g., what happens if apply is set without filename), but for a generation tool this is sufficient for an AI agent to use correctly.

    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 coverage is 0% (no parameter descriptions in schema), so the description must compensate completely. It does so by documenting each of the 7 parameters: base_color, steps, light_range, hue_shift, saturation_shift, apply (with values 'none', 'append', 'replace'), and filename. Defaults and meanings are all explained.

    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?

    The description clearly defines the tool as generating a shading ramp from a base color with dark-to-light progression. It includes specific technical details (lightness variation, optional hue rotation and saturation scaling) that differentiate it from any sibling tools, none of which perform ramp generation.

    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?

    The description explains how to use each parameter and the two modes (just return or apply to palette). It implicitly covers when to use the tool (when a shading ramp is needed) but does not explicitly list alternatives or case exclusions. The guidance is clear enough for most use cases.

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

  • Behavior5/5

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

    With no annotations provided, the description fully discloses non-blocking behavior, independent window operation, automatic reload detection, return of process id, and how to stop (close window). This is comprehensive for a launcher tool.

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

    Conciseness5/5

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

    The description is very concise, using four sentences to convey action, behavior, return value, and stop instructions. No fluff, well-structured.

    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 simple one-parameter tool with no output schema, the description covers all necessary aspects: what it does, how it behaves with other tools, return value, and how to terminate. It is fully adequate.

    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?

    The single parameter 'filename' is implied to be a sprite file, but the description does not specify format or path conventions. Given 0% schema coverage, the description adds essential meaning but could be more precise.

    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?

    The description clearly states that the tool opens a sprite in the Aseprite GUI for live viewing. It uses the specific verb-resource pair 'Open a sprite' and distinguishes from editing or export tools by focusing on live viewing.

    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?

    The description explains that the window stays open for live viewing while editing with other tools, providing clear usage context. However, it does not explicitly mention when not to use this tool or point to alternatives like export_png for static exports.

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

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

aseprite-mcp MCP server

Copy to your README.md:

Score Badge

aseprite-mcp MCP server

Copy to your README.md:

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/MalloyTheDev/aseprite-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server