Skip to main content
Glama

lib_add_symbol_lines

Adds multiple line segments to a schematic symbol body in one batch call, reducing repeated editor redraws and round-trips when drawing multi-line glyphs.

Instructions

Add MANY lines to the current symbol body in ONE call.

PREFER THIS over adding lines one at a time (there is no singular variant). A 12-line LED diode glyph drawn line-by-line would be 12 LLM turns + 12 IPC round-trips + 12 redraw passes; this tool does it in one turn with a single PreProcess/PostProcess pair and one editor redraw at the end.

Args: lines: list of dicts, each with keys x1, y1, x2, y2 (mils, int), width (int 0-3, default 1). grid: snap grid (mils) for the line endpoints. Glyph lines do NOT need the 100-mil pin grid (rule 15), so the default is a finer 25 mils for clean glyph detail; pass 100 for the coarse grid or 0/1 to disable snapping.

Returns: Dict with added, failed, total counts.

Input Schema

NameRequiredDescriptionDefault
gridNo
linesYes

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.6.1

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the burden and does so well: it discloses the single PreProcess/PostProcess pair, the one-redraw-at-end behavior, and the partial-failure signal implied by added/failed/total counts. Gaps remain around prerequisites (a current symbol/component context must exist) and whether repeated calls accumulate on the same body.

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 imperative and batch framing, then args. The 12-line LED diode example justifies the preference but runs long for the value it adds; trimming it to one clause would tighten the definition without losing 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?

Complete enough to invoke correctly: every parameter is documented despite 0% schema coverage, and the return counts are described even though an output schema exists. The only meaningful omission is the context prerequisite — that a symbol body must already be the current component — which matters for a library-editing 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 coverage is 0% and the schema is essentially opaque (lines is an untyped object array with additionalProperties true), so the description must compensate — and it fully does, enumerating x1/y1/x2/y2 in mils as ints and width as int 0-3 defaulting to 1, plus the snap-grid semantics and disable values.

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 with scope: 'Add MANY lines to the current symbol body in ONE call.' The batch framing plus the note that there is no singular variant makes it unmistakable which sibling (lib_add_symbol_arc, lib_add_symbol_polygon, etc.) it is and is not.

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?

Explicitly tells the agent to prefer this over adding lines one at a time and notes the absence of a singular variant, which removes any ambiguity about routing. It also gives guidance on the grid choice (default 25 for glyph detail, 100 for coarse, 0/1 to disable). It stops short of stating when not to use it (e.g. only valid when a symbol body is current).

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