Skip to main content
Glama
hermoso-ai

Hermoso

Official

Format a Google Sheet

format_sheet
DestructiveIdempotent

Bold the header row, freeze it so it stays visible, and auto-size columns to make an exported sheet readable without changing cell values.

Instructions

Make an exported sheet readable: bold the header row, FREEZE it so it stays visible while scrolling, and auto-size the columns so nothing is cut off. Worth calling right after create_sheet — a raw export with unsized columns and a header that scrolls away is the difference between a spreadsheet someone reads and one they close. Changes no cell VALUE, so it is never gated. The defaults do all three on the first tab; pass tab to pick another, freezeRows:0 to skip freezing, boldHeader:false or autoResize:false to skip those.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tabNotab title or numeric sheetId (default: the first tab)
sheetUrlNo
autoResizeNo
boldHeaderNo
freezeRowsNohow many top rows to freeze (default 1, 0 = none)
spreadsheetIdNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.1.161

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, idempotentHint=true and destructiveHint=true, and the description adds the useful 'never gated' behavioral fact plus the helpful defaults (all three actions on the first tab, how to skip each). However, it frames itself as non-destructive ('Changes no cell VALUE') without warning that applying bold/auto-resize can overwrite existing cell formatting, which sits in tension with destructiveHint=true.

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 core action is front-loaded and the parameter/skip mechanics come last, which is the right order. It is somewhat long and the 'difference between a spreadsheet someone reads and one they close' clause is editorial filler that does not add operational 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?

For a formatting tool with annotations and no output schema, the definition covers what changes, the defaults, how to opt out of each step, and gating behavior. The main missing piece is whether existing formatting is overwritten, which matters given destructiveHint=true.

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 only 33% schema description coverage, the description must compensate. It explains the semantics of tab, freezeRows (0 = skip), boldHeader and autoResize (false = skip), which helps, but leaves sheetUrl and spreadsheetId entirely undocumented in both schema and description. Partial compensation only.

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 names a concrete verb and resource (format an exported Google Sheet) and enumerates the exact operations: bold the header, freeze it, auto-size columns. It clearly separates this from content-mutating siblings by stating it 'Changes no cell VALUE,' so an agent can distinguish it from update_sheet/append_to_sheet without opening a 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?

It gives explicit timing guidance ('Worth calling right after create_sheet') and, via the 'changes no cell VALUE' note, implicitly routes value edits to other tools. It stops short of stating exclusions for the close siblings (update_sheet, manage_sheet_tabs, clear_sheet_range), so it is clear context without full when-not guidance.

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