Skip to main content
Glama

outline_smart

Draw pixel art outlines using colours from a ramp, darkening where form turns from light and optionally leaving the lit side unoutlined.

Instructions

Outline a shape in colours drawn from its own ramp, not one flat colour.

`add_outline` paints a single colour all the way round, which reads as a sticker.
Pixel artists vary the outline: darker where the form turns away from the light,
and often dropped entirely on the lit side so the shape breathes.

Args:
    ramp: Colours darkest first. Outline pixels come from here.
    mode: "colormatched" takes each outline pixel from the adjacent interior colour
        shifted `darken_steps` down the ramp. "selective" does the same but leaves
        the lit side unoutlined, which needs `light_angle`. "single" uses the
        darkest ramp entry all round, the classic look.
    darken_steps: How many ramp steps below the neighbouring interior colour.
    light_angle: Degrees, required for "selective". 135 is the usual key light.
    tolerance: How close an interior pixel must be to a ramp entry to be used as
        the source for its outline pixel.
    layer: Target layer (default: top layer).
    frame: Target frame, 1-based.

The outline is drawn outside the silhouette, into transparency, so it never eats
into the artwork.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modeNoDefault: "colormatched".colormatched
rampYes
frameNoDefault: 1.
layerNo
filenameYes
toleranceNoDefault: 32.0.
light_angleNo
darken_stepsNoDefault: 2.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.10.0

TDQS

A4.4/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=false and openWorldHint=false; the description adds the operationally important fact that the outline is drawn outside the silhouette into transparency 'so it never eats into the artwork' — key for predicting side effects. It still doesn't say whether the operation is destructive to existing outlines or requires an existing ramp/palette on the sprite.

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

Conciseness4/5

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

Front-loaded with the purpose, followed by a useful contrast sentence and an Args block; every line carries substance. Slightly long, but no filler that could be cut without losing parameter or behavioral 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 mutation tool with no output schema and thin annotations, the description covers what it does, all parameter meanings, and a key side-effect (draws outside silhouette). Missing only return/error behavior and whether it overwrites existing outlines, which keeps it from a 5.

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 only 50%, and the description fully compensates: it defines ramp ordering ('darkest first'), explains all three mode values with their behavior and the interaction with light_angle, and clarifies darken_steps, light_angle, tolerance, layer default, and frame indexing. This is meaning well 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?

States a specific verb (outline) and a precise, unusual scope: colours drawn from the shape's own ramp rather than one flat colour. It explicitly names and contrasts with the sibling add_outline ('paints a single colour all the way round, which reads as a sticker'), so an agent can distinguish the two without opening either schema.

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?

Strong contextual routing: it explains the pixel-art rationale for varying the outline and when the lit side should be left unoutlined, which effectively tells the agent when to pick each mode. It lacks an explicit 'use this instead of X when Y' statement or prerequisite/permission notes, so it stops short of a full 5.

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

Deploy Server

Other Tools