Skip to main content
Glama

sch_add_directive

Places a parameter-set directive at specified schematic coordinates to attach a name=value design parameter to a wire or net for compile-time propagation.

Instructions

Place a parameter-set directive at (x, y) on the active schematic.

A parameter-set directive attaches a single name=value design parameter to a wire or net. Drop the directive on top of the target wire/net and the compile engine will propagate the parameter. Common uses:

  • param_name="DifferentialPair", param_value="USB" , marks the net as a member of the USB differential pair.

  • param_name="NetClass", param_value="HighSpeed" , assigns the net to the HighSpeed class.

  • param_name="Signal_Stimulus", param_value="..." , any custom per-net rule parameter.

Args: x, y: Location in mils, place ON the target wire/net. param_name: Parameter name (e.g. "NetClass", "DifferentialPair") param_value: Parameter value

Returns: Dictionary confirming placement.

Input Schema

NameRequiredDescriptionDefault
xYes
yYes
param_nameYes
param_valueYes

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.6.1

TDQS

A4/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden and discloses meaningful behavior: the directive attaches a parameter to a wire/net and is propagated by the compile engine. It also states the coordinate unit (mils) and the placement requirement that the point must be on the target wire/net. It does not explain overwrite behavior, duplicate handling, or what happens when no wire/net exists at the location.

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 description is front-loaded with the core action, then explains what a parameter-set directive is, gives examples, and documents arguments. The structure is easy to scan, but the 'Returns: Dictionary confirming placement' line is redundant because an output schema exists, and the examples add some length.

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?

Given the lack of annotations, 0% schema description coverage, and the existence of an output schema, the description supplies enough context to invoke the tool correctly: placement semantics, coordinate units, parameter examples, and compile behavior. It lacks edge-case behavior for invalid placement or existing directives, which prevents a 5.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate, and it does for all four parameters. It explains x and y as mils locations that must be placed on the target wire/net, and explains param_name and param_value with examples such as NetClass=HighSpeed and DifferentialPair=USB. It does not enumerate valid parameter names or values exhaustively, so it is not a 5.

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?

The description names a specific verb and resource: 'Place a parameter-set directive at (x, y) on the active schematic.' It further clarifies that the directive attaches a name=value design parameter to a wire or net, which is more specific than the tool name alone. It does not explicitly differentiate this operation from sibling tools such as sch_get_directives or sch_set_net_tie, so it falls short of a 5.

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?

The description gives clear usage context: drop the directive on top of the target wire/net and the compile engine will propagate the parameter. It also provides common use examples for NetClass, DifferentialPair, and custom signal parameters. It does not state when not to use it or name an alternative tool, so it is not a 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