DipTrace MCP
The DipTrace MCP server provides a comprehensive suite of tools for reading, analyzing, reviewing, and safely editing DipTrace PCB and schematic designs through official XML formats, with support for live sessions, libraries, manufacturing outputs, and transactional integrity.
Document & Server Management: Create new schematic or PCB documents (from scratch or seed files), retrieve document info and capabilities, check server status, and manage live bridge sessions.
Design Queries & Summaries: Retrieve full board or schematic models, query objects with structured selectors, list components/nets/texts/testpoints, get connectivity graphs and design rules, and read raw XML fragments.
Schematic Authoring: Add sheets, place parts from libraries, connect/disconnect pins, add/delete wires (using official Wire/Points structure), add net labels, and set no-connect markers.
PCB Layout Editing: Move, rotate, lock/unlock components; set side, value, pattern, and custom fields; align, distribute, group/ungroup components; edit board texts and testpoints (add/move/remove); set panelization parameters.
Routing & Placement: Add or replace trace paths between pad endpoints, add vias, route multiple nets (including differential pairs) with congestion-aware algorithms, analyze placement and silkscreen, generate and apply placement and silkscreen plans.
Net & Rule Management: Rename nets, assign nets to net classes, update net class rules (width, clearance, diff pair, length constraints).
Library Operations: Scan and query component/pattern libraries, retrieve and validate library items with pin-to-pad mapping.
BOM & Manufacturing Outputs: Generate, group, review, and export BOMs; compare BOM to design; export fabrication and assembly artifacts (generic); synchronize schematic and PCB designs.
Design Reviews & Analysis: Run DRC/ERC-style reviews, testpoint coverage checks, BOM consistency validation, and schematic-PCB comparison.
Transactions & Provenance: All edits are transactional with staging, preview, validation, commit/rollback, and SHA-256 conflict protection; apply low‑level XML patches with guards; record and validate round‑trip evidence.
Live Sessions (Windows): Connect to DipTrace via bridge, apply or cancel live edits with GUI confirmation and safety checks.
External Integrations: Import/export DSN/SES, run Freerouting jobs, and interface with ngspice/openEMS adapters.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@DipTrace MCPSummarize the active PCB design and show any DRC errors."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
DipTrace MCP
DipTrace MCP is a local Model Context Protocol server for reading, analysing, reviewing, and performing guarded edits on DipTrace PCB and schematic projects. It consists of:
diptrace-mcp, the MCP server used by Codex, Claude Desktop, and other MCP clients;diptrace_mcp_bridge.exe, the Windows plug-in bridge for projects currently open in DipTrace;an internal EDA-intelligence layer for deterministic schematic/PCB intent, candidate generation, scoring and guarded improvement;
an optional cinematic presentation layer for calibrated visible DipTrace UI replay and MP4/GIF capture.
Headless cinematic examples
Schematic assembly

This real DipTrace Schematic capture assembles a two-channel BSS138 I²C level
shifter: all 16 symbols appear one at a time, followed by the six electrical
nets. The recording was produced on an isolated Win32 desktop without taking
over the operator's cursor or keyboard. The editable source is
i2c-level-shifter.dchxml; the full-resolution
recording is i2c-level-shifter-demo.mp4.
PCB layout

The matching 25×12 mm PCB uses compact straight 1×4 2.54 mm headers, symmetric
device placement, 14 routed traces, Top and Bottom GND pours, and 17 distributed
GND stitching vias; connector GND pads request four-spoke thermal reliefs.
Components and routes appear in construction order; GND pours and stitching
appear in the final stage. The
capture is cropped to the complete purple board outline with margin instead of
the editor controls. The editable source is
i2c-level-shifter-pcb.dipxml; the
full-resolution recording is
i2c-level-shifter-pcb-demo.mp4.
The operator confirmed both repository examples in the current DipTrace configuration on 2026-08-16. This is scoped presentation evidence, not universal DipTrace compatibility, authoritative refill geometry, or engineering sign-off. The PCB media was regenerated and visually rechecked after the 17-via update on 2026-08-20; renewed operator confirmation remains pending.
Related MCP server: kicad-mcp
Current status
Version 0.4.0 is the current published unsigned development release. The
immutable GitHub release is v0.4.0, and the matching Python package is
diptrace-mcp==0.4.0 on PyPI.
The published release keeps the public MCP contract frozen at 167 tools and contains the A1-A8 roadmap closure plus tested cross-platform host paths:
Windows split per-user/admin installers and portable bundle;
Ubuntu 24.04 x86-64 one-command deployment with Wine and private-Xvfb GUI isolation;
macOS 15 one-command deployment on Apple Silicon and Intel using the official DipTrace.app bundled Wine runtime and hidden-Win32-desktop automation.
Published v0.4.0 GitHub assets are:
DipTrace-MCP-Setup-0.4.0.exe;DipTrace-MCP-Plugin-Setup-0.4.0.exe;DipTrace-MCP-Portable-0.4.0.zip;SHA256SUMS.txt.
The v0.4.0 MCPB/registry preparation gate passed before release, but no v0.4.0 MCPB was attached to the public GitHub release. Do not infer an unpublished bundle from preparation-only CI evidence; the older published MCPB identity remains a separate historical distribution line.
The Windows executables are unsigned. CI, SHA-256, PyPI Trusted Publishing and package attestations establish tested behaviour, byte identity and publication provenance. They do not create a trusted Authenticode signature, universal compatibility, independent review or production readiness.
main may contain post-release hardening that is not part of immutable
v0.4.0; use the tag when reproducibility matters.
Public Release Status
The project uses the OSI-approved Apache-2.0 open-source LICENSE. Participation
and release controls are documented in CONTRIBUTING.md, GOVERNANCE.md,
docs/LICENSE_DECISION.md, docs/PUBLIC_RELEASE_CHECKLIST.md,
docs/RELEASE_PROCESS.md, CHANGELOG.md, and CITATION.cff. Security reports
use the private security channel; a verified Code of Conduct enforcement channel
is not yet published.
Python archives are built from an exact allowlist and audited for entry points, packaged skills, bounds, metadata, and every
RECORDhash and size.PyPI publication uses GitHub OpenID Connect and a protected
pypienvironment; no long-lived PyPI API token is stored.The PyPI publish job receives only the already validated wheel and source distribution from the separate build job.
Windows installer, bridge, standalone executable, configurator, portable bundle, and MCPB remain unsigned development assets.
CI, checksums, Trusted Publishing, and attestations do not create a code-signing or production-readiness claim.
What it provides
The public MCP surface currently registers 167 tools. Runtime
get_capabilities remains authoritative for the active
installation and document.
Main public capability groups:
PCB, schematic, Component Library, and Pattern Library reading and modelling, including the installed DipTrace catalog through a read-only bridge;
structured DRC/ERC, connectivity, BOM, assembly, DFM/DFA/DFT, comparison, and signal-integrity assistance;
guarded component, schematic, NetClass, text, trace, via, panelisation, placement, routing, and synchronisation workflows;
preview, expected SHA-256, policy, backup, atomic replace, rollback, and live-session apply/cancel boundaries;
optional Freerouting, ngspice, and openEMS process adapters;
local stdio and trusted-loopback Streamable HTTP transports.
Internal EDA development deliberately does not expand that public tool surface
one heuristic at a time. The current schematic stack includes design intent and
reference motifs, bounded multi-candidate placement, conservative pin-geometry
resolution, non-mutating wire planning, pin-aware joint placement/routing
scoring, bounded placement repair, literal existing-wire topology proof,
confidence-gated cardinal rotation candidates, and selective atomic replacement
of affected existing wire geometry. schematic_atomic_reroute.py rebuilds only
affected explicit sheet-local nets as one dependency-safe
delete wires -> rotate/move parts -> rebuild wires semantic batch while
preserving unaffected explicit geometry and the existing guarded transaction
boundary. Proven connected acyclic multi-junction topology is preserved;
cyclic, free-leaf, incomplete or ambiguous topology fails closed. Automatic
rotation remains disabled by default pending focused M2 real-host evidence.
The initial 18-case real-DipTrace schematic authoring/readability campaign is complete. The final repaired stress schematic contained 22 parts, 48 pins, 16 nets, and 32 wires; it was operator-accepted and survived real DipTrace Save/Close/Reopen/re-export with all 12 required schematic semantic categories preserved. This is exact-scope product evidence, not a claim of globally optimal layout, arbitrary hierarchy/topology support, or universal DipTrace compatibility. Future schematic host retests are impact-based or tied to genuinely new claims.
The PCB design engine is implemented through four internal bounded generations:
Generation A: engineering intent, functional blocks, net criticality and intent-aware placement v2;
Generation B: stackup/reference context, conservative PDN/return-path/noise analysis and via roles;
Generation C: routing-policy compilation, route ordering, observed-route SI checks, copper strategy and placement feedback;
Generation D: lexicographically safe whole-board candidate selection and a synthetic engineering-trap benchmark catalog.
Candidate selection reviews hypothetical layouts in memory for compactness,
centering, symmetry, return planes, GND stitching/thermals, silkscreen clearance,
high-di/dt loops and decoupling span. A package-level whole-board pipeline
composes placement, routing, compact-outline, copper and silkscreen stages and is
wrapped in a guarded source-SHA/candidate-SHA plan/apply contract with deterministic
plan identity, stale-input checks, hard-review blocking, backup and rollback.
Optional source-bound engineering-rule packs carry reviewed datasheet/reference
facts into schematic and PCB ranking. physics_estimates.py adds explicit-input
trace/via resistance, voltage-drop, loss and first-order thermal estimates while
keeping missing physical facts unknown.
Missing current, edge rate, impedance, stackup authority, current density and other physical facts remain explicit unknowns. PCB Generation D and whole-board planning still require claim-specific real-DipTrace acceptance before stronger native-host/refill claims are made.
query_builtin_library_catalog browses/searches DipTrace's installed read-only
catalog. place_builtin_component resolves one returned catalog_id, exports
that source through Component Editor on an isolated desktop, and copies only the
selected component/pattern definitions into the target schematic through the
normal preview/expected-SHA transaction path. It never writes the source
.eli/.lib file. The separate native Component/Pattern Library mutation core
remains internal and is not a public MCP write contract.
The cinematic subsystem can replay already-planned schematic/PCB actions through a calibrated visible DipTrace UI and capture MP4/GIF demonstrations. It is a presentation path, not the authoritative engineering write path: preview, expected SHA, transaction and semantic validation remain authoritative. Exact editor/version-specific calibration and UI macros still require real-client validation.
DipTrace MCP is not a replacement for DipTrace's interactive EDA engine. It does not claim native Gerber/NC Drill generation, fabrication sign-off, Novarm/DipTrace endorsement, universal DipTrace 5.x compatibility, field-solver accuracy, PI/EMC sign-off, or globally optimal schematic/PCB layout.
Installation
Linux: one command, visible GUI, and headless GUI
After reviewing the DipTrace license, the validated x86-64 Debian/Ubuntu path is:
curl -fsSL https://raw.githubusercontent.com/fireostendere/mcp_diptrace/v0.4.0/scripts/install_linux.sh \
| bash -s -- --accept-diptrace-licenseThe script installs the validated Wine and 32-bit GUI runtime, DipTrace Freeware
5.3.0.3, the pinned portable MCP bundle, bridge plug-ins, visible Linux launchers,
and the private-Xvfb headless GUI worker. Python is not required for this path.
Use diptrace-schematic / diptrace-pcb for the ordinary GUI and
diptrace-gui-headless for bounded GUI work without a physical display. See
Linux installation and GUI modes.
macOS: one command, visible GUI, and headless GUI
The macOS path uses the Wine runtime bundled inside the official DipTrace 5.3.0.3 application. No separate Homebrew Wine or XQuartz installation is required:
curl -fsSL https://raw.githubusercontent.com/fireostendere/mcp_diptrace/v0.4.0/scripts/install_macos.sh \
| bash -s -- --accept-diptrace-licenseApple Silicon uses Rosetta for DipTrace's bundled x86-64 Wine runtime. If Rosetta
is missing, the installer fails closed unless --accept-rosetta-license is supplied
after reviewing Apple's terms. Headless mode uses the packaged private hidden Win32
desktop worker without physical mouse/keyboard fallback. See
macOS installation and GUI modes.
PyPI
Python 3.10 or newer is required.
python -m pip install diptrace-mcp==0.4.0
diptrace-mcp --helpThe PyPI package installs the Python MCP server and packaged skills. It does not
install the Windows DipTrace bridge plug-in automatically. A current main
checkout may contain post-release development that is not present in this
published package.
Windows installer
After publication, download
DipTrace-MCP-Setup-0.4.0.exeandSHA256SUMS.txtfrom the samev0.4.0GitHub Release.Verify the SHA-256 value.
Run the installer and select the DipTrace location, workspace, state directory, and optional Codex/Claude configuration.
Run
DipTrace-MCP-Plugin-Setup-0.4.0.exewith administrator privileges when machine-wide DipTrace integration is required.Restart DipTrace and the MCP client.
Call
get_capabilities.
Windows may show a SmartScreen warning because the binaries are unsigned.
Portable Windows bundle
Download and verify DipTrace-MCP-Portable-0.4.0.zip, extract it to a stable
location, read its README_FIRST.txt, and use the included helper tools.
Python source installation
git clone https://github.com/fireostendere/mcp_diptrace.git
cd mcp_diptrace
python -m venv .venv
. .venv/bin/activate
python -m pip install -e .
diptrace-mcp --helpSee installation from release assets for the complete path.
MCPB, Registry, and Smithery
The v0.4.0 release candidate preserves the Windows MCPB/Registry/Smithery route and adds Linux/macOS host installers without changing the 167-tool MCP contract. The distribution route provides:
deterministic Windows MCPB packaging;
canonical Registry identity
io.github.fireostendere/diptrace-mcp;official Registry
server.jsongeneration from a public MCPB URL and verified SHA-256;Smithery/registry metadata preparation from the same immutable MCPB;
PyPI Trusted Publishing for the Python server.
The MCPB contains the self-contained Windows stdio server. It does not silently install the DipTrace bridge plug-in. Live exchange requires the matching bridge and settings from the same GitHub release/tag.
See MCP distribution and package publication.
Architecture
MCP client (Codex / Claude / other)
|
| stdio or trusted loopback HTTP
v
FastMCP
|
v
application/service layer
|
+--> typed domain services
+--> internal EDA intelligence
| +--> schematic layout / topology / rotation / repair
| +--> PCB Generations A-D / whole-board planning
| +--> reviewer evaluation / physics / evidence campaigns
+--> shared stores, policy, cache, document gateway
|
v
typed semantic operations
|
v
guarded preview / SHA / transactions
|
v
XML files / shared state
^
|
diptrace_mcp_bridge.exe
^
|
DipTrace
presentation-only branch:
planned actions -> calibrated cinematic replay -> visible UI / recordingIntelligent layout modules emit normal semantic operations/plans and stay behind the existing preview/SHA/transaction/review safety path. Cinematic replay is not a second semantic authority.
Safety model
The main write invariants are:
paths remain inside configured allowed roots;
XML is bounded and parsed before mutation;
previews and commits are bound to exact SHA-256 values;
existing targets are backed up;
writes use temporary files and atomic replacement;
policy and conservative write-impact limits are enforced;
live apply rechecks the working, exchange, and original-file identities;
cancel preserves the host state for the exact accepted/tested paths and is not generalized to every future DipTrace/profile combination without evidence;
user-controlled sidecars cannot mint high trust;
internal EDA heuristics cannot silently invent physical facts or bypass the guarded semantic-operation path;
cinematic replay is presentation automation and is not semantic acceptance evidence by itself.
The private/manual Q1 Component Angle GUI/re-export campaign is PASS on DipTrace
PCB Layout 5.3.0.3. Package-owned public evidence/trust promotion remains a
separate reviewed contract, and the immutable v0.2.1 release record correctly
retains its earlier NOT_RUN release-time status. Real Codex restart is PASS on
its recorded host. Claude Desktop restart is also PASS, but it was confirmed on
a separate machine where Codex was not installed; it is therefore independent
Claude client evidence rather than a same-host client comparison. The initial
18-case schematic product-quality campaign is PASS for its recorded scope. All
12 blocking manual gates are PASS across the accepted checkpoints.
Data Handling
DIPTRACE_MCP_WORKSPACEselects the ordinary workspace; caller paths remain subject toDIPTRACE_MCP_ALLOWED_ROOTSand literal path checks.DIPTRACE_MCP_STATE_DIRstores local records plus live-sessionoriginal.xmlandworking.xml; explicitapplyorcancelcontrols finalisation.Freerouting, ngspice, and openEMS run only through typed local process boundaries and isolated job directories; online sourcing is disabled by default.
MCP
stdiokeeps traffic on local process pipes and does not create a network listener.streamable-httpis intended only for trusted loopback use, for example127.0.0.1:8765; OAuth and multi-user isolation are not implemented.User projects, private evidence, proprietary libraries, and screenshots are not uploaded or committed automatically; the operator controls external data and publication.
Development and testing
The combined supported-environment coverage gate is 90%. The geometry-enabled Linux full-suite job intentionally retains an 85% Linux-only floor; Linux fallback, macOS and Windows coverage are combined for the repository-wide gate. Selected critical modules also have dedicated per-file floors.
See Testing and Development.
Documentation
Contributing, security, and license
Contributions use DCO 1.1 and the provenance/privacy rules in CONTRIBUTING.md. Report suspected vulnerabilities through the private channel in SECURITY.md, not public issues.
Apache License 2.0. See LICENSE.
Available Tools
167 toolsabandon_live_sessionA
Abandon stale local session state without applying its working XML.
| Name | Required | Description | Default |
|---|---|---|---|
| reason | Yes | Operator reason for abandoning stale local session state without applying its working XML. |
Output Schema
| Name | Required | Description |
|---|---|---|
| reason | Yes | |
| message | Yes | |
| outcome | Yes | |
| written | Yes | |
| session_id | Yes | |
| local_bridge_status | Yes | |
| acknowledgement_scope | Yes | |
| diptrace_host_acknowledged | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry behavioral disclosure. It does disclose the key behavior of not applying working XML, which is valuable. However, it does not explain side effects (e.g., whether session state is deleted, whether any cleanup occurs) or mention safety/irreversibility.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that front-loads the action and key qualifier. It is concise and free of fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter and an output schema, the description is mostly sufficient. It captures the core purpose and behavior, though it does not explain the relationship to finish_live_session or the broader transaction lifecycle, which could be useful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% because the only parameter (reason) has a description that mirrors the tool description. The tool description adds no new information about the parameter's format or semantics beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Abandon stale local session state') and the key behavior ('without applying its working XML'). It distinguishes from siblings like finish_live_session by focusing on stale state and explicitly noting no XML application.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for stale sessions by using the word 'stale', but does not explicitly state when to prefer this over finish_live_session or provide alternative guidance. No exclusions or context cues are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_net_labelA
Add a net-bound text label shape to a schematic sheet. All distances are in millimetres, regardless of the document's own Units attribute. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.
| Name | Required | Description | Default |
|---|---|---|---|
| x | Yes | ||
| y | Yes | ||
| net | Yes | ||
| path | No | ||
| text | No | ||
| txid | No | ||
| sheet | No | ||
| dry_run | No | ||
| font_size | No | ||
| expected_sha256 | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure, and it delivers: the 'millimetres regardless of document Units' gotcha is a genuinely non-obvious behavior that would cause subtle bugs; the dry_run preview semantics with the expected_sha256 confirmation flow is a rich side-effect disclosure. This goes well beyond what a minimal read of the schema would reveal, though it could note whether the operation participates in the transaction system visible among siblings (begin_transaction/commit_transaction).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tightly-written sentences with zero fluff. Sentence one states what + the units gotcha; sentence two states the dry_run contract; sentence three states the confirmation workflow. Every word earns its place and the structure follows a logical safety-first order.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter mutation tool with 0% schema coverage and no annotations, the description captures the essential operational recipe: units, preview mode, and confirmation handshake. The 'net-bound' vs text nuances and multi-sheet implications (sheet param) could use a sentence, but with an output schema present, return-value explanation isn't needed. The coverage is appropriately proportional to the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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. It does clarify the most critical params — units for x/y, the dry_run/default-true safety behavior, and expected_sha256 as the confirmation token. However, the relationship between `net`, `text`, and `path` remains ambiguous: is `text` the displayed label while `net` is the target net? What is `txid` used for? The description covers maybe 4 of 10 parameters functionally, which is a partial but incomplete compensation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb+resource+scope: 'Add a net-bound text label shape to a schematic sheet.' The qualifier 'net-bound' differentiates it from plain text annotation tools, and 'to a schematic sheet' scopes the operation. This clearly distinguishes it from siblings like set_text_visibility or add_wire.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear operational context ('dry_run=true previews... Set dry_run=false only after inspecting the preview') but never explicitly addresses when to use this tool vs alternatives. No named siblings or exclusion criteria are provided. The workflow is clear but the tool-selection guidance is only implied, not stated. Compared to the HIGH calibration example that explicitly says 'use search_calls_extensive instead,' this lacks an explicit alternative reference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_sheetA
Add a new sheet to a schematic document. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| path | No | ||
| txid | No | ||
| dry_run | No | ||
| sheet_type | No | Normal | |
| expected_sha256 | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral disclosure burden. It clearly states that dry_run=true previews without writing and that committing requires expected_sha256, which is meaningful safety/behavioral context. It does not mention reversibility, transaction interactions, or error states, but the disclosed workflow is substantive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the primary action, and every sentence adds value. The dry-run guidance is compact and actionable with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the core preview-then-commit workflow but omits context around optional parameters like txid, path, and sheet_type, and does not clarify transaction or document-state requirements. The output schema likely fills return-value gaps, but for a 6-parameter mutation tool with no annotations, the description is only partially complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 for parameter meaning. It explicitly explains dry_run and expected_sha256 semantics and their relationship. However, it does not explain the other four parameters (name, path, txid, sheet_type), leaving gaps for required inputs and optional context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb+resource ('Add a new sheet to a schematic document') that clearly states the tool's function. It distinguishes itself from sibling tools like add_wire or add_trace by specifying 'sheet' and 'schematic document', and the dry-run workflow adds further precision.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear usage workflow: first run with dry_run=true to preview, then after inspecting the preview set dry_run=false and pass expected_sha256. It gives a concrete when-to-use and when-to-avoid, though it does not explicitly name alternative tools or conditions for choosing a different operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_testpointsA
Add explicit standalone-pad testpoints and connect them to existing nets atomically. All distances are in millimetres, regardless of the document's own Units attribute. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| txid | No | ||
| dry_run | No | ||
| testpoints | Yes | ||
| expected_sha256 | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses that distances are in millimetres regardless of document units, that the operation is atomic, and that dry_run previews without writing. This adds meaningful behavioral context beyond the schema, though it doesn't describe failure modes or what the preview returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with purpose and then key safety details. Each sentence is essential and non-redundant, making it concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a write operation with nested parameters and a dry-run/commit pattern, the description covers the essential workflow and safety requirements. It doesn't detail the preview output format or transaction integration, but the output schema and sibling transaction tools provide surrounding context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description explicitly explains the critical parameters: dry_run's behavior and expected_sha256's role as a safety check. It also clarifies units for all distance parameters. Path and txid are left implicit, but the nested operation schema already documents most distance parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description states 'Add explicit standalone-pad testpoints and connect them to existing nets atomically' with a specific verb and resource, clearly distinguishing from sibling tools like move_testpoints or remove_testpoints. It also clarifies the atomic nature, which is a key differentiator.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides a clear workflow: use dry_run=true to preview, then set dry_run=false with expected_sha256 after inspection. This gives clear context for safe usage, though it does not explicitly exclude alternatives like find_testpoint_candidates for discovering locations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_traceA
Add an explicit validated trace path between two normalized pad endpoints. All distances are in millimetres, regardless of the document's own Units attribute. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.
| Name | Required | Description | Default |
|---|---|---|---|
| net | Yes | ||
| path | No | ||
| txid | No | ||
| layer | Yes | ||
| width | Yes | ||
| points | Yes | ||
| dry_run | No | ||
| clearance | No | ||
| end_object_id | Yes | ||
| expected_sha256 | No | ||
| start_object_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does well: it reveals critical behavioral traits such as unit normalization ('All distances are in millimetres'), the safe dry-run default, and the integrity check via expected_sha256. It goes beyond a generic 'add trace' statement by explaining the validation mechanism.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loaded with the primary purpose, and every clause adds value. It avoids repetition and effectively communicates the essential workflow in minimal space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex 11-parameter tool with no annotations, the description covers the critical usage context: preview-before-commit, expected_sha256 verification, and unit handling. It does not explain all parameter relationships or the structure of points, but the output schema and the focused safety workflow make the tool actionable enough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% top-level parameter descriptions, forcing the description to compensate. It adds meaning for dry_run and expected_sha256, and clarifies units for distance parameters. However, it does not explain the meaning or format of core parameters like net, start/end_object_id, points, layer, or width, leaving a significant gap in parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Add an explicit validated trace path between two normalized pad endpoints.' It specifies a verb (add), a unique resource type (trace path), and the specific target endpoints, distinguishing it from sibling tools like route_net or add_via.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear two-step workflow: use dry_run=true to preview, then set dry_run=false and pass expected_sha256 only after inspecting the preview. It implies this is for explicit manual trace placement rather than automatic routing, though it does not name alternative tools explicitly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_viaA
Add a verified ViaStyle trace point on an existing segment. All distances are in millimetres, regardless of the document's own Units attribute. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.
| Name | Required | Description | Default |
|---|---|---|---|
| x | Yes | ||
| y | Yes | ||
| path | No | ||
| txid | No | ||
| dry_run | No | ||
| trace_id | Yes | ||
| via_style | Yes | ||
| layer_after | No | ||
| layer_before | No | ||
| expected_sha256 | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of disclosing behavior. It reveals that all distances are in millimetres regardless of document units, dry_run=true prevents writing, and expected_sha256 must be provided for the actual write. This is useful behavioral context, but it does not explain what 'verified' entails or potential failure scenarios, so not a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, front-loaded with the core purpose, then units, then the safe workflow. Every sentence adds distinct value with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The output schema exists, so return values are covered. The description covers the core workflow and units, but leaves gaps: the meaning of 'verified', the role of path/txid/layer_before/layer_after, and any prerequisites beyond having an existing segment. For a complex PCB editing tool, this is moderately complete but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description only elaborates on dry_run and expected_sha256. The other eight parameters (x, y, trace_id, via_style, path, txid, layer_before, layer_after) receive no semantic explanation beyond their names/types. This is insufficient for a 10-parameter tool, especially with obscure fields like layer_after and expected_sha256.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Add a verified ViaStyle trace point') on a specific resource ('existing segment'), clearly differentiating it from sibling tools like add_trace or set_via_style. The verb and object are unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear workflow context: distances are always in millimetres, and the dry_run preview step precedes the actual write, with the requirement to pass expected_sha256 after inspection. However, it does not explicitly mention when to choose this tool over alternatives (e.g., add_trace, move_via), so it misses the 'when-not' guidance for a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_wireA
Add a wire to a schematic net (official Wire/Points XML structure). All distances are in millimetres, regardless of the document's own Units attribute. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.
| Name | Required | Description | Default |
|---|---|---|---|
| end | Yes | ||
| net | Yes | ||
| path | No | ||
| txid | No | ||
| sheet | No | ||
| start | Yes | ||
| points | Yes | ||
| dry_run | No | ||
| hidden_power | No | ||
| expected_sha256 | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It covers the critical unit override, dry-run preview behavior, and the safety requirement for expected_sha256. It does not detail failure modes or side effects, but the guidance provided is substantial and directly useful.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, all front-loaded and each adding distinct value: the core operation, the unit caveat, and the dry-run workflow. There is no redundancy or extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description captures the essential workflow and unit behavior, and an output schema exists, so return-value documentation is less critical. However, with 10 parameters and 0% schema coverage, many input semantics remain underdocumented, leaving the agent to guess about start/end structures and other fields. This makes the description adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 by explaining parameter meanings. It only clarifies dry_run, expected_sha256, and the millimeter units for points; it leaves net, start, end, path, txid, sheet, and hidden_power unexplained. This is insufficient for a 10-parameter tool with nested endpoint types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Add a wire to a schematic net') and specifies the target resource (schematic net). It also distinguishes from sibling tools like add_trace (PCB trace) and delete_wire by clarifying the schematic context and the official XML structure.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit operational guidance: all distances are in millimeters regardless of document units, and the dry_run workflow is described with a clear sequence (preview first, then set dry_run=false only after inspecting and passing expected_sha256). It does not explicitly mention alternatives or when-not-to-use scenarios, so a small deduction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
align_componentsA
Align PCB component body bboxes as one semantic transaction. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| txid | No | ||
| dry_run | No | ||
| selector | Yes | ||
| alignment | Yes | ||
| allow_locked | No | ||
| target_value | No | ||
| expected_sha256 | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing behavior. It clearly states the atomic transaction nature, the unit handling, and the required dry-run-to-commit workflow with expected_sha256 verification. It does not discuss locked components or failure modes, but the 'allow_locked' parameter partially addresses this, and the description is notably more transparent than typical mutation tools.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences long, front-loaded with the primary purpose, and every sentence adds value: the core action, the unit caveat, and the safety workflow. No fluff or repetition, making it highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the most critical operational aspects: the atomic behavior, unit rule, and the dry-run/commit flow. Given the output schema exists, return values need not be described. However, it does not clarify how the alignment enum interacts with target_value or the selector's scope, leaving some gaps for a tool with 8 parameters and a nested schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description explains the non-obvious dry_run and expected_sha256 parameters, which is valuable given the 0% schema description coverage. However, it leaves selector, alignment, allow_locked, and target_value semantically undefined, relying on their terse names and the enum. Since schema coverage is 0%, the description should compensate more, but it only addresses two of eight parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Align PCB component body bboxes') and the resource ('PCB component body bboxes'), with an explicit scope ('as one semantic transaction') that distinguishes it from sibling tools like 'move_components' and 'distribute_components'. It is a specific verb+resource combination with clear intent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage directives: distances are always in millimetres regardless of document Units, and the dry_run=true preview must be inspected before setting dry_run=false with an expected_sha256. While it does not explicitly name alternative tools (e.g., move_components), it conveys when and how to use this tool safely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_controlled_impedanceC
Alias: validate_impedance_constraints. All distances are in millimetres, regardless of the document's own Units attribute.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| constraints | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The only behavioral disclosure is that distances are interpreted in millimetres regardless of the document's Units attribute, which is useful. However, with no annotations, the description does not state whether the tool mutates anything, what it validates, or what side effects/return behavior to expect.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only two clauses and has no filler; the units note is worth stating. It is front-loaded, but its brevity comes at the cost of essential purpose information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a nested constraints schema, 0% top-level parameter descriptions, many closely related sibling tools, and no annotations, this description is far from sufficient. It does not enable an agent to understand when to invoke the tool or how to structure the input.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the top-level path and constraints parameters, so the description carries the burden. It adds unit semantics for all distances, but does not explain that constraints is an array of ImpedanceConstraintInput objects or how target_ohm/tolerance_ohm/width_mm interact.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description only provides an alias ('validate_impedance_constraints') and a units note; it never states what analyze_controlled_impedance actually does. The tool name carries the verb and resource, but the description itself is nearly tautological and does not differentiate it from sibling impedance tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to choose this tool over calculate_impedance, validate_impedance_constraints, suggest_trace_geometry_for_impedance, or analyze_stackup_for_impedance. The alias hints it overlaps with validate_impedance_constraints but provides no selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_differential_pairC
Measure pair lengths, skew, via balance, coupled length and edge gap.
| Name | Required | Description | Default |
|---|---|---|---|
| pair | Yes | ||
| path | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description lists what is measured, which gives some behavioral insight, but it does not disclose whether the tool is read-only, what it returns, whether it requires an existing pair, or if it has side effects. Since there are no annotations, the description carries the full burden, which is not met.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the primary verb and lists all key measurement types. It is succinct without unnecessary words, though it could benefit from better structure to separate purpose from usage/parameter details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the existence of an output schema, return values need not be described, but the description omits critical context such as whether this analyzes a single pair (vs. plural), how to specify the pair, and prerequisites. The tool is simple but the description leaves significant ambiguity about its scope and usage context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the description does not explain the meaning, format, or expected usage of the parameters 'pair' and 'path'. The description adds no value beyond the schema field names, so it fails to compensate for the complete lack of parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Measure' with a clear resource 'differential pair' and enumerates the key measured attributes (pair lengths, skew, via balance, coupled length, edge gap). This clearly distinguishes it from sibling tools like validate_differential_pair (which validates) and analyze_differential_pairs (which likely handles multiple pairs).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as analyze_differential_pairs (plural) or measure_net_lengths. The description implies analysis of a single pair, but does not explicitly state that this is for one pair or when to prefer it over similar tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_differential_pairsC
Analyze all normalized project differential pairs.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose potential side effects, performance implications, or the nature of the analysis. The only behavioral hint is that it processes 'all normalized' pairs, suggesting a bulk operation, but this is minimal and leaves the agent uncertain about reversibility, read-only status, or output structure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. Every word contributes to identifying the action and scope, making it highly concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the presence of an output schema, the description lacks essential contextual information: no parameter semantics, no usage guidance, and no explanation of what 'normalized' means or how this tool differs from related singular/batch tools. The one-parameter optionality and broad sibling set demand more context for safe and correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one optional parameter 'path' with no description, and the description does not mention it at all. With 0% schema description coverage and no explanation in the description, the agent cannot infer what 'path' refers to (e.g., project path, file path, filter), leaving the parameter meaning completely opaque.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the action ('Analyze') and the resource ('all normalized project differential pairs'), and the plural form distinguishes it from sibling 'analyze_differential_pair'. However, 'analyze' is somewhat generic and doesn't specify what the analysis entails or what outputs are produced.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus alternatives like 'analyze_differential_pair' or 'list_differential_pairs'. The phrase 'all normalized project differential pairs' implies a batch operation, but no clear context, prerequisites, or exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_length_groupB
Compare routed geometric lengths for an explicit group of nets. All distances are in millimetres, regardless of the document's own Units attribute.
| Name | Required | Description | Default |
|---|---|---|---|
| nets | Yes | ||
| path | No | ||
| tolerance_mm | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses a key behavioral trait: distances are always in millimetres, regardless of document units. However, it does not state whether the operation is read-only, what happens if nets are unrouted, or any error behavior. The unit disclosure is useful but leaves other aspects unspecified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose and then a valuable unit caveat. Every clause adds information without redundancy, achieving high efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. However, the description does not explain the optional parameters (path, tolerance_mm) or their interaction with the tool's behavior. For a tool with three parameters, the description is too sparse to fully support correct invocation without additional assumptions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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. It only references 'nets' indirectly through 'explicit group of nets' and does not explain the meaning or purpose of 'path' or 'tolerance_mm'. The parameter names in the schema are minimally informative, but the description adds no clarity for the optional parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('compare') and resource ('routed geometric lengths for an explicit group of nets'), clearly distinguishing it from siblings like measure_net_lengths (which measures individual nets) and analyze_differential_pair (which targets differential pairs). The scope is explicit: the tool operates on a user-specified group of nets.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'for an explicit group of nets' implies when to use this tool (when you have a specific set of nets to compare), but there is no explicit guidance on when not to use it or how it compares to alternatives such as measure_net_lengths or analyze_differential_pair. The context is clear but exclusions are absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_placementB
Measure current component overlap, containment and placement score. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| spacing | No | ||
| selector | No | ||
| board_edge_clearance | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It adds a key non-obvious detail: all distances are in millimetres regardless of the document's Units attribute. However, it doesn't explicitly state that the tool is read-only/non-destructive (though 'measure' implies it), nor does it reveal any potential limitations or failure modes. The unit disclosure is useful but not comprehensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise and front-loaded. Two sentences: the first states the purpose, the second provides a crucial unit detail and points to the schema. No wasted words; every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has an output schema, so return values don't need explanation. However, the description lacks context about when to run this analysis, whether a document must be open, or how it relates to other placement tools. For an analysis tool with 4 parameters, it's minimally adequate but leaves room for clarification.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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. It adds meaning to the distance-related parameters (spacing, board_edge_clearance) by stating they are in millimetres. However, it doesn't explain 'path' or 'selector', which remain ambiguous. The reference to the input schema is helpful but not a substitute for semantic explanation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Measure current component overlap, containment and placement score.' This clearly states what the tool does. It doesn't explicitly distinguish from sibling tools like 'score_placement' or 'generate_placement_candidates', but the mention of 'overlap, containment, and placement score' gives enough specificity to infer its scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It doesn't mention typical use cases, prerequisites, or exclusions. The only contextual hint is 'current', implying analysis of the existing state, but there is no explicit comparison to other placement-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_plane_continuityC
Inspect exported pour boundaries without claiming final-refill continuity.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It does disclose a behavioral limitation ('without claiming final-refill continuity'), which hints that the tool is non-committal about a certain property. However, it does not explain side effects, read/write nature, permissions, or what 'exported pour boundaries' means, leaving significant behavioral ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, making it extremely concise and front-loaded. However, it is so terse that it becomes cryptic, sacrificing clarity for brevity. Still, structure-wise it is efficient with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool likely performs a complex PCB analysis, but the description provides almost no context. It does not explain the input path, the nature of the output, or the meaning of 'final-refill continuity'. An output schema exists, so return values are covered, but the overall behavior and use case remain under-specified for a tool with this name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema defines a single optional 'path' parameter with no schema description, and the tool description does not mention this parameter at all. With 0% schema coverage and zero compensation from the description, the agent has no idea what 'path' refers to or how to use it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description identifies a clear verb ('Inspect') and resource ('exported pour boundaries'), but the qualifier 'without claiming final-refill continuity' muddles the purpose. It is not clear what 'final-refill continuity' means or why this distinction matters, making the tool's exact function ambiguous. It does not explicitly distinguish from sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The description only states what it does, not when it should be invoked or what prerequisites exist. No exclusions or alternative tool mentions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_release_readinessC
Report bounded DFM/DFA/DFT release-readiness findings from exported XML.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure, and it falls short. It doesn't clarify whether the tool performs read-only analysis or whether it records/imports the XML, whether findings are persisted, or what 'bounded' means operationally. The single 'exported XML' clue hints at the input source but leaves critical behavior untold.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single 12-word sentence with zero filler, front-loading the action ('Report') and scoping it clearly. Every token earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with just one optional parameter and an output schema, the description is nearly adequate but leaves gaps on important details: what 'bounded' modifies, the role of the path, and the difference between this and other findings/review tools. It's minimally viable but not comfortably so for an agent deciding between many analysis tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the lone `path` parameter is not explained in the description. While one might infer that `path` refers to the exported XML location, the description never confirms this, leaving the agent to guess the parameter's purpose, format, and whether it's required for the tool to be meaningful.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Report') with a well-scoped resource ('bounded DFM/DFA/DFT release-readiness findings from exported XML'). It clearly signals this is a findings-reporting tool operating on pre-exported data. However, the word 'bounded' is opaque and there's no explicit differentiation from siblings like get_findings or run_manufacturing_review.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus the many sibling tools that could overlap (e.g., get_findings, run_manufacturing_review, analyze_placement). There is no mention of prerequisites (e.g., does the XML need to be exported or imported first?) or exclusions, leaving the agent to guess when this tool is the right choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_return_pathC
Run low-confidence geometry heuristics with a caller-supplied radius.
All distances are in millimetres, regardless of the document's own Units attribute.
| Name | Required | Description | Default |
|---|---|---|---|
| nets | No | ||
| path | No | ||
| reference_nets | No | ||
| stitching_radius_mm | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. The unit note ('All distances are in millimetres, regardless of the document's own Units attribute') is a concrete behavioral detail that goes beyond the schema. However, it doesn't disclose whether the tool is read-only, what side effects exist, or what 'low-confidence' means, leaving important behavior unspecified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long with no fluff. The first sentence states the core action, and the second provides a crucial unit caveat. It is front-loaded and each sentence earns its place. Not a 5 because the first sentence is too vague to be maximally useful, but structurally concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 4 parameters, no annotations, and an output schema, the description is quite incomplete. It doesn't explain the context of 'return path' analysis, when to use it, or what the heuristics produce. The output schema exists, so return values need not be detailed, but the purpose and input semantics are too underspecified for reliable invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It adds meaning for the required parameter (stitching_radius_mm) by stating distances are in millimetres, but it does not explain the semantics of 'nets', 'path', or 'reference_nets'. The optional parameters remain ambiguous, and their role in the analysis is unclear.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Run') and references 'geometry heuristics', but the resource is vague: 'low-confidence geometry heuristics' does not clarify what 'return path' means or what specific analysis is performed. It doesn't distinguish from sibling analysis tools like analyze_placement or analyze_length_group, but it's not a tautology of the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. The only extra statement about units (millimetres) is a unit clarification, not a usage guideline. Without any context for when this heuristics analysis is appropriate, the agent cannot decide between this and sibling analysis tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_routing_congestionA
Rank route connections by deterministic corridor congestion without editing. Clearance resolution applies the maximum of explicit requested clearance, board DRC TraceToTrace defaults, and all affected NetClass LayProperty Clearance rules. The structured result includes clearance_rule_status and the effective value; this is not a full DipTrace DRC sign-off. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| ordering | No | congestion_aware | |
| connections | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full behavioral disclosure. It clearly states 'without editing' (non-destructive), explains the deterministic congestion ranking, details the clearance resolution logic (maximum of explicit, board defaults, NetClass rules), notes the output includes 'clearance_rule_status' and effective value, emphasizes this is not a full DRC sign-off, and specifies units (millimetres regardless of document Units). This is comprehensive and transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured, with three dense sentences. The first sentence states the primary purpose, the second explains clearance resolution and output contents, and the third gives units and a limitation. Every sentence adds value with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the main purpose, behavioral rules, output structure, and a key limitation, which is good for a complex analysis tool. However, it lacks parameter semantics, which is a significant gap given the input schema has no descriptions. The presence of an output schema and the tool's non-editing nature partially compensate, but the lack of parameter explanation keeps it from being fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description does not explain the three parameters (path, ordering, connections). It mentions 'explicit requested clearance' which may relate to a field in connections, but provides no explanation of what 'connections' should contain, how 'ordering' works, or what 'path' refers to. The description fails to compensate for the lack of schema descriptions, offering almost no parameter guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Rank route connections by deterministic corridor congestion without editing', a specific verb and resource, and explicitly notes it is non-editing. This distinguishes it from editing tools like 'route_connection' and other analysis tools, making the purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for analyzing and ranking congestion without modification, but it does not explicitly state when to use this tool versus alternative analysis tools (e.g., 'get_route_details' or 'list_unrouted_connections'). It also offers no exclusions or clarifications of when not to use it, leaving usage context inferred rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
analyze_stackup_for_impedanceC
Find only complete outer-layer microstrip geometries in the physical stackup.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description bears full responsibility for behavioral disclosure. It only states what the tool finds, not how results are returned, what 'complete' means, whether it is read-only, or any side effects. Critical behavioral context is missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that front-loads the action and object. It is concise without wasted words, though the brevity borders on under-specification.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Although an output schema exists, the description lacks essential context about the intended use within an impedance analysis workflow, what qualifies as a 'complete' geometry, and why this tool exists alongside siblings. The description is too sparse to be fully actionable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter 'path' has 0% schema coverage and is not mentioned in the description. The description adds zero semantic meaning for the parameter, leaving the agent with no guidance on what value to provide or how it affects the search.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Find') and resource ('complete outer-layer microstrip geometries in the physical stackup'), making the core action clear. It also implicitly distinguishes itself from sibling impedance tools like calculate_impedance by focusing on geometry discovery rather than calculation. However, the term 'complete' is ambiguous and not defined.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives such as analyze_controlled_impedance or suggest_trace_geometry_for_impedance. The description gives no context about prerequisites, workflow positioning, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apply_component_placement_planA
Stage or commit a stored component-placement plan transactionally. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.
| Name | Required | Description | Default |
|---|---|---|---|
| txid | No | ||
| dry_run | No | ||
| plan_id | Yes | ||
| expected_sha256 | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that dry_run=true previews without writing, and that committing requires expected_sha256, which implies a safety check. It does not mention mismatch handling or rollback, but key behavioral traits are covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core action, and no wasted words. The dry_run/expected_sha256 guidance is concise and directly actionable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the main workflow and safety mechanism, and the output schema handles return values. However, it does not explain the txid parameter or the relationship to transaction lifecycle tools like begin_transaction/commit_transaction, leaving some context gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It explains dry_run (preview mode) and expected_sha256 (hash from preview), but plan_id and txid are left to inference from names and the transactional context. Partial compensation, not complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool stages or commits a stored component-placement plan transactionally. This distinguishes it from siblings like plan_component_placement (which creates plans) and apply_route_plan/apply_silkscreen_plan (which apply other plan types).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit workflow: use dry_run=true to preview, then set dry_run=false only after inspecting the preview and passing expected_sha256. It lacks explicit when-not-to-use or alternative recommendations, but the workflow is clear and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apply_route_planA
Stage or commit a stored local route plan as one transaction. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.
| Name | Required | Description | Default |
|---|---|---|---|
| txid | No | ||
| dry_run | No | ||
| plan_id | Yes | ||
| expected_sha256 | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
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 that dry_run=true is non-writing and that expected_sha256 must match after preview, implying a safety check. It lacks details on error behavior, reversibility, or what happens on hash mismatch.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the main action, and all details are relevant. No fluff or repetition of schema information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values are likely covered. The description covers the core workflow and safety mechanism but omits behavior on hash mismatch and txid semantics, leaving minor gaps for a 4-parameter mutation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaning to dry_run and expected_sha256 beyond their names, explaining their roles in the preview/commit flow. It does not explain txid, and plan_id is only implicitly referenced, leaving some parameter coverage gaps despite 0% schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool stages or commits a stored local route plan atomically, with a specific verb ('stage or commit') and resource ('stored local route plan'). The dry-run language separates it from sibling route-planning tools, such as plan_route_nets or commit_transaction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides an explicit two-phase workflow: run with dry_run=true to preview, then inspect and set dry_run=false with expected_sha256. This gives clear context for when to use the tool, though it does not name alternative tools or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apply_schematic_placement_repair_planA
Stage or commit a stored schematic placement-repair plan transactionally. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.
| Name | Required | Description | Default |
|---|---|---|---|
| txid | No | ||
| dry_run | No | ||
| plan_id | Yes | ||
| expected_sha256 | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description discloses important behavior: transactional staging/committing, non-destructive preview via dry_run, and checksum verification on commit. This goes beyond simply 'apply the plan' and informs the agent of safety mechanisms.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core action, and the second sentence adds essential safety guidance. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the essential workflow and safety mechanism for applying a plan, and an output schema exists for return values. Missing some context around txid usage, but overall adequate for this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must explain parameters. It clearly explains dry_run and expected_sha256 but leaves plan_id and txid implicit. It partially compensates for the schema gap but not completely.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies the exact action ('Stage or commit') and resource ('stored schematic placement-repair plan'), clearly distinguishing it from planning siblings like plan_schematic_placement_repair. The dry_run semantics further clarify the two operational modes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit workflow guidance: use dry_run=true to preview, and only set dry_run=false after inspecting the preview and providing expected_sha256. However, it doesn't explicitly contrast with similar apply tools like apply_component_placement_plan.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apply_silkscreen_planA
Stage or commit a stored silkscreen plan as one semantic transaction. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.
| Name | Required | Description | Default |
|---|---|---|---|
| txid | No | ||
| dry_run | No | ||
| plan_id | Yes | ||
| expected_sha256 | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does well: it explicitly states that dry_run=true 'previews without writing' and that dry_run=false commits, implying mutating behavior. It also discloses the safety requirement of passing expected_sha256 after preview, which is valuable behavioral context beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the main purpose and followed by the critical safety workflow. Every sentence earns its place with no redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity and lack of annotations, the description provides the essential workflow (dry-run then commit with hash) and references the stored plan. It could benefit from clarifying txid and how it relates to transaction siblings, but it is sufficient for an agent to invoke correctly in the primary use case.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It explains dry_run and expected_sha256 meaningfully, but plan_id is only implied by 'stored silkscreen plan' and txid is not explained at all. This is partial compensation for a 4-parameter schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Stage or commit a stored silkscreen plan') on a clear resource, and distinguishes it from sibling planning tools by emphasizing the transaction and dry-run/commit workflow. This makes the tool's role unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear usage workflow: start with dry_run=true to preview, then set dry_run=false and provide expected_sha256 after inspecting the preview. It does not explicitly name alternatives or exclusions, but the workflow context is strong enough to guide correct invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apply_xml_editsB
Store a bounded diff resource, or write with its SHA/match guards and a backup. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| edits | Yes | ||
| dry_run | No | ||
| expected_sha256 | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses key behavioral traits: dry_run previews without writing, the write operation uses SHA/match guards and creates a backup, and the expected_sha256 must be passed after preview. This is valuable actionable safety context, though it does not detail failure modes or the exact nature of the 'bounded diff resource'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only two sentences, so it is concise. However, the first sentence is dense and cryptic, using jargon like 'bounded diff resource' without explanation. It could be more transparent while remaining brief.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the safe application workflow (dry-run then commit) but does not explain what a 'bounded diff resource' is, what the edits do, or any prerequisites. Given the complexity of the edits array and the presence of an output schema, more context would be helpful. It is minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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. It explains dry_run and expected_sha256 well, clarifying their roles and relationship. However, it does not elaborate on 'path' or 'edits', which are left to the schema's inherent names. This partial coverage earns a middle score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description does not clearly state that the tool applies XML edits to a document. It uses vague language like 'Store a bounded diff resource' and 'write with its SHA/match guards and a backup', which obscures the primary function. The tool name 'apply_xml_edits' carries the meaning, but the description itself lacks a specific verb+resource statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear usage workflow: start with dry_run=true to preview, then set dry_run=false only after inspecting the preview and passing the expected_sha256. This gives the agent explicit instructions on safe invocation. However, it does not mention when to use this tool over alternatives or any exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
assign_nets_to_classA
Assign selected PCB or schematic nets to an existing net class. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| txid | No | ||
| dry_run | No | ||
| selector | No | ||
| class_name | Yes | ||
| expected_sha256 | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of disclosing side effects. It explicitly states that all distances are in millimetres regardless of document units, a non-obvious unit quirk, and that dry_run=true previews without writing, while false requires expected_sha256. This gives a clear safety workflow, though it does not mention failure modes or what happens if the class doesn't exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with purpose and keeps the safety workflow concise. However, the sentence 'Input schema: diptrace://schemas/tool-inputs' is redundant since the input schema is already provided, and it adds no value for the agent. This wastes a sentence without earning its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with no annotations, the description covers core behavior (assignment, unit quirk, dry-run workflow) but leaves gaps: no guidance on when to use it vs. alternatives, no explanation of path/txid/selector semantics, and no side-effect detail beyond 'assign.' The output schema may cover return values, but overall completeness is adequate but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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. It explains dry_run and expected_sha256, and 'selected nets' implies the selector, but it says nothing about path, txid, or class_name beyond the obvious name. Given 6 parameters and no schema descriptions, this is only partial compensation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Assign selected PCB or schematic nets to an existing net class,' which clearly identifies the action (assign), the resource (nets), and the destination (existing net class). This distinguishes it from sibling tools like rename_net or update_net_class_rules, which address different operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly states the operation and provides a workflow: use dry_run=true first, inspect preview, then set dry_run=false with expected_sha256. It does not explicitly name alternatives or exclusions, but the context of 'existing net class' implies a contrast with class creation or rule updates, making usage reasonably clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
begin_transactionC
Create a transaction snapshot for a document or live session.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| notes | No | ||
| expected_sha256 | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states only what the tool creates, but does not disclose side effects (e.g., invalidating an existing transaction), state prerequisites, concurrency limitations, or what happens to prior snapshots. This leaves the agent without behavioral expectations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single concise sentence that front-loads the verb and object, with no filler words or redundant information. Every word adds meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool belongs to a transaction workflow (siblings include preview/validate/commit/rollback) and has three parameters plus an output schema, yet the description provides no context about workflow ordering, required state, or parameter semantics. The agent is left with insufficient information to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has three optional parameters (path, notes, expected_sha256) with 0% description coverage, and the tool description does not explain their meaning or expected format. An agent cannot determine correct values or why they are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'create' with a clear object 'transaction snapshot' and scopes it 'for a document or live session.' This clearly differentiates it from sibling tools like commit_transaction or rollback_transaction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to start a transaction, how it relates to preview/validate/commit/rollback, or any preconditions. The phrase 'for a document or live session' hints at scope but does not explain when to use this tool versus alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_impedanceB
Calculate a preliminary analytical impedance with explicit assumptions. All distances are in millimetres, regardless of the document's own Units attribute.
| Name | Required | Description | Default |
|---|---|---|---|
| gap_mm | No | ||
| width_mm | Yes | ||
| structure | Yes | ||
| target_ohm | No | ||
| frequency_hz | No | ||
| tolerance_ohm | No | ||
| copper_thickness_mm | Yes | ||
| dielectric_constant | Yes | ||
| dielectric_height_mm | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses an important behavioral trait: all distances are in millimetres regardless of the document's Units attribute. This is beyond what the schema or annotations (none provided) convey. However, 'explicit assumptions' is vague and does not detail the analytical model or limitations, so it is not a perfect disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no filler. The key unit rule is front-loaded in the second sentence, and every word contributes to purpose or behavioral context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 9 parameters and an output schema, but the description provides only the core purpose and the unit rule. It lacks usage guidance and parameter semantics, which are partly mitigated by self-explanatory parameter names and the presence of an output schema. Still, the description is adequate for a simple calculation but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description should compensate by explaining parameters. It only mentions units, which is already implied by the '_mm' suffix on many parameter names. There is no explanation of optional parameters like target_ohm, tolerance_ohm, or frequency_hz, or how structure enum values differ.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action ('Calculate') and a resource ('impedance'), with a modifier 'preliminary analytical' that sets expectations. It does not explicitly distinguish from sibling tools like analyze_controlled_impedance, but the name and phrasing make the primary purpose evident.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives such as suggest_trace_geometry_for_impedance or analyze_differential_pair. There is no mention of preferred scenarios, exclusions, or prerequisites, leaving the agent to infer usage from context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cancel_jobC
Request cancellation of a running external job.
| Name | Required | Description | Default |
|---|---|---|---|
| jobid | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose safety and side effects. It only says 'request cancellation,' which suggests an asynchronous request but does not explain whether the job is forcibly killed, whether results are retained, or any reversibility. This leaves significant ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that gets straight to the point. It earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation-like operation with no annotations and no parameter details, one sentence is too sparse. Even though an output schema exists, the tool's effects and preconditions are unexplained, making it incomplete in context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description provides zero information about the jobid parameter beyond what the schema already states (a required string). With 0% schema description coverage, the description should explain how to find or format the jobid, but it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (request cancellation) and the target resource (a running external job). It distinguishes from sibling job-related tools like get_job_status and get_job_result, which are read-only.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for running external jobs but provides no guidance on when to use versus alternatives, no prerequisites (e.g., how to obtain jobid), and no when-not-to-use conditions. This is insufficient guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_silkscreenD
Alias: run_silkscreen_check.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, and the description adds no behavioral context. The alias note reveals nothing about side effects, return values, permissions, or what the check actually does.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short but this is under-specification rather than conciseness. It fails to earn its place as it conveys zero useful information beyond the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a check-type tool with no annotations, no output schema details, and a single undocumented parameter, the description is completely inadequate. It lacks all necessary context for an agent to understand the tool's purpose or behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not mention the 'path' parameter at all. The agent receives no semantic guidance for the single optional parameter, making correct invocation impossible.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is only 'Alias: run_silkscreen_check.' It does not state any verb, resource, or action, merely referencing an alias. This is a tautology that provides no functional meaning beyond the tool's name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. Sibling tools such as run_manufacturing_review, run_assembly_review, and run_silkscreen_check itself are not differentiated, leaving the agent without any basis for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
clear_panelizationA
Remove panelization settings from a PCB document. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| txid | No | ||
| dry_run | No | ||
| expected_sha256 | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that dry_run=true previews without writing and that dry_run=false requires an expected_sha256 from the preview, which is a meaningful safety protocol for a destructive operation. It does not elaborate on the effect of txid or what exactly 'remove panelization settings' entails, but the safety mechanism is well explained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: the first states the purpose, the second explains the safe execution workflow. Every word earns its place, and the description is entirely front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the core usage pattern well with the dry_run workflow, and an output schema exists to describe return values. However, it omits the meaning of path and txid, and does not discuss transaction context despite a txid parameter, leaving some gaps for an agent to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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. It explains the roles of dry_run and expected_sha256 and their relationship, but path and txid are not mentioned. This leaves those parameter semantics entirely to the schema, which lacks descriptions, so the compensation is incomplete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Remove' and identifies the resource 'panelization settings' from a 'PCB document', clearly distinguishing from the sibling tool set_panelization. It leaves no ambiguity about the tool's primary function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on the two-step process: first run with dry_run=true to preview, then set dry_run=false only after inspecting the preview and providing the expected_sha256. It does not explicitly name alternatives, but the purpose itself differentiates it from set_panelization, so the guidance is clear but not exhaustive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
commit_transactionB
Commit a staged transaction after verifying the source SHA-256.
| Name | Required | Description | Default |
|---|---|---|---|
| txid | Yes | ||
| expected_sha256 | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for behavioral disclosure. 'Commit' strongly implies an irreversible finalization, but the description does not state whether the operation is destructive, locks resources, requires special permissions, or what side effects occur. This leaves significant behavioral ambiguity for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the primary action and condition. It contains no redundant words or filler, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a transaction lifecycle (evidenced by siblings like stage_operations, preview_transaction, validate_transaction, rollback_transaction), the description provides insufficient context. It does not explain the relationship to staging, the effects on staged operations, or what the output schema represents. The agent is left without a clear mental model of how commit_transaction fits into the overall workflow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 for the input schema's bare parameters. The mention of 'source SHA-256' gives some meaning to expected_sha256, but txid is entirely unexplained. The description adds only partial clarity to one parameter and leaves the other undefined, which is insufficient for a 2-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Commit a staged transaction' with a verb and resource. It also adds a specific condition 'after verifying the source SHA-256', which distinguishes this from related operations like begin_transaction, preview_transaction, validate_transaction, and rollback_transaction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'after verifying the source SHA-256' implies a prerequisite and suggests a sequencing relative to verification steps, but it does not explicitly mention alternatives or exclusions. There is no direct guidance on when to prefer commit_transaction over preview_transaction or validate_transaction, though the wording implies it is the finalizing step in a transaction workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_bom_to_designB
Compare typed external BOM rows with normalized design records by RefDes.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| external_records | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only states that a comparison is performed. It does not disclose whether the operation is read-only, what happens for mismatches, what the output contains, or any side effects. The RefDes matching detail adds a bit of behavioral context but is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence that immediately states the action and scope. It contains no filler or redundant repetition of the tool name, making it concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that the tool involves a nested external_records structure and an optional path, the description is too sparse. It doesn't clarify the role of path, the expected shape of external records beyond 'typed', or how matching discrepancies are reported. The output schema reduces some burden, but the tool's context is still incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaning to external_records by calling them 'typed external BOM rows' and mentions RefDes as the join key, but it does not explain the optional path parameter at all. With schema description coverage at 0%, the description should carry more weight but leaves parameter semantics largely to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Compare') and identifies both operand types ('typed external BOM rows' and 'normalized design records') plus the matching key ('by RefDes'). This clearly distinguishes it from BOM-related siblings like get_bom or review_bom.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance is given about when to use this tool versus alternatives. It does not mention exclusions, prerequisites, or related tools such as compare_schematic_to_pcb or validate_mpn_consistency, leaving usage context entirely implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_pcb_placement_candidatesC
Rank PCB A-D candidates with physics and optional sourced rules.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| profiles | No | ||
| engineering_rules | No | ||
| include_existing_board | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. 'Rank' implies a read-only analysis, but the description does not explicitly say whether it modifies the design, whether it runs physics simulations, what input state is required, or what the output represents. It adds only a hint about physics and sourced rules.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, compact sentence with no filler or repetition. It is front-loaded and easy to scan, though the ambiguity of 'A-D candidates' and the vague term 'physics' reduce clarity slightly. It is concise but perhaps too terse for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of the engineering_rules nested object, four optional parameters, and no annotations, the description is incomplete. It does not clarify how candidates are supplied, what the profiles do, how include_existing_board affects ranking, or what the output schema contains. The output schema exists, so return values do not need explanation, but too much operational context is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 for undocumented parameters. 'Optional sourced rules' hints at engineering_rules, but path, profiles, and include_existing_board are not explained at all. The description adds minimal meaning beyond the raw schema and is insufficient for a 4-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the core action: rank PCB placement candidates using physics and optional engineering rules. It distinguishes the PCB focus from the sibling rank_schematic_placement_candidates, but does not explicitly differentiate from score_placement or explain what 'A-D candidates' means, leaving some ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: you call this when you have PCB placement candidates that need ranking with physics and optionally sourced rules. However, it does not state when to prefer it over alternatives like score_placement, generate_placement_candidates, or rank_schematic_placement_candidates, nor does it mention any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_schematic_to_pcbB
Compare RefDes, values, net names and pin/pad endpoint sets.
| Name | Required | Description | Default |
|---|---|---|---|
| pcb_path | Yes | ||
| schematic_path | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits on its own. It only lists what is compared but does not mention whether this is a read-only operation, what the output format is, whether it reports only mismatches or full data, or if any prior setup is needed. This is a significant gap for a comparison tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single focused sentence that gets straight to the point, using an active verb and specific comparison targets. There is no redundancy or filler; however, its brevity leaves out important usage and behavioral context, though that is more of a completeness concern.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is relatively complex (multi-file comparison with multiple comparison dimensions), and while an output schema exists, the description gives no context on prerequisites, return behavior, or how it fits into the overall design review workflow. With 2 required parameters and no explanation, the description feels incomplete for effective tool selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description does not elaborate on the two required path parameters. The names schematic_path and pcb_path are self-explanatory to a degree, but the description adds no detail about expected formats, file types, or relationships. It fails to compensate for the lack of schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool compares specific attributes (RefDes, values, net names, pin/pad sets) between schematic and PCB. The verb 'Compare' is specific and distinguishes it from sibling comparison tools like compare_bom_to_design which focuses on BOM items rather than these electrical/net attributes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is used for comparing schematic and PCB on specific electrical attributes, but provides no explicit guidance on when to choose this over alternatives like validate_pin_pad_mapping or compare_bom_to_design. No exclusions or precondition details are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
connect_pinsA
Connect part pins to a net; the net is created when missing. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.
| Name | Required | Description | Default |
|---|---|---|---|
| net | Yes | ||
| path | No | ||
| pins | Yes | ||
| txid | No | ||
| dry_run | No | ||
| allow_reconnect | No | ||
| expected_sha256 | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses important behavioral traits: net creation when missing, dry_run preview mode, and the requirement for expected_sha256 after preview. This goes beyond what the schema conveys. However, it does not explain the behavior of allow_reconnect, whether existing connections are disturbed, or whether the operation is reversible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core function and side effect. The safety workflow is stated compactly with code formatting. Every sentence earns its place with no redundant content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 7 parameters, no annotations, and an output schema. The description gives the essential purpose and a critical safety workflow, which is sufficient for basic correct invocation. However, given the complexity, the unaddressed parameters (especially allow_reconnect) leave some gaps that the agent must infer from schema defaults alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%. The description adds semantics for dry_run and expected_sha256 but does not explain net, pins, path, txid, or allow_reconnect. While net and pins are inferable from the verb, allow_reconnect remains ambiguous. The description compensates for only a fraction of the parameter space.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Connect part pins to a net; the net is created when missing.' This is a specific verb+resource that distinguishes it from similar tools like disconnect_pins or set_pin_no_connect. It also notes the side effect of net creation, leaving no ambiguity about the tool's function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context: it is for connecting pins to nets, with the net auto-created if absent. It also gives a safety workflow ('dry_run=true previews without writing; set dry_run=false only after inspecting the preview and pass its expected_sha256'), which guides the agent on how to invoke it safely. However, it does not explicitly name alternatives or specify when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_document_from_seedA
Copy a valid DipTrace-shaped XML seed while preserving unknown XML.
Validation is derived only from a verified provenance sidecar; without one, the copy is synthetic_parser_only. Prefer a real export seed when DipTrace compatibility matters. Replacing an existing target requires its current SHA.
| Name | Required | Description | Default |
|---|---|---|---|
| overwrite | No | ||
| seed_path | Yes | ||
| target_path | Yes | ||
| expected_sha256 | No | ||
| expected_seed_sha256 | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full transparency burden. It discloses key behaviors: preserving unknown XML, deriving validation from a verified provenance sidecar, falling back to 'synthetic_parser_only' without one, and requiring the target's current SHA to overwrite. This goes beyond the name and input schema, though it omits details about reversibility or permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences that front-load the purpose in the first sentence, then add essential caveats about validation, seed preference, and overwrite requirements. Every sentence earns its place, with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the core purpose and important caveats (unknown XML preservation, validation dependency, overwrite SHA requirement), which is good for a tool with this complexity. However, it leaves the mapping of concepts like 'provenance sidecar' and 'current SHA' to specific parameters unclear, and the absence of explicit when-to-use guidance relative to sibling creation tools is a gap. The output schema presumably covers return values, so that is not a deficiency.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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. It references a 'provenance sidecar' and 'current SHA' without mapping them to expected_seed_sha256 and expected_sha256. It also does not explicitly explain seed_path or target_path. The description's jargon adds ambiguity rather than clarifying the five parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb+resource: 'Copy a valid DipTrace-shaped XML seed while preserving unknown XML.' This clearly states the tool's function and distinguishes it from sibling creation tools like create_schematic_document or create_pcb_document, which likely create new documents rather than copy a seed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear preference: 'Prefer a real export seed when DipTrace compatibility matters,' which guides when to use this tool vs synthetic alternatives. It also warns that replacing an existing target requires its current SHA, giving a precondition. It does not name specific sibling alternatives, but the context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_pcb_documentA
Create a new DipTrace PCB XML document (outline, layers, stackup, rules).
This is synthetic MCP-generated content. It has the correct XML structure but has NOT been verified by DipTrace open/save. Use create_document_from_seed with a real DipTrace export when DipTrace compatibility is required. Replacing an existing target requires its current SHA. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs.
| Name | Required | Description | Default |
|---|---|---|---|
| pcb | No | ||
| path | Yes | ||
| units | No | mm | |
| overwrite | No | ||
| format_version | No | Literal XML Version attribute for the synthetic document. This does not convert the scaffold structure or assert compatibility with that DipTrace version. | 4.3.0.3 |
| expected_sha256 | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It discloses that the content is synthetic, has correct XML structure but is NOT verified by DipTrace open/save, and that distances are always in millimetres regardless of the document's Units attribute. This is substantial transparency, though it could further clarify behavior when overwrite=false or when the target already exists without a SHA.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short paragraphs with no fluff. The first sentence states the purpose; the second paragraph delivers critical caveats and usage guidance. Every sentence earns its place, making it concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (6 params, no annotations, output schema exists), the description covers key caveats: synthetic nature, compatibility warning, alternative tool, SHA requirement, and unit behavior. It does not explain return values, but the output schema covers that. It could detail the pcb scaffold more, but overall it provides enough context for an AI agent to use the tool safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is low (17%), so the description must compensate. It adds meaning for units (all distances in mm) and expected_sha256 (required for replacing an existing target). However, it does not explain the pcb scaffold structure or the format_version semantics beyond what the schema already provides. The reference to the input schema helps, but the added parameter-level guidance is incomplete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource: 'Create a new DipTrace PCB XML document (outline, layers, stackup, rules)' and clearly distinguishes this from siblings like create_schematic_document (PCB vs schematic) and create_document_from_seed (synthetic vs seed-based). This leaves no ambiguity about what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly names an alternative: 'Use create_document_from_seed with a real DipTrace export when DipTrace compatibility is required.' It also provides important usage context for overwriting: 'Replacing an existing target requires its current SHA.' This is clear when-to-use and when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_schematic_documentA
Create synthetic, not DipTrace-verified Schematic XML; overwrite needs current SHA.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| units | No | mm | |
| sheets | No | ||
| overwrite | No | ||
| format_version | No | Literal XML Version attribute for the synthetic document. This does not convert the scaffold structure or assert compatibility with that DipTrace version. | 4.3.0.3 |
| expected_sha256 | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of disclosing behavior. It explicitly states the output is synthetic and not verified, and that overwriting requires a current SHA—critical behavioral context beyond the schema. However, it does not mention what happens if the target exists without overwrite, nor the return format, though an output schema exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that wastes no words. It clearly states the core purpose first, then adds the essential overwrite prerequisite. Every element earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 6 parameters and no annotations, making the description the primary source of guidance. It does not explain the semantics of units, sheets, or path, nor error conditions when overwrite is false and the file exists. The output schema covers return values, but the description is too sparse for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 17%, so the description must compensate. It adds crucial meaning for overwrite and expected_sha256 ('overwrite needs current SHA'), but it fails to explain units, sheets, format_version, or path. The schema already documents format_version and expected_sha256, so the description adds only marginal value for most parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb and resource: 'Create synthetic, not DipTrace-verified Schematic XML.' It distinguishes this tool from create_pcb_document and other generation tools by explicitly noting the synthetic, unverified nature. The overwrite note adds further specificity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides a clear prerequisite for overwrite scenarios: 'overwrite needs current SHA.' However, it does not explicitly state when to use this tool over alternatives or when not to use it, such as when a DipTrace-verified schematic is required. The context is partial but not fully framed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_traceA
Delete selected traces; connectivity regression requires explicit opt-in. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| txid | No | ||
| dry_run | No | ||
| selector | Yes | ||
| expected_sha256 | No | ||
| allow_connectivity_regression | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does well: it discloses that deletion may cause connectivity regression, that distances are always in millimeters, and that dry_run previews without writing. It also explains the expected_sha256 handshake. It does not mention undo/transaction behavior or auth, but the disclosed safety semantics are substantial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences cover purpose, units, and a safe invocation workflow with no filler. Information is front-loaded and every sentence adds meaningful guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the critical safety workflow and units, and an output schema exists so return values need not be described. However, given the tool's complexity and the absence of annotations, the lack of detail about the selector object and transaction-related parameters prevents this from being fully complete. It is adequate but leaves clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the description compensates only partially. It explains dry_run, expected_sha256, and allow_connectivity_regression indirectly, but says nothing about the required selector field or the optional path/txid parameters. The selector is a required nested object and is left entirely unexplained, which is a significant gap for a destructive tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Delete selected traces', which is a specific verb+resource combination that clearly distinguishes this tool from siblings like delete_wire and delete_via. It also adds the important scope qualifier about connectivity regression requiring opt-in.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear workflow guidance: use dry_run=true to preview, then set dry_run=false only after inspecting the preview and passing expected_sha256. It does not explicitly name alternatives or exclusion criteria, but the dry-run/opt-in context effectively tells the agent when and how to invoke safely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_viaA
Remove ViaStyle from selected trace points. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| txid | No | ||
| dry_run | No | ||
| selector | Yes | ||
| expected_sha256 | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the burden. It discloses key behavioral traits: distances are always in millimetres regardless of document units, and the dry-run + expected_sha256 safety mechanism prevents unintended writes. This goes beyond what the schema provides, though it does not mention permissions, rollback, or transaction requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the core action. The sentence 'Input schema: diptrace://schemas/tool-inputs' is redundant with the provided input schema and adds no value, slightly reducing efficiency. Otherwise, it is well-structured and readable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the essential safety workflow (dry-run, expected_sha256) and units, but it lacks guidance on transaction context (e.g., whether to use inside a transaction) and does not explain the nested selector object. Given the tool's destructive nature and complexity, the absence of these details makes it incomplete. The output schema exists but does not replace operational context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain critical parameters like selector, path, txid, or expected_sha256. It implies the roles of dry_run and expected_sha256 through behavioral guidance, but leaves 5 parameters' semantics largely to the schema. The 'all distances in millimetres' note touches selector geometry but does not compensate for the overall gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb+resource: 'Remove ViaStyle from selected trace points.' It clearly distinguishes this tool from siblings like add_via, move_via, and set_via_style by focusing on removing an aspect of vias. No ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear operational guidance: 'dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.' This tells when to use the tool and the required safety workflow. It does not explicitly compare with alternatives, but the context is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_wireA
Delete selected schematic wires without touching net connectivity. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| txid | No | ||
| dry_run | No | ||
| selector | No | ||
| expected_sha256 | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully covers the safety profile: it preserves net connectivity, always uses millimeters regardless of document units, and details the dry_run and expected_sha256 mechanism. This is model transparency for a destructive operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three concise sentences with purpose front-loaded. Every sentence carries essential information: scope, unit behavior, and the confirmation workflow. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive tool with an output schema, the description covers the essential protocol and unit caveat. Minor omissions like txid and path semantics are acceptable given the focus on safety and the presence of an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description explains dry_run and expected_sha256 in actionable terms. It does not explain path, txid, or selector structure, but the most critical safety parameters are well documented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Delete selected schematic wires') and a key constraint ('without touching net connectivity'), clearly distinguishing it from PCB trace deletion tools like delete_trace. The resource and scope are unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides a clear safety workflow: use dry_run=true to preview, then set dry_run=false only after inspecting the preview and passing expected_sha256. It implies when not to use (only after preview), but does not explicitly name alternative tools or state when to prefer them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
detect_duplicate_bom_itemsC
List identical BOM identity groups containing multiple RefDes.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. The verb 'List' clearly implies a read-only operation and the description specifies the output (identity groups with multiple RefDes). However, it omits details about the meaning of 'path', error behavior, or any prerequisites, leaving some behavioral aspects undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that is direct and free of fluff. It front-loads the verb and object, making the core purpose immediately visible.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, the description is incomplete for effective tool selection and invocation. It lacks parameter semantics, usage guidelines, and behavioral context, making it difficult for an agent to know when and how to use this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema defines one optional 'path' parameter with no description, and the tool description does not mention it at all. With 0% schema description coverage, the description fails to compensate, leaving the agent without any clues about what 'path' refers to.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'List' and identifies the resource as 'identical BOM identity groups containing multiple RefDes', clearly indicating detection of duplicate BOM entries. It is distinguishable from sibling BOM tools by focusing on duplicate detection, though the terminology is somewhat specialized.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool over alternatives like review_bom or run_bom_review. It only states the action, without conditions, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
diptrace_statusA
Show server paths and the active DipTrace bridge session, if any.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of conveying behavior. 'Show' implies a non-mutating read operation, and the phrase 'if any' correctly warns that an active session may not exist. However, it does not mention error cases, output format, or whether any server-side state is touched, leaving some ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence that states exactly what the tool returns. Every word earns its place, with no fluff or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a simple, parameterless status tool with an output schema available. The description covers both return subjects (server paths and bridge session) and sufficiently frames the tool's purpose; the output schema can handle detailed return value documentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. There is nothing to explain beyond the empty schema, and the description correctly avoids inventing parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Show') and identifies two distinct resources: server paths and the active DipTrace bridge session. This unambiguously distinguishes it from sibling status-like tools such as get_job_status or get_capabilities, which cover different subjects.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance is given about when to use this tool versus alternatives. It is implied that one calls this to inspect server paths or the active bridge session, but there are no usage scenarios, prerequisites, or notes about when another status tool would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
disconnect_pinsA
Disconnect selected schematic pins from their nets. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| txid | No | ||
| dry_run | No | ||
| selector | No | ||
| expected_sha256 | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavioral traits. It clearly indicates that `dry_run=true` does not write and that setting it to false performs a write, and it highlights the millimetre unit behavior. While it omits details like reversibility or transaction requirements, it gives crucial preview-and-commit guidance for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded, with the main purpose in the first sentence and the dry-run workflow in the final sentence. However, the line 'Input schema: diptrace://schemas/tool-inputs' is somewhat redundant because the schema is already provided in the input-schema block, slightly reducing efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the core workflow and unit caveat, but given the tool's complexity and the presence of a transaction-oriented sibling set (begin_transaction, commit_transaction, etc.), it does not mention whether this operation requires an active live session or should be wrapped in a transaction. The selector parameter is also not elaborated, leaving a completeness gap despite the output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, so the description must compensate. It explains `dry_run` and `expected_sha256` in prose, but does not clarify the meanings or formats of `path`, `txid`, or `selector` beyond the hint 'selected pins'. The mention of 'selected schematic pins' implicitly references the selector but leaves its structure unspecified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Disconnect selected schematic pins from their nets.' This clearly identifies the tool's action and differentiates it from siblings like connect_pins, which perform the opposite operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context by detailing the safe workflow: use `dry_run=true` to preview, then set `dry_run=false` only after inspecting the preview and providing the expected SHA-256. However, it does not explicitly state when to use this tool versus alternatives or mention any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
distribute_componentsA
Distribute at least three PCB components transactionally. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.
| Name | Required | Description | Default |
|---|---|---|---|
| axis | Yes | ||
| mode | No | centers | |
| path | No | ||
| txid | No | ||
| dry_run | No | ||
| spacing | No | ||
| selector | Yes | ||
| allow_locked | No | ||
| expected_sha256 | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the full burden of behavioral disclosure. It explicitly reveals that operations are transactional, that all distances are in millimetres regardless of document units, and that commit requires inspecting the preview and passing expected_sha256. This is substantial safety-relevant behavior beyond what the schema alone conveys.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences long, front-loads the core purpose, and each sentence contributes distinct information (what, unit guarantee, safety protocol). No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (9 params, nested objects) and low schema coverage, the description provides a good safety workflow and key constraints, but it omits crucial parameter semantics (selector format, axis meaning, mode differences, spacing value interpretation). An output schema exists, but the input-side gaps make it only partially complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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. It adds meaning for dry_run and expected_sha256 (preview-then-commit workflow) and clarifies units for spacing. However, it does not explain selector, axis, mode, spacing, path, txid, or allow_locked, leaving significant gaps for a 9-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb ('Distribute') and resource ('PCB components') with a scope constraint ('at least three') and a distinctive trait ('transactionally'). This distinguishes it from sibling tools like move_components or align_components.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool (distributing components) and includes a safety protocol (preview with dry_run, then commit with expected_sha256). It does not explicitly name alternatives or exclusion conditions, so it misses the top tier, but the usage context is distinctly implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_assembly_outputsA
Export generic BOM/placement artifacts; vendor-native requests fail explicitly.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| include_dnp | No | ||
| request_native_outputs | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the full behavioral burden. It does disclose a meaningful behavioral trait: 'vendor-native requests fail explicitly'. However, it does not mention output format, file system side effects, required session state, or other potential behavioral implications, leaving significant gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. Both clauses provide distinct information: the purpose and the failure behavior. It is concise and easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, the tool has three optional parameters and sits among many similar export/session tools. The description does not explain parameter semantics, differentiate from export_fabrication_outputs or export_bom, or provide usage context such as whether a session or transaction is required. This is too sparse for reliable tool selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description should compensate for the three parameters. It only faintly hints at 'request_native_outputs' through 'vendor-native requests', but says nothing about 'path' or 'include_dnp'. The description adds almost no value beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Export' and identifies the resource as 'generic BOM/placement artifacts', which clearly states what the tool does. It also distinguishes this tool from vendor-native or fabrication-specific export tools by noting that vendor-native requests fail explicitly, setting it apart from siblings like export_fabrication_outputs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for generic outputs and that vendor-native requests should not be used, but it does not explicitly name alternatives or provide when-to-use/when-not-to-use criteria. The guidance is present only by implication, not as clear direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_autorouter_dsnB
Export a bounded Specctra DSN artifact when exact footprint geometry is available.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| design_name | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of behavioral disclosure. It only mentions a precondition ('when exact footprint geometry is available') and the artifact type, but does not state whether the operation is read-only, what happens if geometry is unavailable, or any side effects. The term 'bounded' is ambiguous and unexplained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It is concise and to the point, but the use of jargon like 'bounded Specctra DSN artifact' may require additional clarity. Nonetheless, it is appropriately sized for a short description, though not as minimal as a tautology.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 2 optional parameters, no annotations, and only a brief description, context is insufficient. The description does not explain what 'bounded' means, what the parameters do, or how this relates to other autorouter tools. The presence of an output schema helps with return values, but not with usage context or parameter semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 for the lack of parameter documentation. It mentions neither 'path' nor 'design_name', leaving both optional parameters entirely unexplained. This is a complete failure to add semantic value beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb ('Export') and a specific resource ('bounded Specctra DSN artifact'). This distinguishes it from sibling export tools like export_bom or export_fabrication_outputs, and even from related autorouter tools. The condition 'when exact footprint geometry is available' adds further specificity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'when exact footprint geometry is available' provides a clear context for when to use this tool. However, it does not explicitly mention alternatives or when not to use it, so it lacks exclusions. No sibling tool is referenced as an alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_bomC
Export a generic UTF-8 CSV BOM and provenance manifest as bounded resources.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| include_dnp | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the full burden of behavioral disclosure. It mentions exporting to CSV and a manifest, but does not state side effects, whether files are written, output format details, or any access requirements. The term 'bounded resources' is unclear and under-explained.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words, but it is under-specified. The vague 'bounded resources' phrase reduces clarity, making it less effective than a fully self-contained concise description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Although an output schema exists and the tool has few parameters, the description lacks usage guidance and parameter semantics. Given the large sibling set, it should better locate this tool within the BOM export workflow, but it remains thin.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not mention either parameter ('path' or 'include_dnp'). The schema provides titles and defaults, but the description adds no semantic meaning over the structured fields, failing to compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Export' and the resource ('generic UTF-8 CSV BOM and provenance manifest'), distinguishing it from sibling tools like get_bom and export_fabrication_outputs. The phrase 'bounded resources' is somewhat vague but does not obscure the main purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus alternatives like get_bom or export_fabrication_outputs. The description implies an export use case but provides no exclusions, prerequisites, or context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_fabrication_outputsB
Export a release-review manifest; native Gerber/drill requests fail explicitly.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| include_dnp | No | ||
| request_native_outputs | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behaviors. It does state that native Gerber/drill requests fail explicitly, which is a useful behavioral trait. However, it omits other important details like file output, permissions, or side effects, leaving the agent under-informed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, tightly-written sentence that front-loads the primary purpose and adds a key caveat. Every word contributes value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given three parameters and no annotations, the description is too sparse. It does not explain what a 'release-review manifest' contains, what the parameters control, or what the output schema returns. The tool is not fully contextualized within the broader toolset.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not mention any of the three parameters (path, include_dnp, request_native_outputs). It fails to compensate for the lack of schema descriptions, leaving parameter semantics entirely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies a clear action ('Export') and object ('a release-review manifest'), and explicitly notes that native Gerber/drill requests fail, distinguishing this from other export tools like export_assembly_outputs. The scope is well-defined.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for exporting release-review manifests and warns against native Gerber/drill requests, but it does not name alternative tools or provide explicit when-to-use guidance. Context is sufficient for basic selection but not comprehensive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_missing_component_fieldsC
Find components missing explicit required BOM fields.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| required_fields | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the action without revealing the return format, side effects, permissions, or whether any modifications occur. The verb 'find' implies a read-only operation, but this is not explicitly stated, and the description does not add value beyond what an agent might infer from the tool name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, which is economical and front-loaded. However, it omits critical information about parameters and usage, making it more under-specified than appropriately concise. It is not as degenerate as 'Process,' but it fails to earn its place by leaving the agent with unresolved questions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has two parameters, an output schema (though not shown), and no annotations, the description is incomplete. It does not address how path filtering interacts with required_fields, what constitutes a 'missing' field, or the structure of the results. The agent is left with only a vague sense of the tool's full behavior and return contract.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema defines two parameters (path and required_fields) but includes no per-parameter descriptions. The tool description does not explain the meaning of 'path' or the expected format/contents of 'required_fields,' resulting in 0% schema_description_coverage with no compensating detail. An agent cannot reliably construct the correct argument values from the given information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Find' and identifies the resource as 'components' with the scope 'missing explicit required BOM fields.' This clearly states what the tool does and distinguishes it from write or review tools. However, it does not explicitly mention sibling tools or alternative BOM review functions, so it lacks the explicit differentiation expected for a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus related siblings such as run_bom_review, compare_bom_to_design, or validate_mpn_consistency. There is no mention of prerequisites, exclusions, or complementary tools, leaving the agent without context for correct tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_testpoint_candidatesA
Generate deterministic free-grid testpoint candidates for selected nets. All distances are in millimetres, regardless of the document's own Units attribute.
| Name | Required | Description | Default |
|---|---|---|---|
| grid | No | ||
| path | No | ||
| side | No | Top | |
| clearance | No | ||
| target_nets | Yes | ||
| probe_diameter | No | ||
| candidates_per_net | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description is the sole source of behavioral disclosure. It does usefully disclose that generation is 'deterministic' and that distances are in millimetres regardless of document units—a non-obvious behavior. However, it does not indicate whether the tool modifies the design, requires a live session, or has other side effects, leaving the safety profile unclear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loaded with the tool's core purpose. The unit clarification is a valuable, non-obvious detail that earns its place. There is no waste or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, the tool is complex with 7 parameters and a specialized algorithm ('deterministic free-grid'). The description leaves critical details unexplained, such as how the free grid behaves, what constraints candidate placement respects, and how the output is structured. It is too minimal for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has no field descriptions (0% coverage), and the description only indirectly references 'selected nets' and 'distances.' It fails to explain the meaning of grid, side, clearance, probe_diameter, candidates_per_net, or path, leaving an agent with no guidance on how to set these parameters correctly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Generate') and a specific resource ('testpoint candidates for selected nets'), clearly distinguishing it from sibling tools like add_testpoints or list_testpoints. It also adds precision with 'deterministic free-grid', making the tool's function unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives some context ('for selected nets') but does not explicitly state when to use this tool versus alternatives such as review_testpoint_coverage or add_testpoints. It lacks clear exclusions or when-not-to-use guidance, relying on the user to infer the tool's role from the name and description alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
finish_live_sessionC
Request SHA-256-bound apply/cancel and report only local bridge finalization.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | ||
| expected_sha256 | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| message | Yes | |
| outcome | Yes | |
| written | Yes | |
| session_id | Yes | |
| requested_at | Yes | |
| expected_sha256 | Yes | |
| requested_action | Yes | |
| local_bridge_status | Yes | |
| acknowledgement_scope | Yes | |
| diptrace_host_acknowledged | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full transparency burden. It discloses a SHA-256 binding and that only 'local bridge finalization' is reported, but it does not explain side effects, irreversibility, permission requirements, or the meaning of key behavioral terms. The schema detail about expected_sha256 is helpful but is not part of the description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, making it very concise and front-loaded with the core action. However, its brevity sacrifices clarity, and important context is omitted, so it is not optimally effective despite being compact.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is part of a live session workflow with a conditional parameter and an output schema, yet the description does not explain what a live session is, how finish relates to begin/commit/rollback, or what 'local bridge finalization' means. The provided context is far too thin for the complexity involved.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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. It mentions 'apply/cancel' which maps to the action enum, and 'SHA-256-bound' hints at expected_sha256, but it does not explain the conditional requirement for expected_sha256 or the distinction between apply and cancel. The schema itself contains more useful detail for expected_sha256 than the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action—'Request SHA-256-bound apply/cancel'—and mentions 'local bridge finalization', which gives some purpose beyond the name. However, it does not clearly explain that this tool finishes a live session by applying or canceling changes, and terms like 'local bridge finalization' are left undefined, making the overall purpose vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus sibling tools such as commit_transaction, rollback_transaction, or abandon_live_session. There are no prerequisites, exclusions, or alternative recommendations, leaving the usage context entirely unclear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_placement_candidatesB
Generate bounded deterministic local placement candidates. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs.
| Name | Required | Description | Default |
|---|---|---|---|
| grid | No | ||
| path | No | ||
| region | No | ||
| spacing | No | ||
| weights | No | ||
| selector | Yes | ||
| search_steps | No | ||
| allowed_sides | No | ||
| time_budget_ms | No | ||
| respect_keepouts | No | ||
| allowed_rotations | No | ||
| deterministic_seed | No | ||
| board_edge_clearance | No | ||
| max_candidates_per_component | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of behavioral disclosure. It does add useful traits: 'bounded deterministic' and the millimeter unit behavior regardless of document Units. However, it does not state whether the operation is read-only, what it returns (though output schema exists), or any side effects, leaving gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core action, and includes a crucial unit caveat. Every sentence earns its place; the schema pointer is a minor addition but not wasteful. It is highly concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (14 parameters, nested objects) and absence of annotations, the description is too sparse. It does not explain what placement candidates represent, how they relate to the component placement workflow, or what the output schema delivers beyond the candidate list. The output schema exists, but the description still lacks sufficient context for an agent to understand when and why to invoke this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not enumerate or explain any of the 14 parameters. It offers a global hint about distance units, which clarifies numeric parameters like grid and spacing, but leaves other parameters (weights, allowed_sides, deterministic_seed, etc.) without meaning. This fails to compensate for the schema's lack of descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Generate') and resource ('bounded deterministic local placement candidates'), clearly distinguishing itself from sibling tools like analyze_placement or plan_component_placement. It conveys a precise action and scope without ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, nor any exclusions or prerequisites. It is a bare action statement with no context about integration into placement workflows or relationships to other planning tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_board_modelA
Return one strictly byte-bounded PCB page or a count-only summary.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| limit | No | Computational record cap; not an engineering limit. | |
| offset | No | Zero-based record offset within the selected section. | |
| section | No | Count-only summary or one normalized PCB collection. | summary |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
While no annotations are provided, the description discloses a meaningful behavioral constraint ('strictly byte-bounded') and a mode ('count-only summary'). However, it does not elaborate on error behavior, truncation, permissions, or side effects, leaving uncertainty about result handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler words, making it highly concise and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Although an output schema exists, the description remains minimal for a tool with 20 enumerable sections. It does not clarify the impact of 'strictly byte-bounded' on large requests (e.g., truncation vs. error), and lacks guidance on pagination or section selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description's terms 'page' and 'count-only summary' loosely map to the `section` parameter but do not add detail beyond the existing schema descriptions for `limit`, `offset`, and `section`. With 75% schema coverage, the description adds marginal value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Return' and identifies the resource as 'one strictly byte-bounded PCB page or a count-only summary', making it clear this tool retrieves PCB board model data. It differentiates from sibling tools such as get_schematic_model by focusing on PCB pages and summary counts.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not state when to use this tool versus alternatives like get_schematic_model, query_objects, or get_object. It provides no exclusions or preferred contexts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_bomB
Return a normalized schematic or PCB BOM with multi-part RefDes deduplication.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| grouped | No | ||
| include_dnp | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description discloses a meaningful behavioral trait: it returns a normalized BOM with multi-part RefDes deduplication. However, it does not mention error behavior, whether the operation is read-only, or how parameters like grouped and include_dnp alter the result.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. Every word adds value, efficiently conveying the core purpose and key transformation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite the presence of an output schema, the description is incomplete for invocation: parameter semantics are entirely absent, and no workflow context is provided. The normalization/dedup detail is useful but insufficient for correct use without annotations or parameter guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description never mentions any of the three parameters (path, grouped, include_dnp). The parameter meanings are not explained, leaving the agent without information about what 'path' refers to or what 'grouped' / 'include_dnp' control.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific action ('Return'), a specific resource ('schematic or PCB BOM'), and a distinctive feature ('multi-part RefDes deduplication'). This clearly distinguishes it from sibling BOM-related tools like export_bom or group_bom.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use get_bom versus alternatives such as export_bom, group_bom, or detect_duplicate_bom_items. The description implies its use for retrieving a BOM but provides no explicit context, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_capabilitiesB
Return supported source types, adapters, limits and current feature availability.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states what is returned but does not indicate whether the operation is read-only, requires authentication, has side effects, or how the optional 'path' parameter affects behavior. The description adds no insight beyond the literal return of information.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that directly states the tool's function. It contains no filler or redundant information, making it highly concise and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is a simple capability query, and the description covers the main return items. However, the optional 'path' parameter is unexplained, and there is no mention of usage context or prerequisites. The presence of an output schema reduces the need to describe return values, but the parameter ambiguity leaves the description only minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one optional parameter 'path' with no description, and the tool description does not mention it at all. Since schema coverage is 0%, the description completely fails to clarify the meaning or purpose of 'path,' leaving the user without any help understanding this parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool 'Return supported source types, adapters, limits and current feature availability,' specifying both the action (return) and the resource (capabilities information). It is distinct from sibling tools, which focus on specific design or review tasks, making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention any context like 'call before other operations' or 'use to discover available features,' and there are no exclusions or alternative references.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_componentA
Get one component, its parts/pads and all connected nets by reference designator.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| refdes | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of disclosing behavior. It does state what is returned (component, parts/pads, connected nets), but does not explicitly say it is a non-mutating read operation or describe any side effects. Since the tool name and verb imply read-only behavior, this is adequate but not richly transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the core action and specifics. Every word adds value with no repetition or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given an output schema exists, return-value details are handled externally. However, the description omits any mention of the 'path' parameter or prerequisites (e.g., document context), which is important for a tool with two parameters. It is a complete summary for the core function but not fully comprehensive for invocation context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It explains 'refdes' implicitly as the reference designator, but the optional 'path' parameter is completely unexplained. With two parameters and 0% schema descriptions, only one parameter's purpose is partially conveyed, leaving the other undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets a single component by reference designator, including its parts/pads and connected nets. This distinguishes it from siblings like list_components (plural) and get_object (generic). The verb 'Get' and specific resource scope are unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'by reference designator' implies it should be used when targeting a specific component, and siblings like list_components provide the alternative for multiple components. However, there is no explicit when-to-use or when-not-to-use guidance, nor any mention of alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_connectivity_graphB
Return normalized logical endpoints and separate physical PCB ratlines.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden. It adds useful behavioral context by stating the output is 'normalized' and that logical endpoints and physical ratlines are 'separate.' However, it does not explicitly confirm read-only behavior, explain the effect of the optional path parameter, or mention any side effects or requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is front-loaded with the action and resource. Every word adds value, with no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Although an output schema exists, the description lacks essential parameter semantics and usage context. For a tool with one optional parameter and no annotations, the description is under-specified for confident selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter 'path' has no schema description (0% coverage), and the description does not mention it at all. The agent cannot determine what path refers to or how it influences the returned graph, making parameter semantics almost entirely opaque.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Return' and clearly specifies the resource: 'normalized logical endpoints and separate physical PCB ratlines.' This distinguishes it from sibling tools like run_connectivity_check (which performs a check) and list_unrouted_connections (which lists only unrouted connections).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention context, prerequisites, or exclusions, leaving the agent to infer usage solely from the tool name and sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_design_rulesA
Read PCB DRC/routing rules or schematic ERC settings from DipTrace XML.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of conveying safety. The verb 'Read' signals a non-mutating operation, which is helpful. However, it adds no details about side effects (or lack thereof), required permissions, or whether the tool validates the XML. The description is competent but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no redundant words. It immediately states the action and resources. Perfectly sized for the simplicity of the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple tool (one optional param, output schema present), the description covers the core purpose. However, the lack of parameter guidance and usage differentiation leaves noticeable gaps for an agent trying to decide whether and how to invoke this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter 'path' has no schema description (0% schema coverage), and the tool description does not explain what path refers to beyond the indirect hint 'from DipTrace XML'. It does not clarify whether path is a filesystem path a document ID, or an XML fragment, nor how the optionality works. The description fails to compensate for the lack of parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Read') and names the exact resources ('PCB DRC/routing rules or schematic ERC settings') plus the source ('DipTrace XML'). This clearly distinguishes it from sibling tools like run_drc or run_erc, which execute checks rather than read settings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool (when you need to read design rules from DipTrace XML) but provides no explicit guidance versus alternatives such as get_document_info, read_xml_fragment, or the run_drc/run_erc siblings. No exclusions or alternative tool names are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_differential_pairA
Get one differential pair by stable id, XML id or exact name.
| Name | Required | Description | Default |
|---|---|---|---|
| pair | Yes | ||
| path | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It discloses the lookup modes (stable id, XML id, exact name) which is useful, but it doesn't state behavior for not found, exact match semantics, or read-only expectations. More context would be helpful, but it's not misleading.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, tightly structured sentence that front-loads the action and resource. Every word contributes meaning, with no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and the existence of an output schema, the description covers the basic function but lacks guidance on the 'path' parameter and when to prefer this tool over similar siblings. It's minimally viable but has clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It explains the 'pair' parameter via the three identifier types, but completely omits the optional 'path' parameter. This leaves a significant gap in understanding the second parameter's meaning and purpose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action ('Get') and resource ('one differential pair'), and specifies three identifier types (stable id, XML id, exact name). This distinguishes it from sibling tools like list_differential_pairs or analyze_differential_pair.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the usage context: use this when you have a specific identifier for a differential pair. It doesn't explicitly name alternatives, but the 'Get one' phrasing and identifier basis make the intended scenario clear without exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_document_infoC
Return document identity, type, version, size, sha256 and compatibility.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for behavioral disclosure. It only says 'Return' without stating whether the operation is read-only, fails on missing documents, or how the optional path parameter affects behavior. This leaves important safety and error-handling details undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no filler words, front-loading the primary action. However, it is so brief that it omits essential parameter semantics, but conciseness itself is appropriate for a simple getter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The presence of an output schema covers return values, but the input parameter is completely undocumented and no behavioral context (e.g., optionality, error conditions) is provided. Given the tool's simplicity, the description should at least explain the 'path' parameter to be complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has no description for the 'path' parameter (0% coverage), and the tool description does not mention the parameter at all. The agent is left with no explanation of what path refers to, whether it is optional relative to a current document, or how it affects the returned info.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns document metadata (identity, type, version, size, sha256, compatibility) with a specific verb and resource. It does not explicitly distinguish from siblings like get_object or get_board_model, but the returned fields make the purpose reasonably distinct.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives. There is no mention of scenarios, prerequisites, or exclusions. The description only implies it is for retrieving document information without context on how it differs from other getter tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_findingA
Read one structured finding by deterministic id.
| Name | Required | Description | Default |
|---|---|---|---|
| finding_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It states the operation is 'Read', indicating it is non-destructive, but it does not disclose behavior for missing IDs, error handling, or any side effects. It provides minimal behavioral context beyond the basic read nature.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence, front-loaded with the verb 'Read'. Every word earns its place, with no filler or redundant details. It is highly efficient while remaining informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (one parameter, output schema present), the description is mostly complete. The read-only nature is implied by 'Read', and the deterministic ID is mentioned. However, without annotations, there is no explicit safety declaration or guidance on alternative usage, which slightly reduces completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With one parameter and 0% schema description coverage, the description must compensate. The phrase 'by deterministic id' adds meaning to finding_id, clarifying that it is a stable identifier rather than a search or fuzzy match. This provides useful context beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Read one structured finding by deterministic id.' The verb 'Read' and the resource 'structured finding' make it specific, and 'by deterministic id' distinguishes it from list-style siblings like get_findings. It fully captures the tool's purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when you have a deterministic finding ID, but it does not explicitly say when to use this tool over alternatives like get_findings or mention any exclusions. There is no direct comparison to sibling tools, so guidance is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_findingsA
Read all structured findings from a stored review report.
| Name | Required | Description | Default |
|---|---|---|---|
| report_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the transparency burden. It clearly identifies this as a read operation, but it does not disclose error behavior, pagination, or other execution details. The read-only nature is a positive signal, but additional context would strengthen transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that directly states the tool's purpose. It is front-loaded with the verb and contains no redundant or irrelevant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity, an output schema is present to describe returns, and the single parameter is clear. The description is largely sufficient, though it could be more explicit about the requirement of report_id and what qualifies as a 'stored review report'.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one parameter 'report_id' with no description, and the description only gives minimal context by referencing 'stored review report'. It does not explain the expected format, constraints, or how to obtain a valid ID, leaving the agent with limited guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the verb 'Read' and specifies the resource as 'all structured findings from a stored review report'. This clearly distinguishes it from the sibling tool 'get_finding', which likely retrieves a single finding.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies use after a review report is stored, but it does not explicitly state when to choose this tool over alternatives like 'get_finding'. It also does not mention any prerequisites or exclusions beyond having a stored report.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_job_resultB
Return completed, partial or failed external-job result data.
| Name | Required | Description | Default |
|---|---|---|---|
| jobid | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It adds value by mentioning 'completed, partial or failed' states, which indicates what kind of data can be returned. However, it does not disclose other important behaviors like whether the tool waits for completion, error conditions, or pagination.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is front-loaded and to the point. Every word contributes to the purpose, with no unnecessary detail or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values are presumably covered elsewhere. The description is minimal but provides the core purpose and a hint of behavioral scope (completed/partial/failed). However, it lacks context about how this tool fits with siblings like inspect_autorouter_result or get_job_status, making it slightly incomplete for selecting between them.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one parameter (jobid) with 0% description coverage, and the tool description adds no details about it. While the parameter name is somewhat self-explanatory, the description does not clarify the format, source, or relationship to external jobs beyond the tool name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns result data for external jobs, using a specific verb ('Return') and resource ('external-job result data'). This distinguishes it from sibling tools like get_job_status (which focuses on status) and list_jobs (which lists jobs).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as get_job_status or inspect_autorouter_result. The context implies usage after an external job, but there are no explicit exclusions or alternative references.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_job_statusC
Return persistent external-job state and progress.
| Name | Required | Description | Default |
|---|---|---|---|
| jobid | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only says 'Return,' which implies a read-only operation, but it does not explicitly state that it has no side effects, nor does it disclose any details about polling behavior, job lifecycle, or how errors are surfaced. This is a significant gap for a status-query tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence, front-loaded with the verb and resource. Every word earns its place, and there is no wasted text. It is appropriately sized for a simple status-query tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Although an output schema exists (which covers return values), the description provides minimal context. It does not clarify what 'persistent external-job' means, how this relates to sibling tools like get_job_result, or when in a workflow this status should be checked. Given the large sibling set, this description is not complete enough for correct tool selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has one required parameter 'jobid' with no description, and the tool description does not mention it at all (0% schema description coverage). The description adds no meaning about what the jobid should be or how it relates to other tools, leaving the agent to guess the expected value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the verb 'Return' and the resource 'persistent external-job state and progress,' which clearly indicates the tool's function. However, it does not distinguish this from sibling tools like get_job_result or list_jobs, so it lacks explicit differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool compared to alternatives such as get_job_result, list_jobs, or cancel_job. The description does not mention any context, prerequisites, or exclusions, leaving the agent to infer appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_library_componentC
Get one normalized component-library item by stable id or exact name.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| path | Yes | ||
| stable_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It mentions 'normalized' but omits the required 'path' parameter, does not explain behavior when both name and stable_id are supplied, and says nothing about not-found cases.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one concise sentence with no fluff. Every word adds value: 'Get', 'one', 'normalized', 'component-library item', and the lookup methods.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the tool is simple and has an output schema, the description is incomplete because it omits the required 'path' parameter and lacks any context about invocation constraints, making it insufficient for reliable use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description explicitly covers 'stable_id' and 'name' but completely ignores 'path', which is the only required parameter. With 0% schema coverage, the description fails to explain the essential path parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves a single normalized component-library item using 'stable id or exact name', which distinguishes it from list/scan tools. However, it does not explicitly differentiate it from sibling getters like get_component.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives such as query_library_items or get_library_pattern. The description only states the retrieval mechanism, leaving usage context implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_library_patternB
Get one normalized pattern-library item by stable id or exact name.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| path | Yes | ||
| stable_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the burden of behavioral disclosure. It mentions 'normalized' as a behavioral trait and makes clear this is a read operation, but it does not describe edge cases like not-found behavior, multiple matches, or case sensitivity. It is minimally adequate but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. It immediately states the action and resource, making it highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, the description lacks critical invocation details. It does not explain the required path parameter, how multiple parameters interact, or the meaning of 'normalized'. Given no annotations, this one-line description is insufficient for a 3-parameter tool, especially with a required parameter not mentioned.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the description only hints at name and stable_id as keys, completely omitting the required `path` parameter. This is actively misleading: an agent might call the tool with only name or stable_id, expecting success, but the schema requires path. The description adds no meaningful clarification for any parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and clearly identifies the resource ('one normalized pattern-library item') with explicit lookup keys ('by stable id or exact name'). This distinguishes it from siblings like get_library_component or query_library_items.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is used when you have a stable id or exact name, but it does not explicitly state when to prefer this over alternatives like query_library_items or scan_pattern_libraries. No exclusions or alternative tool references are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_objectB
Return one normalized object by stable id.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| stable_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full weight but only says 'Return one normalized object by stable id'. It doesn't disclose behavior like error handling, whether normalization follows references, or any side effects. The term 'normalized' hints at transformation but lacks detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that communicates the core purpose without wasted words. It is appropriately sized and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The presence of an output schema helps, but the description is minimal. Given the large sibling set, more context about when to use this generic getter versus more specific tools (e.g., get_component) would improve completeness. As is, it's functionally adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description only mentions stable_id. The 'path' parameter is completely unexplained. The description adds no meaning beyond the schema's property names, failing to compensate for the lack of schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (return) and resource (one normalized object), with a specific identifier (stable id). It distinguishes itself from other getter tools by emphasizing 'normalized object' and 'stable id', though it doesn't explicitly differentiate from similar siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage: use when you have a stable id and need the normalized object. However, it does not provide explicit when-not-to-use guidance or name alternatives like get_document_info or get_component, leaving usage context vague.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_route_detailsB
Return trace segments, per-layer geometric length and via counts.
| Name | Required | Description | Default |
|---|---|---|---|
| net | No | ||
| path | No | ||
| trace_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. The verb 'Return' implies a read-only operation, and the description adds concrete output details. However, it does not disclose potential behaviors like parameter precedence, error conditions, or whether a route must already exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the action and lists the key outputs without any wasted words. It is easily scannable and to the point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With three optional parameters and no explanation of how to target a specific route, the description is insufficient for reliable invocation. It omits information about whether parameters are mutually exclusive or how the output is organized, despite an output schema existing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the description does not mention the parameters (net, path, trace_id). The parameter names give some hints, but it is unclear whether they are alternative identifiers or combined filters, and no guidance is given on which to use or whether any are required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the action ('Return') and the resource ('trace segments, per-layer geometric length and via counts'). This distinguishes it from sibling tools like measure_net_lengths, which likely provides simpler total length data, though it does not explicitly name alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus other routing-related siblings, when not to use it, or which parameter to supply. The description is purely a functionality statement with no contextual usage advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_schematic_modelC
Return the normalized schematic model for a DipTrace schematic document.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for behavioral disclosure. 'Normalized' hints at internal processing but does not explain what normalization entails, whether the operation is read-only, what errors may occur, or what the returned model contains. The description is too sparse for a tool with zero annotation support.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no irrelevant details. It is concise and directly states the core purpose, earning a high score for structure despite lacking depth.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Although an output schema exists (which covers return values), the description omits critical context: the meaning of 'normalized', path parameter semantics, and how this tool relates to sibling model-getting tools. For a low-complexity tool this might suffice, but the absence of annotations and parameter documentation makes it incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%. The 'path' parameter is entirely undocumented in the description; there is no mention of its meaning, format, requiredness, or default behavior. The description adds no value beyond the raw schema, failing to compensate for the lack of schema text.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action ('Return') and resource ('normalized schematic model for a DipTrace schematic document'). This is specific and distinguishes it from sibling tools like get_board_model which returns a PCB model.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as get_document_info or get_board_model. The description does not mention use cases, prerequisites, or exclusions, leaving the agent to infer applicability.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_stackupB
Return the normalized physical layer stack without inventing missing Dk values.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds a meaningful behavioral guarantee—that it does not fabricate missing Dk values—which goes beyond simply stating the function. However, with no annotations provided, it does not disclose other behavioral aspects such as read-only nature, error behavior, or permission requirements. For a simple getter, this is adequate but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that is front-loaded with the core action and resource. No wasted words; every part adds value. It is optimally concise and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Although the tool is simple and has an output schema, the description lacks essential context about the 'path' parameter and does not explain how requests are structured. It also does not clarify when to use this tool relative to stackup-related siblings. The absence of parameter documentation makes the description incomplete for an agent to invoke confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one parameter ('path') with zero description coverage, and the tool description does not mention or explain it at all. The agent cannot determine what 'path' refers to (e.g., file path, document ID, resource path). Since schema coverage is 0%, the description needed to compensate but failed to provide any parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action ('Return') and resource ('normalized physical layer stack'), and adds a key behavioral constraint ('without inventing missing Dk values') that distinguishes it from sibling tools like 'analyze_stackup_for_impedance'. The purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives. It implies that it returns stackup data, but does not mention use cases, exclusions, or alternatives such as 'analyze_stackup_for_impedance' for impedance analysis. The agent is left to infer usage from the tool name and context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
group_bomC
Group BOM records by exact sourcing identity.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| include_dnp | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It only states the action but does not explain whether grouping mutates data, returns a view, handles duplicate items, or any side effects. This is insufficient for a tool with no other behavioral metadata.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no wasted words or redundant information. It is appropriately sized and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, the description is far too sparse. It does not explain the grouping semantics, the role of the optional parameters, or the meaning of 'exact sourcing identity,' leaving the agent without enough context to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not mention the 'path' or 'include_dnp' parameters. Their meaning is left entirely to their names, which is insufficient—especially for 'include_dnp,' which is cryptic.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Group') and resource ('BOM records') with a clear criterion ('by exact sourcing identity'). It is unambiguous about the tool's function, though it does not explicitly differentiate from sibling tools like get_bom or review_bom.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives. Given the presence of related tools (get_bom, review_bom, compare_bom_to_design), the description gives no contextual hints or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
group_componentsA
Create or reuse a documented DipTrace PCB group transactionally. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| txid | No | ||
| dry_run | No | ||
| group_id | No | ||
| selector | Yes | ||
| allow_locked | No | ||
| expected_sha256 | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description discloses key behaviors: distances are force-normalized to millimetres regardless of document units, dry-run is non-writing, and a SHA-256 hash must be passed to commit. This is meaningful beyond the schema, though it doesn't explain the effect of reuse or locked components.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the main action, then a critical unit caveat, then a concise safety workflow. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 7 parameters, nested selector schema, and an output schema, the description covers the safety-critical dry-run/commit flow but omits the meaning of reuse, group_id, selector, and lock handling, leaving the tool partially specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description only adds semantics for dry_run and expected_sha256, plus a units caveat. The required selector, group_id, path, txid, and allow_locked are left unexplained, leaving a significant gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb-resource pair ('Create or reuse a documented DipTrace PCB group') and clearly distinguishes from siblings like ungroup_components and group_bom by focusing on PCB grouping with transactional semantics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides an explicit usage workflow: dry_run=true previews without writing, and dry_run=false only after inspecting the preview and passing expected_sha256. It also warns about units normalization. However, it doesn't explicitly contrast with alternatives like ungroup_components.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
import_autorouter_sesA
Preview or commit a previously inspected SES route plan transactionally. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.
| Name | Required | Description | Default |
|---|---|---|---|
| txid | No | ||
| dry_run | No | ||
| plan_id | Yes | ||
| expected_sha256 | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral disclosure burden. It transparently explains the transactional nature, the non-writing preview mode, and the integrity requirement of expected_sha256 for committing. This is meaningful safety context, though it does not detail error conditions or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the main action, and every phrase earns its place. It conveys the core logic and safety constraint without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While an output schema exists, the description lacks context on how to obtain the plan_id (e.g., from inspect_autorouter_result) and what txid represents. It also does not mention prerequisites for using this tool, leaving gaps for a tool that commits changes transactionally.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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. It clearly explains dry_run and expected_sha256, but does not explain plan_id (required) or txid, leaving ambiguity about their meanings and usage. This partial compensation is helpful but incomplete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's dual function: 'Preview or commit a previously inspected SES route plan transactionally.' It uses a specific verb ('preview or commit') and resource ('SES route plan'), which distinguishes it from generic transaction tools like preview_transaction or commit_transaction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit usage guidance: 'dry_run=true previews without writing' and instructs to set 'dry_run=false only after inspecting the preview and pass its expected_sha256.' This provides a clear workflow, though it does not explicitly mention alternative tools or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inspect_autorouter_resultB
Parse and validate a completed SES artifact and create an import preview plan.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| jobid | Yes | ||
| via_style | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden of disclosing behavior. It says it validates and creates a plan, hinting at non-destructive behavior, but it does not state whether it modifies state, requires permissions, or what happens on validation failure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with zero fluff. It front-loads the key verbs (parse, validate, create) and stays within 13 words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Although an output schema exists, the description lacks parameter semantics and usage guidance. With no annotations and 0% schema coverage, it does not fully equip an agent to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description does not mention any parameters. jobid, path, and via_style are left unexplained, so the agent gains no meaning beyond the raw schema names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verbs and a resource: 'Parse and validate a completed SES artifact' and states the outcome 'create an import preview plan.' This clearly distinguishes it from sibling tools like import_autorouter_ses, get_job_result, or run_external_autorouter.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool should be used on a completed SES artifact before importing, but it does not explicitly state when to use it versus alternatives like import_autorouter_ses or get_job_result, nor does it mention when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
legalize_component_placementD
Preset: plan_component_placement. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs.
| Name | Required | Description | Default |
|---|---|---|---|
| grid | No | ||
| path | No | ||
| spacing | No | ||
| selector | Yes | ||
| search_steps | No | ||
| time_budget_ms | No | ||
| board_edge_clearance | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The only behavioral detail is that all distances are in millimetres regardless of the document's Units attribute. This is useful but minor. With no annotations, the description carries the full burden of disclosing side effects, reversibility, or safety; it reveals almost nothing about what the tool actually does to the placement.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and free of fluff, but it is under-specified. The phrase 'Preset: plan_component_placement' is cryptic and the 'Input schema' line feels like a technical reference rather than an explanation. While concise, it sacrifices all substance; this is underspecification, not effective conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (7 parameters, nested selector object, output schema, and numerous sibling tools), the description is grossly incomplete. It does not explain the tool's functionality, expected use, or how it relates to 'plan_component_placement.' The presence of an output schema does not compensate for the lack of core purpose and parameter semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description provides zero explanation of the seven parameters (grid, spacing, selector, search_steps, time_budget_ms, board_edge_clearance, path). The schema is referenced but not summarized, and schema coverage in the description is 0%. The 'Input schema' pointer is not a substitute for explaining what each parameter means or how they interact.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says 'Preset: plan_component_placement,' which alludes to a relationship with a sibling tool but does not explicitly state what 'legalize_component_placement' does. It lacks a verb and resource; the purpose is opaque. This is not a tautology but is vague enough to be misleading about its actual function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. Sibling tools like 'plan_component_placement' and 'apply_component_placement_plan' are related, but the description offers no distinctions or recommendations. No context about prerequisites or appropriate scenarios is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_board_textsC
List free board text and component silk/assembly markings. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| selector | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It adds an important behavioral note about distances always being in millimetres regardless of document Units, and it scopes the tool's coverage. However, it does not disclose whether any layers are excluded, the read-only nature explicitly, or potential failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the main purpose. The first sentence clearly states what the tool does, and the second sentence provides a useful unit caveat. The third sentence, referencing the input schema URL, is redundant given the schema is already included in the input, but it doesn't significantly bloat the description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has an output schema but no annotations and no parameter descriptions. While the description covers the output scope and the unit normalization, it leaves the semantics of 'path' and 'selector' ambiguous, and with 0% schema coverage, the agent lacks sufficient information to invoke the tool reliably for filtering or targeting specific documents.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain either parameter (path or selector). The only reference to the input schema is a URL, which adds no meaning beyond the field names already present in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('List') and explicitly identifies the resource as 'free board text and component silk/assembly markings,' making the tool's output scope clear. It doesn't explicitly differentiate from sibling tools like query_objects or list_components, but the resource type is distinct enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, no exclusions, and no mention of prerequisites. It simply states what the tool does without helping the agent choose among the many list/query siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_componentsC
List and search PCB components or grouped schematic component parts.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| limit | No | ||
| query | No | ||
| offset | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does not reveal whether the operation is read-only, what data it returns, or any side effects or requirements. 'List and search' implies a read operation, but that is not explicit, and there is no mention of pagination, filtering semantics, or output structure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no fluff, but it is under-specified—it lacks necessary details about parameters and usage. It is concise in form but not in substance, warranting a middle score rather than a higher one.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given four parameters, no annotations, and the presence of many sibling tools, the description is too thin to be complete. It does not explain the tool's role in the broader workflow, the meaning of 'grouped schematic component parts', or how the optional parameters affect results. While the output schema exists, the description still fails to provide critical context for correct use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description provides no additional meaning for the four parameters (path, limit, query, offset). 'List and search' is the only functional hint, but it does not explain what each parameter controls, how query syntax works, or how path/offset/limit interact. This is a significant gap for an effective agent invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists and searches PCB components or grouped schematic component parts, using specific verbs ('list', 'search') and a clear resource (components). It distinguishes from component-specific tools like get_component but does not explicitly contrast with similar listing tools, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many sibling tools (e.g., get_component, scan_component_libraries). The description only states what it does, not the context or alternatives, leaving the agent without direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_copper_poursB
List normalized copper-pour boundaries and refill-state metadata.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| limit | No | ||
| offset | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It discloses that results are normalized boundaries and includes refill-state metadata, which is useful, but does not mention side effects, error conditions, or behavior when no pours exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no filler, front-loaded with the core purpose, and every word contributes meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While an output schema exists and the tool is a simple list operation, the lack of parameter semantics and usage guidance leaves the description incomplete for reliable invocation. 'path' in particular is ambiguous without explanation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All three parameters have no schema descriptions, and the description does not explain the role of 'path', 'limit', or 'offset'. The agent must guess that limit/offset are pagination and path is a target, which is a significant gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('List') and identifies a distinct resource ('normalized copper-pour boundaries and refill-state metadata'), clearly separating it from other list tools in the sibling set.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, nor any mention of use cases or exclusions. The description simply states what the tool does, leaving the agent to infer context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_differential_pairsB
List normalized DipTrace project differential pairs and their rules.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| limit | No | ||
| offset | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It mentions 'normalized' but does not explain what that entails, nor does it state whether the operation is read-only, how pagination works, or any potential side effects. The description is minimal and leaves these aspects unclear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of 10 words, front-loaded with the action verb 'List'. It is concise and contains no extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is a straightforward list operation, and an output schema exists, so return values need not be described. However, the description lacks details about what 'normalized' means, how the path parameter should be used, and how this differs from related list/analysis tools. Given the low schema coverage and lack of annotations, the description is only partially complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions are 0% covered, so the description should compensate. It does not explain the 'path' parameter beyond implying a DipTrace project, nor the 'limit'/'offset' pagination parameters. The description adds minimal value over the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List') and the specific resource ('normalized DipTrace project differential pairs and their rules'). It distinguishes from sibling tools like get_differential_pair (singular fetch) and analyze_differential_pairs (analysis).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use the tool (when you need a list of differential pairs), but it does not explicitly mention alternatives or when-not-to-use conditions. Sibling names suggest distinctions, but no direct comparison is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_exportsA
List persistent export records without exposing state-directory paths.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. The phrase 'without exposing state-directory paths' is a genuine behavioral disclosure about the output's content. However, it does not mention return format, ordering, or any other side effects. This is a moderate level of transparency for a simple list tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, tightly worded sentence. It front-loads the core purpose ('List persistent export records') and appends a key behavioral constraint. Every word earns its place; there is no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter list operation with an output schema, the description is sufficiently complete. It identifies what is being listed and includes an important privacy-related behavior. The output schema presumably documents return fields, so no further description is required here.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so the baseline is 4. The description does not need to explain parameters, and the schema trivially covers 100% of them. The description adds no param-specific info, but none is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb ('List') and resource ('persistent export records'), which distinguishes this tool from the many export-creation tools (e.g., 'export_fabrication_outputs', 'export_bom'). The added caveat 'without exposing state-directory paths' further specifies the tool's scope and behavior, making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for retrieving previously created export records, which is evident from the verb 'List'. However, it does not explicitly state when to use this tool versus alternatives like 'list_transactions' or provide exclusion criteria. The context is clear but not fully explicit, so it meets the 'implied usage' bar.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_jobsB
List persistent jobs, optionally filtered by exact status.
| Name | Required | Description | Default |
|---|---|---|---|
| status | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It only states that jobs are 'persistent' and can be filtered by 'exact status', but doesn't clarify what 'persistent' means, whether it returns a snapshot, or if there are any side effects. The read-only nature is implied by 'List' but not explicitly guaranteed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence with no wasted words. The verb 'List' is front-loaded and the optional filter is clearly stated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with one optional parameter and an output schema exists, so the description doesn't need to explain return values. However, it lacks usage context and doesn't clarify what 'persistent' means, or when to prefer this over get_job_status, making it only partially complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It adds the meaning of 'exact status' for the status parameter, implying filtering by exact match, and the optionality via 'optionally'. However, it doesn't enumerate valid status values or explain the null default, leaving some ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'List' and the resource 'persistent jobs', and mentions the optional status filter. It clearly distinguishes itself from sibling tools like get_job_status (which retrieves a single job's status) and cancel_job (which modifies job state).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives is provided. It doesn't mention scenarios like enumerating all active jobs or checking job history, nor does it suggest sibling tools like get_job_status for individual job details.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_netsC
List PCB or schematic nets with component endpoints.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| limit | No | ||
| query | No | ||
| offset | No | ||
| include_endpoints | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. While 'List' implies read-only behavior, the description does not disclose pagination, filtering behavior, how path selects PCB vs schematic context, or what 'component endpoints' entails. This is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no filler or redundant information. Every word adds value, and it is front-loaded with the primary action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 5 parameters and no annotations, the description is too sparse to be complete. It does not explain how to filter or page through results, how endpoints are included, or how to target a specific schematic/PCB. The output schema exists but does not cover parameter behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description only hints at 'include_endpoints' with 'component endpoints'. It provides no meaning for path, limit, query, or offset, failing to compensate for the missing parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'List' and identifies the resource 'PCB or schematic nets' with a notable detail 'component endpoints'. This clearly distinguishes it from other listing tools such as list_components or list_testpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, no prerequisites, and no exclusions. The description merely states what the tool does without indicating context or selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_testpointsB
List explicit TP standalone-pad components in a PCB document. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| selector | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does disclose one behavioral trait: 'All distances are in millimetres, regardless of the document's own Units attribute.' It also clarifies the scope as 'explicit TP standalone-pad components.' However, it does not indicate whether the operation is read-only, what happens when no testpoints exist, or how the selector parameter affects the result.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only two sentences, with the primary purpose front-loaded. The second sentence adds a useful unit detail. The 'Input schema' line is somewhat redundant since the schema is already attached to the tool definition, but it does not significantly bloat the description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has two optional parameters, no annotations, and an output schema (which covers return values). However, the description lacks parameter semantics and usage guidance, and it does not explain what 'explicit TP standalone-pad components' means in enough detail. For a listing tool, the missing parameter explanations create a notable gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain the 'path' or 'selector' parameters. The statement 'Input schema: diptrace://schemas/tool-inputs' is a reference, not an explanation. The agent is given no information about how to use these optional parameters or what values they expect.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'List explicit TP standalone-pad components in a PCB document.' It uses a specific verb (List) and a specific resource (TP standalone-pad components), and the scope is narrowed by 'explicit' and 'standalone-pad'. This distinguishes it from sibling tools like find_testpoint_candidates, add_testpoints, or remove_testpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide any explicit guidance on when to use this tool versus alternatives. It does not mention that it lists existing testpoints as opposed to finding candidates or modifying testpoints, nor does it reference any related tools. The only contextual hint is the tool name itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_transactionsA
List persisted transaction ids, document hashes, states and operation counts.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of indicating side effects. The verb 'List' and the word 'persisted' strongly imply a read-only operation on stored data, but it does not explicitly state that no changes are made. It adds useful context that only persisted (not staged) transactions are included.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that directly states what the tool lists and the fields included. Every word earns its place, with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (zero parameters), the presence of an output schema, and the clear enumeration of returned data, the description provides sufficient context. It does not leave major gaps for the agent to make an informed call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema is already fully descriptive. The baseline for zero parameters is 4, and the description does not need to add parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('List') with a precise resource: persisted transaction IDs, document hashes, states, and operation counts. This clearly distinguishes the tool from transaction lifecycle tools like begin_transaction, commit_transaction, and rollback_transaction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidance is provided. It does not state when to use this tool versus other list-like or transaction-related siblings, nor does it mention any exclusions or context where an alternative would be preferable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_unrouted_connectionsB
List exported ratlines with normalized pad endpoints and lengths.
| Name | Required | Description | Default |
|---|---|---|---|
| nets | No | ||
| path | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only mentions 'exported' and 'normalized pad endpoints and lengths'. It does not clarify what 'exported' means, whether the operation is read-only, or any side effects. While 'List' implies read-only, the lack of behavioral context is notable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the verb and resource. No extra words or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with two optional filter parameters and no annotation coverage, the description is incomplete. It doesn't explain the parameters, the meaning of 'exported', or provide usage context. The output schema exists, but parameter semantics and behavioral details are missing, making this barely adequate for an agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not mention the 'nets' or 'path' parameters. The input schema only provides titles and defaults, leaving the agent without any explanation of what these filters mean or how to use them. The description adds no value for parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'List' with a clear resource ('exported ratlines') and adds detail about output ('normalized pad endpoints and lengths'). This clearly distinguishes from siblings like list_nets (which lists nets) and get_connectivity_graph (which provides full connectivity).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for viewing unrouted connection ratlines, but provides no explicit when-to-use or alternatives. It doesn't mention exclusions or contrast with list_nets or route_connection. The context is clear enough for a simple list operation, but no guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lock_componentsA
Lock selected PCB components or schematic parts. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| txid | No | ||
| dry_run | No | ||
| selector | No | ||
| expected_sha256 | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of disclosing behavior. It reveals that distances are always in millimetres regardless of document units, and explains that dry_run=true previews without writing while dry_run=false writes after inspecting the preview with expected_sha256. This covers the mutating nature and a safety mechanism, though it doesn't detail reversibility or permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each with specific value: purpose, unit caveat, and dry_run workflow. No redundant phrasing and information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and 0% schema coverage, the description provides core workflow but omits details on how selector, path, and txid are used, and what locking implies in the broader design. The output schema may cover return values, but overall completeness is moderate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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. It explains dry_run and expected_sha256, but doesn't clarify path, txid, or selector. 'Selected' in the purpose hints at selector, but the parameters are not fully described.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function with a specific verb and resource: 'Lock selected PCB components or schematic parts.' It distinguishes from siblings like unlock_components, move_components, etc., by focusing on the locking action and applicable object types.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear usage instructions for dry_run and expected_sha256, including a conditional: 'Set dry_run=false only after inspecting the preview and pass its expected_sha256.' Also warns about units. However, it doesn't explicitly mention when to use vs alternatives like unlock_components or when not to use, but the context is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
measure_net_lengthsC
Measure geometric centerline lengths and optional preliminary delay.
| Name | Required | Description | Default |
|---|---|---|---|
| nets | No | ||
| path | No | ||
| effective_dielectric_constant | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing behavior. It mentions 'optional preliminary delay' but does not clarify whether the tool is read-only, what units are used, what 'preliminary' means, or any side effects. Minimal transparency beyond the basic action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no redundant words. It conveys the primary action and the optional delay element efficiently. This is appropriately concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's context (among many EDA analysis tools) and the minimal schema descriptions, the description is incomplete. It does not explain the meaning of 'path', the format of 'nets', or when to use this tool over similar ones. The presence of an output schema reduces the need to describe return values, but the description still lacks essential operational context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 by explaining parameters. It does not explain 'nets', 'path', or 'effective_dielectric_constant' in any detail. The phrase 'optional preliminary delay' hints at the dielectric constant's role but leaves most parameter semantics ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action ('Measure') and resource ('geometric centerline lengths'), with an optional delay calculation. It is specific enough to understand the core function, though it does not explicitly distinguish from sibling tools like analyze_length_group or get_route_details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. There is no mention of prerequisites, typical scenarios, or exclusions. Given the large set of sibling tools for length/delay analysis, this is a significant gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
move_board_textsA
Move free board text or component markings in board coordinates. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.
| Name | Required | Description | Default |
|---|---|---|---|
| dx | No | ||
| dy | No | ||
| path | No | ||
| txid | No | ||
| dry_run | No | ||
| selector | No | ||
| absolute_x | No | ||
| absolute_y | No | ||
| allow_locked | No | ||
| expected_sha256 | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses critical behaviors: distances are in millimeters regardless of the document's Units, and the write operation is gated by dry_run and expected_sha256. This is significant transparency for a mutation tool. It does not describe potential side effects on connectivity or locking, but the dry-run mechanism is substantial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, each with a distinct purpose: purpose, units, and dry-run workflow. It is front-loaded and contains no filler or redundant information. Every sentence contributes essential knowledge.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, the description omits critical invocation details: how to select target text (selector vs txid), the meaning of relative vs absolute coordinates, and the role of allow_locked. For a 10-parameter tool with no annotations, an agent cannot confidently use it correctly based on this description alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description only explains units (affecting dx/dy, absolute_x/y) and the dry_run/expected_sha256 relationship. It leaves selector, txid, path, allow_locked, and absolute vs relative coordinate semantics unexplained. With 10 parameters, this fails to compensate for the absence of schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the verb and resource: 'Move free board text or component markings in board coordinates.' It distinguishes from sibling tools like rotate_board_texts and move_components by specifying the object and coordinate context. The scope is precise and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear safety workflow: use dry_run=true to preview, then set dry_run=false only after inspecting the preview and passing expected_sha256. However, it does not mention alternatives or explicitly state when to use this tool over other movement tools, such as move_components. The usage context is implied but not contrasted.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
move_componentsA
Move one or more components transactionally. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.
| Name | Required | Description | Default |
|---|---|---|---|
| dx | No | ||
| dy | No | ||
| path | No | ||
| txid | No | ||
| dry_run | No | ||
| selector | No | ||
| grid_snap | No | ||
| absolute_x | No | ||
| absolute_y | No | ||
| allow_locked | No | ||
| expected_sha256 | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses important behavioral traits beyond the schema: transactional semantics, unit independence, the dry_run preview mode, and the requirement to pass expected_sha256 when committing. With no annotations, this description carries the full burden and does so well, though it omits some behaviors like handling of locked components.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences with no filler. It is front-loaded with the core purpose, followed by essential unit information and the safety workflow. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (11 parameters, transactional behavior, no annotations, and an output schema), the description covers the essential usage workflow and unit semantics, making it adequate for correct invocation. It does not explain all parameters or edge cases, but the critical safety-critical parts are addressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage, so the description must compensate. It clarifies that distance parameters (dx, dy, absolute_x, absolute_y) are in millimetres, and it explains the purpose of dry_run and expected_sha256. However, it leaves many parameters undocumented (e.g., selector, txid, path, allow_locked, grid_snap), so the compensation is only partial.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Move one or more components transactionally.' The verb 'move' plus the resource 'components' and the transactional qualifier make the purpose specific and distinguish it from sibling tools like rotate_components or set_component_side.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context on usage: all distances are in millimetres regardless of document units, and the dry_run workflow (preview first, then commit with expected_sha256) is explicit. However, it does not explicitly name alternative tools or state when not to use this tool, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
move_testpointsA
Move explicit standalone-pad testpoints transactionally. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.
| Name | Required | Description | Default |
|---|---|---|---|
| dx | No | ||
| dy | No | ||
| path | No | ||
| txid | No | ||
| dry_run | No | ||
| selector | No | ||
| grid_snap | No | ||
| absolute_x | No | ||
| absolute_y | No | ||
| allow_locked | No | ||
| expected_sha256 | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses transactional behavior, millimeter units independent of document settings, the non-destructive nature of dry_run, and the prerequisite for actually moving (preview inspection + expected_sha256). With no annotations provided, the description carries the full burden and covers key behaviors well, though it does not mention effects on locking or connectivity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, no fluff, front-loaded with the core action. Uses code formatting for parameters. The external schema reference is slightly redundant but does not detract. Efficient and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 11-parameter tool with no annotations and no schema descriptions, the description is not fully sufficient. It explains the dry_run safety flow and units but omits parameter interactions and selector semantics. The existence of an output schema helps, but parameter semantics remain under-specified for safe invocation without additional information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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. It adds meaning for distance-related parameters (dx, dy, absolute_x, absolute_y) via the global mm note, and for dry_run and expected_sha256 via the workflow. However, other parameters (path, txid, selector, grid_snap, allow_locked) remain undefined beyond their titles, leaving ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Move') and resource ('explicit standalone-pad testpoints'), clearly distinguishing it from sibling tools like add_testpoints/remove_testpoints and move_components. The scope is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides an explicit workflow: dry_run=true previews without writing, and dry_run=false should only be set after inspecting the preview and passing expected_sha256. Also clarifies that distances are in millimetres regardless of the document's Units. Does not explicitly name alternatives but gives clear context for when and how to use the tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
move_viaA
Move selected trace-point vias transactionally. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.
| Name | Required | Description | Default |
|---|---|---|---|
| dx | No | ||
| dy | No | ||
| path | No | ||
| txid | No | ||
| dry_run | No | ||
| selector | Yes | ||
| absolute_x | No | ||
| absolute_y | No | ||
| expected_sha256 | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full transparency burden. It discloses important behavioral traits: transactional execution, millimetre units regardless of document units, dry_run preview behavior, and the requirement to pass expected_sha256 before committing. It could further detail side effects or failure modes, but the provided information is substantial and non-tautological.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three focused sentences with front-loaded action, a unit clarification, and a safety workflow. Every sentence adds value; there is no filler or repetition of schema content. This is an appropriately concise yet informative description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description provides a strong operational workflow and key unit context, but given the complexity of the input schema (9 parameters, nested selector, coordinate options), it is not fully complete. The output schema exists, so return values don't need explanation, but several input parameters remain ambiguous without further documentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 9 parameters with 0% description coverage, so the description must compensate. It does clarify that dx/dy/absolute coordinates are in millimetres and explains the dry_run and expected_sha256 relationship. However, it leaves several parameters unexplained (selector, path, txid, absolute_x/absolute_y relative vs absolute semantics), which is a notable gap for correct invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Move selected trace-point vias transactionally.' It clearly differentiates from sibling tools like move_components by naming the target object type (trace-point vias) and adds operational context (transactional, distances in millimetres). This leaves no doubt about the tool's function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit usage guidance: use dry_run=true to preview without writing, and only set dry_run=false after inspecting the preview and supplying expected_sha256. It clearly communicates the intended workflow, though it does not explicitly discuss exclusions or alternatives (e.g., when to use move_components instead).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
place_builtin_componentA
Find an installed component by catalog id/name and place a private schematic copy. All distances are in millimetres, regardless of the document's own Units attribute. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.
| Name | Required | Description | Default |
|---|---|---|---|
| x | Yes | ||
| y | Yes | ||
| path | No | ||
| sheet | No | ||
| value | No | ||
| refdes | Yes | ||
| dry_run | No | ||
| angle_deg | No | ||
| component | Yes | ||
| diptrace_root | No | ||
| expected_sha256 | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses that `dry_run=true` does not write, and the requirement to pass `expected_sha256` implies a safety mechanism. It also states the operation creates a 'private schematic copy,' indicating non-destructive behavior on the original component. This is decent coverage, though it doesn't mention side effects like overwriting or needing permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loaded with the core purpose, and every sentence adds value: the first states action and scope, the second covers units and the dry_run workflow. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having 11 parameters and an output schema, the description is too sparse to fully guide invocation. It covers the essential workflow but leaves most parameter semantics undefined. An output schema may clarify return values, but the lack of parameter documentation makes the tool hard to use correctly without further external knowledge.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the description only meaningfully explains two of eleven parameters: `dry_run` and `expected_sha256`. It mentions 'catalog id/name' which maps to `component`, but leaves required params like `refdes`, `x`, `y` and optional ones like `path`, `sheet`, `value`, `angle_deg`, `diptrace_root` unexplained. The agent would have to infer or guess their meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Find an installed component by catalog id/name and place a private schematic copy.' It distinguishes it from sibling tools like place_part (generic placement) and library query tools by specifying it works with installed components and creates a private schematic copy.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit workflow guidance: use `dry_run=true` to preview without writing, then set `dry_run=false` only after inspecting the preview and passing the `expected_sha256`. It also clarifies that all distances are in millimeters regardless of document units. However, it does not explicitly compare with alternatives like place_part or set_component_pattern, so it's not a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
place_partA
Place a new schematic part referencing a library ComponentStyle. All distances are in millimetres, regardless of the document's own Units attribute. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.
| Name | Required | Description | Default |
|---|---|---|---|
| x | Yes | ||
| y | Yes | ||
| name | No | ||
| path | No | ||
| txid | No | ||
| sheet | No | ||
| value | No | ||
| refdes | Yes | ||
| dry_run | No | ||
| angle_deg | No | ||
| part_name | No | ||
| pin_count | Yes | ||
| part_number | No | ||
| part_refdes | No | ||
| component_part | No | ||
| component_style | Yes | ||
| expected_sha256 | No | ||
| allow_shared_refdes | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It reveals that all distances are in millimetres regardless of the document's Units attribute, and explains the dry_run preview versus actual write mechanism, including the expected_sha256 validation. This goes well beyond the schema but does not cover other behavioral aspects like permissions or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, each packed with essential information: purpose and unit override, then the safe dry_run-then-commit workflow. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (18 parameters, no annotations), the description covers the critical safety workflow but leaves many parameters unexplained and does not describe the preview output or what happens on validation failure. It is adequate for the core operation but incomplete for a full understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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. It adds meaning to x and y by stating they are in millimetres, and explains dry_run and expected_sha256 semantics. However, many other parameters (e.g., refdes, pin_count, component_part) are left to their names alone, leaving room for ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with 'Place a new schematic part referencing a library ComponentStyle,' which specifies a clear action (place), resource (new schematic part), and context (referencing a library ComponentStyle). This clearly distinguishes it from sibling tools like move_components or placement planning tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage guidance for the dry_run workflow: use dry_run=true for preview, then set dry_run=false only after inspecting the preview and passing its expected_sha256. It does not mention explicit exclusions or alternatives, but the workflow is actionable and clear for safe invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plan_component_placementC
Create a validated deterministic local component-placement plan. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs.
| Name | Required | Description | Default |
|---|---|---|---|
| grid | No | ||
| path | No | ||
| region | No | ||
| spacing | No | ||
| weights | No | ||
| selector | Yes | ||
| search_steps | No | ||
| allowed_sides | No | ||
| time_budget_ms | No | ||
| respect_keepouts | No | ||
| allowed_rotations | No | ||
| deterministic_seed | No | ||
| board_edge_clearance | No | ||
| max_candidates_per_component | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'validated deterministic' and 'local', and notes the millimeter unit override, but it does not disclose whether the tool mutates the design, what 'validated' means, or what 'local' scope entails. Significant behavioral aspects remain ambiguous, so transparency is inadequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is succinct with two sentences, and the primary purpose is front-loaded. However, it is under-specified for a tool with a complex input schema, making the brevity more of a deficiency than a virtue. It is concise in structure but not appropriately sized for the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has a complex input schema with 14 parameters and nested objects, but the description provides almost no contextual information. It lacks parameter semantics, usage scenarios, behavioral details, and any mention of the output despite the presence of an output schema. This description is far too sparse to adequately support an agent in using the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 14 parameters with 0% description coverage, and the tool description provides no parameter explanations. The millimeter unit note is the only hint that may relate to parameters like grid or spacing, but it does not clarify their meaning or usage. The description fails to compensate for the lack of schema descriptions, leaving the agent to guess at parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function with a specific verb and resource: 'Create a validated deterministic local component-placement plan.' It distinguishes this tool from siblings like 'apply_component_placement_plan' and 'generate_placement_candidates' by highlighting the 'local' scope and the plan-creation nature. This is more than sufficient for purpose clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide explicit guidance on when to use this tool versus alternatives, nor does it state prerequisites or exclusions. The only contextual note is about millimeter units, which is a practical detail but not a usage guideline. The existence of sibling tools implies a planning workflow, but the description leaves the agent to infer when this step is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plan_diff_pair_routeA
Plan a coupled route; omitted clearance comes from document DRC. Clearance resolution applies the maximum of explicit requested clearance, board DRC TraceToTrace defaults, and all affected NetClass LayProperty Clearance rules. The structured result includes clearance_rule_status and the effective value; this is not a full DipTrace DRC sign-off. All distances are in millimetres, regardless of the document's own Units attribute.
| Name | Required | Description | Default |
|---|---|---|---|
| gap | No | ||
| grid | No | ||
| pair | Yes | ||
| path | No | ||
| layer | Yes | ||
| width | No | ||
| max_vias | No | ||
| via_cost | No | ||
| clearance | No | ||
| via_style | No | ||
| max_detour | No | ||
| end_pad_point_id | No | ||
| preferred_layers | No | ||
| start_pad_point_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses how clearance is resolved (max of explicit, board DRC defaults, NetClass rules), reports the structured result includes clearance_rule_status and effective value, and clarifies units are always millimeters regardless of document settings. This is substantive but omits any side effects (e.g., whether the route is actually applied) and does not describe error cases.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, front-loaded with the core purpose, then adds necessary details about clearance resolution and output. It avoids redundancy but includes all key behavioral notes without excess.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is an output schema (so return values are partially covered externally), but the tool has 14 parameters and 0% schema description coverage. The description explains the clearance mechanism and output status but leaves many parameter semantics unexplained and provides no guidance on typical use cases or limitations relative to sibling routing tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage over 14 parameters. The description only hints at 'explicit requested clearance' (likely the clearance parameter) but does not explain gap, width, max_vias, via_cost, preferred_layers, or others. Since schema coverage is zero, the description must compensate but fails to do so for the majority of parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: planning a coupled (differential pair) route, and distinguishes it from routing tools like route_diff_pair by focusing on clearance resolution behavior. It also explicitly notes it is not a full DRC sign-off, which differentiates it from run_drc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description conveys the context (planning a coupled route with specific clearance resolution) but does not explicitly state when to use this tool over siblings like route_diff_pair or route_connection. It mentions limitations (not a full DRC) but no direct alternatives or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plan_route_netsB
Plan bounded routes; omitted clearance comes from document DRC. All distances are in millimetres, regardless of the document's own Units attribute.
| Name | Required | Description | Default |
|---|---|---|---|
| grid | No | ||
| nets | Yes | ||
| path | No | ||
| layer | Yes | ||
| width | Yes | ||
| max_vias | No | ||
| via_cost | No | ||
| clearance | No | ||
| via_style | No | ||
| preferred_layers | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden for behavioral disclosure. It adds two useful non-obvious traits: distances are always in millimeters regardless of document units, and omitted clearance is taken from the document DRC. However, it does not disclose whether the tool mutates the document, returns a plan, or has side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded, with two sentences that each add meaningful information. No filler or repetition of schema details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, the description is incomplete for a complex 10-parameter routing-plan tool. It leaves key behaviors (what 'bounded' means, side effects, prerequisites) and most parameter semantics unexplained, making it hard for an agent to use confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate but only offers a general unit rule and a fallback for clearance. It does not explain the meaning of required parameters (nets, layer, width) or optional ones like max_vias, via_cost, via_style, or preferred_layers.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The phrase 'Plan bounded routes' gives a specific verb ('plan') and resource ('routes'), and the tool name identifies nets as the target. It distinguishes from direct routing/execution siblings like 'route_net' and 'apply_route_plan', though the term 'bounded' is not defined.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus alternatives such as 'route_net' or 'plan_diff_pair_route'. The description implies a planning use case but does not state prerequisites, exclusions, or contrasting tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plan_schematic_placement_repairC
Plan placement repair and selective affected-net reroute; wired-safe, moves are fixed. All distances are in millimetres, regardless of the document's own Units attribute.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| moves | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses two behavioral facts: 'wired-safe' (likely non-destructive to wiring) and 'moves are fixed' (possibly meaning the planned moves are deterministic), and clarifies that distances are always in millimetres regardless of document units. However, it omits other behaviors such as whether the tool modifies state, requires a transaction, or returns a plan for later use.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is exceptionally brief—two sentences—and front-loads the core purpose. However, the first sentence is vague and the second sentence's mention of units is valuable but off-topic. No unnecessary filler; it earns its length but could be more informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has a complex input schema (nested moves array) and an output schema, the description does not explain what the plan output looks like or how it will be used. It also lacks any mention of side effects or state changes. The unit clarification is useful but does not compensate for the missing operational and return-value details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%—the tool description adds no parameter information. The schema itself includes descriptions for 'part', 'x_mm', and 'y_mm', but the description does not explain how the 'moves' array works or how 'path' relates to the planning context. Since description must compensate for low coverage, it fails to do so.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool 'plans placement repair and selective affected-net reroute', which identifies the general action and resource. However, it lacks a specific verb+resource structure and does not clarify what 'plan' entails (e.g., generating a plan for later application). It distinguishes from the sibling 'apply_schematic_placement_repair_plan' implicitly via the planning vs. applying contrast, but not explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as 'plan_component_placement' or 'apply_schematic_placement_repair_plan'. The description neither states prerequisites nor suggests exclusions. It only hints at a workflow ('plan' before 'apply') but does not make it explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plan_silkscreenB
Generate and persist a deterministic legal silkscreen placement plan. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs.
| Name | Required | Description | Default |
|---|---|---|---|
| grid | No | ||
| path | No | ||
| selector | No | ||
| clearance | No | ||
| search_steps | No | ||
| include_board_texts | No | ||
| board_edge_clearance | No | ||
| avoid_component_bodies | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden of disclosing side effects. It does state 'persist' (a write/lasting effect) and 'deterministic' (repeatable behavior), but it does not mention reversibility, permissions, modification of the design, or consequences for existing silkscreen plans. This is comparable to update_drive, which scored a 2 for similar gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, both information-dense and free of padding. The unit clarification is high-value and immediately relevant, and the description is front-loaded with the most important verb-object pairing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter mutation-style tool with no annotations, this is significantly under-specified. It doesn't mention what the plan contains, where it is persisted, how to retrieve or apply it, what 'legal' constraints are enforced, or the tool's relationship to apply_silkscreen_plan. The presence of an output schema helps return-value expectations, but the operation's side effects and preconditions remain opaque.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so each of the 8 parameters must be explained by the description. The only parameter-level hint is 'All distances are in millimetres', which clarifies grid, clearance, and board_edge_clearance, but leaves selector, path, search_steps, include_board_texts, and avoid_component_bodies entirely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses strong, specific verbs ('generate and persist') and a precise resource ('deterministic legal silkscreen placement plan'). It naturally differentiates from sibling tools by indicating it creates a plan rather than applying or checking one, and the word 'legal' adds domain-specific precision.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus close siblings like apply_silkscreen_plan, check_silkscreen, or run_silkscreen_check. No workflow context, prerequisites, or alternative-selection tips are given, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preview_transactionA
Store preview artifacts and return bounded metadata without changing the design.
| Name | Required | Description | Default |
|---|---|---|---|
| txid | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It reveals that the tool does not change the design, which is a key safety trait, but it leaves unclear what 'store preview artifacts' entails, whether an active transaction is required, or if there are side effects beyond storing metadata.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is front-loaded with the core action and includes the critical non-mutation guarantee. It contains no fluff and every word contributes to understanding the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema and a single simple parameter, the description is reasonably complete, but it does not explain the transaction lifecycle or how preview_transaction relates to sibling tools like begin_transaction, validate_transaction, or commit_transaction. The non-mutation guarantee is helpful, but the artifact storage semantics remain vague.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one required parameter, txid, and the description does not mention it at all, resulting in 0% schema description coverage. The description adds no meaning to the parameter, failing to explain how txid is used or why it is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool stores preview artifacts and returns bounded metadata, explicitly noting it does not change the design. This is a specific verb+resource combination that distinguishes it from mutation tools like commit_transaction or rollback_transaction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies a non-mutating preview use case through 'without changing the design,' but it does not explicitly name alternatives such as validate_transaction or begin_transaction, nor does it state when to use this tool over them. This is implied usage rather than explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_builtin_library_catalogA
Browse or search the installed DipTrace catalog without modifying native libraries.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | component | |
| limit | No | ||
| query | No | ||
| offset | No | ||
| diptrace_root | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden and does disclose the key behavior of not modifying native libraries. However, it does not clarify result behavior, pagination semantics, query matching rules, or any failure modes. It is minimally transparent but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler or redundancy. Every phrase earns its place: the action, the resource, and the key safety constraint.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The output schema may cover return structure, and the one-line description captures the core read-only query purpose, so basic invocation is possible. But the absence of parameter semantics, usage differentiation from sibling library tools, and any behavioral detail leaves the description only minimally complete for a catalog query tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description adds no direct meaning for the five parameters. 'Browse or search' loosely implies the role of the optional query parameter, but kind, limit, offset, and diptrace_root are entirely unexplained, leaving the agent to infer their semantics solely from names and schema constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action—'Browse or search the installed DipTrace catalog'—with a precise resource and scope. It also distinguishes itself from library-modifying tools by adding 'without modifying native libraries.' This is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies read-only usage for catalog browsing/searching but does not explain when to choose this tool over siblings like query_library_items, scan_component_libraries, or get_library_component. There is no explicit when-to-use or alternatives guidance, though the non-modifying qualifier provides a mild exclusionary hint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_library_itemsC
Query normalized components or patterns in a standalone library.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| limit | No | ||
| query | No | ||
| offset | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden. It discloses scope (standalone library, normalized components/patterns) but omits behavioral details such as return format, pagination implication (though params imply it), read-only nature, or any prerequisites. The minimal disclosure is insufficient for a tool with no other behavioral hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. Every word adds value, and it is appropriately sized for the information it conveys. It is concise without being under-specified to the point of uselessness (unlike a bare tautology).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Although an output schema exists (covering return values), the description lacks operational context. It does not explain what a 'standalone library' is, when to use this query over other library tools, or how parameters interact. For a 4-parameter tool with zero annotation coverage, this one-sentence description is not enough to ensure correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description provides no parameter information. Terms like 'path', 'limit', 'query', and 'offset' are self-explanatory in name alone, but the description does not add meaning beyond the schema titles. It fails to explain what 'path' points to or how 'query' matches items, leaving the agent to guess.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear action ('Query') and resource ('normalized components or patterns in a standalone library'). It distinguishes from sibling tools like get_library_pattern and get_library_component by indicating a query operation over a library rather than fetching a specific item. However, it does not explicitly contrast with scanning tools or mention filtering semantics, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus the many sibling library-related tools. It does not mention alternatives, exclusions, or scenarios where this is the preferred choice. The description simply describes what it does, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_objectsC
Structured query over the normalized model. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| limit | No | ||
| offset | No | ||
| sort_by | No | stable_id | |
| selector | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does add one valuable behavior: distances are always in millimetres regardless of document Units. However, it does not state whether the tool is read-only, describe pagination or sorting behavior, or note any side effects or permissions. The unit disclosure is useful but incomplete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short and front-loaded with purpose, followed by a critical units note. The final sentence about the input schema is largely redundant since the schema is already attached to the tool definition, but the overall size is appropriately minimal for a simple query tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 5 parameters, an output schema, and no annotations, the description is insufficiently complete. It does not explain the query selector structure, how path/limit/offset work, or what makes this distinct from list_* tools. The units note is the only contextual addition; much necessary context is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description provides no parameter semantics. The only reference is 'Input schema: diptrace://schemas/tool-inputs,' which merely points to the schema rather than explaining the meaning or usage of path, limit, offset, sort_by, or selector. This does not help the agent correctly populate parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool performs a 'structured query over the normalized model,' which identifies the general verb and resource, but lacks specificity about what types of objects are queried or how structured querying differs from simpler fetch tools like get_object or list_components. It is not a tautology, but the purpose remains vague and does not clearly distinguish from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives. There is no mention of preferred scenarios, prerequisites, or comparisons with sibling tools like query_library_items or list_nets. The context implied by 'structured query' is insufficient, so the agent receives no decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rank_schematic_placement_candidatesC
Rank schematic candidates with optional sourced engineering rules.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| engineering_rules | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description carries the full burden of behavioral disclosure. It only states that the tool ranks candidates with optional engineering rules, but does not indicate whether the operation is read-only, has side effects, requires specific permissions, or how the ranking is performed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact single sentence with no padding, concise. It front-loads the main action and resource. However, the phrase 'optional sourced engineering rules' is terse and somewhat ambiguous, so not a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the large sibling toolset and the existence of ambiguous tools like score_placement and plan_component_placement, the description is incomplete. It does not explain the relationship to candidate generation or how 'engineering rules' affect ranking, and the lack of observable output or behavioral details hurts ability to make a confident selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 0% and there are two parameters, but the description only mentions 'optional sourced engineering rules' in a vague way. It does not clarify the 'path' parameter or the structure and role of the engineering rules beyond the schema's own type description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'rank' and a clear resource 'schematic candidates', with the addition of optional 'sourced engineering rules' giving some extra scope. However, it does not explicitly distinguish this from sibling tools like score_placement or plan_component_placement, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance is provided. The description does not explain when this tool is preferred over related tools such as generate_placement_candidates, score_placement, or plan_component_placement, nor does it mention any prerequisites for surgical context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_xml_fragmentC
Read bounded XML fragments using ElementTree-compatible XPath.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| xpath | No | . | |
| max_matches | No | ||
| max_characters | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. The term 'bounded' hints at limits, but the description does not disclose return behavior, error cases, or explicitly confirm read-only semantics. The verb 'Read' implies no side effects, but this is not explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one sentence with no fluff, front-loading the core purpose. However, it is so brief that it sacrifices necessary detail, making it under-specified rather than ideally concise. Still, it earns points for zero waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and minimal schema descriptions, the description is under-specified for a 4-parameter tool. It omits what 'path' refers to, how 'bounded' limits are applied, the output format, and error behaviors. Even though an output schema exists, the description still needs to provide operational context, which it does not.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 0%, meaning the description must compensate. It only hints at 'bounded' (relating to max_matches/max_characters) and 'XPath' (relating to xpath), but it does not explain the purpose or format of path, xpath, max_matches, or max_characters. Parameter names are somewhat self-explanatory, but the description adds minimal value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Read' with the resource 'XML fragments' and specifies the method 'ElementTree-compatible XPath'. This clearly distinguishes it from sibling tools like apply_xml_edits (write operation) and query_objects (PCB objects), making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention when to prefer read_xml_fragment over other query tools like get_object or get_document_info, nor does it state any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recommend_patternsA
Rank compatible footprint patterns from a pattern library deterministically. All distances are in millimetres, regardless of the document's own Units attribute.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| limit | No | ||
| requirement | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the burden. It adds a concrete behavioral detail about units (millimetres regardless of document Units) and states determinism, which goes beyond the schema. However, it does not mention that it is read-only or any other side effects, but the operation is inherently non-mutating.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the primary purpose and a concise unit clarification. No wasted words, each sentence contributes value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of the requirement object (with many optional fields) and the lack of parameter descriptions, the description is minimally adequate. It does not explain how to formulate a requirement or what 'compatible' means, but since an output schema exists, return structure need not be explained. It could be improved with a brief note on the requirement's purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 0%, so the description must explain the parameters. It only mentions that distances are in millimetres, which applies to some parameters but does not explain the requirement object's fields or how to construct it. The parameter names are self-explanatory, but the description adds minimal value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states a specific verb ('Rank') and resource ('compatible footprint patterns from a pattern library'), with the added detail of deterministic ranking. This distinguishes it from siblings like scan_pattern_libraries and get_library_pattern.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies it is used when you need to rank patterns based on a requirement, but it does not explicitly mention when to use it over alternatives like query_library_items or scan_pattern_libraries, nor does it provide any exclusions or context for choosing it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
record_roundtrip_evidenceA
Write a user-supplied evidence manifest and provenance sidecar, not design bytes.
This explicitly writes metadata, returns written=true only after both files verify, remains authority=user_supplied, and can never grant high trust.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| evidence | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and reveals key behaviors: it writes metadata, returns written=true only after both files verify, preserves authority=user_supplied, and cannot grant high trust. It does not detail the sidecar format or filesystem effects, but the core side effects and safety limits are disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact, two sentences, with front-loaded purpose and no redundant phrasing. Each clause adds specific behavioral or trust information, earning a high score for efficiency and clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers trust, verification, and purpose, but leaves gaps around the mandatory 'path' parameter and how to construct the evidence object. The output schema may clarify return values, and the input schema has nested descriptions, but the top-level semantics remain under-specified, making the tool only moderately complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The top-level parameters 'path' and 'evidence' have no descriptions in the schema (coverage 0%). The description does not explain what 'path' is for or how to structure the 'evidence' object beyond vague references to 'evidence manifest' and 'both files.' Although nested schema definitions exist, the description fails to add meaningful parameter-level guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool writes an evidence manifest and provenance sidecar, explicitly refraining from design bytes. It distinguishes from siblings like validate_roundtrip_evidence by focusing on recording rather than validating, and from design-editing tools via the 'not design bytes' clause.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives useful context about when to use it: for user-supplied evidence, with a guarantee it never grants high trust. It does not explicitly name alternatives or exclusions, but the 'not design bytes' hints at separation from design modification tools, and the trust warning guides when not to rely on it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_testpointsA
Remove explicit standalone-pad testpoints and their net/pattern references. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| txid | No | ||
| dry_run | No | ||
| selector | No | ||
| allow_locked | No | ||
| expected_sha256 | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the dry-run preview behavior, the unit convention (millimetres regardless of document units), and the removal of net/pattern references. However, it does not mention how locked testpoints are handled, whether the operation is reversible, or any permission requirements. For a mutating tool, this is a notable gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: it states the primary action first, then adds the critical unit note and the dry-run safety workflow in two subsequent sentences. Every sentence provides necessary information without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has moderate complexity with six parameters and no annotations, but the description covers the essential safety workflow and unit behavior. However, it omits guidance on how to specify the target testpoints (selector, path, txid) and the allow_locked parameter. An output schema exists, so return values need not be explained, but parameter contexts are incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and no per-parameter descriptions are present in the input schema. The description explains dry_run and expected_sha256, but leaves path, txid, selector, and allow_locked unexplained. Since only two of six parameters are given context, the description does not adequately compensate for the schema's lack of descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Remove'), the resource ('explicit standalone-pad testpoints'), and the additional scope ('and their net/pattern references'). This distinguishes it from sibling tools like list_testpoints, add_testpoints, and move_testpoints, which perform other operations on testpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage guidance for the destructive workflow: use dry_run=true to preview, then set dry_run=false only after inspecting the preview and supplying expected_sha256. This is explicit safety guidance, though it does not discuss when to choose this tool over alternatives or mention prerequisites like selectors.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rename_netA
Rename selected PCB or schematic nets with duplicate-name protection. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| txid | No | ||
| dry_run | No | ||
| new_name | Yes | ||
| selector | No | ||
| expected_sha256 | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses dry-run behavior, the hash-verification requirement, duplicate-name protection, and the unit handling. However, it doesn't explain how duplicate-name protection resolves conflicts (reject vs. auto-suffix) or whether the operation is reversible, which would improve transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, front-loaded with the tool's purpose, and each sentence adds value: the rename action, the unit caveat, and the dry-run workflow. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the key workflow and refers to the input schema, but it omits parameter semantics for several fields and does not mention transaction context or whether both PCB and schematic are affected simultaneously. Given the output schema exists, return value details are not needed, but the tool is not fully complete for safe invocation without more parameter guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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. It explains dry_run and expected_sha256, but leaves selector, path, txid, and new_name largely unexplained. New_name is inferable from the tool name, but the others are not clear without schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool renames selected PCB or schematic nets and includes duplicate-name protection. This is a specific verb+resource+scope that distinguishes it from net-related siblings like list_nets, assign_nets_to_class, or add_net_label.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives concrete usage guidance: use dry_run=true to preview, then inspect the preview and pass its expected_sha256 before setting dry_run=false. It also warns about the millimeter unit caveat. It doesn't explicitly discuss when not to use the tool or alternatives, but the workflow is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
replace_traceA
Replace trace geometry while preserving both connected endpoints. All distances are in millimetres, regardless of the document's own Units attribute. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| txid | No | ||
| layer | Yes | ||
| width | Yes | ||
| points | Yes | ||
| dry_run | No | ||
| trace_id | Yes | ||
| clearance | No | ||
| expected_sha256 | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses important behavioral traits: unit handling (millimetres regardless of Units), dry_run safety mechanism, and the need to pass expected_sha256 for actual writes. This goes beyond basic schema info, though it doesn't detail side effects on connectivity or what happens if endpoints cannot be preserved.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences long and highly efficient. The first sentence states the core function and constraint, the second clarifies units, and the third describes the safe dry-run workflow. Every sentence provides essential information with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (9 parameters, mutation semantics, safety-critical workflow), the description provides a solid foundation. It explains the critical safe usage pattern and units. The presence of an output schema covers return values. Some details about purpose and prerequisites are implied rather than explicit, but the description is sufficient for an agent to select and invoke the tool correctly in most scenarios.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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. It adds meaning to dry_run and expected_sha256, and clarifies units for distance-related parameters. However, it does not explain parameters like path, txid, or clearance, which remain ambiguous despite their schema definitions. The names of trace_id, points, layer, and width are self-explanatory, but the overall compensation is only partial.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Replace trace geometry while preserving both connected endpoints.' This identifies a specific verb (replace) and resource (trace geometry), and the endpoint preservation constraint distinguishes it from related tools like add_trace, delete_trace, and set_trace_width.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage guidance: use dry_run=true to preview without writing, and only set dry_run=false after inspecting the preview and passing its expected_sha256. It also clarifies that distances are in millimetres regardless of the document's Units attribute. However, it does not explicitly contrast with alternative tools like add_trace or delete_trace, hence not a perfect 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
review_bomC
Review BOM identity, DNP and value/pattern/MPN consistency.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must explain behavioral traits. It only says 'Review' without clarifying whether it is read-only, what it returns, or how it handles missing or inconsistent BOM data. The output schema exists but the description does not enrich it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that starts with the verb 'Review' and avoids extraneous words. It is front-loaded and easy to parse, though it sacrifices necessary detail for brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, the description lacks essential context: the meaning of 'path', how this tool relates to run_bom_review, and what specific checks 'identity' and 'DNP' involve. Given the complexity of BOM reviews and the large sibling set, this is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one parameter 'path' with no description, and schema coverage is 0%. The description does not mention 'path' at all, leaving its meaning and format entirely unexplained. This is a critical gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action (Review) on a specific resource (BOM) and lists concrete aspects: identity, DNP, and value/pattern/MPN consistency. This makes the purpose understandable, though it does not differentiate from the sibling tool run_bom_review.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as run_bom_review or validate_mpn_consistency. No conditions, prerequisites, or exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
review_testpoint_coverageB
Measure explicit standalone-pad testpoint coverage for selected or all nets.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| target_nets | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of disclosing side effects and prerequisites. It only states the action, not whether it is read-only, whether it requires a live session, or any other behavioral traits. This is insufficient for a tool with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The entire description is a single focused sentence with no filler. It is maximally concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has an output schema, so return values are defined elsewhere. However, the description does not explain what 'explicit standalone-pad' means, nor the relation to testpoint candidates or the current design context. For a measurement tool with related siblings, this is a moderate gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description partially explains 'target_nets' via 'selected or all nets' but completely omits 'path'. Since schema description coverage is 0%, the description fails to compensate for the undocumented parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Measure') with a precise resource ('explicit standalone-pad testpoint coverage') and a clear scope ('selected or all nets'). This distinguishes it from related tools like list_testpoints and find_testpoint_candidates.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies usage when testpoint coverage needs to be quantified, but it does not name alternative tools or provide exclusion criteria. The scope clause ('selected or all nets') gives context for targeting, but no explicit when-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rollback_transactionC
Restore a transaction snapshot or backup.
| Name | Required | Description | Default |
|---|---|---|---|
| txid | Yes | ||
| expected_sha256 | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only says 'restore' without mentioning that this likely discards current changes, requires an active transaction, or that expected_sha256 is used for integrity verification. The destructive nature is inferred but not stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, short sentence that is front-loaded and contains no fluff. It is concise, but it sacrifices necessary detail for brevity, making it only slightly above average in structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is part of a clear transaction management lifecycle, yet the description does not explain how rollback fits into that flow, nor does it clarify the role of expected_sha256. Even with an output schema present, the absence of parameter semantics and usage guidance leaves the tool's complete behavior under-specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not compensate at all. It neither explains the meaning of 'txid' nor the purpose of 'expected_sha256'. The schema provides only parameter names, leaving the agent to guess the exact usage, especially for the optional hash parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Restore' with a clear resource 'transaction snapshot or backup', which distinguishes it from sibling transaction tools like commit, begin, and list. However, it is slightly ambiguous about what constitutes a snapshot/backup in the transaction context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives such as preview_transaction, validate_transaction, or abandon_live_session. The transaction lifecycle context is implied by the tool name, but no explicit conditions or prerequisites are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rotate_board_textsA
Rotate free board text or component markings. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | relative | |
| path | No | ||
| txid | No | ||
| dry_run | No | ||
| selector | No | ||
| angle_deg | Yes | ||
| allow_locked | No | ||
| expected_sha256 | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It explicitly explains that dry_run=true previews without writing and that expected_sha256 is required to confirm the preview, which reveals the tool's safety mechanism. It also discloses the unit behavior. However, it does not explain what happens to locked objects, how the selector works, or whether the operation is reversible, so it is not fully transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, front-loaded with the core purpose, and each sentence adds essential information. There is no fluff or repetition, and the structure is efficient and readable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the purpose, key workflow, and unit behavior, and an output schema exists so return values are not needed in the description. However, it lacks explanation of most parameters and does not mention any limitations or relationship to other tools. For a tool with 8 parameters and moderate complexity, this is a notable gap, so it is only minimally adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage, so the description must compensate, but it only explains dry_run and expected_sha256. It does not explain other parameters like mode (absolute vs relative), path, txid, selector, or allow_locked. While angle_deg is self-explanatory and dry_run/expected_sha256 are covered, the remaining parameters are left undocumented, making the description insufficient for this 8-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool rotates free board text or component markings, which is specific and distinguishes it from sibling tools like move_board_texts and rotate_components. The verb 'rotate' and resource 'board text or component markings' make the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage guidance by explaining the dry-run workflow: use dry_run=true to preview without writing, then set dry_run=false after inspecting the preview and passing its expected_sha256. This gives the user a safe procedure. It also notes that distances are in millimetres regardless of document units, which is an important practical detail. However, it does not mention when to choose this over alternatives or when not to use it, so it is not a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rotate_componentsA
Rotate selected PCB components or schematic parts transactionally. Component angle semantics have not yet been independently validated against a live DipTrace GUI edit and re-export. Inspect the transaction preview and verify the result through DipTrace before relying on rotation changes. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | relative | |
| path | No | ||
| txid | No | ||
| dry_run | No | ||
| selector | No | ||
| angle_deg | Yes | ||
| allow_locked | No | ||
| allowed_angles | No | ||
| expected_sha256 | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It explicitly discloses transactional behavior, dry-run preview semantics, the hash requirement, unit behavior, and the significant caveat that angle semantics have not been independently validated against a live DipTrace GUI edit and re-export.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized at four sentences and front-loads the core action and safety caveat. The note about millimetres is tangential to angle rotation but not bloated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The high-level transaction workflow, verification guidance, and output schema address return-value concerns. However, for a 9-parameter tool with no annotations, the description omits critical context around selector semantics, angle mode behavior, locked components, and allowed-angles validation, making it only minimally viable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds important meaning for dry_run and expected_sha256, but there are 9 parameters with 0% schema description coverage. It does not explain mode absolute/relative semantics, selector scope, allowed_angles, allow_locked, txid, or path, forcing the agent to infer too much from the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description opens with a specific verb and resource: 'Rotate selected PCB components or schematic parts transactionally.' This clearly differentiates rotation from sibling tools like rotate_board_texts or move_components.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear operational workflow: use dry_run=true to preview, verify through DipTrace, then set dry_run=false and pass expected_sha256. It does not explicitly exclude alternatives or state when not to use this tool, so it stops short of the full alternatives treatment.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
route_connectionA
Route one pad-to-pad connection with bounded deterministic 45-degree A*.
Omit clearance to use the applicable document DRC TraceToTrace rule. Clearance resolution applies the maximum of explicit requested clearance, board DRC TraceToTrace defaults, and all affected NetClass LayProperty Clearance rules. The structured result includes clearance_rule_status and the effective value; this is not a full DipTrace DRC sign-off. All distances are in millimetres, regardless of the document's own Units attribute. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.
| Name | Required | Description | Default |
|---|---|---|---|
| net | Yes | ||
| grid | No | ||
| path | No | ||
| txid | No | ||
| layer | Yes | ||
| width | Yes | ||
| dry_run | No | ||
| max_vias | No | ||
| via_cost | No | ||
| bend_cost | No | ||
| clearance | No | ||
| end_layer | No | ||
| max_nodes | No | ||
| via_style | No | ||
| max_detour | No | ||
| start_layer | No | ||
| end_object_id | Yes | ||
| time_budget_ms | No | ||
| expected_sha256 | No | ||
| start_object_id | Yes | ||
| preferred_layers | No | ||
| avoid_component_bodies | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and excels: it discloses the deterministic A* behavior, clearance resolution policy (max of explicit, DRC defaults, NetClass rules), the fact that results include clearance_rule_status and effective value (but not full DRC sign-off), the consistent use of millimeters regardless of document units, and the dry_run preview requirement. It also implicitly reveals mutation by stating 'previews without writing.'
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, tightly packed paragraph without redundancy. Every sentence adds value: purpose, clearance semantics, output details, unit behavior, and the dry_run safeguard. It is front-loaded with the core action and front-outlined, achieving high information density with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (22 parameters) and the existence of an output schema, the description provides essential behavioral context but leaves many parameters unexplained. It covers algorithm, clearance, units, and mutation workflow, but omits details on layer transitions, via behavior, and cost tuning. The output schema likely documents return values, but the parameter semantics gap prevents full completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must explain parameters, but it only touches on clearance (omit or explicit) and dry_run/expected_sha256 workflow. Many critical parameters (net, start_object_id, end_object_id, layer, width, grid, path, txid, max_vias, via_cost, bend_cost, end_layer, max_nodes, via_style, max_detour, start_layer, time_budget_ms, preferred_layers, avoid_component_bodies) are not explained, leaving the agent to infer meaning solely from names and defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Route one pad-to-pad connection with bounded deterministic 45-degree A*.' This specific verb+resource scope distinguishes it from siblings like route_net (multiple nets) or route_connections (batch), and the mention of the algorithm adds precision.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides workflow guidance, such as omitting clearance to use DRC rules, and the dry-run → expected_sha256 → commit sequence. However, it does not explicitly contrast with alternatives like route_connections or route_diff_pair, though the 'one pad-to-pad' phrasing implies the intended use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
route_connectionsA
Route multiple connections sequentially with bounded rip-up/retry. Clearance resolution applies the maximum of explicit requested clearance, board DRC TraceToTrace defaults, and all affected NetClass LayProperty Clearance rules. The structured result includes clearance_rule_status and the effective value; this is not a full DipTrace DRC sign-off. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| txid | No | ||
| dry_run | No | ||
| ordering | No | congestion_aware | |
| connections | Yes | ||
| ripup_retry | No | ||
| expected_sha256 | No | ||
| max_ripup_attempts | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does so strongly. It discloses the preview/write gate, hash confirmation requirement, bounded rip-up/retry, clearance rule resolution logic, non-DRC-sign-off limitation, and millimeter units regardless of document settings.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Six tight sentences, each adding distinct value: scope, clearance behavior, result caveat, units, schema pointer, and safety workflow. The core action is front-loaded, with no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity and that an output schema exists, the description covers the critical operational context: dry-run safety, expected_sha256, clearance rule behavior, and unit normalization. It could be more complete by explaining the ordering and connections parameters, but the overall context is strong.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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. It explains dry_run, expected_sha256, and implies max_ripup_attempts via 'bounded rip-up/retry,' but it leaves path, txid, ordering, connections, and ripup_retry semantically unexplained. The external schema reference helps structure but does not convey meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Route multiple connections sequentially with bounded rip-up/retry.' This clearly distinguishes it from singular tools like route_connection and route_net by emphasizing multi-connection sequential scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear workflow guidance: dry_run=true previews without writing, and dry_run=false should only be used after inspecting the preview and passing its expected_sha256. It does not explicitly name alternatives or when-not conditions, but the usage context is well defined.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
route_diff_pairA
Route a coupled pair; omitted clearance comes from document DRC. Clearance resolution applies the maximum of explicit requested clearance, board DRC TraceToTrace defaults, and all affected NetClass LayProperty Clearance rules. The structured result includes clearance_rule_status and the effective value; this is not a full DipTrace DRC sign-off. All distances are in millimetres, regardless of the document's own Units attribute. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.
| Name | Required | Description | Default |
|---|---|---|---|
| gap | No | ||
| grid | No | ||
| pair | Yes | ||
| path | No | ||
| txid | No | ||
| layer | Yes | ||
| width | No | ||
| dry_run | No | ||
| max_vias | No | ||
| via_cost | No | ||
| clearance | No | ||
| via_style | No | ||
| max_detour | No | ||
| expected_sha256 | No | ||
| end_pad_point_id | No | ||
| preferred_layers | No | ||
| start_pad_point_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral burden and does so thoroughly. It discloses clearance precedence rules, unit behavior independent of document settings, preview-vs-write semantics, expected_sha256 requirement, and that the result is not a full DRC sign-off.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but every sentence earns its place: the core action, clearance rule, result caveat, unit caveat, and safety workflow. No redundant or filler content is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity and the presence of an output schema, the description covers the most critical operational details: clearance resolution, unit handling, dry-run workflow, and result limitations. It does not explain every parameter or interaction with transaction tools, but it is sufficient for safe invocation in most cases.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description explains important parameters such as clearance, dry_run, and expected_sha256, adding meaningful semantics beyond the raw schema. However, schema description coverage is 0% and there are 17 parameters; many parameters like txid, path, max_detour, via_cost, and pad point IDs remain undocumented, leaving significant gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and object: 'Route a coupled pair', which clearly identifies the action and target. It also distinguishes itself from siblings like plan_diff_pair_route or validate_differential_pair by focusing on actual routing rather than planning or validation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The dry-run-to-commit workflow is explicit: preview with dry_run=true, inspect the result, then set dry_run=false and pass expected_sha256. It does not explicitly mention alternatives or exclusion criteria, but the preview/write guidance gives clear context for safe usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
route_netA
Route exported ratlines; omitted clearance comes from document DRC. Clearance resolution applies the maximum of explicit requested clearance, board DRC TraceToTrace defaults, and all affected NetClass LayProperty Clearance rules. The structured result includes clearance_rule_status and the effective value; this is not a full DipTrace DRC sign-off. All distances are in millimetres, regardless of the document's own Units attribute. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.
| Name | Required | Description | Default |
|---|---|---|---|
| net | Yes | ||
| grid | No | ||
| path | No | ||
| txid | No | ||
| layer | Yes | ||
| width | Yes | ||
| dry_run | No | ||
| max_vias | No | ||
| via_cost | No | ||
| clearance | No | ||
| via_style | No | ||
| expected_sha256 | No | ||
| preferred_layers | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does so well: it discloses the clearance resolution algorithm, the clearance_rule_status result, the limitation of not being a full DRC sign-off, the millimeter-unit rule regardless of document Units, and the dry-run/no-write plus expected_sha256 safeguard. This is strong behavioral disclosure for a mutating routing tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description starts with the main action and each sentence carries operational meaning; the clearance explanation is dense but warranted. A few clearance details could be compressed, but overall it is front-loaded and appropriately sized for a complex routing tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 13-parameter routing tool with no annotations and no schema descriptions, the description covers safety, units, clearance behavior, and result caveats well; the output schema exists so return values need not be enumerated. It is less complete on alternative-tool selection and ambiguous parameters like path and txid.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds real meaning for clearance ('explicit requested clearance' vs board DRC defaults), dry_run, expected_sha256, and the millimeter rule that applies to numeric parameters. However, schema description coverage is 0% and the description leaves path, txid, max_vias, via_cost, via_style, and preferred_layers unexplained, so compensation is only partial.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening 'Route exported ratlines' names a specific operation and target, and the rest of the description focuses on routing behavior. It does not explicitly contrast with siblings like route_connection or route_diff_pair, so differentiation is left mostly to the term 'ratlines'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear workflow: use dry_run=true to preview, inspect the preview, then set dry_run=false with expected_sha256; it also clarifies how omitted clearance is resolved. It does not explicitly state when to prefer this over route_connection/route_connections/plan_route_nets or list exclusions, so it lacks explicit alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_assembly_reviewD
Assembly review profile.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for disclosing behavior, side effects, or return values. It says nothing about what happens when the tool is invoked, what the output contains, or any safety implications.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short, but this is under-specification rather than conciseness. It reads as a fragment rather than a purposeful, informative sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the existence of an output schema, a path parameter, and many sibling review tools, the description is completely inadequate. It explains neither the review process, the expected input format, nor the output structure, leaving the agent entirely in the dark.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single 'path' parameter is undocumented in both the schema and the description. Schema description coverage is 0%, and the description does not mention the parameter at all, offering no semantic context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Assembly review profile' is a vague noun phrase that does not clearly state an action. It hints at assembly review but fails to specify what the tool actually does (runs a review? loads a profile?). It barely distinguishes from the many sibling review tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives like run_bom_review or run_thermal_review. No context, prerequisites, or exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_board_reviewC
Complete registered PCB review profile.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden but provides only a cryptic phrase. It doesn't disclose whether the tool is read-only, mutates state (e.g., 'completing' a profile), or has side effects. The absence of behavioral detail is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, but its brevity stems from under-specification rather than efficient concision. It conveys minimal actionable information and isn't structured to aid comprehension, so it doesn't earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool amidst many review variants, with no annotations and an obscure parameter, the description is critically incomplete. An output schema exists, but the description doesn't explain what the review profile is, what inputs are expected, or what results to anticipate, leaving the tool poorly defined.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one optional parameter 'path' with no description (0% coverage). The tool description doesn't mention the parameter or explain its purpose, format, or default behavior. The agent has no way to know what to pass, making parameter semantics essentially absent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Complete registered PCB review profile' is ambiguous: 'complete' could mean finish or comprehensive, and it doesn't clearly state what the tool does. It names a PCB review resource but fails to differentiate from sibling tools like run_thermal_review or run_bom_review, making the purpose vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives. The sibling list includes many similar review tools, but the description provides no context, prerequisites, or exclusions, leaving the agent without direction on selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_bom_reviewD
BOM review profile.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure, but it says nothing about side effects, permissions, return values, or whether it modifies state. This is a complete lack of transparency for what appears to be an execution tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
While the description is extremely short, it is under-specified to the point of uselessness. It is a fragment rather than a functional description, and brevity here sacrifices all meaning, making this more than just concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, the description gives no indication of what the tool returns or how it fits into a workflow. With many BOM-related sibling tools, this description fails to position the tool's role or provide any operational context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one optional parameter 'path' with 0% description coverage, and the description does not explain its meaning or format. The agent is left to guess whether 'path' refers to a file path, object path, or something else, with no help from the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'BOM review profile' is a noun phrase that essentially restates the tool name without a clear verb or action. It doesn't specify what running a BOM review entails or distinguish it from siblings like review_bom or compare_bom_to_design.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, intended use cases, or exclusions. The description offers no actionable context for selecting this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_component_clearance_checkD
Placement-clearance review profile.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for disclosing behavior. It fails to mention side effects, return value, read-only versus mutating behavior, or any impact on the system. The term 'profile' is ambiguous and does not clarify whether this runs a check or returns static information.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short, which could be good for conciseness, but it is under-specified to the point of being unhelpful. It lacks the necessary content to be actionable, making it more of a placeholder than a concise description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, the description does not explain the tool's core purpose or behavior. For a tool with no annotations and minimal parameters, the description should provide substantial context but instead offers almost none. This is critically incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one parameter 'path' with zero description coverage, and the description does not mention it at all. There is no explanation of what path refers to, how it affects the operation, or expected format. The description completely fails to compensate for the lack of schema documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Placement-clearance review profile' is vague and lacks a clear verb. It does not state what the tool actually does (e.g., runs, checks, generates). It merely rephrases the tool name without adding meaningful action or resource detail, and does not distinguish it from sibling review tools like run_thermal_review.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. No context, conditions, or exclusions are provided. The description gives no hints about appropriate scenarios or prerequisites, leaving the agent without any basis for tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_connectivity_checkD
Connectivity review profile.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavior. 'Connectivity review profile' gives no indication of what the tool does, side effects, permissions required, or return value structure. The output schema exists but is not explained in the description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short, but this is under-specification rather than conciseness. It uses only three words and conveys no actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema and sibling review tools, the description offers essentially no context. It is unclear what a 'connectivity review profile' is, how it relates to connectivity checks, or what the optional path parameter does.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one optional parameter 'path' with no description, and the tool description does not mention or explain it. With 0% schema description coverage, the description fails entirely to clarify parameter purpose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Connectivity review profile' restates the tool's focus on connectivity but fails to state what the tool does (e.g., runs a check, produces a report). It does not distinguish from sibling review tools like run_testability_review or run_thermal_review.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of preconditions, use cases, or competing tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_drcD
PCB placement, connectivity and clearance profile.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description must carry the full burden of behavioral transparency. It provides no details about what the tool does, what inputs are expected, whether it performs destructive operations, or what the output looks like. The description is essentially a noun phrase with no behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short but lacks essential information, making it under-specified rather than concise. While it is a single phrase, it omits critical details such as the verb and parameter context. This is closer to 'Process' (score 2) than to a well-structured, concise description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is run_drc with no annotations and a single undocumented parameter. The description provides no context about when to run DRC, what the path argument refers to, or what the output schema contains. Even though an output schema exists, the description is too incomplete to help an agent select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one parameter 'path' with no description, and schema description coverage is 0%. The tool description does not mention the 'path' parameter at all, so it adds no semantic value beyond the schema. With only 0% coverage, the description completely fails to compensate for undocumented parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'PCB placement, connectivity and clearance profile' lacks a clear verb, making it ambiguous whether the tool performs a check or returns a profile. It names three design aspects but does not explicitly state that it runs a DRC, so it is not tautological but is still vague and does not distinguish from sibling tools like run_connectivity_check or run_component_clearance_check.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. With many sibling tools performing similar checks (e.g., run_connectivity_check, run_component_clearance_check), the description offers no context for selection. This is a complete absence of usage guidance, not misinformation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_ercD
Schematic connectivity and metadata profile.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing side effects and behavior. It merely states a 'profile' without explaining what this entails (e.g., whether it mutates the design, runs analyses, or just reports). This is insufficient for an agent to understand side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short, which is efficient, but it is under-specified. A single vague phrase is not conciseness; it's a tautological placeholder that fails to provide necessary information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that there is an output schema and a complex domain (ERCs, connectivity, metadata), the description is completely inadequate. It provides no context about what the tool returns, what the inputs influence, or how it fits into the broader workflow.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain the 'path' parameter beyond the schema's 'string or null'. It adds no meaning about what path should be, why it's optional, or how it affects the profile.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Schematic connectivity and metadata profile' is vague and does not clearly state a specific action like 'runs an electrical rule check'. It uses a noun phrase without a clear verb+resource, and it does not distinguish from siblings such as run_connectivity_check or get_connectivity_graph.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, typical scenarios, or exclusions relative to other sibling tools like run_drc or run_connectivity_check.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_external_autorouterB
Start an isolated bounded Freerouting CLI job; never invokes a shell.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| threads | No | ||
| dsn_path | No | ||
| dsn_job_id | No | ||
| max_passes | No | ||
| timeout_seconds | No | ||
| ignore_net_classes | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavioral traits. It adds valuable safety context by stating the job is isolated, bounded, and never invokes a shell. However, it does not explain whether the job runs asynchronously, how results are returned, or any side effects, leaving significant behavioral gaps for such an external-process tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that conveys the core purpose and a key safety trait without redundancy. Every word contributes meaning, making it highly concise and front-loaded. This is an exemplary model of brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of running an external autorouter with 7 parameters and no parameter descriptions or annotations, the description is incomplete. It does not cover job lifecycle, input requirements, return semantics, or dependencies on other tools. The existing output schema may help, but the description alone is insufficient for correct invocation in varied contexts.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description provides no parameter-level semantics. None of the 7 parameters (path, threads, dsn_path, timeout_seconds, etc.) are explained in the description, so the agent must rely solely on parameter names and defaults. This is a critical deficiency for a tool with this many undocumented parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool starts an isolated, bounded Freerouting CLI job, using a specific verb and resource. It distinguishes itself from sibling tools like route_net or export_autorouter_dsn by emphasizing the external CLI nature and the isolation/bounding guarantees. The safety note about not invoking a shell further clarifies its scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance is provided on when to use this tool versus alternatives. It does not mention use cases, prerequisites, or exclusions, leaving the agent to infer when running an external autorouter is appropriate. The absence of any comparative direction makes this dimension weak.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_manufacturing_geometry_checkD
Manufacturing-geometry review profile.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of explaining behavior. The word 'profile' is ambiguous and does not disclose whether the tool runs a check, mutates state, requires an open document, or returns findings. It adds no behavioral detail beyond the name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short, but this is under-specification rather than effective conciseness. It is a fragment that does not earn its place because it communicates almost no usable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, the description is inadequate for a review tool among many similar tools. It does not explain the tool's scope, what 'manufacturing-geometry review' entails, whether a path is required, or what the returned profile contains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one optional `path` parameter with 0% description coverage, and the description does not mention the parameter at all. An agent gets no help understanding what path to provide or why it is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a noun phrase, 'Manufacturing-geometry review profile,' which restates the tool's domain but does not say what the tool actually does, what it checks, or what output it produces. It does not distinguish this tool from siblings like run_manufacturing_review or run_drc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as run_manufacturing_review, run_drc, or run_silkscreen_check. The description provides no context, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_manufacturing_reviewD
Manufacturing review profile.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description offers no behavioral context—it does not disclose whether the tool performs read-only analysis, mutates state, runs a long job, or returns findings. The name implies a review, but the description says nothing about what happens when invoked.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, but this is under-specification rather than conciseness. The phrase 'Manufacturing review profile' is vague and does not earn its place since it conveys no actionable information beyond the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with an unknown output schema and many sibling review tools, the description provides no context about expected inputs, outputs, or its role in the broader manufacturing review workflow. An agent cannot reliably select or invoke this tool based on the available information.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one optional 'path' parameter with no description in the schema, and the description does not mention it at all. With 0% schema description coverage and zero compensation, an agent cannot infer the meaning or format of the parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Manufacturing review profile' is a noun phrase that merely restates the tool name without specifying an action or outcome. It does not distinguish this tool from sibling review tools like run_thermal_review or run_assembly_review.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, typical scenarios, or exclusions, leaving the agent without any direction for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_ngspice_simulationB
Run a user-supplied ngspice netlist in batch mode (requires DIPTRACE_MCP_NGSPICE).
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| netlist | No | ||
| netlist_path | No | ||
| timeout_seconds | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the disclosure burden. It only discloses that execution is in batch mode and requires an environment variable. It does not mention side effects, output behavior, runtime expectations, or error scenarios, which is minimal for a simulation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no redundancy. It effectively front-loads the core purpose, but its brevity leaves out important parameter and context details. It earns points for efficiency, though not perfect for information completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given four nullable parameters and zero schema descriptions, the description does not provide enough context for correct usage. The presence of an output schema reduces the need to explain return values, but the input semantics are critically under-specified, making the tool hard to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, yet the description adds no explanation of the four parameters (path, netlist, netlist_path, timeout_seconds). It fails to clarify whether these are alternatives, how they relate, or expected formats, leaving the agent without guidance beyond parameter names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function with a specific verb ('Run'), a distinct resource ('ngspice netlist'), and a mode ('batch mode'). It distinguishes this tool from siblings like run_openems_stripline_analysis by targeting ngspice specifically, and the prerequisite clause adds further scoping.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by mentioning 'user-supplied netlist' and the DIPTRACE_MCP_NGSPICE requirement, which is a precondition. However, it does not explicitly state when to choose this tool over alternatives or provide when-not-to-use guidance, leaving the usage context partially implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_openems_stripline_analysisC
Run configured openEMS stripline analysis with a typed frequency sweep. All distances are in millimetres, regardless of the document's own Units attribute.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| width_mm | Yes | ||
| frequencies_hz | Yes | ||
| timeout_seconds | No | ||
| trace_length_mm | No | ||
| port_impedance_ohm | No | ||
| copper_thickness_mm | Yes | ||
| dielectric_constant | Yes | ||
| dielectric_loss_tangent | No | ||
| mesh_cells_per_wavelength | No | ||
| lower_dielectric_height_mm | Yes | ||
| upper_dielectric_height_mm | Yes | ||
| conductor_conductivity_s_per_m | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for disclosing behavioral traits. It adds one key caveat (all distances in mm regardless of document units) but omits critical details such as whether the tool modifies the document, requires a configured setup, or is long-running. The term 'configured' is vague and unexplained, leaving significant behavioral ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, with two sentences that front-load the main purpose and immediately follow with a critical unit caveat. Every sentence adds value with no redundant text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, the description is incomplete for a 13-parameter simulation tool. It fails to explain what 'configured' means, whether a document must be open, or how this differs from other impedance/analysis tools. The absence of usage guidance and parameter details makes it insufficiently complete for reliable selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides no parameter descriptions (0% coverage), so the description must compensate. It only specifies that all distance parameters are in millimetres, which helps with units but does not explain the meaning of parameters like lower_dielectric_height_mm, dielectric_constant, or frequencies_hz. Most parameters rely on self-explanatory names, but the lack of detail for optional parameters prevents a higher score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool runs an openEMS stripline analysis with a user-specified frequency sweep, using a specific verb and resource. It doesn't explicitly name alternative tools, but the scope (stripline analysis) distinguishes it from general simulation or impedance calculation tools, though some ambiguity remains with similar analysis tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives like calculate_impedance or analyze_controlled_impedance. The description does not mention conditions, prerequisites, or exclusions, leaving the agent to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_schematic_reviewC
Complete registered schematic review profile.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing behavior. It does not state whether the tool reads, mutates, requires a live session, or returns a report. 'Complete' could imply a state change, but that is speculative, leaving the agent without critical safety or side-effect information.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, so it is concise, but this is under-specification rather than effective conciseness. It omits necessary context and does not earn its place by providing actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has one optional parameter and an output schema, but the description gives no information about the purpose, behavior, or when to use it. Even with the output schema existing, the description is inadequate for an agent to select and invoke the tool correctly. The sibling list shows many review tools, but this description does not clarify its unique role.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter, 'path', which is optional. The schema provides no description (0% coverage), and the tool description does not mention the parameter at all. The name 'path' offers some intuition, but the description adds no semantic value, failing to compensate for the schema gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Complete registered schematic review profile' names a specific resource and an action, but 'complete' is vague. It implies running a review, yet it doesn't explicitly state that the tool executes a schematic review. It is neither a tautology nor fully clear, and it does not differentiate from sibling review tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives like run_testability_review or run_thermal_review. The word 'registered' hints at a prerequisite but does not explain it, offering no explicit or implicit usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_silkscreen_checkD
Silkscreen review profile.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses no behavioral traits, side effects, or what the tool actually does during a silkscreen review, such as whether it modifies the design or just reports findings.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
At only four words, the description is not an example of appropriate conciseness but of severe under-specification. Every word is wasted because it fails to convey any useful information about the tool's behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations and an output schema, the description should explain what the check does, what inputs it accepts, and what the output represents. None of this is present, making the description wholly inadequate for safe invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema contains one optional 'path' parameter with no description, and schema coverage is 0%. The description does not mention 'path' at all, so there is no added meaning about what path should point to, whether it is required for certain inputs, or what format is expected.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Silkscreen review profile.' lacks a verb and does not clearly state that the tool runs a silkscreen check. It essentially restates the tool name using a synonym ('review' vs 'check') and adds the ambiguous noun 'profile', offering no specific purpose. This fails to distinguish from numerous sibling review tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives like run_thermal_review or check_silkscreen. The description does not mention any context, prerequisites, or exclusions, leaving the agent without criteria for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_testability_reviewD
Testability review profile.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavioral traits. It does not mention what the tool does (e.g., runs checks, generates reports), whether it has side effects, requires specific permissions, or how results are returned. This is a complete absence of behavioral transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely brief (single fragment), but brevity here is under-specification rather than efficient conciseness. It lacks even a full sentence to convey the tool's purpose, making it too minimal to be useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool among many review siblings with one parameter and no annotations, the description provides almost no context. It fails to explain what testability review entails, how it differs from other reviews, or what the input path is for, making it completely inadequate for an agent to select and invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one optional 'path' parameter with zero description coverage in the schema and no explanation in the tool description. The description does not clarify what 'path' refers to (e.g., file path, design path, project directory), leaving the agent unable to correctly set the parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description "Testability review profile." is a fragment that essentially restates the tool name without specifying an action. It does not clearly state that the tool performs a testability review or any specific verb+resource relationship, making it nearly tautological.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus other review tools like run_thermal_review or run_manufacturing_review. The description neither suggests appropriate contexts nor rules out alternatives, leaving the agent without decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_thermal_reviewD
Thermal-metadata review profile.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full responsibility for disclosing behavior. It only calls the tool a 'profile,' giving no information about side effects, return values, or operational consequences.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
While extremely short, this is under-specification rather than conciseness. The single sentence adds no meaningful information beyond the tool name and does not earn its place in terms of usefulness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, the description is too vague to enable correct selection or invocation. It lacks any indication of what the tool does, how to use it, or what output to expect, making it incomplete even for a simple one-parameter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'path' is completely undocumented in the schema (0% coverage), and the description offers no explanation of its meaning or usage. The description fails to compensate for the lack of schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Thermal-metadata review profile' is a noun phrase with no explicit verb, making it unclear that the tool performs a review action. It vaguely references thermal metadata but doesn't clearly state what the tool does, and it doesn't distinguish itself from sibling review tools beyond the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like run_testability_review or run_bom_review. There is no mention of context, prerequisites, or intended input.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scan_component_librariesB
Find standalone DipTrace Component Library XML files inside allowed roots.
| Name | Required | Description | Default |
|---|---|---|---|
| root | No | ||
| recursive | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears the full burden of behavioral disclosure. It reveals that the scan is limited to 'standalone' files and 'allowed roots', which is useful context. However, it does not state that it is read-only, describe side effects, or explain behavior when no files are found. The term 'find' implies non-destructive scanning, but this is not explicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is front-loaded with the action and resource. Every word contributes meaning; there is no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity, the description covers the core purpose but omits usage alternatives and parameter details. The output schema likely handles return information, so that gap is acceptable. However, the lack of annotations and explicit usage guidance leaves moderate gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, so the description must compensate. It indirectly references the 'root' parameter via 'allowed roots' but provides no meaning for 'recursive'. The parameter names and defaults in the schema are self-explanatory, but the description adds little beyond that.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Find') and a clear resource ('standalone DipTrace Component Library XML files') with a scope ('inside allowed roots'). This clearly distinguishes it from sibling tools like scan_pattern_libraries and scan_diptrace_documents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives. It does not mention any exclusions or when a different scanner (e.g., scan_pattern_libraries) would be more appropriate. Context like 'allowed roots' hints at constraints but does not aid in tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scan_diptrace_documentsC
Find DipTrace XML/native-XML documents inside an allowed directory.
| Name | Required | Description | Default |
|---|---|---|---|
| root | No | ||
| recursive | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavioral traits. It does not explain what 'allowed directory' means, how recursion works, whether root is required, or any permission constraints. The description lacks details on return behavior or side effects, leaving the agent to guess.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no wasted words. It clearly communicates the core action and object. However, it could be slightly improved by incorporating parameter hints or usage context without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with two optional parameters and no annotations, the description is underspecified. It does not explain default behaviors, how the 'allowed directory' is determined, or what happens when recursion is disabled. Even though an output schema exists, the description should still provide enough context for agent invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage, and the description does not mention the 'root' or 'recursive' parameters at all. It fails to compensate for the missing schema documentation, leaving parameter semantics entirely to the agent's interpretation of parameter names and defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: find DipTrace XML/native-XML documents within an allowed directory. This specific verb-resource pairing distinguishes it from sibling scanning tools like scan_component_libraries and scan_pattern_libraries, which target libraries rather than documents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. It does not mention any prerequisites, exclusions, or alternative tools that might be more appropriate for other scanning tasks. The description simply states what it does without contextualizing its usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scan_pattern_librariesB
Find standalone DipTrace Pattern Library XML files inside allowed roots.
| Name | Required | Description | Default |
|---|---|---|---|
| root | No | ||
| recursive | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description only mentions 'allowed roots' without explaining what that means, what restrictions apply, or whether the operation is read-only. It does not disclose return behavior, side effects, or dependencies, leaving significant behavioral uncertainty.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler. It efficiently communicates the core purpose without redundancy, successfully earning its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 0% schema description coverage, no annotations, and a vague reference to 'allowed roots', the description is insufficient for an agent to use the tool correctly. It lacks context about parameter behavior, constraints, and expected output, even though an output schema exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero description coverage, and the description does not mention the 'root' or 'recursive' parameters at all. It fails to explain how these parameters influence the scan, making it impossible for an agent to understand their semantics from the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Find' with a clear resource ('standalone DipTrace Pattern Library XML files') and scope ('inside allowed roots'), making it distinct from siblings like scan_component_libraries and scan_diptrace_documents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives context about scanning pattern library files but provides no explicit when-to-use guidance or mention of alternatives. It implies usage based on the resource type, but does not state exclusions or direct users to sibling tools for components or documents.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
score_placementA
Score an explicit component placement proposal without editing XML. All distances are in millimetres, regardless of the document's own Units attribute.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| spacing | No | ||
| weights | No | ||
| placements | Yes | ||
| board_edge_clearance | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral transparency burden. It explicitly states that distances are in millimetres regardless of the document's Units attribute, which is a key behavioral detail. It also indicates non-mutation with 'without editing XML'. However, it does not disclose return value semantics (though output schema exists) or potential side effects, leaving some gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences. The first conveys the main purpose, and the second adds a critical unit caveat. There is no fluff, repetition, or unnecessary detail. It is well-structured and immediately front-loads the purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 5 parameters, no annotations, but an output schema. The description explains the core function and the unit caveat. However, it lacks parameter semantics, particularly for 'weights' and 'spacing', and does not position the tool relative to the many placement-related siblings. Given the output schema covers return values, this is a minimally acceptable completeness but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 0% for top-level parameters. The description only clarifies that all distances are in millimetres, which helps with x/y and possibly spacing/board_edge_clearance. It does not explain the meaning or usage of 'weights', 'path', 'spacing', or 'board_edge_clearance'. The nested schema provides structure for placements, but the description compensates poorly for the low schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'score' and identifies the resource as 'an explicit component placement proposal'. The phrase 'without editing XML' clearly distinguishes this tool from editing tools like apply_component_placement_plan, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context that this tool is for evaluating (scoring) a placement proposal without modifying files. It implicitly excludes editing use cases. While it does not name alternative tools, the 'without editing XML' clause offers a clear boundary. No explicit exclusions or alternatives are given, but the context is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_component_fieldsA
Custom-field-only component update. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| txid | No | ||
| fields | Yes | ||
| dry_run | No | ||
| selector | No | ||
| allow_locked | No | ||
| expected_sha256 | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully carries the burden of behavioral disclosure. It reveals critical traits: distances are in millimetres regardless of document Units, dry_run=true previews without writing, and dry_run=false requires the expected_sha256 from the preview. This covers the most important behavioral nuances (safety workflow and unit semantics), which are not otherwise inferable from the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three concise sentences, each serving a distinct purpose: scope, unit clarification, and safe usage workflow. It is front-loaded with the tool's main purpose, references the input schema for structural details, and wastes no words. Excellent structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has seven parameters, nested objects, and an output schema. The description covers the tool's core behavior and the crucial dry-run/hash workflow, which is essential for safe use. It is not fully comprehensive—missing details on how to select the target component and what allow_locked does—but it is sufficient for understanding the tool's primary flow. The output schema suggests return values are documented elsewhere, so the description does not need to cover them.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema definition coverage is 0%, so the description must compensate. It explains the semantics of dry_run and expected_sha256, and clarifies that 'fields' values are in millimetres. However, it does not clarify the roles of path, txid, selector, or allow_locked, which are left ambiguous. The description adds meaningful value but does not fully cover all seven parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Custom-field-only component update', which clearly identifies the action (update) and the resource (component custom fields). This distinguishes it from sibling tools like set_component_properties or set_component_value, making the tool's specific scope unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage guidance: use dry_run=true first to preview, then set dry_run=false only after inspecting the preview and passing the expected_sha256. It does not name alternative tools or explicitly state when not to use this tool, but the 'Custom-field-only' qualifier implies it should be used for custom fields rather than standard fields. This is clear context but lacks explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_component_patternA
Swap to one embedded pattern only when pad mapping is preserved exactly. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| txid | No | ||
| dry_run | No | ||
| selector | Yes | ||
| allow_locked | No | ||
| pattern_style | Yes | ||
| expected_sha256 | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It reveals that distances are always in millimetres regardless of document units, that dry_run previews without writing, and that a non-dry-run requires the expected_sha256 from the preview. This is useful behavioral context beyond the schema. It stops short of covering all side effects or failure modes (e.g., what happens if pad mapping is not preserved), but the safety workflow is well documented.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, each dense with functional information. It front-loads the main action and condition, then adds the critical mm units note, and finishes with the dry-run workflow. No filler or redundant content; every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 7 parameters, a nested selector object, and an output schema. The description covers the safety workflow but not the selector object format, acceptable pattern_style values, or the role of path/txid/allow_locked. The output schema may help with return values, but the agent still lacks enough information to construct a valid request for this complex tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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. It explains two parameters (dry_run and expected_sha256) and mentions units, but the core parameters selector and pattern_style are completely undescribed; path, txid, and allow_locked are also unaddressed. With seven parameters, the description covers only a small fraction, leaving the agent to guess at selector syntax and pattern_style values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Swap to one embedded pattern', clearly indicating the action (swap) and resource (component pattern). The condition 'only when pad mapping is preserved exactly' adds a scoping qualifier that helps distinguish this from other pattern-related tools like validate_library_pattern or get_library_pattern. It lacks an explicit contrast with sibling tools, but the core purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides an explicit precondition: use only when pad mapping is preserved exactly. It also gives a clear safety workflow: run with dry_run=true to preview, then set dry_run=false only after inspecting and passing expected_sha256. It does not mention alternatives or exclusion cases, but the precondition and workflow effectively tell an agent when and how to invoke the tool safely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_component_propertiesA
Set RefDes, name, value or custom fields on selected components. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| path | No | ||
| txid | No | ||
| value | No | ||
| fields | No | ||
| refdes | No | ||
| dry_run | No | ||
| selector | No | ||
| allow_locked | No | ||
| expected_sha256 | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and adds useful context: all distances are in millimeters regardless of document units, dry_run previews without writing, and expected_sha256 must match when committing. It does not disclose effects on locked components or whether all properties are overwritten or only provided ones, but covers key behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with clear front-loading. The first sentence states purpose, the second provides units and the dry-run workflow. No wasted words, though the input schema reference is somewhat redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is complex (10 parameters, safety workflow, units quirk). The description covers the key safety flow (dry_run, expected_sha256) and units, but omits selector semantics, allow_locked behavior, and relationship to transactions/siblings. Given output schema exists, return values need no explanation, but gaps remain for full completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description maps several parameters organically ('RefDes, name, value or custom fields' maps to refdes, name, value, fields; plus dry_run and expected_sha256). However, it does not explain selector, allow_locked, txid, or path, and schema coverage is 0%, so the description only partially compensates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool sets RefDes, name, value, or custom fields on selected components, using a specific verb and resource. It distinguishes itself from siblings like set_component_value (only value) and set_component_fields (only fields) by covering multiple property types in one operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit usage guidance: dry_run=true previews without writing, and dry_run=false only after inspecting the preview and passing expected_sha256. This creates a safe workflow. However, it does not compare against alternatives or state when to prefer this over sibling tools like set_component_value.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_component_sideA
Move selected PCB components to the top or bottom side. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| side | Yes | ||
| txid | No | ||
| dry_run | No | ||
| selector | No | ||
| allow_locked | No | ||
| expected_sha256 | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description discloses the tool's write behavior and safety mechanism (dry_run and expected_sha256), which is important context. It also notes the unit system quirk. It does not mention locked component handling or permission requirements, but the transparency is still notable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, with purpose stated first, followed by crucial unit and safety context. Every sentence adds value and there is no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the core action and safety protocol, but leaves gaps around the selector parameter, allow_locked behavior, and the meaning of 'selected components'. With 7 parameters and no annotations, the description is not fully complete, though the output schema exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description only adds meaning for dry_run and expected_sha256, while the schema covers 0% of parameters in prose. Selector, allow_locked, txid, path, and side are not explained. Given the low schema coverage, the description should compensate more but does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (Move), resource (selected PCB components), and destination (top or bottom side), clearly distinguishing it from sibling tools like move_components. It is concise and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context on safe usage: dry_run=true previews without writing, and dry_run=false should only be set after inspecting the preview and passing expected_sha256. However, it does not explicitly mention alternatives or when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_component_valueA
Set the value of one or more components transactionally. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| txid | No | ||
| value | Yes | ||
| dry_run | No | ||
| selector | No | ||
| expected_sha256 | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses critical behavioral traits: dry_run prevents writing, real writes require expected_sha256, and distances are always in millimetres regardless of document units. With no annotations, this fills a significant gap. It doesn't mention prerequisites like active transactions or error behavior, but the disclosed safety protocol is valuable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at three sentences and front-loads the purpose. However, the 'Input schema: diptrace://schemas/tool-inputs' line is redundant and provides no actionable info, wasting space. Otherwise, the structure is clean and prioritizes safety-critical information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description adequately covers the safety workflow and unit discipline, but it omits how to select components (path vs selector), what 'value' means in this context, and how transactions are coordinated. For a tool with 6 parameters and no annotation support, this leaves notable gaps in operational context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description barely compensates. Only dry_run and expected_sha256 are explained in terms of their role. The core parameters—value, path, selector, and txid—are left entirely to the schema, which itself has no descriptions. This is a major weakness for a 6-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: setting component values transactionally. This distinguishes it from sibling tools like set_component_properties or set_component_side, which target different attributes. The verb 'set' plus resource 'value' is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides explicit guidance on the dry-run workflow, instructing to only set dry_run=false after inspecting preview and passing expected_sha256. This is actionable usage direction. It doesn't explicitly compare with alternative setter tools, but the transactional context and safety steps are clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_diff_pair_rulesB
Net-class differential-pair preset. All distances are in millimetres, regardless of the document's own Units attribute. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| txid | No | ||
| layer | No | ||
| width | No | ||
| dry_run | No | ||
| tolerance | No | ||
| class_name | Yes | ||
| neck_width | No | ||
| expected_sha256 | No | ||
| differential_gap | Yes | ||
| max_uncoupled_length | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses important behaviors: all distances are in millimetres regardless of document units, dry_run prevents writing, and expected_sha256 must be passed after preview. Yet it does not mention potential side effects (e.g., overwriting existing rules, irreversibility) or required permissions. It adds some context but falls short of full transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three concise sentences, front-loaded with the core purpose. Every sentence earns its place: the resource, the unit convention, and the critical dry-run workflow. No filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, the description is insufficient for an 11-parameter mutation tool. It covers the critical safety workflow and units but does not explain most parameter semantics, prerequisites, or the effect of applying the rules. The tool is contextually complex, and the description leaves significant gaps for an agent to correctly select and invoke it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 for parameter meaning. It clarifies that all distances are in mm, which applies to width, differential_gap, tolerance, neck_width, and max_uncoupled_length, and explains dry_run and expected_sha256 semantics. However, it leaves key parameters like class_name, path, txid, layer, and the exact meaning of gap/tolerance unexplained. The added value is minimal for an 11-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The phrase 'Net-class differential-pair preset' suggests configuring differential-pair rules for a net class, but it lacks an explicit verb and does not distinguish itself from sibling tools like analyze_differential_pair, validate_differential_pair, or route_diff_pair. It is clear enough to infer the resource and action, but it relies on the tool name for the 'set' verb.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly explains the safe usage workflow: 'dry_run=true previews without writing' and 'Set dry_run=false only after inspecting the preview and pass its expected_sha256.' This gives explicit step-by-step guidance on how to invoke the tool. However, it does not mention alternatives or when to use this tool over other differential-pair tools, so it misses exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_length_constraintsB
Net-class length preset. All distances are in millimetres, regardless of the document's own Units attribute. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| txid | No | ||
| dry_run | No | ||
| class_name | Yes | ||
| check_length | No | ||
| fixed_length | Yes | ||
| length_delta | Yes | ||
| expected_sha256 | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses a critical edge case—distances are always in millimetres regardless of the document's Units attribute—and explains the dry-run behavior, which is important for a potentially writing operation. It also implies that setting dry_run=false writes and requires expected_sha256. This is good transparency, though it doesn't detail error conditions or whether the write is reversible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise—three sentences that each add new information (units, dry-run behavior, expected_sha256). The opening sentence 'Net-class length preset' is cryptic but not lengthy. Overall, it is well-structured and avoids unnecessary filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Though an output schema exists, the tool has 8 parameters and no annotations. The description covers the key safety workflow but fails to explain the core effect (what exactly a 'length preset' does) and leaves several parameters undefined. It is not complete enough for an agent to fully understand all invocation details, but it does provide the most critical context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 for 8 parameters. It only explains dry_run, expected_sha256, and the mm unit for length parameters. The required parameters class_name, fixed_length, and length_delta are not explicitly described, and check_length, path, and txid are entirely unexplained. The description adds some meaning but leaves most parameters ambiguous.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Net-class length preset', a vague noun phrase that does not explicitly state the tool sets length constraints on a net class. The tool name provides some clarity, but the description lacks a definitive verb+resource statement like 'Set length constraints for a net class'. It does not distinguish from sibling tools such as analyze_length_group or set_diff_pair_rules.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit, safe usage guidance: use dry_run=true to preview without writing, and only set dry_run=false after inspecting the preview and providing its expected_sha256. This is a clear workflow for using the tool correctly. However, it doesn't mention when not to use the tool or alternatives to consider.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_panelizationA
Set official DipTrace panelization parameters on a PCB document. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| txid | No | ||
| panel | Yes | ||
| dry_run | No | ||
| expected_sha256 | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the transparency burden. It discloses unit behavior (millimetres regardless of document units) and the preview/write split via dry_run. However, it doesn't state side effects like whether existing panelization is overwritten or whether the write is reversible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three concise sentences. It front-loads the purpose, then adds units and safety workflow without any filler. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a mutating tool with a nested object parameter and an output schema. The description covers the critical dry-run safety workflow and unit behavior, but it relies on an external schema URI for the panel structure and doesn't mention transaction-related parameters (path/txid). It's functional but not fully self-contained for complex usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It explains dry_run and expected_sha256, but the required 'panel' parameter is only referenced via a schema URI, and path/txid are not described at all. The description adds meaning for two of five parameters but leaves the most important one under-specified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Set official DipTrace panelization parameters') and the target resource ('a PCB document'). This distinguishes it from sibling tools like 'clear_panelization' and other set_* tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage guidance: start with dry_run=true to preview, then set dry_run=false only after inspecting the preview and passing expected_sha256. This is actionable, though it doesn't name alternatives or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_pin_no_connectA
Set or clear intentional no-connect on selected schematic pins. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| txid | No | ||
| dry_run | No | ||
| selector | No | ||
| no_connect | Yes | ||
| expected_sha256 | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full behavioral disclosure burden. It reveals important traits: distances are always in millimetres regardless of document units, and the write operation is protected by a dry_run + SHA-256 verification flow. This goes beyond a simple action and warns about side effects. It does not mention permissions or undo behavior, so it is not a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three concise sentences. The first delivers the core purpose, the second adds a critical unit caveat, and the third explains the safe application flow. Every sentence carries essential information without redundancy. Ideal structure and length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (6 parameters, no annotations) and that an output schema exists, the description covers key context: units, dry_run behavior, and the expected_sha256 contract. It lacks details on how selection works (selector parameter) and what the operation returns, but the output schema likely covers result shape. The safety-focused guidance compensates for many potential gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero descriptions (0% coverage), so the description must compensate. It explicitly explains dry_run and expected_sha256, tying them together as a preview/apply safety mechanism. The first sentence implies semantics for no_connect ('set or clear'), but other parameters like selector, path, and txid are not explained. The description adds value but does not fully cover all six parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Set or clear intentional no-connect on selected schematic pins.' This uses a specific verb ('set or clear'), identifies the resource ('schematic pins'), and distinguishes it from sibling tools like connect_pins and disconnect_pins. The purpose is immediately unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear operational guidance, especially the dry_run workflow: 'dry_run=true previews without writing' and 'Set dry_run=false only after inspecting the preview and pass its expected_sha256.' This tells the agent when to use the safe preview mode and when to apply changes. However, it does not explicitly compare to alternatives or state when not to use this tool, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_text_styleA
Set verified style attributes on free PCB text shapes. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| txid | No | ||
| dry_run | No | ||
| mirrored | No | ||
| selector | No | ||
| font_size | No | ||
| font_width | No | ||
| allow_locked | No | ||
| vertical_align | No | ||
| expected_sha256 | No | ||
| horizontal_align | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It discloses that all distances are in millimetres regardless of document units, that dry_run=true previews without writing, and that setting dry_run=false requires passing expected_sha256. It also limits to 'free PCB text shapes'. However, it does not mention behavior for locked objects or overwriting existing attributes, so not full transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is four sentences, front-loaded with the purpose, and every sentence adds value: scoping, units, schema reference, and execution workflow. No fluff or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description provides a clear workflow for safe execution and key constraints, but the parameter space is large (11 params) and many are unexplained. The output schema may indicate return values, but parameter semantics remain under-specified for a complex styling tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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. It explains the dry_run and expected_sha256 workflow and clarifies that distances (font_size, font_width) are in millimetres. However, it leaves other parameters (selector, mirrored, allow_locked, alignment, path, txid) undefined. With 11 parameters, this is a substantial gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb+resource: "Set verified style attributes on free PCB text shapes." It distinguishes this tool from siblings like set_text_visibility and move_board_texts by specifying it handles style attributes for free text shapes, and it uses a specific workflow (dry_run + expected_sha256).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear workflow: use dry_run=true to preview, then set dry_run=false and pass the expected_sha256 after inspecting the preview. It does not explicitly name alternatives, but the scoping to "free PCB text shapes" implies when not to use it. This is clear context, though not exhaustive exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_text_visibilityB
Set visibility for component silk/assembly markings. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| txid | No | ||
| dry_run | No | ||
| selector | No | ||
| visibility | Yes | ||
| allow_locked | No | ||
| expected_sha256 | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the transparency burden. It discloses dry-run semantics and the millimetre unit convention, but does not mention permissions, reversibility, or the fact that setting visibility writes to the document when dry_run=false. Some behavioral context is provided, but significant gaps remain.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with the core purpose front-loaded in the first sentence. The unit note and external schema reference add some length but are plausibly useful. Overall, it's tightly written with no redundant filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Even with an output schema, the description omits crucial context about how to specify which text to modify (via selector, path, or txid) and what 'Common' visibility means. For a 7-parameter mutation tool, this gap makes the description insufficient for correct invocation without additional investigation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage. The description explains the roles of dry_run and expected_sha256, but says nothing about selector, path, txid, the visibility enum, or allow_locked. Most of the 7 parameters lack meaningful explanation, leaving the agent to rely on names alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Set' and resource 'visibility for component silk/assembly markings', making the tool's function clear. It doesn't explicitly differentiate from sibling tools like set_text_style, but the resource scope provides adequate distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit workflow guidance: start with dry_run=true to preview, then set dry_run=false only after inspecting the preview and passing its expected_sha256. This gives clear when-to and when-not-to instructions, though no alternative tools are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_trace_widthA
Set selected trace segment widths with exported DRC minimum checks. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| txid | No | ||
| width | Yes | ||
| dry_run | No | ||
| selector | Yes | ||
| expected_sha256 | No | ||
| segment_indices | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that distances are in millimetres regardless of document units, that dry_run previews without writing, and that the final write requires expected_sha256. This is valuable safety-related behavior, though it doesn't explicitly state that the operation mutates the design or describe side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at three sentences, with the purpose front-loaded. Each sentence adds useful information. The inclusion of 'Input schema: diptrace://schemas/tool-inputs' is somewhat redundant with the inline schema but does not significantly detract from clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 7 parameters and a nested selector object, the description covers the critical safety workflow and units but lacks details about selector semantics and segment_indices. The output schema exists, so return values are covered, but the description still leaves gaps in understanding how to construct the selector and how segment_indices interact with the selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description partially compensates by explaining width units (millimetres), dry_run behavior, and expected_sha256 purpose. However, it does not explain the selector object, segment_indices, path, or txid parameters, which are critical for correct invocation. The schema alone provides minimal semantic context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool sets selected trace segment widths, using a specific verb ('Set') and resource ('trace segment widths'). It distinguishes from sibling tools like add_trace or delete_trace. However, the phrase 'with exported DRC minimum checks' is slightly ambiguous, which keeps it from a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear usage workflow: use dry_run=true to preview, then set dry_run=false only after inspecting the preview and passing expected_sha256. It implies this tool is for modifying trace widths, but it does not explicitly compare to alternative tools or state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_via_styleA
Set an existing verified project ViaStyle on selected vias. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| txid | No | ||
| dry_run | No | ||
| selector | Yes | ||
| via_style | Yes | ||
| expected_sha256 | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that dry_run=true does not write, dry_run=false writes, and distances are always in millimetres regardless of document units. It also implies a verification step via expected_sha256. This is meaningful but does not discuss permissions, reversibility, or side effects beyond the preview/write mechanism.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three concise sentences: the main action, the units caveat, and the critical preview/commit workflow. Every sentence serves a purpose with no redundant or vague phrasing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (6 parameters, nested schema, output schema, no annotations), the description covers the core usage pattern and safety checks. It references the input schema for further details. It does not explain what a ViaStyle is or how selectors are formatted, but these are partly covered by the referenced schema. Overall, it is functionally complete for selecting and invoking the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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. It adds meaning for dry_run and expected_sha256 by explaining their roles in the preview/commit workflow. However, it does not explain selector, via_style, path, or txid, leaving significant gaps. The selector schema reference may help, but the description itself adds limited parameter value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Set an existing verified project ViaStyle') and the target resource ('selected vias'), making the purpose specific. It distinguishes from structural via tools like add_via or delete_via but does not explicitly name sibling alternatives, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear operational guidance: use dry_run=true to preview, inspect the preview, then set dry_run=false and pass expected_sha256. This is valuable context for safe usage. However, it does not mention when not to use this tool or compare with similar style-related tools like set_trace_width, so it lacks explicit exclusions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stage_operationsC
Attach registered semantic operations to an existing transaction. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs.
| Name | Required | Description | Default |
|---|---|---|---|
| txid | Yes | ||
| operations | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior, but it only mentions that distances are in millimetres. It doesn't explain whether operations are validated, whether they apply immediately or only after commit, what happens if the transaction doesn't exist, or any side effects. The term 'registered' is undefined.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with purpose and a units caveat. It is efficient and avoids repetition, though it could include more behavioral context without bloating.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (many operation kinds, transaction lifecycle, no annotations), the description is too sparse. It fails to explain the batch semantics, the relationship to transaction lifecycle, validation behavior, or return value, despite having an output schema. This leaves significant gaps for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds one useful parameter-level detail (millimetres) but doesn't explain the txid or the operations array structure. The schema provides the enum for 'kind' and the required fields, but the description does not clarify how to specify operation payloads or how they relate to the transaction. With 0% schema description coverage, this is insufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('attach') and resource ('registered semantic operations' to 'existing transaction'), clearly indicating it stages operations for a transaction rather than executing them directly. It distinguishes from sibling tools like begin_transaction, commit_transaction, and individual operation tools, though it doesn't explicitly name them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the transaction must already exist, giving some usage context, but it doesn't explicitly state when to use this vs calling individual operation tools or when in the transaction lifecycle it should occur. No exclusions or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
suggest_trace_geometry_for_impedanceA
Synthesize a bounded microstrip width using the analytical model. All distances are in millimetres, regardless of the document's own Units attribute.
| Name | Required | Description | Default |
|---|---|---|---|
| target_ohm | Yes | ||
| tolerance_ohm | No | ||
| maximum_width_mm | Yes | ||
| minimum_width_mm | Yes | ||
| copper_thickness_mm | Yes | ||
| dielectric_constant | Yes | ||
| dielectric_height_mm | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses an important behavioral trait: all distances are in millimetres regardless of the document's Units attribute. Without annotations, however, it does not disclose limitations of the analytical model, whether the tool modifies the document, or what happens if no width within the specified bounds satisfies the target impedance. The unit clarification adds value but the behavioral burden is only partially met.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences: one states the core function, the other clarifies units. No redundant or filler content. It is front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations and no visible output schema, the description must provide context about what the tool returns and how it handles edge cases. It does not mention the output format, failure behavior when no width satisfies the target impedance, or the relationship to sibling impedance tools. For a synthesis tool with 7 parameters, the description is too minimal to be fully contextually complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, so the description must compensate. It adds unit context for distance parameters (copper_thickness_mm, dielectric_height_mm, minimum_width_mm, maximum_width_mm) and implies min/max act as bounds via 'bounded microstrip width'. Parameter names like target_ohm, tolerance_ohm, and dielectric_constant are descriptive enough, but the description does not explain semantics beyond what property names suggest. Some compensation, but not full.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: synthesize a bounded microstrip width using an analytical model. The verb 'synthesize' and resource 'bounded microstrip width' are specific, and the mention of 'analytical model' distinguishes it from tools like calculate_impedance which compute impedance from geometry.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage: to determine a microstrip width for a target impedance. However, it does not explicitly state when to use this tool over alternatives like calculate_impedance, analyze_stackup_for_impedance, or validate_impedance_constraints. No exclusions or alternative guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
summarize_designC
Summarize a PCB or schematic: components, nets, layers, sheets and connectivity.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It lists what the summary covers but does not state whether it's read-only, requires a path, or has any side effects. The output schema exists but that does not compensate for missing behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that efficiently conveys the core function. It is appropriately sized, though it could be slightly more detailed without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While the description lists the summary contents, it lacks guidance on when to use this tool versus siblings and does not explain the path parameter. The presence of an output schema helps but does not fill these gaps, making the description incomplete for a simple tool with one optional parameter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the single 'path' parameter is undocumented in the schema. The description does not mention the path parameter at all, providing no guidance on what value to supply or its purpose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with a specific verb ('Summarize') and resource ('a PCB or schematic'), and lists the covered aspects (components, nets, layers, sheets, connectivity). This distinguishes it from more specific tools like list_components or get_connectivity_graph, though it doesn't explicitly differentiate from get_document_info.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives. The description implies it's for getting a summary but does not mention exclusions or alternatives, which is especially relevant given the large set of sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
sync_schematic_to_pcbA
Additively synchronize schematic components, nets and ratlines into a PCB. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.
| Name | Required | Description | Default |
|---|---|---|---|
| txid | No | ||
| dry_run | No | ||
| pcb_path | Yes | ||
| placement | No | ||
| schematic_path | Yes | ||
| allow_reconnect | No | ||
| create_ratlines | No | ||
| expected_sha256 | No | ||
| component_mappings | No | ||
| reconciliation_mode | No | additive | |
| pattern_library_paths | No | ||
| update_existing_properties | No | ||
| allow_locked_reconciliation | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the disclosure burden. It explicitly states the additive (non-destructive) nature, the fixed unit behavior (millimetres regardless of document units), and the dry-run versus write workflow. However, it does not detail side effects on existing PCB objects or required permissions, which prevents a perfect score.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences long, front-loads the purpose, and each sentence adds unique value: purpose, unit quirk, and safety workflow. No redundant content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Although it provides a critical safety protocol and an output schema exists, the description is too thin for such a complex mutation tool. It leaves the meaning of many parameters and the exact synchronization behavior (e.g., what 'additive' implies for conflicts) unexplained. The presence of an output schema mitigates return-value concerns, but parameter semantics are largely missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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. It only explains dry_run and expected_sha256, while the remaining 11 parameters (e.g., placement, reconciliation_mode, component_mappings) are left undefined. This is insufficient for a 13-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Additively synchronize schematic components, nets and ratlines into a PCB', which precisely identifies the action, resource, and scope. It distinguishes itself from sibling tools like compare_schematic_to_pcb by emphasizing the additive synchronization behavior and the target PCB.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides a clear usage sequence: start with dry_run=true to preview, then set dry_run=false only after inspecting the preview and passing expected_sha256. This gives contextual guidance on safe invocation, but it does not explicitly compare against alternative tools or state when not to use it, so it falls shy of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ungroup_componentsA
Remove selected components from groups and prune only empty groups. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| txid | No | ||
| dry_run | No | ||
| selector | Yes | ||
| allow_locked | No | ||
| expected_sha256 | No | ||
| remove_empty_groups | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of disclosing behavior. It reveals the mutating nature through the dry-run and expected hash verification, and also notes that distances are in millimetres regardless of document units. However, it doesn't discuss locked components, transaction context, or other side effects, so it is not fully transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three focused sentences: first states the core action, third gives crucial safety steps. The middle sentence about distances is somewhat tangential to ungrouping but not verbose. Overall, it is concise and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (7 params, nested selector, mutating operation), the description covers the essential safety workflow but lacks guidance on selection semantics, locked handling, and transaction prerequisites. The output schema exists, so return values are not a gap, but a more complete description would address edge behaviors.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description explains dry_run and expected_sha256 semantics in detail, which is valuable. But with 7 parameters and 0% schema coverage, it leaves selector, path, txid, allow_locked, and remove_empty_groups unexplained. The description only partially compensates for the schema's silence.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Remove selected components from groups and prune only empty groups.' It identifies a specific verb (remove), resource (components from groups), and scope (prune only empty groups), which distinguishes it from sibling tools like group_components.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides a strong safe-usage protocol: 'dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.' This tells the agent when and how to use the tool safely, though it does not explicitly name alternative tools for similar operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
unlock_componentsA
Unlock selected components. All distances are in millimetres, regardless of the document's own Units attribute. Input schema: diptrace://schemas/tool-inputs. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| txid | No | ||
| dry_run | No | ||
| selector | No | ||
| expected_sha256 | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries a high burden and does disclose meaningful behaviors: distances are always in millimetres regardless of document Units, dry-run previews without writing, and committing requires passing the checksum from the preview. It could still mention side effects on the component state or transaction requirements, but the safety behavior is well covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three short sentences, with the purpose stated first, followed by an important unit caveat and then the critical safety workflow. Every sentence adds value and there is no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the description covers the core workflow well. However, it lacks information on how to target components (selector/path/txid) and does not compare with lock_components, leaving it incomplete for a mutation tool with this many parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description only explains dry_run and expected_sha256. The parameters path, txid, and selector are completely unexplained, which is a significant gap because the user cannot know how to select the components to unlock. The description partially compensates for the low coverage but does not do enough.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Unlock selected components,' a specific verb and resource that clearly states the tool's function. It naturally distinguishes from sibling tools like lock_components and the many other component-modification tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear usage workflow: start with dry_run=true to preview, inspect the preview, then set dry_run=false with the expected_sha256. It does not mention alternatives or explicitly say when not to use it, but the context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_net_class_rulesA
Update verified per-layer width and clearance fields of a PCB net class. All distances are in millimetres, regardless of the document's own Units attribute. dry_run=true previews without writing. Set dry_run=false only after inspecting the preview and pass its expected_sha256.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| txid | No | ||
| layer | No | ||
| width | No | ||
| dry_run | No | ||
| clearance | No | ||
| max_width | No | ||
| min_width | No | ||
| class_name | Yes | ||
| neck_width | No | ||
| expected_sha256 | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses the dry_run preview mode, the requirement to pass expected_sha256 when writing, and the critical units convention (millimetres regardless of document units). It does not mention permissions or failure modes, but the core safety workflow is well covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each earning its place: purpose, units, and workflow. It is front-loaded with the main action and contains no redundant or vague wording.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 11 parameters and no annotations, the description covers the essential operation, the units, and a safe mutation workflow. The output schema exists, so return values need not be described. However, it leaves some parameter semantics (e.g., path, txid, layer) to the schema, which has 0% coverage, so it is not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but the description compensates for key parameters: dry_run and expected_sha256 are explicitly explained, and the millimetres note applies to width, clearance, min_width, max_width, and neck_width. Parameters like path, txid, and layer are not explained in the description, but their purposes are somewhat inferable from context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Update') and identifies the resource ('verified per-layer width and clearance fields of a PCB net class'), clearly distinguishing it from sibling tools like set_trace_width or set_diff_pair_rules. It is precise about the scope and field targets.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when to use the tool (updating net class width/clearance rules) and a concrete workflow: dry_run=true first, then set dry_run=false only after inspecting the preview and passing expected_sha256. However, it does not explicitly name alternatives or state when not to use this tool, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_differential_pairC
Evaluate available exported rules for one differential pair.
| Name | Required | Description | Default |
|---|---|---|---|
| pair | Yes | ||
| path | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden for disclosing behavior. It only says 'Evaluate available exported rules' without stating whether the operation is read-only, what side effects exist, what inputs are required beyond the pair, or what the output represents. The behavior remains opaque.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no superfluous words. It is appropriately concise for the limited content it conveys, though the brevity comes at the cost of missing useful detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Although an output schema exists, the description lacks essential context: what constitutes 'exported rules', how the pair and path interact, and when this validation is appropriate. It is too thin to be complete even with the schema and annotations absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, and the description does not compensate. It mentions 'one differential pair' but does not explain the 'path' parameter at all. Neither parameter's meaning, format, or constraints are clarified beyond the raw schema types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the action 'Evaluate' and the resource 'available exported rules for one differential pair', which is a specific verb+resource combination. It is not a tautology and is distinguishable from siblings like 'analyze_differential_pair' by focusing on exported rules, though the meaning of 'exported rules' is not elaborated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to use this tool versus alternatives such as 'analyze_differential_pair' or 'validate_impedance_constraints'. It does not mention any prerequisites, exclusions, or context that would help an agent choose this tool over its siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_impedance_constraintsA
Validate explicit net/layer/target constraints against routed widths and stackup. All distances are in millimetres, regardless of the document's own Units attribute.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No | ||
| constraints | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It adds an important non-obvious behavioral fact: all distances are in millimetres regardless of the document's Units attribute. The word 'validate' implies read-only behavior, though side effects are not explicitly ruled out.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences: the first states the core validation behavior, the second delivers the essential units caveat. No filler or redundant restatement of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with an output schema, the description adequately covers the purpose and key unit normalization. It omits explanation of tolerance behavior and the optional path parameter, but these are partly inferable from the schema. Could be more explicit about how this validation differs from other impedance-related siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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. It maps net/layer/target constraints to the required input fields and clarifies the critical unit convention for width_mm. It does not explicitly explain tolerance_ohm or the optional path parameter, but the schema provides types, defaults, and basic titles for those.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Validate') and identifies a clear resource: explicit net/layer/target constraints checked against routed widths and stackup. This precisely distinguishes it from sibling tools like validate_differential_pair or calculate_impedance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for validating explicit impedance constraints against physical routing and stackup data, but does not explicitly state when to prefer this over related tools such as analyze_controlled_impedance or calculate_impedance. No exclusions or alternative tool references are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_library_componentB
Validate component pins, attached pattern and pin-to-pad mapping.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| path | Yes | ||
| stable_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure. It does not state whether the validation is read-only, what a successful or failed validation returns, whether the component must already exist, or if there are any side effects. The word 'validate' implies a check, but the specifics are missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with no fluff, front-loaded with the core purpose. It earns its place by clearly naming the subject and scope of validation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 3 parameters and 0% schema coverage, the description is too thin to support correct invocation. It lacks parameter semantics, usage guidance, and behavioral expectations. The output schema exists so return values are covered, but the input side is under-specified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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. It does not explain how the parameters (path, name, stable_id) are used or how they relate to the validation process. The agent is left guessing which identifier is authoritative and whether they are alternatives or required together.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('validate') with a clear resource ('component') and lists the exact aspects being validated: pins, attached pattern, and pin-to-pad mapping. This distinguishes it from sibling tools such as validate_library_pattern and validate_pin_pad_mapping.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for validating a library component's integrity across pins, pattern, and mapping, but does not explicitly state when to prefer this tool over the more targeted validate_library_pattern or validate_pin_pad_mapping, nor does it mention any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_library_patternB
Validate pattern pad numbering, styles, geometry, holes and annular rings.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| path | Yes | ||
| stable_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It states what is validated but does not disclose safety (read-only vs. mutation), side effects, or what the output/report format looks like. This is a significant gap for a validation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the verb 'validate' and enumerates the specific attributes checked. No fluff or redundant details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Although an output schema exists, the description does not explain return values, error behavior, or prerequisites like requiring a loaded library. With zero parameter documentation and no usage guidance, the description is incomplete for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not mention any parameters (path, name, stable_id). It fails to compensate for the lack of schema descriptions, leaving the agent without guidance on how to identify which pattern to validate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool validates library patterns, specifying the exact aspects checked: pad numbering, styles, geometry, holes, and annular rings. This distinguishes it from sibling tools like validate_pin_pad_mapping and validate_library_component.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for validating library pattern properties but gives no explicit guidance on when to use this tool versus alternatives like validate_library_component or get_library_pattern. No exclusions or alternative recommendations are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_mpn_consistencyC
Detect one MPN mapped to conflicting manufacturer/value/pattern metadata.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for disclosing behavior. It states 'Detect' suggesting a read-only operation, but doesn't describe what the tool returns, how it handles the 'path' parameter, or whether any side effects occur. The description provides minimal behavioral insight beyond the obvious.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no unnecessary words. It is front-loaded with the action verb, but the extreme brevity borders on under-specification.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having an output schema, the description is incomplete for a validation tool with one undocumented parameter. It lacks essential context about the input path, the structure of the conflict detection, and how the result is presented. The description is too minimal to be fully actionable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description does not mention the sole parameter 'path'. The agent is left completely uninformed about what 'path' refers to (e.g., file path, document ID, library path) or how to provide it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Detect') and names the resource ('one MPN') with the specific concern ('conflicting manufacturer/value/pattern metadata'), making the core purpose clear. However, it doesn't distinguish this tool from the sibling validator 'validate_value_pattern_consistency' or explain what 'one MPN' refers to in context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus the many sibling validation tools (e.g., validate_value_pattern_consistency, validate_library_component). The description gives no context about appropriate use cases or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_pin_pad_mappingC
Validate component pin numbers against pads of its embedded attached pattern.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| path | Yes | ||
| stable_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden for behavioral disclosure, but it only says 'validate.' It does not state whether the operation is read-only, what the output format is, what constitutes successful validation, or what happens on failure. 'Validate' implies a check, but the specific behavioral traits are left entirely unspecified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no extraneous words, and the active verb 'Validate' is front-loaded. However, it is under-specified and the phrasing 'embedded attached pattern' is awkward. Being short is not the same as being well-structured when key information is missing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, 0% parameter coverage, and a tool with three parameters and an output schema, the description is far too minimal. It fails to explain how to provide inputs, what the validation process involves, or how results are reported. The tool is incomplete even for basic agent selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain any of the parameters (name, path, stable_id). It is unclear how these parameters identify the component or pattern, or whether they are alternatives or complementary. The description adds no semantic value beyond the bare parameter names in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool's specific action: validating component pin numbers against pads of a pattern. It uses the verb 'validate' and names the relevant resources, which distinguishes it somewhat from generic validation tools. However, the phrase 'embedded attached pattern' is jargon-heavy and doesn't fully clarify the exact object being validated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like validate_library_pattern or validate_library_component. The description implies its use context but gives no exclusions, prerequisites, or decision criteria, so an agent cannot easily determine if this is the right tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_roundtrip_evidenceA
Validate distinct allowed-root evidence roles and exact SHA bindings without writing.
The bounded result is always authority=user_supplied and grants_high_trust=false.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| evidence | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It proactively discloses the tool's non-writing behavior and the invariant result fields (authority=user_supplied, grants_high_trust=false), which goes beyond a generic 'validates' statement. It does not mention failure behavior or permissions, but the disclosed details are valuable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the action verb, and zero filler. Every word earns its place, and the structure efficiently communicates purpose and a key result invariant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite a nested input schema and an output schema, the description covers the essential behavioral constraints (non-mutating, fixed result) and the core validation subject. It is a bit thin on usage context relative to siblings, but the output schema likely fills return-value details, making this adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain the 'path' or 'evidence' parameters or how they relate to 'roles' and 'SHA bindings.' The schema itself has descriptive property text, but the tool description adds no parameter-level meaning beyond a vague hint, leaving a notable gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Validate' and clearly identifies the resource: 'distinct allowed-root evidence roles and exact SHA bindings.' The phrase 'without writing' distinguishes this from the sibling record_roundtrip_evidence, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description conveys clear context through 'without writing,' implying this is a non-mutating validation for dry-run or pre-commit checks. However, it does not explicitly name alternatives like record_roundtrip_evidence or state when not to use it, so it falls short of full guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_transactionC
Validate staged operations and return the same bounded preview metadata.
| Name | Required | Description | Default |
|---|---|---|---|
| txid | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior fully. It offers only a hint that the result is 'the same bounded preview metadata', but does not state whether the operation is read-only, validates without side effects, how errors are reported, or any authentication needs. The minimal information fails to provide transparency about side effects or constraints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence and is front-loaded with the verb. However, it is under-specified, sacrificing clarity for brevity. It does not earn its place fully because it omits critical information, so a middling score is appropriate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
While an output schema exists, the description lacks essential context: it does not explain the parameter, when to use the tool, or any behavioral caveats. For a transaction-related tool amidst many similar siblings, this is insufficient for reliable selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage and the description does not mention the 'txid' parameter at all. The agent is left to guess what a 'txid' is and how it should be formatted, which is inadequate for a required parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the action ('Validate') and the resource ('staged operations'), with a specific outcome ('return the same bounded preview metadata'). It distinguishes from sibling tools by referring to 'staged operations', but does not explicitly contrast with preview_transaction, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage on staged operations but provides no explicit guidance on when to use this tool instead of preview_transaction, commit_transaction, or other validators. No alternatives are mentioned, and no prerequisites or context are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_value_pattern_consistencyC
Detect value/pattern inconsistency across multi-part units and shared MPNs.
| Name | Required | Description | Default |
|---|---|---|---|
| path | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does disclose that the tool detects certain inconsistencies but does not clarify whether it is read-only, what side effects (if any) occur, or what the output looks like. This is a significant gap for a tool in a suite with many validation operations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence, front-loaded with the action and target. Every word earns its place and there is no redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool's purpose is stated but the context is thin. It does not explain what 'multi-part units' or 'value/pattern' refers to, and with no parameter documentation and only an output schema hint, an agent cannot confidently decide when to invoke this over similar validators. The description is minimally viable but clearly incomplete for a non-trivial validation task.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the only parameter 'path' is not mentioned in the description. The description adds no meaning about what 'path' should point to (e.g., a file, a design object, a directory). With a single optional parameter and no documentation, the tool is practically unusable without external knowledge.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool detects value/pattern inconsistency across multi-part units and shared MPNs. It uses a specific verb ('detect') and resource ('value/pattern inconsistency'), which distinguishes it from generic validation tools, though it doesn't explicitly contrast with similar sibling validators like validate_mpn_consistency.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives. With many sibling validation tools (e.g., validate_mpn_consistency, validate_library_pattern), the absence of usage context or exclusions leaves the agent guessing as to the specific scenario this tool is intended for.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
With 167 tools, there is substantial overlap and redundancy. Tools such as route_connection, route_net, route_connections, and route_diff_pair have very similar purposes, and multiple aliases (e.g., check_silkscreen/run_silkscreen_check, analyze_controlled_impedance/validate_impedance_constraints) further blur distinctions. Agents will frequently misselect tools due to the unclear boundaries between many operations.
The naming convention is predominantly verb_noun in snake_case, which is consistent across most tools (e.g., export_assembly_outputs, list_components, set_component_value). Minor deviations like diptrace_status or the use of aliases do not break the overall pattern, but the presence of aliases and some vague verbs (e.g., analyze_return_path) slightly reduces consistency.
167 tools is far beyond any reasonable scope for a single server, even a complex EDA tool. This is an extreme overprovisioning that overwhelms agents and makes navigation impractical. The calibration indicates that 50+ tools is already an extreme mismatch, and this server far exceeds that threshold.
The tool set covers an extremely broad range of EDA operations: schematic/PCB editing, placement, routing, BOM management, reviews, exports, simulations, and job management. While there are some potential gaps (e.g., no explicit tool for deleting components or sheets), the sheer volume suggests the domain is generally well-covered. However, the redundancy and excessive count make it hard to judge true completeness.
Maintenance
Related MCP Connectors
Search and review real KiCad and Altium PCB designs: schematics, BOMs, netlists, DRC/ERC.
Query Allen-Bradley and Siemens PLC projects, live tag values, and analyses in plain English.
Search real parts with datasheet-provenance specs, check compatibility and compose priced BOMs.
Verified KiCad footprints, symbols & 3D models for AI agents. No signup, CC-BY-4.0, quality-gated.
Related MCP Servers
- AlicenseAqualityBmaintenanceEnables analysis of KiCad electronic schematics through natural language queries to search components, trace signal paths, explore connections, and analyze multi-board systems.301MIT
- AlicenseNot gradedqualityBmaintenanceEnables natural language interaction with KiCad projects, schematics, and PCBs, supporting project management, design rule checking, netlist extraction, and datasheet RAG search.2MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to design PCBs in KiCAD through natural language, with transactional preview-verify-commit workflow, undo/redo, and an engineering knowledge base.MIT
- AlicenseAqualityBmaintenanceEnables AI assistants to read and modify KiCAD PCB designs through the KiCAD IPC API, providing tools for board queries, footprint placement, track creation, DRC, and export.14MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/fireostendere/mcp_diptrace'
If you have feedback or need assistance with the MCP directory API, please join our Discord server