Skip to main content
Glama

Set the real headline and logo over generated art

compose

Renders a headline and optional subline with a brand's logo over your generated art, auto-picking the calmest corners and enforcing 4.5:1 contrast, then saving a PNG.

Instructions

Renders a headline (and an optional sub line) and a registered brand's real logo over a generated image, the careful way every time: the calmest corner is measured and gets the text, the logo takes the calmest bottom corner left, text colour and a soft scrim are chosen for at least 4.5:1 contrast, the brand's display font (or the brief's) is used, one colour, no glow, no eyebrow label. A logo on its own dark tile gets a feathered edge so it doesn't look boxed. Saves a PNG; run deliver on it for the platform. Opens a tab in the server's browser to render.

Input Schema

NameRequiredDescriptionDefault
sublineNo
brand_idNoA brand from brand_profiles; its logo and fonts are used. Leave out for text only
headlineYes
platformNoCrop the art to this platform's size first, so the text margins are right in the final file
body_fontNo
overwriteNo
input_pathYesThe generated art, relative to the project
logo_cornerNo
output_pathNoDefault: <input folder>/<name>-composed.png
text_cornerNoDefault: the calmest corner, measured
heading_fontNoDefault: the brand's, else Space Grotesk

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.4.1

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does real work: it discloses that a PNG is written to disk, that a browser tab is opened on the server, and the deterministic layout/contrast rules (4.5:1 scrim, single colour, no glow, feathered logo tile). It does not disclose what happens when the output already exists without overwrite, or what errors can occur.

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?

Purpose is front-loaded in the first clause, followed by dense behavioural detail, then outputs and side effects. The middle sentence is long and comma-chained but every clause carries real information; nothing is filler.

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 an 11-parameter write tool with no annotations and no output schema, the description explains the output (a saved PNG), the downstream step (deliver), and the browser-tab side effect, which covers most of what an agent needs. Gaps around overwrite behaviour, failure modes, and a few parameters keep it short of 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?

At 55% schema coverage the description meaningfully supplements several params: text_corner defaults to the measured calmest corner, logo_corner defaults to the calmest bottom corner, and heading_font falls back to the brand's display font then Space Grotesk. However overwrite, output_path, body_font and platform cropping are left to the schema alone, so it only partially compensates.

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 and resource chain: renders a headline plus a registered brand's logo over a generated image, and saves a PNG. That is clearly distinct from image_generate (creates art) and deliver (publishes the finished file), both of which are named or implied.

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 the position in the workflow by telling the agent to 'run deliver on it for the platform' and by taking a generated art path as input, and it notes the browser tab side effect. But it never states when not to use it, nor how it relates to composition_check or design_audit, which are obvious adjacent siblings.

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