Skip to main content
Glama

Metis — Save Viz Style

save_viz_style

Store visualization styling details—palette, type scale, axis treatment, and annotation rules—as a reusable record for consistent charting across recipes.

Instructions

Store the LOOK of a visualization, reusable across recipes.

Styles are rows here rather than prose in an agent prompt for one reason:
prose cannot be added to by saying "I like this". Before this table, the
seven styles Visualization Maker claimed were hand-edited markdown, and no
eighth was ever added.

Args:
    name: e.g. "Upshot editorial", "paper austere".
    one_liner: The feel, in one sentence.
    good_for: paper | briefing | dashboard | talk | poster.
    palette: Hex values AND what each one means. A palette whose roles are
        unrecorded gets reused wrongly.
    type_scale: Families, weights, sizes.
    axis_treatment: Grid, ticks, spines — usually how much to erase.
    annotation_rule: Direct labels vs legend, and title voice. Often the
        most transferable single rule a style has.
    motion: none | transition | scroll-driven.
    theme_pair: Light/dark token pairs, if the style has both.
    notes: Anything else worth carrying.
    derived_from: viz_exemplars.slug, copied verbatim.
    unverified: Fields written from memory rather than measured off the
        original. Exact hex values are the usual case.

Returns:
    The stored style.

Input Schema

NameRequiredDescriptionDefault
nameYes
notesNo
motionNo
paletteNo
good_forNo
one_linerNo
theme_pairNo
type_scaleNo
unverifiedNo
derived_fromNo
axis_treatmentNo
annotation_ruleNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.1.5

TDQS

A3.7/5.0
Behavior3/5

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

No annotations exist, so the description carries the full burden. It discloses useful semantics (derived_from copied verbatim, unverified marks memory-derived fields), but does not say what happens on a name collision (overwrite vs error), whether saving is reversible, or what the caller gets back beyond 'the stored style.'

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?

Front-loaded with a clear one-line purpose and the parameter docs are tight. However, the middle paragraph about the history of seven hand-edited markdown styles is narrative justification aimed at a human reader and consumes space without changing how an agent calls the tool.

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?

Output schema exists so the brief 'Returns: The stored style' is sufficient. With 12 params and no annotations, the description supplies almost all needed field guidance; what's missing is only the duplicate-name/validation behavior an agent would want before writing.

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% and there are 12 parameters, so the description must compensate entirely — and it does, documenting every field with meaning plus examples ('Upshot editorial', 'paper austere'), allowed values for good_for and motion, and the rationale for why palette roles and unverified flags matter.

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?

Specific verb and resource: 'Store the LOOK of a visualization, reusable across recipes.' The `derived_from` reference to viz_exemplars.slug and the 'reusable across recipes' phrasing implicitly separates it from save_viz_recipe/save_viz_exemplar, but the differentiation is inferential rather than stated.

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?

It explains why styles live as rows rather than prompt prose (additive, not hand-edited), which implies when to call it — when you have observed a style worth reusing. But it never names the sibling tools save_viz_recipe or save_viz_exemplar, nor states when a style should be saved here versus sketched as a recipe.

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