JLC_EDA-MCP
Provides comprehensive access to the EasyEDA Pro / JLCEDA API, enabling AI agents to interact with EDA projects, schematics, PCB designs, and other editor functionality through official API methods.
Click on "Deploy 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., "@JLC_EDA-MCPWhat's the current project info in EasyEDA Pro?"
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.
English | 中文
JLC_EDA-MCP — Complete EasyEDA Pro MCP
面向嘉立创EDA / EasyEDA Pro 的完整 MCP 服务。在官方扩展开发调试 MCP 基础上,自动对接当前 @jlceda/pro-api-types 中 EDA 根对象公开的全部 API,并保留插件导入、调试和浏览器控制台日志能力。
v2.0 当前覆盖
98 个官方 API 命名空间
760 个公开 API 方法,全部生成直接 MCP Tool
6 个 API 管理 / 连接工具
保留
import_plugin、dev_plugin、get_console_logs3 个扩展开发工具MCP Tool 总数:769
内置仅监听本机的 WebSocket Bridge,无需另启 Bridge 进程
附带官方
bundled-gateway/run-api-gateway_v1.0.6.eextbundled-gateway 按官方
pro-api-sdkv1.6.27 对齐 MCP 调试所需的 Debug 热加载实现(npm run debug/ 59394);不镜像 SDK 的项目创建、更新、manifest、模板或发布工具支持 Full / Compact 两种工具暴露模式
完整统计与边界说明见 docs/COVERAGE_REPORT.md。API 调用方法见 docs/API_USAGE.md。
Related MCP server: a2n-easyeda-mcp
快速开始
1. 环境要求
Node.js 20.17.0+
Google Chrome 或 Microsoft Edge(插件导入 / 浏览器日志功能使用)
嘉立创EDA / EasyEDA Pro
2. 获取并构建
git clone https://github.com/mayjack0312/JLC_EDA-MCP.git
cd JLC_EDA-MCP
npm install
npm run build
npm testWindows 也可以直接运行根目录的 START_MCP_WINDOWS.bat。脚本会在缺少依赖时安装依赖,并在每次启动前执行构建,确保 dist 与当前源码一致,然后启动 MCP。
3. 安装 EasyEDA API Gateway
在嘉立创EDA专业版中导入:
bundled-gateway/run-api-gateway_v1.0.6.eext
并允许扩展所需的 WebSocket / 外部交互权限。MCP 内置 Bridge 会在 127.0.0.1:49620-49629 中选择可用端口,仅监听本机。
4. 生成 MCP 配置
npm run mcp-config会在项目根目录生成 mcp-config.json 和 opencode.json,默认 MCP Server ID 为 jlc-eda-mcp。将对应配置导入所使用的 AI Agent 后重启 Agent。
生成配置默认不会自动批准 760 个 EasyEDA API Tool;是否自动批准高权限工具由客户端侧自行决定。
5. 确认连接
在 MCP Client / Agent 中调用:
easyeda_bridge_status
若 count > 0 且存在已连接窗口,即可开始调用官方 EasyEDA Pro API。多窗口时可使用 easyeda_select_window 指定目标窗口。
API 调用方式
Full 模式(默认)
默认 EASYEDA_TOOL_PROFILE=all,760 个官方方法均注册成独立 MCP Tool。工具名格式为:
eda_<namespace>_<method>
直接 API Tool 统一接受:
args:按官方签名顺序排列的 JSON 参数数组windowId:可选;多窗口时指定目标 EDA 窗口
Full 模式适合能够承载较大 tools/list 的 Agent / MCP Client。
Compact 模式
若客户端无法稳定承载 760 个直接 Tool,可设置:
EASYEDA_TOOL_PROFILE=compactCompact 模式不注册 760 个独立 Tool,但仍可通过以下流程访问全部官方方法:
easyeda_api_search
↓
easyeda_api_describe
↓
easyeda_api_call例如查询当前工程信息时,可先搜索 API,再描述 dmt_Project.getCurrentProjectInfo 的完整签名,最后通过 easyeda_api_call 调用。
6 个 API 管理 / 连接工具
Tool | 作用 |
| 查看 Bridge、当前活动窗口及全部已连接 EDA 窗口 |
| 多窗口时选择后续 API 调用的目标窗口 |
| 查看官方 API 类型版本、命名空间和方法统计 |
| 按方法名、命名空间、说明或参数类型搜索 API |
| 获取方法完整签名、参数、返回值、重载和弃用信息 |
| 调用自动生成白名单中的任一官方 API |
扩展开发 / 调试工具
Tool | 作用 |
| 自动导入 |
| 导入插件并监听 error;检测到错误后返回日志供 Agent 分析 |
| 获取浏览器控制台日志;可独立调用,支持过滤、限制条数和清空缓存 |
get_console_logs 不再要求必须先调用 import_plugin / dev_plugin。若当前没有监听器,它会自动连接浏览器并启动监听。
官方 SDK Debug 热加载
bundled-gateway 的开发框架已对齐官方 pro-api-sdk v1.6.27。需要 EasyEDA 官方扩展 Debug 热加载时:
cd bundled-gateway
npm install
npm run debug该模式会在 ws://localhost:59394 启动官方 SDK Debug Server,监听源码变化,自动增量构建、重新打包并向 EasyEDA Pro 官方 Debug 客户端推送新的 .eext。
59394是 SDK 热加载专用端口;JLC_EDA-MCP API Bridge 仍使用127.0.0.1:49620-49629。
工作原理
EasyEDA API
AI Agent / MCP Client
│ stdio
▼
JLC_EDA-MCP
│ localhost WebSocket
▼
run-api-gateway_v1.0.6.eext
│
▼
EDA.* 官方 EasyEDA Pro APIAPI 目录由构建脚本从 @jlceda/pro-api-types 自动生成,不手工维护 760 个工具定义。统一调用只允许目录白名单中的 namespace.method,参数必须为 JSON 可序列化值。
插件开发调试
插件导入 / 控制台日志功能使用 Playwright 控制 Chrome / Edge。登录状态保存在本机 .browser-data/,最多缓存 500 条浏览器控制台日志。
更新官方 SDK / API 目录
当前包使用 @jlceda/pro-api-types 0.4.23。升级版本后执行:
npm install
npm run build
npm testnpm run build 会重新扫描官方类型定义并生成 API Catalog;npm test 会检查 Tool 数量、重复名称和关键管理工具。
环境变量
变量 | 说明 | 默认值 |
|
|
|
| EasyEDA API 单次调用超时 |
|
| 手动指定 Chrome / Chromium / Edge 路径 | 自动检测 |
文档
docs/API_USAGE.md:完整 API 搜索、描述、调用、多窗口和 Full / Compact 使用方法docs/COVERAGE_REPORT.md:官方 API 覆盖统计和安全边界docs/ARCHITECTURE.md:整体架构、Bridge、API Catalog 与安全设计docs/TROUBLESHOOTING.md:连接、Gateway、超时、工具过多、浏览器日志等常见问题
说明
这里的“100% API 覆盖”表示当前官方类型定义中 EDA 根对象公开的方法均进入 API Catalog、统一调用白名单并生成直接 MCP Tool;并不表示所有 API 都能通过纯 JSON 参数远程执行。包含回调函数、浏览器对象、File / Blob,或受特定版本、编辑器状态、权限限制的方法,仍以 EasyEDA Pro 实际运行时行为为准。
本项目基于 EasyEDA 官方 extension-dev-mcp-tools 的扩展开发调试能力继续完善。许可证和第三方声明见 LICENSE 与 NOTICE.txt。
Available Tools
769 toolsdev_pluginA
调试插件到嘉立创EDA并持续监听控制台,直到出现 error 日志时返回错误内容。插件文件通常位于项目的 build/dist 目录下,后缀为 .eext。调用前请先确认 pluginPath 指向该目录下的 .eext 文件。适用于需要自动捕获插件运行错误的调试场景。超时未检测到错误则返回成功。
| Name | Required | Description | Default |
|---|---|---|---|
| timeout | No | 最大等待秒数,默认300秒(5分钟) | |
| pluginPath | Yes | 插件文件的绝对路径 | |
| browserPath | No | 浏览器可执行文件的绝对路径(如 Edge、Chrome),不传则自动检测 |
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 does disclose useful behavioral traits: it loads the plugin into the editor, continuously monitors the console until an error log appears, returns error content on error, and returns success if timeout is reached without error. It also mentions the .eext file location convention and the timeout parameter's default. However, it does not disclose side effects of loading a plugin (e.g., whether it opens a new editor tab, whether it modifies project state, whether repeated calls stack listeners). For a tool that executes a plugin, this is a meaningful gap. The description does not contradict annotations (there are none).
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 paragraph of 4 sentences. It front-loads the primary action and outcome, then provides file path guidance in the second sentence, usage scenario in the third, and timeout behavior in the fourth. Every sentence adds value. It could be slightly more structured (e.g., separating the file path hint from the main behavior), but it is efficient and not bloated. Minor deduction for the ambiguous construction '调试插件到嘉立创EDA' which could be misparsed.
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 this is a 3-param tool with no output schema, the description is reasonably complete: it states what it does, the file path convention, the timeout success condition, and the error-return behavior. It lacks details about the return format (exact error content structure) and whether the plugin is loaded once or reloaded each call, which could matter for repeated invocations. But overall it provides enough context for an agent to decide to call it and understand the outcome. Not a 5 because the ambiguity around the load-monitor lifecycle and return shape could lead to misuse.
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 100%, so baseline is 3. The description adds context for pluginPath by specifying the build/dist directory and .eext suffix, which goes beyond the schema's '插件文件的绝对路径' (absolute path to plugin file). It also mentions timeout default in the description but that's already in the schema. It does not add anything about browserPath beyond the schema's description. Given full schema coverage, a 3 is appropriate; the path convention hint is a small bonus but not enough to raise to 4.
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+resource: '调试插件到嘉立创EDA并持续监听控制台,直到出现 error 日志时返回错误内容' (debug plugin in JLC EDA and continuously monitor console, returning error content when error log appears). It distinguishes itself from siblings like import_plugin (which imports a plugin) and get_console_logs (which just retrieves logs) by specifying it loads and monitors for errors with timeout behavior. Some ambiguity remains in the term '调试插件' which could mean 'debug the plugin' or 'debug plugin (as a noun)', but the sentence structure and following details clarify it's about debugging a plugin by loading it and monitoring console output.
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 states it is '适用于需要自动捕获插件运行错误的调试场景' (suitable for debugging scenarios requiring automatic capture of plugin runtime errors). It gives a condition for when to use it. It does not explicitly state when NOT to use it or name alternatives (e.g., use get_console_logs for manual log retrieval, or import_plugin for simple loading without monitoring). However, the clear scenario description plus the file path precondition ('调用前请先确认 pluginPath 指向该目录下的 .eext 文件') provides practical usage guidance. Missing explicit exclusion of alternatives prevents a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
easyeda_api_callB
调用目录内任一官方EasyEDA Pro API。仅允许自动生成白名单中的方法,不接受任意代码。
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| method | Yes | 完整方法ID,如 dmt_Project.getCurrentProjectInfo | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral disclosure burden. It does disclose one meaningful trait — the tool is a constrained bridge that rejects arbitrary code and only accepts auto-generated whitelist methods — which frames it as a safe, restricted dispatcher. However, it says nothing about validation failure behavior, error responses, or side effects, which matters for a no-annotation 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?
Two short sentences with zero wasted words. The action is front-loaded first and the safety constraint follows immediately; every clause 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 generic dispatcher spanning a huge API catalog with no output schema and no annotations, the description is too thin. It never tells the agent where the whitelist comes from, how to discover valid method IDs, or what happens for an unlisted method; given that siblings like easyeda_api_catalog and easyeda_api_describe exist, the lack of any pointer to them is a genuine 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 100% and the schema itself documents the parameters well (method format with a concrete example, args as a JSON array in official signature order, windowId defaulting to the active window). The description adds no parameter-specific information, so the baseline of 3 holds.
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 ('调用' / call) and resource ('目录内任一官方EasyEDA Pro API' — any official EasyEDA Pro API in the catalog), making it clear this is a generic API dispatcher. It is implicitly distinguished from the hundreds of specific sibling tools, which are the individual endpoints this tool invokes, though the relationship to those siblings is never made explicit.
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 invoke this generic dispatcher versus the many dedicated sibling tools exposing the same APIs, nor does it point the agent to sibling discovery tools like easyeda_api_search or easyeda_api_catalog. The whitelist constraint ('仅允许自动生成白名单中的方法') is a restriction, not actionable usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
easyeda_api_catalogA
列出当前包对接的官方EasyEDA Pro API版本、命名空间和方法数量。
| Name | Required | Description | Default |
|---|---|---|---|
No 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 it lists information, implying a read-only operation with no side effects. However, it doesn't describe the exact output format or any potential effects (e.g., requiring an active editor session). For a zero-parameter informational tool, this is adequate 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 that conveys the essential purpose without any filler. It is concise and immediately understandable.
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 informational tool, the description is complete. It tells the agent what information is returned (version, namespaces, method counts). No output schema exists, but the description provides enough high-level context to decide whether to call it. It could specify the return structure but isn't necessary for a catalog 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?
There are zero parameters, so the baseline is 4. The description adds no parameter-specific details because none exist. It correctly states what the tool returns without needing to explain 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: to list the official EasyEDA Pro API version, namespaces, and method counts for the current package. This is a specific verb-resource combination that distinguishes it from siblings like easyeda_api_search and easyeda_api_call.
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: call this tool when you need an overview of the API version and namespace structure. It doesn't explicitly mention alternatives or exclusions, but the purpose is so distinct that an agent can infer when to use it. Slight gap for not mentioning alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
easyeda_api_describeA
获取一个官方EasyEDA Pro API方法的完整签名、重载和说明。
| Name | Required | Description | Default |
|---|---|---|---|
| method | Yes | 完整方法ID,如 dmt_Project.getCurrentProjectInfo |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully convey behavioral traits. It states the return content (signature, overloads, description) but does not mention side effects, authentication needs, error behavior (e.g., if the method ID is invalid), or whether it can be called anytime. The description is too sparse to inform an agent about edge cases or operational 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, succinct sentence that directly states the tool's functionality. There is no redundant information, and the key purpose is stated upfront. It is appropriately concise for a lookup 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 is a simple documentation lookup, the description communicates what it returns, which is generally sufficient. However, lacking an output schema, it does not describe the exact structure of the response (e.g., JSON format or fields), and it does not mention any conditions or limitations. For a tool with many siblings and subtle differences, more contextual guidance would be helpful.
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 already provides a clear description for the 'method' parameter, including an example. The tool description itself does not add further parameter details. With 100% schema coverage, the baseline of 3 applies; the description only reinforces the schema's content without adding new 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?
Description clearly states the tool retrieves the complete signature, overloads, and description of an official EasyEDA Pro API method. It uses a specific verb (获取/get) and resource (API方法/API method), and differentiates from sibling tools like easyeda_api_call (which invokes) and easyeda_api_search (which searches for methods).
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: if you need to understand a method's signature before calling it, this is the tool. However, it does not explicitly state when to use this over alternatives or mention any prerequisites. No exclusions are given, so an agent must infer the appropriate context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
easyeda_api_searchA
按方法名、命名空间、说明或参数类型搜索全部官方EasyEDA Pro API。
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | 最大结果数,默认50 | |
| query | No | 搜索词;省略时列出指定命名空间的方法 | |
| namespace | No | 精确命名空间,如 pcb_PrimitiveTrack | |
| includeDeprecated | No | 是否包含已弃用API,默认false |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description should carry the burden. It mentions that omitting query lists methods in a namespace, which is a useful behavioral detail. However, it doesn't disclose pagination behavior, default limit behavior, or whether the search is case-insensitive. It adds some value but leaves 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, concise sentence that is front-loaded with the main purpose and search dimensions. No unnecessary 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 is simple with no output schema, and the schema covers parameters well. However, for a search tool, it would be useful to know if there are any response format details or limitations. The description is adequate but could clarify behavior like result ranking or filtering.
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%, so the schema already describes all parameters. The description adds no additional parameter semantics beyond what's in the schema. Since coverage is high, baseline 3 is appropriate.
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: searching all official EasyEDA Pro APIs by method name, namespace, description, or parameter type. It specifies the resource (official APIs) and the action (search). It doesn't explicitly differentiate from sibling tools like easyeda_api_catalog or easyeda_api_describe, but the search aspect is 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?
The description implies usage for finding API methods, but it doesn't explicitly state when to use this versus siblings like easyeda_api_catalog or easyeda_api_describe. The schema provides optional parameters that hint at use cases (e.g., query vs namespace), but no explicit guidance is given in the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
easyeda_bridge_statusB
检查 EasyEDA API Bridge 和当前连接的嘉立创EDA窗口。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description alone must disclose behavioral traits. It only says 'check', implying a read-only operation, but does not state side effects, required permissions, or whether it could fail or time out. No information about the output or what 'status' means is provided.
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. It is front-loaded with the action and targets, making it easy to scan. Every word 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 no output schema, so the description should explain what the check returns or what status details are provided. It only says 'check', leaving the agent without expectations of the result format (e.g., boolean, details object). This is inadequate for a status-checking 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 tool has 0 parameters, so the schema provides full coverage. Baseline for 0-param tools is 4. The description does not need to explain parameters, and it does not add unnecessary 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 '检查 EasyEDA API Bridge 和当前连接的嘉立创EDA窗口' uses a specific verb (check) and names two concrete resources: the API Bridge and the currently connected JLC EDA window. This clearly distinguishes it from sibling tools like easyeda_api_call or easyeda_select_window, which perform different actions.
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. It provides no context about typical scenarios (e.g., diagnostics before calling other APIs) or when not to use it. The agent must infer its purpose from the name and minimal description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
easyeda_select_windowB
当连接了多个嘉立创EDA窗口时,选择后续API调用使用的窗口。
| Name | Required | Description | Default |
|---|---|---|---|
| windowId | Yes | easyeda_bridge_status 返回的窗口ID |
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 the tool selects a window for subsequent API calls, which implies a stateful side effect (changing the active window context). However, it doesn't disclose whether this is persistent, whether it affects other windows, whether it can be undone, or what happens if the windowId is invalid. For a state-changing tool with zero annotation coverage, 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 concise sentence that front-loads the condition ('当连接了多个嘉立创EDA窗口时') and states the action. It's efficient with no wasted words. It could arguably add a bit more behavioral detail, but for its length it's 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?
This is a stateful selection tool with no annotations and no output schema. The description doesn't explain the return value, error behavior, or whether the selection persists across calls. Given the tool's role in routing subsequent API calls, an agent would benefit from knowing what happens after selection and how to verify it. The description is minimal and leaves these 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 100%, so the schema already documents the windowId parameter. The description adds the context that the windowId comes from easyeda_bridge_status, which is useful but not essential since the schema already says this. Baseline 3 is appropriate when the schema does the heavy lifting.
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 ('选择' = select) and resource ('窗口' = window), and clarifies the context (when multiple EasyEDA windows are connected). It clearly distinguishes this from the sibling easyeda_bridge_status, which presumably reports status, while this tool selects the active window for subsequent API calls. However, it doesn't explicitly name the sibling alternative, so it's clear but not fully differentiated.
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 this tool: when multiple windows are connected and you need to choose which one subsequent API calls target. It doesn't explicitly state when not to use it or name alternatives like easyeda_bridge_status. The context is implied rather than explicit, so it's adequate but has gaps.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_board_copy_boardC
dmt_Board.copyBoard(sourceBoardName: string) -> Promise<string | undefined>
复制板子
returns: 新板子名称,如若为 undefined 则复制失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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. It discloses the return value (new board name or undefined on failure) but provides no information about side effects (e.g., whether the copy is deep or shallow), permissions required, or consequences of the operation. This is insufficient 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 extremely short (a signature and a phrase), which is concise, but it lacks structure and front-loading of key information. It mixes code and natural language without clear organization. It earns a middle score because it is brief, but not well-structured for an agent to parse efficiently.
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 (copy a board) and the schema covers parameters, but the description omits usage guidelines and behavioral details. There is no information about where the copy is placed, how to verify success beyond the return, or any prerequisites. An agent would be uncertain about how to correctly invoke this tool in practice.
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 includes the signature with sourceBoardName, but does not explain how to map it to the args array or the windowId parameter. The schema descriptions for args and windowId are generic and do not specify the content for this tool. The description adds no practical meaning beyond the raw signature, and the schema already covers the parameters at 100% 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 states '复制板子' (copy board) and includes the function signature with the parameter name and return type. This clearly identifies the tool's purpose: to copy a board. It is distinguishable from siblings like create_board and delete_board, though it doesn't 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?
There is no guidance on when to use this tool versus other board operations (create, delete, modify). No prerequisites, target audience, or conditions for use are provided. The description simply states the action without context on when it's appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_board_create_boardA
dmt_Board.createBoard(schematicUuid?: string, pcbUuid?: string) -> Promise<string | undefined>
创建板子
returns: 板子名称,如若为 undefined 则创建失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since annotations are entirely absent, the description carries the full burden. It does disclose the return value (board name) and the failure condition (undefined), which is useful. However, it does not describe side effects, whether an active document is required, how the optional UUIDs are used, or any potential preconditions. This is partial transparency, not complete.
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, including the signature, Chinese phrase, and return explanation. It is front-loaded with the signature and clear about the output. Mixing English and Chinese is minor. It is efficient but not perfectly structured for an AI parser since it's prose-like.
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 create operation, the description offers the return type and failure indication but lacks context on prerequisites (e.g., active project/document), behavior when optional parameters are omitted, and any naming or collision considerations. The windowId parameter is only explained in the schema, not in the description. Overall, an agent could call it but may not understand the full 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 input schema only provides a generic 'args' array, so the description's signature (schematicUuid?: string, pcbUuid?: string) adds critical meaning about parameters and order. It compensates for the schema's lack of per-argument detail. However, it does not explain what these UUIDs represent or the effect of omitting them, leaving some semantic 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 tool creates a board ('创建板子') and provides the exact method signature with parameter names and types. It is unambiguous and distinguishes itself from sibling tools like copy_board, delete_board, and modify_board_name by the action 'create'.
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 (e.g., when to create a new board vs. copy an existing one). No prerequisites are mentioned (e.g., needing an active project), and no exclusions are given. An agent is left to infer when creation is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_board_delete_boardB
dmt_Board.deleteBoard(boardName: string) -> Promise
删除板子
remarks: 如若指定板子不存在,接口将返回 false 的结果,表示操作失败
returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses an important behavior: if the board does not exist, the call returns `false` instead of throwing, and the return value indicates success. However, with no annotations, it leaves gaps about side effects, irreversibility, and permissions, which are relevant to 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 compact and front-loaded with the function signature, followed by a short Chinese explanation, a remark, and a return note. Some redundancy exists between the tool name, the signature, and the Chinese text, but the overall length 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?
The description explains the basic behavior and failure mode but omits important context such as how `boardName` is resolved (display name vs. UUID), the role of `windowId`, and any prerequisite or consequences beyond the boolean return. For a destructive tool with no annotations and no output schema, more context would be valuable.
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 the actual parameter name and type `boardName: string` and return type `Promise<boolean>`, which the generic `args` schema does not name. This helps an agent understand what to put in the positional args array, beyond the schema's generic 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 verb and resource: 'dmt_Board.deleteBoard' and '删除板子' (delete board), making the operation clear. However, it does not explicitly contrast with sibling tools like create or copy board, so differentiation relies on the tool name rather than the description.
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, prerequisites, or conditions. The description does not mention scenarios, exclusions, or related tools for other resource types.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_board_get_all_boards_infoB
dmt_Board.getAllBoardsInfo() -> Promise<Array> 获取工程内所有板子的详细属性 returns: 所有板子的详细属性的数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 states the return type (Promise<Array<IDMT_BoardItem>>) and that it returns an array of detailed properties, but it doesn't disclose whether this is a read-only operation, whether it requires an active project, what happens if no boards exist, or any side effects. For a getter with no annotations, 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: a code signature line, a one-line Chinese summary, and a return-type note. It's front-loaded with the core purpose and has no filler. The bilingual mix is slightly redundant (the Chinese repeats the English signature), but it's still efficient and scannable.
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 getter with no output schema and no annotations, the description provides the essential purpose and return type. However, it lacks details about the structure of IDMT_BoardItem, whether the operation requires an open project, and how it differs from the sibling get_board_info/get_current_board_info. Given the tool's simplicity, this is adequate but not 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 100%, so the schema already documents both parameters (args and windowId). The description adds no parameter-specific meaning beyond the schema, but the baseline of 3 applies because the schema covers the parameters fully. The description's mention of '工程内' (in the project) provides some context for the windowId parameter's scope, but not explicitly.
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 and resource: '获取工程内所有板子的详细属性' (get detailed properties of all boards in the project), which clearly identifies the tool's function. It distinguishes from siblings like eda_dmt_board_get_board_info and eda_dmt_board_get_current_board_info by the 'all boards' scope, though it doesn't explicitly name those 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?
The description implies usage context: it retrieves all boards' detailed properties in the project, which is distinct from single-board or current-board getters. However, it provides no explicit when-to-use guidance, no exclusions, and no mention of alternatives. The context is clear enough for an agent to infer when to use it, but it doesn't explicitly guide selection among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_board_get_board_infoB
dmt_Board.getBoardInfo(boardName: string) -> Promise<IDMT_BoardItem | undefined>
获取板子的详细属性
returns: 板子的详细属性,如若为 undefined 则获取失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 state the return type (Promise<IDMT_BoardItem | undefined>) and that undefined means failure, which is some transparency. However, it does not disclose that this is a read-only operation, whether the board must already exist, or what properties are returned. For a tool with zero annotation coverage, this is insufficient 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 extremely short – essentially a signature, a Chinese phrase, and a return note. It avoids fluff and conveys the core purpose efficiently. However, it is so brief that it omits potentially useful context, but conciseness itself is not penalized for being short; it earns a 4 for being to the point without 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 simple getter with no output schema, the description covers the return type and the undefined failure case. It does not explain the role of windowId (though the schema covers it), whether the board must be open in the current window, or what specific properties are included. Given the tool's simplicity, it is minimally complete but leaves room for ambiguity about prerequisites and result content.
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 100% description coverage, providing generic explanations for args and windowId. The tool description adds specific meaning by including the function signature 'dmt_Board.getBoardInfo(boardName: string)', which clarifies that the args array should contain a boardName string. This goes beyond the schema's generic 'JSON参数数组' and is valuable for constructing correct calls.
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 (获取板子的详细属性 – get board detailed properties) and the resource (板子/board). It includes the full function signature with parameter name, so an agent knows it retrieves info for a named board. However, it does not differentiate from sibling tools like eda_dmt_board_get_current_board_info or eda_dmt_board_get_all_boards_info, so it's not clear when to pick this over 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?
There is no guidance on when to use this tool versus alternatives. The description does not mention that this is for a specific board by name, nor does it exclude cases where get_current_board_info or get_all_boards_info would be more appropriate. An agent is left to infer usage from the name and signature.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_board_get_current_board_infoA
dmt_Board.getCurrentBoardInfo() -> Promise<IDMT_BoardItem | undefined>
获取当前板子的详细属性
remarks: 将会获取当前打开且拥有最后输入焦点的原理图、PCB 所关联的板子的详细属性
returns: 板子的详细属性,如若为 undefined 则获取失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 the return type (Promise<IDMT_BoardItem | undefined>), the failure condition (undefined means retrieval failed), and the precise selection semantics ('last input focus'). This is strong for a read-only getter, though it does not enumerate the fields of IDMT_BoardItem or explicitly state that no modifications occur.
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 well-structured with a signature line, a one-sentence summary, and dedicated remarks/returns fields. The API signature line is slightly redundant with the tool name and return info, but it is informative rather than wasteful. Every line 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 simple getter with no output schema, the description adequately covers the operation, the meaning of 'current', and the failure return. However, the structure of IDMT_BoardItem is left undocumented, and the generic 'args' parameter remains a black box, which limits how confidently an agent can interpret the result or specify 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 100%, so the schema already documents both args and windowId. The description itself does not add any parameter-level meaning beyond what the schema states; if anything, the args content remains an opaque array with empty item schema. Baseline 3 is appropriate.
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: '获取当前板子的详细属性' (get detailed properties of the current board). The remarks further clarify the scope by specifying that it targets the board associated with the currently open and last-input-focused schematic/PCB, which distinguishes it from related tools like get_board_info. It does not explicitly name sibling alternatives, so it stops 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 remarks provide clear context for when this tool applies: when there is a currently open schematic/PCB with last input focus. However, it does not explicitly state when to prefer alternatives (e.g., get_board_info for a specific board UUID, or get_all_boards_info for listing), nor does it give exclusions. The usage 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.
eda_dmt_board_modify_board_nameC
dmt_Board.modifyBoardName(originalBoardName: string, boardName: string) -> Promise 修改板子名称 returns: 是否修改成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 mentions that it returns a boolean indicating success, but does not disclose that this is a mutating operation, any side effects, permission requirements, or whether the operation is destructive. The lack of warning about changing state 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 extremely concise, consisting of a function signature, a Chinese phrase, and a return type note. It is front-loaded with the essential signature. While it is under-specified in other dimensions, this dimension rewards brevity and structure; the signature is a useful component and there is 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?
For a simple rename tool with two parameters and a boolean return, the description is insufficient. It does not explain the meaning of the parameters, any constraints (e.g., uniqueness of names), or how to pass the arguments (the schema's args array is described only as a JSON array). An agent would have to guess the parameter order and semantics from the signature alone, which is risky.
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 parameter names and types via the signature (originalBoardName: string, boardName: string), which is more than the schema offers since the schema only has an args array with no item description. However, it does not explain the semantic difference between the two parameters (e.g., original is the current name, new is the target). The description partially compensates for the schema's lack of parameter detail but not fully.
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 (modify board name) and the resource (board) via the function signature and Chinese phrase '修改板子名称'. However, it does not differentiate from similar sibling tools like eda_dmt_folder_modify_folder_name or eda_dmt_panel_modify_panel_name, though the name itself is unambiguous. The verb and resource are specific, but no additional context is given to distinguish it beyond 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, no mention of prerequisites (e.g., the board must exist), and no exclusions. The description is purely a function signature with no contextual advice for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_editor_control_activate_documentA
dmt_EditorControl.activateDocument(tabId: string) -> Promise 激活文档 remarks: 切换到指定文档的标签页,并将输入焦点置于其中 returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description carries the full burden. It discloses the core behavior (tab switch + focus) and the boolean success return, but doesn't mention failure cases, prerequisites (e.g., tabId must exist), or confirm there are no content-modifying 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 organized into signature, Chinese summary, remarks, and returns, with no filler. The '激活文档' summary line is slightly redundant with the remarks, but overall the structure is 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?
Given a simple one-argument operation and high schema coverage, the description is mostly adequate. However, with no annotations and no output schema, it does not explain what happens on invalid tabId, how to obtain a valid tabId, or how this tool relates to the many sibling editor_control 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 coverage is 100% and windowId is already described in the schema. The description adds value beyond the schema by exposing the exact signature `tabId: string` and tying tabId to the 'specified document' in the remarks, which helps an agent construct the args array.
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 specific action—'activate document' / 'switch to the tab of the specified document and put input focus in it'—with a clear resource (document tab) and a tabId parameter. It does not explicitly contrast itself with sibling open/close/split-screen 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?
The remark 'switch to the tab of the specified document' implies the document is already open and the tool is for activating an existing tab, not opening one. There is no explicit when/when-not guidance or mention of alternatives such as open_document, so usage is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_editor_control_activate_split_screenC
dmt_EditorControl.activateSplitScreen(splitScreenId: string) -> Promise 激活分屏 remarks: 使输入焦点 returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 the tool activates a split screen and returns a boolean success indicator, and remarks that it sets input focus. However, it doesn't disclose side effects (e.g., whether it changes the active window, whether it fails if the splitScreenId is invalid, or whether it affects other split screens). The return type is stated in the signature, but behavioral details are thin.
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: a signature line, a short Chinese summary, and two brief remarks. It front-loads the essential information. The mixed-language content (English signature with Chinese remarks) is a minor structural issue but doesn't waste 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 tool with no annotations and no output schema, the description is thin. It doesn't explain how to obtain a splitScreenId (e.g., via get_split_screen_tree or get_split_screen_id_by_tab_id), what happens if the ID is invalid, or how the boolean return should be interpreted beyond 'success'. The sibling tools suggest a rich split-screen management context, and this description doesn't position the tool within 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 100% for the two parameters (args array and windowId), but the description itself only mentions splitScreenId in the signature. The description adds the meaning of the primary parameter (splitScreenId) and the return type, but doesn't explain the args array format or the windowId parameter beyond what the schema already says. Baseline 3 is appropriate since the schema covers the 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 a specific verb+resource: 'dmt_EditorControl.activateSplitScreen(splitScreenId: string) -> Promise<boolean>' and includes a Chinese summary '激活分屏' (activate split screen). It clearly identifies the action and target. However, it doesn't explicitly distinguish itself from sibling tools like create_split_screen or move_document_to_split_screen, though the name itself is fairly self-explanatory.
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 on when to use this tool versus alternatives. The description doesn't mention prerequisites (e.g., a split screen must already exist), when it's appropriate to call, or when to prefer create_split_screen or other split-screen management tools. The 'remarks: 使输入焦点' (make input focus) hints at the effect but doesn't provide usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_editor_control_close_documentB
dmt_EditorControl.closeDocument(tabId: string) -> Promise 关闭文档 returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description states the return value ('Promise<boolean>', '操作是否成功') and the core side effect of closing a document. With no annotations, it does not disclose important behavioral details such as handling of unsaved changes or whether a specific tab is required, leaving the safety profile 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?
Three short lines carry the signature, the action, and the return meaning without redundancy. Every phrase earns its place and the essential info 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?
For a simple close operation, the core semantics are present, but the wrapper schema (args array, optional windowId) is never tied to a concrete invocation. The description also omits how to determine the tabId and any behavior around unsaved work, so an agent has to infer too much.
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 100%, so the baseline is 3. The description adds the method signature with tabId:string and the schema explains args are in official signature order, but neither explains what a tabId refers to beyond its obvious 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 gives the exact API signature 'dmt_EditorControl.closeDocument(tabId: string)' and the Chinese '关闭文档', clearly identifying the action and resource. It does not explicitly contrast with sibling controls such as open_document or activate_document, so it stops one step short of full sibling 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 choose this tool over alternatives, nor any prerequisites or exclusions. An agent must infer from the name alone that closing a document is the use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_editor_control_create_split_screenC
dmt_EditorControl.createSplitScreen(splitScreenType: EDMT_EditorSplitScreenDirection, tabId: string) -> Promise<{ sourceSplitScreenId: string; newSplitScreenId: string } | undefined>
创建分屏
returns: 分屏 ID,sourceSplitScreenId 代表源分屏,newSplitScreenId 代表新分屏
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 return value shape (sourceSplitScreenId and newSplitScreenId) and that it may return undefined, which is useful. However, it does not mention side effects, such as whether the split screen is immediately visible, whether it requires a specific editor state, or what happens if the tabId is invalid. The description is minimal and does not add behavioral context beyond the signature.
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, containing the signature, a short Chinese phrase '创建分屏' (create split screen), and a return value explanation. It is front-loaded with the action and signature. The bilingual content is slightly redundant but not wasteful. It earns a 4 for being concise and structured, though the Chinese description is not necessary.
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 no annotations, no output schema, and only a generic args array, the description should provide more context. It explains the return value but lacks information about the splitScreenType enum values, how to obtain a tabId, and what 'undefined' means in practice. The sibling tools suggest a rich split-screen management system, and this description does not fully equip an agent to call it correctly without additional lookups.
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 100% description coverage for its two parameters (args and windowId), but the descriptions are generic: 'args' is a JSON array in official signature order, and 'windowId' targets a window. The description adds the method signature with parameter names and types (splitScreenType: EDMT_EditorSplitScreenDirection, tabId: string), which helps map args to meaningful values. However, it does not explain the enum values for splitScreenType or the format of tabId. Baseline 3 is appropriate since the schema covers the parameters but the description adds some semantic 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 a specific verb ('create') and resource ('split screen'), and includes the method signature with parameter types and return type. It is clear this tool creates a split screen in the editor. However, it does not explicitly differentiate from sibling tools like activate_split_screen or get_split_screen_tree, though the name and action are 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?
The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, such as needing an active document or tab, nor does it explain when a split screen would be appropriate. The only context is the signature and a brief Chinese description, which implies usage but does not state it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_editor_control_generate_indicator_markersB
dmt_EditorControl.generateIndicatorMarkers(markers: Array, color?: { r: number; g: number; b: number; alpha: number }, lineWidth?: number, zoom?: boolean, tabId?: string) -> Promise
生成指示标记
remarks: 指示标记外形数据中,原理图、符号画布坐标单位跨度为 0.01inch,PCB、封装画布坐标单位跨度为 mil
returns: 指示标记生成是否成功,false 表示画布不支持该操作或 tabId 不存在
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 does add valuable context: the coordinate-unit remark (0.01inch for schematic/symbol canvases, mil for PCB/footprint canvases) and the return semantics ('false' means the canvas doesn't support the operation or tabId doesn't exist). However, it doesn't state whether this is a persistent/visible mutation or how existing markers are affected, leaving the safety profile partly 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 dense but efficient: a signature line, a short purpose in Chinese, a unit remark, and a return explanation. Each element earns its place. It is front-loaded with the signature and purpose. Slightly fragmented across purpose/remarks/returns, but no wasted sentences.
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 generation tool with no annotations and no output schema, the description covers the return value and unit considerations well. However, the IDMT_IndicatorMarkerShape type is never detailed, so an agent doesn't know the required marker fields. Given the complexity of the marker shape structure, this is a meaningful gap, though the unit remark and failure conditions mitigate 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?
The schema is generic (args array, windowId) with 100% coverage, but the description compensates by spelling out the full signature with parameter types: markers, color {r,g,b,alpha}, lineWidth, zoom, tabId. This adds real meaning beyond the schema, particularly the color object shape and the optional tabId for targeting a specific tab.
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 verb and resource: '生成指示标记' (generate indicator markers) with a full method signature. It is distinguishable from its sibling eda_dmt_editor_control_remove_indicator_markers, which is the inverse operation. It doesn't explicitly name the sibling, but the intent 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?
There is no guidance on when to use this tool versus alternatives such as the remove_indicator_markers sibling, nor any prerequisites (e.g., an active canvas or document). The context in which generation applies is only implied by the tabId/windowId parameters. No exclusions or conditions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_editor_control_get_current_rendered_area_imageB
dmt_EditorControl.getCurrentRenderedAreaImage(tabId?: string) -> Promise<Blob | undefined> 获取画布渲染区域图像 returns: - 画布渲染区域的 Blob 格式图像数据
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 does disclose the core behavior: it retrieves the canvas rendered area and returns image data as a Blob, with the signature exposing that it may also return undefined. However, it does not explain edge cases, whether it captures the current viewport or full canvas, or the image MIME type.
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 concise and front-loaded with the signature and core purpose. Every line serves a useful role, though the overall entry is terse and could include slightly more behavioral 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?
The tool is simple, has no required parameters, and the schema already describes windowId, so the missing output schema is partially compensated by the return type in the signature. Still, the description does not clarify what 'current' means, when undefined is returned, or what image format the Blob contains, leaving some ambiguity for an agent deciding whether this tool is appropriate.
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%, so the baseline is 3. The description adds the tabId?: string parameter in the signature, which helps clarify the first positional argument, but it does not explain tabId's semantics or how it interacts with windowId beyond what the generic args array and windowId description already provide.
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 and target: '获取画布渲染区域图像' (get the canvas rendered area image), backed by the explicit signature showing it returns a Blob. It is specific enough to be understood as a getter for the current editor canvas area, though it does not explicitly differentiate itself from other image-producing 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 about when to use this tool versus alternatives, and no exclusions or prerequisites are mentioned. Siblings such as eda_sch_manufacture_data_get_png_file or eda_lib_symbol_get_render_image also produce images, but the description does not explain how this tool differs or when it should be preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_editor_control_get_split_screen_id_by_tab_idB
dmt_EditorControl.getSplitScreenIdByTabId(tabId: string) -> Promise<string | undefined> 使用标签页 ID 获取分屏 ID returns: 分屏 ID
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that the return is a Promise resolving to string or undefined, indicating the tool may return no result if the tab is not found. However, since no annotations are provided, the description carries the burden of behavioral disclosure. It does not mention any side effects, error conditions, or requirements (e.g., whether a specific window must be active). For a simple getter, this is minimal but adequate.
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, consisting of a signature, a one-line Chinese purpose statement, and a return note. It is front-loaded with the signature, but the purpose and return are repeated in both English and Chinese, introducing minor redundancy. Overall, it is efficient 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?
For a simple lookup tool with a single conceptual parameter and a well-defined return, the description, combined with the schema, is nearly complete. It covers the purpose and return type, and the schema documents both invocation parameters. A minor gap is that the description's signature omits the windowId parameter, which the schema does document, so an agent relying solely on the description might overlook it. Still, given the tool's simplicity, it is adequately 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 function signature in the description names the primary parameter tabId and its type, which adds clarity beyond the schema's generic 'args' array. However, the description does not explain what a tab ID is or where to obtain it. The schema itself provides descriptions for args and windowId, giving 100% coverage, so the description's contribution is modest but non-redundant.
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 function: get a split screen ID from a tab ID (using tab ID to get split screen ID). It includes the method signature and return type, making the purpose unambiguous. However, it does not contrast with the sibling tool get_tabs_by_split_screen_id, which performs the reverse mapping, 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?
No guidance is provided on when to use this tool versus alternatives. The description simply states what it does without mentioning prerequisites, when it is appropriate, or exclusions. An agent must infer from the tool name and sibling names that it is for mapping a tab to a split screen, but no explicit usage guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_editor_control_get_split_screen_treeB
dmt_EditorControl.getSplitScreenTree() -> Promise<IDMT_EditorSplitScreenItem | undefined>
获取编辑器分屏属性树
returns: 编辑器分屏属性树,如若为 undefined,则数据获取失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the behavioral disclosure burden. It adds useful context by declaring the return type `Promise<IDMT_EditorSplitScreenItem | undefined>` and explaining that `undefined` means data retrieval failed. However, it does not mention side effects, permissions, or whether the active window is required.
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 method signature, followed by a one-line purpose and a return-value note. It contains minimal redundancy, though the return line partly repeats the Chinese purpose phrase.
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 getter with zero required parameters, the return type and failure semantics are helpful and mostly sufficient. Still, it lacks usage guidance, clarification of the `args` array, and any behavioral notes beyond the return value, so 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 100%, with both `args` and `windowId` already described in the input schema. The description adds no further parameter semantics, so the baseline score of 3 is appropriate.
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 exact API method (`dmt_EditorControl.getSplitScreenTree()`) and states the purpose in Chinese: '获取编辑器分屏属性树' (get the editor split-screen property tree). This specific verb+resource pairing makes it distinguishable from sibling split-screen getters like `get_split_screen_id_by_tab_id` and `get_tabs_by_split_screen_id`.
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, nor any mention of when not to use it. The method signature and name imply a simple getter, but no explicit usage context 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.
eda_dmt_editor_control_get_tabs_by_split_screen_idA
dmt_EditorControl.getTabsBySplitScreenId(splitScreenId: string) -> Promise<Array> 获取指定分屏 ID 下的所有标签页 returns: 标签页列表
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It does disclose the return type and the fact that a tab list is returned, implying a read-only getter, but it does not mention behavior for invalid IDs, empty results, or any 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: a signature line, a one-line Chinese purpose, and a return note. It has almost no filler, though the purpose is restated in both the signature and the Chinese sentence, which is minor duplication.
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 getter, this is mostly adequate: it names the parameter, return type, and operation. However, since there is no output schema, it does not describe the shape of IDMT_EditorTabItem, and the mapping between splitScreenId and the args array is left implicit rather than explicit.
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 describes args generically and windowId specifically, and the description adds the splitScreenId parameter name and type through the method signature. It still does not explicitly state that splitScreenId must be placed as the first element of the args array, nor does it describe IDMT_EditorTabItem fields.
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 specifies a clear action ('获取' / get), a clear resource (all tabs under a given split screen ID), and a concrete return type (Promise<Array<IDMT_EditorTabItem>>). It is easily distinguished from sibling tools like get_split_screen_id_by_tab_id, which performs the reverse lookup.
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 intended usage is implied: call this when you have a splitScreenId and need all tabs in that split screen. However, there is no explicit guidance on when not to use it or which sibling tool, such as get_split_screen_tree, would be more appropriate for broader split-screen queries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_editor_control_merge_all_document_from_split_screenA
dmt_EditorControl.mergeAllDocumentFromSplitScreen() -> Promise 合并所有分屏 remarks: 仅当存在子分屏时可用,将会取消所有子分屏,并将所有文档标签页合并到初始分屏内 returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the disclosure burden. It reveals the destructive side effect: closing all child split screens, and states the return type (Promise<boolean>). It also documents the precondition. This is solid but stops short of warning about irreversibility or any confirmation prompts.
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 well-organized, leading with the method signature, then a one-line summary, remarks, and returns. Every sentence adds information and there is 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?
For a mutating tool with no annotations, the description states purpose, precondition, side effects, and return value. The schema fills in parameter semantics. A minor gap is the lack of explicit guidance on whether args should be an empty array given the zero-parameter signature, but the signature itself implies this.
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 high (100%) and already explains both parameters: args is a JSON array in official signature order, and windowId targets a window or defaults to active. The description adds no parameter-specific detail, so the baseline 3 applies.
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: 'merge all split screens' and specifies the effect: cancel all child split screens and merge document tabs into the initial split screen. The verb-resource pairing is specific and distinct from sibling split-screen tools, though it does not explicitly name an alternative.
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 states an explicit precondition: '仅当存在子分屏时可用' (only available when child split screens exist), which tells the agent when to call it. It does not mention alternatives or when not to use it, but the precondition is clear and useful.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_editor_control_move_document_to_split_screenB
dmt_EditorControl.moveDocumentToSplitScreen(tabId: string, splitScreenId: string) -> Promise 将文档移动到指定分屏 remarks: 移动文档后,编辑器分屏属性树可能会出现变化 returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 add a useful side-effect note ('移动文档后,编辑器分屏属性树可能会出现变化' – property tree may change) and states the return contract (boolean success). However, it does not disclose whether the document is removed from its original location, whether the operation is reversible, or any permission requirements – gaps that matter for a mutating 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 compact and information-dense: signature, one-line purpose, remarks, and return value – each line earns its place. Slight improvement would be leading with the purpose rather than the signature, but overall it is efficiently 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?
Adequate for a 2-parameter tool with no output schema, covering purpose, signature, one side effect, and return semantics. However, it lacks workflow context: how to source tabId/splitScreenId, the precondition that a target split screen must exist, and confirmation of whether the source split screen loses the document. These are material gaps for 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 100%, so baseline is 3. The description adds value by exposing the parameter names and types (tabId: string, splitScreenId: string) in the signature line, which compensates for the generic 'args' array in the schema. However, it does not explain how to obtain valid tabId or splitScreenId values (e.g., via get_tabs_by_split_screen_id or get_split_screen_id_by_tab_id).
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 ('将文档移动到指定分屏' – move document to specified split screen) with the signature showing tabId and splitScreenId, making the verb, resource, and target explicit. It reads distinctly from siblings like create_split_screen or activate_split_screen, though it does not explicitly name its closest 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 when-to-use guidance is given. There is no mention that a split screen must already exist (e.g., via create_split_screen), no indication of when to prefer this over merge_all_document_from_split_screen or tile_all_document_to_split_screen, and no exclusions or prerequisites. The remarks only describe a side effect, not usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_editor_control_open_documentB
dmt_EditorControl.openDocument(documentUuid: string, splitScreenId?: string) -> Promise<string | undefined>
打开文档
returns: 标签页 ID,如若为 undefined,则打开文档失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It does disclose the success/failure semantics (returns a tab ID, or undefined on failure), which is useful. However, it does not mention side effects on the current window/tab, whether the document must already be loaded, or what happens if the document is already open.
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-loads the exact API signature followed by the Chinese purpose and return explanation. It contains no filler, though it is brief enough that some of the missing contextual detail could have been added without bloating it.
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 open-document operation, the description covers the essential return behavior and failure signal, and the schema covers windowId. It remains incomplete because it does not explain how to obtain a valid documentUuid, how splitScreenId affects behavior, or when to prefer the sibling open_library_document 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 schema only exposes a generic args array and windowId, so the description's signature is essential: it documents documentUuid as a string and splitScreenId as an optional string. This adds real meaning beyond the schema's generic JSON-array placeholder.
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 operation clearly: '打开文档' (open document) and provides the exact method signature openDocument(documentUuid, splitScreenId). It identifies a specific verb, resource, and return value (tab ID), but does not explicitly differentiate itself from the sibling eda_dmt_editor_control_open_library_document.
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 open_library_document, activate_document, or close_document. The description implies its use from the name but provides no selection criteria, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_editor_control_open_library_documentC
dmt_EditorControl.openLibraryDocument(libraryUuid: string, libraryType: ELIB_LibraryType.SYMBOL | ELIB_LibraryType.FOOTPRINT, uuid: string, splitScreenId?: string) -> Promise<string | undefined>
打开库符号、封装文档
returns: 标签页 ID,如若为 undefined,则打开文档失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It only mentions return value (tab ID or undefined for failure) but does not disclose side effects, prerequisites, or whether it changes the active tab or requires permissions. For an opening action, this is 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?
The description is short and front-loaded with the signature, which is useful. It avoids verbosity and includes essential return information, though it could be more organized by separating signature from 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?
For a document-opening tool, it gives signature, return value, and failure condition. But it lacks context on when to use it, whether splitScreenId is optional and its purpose, and any required setup. Given no annotations, it is incomplete but not severely lacking.
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 includes the full signature with parameter names and types (libraryUuid, libraryType with enum, uuid, splitScreenId), providing more detail than the generic args array schema. However, it does not explain the meaning of each parameter beyond its name (e.g., what libraryUuid and uuid refer 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 clearly states the tool opens library symbol and footprint documents, with the full function signature and return type. It distinguishes from siblings like open_document by specifying 'library' documents, though it doesn't explicitly contrast with similar open 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 on when to use this tool versus alternatives like eda_dmt_editor_control_open_document or library-specific open tools. It lacks conditions for choosing this over other open or activate tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_editor_control_remove_indicator_markersB
dmt_EditorControl.removeIndicatorMarkers(tabId?: string) -> Promise
移除指示标记
remarks: 本接口会移除所有已生成的指示标记
returns: 指示标记移除是否成功,false 表示画布不支持该操作或 tabId 不存在
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 the interface removes ALL generated indicator markers, and that returning false means the canvas doesn't support the operation or tabId doesn't exist. However, it doesn't mention whether removal is destructive/reversible or any side effects beyond the return value.
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, mixing a signature with a short Chinese explanation and remarks. It's front-loaded with the purpose and includes return semantics without unnecessary 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 removal tool, it explains the all-removal behavior and the boolean return meaning. It doesn't clarify behavior when tabId is omitted (though schema implies optionality), but this is minor for a tool of this simplicity.
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% for both args and windowId. The description adds the function signature showing tabId as an optional parameter, but provides no additional semantics about tabId beyond what the schema implies. It's baseline 3.
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 operation: '移除指示标记' (remove indicator markers). It's a specific verb+resource, not a tautology. It doesn't explicitly differentiate from the sibling generate_indicator_markers, but the inverse nature is obvious from the names.
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 generate counterpart or any alternatives. There's no mention of prerequisites (e.g., that markers must already exist) or when removal is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_editor_control_tile_all_document_to_split_screenA
dmt_EditorControl.tileAllDocumentToSplitScreen() -> Promise 平铺所有文档 remarks: 仅当不存在子分屏时可用,将会自动为所有已打开的文档标签页创建分屏 returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 primary effect (creating split screens for all open tabs) and the return type (boolean). However, it does not describe what happens if the precondition is violated, whether existing split screens are replaced, or any side effects on the UI layout. This is moderate transparency but lacks fuller behavioral context expected without annotations.
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 includes the essential information: the method signature, a one-line purpose, a usage remark, and the return value. It is somewhat redundant to include the method signature line when the tool name already conveys it, but the structure is clear and front-loaded with the core purpose. Minor redundancy prevents 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?
For a simple tool with no output schema and no annotations, the description does a decent job: it explains the purpose, the condition of use, and the return. However, it omits details about failure modes, behavior when the precondition is not met, and any potential side effects on the split-screen layout. An agent would benefit from knowing these aspects to handle errors gracefully, so 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?
The input schema has full description coverage for both parameters ('args' and 'windowId'), explaining their purpose. The description does not add any additional meaning beyond the schema. Since schema coverage is 100%, the baseline of 3 is appropriate; the description neither enhances nor contradicts 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 action: 'tile all documents' and provides the Chinese equivalent '平铺所有文档' along with an explanation that it creates split screens for all open document tabs. This is specific and distinguishes it from sibling tools that operate on individual documents or split screens.
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 precondition: '仅当不存在子分屏时可用' (only available when no child split screen exists). This tells the agent when it is appropriate to call this toolretically. It does not explicitly mention alternatives or when-not-to-use beyond this condition, 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.
eda_dmt_editor_control_zoomB
dmt_EditorControl.zoom(percent: number, tabId?: string) -> { left: number; right: number; top: number; bottom: number } | false
设置缩放比例
remarks: 在返回数据中,原理图、符号画布坐标单位跨度为 0.01inch,PCB、封装画布坐标单位跨度为 mil
returns: 缩放到的区域数据,false 表示画布不支持该缩放操作或 tabId 不存在
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 discloses the return value shape and the false condition (canvas doesn't support zoom or tabId doesn't exist). It also adds a remark about coordinate unit spans for different canvas types. However, it doesn't describe side effects (e.g., does it change the current view? is it reversible?) or whether it requires an active document. The return type and false condition are useful behavioral disclosures.
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: a signature line, a one-line Chinese summary, a remarks line, and a returns line. It front-loads the signature and purpose. The remarks about coordinate units are relevant but somewhat tangential to the zoom operation itself. Overall, every line earns its place, though the structure is a bit dense with mixed languages.
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 no output schema and no annotations, the description does a decent job: it provides the return type, the false condition, and a unit remark. However, it lacks information about the meaning of the percent value, valid ranges, whether the zoom is relative or absolute, and how it differs from the many sibling zoom tools. For a tool with 2 parameters and no output schema, this is adequate 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 description coverage is 100% per context signals, but the schema itself is generic: it only describes 'args' as a JSON parameter array and 'windowId' as a target window ID. The description adds the function signature 'zoom(percent: number, tabId?: string)' which clarifies the first parameter is a percentage and the second is an optional tab ID. This adds meaning beyond the generic schema, but it doesn't explain what 'percent' means (e.g., 100 = actual size? 200 = 2x?) or the valid range. The description partially compensates for the generic 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 verb ('zoom') and resource ('dmt_EditorControl'), and includes the function signature with return type. It clearly indicates this sets a zoom percentage. However, it doesn't explicitly differentiate from the many sibling zoom tools (zoom_to, zoom_to_region, zoom_to_all_primitives, etc.), so it's clear but lacks sibling 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?
The description implies usage: call this to set a zoom percentage on the editor control. It doesn't explicitly state when to use this vs. the other zoom-related siblings (zoom_to, zoom_to_region, zoom_to_selected_primitives, etc.). The 'remarks' about coordinate units provide some context but not usage guidance. 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.
eda_dmt_editor_control_zoom_toA
dmt_EditorControl.zoomTo(x?: number, y?: number, scaleRatio?: number, tabId?: string) -> Promise<{ left: number; right: number; top: number; bottom: number } | false>
缩放到坐标
remarks: 在原理图、符号画布坐标单位跨度为 0.01inch,在 PCB、封装画布坐标单位跨度为 mil
returns: 缩放到的区域数据,false 表示画布不支持该缩放操作或 tabId 不存在
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior itself. It does so by stating the return type (region data or false), the meaning of false (canvas doesn't support or tabId doesn't exist), and critical coordinate unit differences across canvas types (0.01 inch for schematic/symbol, mil for PCB/footprint). This is valuable context beyond the schema, though it does not mention side effects or whether the zoom is persistent.
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 reasonably concise, mixing signature, Chinese purpose, remarks, and returns in a compact form. The purpose is front-loaded with the signature and the Chinese phrase. It could be better structured (separating remarks from main description) but is not overly 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 zoom tool with four optional parameters, the description provides the essential info: parameter names/types, return type, and canvas unit differences. It does not explain the role of scaleRatio or whether the zoom is absolute vs relative, but these may be inferable from the name. The false return condition and unit note add completeness. Overall, it covers the core needs for 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 only describes 'args' and 'windowId' generically, so the description carries the burden of explaining the actual parameters. It provides the signature with names and types (x, y, scaleRatio, tabId) and the coordinate unit remarks, which adds meaning. However, it does not explain the semantics of each parameter (e.g., what scaleRatio represents, or whether x/y are center coordinates), leaving some inference 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 zooms to coordinates via the signature and Chinese text '缩放到坐标' (zoom to coordinates). It specifies the operation on the editor control and provides the parameter types. While it doesn't explicitly differentiate from sibling zoom tools (e.g., zoom_to_region, zoom_to_selected_primitives), the purpose is unambiguous enough for an agent to understand the basic action.
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 the many sibling zoom tools (zoom_to_region, zoom_to_all_primitives, zoom_to_selected_primitives, etc.). It does not mention alternatives or provide conditions for selecting this specific zoom method, 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.
eda_dmt_editor_control_zoom_to_all_primitivesA
dmt_EditorControl.zoomToAllPrimitives(tabId?: string) -> Promise<{ left: number; right: number; top: number; bottom: number } | false>
缩放到所有图元(适应全部)
remarks: 在返回数据中,原理图、符号画布坐标单位跨度为 0.01inch,PCB、封装画布坐标单位跨度为 mil
returns: 缩放到的区域数据,false 表示画布不支持该缩放操作或 tabId 不存在
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden, and it delivers meaningful disclosure: the `false` return condition (unsupported canvas or nonexistent tabId) and the per-canvas coordinate unit difference (0.01inch for schematic/symbol vs mil for PCB/package) are genuinely useful beyond the basic purpose. It does not state that this is a non-destructive view operation, but the failure semantics and unit caveat are above-average 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 compact: signature line, one-line Chinese summary, remarks, and returns. The signature is front-loaded, and the remarks and returns lines each add non-redundant information. Minor redundancy exists between the tool name, the signature, and the Chinese translation, but overall there is little 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?
The description covers return shape, failure conditions, and unit semantics — the core facts needed to interpret results. However, with no annotations and no output schema, it could do more: it never clarifies how this differs from the sibling zoom tools, what canvas/document it acts on by default, or whether it preserves current zoom state. Adequate for invocation, but with clear gaps around 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?
Although schema coverage is 100% for the wrapper properties (args, windowId), the actual functional parameter tabId is buried in an untyped `items: {}` array. The description is the only place that reveals the real API signature `tabId?: string`, its optionality, and the fact that a nonexistent tabId causes a `false` return — substantive meaning the schema does not provide.
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 on a specific resource: 'zoomToAllPrimitives' / '缩放到所有图元(适应全部)' (zoom to all primitives, fit everything). The 'all' qualifier semantically distinguishes it from sibling zoom tools like zoom_to_selected_primitives and zoom_to_region, though it never names them 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 given on when to choose this tool over the sibling zoom family (zoom, zoom_to, zoom_to_region, zoom_to_selected_primitives). The only auxiliary content is a unit-conversion remark, which is behavioral, not usage direction. An agent is left to infer selection criteria 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.
eda_dmt_editor_control_zoom_to_regionC
dmt_EditorControl.zoomToRegion(left: number, right: number, top: number, bottom: number, tabId?: string) -> Promise 缩放到区域 remarks: 在原理图、符号画布坐标单位跨度为 0.01inch,在 PCB、封装画布坐标单位跨度为 mil returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 mentions the return type (Promise<boolean>) and the coordinate unit spans for different canvas types, but it does not disclose side effects (e.g., whether the view is altered irreversibly), error conditions, or whether the operation is read-only. For a zoom operation, the lack of safety info 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 a bit clunky: it starts with a raw method signature, then a Chinese remark, then an English remark about units, and a returns note. It repeats the method name and parameters in both signature and name. It's not overly long but could be more structured and front-loaded with the essential purpose rather than the signature duplication.
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 zoom-to-region tool, the description lacks many details an agent would need: the coordinate system origin and orientation, what 'left/right/top/bottom' refer to (bounding box?), whether the zoom is absolute or relative, behavior for out-of-bounds coordinates, and the meaning of the boolean return beyond 'success'. It does mention unit spans, which is helpful, but overall it is incomplete for confident invocation, especially with no output schema to clarify results.
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 only defines 'args' as an opaque array and 'windowId', offering no per-parameter meaning. The description compensates partially by listing the parameters (left, right, top, bottom, tabId) with types in the signature, and it adds crucial unit context: '0.01inch' for schematic/symbol canvases and 'mil' for PCB/package canvases. However, it doesn't explain the coordinate origin, range constraints, or the meaning of each boundary relative to the canvas, leaving semantic 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 clearly states the purpose: zoom to a region, as expressed by the method signature and the Chinese remark '缩放到区域' (zoom to region). The verb 'zoomToRegion' and the parameters make it specific, distinguishing it from sibling zoom tools like 'zoom', 'zoom_to', and 'zoom_to_all_primitives' by indicating it targets a rectangular region. However, it doesn't explicitly contrast with these siblings, so it loses a point.
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 eda_dmt_editor_control_zoom, eda_dmt_editor_control_zoom_to, or zoom_to_selected_primitives. The description only provides the signature and unit notes, leaving the agent to infer applicability. No explicit exclusions or preferred scenarios are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_editor_control_zoom_to_selected_primitivesA
dmt_EditorControl.zoomToSelectedPrimitives(tabId?: string) -> Promise<{ left: number; right: number; top: number; bottom: number } | false>
缩放到已选中图元(适应选中)
remarks: 在返回数据中,原理图、符号画布坐标单位跨度为 0.01inch,PCB、封装画布坐标单位跨度为 mil
returns: 缩放到的区域数据,false 表示画布不支持该缩放操作或 tabId 不存在
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 disclose the return type (bounding box or false) and explains that false indicates an unsupported canvas or missing tabId. It also provides unit scaling remarks for different editor types. However, it does not mention behavior when nothing is selected, any side effects beyond zooming, or prerequisites like an active document. These are notable gaps for a mutation-like 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 relatively compact, consisting of a signature, a one-line purpose, a remarks line, and a returns line. It is front-loaded with the signature and the core action. The structure is logical, though the mix of English and Chinese might be slightly disorienting. It earns its place without excessive verbosity.
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 return type and unit differences, but it does not explicitly explain how to map the tabId parameter to the args array in the schema, nor does it mention prerequisites like having selected primitives or an open editor. For a zoom tool with no output schema, this is a moderate gap. An agent might be unsure whether to pass tabId via args or windowId, and what happens with no selection. It is functional 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?
The input schema is generic (args array and windowId) with minimal descriptions. The description adds meaningful semantics by providing the official signature with the tabId parameter, indicating it is optional and its type. This clarifies how the args array should be structured (with tabId as the first element). Since schema coverage is high but generic, the description compensates by giving the concrete parameter format.
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 zooms to selected primitives (适应选中). The verb and resource are specific and the purpose is unambiguous. While it does not explicitly contrast with sibling zoom tools like zoom_to_all_primitives, the name and description alone make the distinction clear enough for an agent.
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 explicitly state when to use this tool versus alternative zoom functions. It is implied that it should be used when the user wants to fit the view to currently selected primitives, but no exclusions or alternative recommendations are provided. This is an implied usage context, not an explicit one.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_event_add_editor_tab_event_listenerB
dmt_Event.addEditorTabEventListener(id: string, eventType: 'all' | EDMT_EditorTabEventType, callFn: (eventType: EDMT_EditorTabEventType, props: { documentType: EDMT_EditorDocumentType; title: string; tabId: string }) => void | Promise, onlyOnce?: boolean) -> void 新增编辑器标签页事件监听
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description must carry behavioral burden. It only provides the function signature, which states the callback and onlyOnce flag but does not explain side effects, what triggers the event, whether duplicate IDs are allowed, or how the listener interacts with the editor's tab lifecycle. No mention of permissions, execution context, or cleanup requirements. This is minimal disclosure beyond the raw API.
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 line with the full function signature plus a short Chinese sentence. It is efficient and front-loaded with the signature, but lacks structured explanation or examples that would aid comprehension. Still, it conveys all necessary technical details without 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 function signature and return type (void), which is useful, but it omits details about what EDMT_EditorTabEventType values exist, what the callback props represent semantically, and how windowId (from schema) integrates with the signature. An agent can call it correctly syntactically but may lack understanding of event semantics and lifecycle. Given the moderate complexity, it is 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?
The schema merely defines an 'args' array with no structure, making it impossible to know parameter order or types. The description's TypeScript signature fully specifies each parameter (id, eventType, callFn, onlyOnce) and the shape of the callback's props object, providing critical semantics that the schema lacks. This is exceptional value-add.
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 function name and Chinese description '新增编辑器标签页事件监听' (add editor tab event listener), making the tool's purpose explicit: it registers a listener for editor tab events. The resource (editor tab) is specific and distinct from other event listeners like mouse, primitive, or net events. However, it does not explicitly contrast with sibling tools such as eda_dmt_event_is_event_listener_already_exist or remove_event_listener, so differentiation is implied rather than stated.
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. The description does not indicate when to use this tool versus alternatives, how it relates to the other event listener tools (check existence, remove), or what scenarios call for editor tab event listening. The context is implied by the name and function signature but not made explicit for an agent choosing among many event-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_event_is_event_listener_already_existA
dmt_Event.isEventListenerAlreadyExist(id: string) -> boolean 查询事件监听是否存在 returns: 事件监听是否存在
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 return type (boolean meaning 'event listener exists') and the method signature, but it does not explicitly note that the call is non-mutating, what happens for an invalid id, or that windowId defaults to the active window.
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 signature is front-loaded and the prose is minimal. The only waste is that 'returns: 事件监听是否存在' repeats the meaning of '查询事件监听是否存在'.
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 existence check with a single string parameter, the description plus the schema's windowId explanation is enough to call the tool. It lacks a note on where listener ids come from and any error behavior, but the tool's simplicity keeps this gap minor.
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 only describes args as a generic JSON array, so the description adds real value by specifying the id: string signature. It does not explain where the id comes from or its format, but for a one-string-argument predicate this is mostly sufficient.
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 operation — dmt_Event.isEventListenerAlreadyExist(id: string) — and explains in Chinese that it checks whether an event listener exists, returning a boolean. This clearly distinguishes it from the PCB/SCH/I18N listener-check siblings through the dmt_Event prefix, so an agent can tell what it operates on.
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 call this check versus alternatives. It does not say to use it before eda_dmt_event_add_editor_tab_event_listener to avoid duplicates, nor does it point to the equivalent PCB/schematic tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_event_remove_event_listenerC
dmt_Event.removeEventListener(id: string) -> boolean 移除事件监听 returns: 是否移除指定事件监听
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since annotations are absent, the description bears the full burden of behavioral disclosure. It does reveal that the function returns a boolean indicating whether the specified listener was removed. However, it does not describe side effects, behavior when the listener does not exist, or whether removal is idempotent, leaving the behavioral profile largely 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 extremely compact: a signature line, a short Chinese phrase, and a returns line. It front-loads the core information and contains no filler. It is appropriately concise, though it borders on being under-specified rather than genuinely helpful.
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 no output schema, the description is incomplete. It omits how the event listener id is acquired, what true/false concretely mean beyond 'removed', and how this tool relates to the many sibling event-listener tools. An agent might guess the call shape, but key contextual information 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?
The schema already provides 100% coverage of both parameters (args array and optional windowId), so the baseline is 3. The description's signature adds the useful hint that the first argument is a string 'id', clarifying the otherwise generic args array. But it stops short of explaining what the id represents or how it is obtained, so it adds only marginal semantic 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 operation: 'dmt_Event.removeEventListener(id: string) -> boolean' and '移除事件监听' (remove event listener). This gives a specific verb and resource, making the tool's core purpose evident at a glance. It does not explicitly differentiate from sibling event-removal tools like eda_pcb_event_remove_event_listener, but the DMT prefix and signature make the scope identifiable.
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 eda_dmt_event_add_editor_tab_event_listener or eda_pcb_event_remove_event_listener. No prerequisites are mentioned, such as the need for an already-registered listener id or how to obtain it. The agent must infer usage solely from the tool name and signature.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_folder_create_folderB
dmt_Folder.createFolder(folderName: string, teamUuid: string, parentFolderUuid?: string, description?: string) -> Promise<string | undefined>
创建文件夹
returns: 文件夹 UUID,如若为 undefined 则创建失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It does disclose the return value: a folder UUID string, or undefined if creation fails, which is useful. It does not disclose side effects (e.g., whether the folder is immediately visible, whether it requires an active team context, or whether duplicate names are rejected). The description adds the failure signal (undefined) but lacks deeper behavioral context like persistence or validation 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 compact: a signature line, a Chinese one-liner, and a return-value note. It front-loads the essential call signature and return behavior. The Chinese '创建文件夹' is redundant with the signature but harmless. It earns a 4 because it is efficient and structured, though the redundancy and lack of parameter explanations prevent 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?
For a create operation with no output schema and no annotations, the description provides the signature, return type, and failure signal, which covers the basics. It does not explain the context of teamUuid (e.g., how to obtain it, whether it is required to be the current team), nor does it mention any constraints like folder name uniqueness or parent folder existence. Given the tool's simplicity, this is adequate but not complete; an agent might need to consult sibling tools like eda_dmt_team_get_all_teams_info to resolve teamUuid.
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 100% description coverage for its two top-level parameters (args array and windowId), but the actual function parameters (folderName, teamUuid, parentFolderUuid, description) are only listed in the description's signature line. The description adds meaning by showing the order and optionality of these parameters, which is valuable given the args array format. However, it does not explain the semantics of each parameter beyond their names, such as what teamUuid refers to or how parentFolderUuid affects the folder hierarchy.
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 and resource: 'dmt_Folder.createFolder' creates a folder, with parameters for folder name, team UUID, parent folder UUID, and description. It clearly distinguishes from siblings like eda_dmt_folder_delete_folder, eda_dmt_folder_get_all_folders_uuid, and eda_dmt_folder_modify_folder_name. However, it doesn't explicitly state the domain context (e.g., that it creates a folder in a team's folder tree) beyond the parameter names, and the Chinese '创建文件夹' is a direct restatement of 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?
The description implies usage by listing the required parameters (folderName, teamUuid) and optional ones (parentFolderUuid, description), which tells an agent what is needed to create a folder. It does not explicitly state when to use this tool versus alternatives like eda_dmt_folder_move_folder_to_folder or eda_dmt_folder_modify_folder_name, nor does it mention prerequisites like team membership or permissions. The context is clear enough for a simple create operation, but there is no explicit when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_folder_delete_folderB
dmt_Folder.deleteFolder(teamUuid: string, folderUuid: string) -> Promise 删除文件夹 returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 'delete folder' and returns a boolean, but does not mention that deletion is irreversible, may fail if the folder contains items, requires specific permissions, or what happens on non-existent folders. For a destructive operation, 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 extremely brief—a single signature line and a two-word Chinese phrase plus a return explanation. It is front-loaded with the signature and contains no redundant text. However, it is so sparse that it borders on under-specification rather than being 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 destructive mutation tool with no annotations and no output schema, the description is incomplete. It fails to disclose side effects, preconditions, error behavior, or any safety information. An agent cannot assess the consequences of calling this tool beyond knowing it returns a boolean. The simplicity of the operation does not excuse the lack of 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 includes the method signature 'deleteFolder(teamUuid: string, folderUuid: string)', which names and types both parameters. The input schema only defines an opaque 'args' array and a windowId, so the description provides the essential parameter meaning that the schema lacks. It adds 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?
The description clearly states the action '删除文件夹' (delete folder) and provides the method signature with resource (folder) and verb (delete). It is distinct from sibling tools that create, modify, move, or get folder info. 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?
There is no guidance on when to use this tool versus alternatives. It does not mention prerequisites (e.g., folder must be empty), when deletion is appropriate, or any conditions that should lead an agent to choose this over other folder operations. The description simply states the operation without context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_folder_get_all_folders_uuidB
dmt_Folder.getAllFoldersUuid(teamUuid: string) -> Promise<Array> 获取所有文件夹的 UUID remarks: 本接口忽略层级信息,将会返回所有层级的文件夹的 UUID 并放置于一维数组中 returns: 文件夹 UUID 数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It explicitly discloses a non-obvious behavior: '本接口忽略层级信息,将会返回所有层级的文件夹的 UUID 并放置于一维数组中' (ignores hierarchy, returns all folder UUIDs flattened in a 1D array). It also states the return type (Promise<Array<string>>). It does not mention failure modes or side effects, but for a read-only getter these are less critical.
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: a one-line signature, a one-line purpose, and a one-line remark plus returns. It stays on point without fluff and front-loads the core purpose before the behavioral remark. It could be structured more cleanly, but it is appropriately sized for the tool's simplicity.
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 getter, the description covers purpose, return type, and the notable flattening behavior. The main gap is the ambiguous requiredness of teamUuid: the signature implies it is required, while the schema reports 0 required parameters, and the description does not clarify what happens if it is omitted. No output schema is present, but the stated string-array return is sufficient.
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 only defines a generic 'args' array with empty items, so the signature's 'teamUuid: string' is the only hint about the actual parameter, adding some value beyond the schema. However, the description does not explain what teamUuid represents, whether it is required, or how it maps to the args array beyond the schema's 'official signature order' note. Since reported schema description coverage is 100%, the baseline 3 applies.
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 '获取所有文件夹的 UUID' (get all folders' UUIDs), identifying a specific verb and resource. The code signature dmt_Folder.getAllFoldersUuid(teamUuid: string) reinforces the operation, and the remarks add that it returns all hierarchy levels flattened. While it does not explicitly name sibling alternatives, the 'all folders UUID' scope distinguishes it from tools like get_folder_info or create_folder.
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 siblings such as eda_dmt_folder_get_folder_info (specific folder details) or eda_dmt_folder_create_folder. There are no exclusions, prerequisites, or alternative tool mentions. It only states what the tool does without any selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_folder_get_folder_infoB
dmt_Folder.getFolderInfo(teamUuid: string, folderUuid: string) -> Promise<IDMT_FolderItem | undefined>
获取文件夹详细属性
returns: 文件夹属性,如若为 undefined 则获取失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It does disclose meaningful semantics: the return type `IDMT_FolderItem | undefined` and the failure contract '若为 undefined 则获取失败' (undefined means the fetch failed), which informs result handling. Other behavioral traits — permissions, error behavior, absence of side effects — are not covered, so the 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?
Three compact components — signature, purpose statement, and return semantics — with no filler; every line earns its place. The minor flaw is ordering: the raw TypeScript signature is front-loaded ahead of the clearer natural-language purpose, and the mixed English/Chinese presentation slightly obscures the intent.
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 output schema and no annotations, the description is the only source of return information, yet it never describes what attributes IDMT_FolderItem actually contains, leaving the agent to guess at the payload shape. It does cover purpose, parameters, and undefined-on-failure, which is adequate for a simple getter, but UUID sourcing and return-field details are 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?
The schema describes args generically as '按官方签名顺序排列的JSON参数数组' (JSON parameter array in official signature order), giving the agent no idea what to put inside. The description's signature reveals the actual parameters — teamUuid and folderUuid, both strings — which concretely tells the agent what values to supply. This meaningfully exceeds the schema despite its 100% 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 combines the signature `dmt_Folder.getFolderInfo(teamUuid, folderUuid)` with the Chinese phrase '获取文件夹详细属性' (get folder detailed attributes), yielding a clear verb+resource: retrieve one folder's attributes by UUID. This is distinct from siblings like create_folder, delete_folder, and modify_folder_name, though it does not explicitly differentiate itself from get_all_folders_uuid.
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 eda_dmt_folder_get_all_folders_uuid, nor any hint about how to obtain valid teamUuid/folderUuid values (e.g., resolving them before calling). The agent must infer the usage context purely from the naming pattern, with no explicit exclusions or conditions stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_folder_modify_folder_descriptionC
dmt_Folder.modifyFolderDescription(teamUuid: string, folderUuid: string, description?: string) -> Promise 修改文件夹描述 remarks: 修改文件夹描述需要与工作区系统进行交互,修改操作存在延迟,需要短暂等待后才会呈现效果 returns: 是否修改成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the behavioral burden. It mentions that the operation is asynchronous and has a delay, which is useful, but it fails to disclose potential side effects, permissions, or whether the operation is reversible. This is a mutation tool, and the description doesn't warn about prerequisites or errors accordingly.
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 relatively concise, with a clear signature, a brief usage note, and a returns line. It front-loads the signature and the remark about the delay, but it could be more efficient by discarding the redundant 'remarks' label. Overall, it's compact 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 moderate complexity (a single mutation with a few parameters) and the lack of annotations or output schema, the description covers the basic mechanics but omits details like what constitutes success (e.g., does it throw on failure?) and how to retrieve the updated description. It's 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?
The schema has a high coverage (100%) of the parameters via the description of the args array, but the schema itself does not explicitly describe each argument. The description's signature line lists teamUuid, folderUuid, and description, but does not explain their roles or formats beyond what the names imply. Since coverage is high, a baseline of 3 is appropriate.
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 it modifies folder descriptions, including the required team and folder UUIDs and the optional new description. However, it does not distinguish itself from the sibling 'modify_folder_name' explicitly, but the resource and field are specific 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?
No explicit guidance on when to use this tool versus alternatives like modify_folder_name. It simply says it modifies the description, leaving the agent to infer that this is for description updates only.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_folder_modify_folder_nameB
dmt_Folder.modifyFolderName(teamUuid: string, folderUuid: string, folderName: string) -> Promise 修改文件夹名称 returns: 是否修改成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description must carry the behavioral burden. It states the return value ('returns: whether modification succeeded') and the action, but it does not disclose side effects, required permissions, behavior on missing folder IDs, or whether the operation is reversible. This is minimal for a mutation tool; the agent has no idea about failure modes or prerequisites beyond the parameter names.
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: a function signature and a one-line Chinese purpose plus return note. It is front-loaded with the signature and includes no unnecessary words. It's appropriately concise, though it could be slightly better structured if it separated the purpose from the signature, but as is it's 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?
For a mutation tool with no annotations and no output schema, the description is incomplete. It does state the return boolean, but it doesn't explain prerequisites (like having valid UUIDs), error handling, or any side effects. An agent might know how to call it but not understand failure conditions or how to verify success beyond the boolean. More context is needed for a robust 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 input schema only defines 'args' and 'windowId' with no semantic detail, so the description's function signature is the only source for the actual parameters: teamUuid, folderUuid, folderName. It provides names and types, which is essential, but it doesn't explain what these represent (e.g., how to obtain teamUuid) or any constraints. Since the schema is high coverage for its own fields but the actual parameters are absent, the description partially compensates but not deeply, so a 3 is appropriate.
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 function signature 'dmt_Folder.modifyFolderName' and a clear purpose line '修改文件夹名称' (modify folder name). This clearly identifies the verb (modify) and resource (folder name), and it is distinct from sibling tools like modify_folder_description or move_folder_to_folder, so an agent can easily distinguish it.
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. It doesn't mention any prerequisites, conditions, or exclusions; it simply states the operation. An agent must infer from the name and context that this is the tool for renaming a folder, but no explicit when/when-not guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_folder_move_folder_to_folderC
dmt_Folder.moveFolderToFolder(teamUuid: string, folderUuid: string, parentFolderUuid?: string) -> Promise 移动文件夹 returns: 是否移动成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 states the function returns a boolean ('是否移动成功') but does not explain side effects, what happens on failure (e.g., partial moves), whether it is synchronous, or potential error conditions. The signature implies it's a mutation, but the description lacks behavioral context such as whether the move is reversible or if it affects related entities.
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 includes the signature, a one-line Chinese summary, and a return description. However, the structure is slightly disorganized: the signature and return are on the same line, then the Chinese summary, then 'returns' repetition. It is compact but could be more readable with clear separation and front-loading of the core purpose. The mixed-language content may also reduce clarity for an English-focused agent.
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 no output schema, no annotations, and the schema is minimal (generic args array). The description provides only the signature and return type, but lacks: what a successful move means, error/exception behavior, constraints (e.g., cannot move to descendant folder), and how the optional 'parentFolderUuid' interacts with the current parent. Given the tool's complexity (3 parameters, mutation), this is insufficient for an agent to reliably invoke it without risking incorrect 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?
The input schema only describes a generic 'args' array and 'windowId', providing no per-parameter detail. The description compensates by listing the official signature: teamUuid (string), folderUuid (string), parentFolderUuid (optional string), and the return type. This adds meaning beyond the schema, but it does not explain what each UUID represents (e.g., source vs. destination folder) or the semantics of 'parentFolderUuid' as the target location. Schema coverage is 100% in the sense that the args array is described, but the description only partially compensates for the lack of detailed 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 clearly states the operation: 'moveFolderToFolder' with Chinese '移动文件夹' (move folder). It identifies the resource (folder) and the action (move to folder). However, it does not explicitly differentiate from sibling move tools like eda_dmt_project_move_project_to_folder, though the name itself is specific enough for a folder operation. A dedicated textual distinction would have pushed it to 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 alternatives. The description only gives the function signature and return type. There is no mention of prerequisites (e.g., team UUID, folder UUID requirements) or when moving a folder is appropriate compared to other folder operations like create/delete/modify. The agent must 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.
eda_dmt_panel_copy_panelB
dmt_Panel.copyPanel(panelUuid: string) -> Promise<string | undefined>
复制面板
returns: 新面板 UUID,如若为 undefined 则复制失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that the tool returns the new panel's UUID, and that 'undefined' indicates failure. This is useful behavioral information, but it doesn't mention side effects, permissions, or whether it operates on the active panel vs. a specified one. With no annotations provided, the description carries the full burden, and this is minimal but 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 very concise, consisting of a signature line, a short Chinese label, and a return note. It's front-loaded with the core action and parameter. No wasted words, though it mixes English and Chinese, which could be slightly confusing.
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 aspects: what it does, the parameter, and the return value. However, it lacks usage context, examples, or any note about side effects or failure conditions beyond 'undefined'. For a simple copy operation, this is adequate but could be more helpful with an example or note on how to retrieve the panelUuid.
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 only shows a generic 'args' array, but the description provides the actual signature: 'panelUuid: string'. This adds meaning by specifying the parameter name and type, which the schema lacks. It clarifies how to construct the args array, going beyond the generic schema 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 the action clearly: '复制面板' (copy panel) with a function signature showing the parameter and return type. It's specific about what it does, and the name eda_dmt_panel_copy_panel matches. It doesn't explicitly differentiate from sibling copy tools (e.g., eda_dmt_board_copy_board) but 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?
No guidance on when to use this tool versus alternatives. There's no mention of prerequisites, when copying is appropriate, or how it differs from creating a panel. The description only states what it does, not when to invoke it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_panel_create_panelC
dmt_Panel.createPanel() -> Promise<string | undefined>
创建面板
returns: 面板 UUID,如若为 undefined 则创建失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 mentions the return type (UUID or undefined) and that undefined indicates failure. It does not state any side effects (e.g., whether a new panel is automatically opened), permissions needed, or whether it affects the current document context. This is minimal 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 very short and to the point, consisting of the function signature, a one-line Chinese description, and a return note. It is front-loaded with the action. It is concise and efficient, though it lacks any structured sections.
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 is incomplete for an agent to call the tool correctly. It does not explain what arguments go into the 'args' array, nor does it mention any preconditions (e.g., an active project or workspace) or potential errors beyond a generic failure. Given the tool's role in a large EDA API, an agent needs more guidance to construct a valid 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?
Schema description coverage is 100%, so the baseline is 3. The schema describes both parameters: 'args' as a JSON array in official signature order and 'windowId' as an optional target window. The description adds nothing about parameters, so it does not improve on the schema. However, the 'args' parameter is vague (no list of expected fields), but that is a schema limitation, not something the description addresses.
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 '创建面板' (create panel) along with the function signature, making the purpose clear. However, it does not differentiate from other create-type tools like board creation, though the tool name itself is explicit. It adds a bit of detail on return value and failure condition, which helps.
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, such as needing an active workspace, nor does it reference sibling tools like eda_dmt_panel_copy_panel or eda_dmt_panel_modify_panel_name. An agent is left to infer when to call this.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_panel_delete_panelA
dmt_Panel.deletePanel(panelUuid: string) -> Promise 删除面板 returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 'delete panel' and returns a boolean, but does not disclose irreversibility, side effects, required permissions, or what happens if the panel does not exist. The destructive nature is implied but not elaborated.
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 highly concise and front-loaded with the function signature, followed by a one-line Chinese summary and return type. Every element is useful and there is 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?
For a simple delete operation with no output schema, the description and signature cover the core mechanics, including the boolean return value. However, it does not explicitly state that panelUuid is required (the schema marks required parameters as 0), nor does it mention error behavior, reversibility, or whether the operation depends on the active window.
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 signature adds meaningful parameter semantics by naming 'panelUuid' with type 'string' and specifying the official call order, which compensates for the generic 'args' array in the input schema. It does not, however, clarify the optional windowId parameter or parameter formatting beyond what the schema already states.
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: 'dmt_Panel.deletePanel' and '删除面板' (delete panel). The signature makes the operation unambiguous and distinguishes it from sibling panel operations like copy, create, or modify.
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 this when you need to delete a panel. However, it does not provide explicit context, prerequisites, or alternatives, such as when to use panel modification versus deletion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_panel_get_all_panels_infoC
dmt_Panel.getAllPanelsInfo() -> Promise<Array> 获取工程内所有面板的详细属性 returns: 所有面板的详细属性的数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations provided, so the description must carry the full burden of behavioral disclosure. It mentions it returns a Promise<Array<IDMT_PanelItem>>, which indicates it's a read operation, but it does not clarify whether it accesses the current project or requires a specific window, nor does it mention any side effects or limitations (e.g., performance with many panels).
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 and includes a code-like signature and Chinese text. It is concise but under-specified; the information provided is minimal and does not add much beyond the function signature. It could be more structured by explaining the return format or what 'detailed attributes' means.
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 no output schema and no annotations, the description is incomplete for an agent to know what to expect. It does not describe the shape of the returned array items (IDMT_PanelItem), nor does it mention any prerequisites (e.g., active project). The tool is relatively simple but with no output schema, more detail is needed.
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 100% coverage, with the 'args' parameter described as a JSON array and 'windowId' described as the target window ID. The description adds no additional parameter semantics, but since the schema already explains them, the baseline is 3; however, the description does imply the tool operates within a project context, which is somewhat helpful. Thus, a 4 is appropriate as the schema is sufficient.
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 'getAllPanelsInfo' and explains it retrieves detailed attributes of all panels in the project, which is clear. However, it does not explicitly distinguish it from the sibling 'eda_dmt_panel_get_all_panels_info' with other panel-related getters like 'eda_dmt_panel_get_panel_info' (single panel) or 'eda_dmt_panel_get_current_panel_info'. The purpose is understandable but 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?
The description does not provide any guidance on when to use this tool versus other panel-related tools, such as when to use 'eda_dmt_panel_get_panel_info' for a specific panel or 'eda_dmt_panel_get_current_panel_info' for the current panel. There is no mention of context or alternatives, leaving the agent to infer usage from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_panel_get_current_panel_infoA
dmt_Panel.getCurrentPanelInfo() -> Promise<IDMT_PanelItem | undefined>
获取当前面板的详细属性
remarks: 将会获取当前打开且拥有最后输入焦点的面板的详细属性
returns: 面板的详细属性,如若为 undefined 则获取失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the disclosure burden. It identifies the operation as a read-only getter, explains exactly what 'current' means (open and last input focus), and documents that undefined indicates retrieval failure. For a simple getter, the key behavioral semantics 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 and front-loaded with the API signature, followed by a one-line Chinese summary, a clarifying remark, and return semantics. There is slight redundancy between the main summary and the remarks line, but the structure is clear and 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?
For a simple getter with no output schema, the definition is largely complete: it provides the return type, the failure sentinel, and the exact panel selection rule. A note about sibling tools or the shape of IDMT_PanelItem would improve completeness, but the core information needed to invoke it correctly is present.
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% for the two parameters (args and windowId), so the baseline is 3. The description adds no parameter-specific detail beyond what the input schema already states, which is acceptable because the schema fully documents the 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 action ('获取当前面板的详细属性') on a distinct resource, and adds the API signature with return type. The 'current' scope is further refined as the open panel with last input focus, which separates it from get_all_panels_info and get_panel_info, though it does not explicitly name those 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 when to use it: when you need the attributes of the currently active/focused panel, and it clarifies the selection criterion. However, it gives no explicit comparison to sibling tools like eda_dmt_panel_get_panel_info or eda_dmt_panel_get_all_panels_info, and no exclusion conditions, so usage guidance is mostly inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_panel_get_panel_infoB
dmt_Panel.getPanelInfo(panelUuid: string) -> Promise<IDMT_PanelItem | undefined>
获取面板的详细属性
returns: 面板的详细属性,如若为 undefined 则获取失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 the return type (Promise<IDMT_PanelItem | undefined>) and defines undefined as indicating failure ('如若为 undefined 则获取失败'), which is useful. However, it does not mention side effects, permission requirements, or error behavior beyond the undefined case.
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: a signature line plus two short Chinese phrases for purpose and return semantics. There is no filler or redundant restatement, though the structure is somewhat minimal.
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 read operation, the description covers the core purpose and return-failure convention, but it lacks guidance on how to obtain a valid panelUuid and does not explain the returned IDMT_PanelItem structure. It is minimally sufficient but not 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?
Although the schema has generic 'args' and 'windowId' descriptions, the description adds the official signature 'dmt_Panel.getPanelInfo(panelUuid: string)', clarifying that the first positional argument is a string panelUuid. This meaningfully supplements the opaque 'args' array in the input 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 clear verb and resource: '获取面板的详细属性' (get panel's detailed attributes), and the function signature identifies it as fetching a single panel item by UUID. It is distinguishable from siblings like eda_dmt_panel_get_all_panels_info and eda_dmt_panel_get_current_panel_info by name, though the description itself does not explicitly contrast 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?
No guidance is provided about when to use this tool versus alternatives such as get_all_panels_info (for all panels) or get_current_panel_info (for the active panel). The intended use can be inferred from the name, but the description never states selection criteria or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_panel_modify_panel_nameA
dmt_Panel.modifyPanelName(panelUuid: string, panelName: string) -> Promise 修改面板名称 returns: 是否修改成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the return type 'Promise<boolean>' and clarifies the boolean indicates success ('返回: 是否修改成功'), which is useful. However, with no annotations, it does not mention permissions, failure behavior for invalid UUIDs, or immediate side effects, leaving the agent to assume basic rename behavior.
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 the function signature, followed by a one-line Chinese purpose and a return note. Minor redundancy exists because the return type appears in both the signature and the Chinese 'returns: 是否修改成功', but this does not impair 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 simple two-parameter rename tool, the description covers the inputs and boolean result, but lacks context on how to obtain the panel UUID, expected failure behavior, or whether the panel must be open/selected. With no output schema or annotations, it provides the minimum needed for a syntactically correct call but not deeper 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 input schema only describes 'args' as an array in official signature order and an optional 'windowId', so it does not document the actual parameters. The description fills this critical gap with the exact signature 'panelUuid: string, panelName: string', telling the agent precisely what values to pass and in what order.
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 operation through the signature 'modifyPanelName(panelUuid: string, panelName: string)' and the Chinese phrase '修改面板名称' (modify panel name), specifying both the resource (panel) and action (rename). It is distinguishable from sibling panel tools by the explicit rename intent, though it does not explicitly call out 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 given about when to use this tool versus alternatives, nor any prerequisites, exclusions, or context such as how to obtain a valid panelUuid. The agent must infer usage solely from the tool name and terse description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_pcb_copy_pcbA
dmt_Pcb.copyPcb(pcbUuid: string, boardName?: string) -> Promise<string | undefined>
复制 PCB
remarks: 即使此处 PCB 已关联复用模块(在工程库内存在同名的复用模块符号),也不新建复用模块符号,此操作逻辑与当前编辑器前端保持一致
returns: 新 PCB UUID,如若为 undefined 则复制失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 does this well by stating that even if the PCB is associated with a reuse module, no new reuse module symbol is created, and it explicitly documents the return value semantics (new UUID or undefined on failure). It does not mention whether the copy is destructive, but that is implicitly clear. The remark and return type provide valuable behavioral context beyond a simple 'copy' statement.
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: it starts with the function signature for instant recognition, follows with the purpose in Chinese, then a behavioral remark, and finally the return value description. It avoids unnecessary fluff while packing in the essential details. The only minor issue is the mixed-language style, but that does not 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 copy operation, the description covers the action, parameters, return value, and a significant behavioral nuance (reuse module handling). It does not mention any preconditions or side effects beyond the reuse module note, but for a simple copy that is acceptable. The presence of the signature and return semantics makes it adequately complete 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?
The description explicitly provides the parameter names, types, and optionality (pcbUuid: string, boardName?: string), which is critical because the input schema only describes a generic 'args' array without indicating what parameters go in it. This directly adds meaning beyond the schema, and the optional flag is clearly conveyed. The schema's 100% coverage remark refers to the property structure, not the semantic content, so the description is essential.
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: '复制 PCB' (copy PCB) and provides the full function signature, making the verb and resource unambiguous. While it doesn't explicitly distinguish from sibling copy tools (e.g., copy_board, copy_panel), the PCB-specific naming and description are sufficient for an agent to identify the correct 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?
No guidance is provided on when to use this tool versus alternatives like eda_dmt_board_copy_board or eda_dmt_panel_copy_panel. There is no mention of prerequisites, context, or exclusions. The only remark is about reuse module behavior, which is a behavioral note, not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_pcb_create_pcbA
dmt_Pcb.createPcb(boardName?: string) -> Promise<string | undefined>
创建 PCB
returns: PCB UUID,如若为 undefined 则创建失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 return semantics: a PCB UUID is returned, and undefined means creation failed. However, it does not disclose side effects, prerequisites, or whether the newly created PCB becomes active or appears in a specific project.
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 minimal and front-loaded: API signature, one-line purpose, and return/failure semantics. Every line earns its place, and there is 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?
For a simple creation tool, the description is mostly complete: it gives the optional parameter, the promise return type, and the failure signal. Since there is no output schema, the explicit return description is valuable. It could provide more context about creation side effects, but the essential invocation details are present.
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 only describes 'args' as a JSON array in official signature order, but the description supplies the actual meaningful parameter via 'boardName?: string'. This adds real semantic value beyond the generic schema. windowId semantics are already covered by 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 states '创建 PCB' (creates a PCB) and provides the API signature dmt_Pcb.createPcb. It specifies a concrete verb and resource, and the name distinguishes it from sibling operations like copy/delete/get/modify, though it does not explicitly contrast 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?
There is no guidance about when to use this tool versus alternatives such as eda_dmt_pcb_copy_pcb or other create_* tools. Usage context is only implied by the verb 'create' and the resource name, with no exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_pcb_delete_pcbA
dmt_Pcb.deletePcb(pcbUuid: string) -> Promise 删除 PCB remarks: 如若 PCB 已关联复用模块(在工程库内存在同名的复用模块符号),则删除 PCB 时将同步删除关联的原理图和复用模块符号,复用模块符号不可删除则跳过 returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It clearly states that if the PCB is linked to a reused module symbol, deleting the PCB will also delete the associated schematic and reused module symbol, and that if the symbol cannot be deleted, it is skipped. This is critical side-effect information that an agent needs to know before invoking the 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, with a one-line signature, a one-line purpose, and a single remark about side effects. It is front-loaded with the signature and purpose before the remark. However, the remark is a bit verbose and could be slightly simplified, but it is efficient overall.
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 has no output schema and no annotations, the description covers the key behavioral side effects (deleting associated schematic and symbol) and return type (boolean). It doesn't specify any error conditions or what happens if the PCB doesn't exist, but overall it is complete enough for an agent to use it correctly 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 input schema has 100% description coverage for parameters (args array and windowId), but the descriptions are generic ('按官方签名顺序排列的JSON参数数组'). The main description adds the signature 'pcbUuid: string', which clarifies the actual parameter, but it doesn't explain the exact format or required fields beyond that. Baseline 3 is appropriate as schema does most of the work, and 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 opens with a clear signature showing the verb 'deletePcb' and the resource 'PCB', and the Chinese line '删除 PCB' translates to 'Delete PCB', making the purpose explicit. It is easily distinguishable from sibling tools like copy, create, or modify PCB 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 implies the tool is used for deleting a PCB but does not state when to use it versus other delete tools (e.g., eda_dmt_board_delete_board) or when not to use it. It does not mention any prerequisites, such as needing to be in a project context or having the PCB open.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_pcb_get_all_pcbs_infoC
dmt_Pcb.getAllPcbsInfo() -> Promise<Array> 获取工程内所有 PCB 的详细属性 returns: 所有 PCB 的详细属性的数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 convey a non-mutating read operation and a Promise<Array<IDMT_PcbItem>> return, but it says nothing about whether it reflects the current project, how windowId affects results, potential for large result sets, or error behavior. It is minimally 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 short but somewhat redundant: the signature line 'dmt_Pcb.getAllPcbsInfo() -> Promise<Array<IDMT_PcbItem>>' repeats the tool name and return type, and the final 'returns' line duplicates the main statement. It is not bloated, but it earns only average marks because lines do not each add distinct 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?
For a simple read-only list tool, the description provides the essential action and return shape, but it omits relevant context such as the meaning of windowId, whether '工程内' means the currently active project, and what IDMT_PcbItem contains. With no output schema or annotations, an agent has only a vague idea of what will be returned.
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 100%, so the baseline is 3. The description adds no parameter-specific meaning: it does not mention windowId or how the args array should be used. The schema already describes both parameters generically, so no credit beyond baseline is warranted.
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 verb-resource pair: '获取工程内所有 PCB 的详细属性' (get detailed attributes of all PCBs in the project), and the function signature indicates it returns an array of IDMT_PcbItem. It is distinguishable from siblings like eda_dmt_pcb_get_pcb_info and eda_dmt_pcb_get_current_pcb_info by the 'all PCBs' scope, though it does not explicitly call out those distinctions.
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_pcb_info, get_current_pcb_info, or other get_all_*_info siblings. The only implied usage is in the name 'get_all'. There are no exclusions, prerequisites, or contextual hints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_pcb_get_current_pcb_infoB
dmt_Pcb.getCurrentPcbInfo() -> Promise<IDMT_PcbItem | undefined>
获取当前 PCB 的详细属性
remarks: 将会获取当前打开且拥有最后输入焦点的 PCB 的详细属性
returns: PCB 的详细属性,如若为 undefined 则获取失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 disclose that the function returns undefined if retrieval fails, which is useful. However, it does not mention whether the operation is read-only (likely but not stated), any prerequisites like requiring an open PCB, or error-throwing behavior beyond the undefined return. This is partial transparency but misses key details for a getter.
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 includes a code signature line, a remarks section, and a returns section, which is reasonably structured. It conveys the essential behavior in a compact form without excessive verbosity. However, the structure could be improved by separating the return behavior more clearly, but it is not padded with unnecessary 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?
For a simple getter, the description is fairly complete: it states what it fetches, the scope (current PCB with last focus), and the failure return value (undefined). It does not describe the IDMT_PcbItem structure, but there is no output schema, and for a getter the agent may not need full detail. The main missing piece is an explicit note that a PCB must be open, but this is implied by 'current open PCB.' Overall, it covers the essential 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 100%: both parameters (args and windowId) have descriptions in the schema. The description itself does not elaborate on parameters, so it adds no extra meaning beyond the schema. The baseline for high coverage is 3, and since the description provides no additional parameter context, this score is appropriate.
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 it fetches detailed properties of the current PCB, using the verb '获取' (get) and a specific resource. The name 'current_pcb_info' already suggests the scope, and the description confirms it targets the currently open PCB with last input focus. However, it does not explicitly distinguish itself from sibling tools like eda_dmt_pcb_get_pcb_info, which retrieves a specific PCB by ID, though the word 'current' provides implicit 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?
The description provides no guidance on when to use this tool versus alternatives. It does not state that it is the go-to for getting info about the currently active PCB, nor does it mention when to use eda_dmt_pcb_get_pcb_info for a specific PCB. The only hint is the word 'current' in the name and description, leaving the agent to infer the appropriate usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_pcb_get_pcb_infoB
dmt_Pcb.getPcbInfo(pcbUuid: string) -> Promise<IDMT_PcbItem | undefined>
获取 PCB 的详细属性
returns: PCB 的详细属性,如若为 undefined 则获取失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 usefully reports the return type `Promise<IDMT_PcbItem | undefined>` and states that `undefined` indicates failure. However, it does not disclose side effects, whether read-only behavior can be assumed, error behavior for invalid UUIDs, or permissions requirements. Still, the undefined-means-failure note adds meaningful 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 short and front-loaded with the signature and purpose. The return/failure note is useful and compact. Minor redundancy exists between the signature and the prose '获取 PCB 的详细属性', but overall the text is appropriately sized and every line serves a 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 is simple and the schema covers the two top-level parameters, but there is no output schema and the description only vaguely defines the returned object as 'detailed properties'. It does not describe what fields of `IDMT_PcbItem` an agent can rely on, and it does not distinguish this lookup from the all/current PCB sibling tools. The absence of usage guidance and return-structure detail leaves material 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 only generically describes `args` as a JSON parameter array, but the description's signature `dmt_Pcb.getPcbInfo(pcbUuid: string)` supplies the essential parameter name, order, and type. This significantly clarifies what must be placed inside the generic `args` array, going beyond the structured 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 states a clear action ('get PCB detailed properties') and resource (PCB), with the exact function signature `getPcbInfo(pcbUuid: string)`. It is specific enough to identify the tool as a single-PCB lookup, though it does not explicitly differentiate itself from sibling tools like `eda_dmt_pcb_get_all_pcbs_info` or `eda_dmt_pcb_get_current_pcb_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?
The description gives the parameter name `pcbUuid`, which implicitly suggests usage when a PCB UUID is known, but it never states when to use this tool versus alternatives. It does not mention `get_all_pcbs_info` or `get_current_pcb_info`, nor any exclusions or prerequisites, so an agent receives no explicit routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_pcb_modify_pcb_nameA
dmt_Pcb.modifyPcbName(pcbUuid: string, pcbName: string) -> Promise 修改 PCB 名称 remarks: 如若 PCB 已关联复用模块(在工程库内存在同名的复用模块符号),则修改名称时将同步修改复用模块符号名称与关联原理图名称 returns: 是否修改成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 discloses a meaningful side effect: if the PCB is associated with a reuse module symbol, renaming will also rename the reuse module symbol and the associated schematic name. It also states the return type (Promise<boolean>) and the return meaning ('是否修改成功'), which is useful. It does not discuss reversibility or permissions, but the key non-obvious side effect is 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 compact: signature, one-line purpose, a focused remark about side effects, and the return meaning. Every sentence earns its place, and the core purpose is front-loaded before the side-effect note.
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 two-parameter rename with no annotations and no output schema, the description covers the purpose, side effect, and return. However, it lacks guidance on how to discover the pcbUuid, whether a specific window must be active, and any constraints on the new name. These are not fully compensated by the schema, which only describes the generic args array and windowId.
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 only exposes generic `args` and `windowId`, but the description provides the exact function signature with parameter names and types: `(pcbUuid: string, pcbName: string)`. This adds meaning beyond the opaque schema and establishes the required order for the args array. The parameter names are self-explanatory, though deeper semantic detail (e.g., where to find pcbUuid, name constraints) is not included.
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 verb and resource: '修改 PCB 名称' (modify PCB name), and the signature `modifyPcbName(pcbUuid, pcbName)` reinforces the operation. The resource (PCB) is distinct from the many sibling modifiers like board_name, panel_name, project_name, and schematic_name, so an agent can tell it apart without opening 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?
No guidance is given about when to use this tool versus alternatives such as modify_board_name or modify_panel_name. It does not mention prerequisites, how to obtain the pcbUuid, or whether a specific window/document must be active. The distinction is left entirely to the tool name and implicit resource understanding.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_project_copy_projectB
dmt_Project.copyProject(sourceProjectUuid: string, targetTeamUuid?: string, targetFolderUuid?: string, newProjectFriendlyName?: string, newProjectName?: string) -> string | undefined
复制工程
returns: 新工程 UUID,如若为 undefined 则复制失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden. It does disclose that a failed copy returns undefined, which is helpful, but it doesn't mention side effects (e.g., whether the original project is modified, if permissions are needed, or if the copy is synchronous). The description is minimal and lacks behavioral depth beyond the basic return value.
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: a function signature line and a brief Chinese summary, followed by return value explanation. It is front-loaded with the operation name and parameters. While efficient, it lacks explanatory sentences that could provide context, but it earns a 4 for being tightly packed 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?
For a copy operation, the description covers the essential: what it does, the required parameter, and the return value (including failure case). However, it omits details about the scope of the copy (e.g., does it copy all associated schematics/boards?), potential errors beyond undefined, and any prerequisites like the source project existing. Given no output schema or annotations, it is adequate but leaves gaps an agent might need to handle.
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 lists all five parameters with their types and names (sourceProjectUuid, targetTeamUuid, targetFolderUuid, newProjectFriendlyName, newProjectName), which is essential because the input schema only provides 'args' and 'windowId' without describing individual parameters. This adds significant meaning beyond the schema, making the parameter roles clear even if their exact semantics are not detailed.
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 operation: copying a project via dmt_Project.copyProject, and mentions it returns the new project UUID. The verb 'copy' and the resource 'project' are explicit, and the Chinese phrase '复制工程' reinforces this. However, it doesn't differentiate from siblings like create_project or move_project, though the name itself is fairly self-explanatory.
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 instead of alternatives. There is no mention of prerequisites, context, or typical scenarios. The description only states the function signature and return behavior, leaving the agent to infer when copying is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_project_create_projectB
dmt_Project.createProject(projectFriendlyName: string, projectName?: string, teamUuid?: string, folderUuid?: string, description?: string, collaborationMode?: EDMT_ProjectCollaborationMode) -> Promise<string | undefined>
创建工程
returns: 工程 UUID,如若为 undefined 则创建失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 discloses the return value (UUID or undefined on failure) but says nothing about side effects, required permissions, whether the project is opened, or any other behavioral context. For a creation mutation, 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 extremely terse—just a signature and a one-line Chinese description of the return behavior. It's concise and front-loaded with the signature, but the language (Chinese) and lack of explanatory prose may reduce clarity for non-Chinese agents, though the core info 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 schema's lack of parameter detail and no annotations, the description provides the signature and return semantics, which is adequate for a basic creation call. However, it omits details like whether the teamUuid or folderUuid are required, what collaborationMode values are accepted, and any post-creation behavior, leaving some ambiguity.
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 lists all six function parameters with their types (projectFriendlyName, projectName, teamUuid, folderUuid, description, collaborationMode) via the signature, which adds meaning beyond the schema's opaque 'args' array. It clarifies the argument order and optionality, substantially helping an agent construct the call.
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 creates a project ('创建工程') and provides the full function signature, which makes the purpose clear. It doesn't differentiate from sibling creation tools (e.g., create_board, create_pcb), but the verb 'create' and the project-specific name are explicit 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?
No guidance is given about when to use this tool versus alternatives like eda_dmt_project_copy_project or eda_dmt_board_create_board. There are no prerequisites, context cues, or exclusions mentioned, leaving the agent to infer 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.
eda_dmt_project_delete_projectB
dmt_Project.deleteProject(projectUuid: string) -> boolean 删除工程 returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 return type (boolean success), but omits critical behavioral details: deletion is likely permanent and destructive, may affect associated documents, and may require confirmation. The word 'delete' implies destructiveness, but the description does not state the scope or reversibility.
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 short lines deliver the signature, purpose, and return meaning with no filler. The 'returns' line slightly duplicates the -> boolean, but it adds semantic value by clarifying that the boolean indicates success, so the redundancy is minor.
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 mutation with no annotations and no output schema, the description is under-specified. It does not state that projectUuid is required, how to obtain it, whether deletion is permanent, or what side effects occur on associated data. An agent would need to infer these from the name and sibling 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 only describes args as a generic array and windowId; it does not define the actual parameters. The description's signature 'deleteProject(projectUuid: string)' supplies the essential parameter name and type, without which the agent could not construct a valid call. This fully compensates for the opaque schema sub-structure.
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 operation explicitly: 'dmt_Project.deleteProject(projectUuid: string)' and '删除工程', clearly identifying the action (delete) and resource (project). It does not explicitly contrast with sibling deletion tools, but the resource name provides enough distinction. The function signature adds precise technical 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?
No guidance on when to use this tool vs alternatives. There is no mention of when deletion is appropriate, prerequisites such as obtaining the project UUID, or situations where a different tool (e.g., move_project or modify) should be used. The description only states what the tool does, not when to invoke it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_project_get_all_projects_uuidA
dmt_Project.getAllProjectsUuid(teamUuid?: string, folderUuid?: string, workspaceUuid?: string) -> Promise<Array>
获取所有工程的 UUID
remarks: 如若指定 teamUuid,则获取指定团队下的所有工程;
如若指定 folderUuid,则获取指定文件夹下的所有工程;
teamUuid、folderUuid 需要且仅允许指定其一,如若都指定则只取 folderUuid;
如若指定 workspaceUuid,则在指定 Workspace 下获取指定团队/文件夹下的所有工程
returns: 工程 UUID 数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 discloses the mutual exclusivity of teamUuid and folderUuid and the precedence rule, which is valuable. However, it doesn't state that this is a read-only operation, nor does it mention any potential performance implications for large numbers of projects, or that it returns a list of UUID strings only. The description adds some behavior but 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 reasonably concise, using bullet points for the remarks, which improves readability. The signature line is useful. Some redundancy between the signature and the Chinese description, but overall it's efficient. Front-loads the main purpose before 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?
The tool is a simple list fetch with optional filters, and the description covers the filter semantics, mutual exclusion, and return type (array of UUIDs). No output schema exists, but the return type is stated in the signature. It's complete enough for an agent to call correctly, though it could mention that workspaceUuid scopes the team/folder, which it 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 input schema provides placeholder 'args' array and windowId, with no real parameter details. But the description names the actual parameters teamUuid, folderUuid, workspaceUuid and explains their meaning and constraints. This goes beyond the schema, which has 100% coverage but is generic. The description adds the semantics, but could be more detailed on types or examples.
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 that it retrieves all project UUIDs, with optional filtering by team or folder. The function name and signature also align with this purpose. It is distinguished from siblings like get_project_info and get_current_project_info by explicitly being a bulk fetch of UUIDs, though it doesn't 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?
The description provides clear usage context: when teamUuid is specified, get projects under that team; when folderUuid specified, under that folder; workspaceUuid further scopes. It also specifies that teamUuid and folderUuid are mutually exclusive, with folderUuid taking precedence if both given. It doesn't explicitly say when not to use it, but the when-to-use is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_project_get_current_project_infoA
dmt_Project.getCurrentProjectInfo() -> Promise<IDMT_ProjectItem | undefined>
获取当前工程的详细属性
remarks: 将会获取当前打开且拥有最后输入焦点的原理图、PCB、面板所关联的工程的详细属性
returns: 工程属性,如若为 undefined 则获取失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the full burden. It discloses the behavioral nuance of selecting the project based on the last-focused document, and clearly states the return type (Promise<IDMT_ProjectItem | undefined>) and that undefined indicates failure. It does not mention side effects, but as a getter this is likely safe. The description provides useful behavioral context beyond the raw 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 compact and front-loaded with the core purpose, followed by a useful remark and return semantics. The code signature snippet adds specificity, and there is no redundant fluff. It could be slightly more readable without the code line, but it remains 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?
For a simple getter, the description covers what it does, how 'current' is determined, and what a failure looks like. It lacks detail on the IDMT_ProjectItem structure and any prerequisites beyond an open focused document, but these are not critical given the tool's simplicity. With no output schema or annotations, this is reasonably 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 input schema has full descriptions for both parameters ('args' and 'windowId'), and the description itself adds no additional parameter-level meaning. Since schema coverage is high, the baseline of 3 applies. The description does not explain how windowId affects the 'current' behavior, but the schema covers its basic usage.
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 it retrieves detailed properties of the current project, with a specific verb and resource. The remarks further clarify which project is 'current' (associated with the last-focused schematic/PCB/panel), which helps distinguish it from siblings that fetch project info by explicit ID. However, it does not explicitly contrast itself with sibling tools like eda_dmt_project_get_project_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?
The description implies usage when needing current project details and explains the conditions for what constitutes the current project, but it does not explicitly name alternatives or state when not to use this tool. An agent must infer the distinction from the tool name and sibling list rather than receiving direct guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_project_get_project_infoB
dmt_Project.getProjectInfo(projectUuid: string) -> Promise<IDMT_BriefProjectItem | undefined>
获取工程属性
returns: 简略的工程属性,如若为 undefined 则获取失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description itself must disclose behavior. It states the return type is a Promise resolving to a brief project item or undefined when retrieval fails, which is meaningful. However, it does not discuss side effects, permissions, or the meaning of 'brief' beyond the name, leaving some burden unmet.
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: a signature, a one-line purpose statement, and a return/error note. Nothing is wasted, though there is mild redundancy between the English signature and the Chinese explanation.
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 conveys the core call and what it returns/fails with, but it does not differentiate from the current-project getter or describe the fields of IDMT_BriefProjectItem despite there being no output schema. This is adequate for a simple getter but not 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 only describes generic args and windowId wrappers, so the included signature adds real semantics: the actual parameter is projectUuid as a string. This compensates for the schema's lack of detail about the positional argument.
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 operation clearly: obtaining project properties via a project UUID, with the API signature shown. It is distinct from the sibling get_current_project_info because it is keyed by a UUID, though it does not explicitly name that sibling.
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 signature implies the tool should be used when a projectUuid is available, but there is no explicit guidance about when to prefer this over get_current_project_info, get_all_projects_uuid, or other project-related tools. No alternatives or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_project_modify_project_collaboration_modeB
dmt_Project.modifyProjectCollaborationMode(projectUuid: string, collaborationMode: EDMT_ProjectCollaborationMode) -> boolean
修改工程协作模式
remarks: 如若团队权限无需工程设置协作模式,则将返回 false
returns: 是否修改成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 does mention a specific edge case (returns false when team permissions don't require setting collaboration mode) and states the return type, but it omits crucial details like side effects, permission requirements, reversibility, and what happens on failure. For a mutation tool, this is insufficient 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 concise and structured with a signature, a short Chinese description, remarks, and return semantics. However, it is somewhat cryptic, mixing code and natural language, and may be unclear to non-Chinese readers. It earns its place but lacks explanatory 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?
Given it's a mutation tool with no annotations and no output schema, the description is incomplete. It does not explain the possible values of collaborationMode, any prerequisites (e.g., project existence, user permissions), error handling, or side effects. An agent would need to make assumptions about these critical aspects.
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 includes the function signature with parameter names and types (projectUuid: string, collaborationMode: EDMT_ProjectCollaborationMode) and specifies the return type. This adds meaningful information beyond the schema, which only describes an opaque args array. It clarifies the expected order and types of the parameters, which is valuable 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 clearly states the action: modify the collaboration mode of a project. It names the specific resource (project collaboration mode) and the verb (modify), distinguishing it from sibling tools that modify other attributes like description or name. 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?
There is no guidance on when to use this tool versus alternatives. It does not mention prerequisites, when the tool is applicable, or when it should be avoided. The description is purely declarative and offers no routing information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_project_modify_project_descriptionB
dmt_Project.modifyProjectDescription(projectUuid: string, description?: string) -> boolean 修改工程描述 returns: 是否修改成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral burden. It does disclose that the return value is a boolean indicating success ('是否修改成功') and shows the optional nature of the description parameter. However, it omits error conditions, permission requirements, and whether an empty string clears 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 compact and front-loaded with the full signature, followed by a one-line summary and return semantics. There is slight redundancy between the function name and the Chinese phrase, but overall every line 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 simple two-parameter mutation, the description gives the essential call shape and return type. Yet it lacks practical details like how to obtain the projectUuid, whether the description can be cleared, and what failure cases produce a false return. This is adequate 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?
The input schema only describes a generic args array and windowId, so the signature in the description adds critical parameter meaning: projectUuid (string, required) and description (string, optional) in official order. It does not fully explain what a valid projectUuid looks like or how the description text is used, but it substantially compensates for the schema's lack of inner parameter definitions.
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 clearly states the operation: modifying the project description, with a concrete function signature and a Chinese one-line summary. It is distinguishable from sibling project tools by naming the specific field (description), though it does not explicitly contrast itself with related tools like modify_project_friendly_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 given on when to use this tool versus alternatives, nor any prerequisites or context such as needing an open/selected project. The usage is only implied by the tool name and the bare phrase '修改工程描述'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_project_modify_project_friendly_nameB
dmt_Project.modifyProjectFriendlyName(projectUuid: string, projectFriendlyName: string) -> boolean 修改工程友好名称 returns: 是否修改成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 does state that the operation modifies the friendly name and that the return value indicates success ('returns: 是否修改成功'). However, it omits prerequisites, permission requirements, failure semantics, or any side effects beyond the rename, which is a significant gap for a mutating 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 two compact lines with the signature front-loaded, followed by a direct Chinese explanation and return-value note. There is no filler or repeated boilerplate, and every sentence contributes parameter or behavior 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?
For a mutating function with no annotations and no output schema, the description is too thin to fully support correct invocation. It gives the signature and boolean return but does not explain when to call it, how to obtain the projectUuid, what conditions must hold, or what a false return means in practice. An agent would need external knowledge to use it reliably.
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's args array has empty item definitions and only says parameters follow official signature order, so the description's signature line adds essential meaning: projectUuid (string) and projectFriendlyName (string), in order. This lets an agent correctly construct the args array. It does not describe value constraints or UUID resolution, but the parameter names are self-explanatory.
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 and resource: 'modifyProjectFriendlyName' or '修改工程友好名称' (modify project friendly name), which clearly distinguishes it from sibling project-modification tools like modify_project_description and modify_project_collaboration_mode. It also includes the function signature naming the two parameters. However, it mostly restates the tool name and doesn't explain what a 'friendly name' is or how it differs from the project's internal 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?
The description gives no guidance on when to use this tool versus siblings. It doesn't mention that projectUuid can be obtained from a sibling like eda_dmt_project_get_all_projects_uuid, nor does it exclude alternatives such as modify_project_description or modify_project_collaboration_mode. The agent must infer usage entirely from the tool name and signature.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_project_move_projectC
dmt_Project.moveProject(projectUuid: string, teamUuid: string, folderUuid?: string) -> boolean 移动工程 returns: 是否移动成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 that it returns a boolean indicating success but does not disclose any side effects, permission requirements, or potential impacts (e.g., whether it moves the project to a team, a folder, or both). The behavior is underspecified.
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 (one line), but it is not well-structured. It mixes a raw function signature with a Chinese phrase and a return type note, lacking a clear human-readable summary. The information is minimal and not front-loaded for easy comprehension.
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 that moves a project, the description is incomplete. It does not clarify what 'move' means (to a team, to a folder, or both), the required parameters, or any preconditions. There is no output schema, so the return type note is useful but not enough. An agent lacks the context needed to invoke 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 description provides the function signature with parameter names and types (projectUuid: string, teamUuid: string, folderUuid?: string), which is not present in the schema. This gives some context about what parameters are expected, but it does not explain the meaning of each parameter or how they relate to the action. The schema itself only defines an 'args' array with empty items, so the description partially compensates but lacks semantic depth.
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 function signature and a Chinese label '移动工程' (move project), which makes the primary action clear. However, it does not differentiate from the sibling tool 'eda_dmt_project_move_project_to_folder', which also moves a project. The description is essentially a restatement of the function name with parameter types, so it adds little beyond the name itself.
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 sibling 'move_project_to_folder'. The description only provides the signature, with no explanation of the intended use case, prerequisites, or alternatives. An agent cannot determine when this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_project_move_project_to_folderB
dmt_Project.moveProjectToFolder(projectUuid: string, folderUuid?: string) -> Promise 移动工程到文件夹 returns: 是否移动成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full behavioral burden. It discloses that the operation moves a project and returns a boolean success indicator, but it does not mention side effects such as removing the project from its previous location, permission requirements, failure conditions, or the meaning of an omitted folderUuid. For a mutating operation 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: signature first, then a one-line Chinese translation, then the return type meaning. Every line earns its place and there is 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?
For a simple move operation, the signature and return type cover the basic call shape. However, the optional folderUuid behavior is unexplained, and no usage context distinguishes this tool from eda_dmt_project_move_project. An agent can likely invoke the tool but may not know the correct semantics when folderUuid is 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 input schema only provides a generic args array with empty item definitions and a windowId field, so the function signature in the description is the main source of parameter meaning. It adds the parameter names, types, and order (projectUuid: string, folderUuid?: string), which is essential for constructing the positional args array correctly. It stops short of explaining where the UUIDs come from or the semantics of folderUuid being optional.
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 operation: "moveProjectToFolder(projectUuid, folderUuid)" plus the Chinese "移动工程到文件夹" (move project to folder). This identifies the verb, resource, and target. It does not explicitly contrast with the similar sibling eda_dmt_project_move_project, but the 'to folder' target is sufficiently specific.
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 like eda_dmt_project_move_project or eda_dmt_folder_move_folder_to_folder. The description repeats the API signature but provides no context about prerequisites, when moving to a folder is appropriate, or what happens when folderUuid is omitted.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_project_open_projectA
dmt_Project.openProject(projectUuid: string) -> Promise 打开工程 remarks: 本操作将会在 EDA 前端打开指定工程,如若原先已打开其它工程且有未保存的变更,执行本操作将直接丢失所有未保存的数据 returns: 是否成功打开工程
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 the key behavioral consequence: opening a project when another is open with unsaved changes will lose all unsaved data. It also notes the return value is a boolean indicating success. This is significant and useful, though it does not mention other side effects like authentication or blocking behavior.
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 relatively concise, containing a signature, a short Chinese label, a crucial remark, and a return note. It is front-loaded with the signature and warning, and does not contain excessive filler. The only minor redundancy is '打开工程' repeating the signature's intent, but it is 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?
For a simple open-project operation with no output schema, the description covers the essential return value (boolean) and the critical data-loss warning. It does not explain the 'windowId' parameter, but the schema covers that. It also does not discuss error handling or invalid UUID cases, but that is not necessary for basic usage. Overall it is adequately 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 descriptions for both 'args' and 'windowId' (100% coverage), so baseline is 3. The description adds the function signature, clarifying that the 'args' array should contain a 'projectUuid' string. This directly maps the signature parameter to the schema structure, adding meaningful semantics beyond the generic 'JSON parameter array' 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 explicitly states 'dmt_Project.openProject(projectUuid: string) -> Promise<boolean>' and '打开工程' (open project), and the remarks clarify it opens the specified project in the EDA frontend. This is a clear, specific verb+resource (open + project) and is distinct from the many project-management siblings (create, delete, get info, etc.).
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 about when to use this tool versus alternatives. The description only states what it does and includes a warning about data loss; it does not mention any exclusions, prerequisites, or alternative tools for similar operations. The intended use is only implied by the name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_schematic_copy_schematicB
dmt_Schematic.copySchematic(schematicUuid: string, boardName?: string) -> Promise<string | undefined>
复制原理图
remarks: 如若原理图已关联复用模块(在工程库内存在同名的复用模块符号),则复制原理图时将同步新建复用模块符号
returns: 新原理图 UUID,如若为 undefined 则复制失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral burden and does disclose meaningful behavior: the return contract (new schematic UUID, or undefined on failure) and a non-obvious side effect where copying a schematic linked to a reuse module also creates a matching reuse-module symbol. It does not discuss permissions or reversibility, but copy semantics imply the source remains intact.
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 the function signature, followed by labeled 'remarks' and 'returns' sections. The Chinese one-liner is mildly redundant with the signature, but there is no wasted prose and the structure aids parsing.
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 copy operation with a side effect and no output schema, the description adequately covers the return value and the reuse-module behavior. It is incomplete on what boardName means, where the copy is created, prerequisites such as source schematic existence, and failure conditions beyond returning undefined.
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 only describes the generic args array and windowId, so the signature adds useful parameter names, types, and optionality (schematicUuid: string, boardName?: string). However, the meaning of boardName is not explained, and the positional args array mapping is left implicit. This meets the high-coverage baseline but does not exceed 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 states a specific verb and resource: 'copySchematic' / '复制原理图' (copy schematic), with a concrete function signature. It is distinguishable from the sibling copy_schematic_page tool by resource scope, though it does not explicitly call out that 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?
There is no guidance on when to use this tool versus alternatives such as eda_dmt_schematic_create_schematic, eda_dmt_schematic_copy_schematic_page, or the other copy variants. The intended use case must be inferred from the tool name and signature rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_schematic_copy_schematic_pageC
dmt_Schematic.copySchematicPage(schematicPageUuid: string, schematicUuid?: string) -> Promise<string | undefined>
复制原理图图页
returns: 新原理图图页 UUID,如若为 undefined 则复制失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 the function returns a UUID or undefined on failure, which is useful, but it does not mention potential side effects such as whether the copy is saved immediately, requires an active document, or affects the undo stack. For a mutation operation, this is a 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 concise, containing only a function signature, a short Chinese phrase, and a return value note. It is front-loaded with the signature. No wasted sentences.
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 EDA tools and the lack of annotations, the description is insufficient. It doesn't specify what 'copy' means in terms of page context (e.g., does it copy within the same schematic or across schematics?), any requirements like needing the schematic to be open, or how the result is used. The function signature hints at an optional schematic UUID, but the semantics are not explained.
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 100% coverage with a description that the args array is JSON parameters in official order, and windowId is optional. The description adds the function signature with parameter names (schematicPageUuid, schematicUuid?) and return type, which clarifies the parameter order and meaning, but does not explain each parameter in detail beyond names. Baseline 3 is appropriate since schema covers the structure.
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 function name and includes a Chinese phrase meaning 'copy schematic page', so an agent can infer it copies a schematic page. However, it does not clearly specify what the operation entails (e.g., duplicates an existing page within a schematic) or what the return value represents beyond 'new page UUID'. It is somewhat tautological as it repeats 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?
There is no guidance on when to use this tool compared to alternatives like eda_dmt_schematic_copy_schematic (which copies a whole schematic) or eda_dmt_schematic_create_schematic_page (which creates a new page). The description lacks any context on prerequisites such as needing the source page to exist or the schematic context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_schematic_create_schematicB
dmt_Schematic.createSchematic(boardName?: string) -> Promise<string | undefined>
创建原理图
returns: 原理图 UUID,如若为 undefined 则创建失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 does disclose the return semantics (schematic UUID, undefined = creation failed), which is genuinely useful. But it does not disclose side effects (where the schematic is created, whether it is persisted, or prerequisites such as an active project or window). For a mutation tool with zero annotation coverage, this is a notable gap, though the return behavior partially compensates.
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 front-loaded with purpose, followed by the signature and return semantics. The signature line adds the parameter name, and the return note is useful. No wasted sentences, though the raw TypeScript signature is a slightly odd inclusion that could be cleaner natural language.
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 return value is disclosed (valuable given there is no output schema) and the core purpose is clear. However, boardName semantics are unexplained, no prerequisites are stated, and side effects are not described. For a creation tool with no annotations and no output schema, an agent needs more context to call it correctly and 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 description coverage is 100%, so baseline is 3. The description adds value by naming the boardName parameter through the signature, which helps an agent interpret the generic 'args' array. However, boardName is never explained (is it the schematic's name? the board it belongs to? optional format?), leaving its meaning 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 states a clear verb+resource ('创建原理图'/create schematic) and shows the underlying method signature dmt_Schematic.createSchematic. It is distinguishable from the sibling create_schematic_page tool, which targets a page rather than a schematic. However, it does not explicitly differentiate from copy_schematic or other schematic lifecycle 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 when-to-use guidance is provided. Among many schematic siblings (copy_schematic, create_schematic_page, delete_schematic, get_all_schematics_info), there is no routing, exclusion, or condition that would help an agent choose this tool over alternatives. Nothing tells the agent when creating a new schematic is appropriate versus copying or deleting one.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_schematic_create_schematic_pageB
dmt_Schematic.createSchematicPage(schematicUuid: string) -> Promise<string | undefined>
创建原理图图页
returns: 原理图图页 UUID,如若为 undefined 则创建失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 the return type (UUID or undefined on failure) and implies a mutation (creation). However, it does not mention any side effects, whether it requires an existing schematic, or if it changes the current document. The failure mode is disclosed, but other behavioral aspects 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?
The description is concise, with a function signature and two short sentences. It front-loads the signature and then gives a brief return explanation. However, the mixed Chinese/English could be clearer, and the structure could separate the description from the technical details, but it is appropriately sized.
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 creation tool with no annotations and no output schema, the description is incomplete. It does not explain where to obtain the schematicUuid (e.g., from get_all_schematics_info), whether the schematic must be open, or any preconditions. It lacks context on the operation's effect on the document hierarchy and error scenarios beyond undefined.
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 specific meaning by stating the function signature with schematicUuid, clarifying that the args array expects a schematic UUID as the first parameter. The schema only provides a generic 'JSON parameter array', so the description compensates by revealing the actual parameter and its purpose. It also explains the return value 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 states the action clearly: '创建原理图图页' (Create schematic page) and provides the function signature with parameter and return type. It distinguishes from siblings like create_schematic (which creates the parent schematic) and copy_schematic_page, though not explicitly. The verb 'create' and resource 'schematic page' are specific, making the purpose clear.
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 creating a schematic first or using get_all_schematic_pages_info to list existing pages. No mention of prerequisites (e.g., a schematic must exist) or when this is the appropriate operation. The description gives no usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_schematic_delete_schematicA
dmt_Schematic.deleteSchematic(schematicUuid: string) -> Promise 删除原理图 remarks: 如若原理图已关联复用模块(在工程库内存在同名的复用模块符号),则删除原理图时将同步删除关联的 PCB 和复用模块符号,复用模块符号不可删除则跳过 returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral burden and does disclose important side effects: if the schematic is associated with a reuse module, deletion also deletes the associated PCB and reuse module symbol, and skips if the symbol cannot be deleted. It also states the return type (Promise<boolean>) and success semantics, giving agents a clear picture of destructive behavior beyond the bare 'delete' verb.
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 well-structured: signature, one-line purpose, labeled remarks, and labeled return semantics. Every line adds information without repetition or fluff, 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?
For a delete operation with no output schema, the description adequately covers the return value, the parameter name/type, and the key side effect (cascade deletion). It omits prerequisites or error conditions, but the essential calling context is present and no annotation gaps need compensating.
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 only documents a generic 'args' array and windowId, so the actual parameter 'schematicUuid: string' is only revealed in the description's signature line. This adds meaning the schema does not provide, though it does not explain how to obtain a valid schematic UUID or what values are acceptable beyond the 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 states '删除原理图' (delete schematic) with a clear verb and resource, and the API signature 'dmt_Schematic.deleteSchematic' reinforces the operation. It is clearly distinct from sibling 'eda_dmt_schematic_delete_schematic_page' by naming the schematic itself, but it does not explicitly call out that 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?
No guidance is provided about when to use this tool versus alternatives, such as delete_schematic_page or other delete operations. The description gives no exclusions, prerequisites, or context about selecting this tool over siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_schematic_delete_schematic_pageB
dmt_Schematic.deleteSchematicPage(schematicPageUuid: string) -> Promise 删除原理图图页 returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 states it deletes a page and returns a boolean for success, but it does not mention irreversibility, side effects on linked objects, permissions required, or behavior when the page does not exist. The description is minimal and does not add context beyond the obvious destructive nature of deletion.
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 concise: a function signature, a Chinese line for purpose, and a return description. It is front-loaded with the signature and is efficient, though it could be slightly more explanatory. It earns a high score for being tight and direct.
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 deletion tool with one parameter, the description covers the basic purpose and return type. However, it does not address edge cases such as deleting the last page, failure handling, or any constraints. Given the simplicity of the tool, it is adequate but lacks completeness in explaining potential pitfalls.
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 function signature provides the specific parameter `schematicPageUuid: string`, which adds meaning beyond the generic `args` array description in the schema. The schema only says 'JSON parameter array in official signature order' without specifying the actual parameter, so the description adds value by naming the parameter and its type.
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: 删除原理图图页 (Delete schematic page), with a specific verb and resource. However, it does not differentiate from sibling tools like deleting a schematic or copying a page, so it loses a point for lacking sibling 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?
There is no guidance on when to use this tool versus alternatives. It does not mention prerequisites, conditions, or scenarios where this tool is appropriate. The usage is only implied by the delete action, with no explicit context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_schematic_get_all_schematic_pages_infoB
dmt_Schematic.getAllSchematicPagesInfo() -> Promise<Array> 获取工程内所有原理图图页的详细属性 returns: 所有原理图图页的详细属性的数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. It discloses the return type (Array<IDMT_SchematicPageItem>) and that it returns detailed attributes, which is helpful. However, it does not describe how the windowId parameter affects the call, whether it requires an open project, what happens when no pages exist, or any 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 short and front-loaded with the API signature. It includes a concise Chinese purpose statement and a return-type line. The returns line partially repeats the description, but overall the text is efficient for a simple retrieval 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 simple retrieval tool, the description covers the core purpose and return type, and the schema covers both parameters. However, it is incomplete on scope semantics (whether '工程内' means current project or any project), the role of windowId, and expected behavior in edge cases. With no annotations or output schema, the description could have provided more context without being verbose.
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 100%, with both args and windowId documented in the schema. The description itself adds no extra meaning about the parameters, such as how windowId selects the target window or what the args array should contain. Baseline 3 is appropriate because the schema handles 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 clearly identifies the action ('获取工程内所有原理图图页的详细属性') and the resource ('all schematic pages in a project'), and gives the return type. However, it does not explicitly distinguish this from the closely related sibling eda_dmt_schematic_get_current_schematic_all_schematic_pages_info, which differs only by the current-schematic 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 implies it is used to retrieve all schematic page details in a project, but it does not explain when to choose this over siblings like eda_dmt_schematic_get_current_schematic_all_schematic_pages_info or eda_dmt_schematic_get_schematic_page_info. No exclusions, prerequisites, or alternative routing are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_schematic_get_all_schematics_infoC
dmt_Schematic.getAllSchematicsInfo() -> Promise<Array> 获取工程内所有原理图的详细属性 returns: 所有原理图的详细属性的数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden. It discloses only that the call returns a promise of an array of IDMT_SchematicItem; it does not state whether the operation is read-only, whether it depends on an active window/project, or any error/edge-case behavior.
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 starts with the API signature, which is good for scanning. However, the signature and the 'returns' line redundantly express the same return-type information, and the English/Chinese mix adds minor noise without additional 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?
For a simple getter, the description states the basic return shape and scope, and the schema covers the optional windowId. However, with no output schema and no annotations, it does not explain what fields IDMT_SchematicItem contains, how projects are resolved, or what happens when no project is open—making it minimally viable but 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 100%, so the schema already documents windowId and args. The description adds no parameter-specific meaning, though the embedded signature 'getAllSchematicsInfo()' implies no semantic arguments are needed. This is adequate but the generic 'args' array still lacks concrete guidance for the actual method signature.
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 operation: get all schematics' detailed attributes within the project ('获取工程内所有原理图的详细属性'). The verb+resource+scope is specific and distinguishable from siblings like eda_dmt_schematic_get_schematic_info by the explicit 'all schematics' wording, though it does not name any alternative directly.
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 like get_current_schematic_info or get_schematic_page_info. It only restates the basic purpose, providing no exclusions, prerequisites, or context such as whether a project must be open.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_schematic_get_current_schematic_all_schematic_pages_infoC
dmt_Schematic.getCurrentSchematicAllSchematicPagesInfo() -> Promise<Array> 获取当前原理图内所有原理图图页的详细属性 returns: 所有原理图图页的详细属性的数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 a promise returning an array of page items, but does not mention whether this is read-only, what side effects occur, whether windowId is required, or how the result is structured. For a getter, it at least implies non-mutating behavior, but lacks detail on edge cases or 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, with two sentences (one bilingual signature line and one Chinese description with return type). It is front-loaded with the API call and return type. No unnecessary verbosity, though the bilingual duplication could be considered slightly 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?
Given the tool's moderate complexity (returns an array of page details) and the presence of siblings, the description is incomplete. It does not explain what attributes are returned, how windowId affects results, or how to interpret the output. Since there is no output schema, the description should offer more details on the return value structure.
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 already provides descriptions for both parameters (windowId and args), achieving 100% coverage. The description adds nothing about parameters, so the baseline score of 3 applies. The schema sufficiently explains the 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 it retrieves detailed attributes of all schematic pages in the current schematic. The verb '获取' and resource '当前原理图内所有原理图图页的详细属性' are specific. While it doesn't explicitly differentiate from siblings, the tool name and description make the scope (current schematic, all pages) 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?
No guidance is provided on when to use this tool versus alternatives like eda_dmt_schematic_get_all_schematic_pages_info or eda_dmt_schematic_get_current_schematic_page_info. The description does not mention context, prerequisites, or which scenario this tool is best suited for.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_schematic_get_current_schematic_infoA
dmt_Schematic.getCurrentSchematicInfo() -> Promise<IDMT_SchematicItem | undefined>
获取当前原理图的详细属性
remarks: 将会获取当前打开且拥有最后输入焦点的原理图图页所关联的原理图的详细属性
returns: 原理图的详细属性,如若为 undefined 则获取失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 does a good job by explaining that 'current' means the schematic associated with the currently open page that has last input focus, and by stating that undefined means retrieval failed. It does not explicitly state there are no side effects, but the 'get' verb and return semantics make the read-only nature reasonably clear.
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 well-structured with a signature line, a clear main statement, a labeled remarks note, and a labeled returns note. Every sentence contributes meaningful information without redundancy or padded 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?
The description covers the core behavior and failure signal, and the tool is simple with optional parameters. However, there is no output schema and the return value is only described as '详细属性' plus a type name, so an agent has limited information about the actual shape of IDMT_SchematicItem. Slightly more detail about what fields are returned would make it 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 100% for the two parameters (args and windowId), so the baseline is 3 even though the description itself adds no parameter-specific detail. The description does not explain how to populate args or when to set windowId, but the schema already provides those 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 a specific verb and resource: '获取当前原理图的详细属性' (get the current schematic's detailed attributes). The remarks further distinguish it from sibling page-level tools by clarifying that it returns the schematic associated with the currently open, last-input-focus schematic page, which separates it from get_current_schematic_page_info and similar 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?
Usage is implied rather than explicit: an agent can infer it should call this when it needs attributes of the current schematic. However, there is no explicit guidance about when to prefer this over siblings like eda_dmt_schematic_get_schematic_info or eda_dmt_schematic_get_current_schematic_page_info, nor any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_schematic_get_current_schematic_page_infoB
dmt_Schematic.getCurrentSchematicPageInfo() -> Promise<IDMT_SchematicPageItem | undefined>
获取当前原理图图页的详细属性
remarks: 将会获取当前打开且拥有最后输入焦点的原理图图页的详细属性
returns: 原理图图页的详细属性,如若为 undefined 则获取失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 usefully states that the tool returns undefined on failure and specifies that it targets the page with the last input focus, not just any open page. However, it does not mention potential side effects (none expected) or any window targeting nuance beyond the optional windowId parameter.
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 a technical signature followed by a one-line purpose, remarks, and return behavior. Each part serves a function without redundancy. It could be slightly more structured with clear sections, but it 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?
For a simple getter with no required parameters, the description covers the essential behavior: what it returns, the failure case (undefined), and the focus condition. It does not describe the structure of IDMT_SchematicPageItem, but given no output schema, this could be a gap; however, the purpose is adequately clear for an agent to decide whether to call 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 100%, with both 'args' and 'windowId' described generically. The tool description adds no parameter-specific semantics beyond the schema, which is already adequate for a zero-required-parameter getter. The baseline of 3 applies as the schema carries the documentation load.
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 verb and resource: get detailed properties of the current schematic page. The 'remarks' adds specificity about 'currently open and having last input focus', which clarifies the exact target. However, it does not differentiate from siblings like eda_dmt_schematic_get_schematic_page_info, which also fetch page info, relying on the name for 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?
No guidance is provided about when to use this tool versus alternatives. It does not mention prerequisites, such as ensuring a schematic page is open and focused, nor does it reference sibling getters (e.g., eda_dmt_schematic_get_all_schematic_pages_info). The context of 'last input focus' is implicit but not framed as a usage condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_schematic_get_schematic_infoB
dmt_Schematic.getSchematicInfo(schematicUuid: string) -> Promise<IDMT_SchematicItem | undefined>
获取原理图的详细属性
returns: 原理图的详细属性,如若为 undefined 则获取失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must carry the behavioral burden. It discloses the return type (Promise<IDMT_SchematicItem | undefined>) and states that undefined means failure, which is useful. However, it does not mention prerequisites like the schematic needing to be open, or any side effects (likely none for a getter, 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 concise, with three short lines covering signature, purpose, and return semantics. It avoids fluff, though the Chinese phrasing might be less universally readable, and the purpose line is not front-loaded in English.
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 output schema, the description explains the return value and failure indicator. It does not address potential edge cases like an invalid UUID or the need for an active window when windowId is omitted. The lack of differentiation from many sibling tools also leaves some ambiguity.
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% but the descriptions are generic: args is an array in official signature order, and windowId targets the active window. The description's signature adds meaning by identifying the schematicUuid as the required argument, but it does not detail how to pass it inside the array or clarify the order beyond the signature.
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 gets detailed schematic properties ('获取原理图的详细属性') and provides the function signature with a schematicUuid parameter, making the purpose clear. It is specific enough to distinguish from listing tools like get_all_schematics_info, though it does not explicitly contrast with 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?
There is no guidance on when to use this tool versus alternatives such as get_current_schematic_info or get_schematic_page_info. The description only explains what it does without contextual triggers or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_schematic_get_schematic_page_infoB
dmt_Schematic.getSchematicPageInfo(schematicPageUuid: string) -> Promise<IDMT_SchematicPageItem | undefined>
获取原理图图页的详细属性
returns: 原理图图页的详细属性,如若为 undefined 则获取失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden. It discloses the return type (Promise<IDMT_SchematicPageItem | undefined>) and the failure condition (undefined indicates failure). The verb 'get' implies a read-only operation, but it does not explicitly state that no side effects occur or that it requires a valid UUID and possibly an open document. It adds moderate 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 compact, including the method signature and a brief Chinese explanation of what it returns and the failure case. It is succinct with no filler, though the signature and prose slightly overlap. The most important info (what it does and return behavior) is present 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?
For a simple read operation, the description conveys the basic purpose and return semantics. However, it omits practical usage context such as how to obtain the schematicPageUuid, whether the page must be open in the current window, or any prerequisites. Since there is no output schema, a bit more detail about the returned item's structure would be helpful, but the failure condition is clearly stated. The description is minimally adequate but not 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 already describes both parameters (args as a JSON array in official signature order, windowId as an optional target window). The description repeats the parameter name in the signature (schematicPageUuid) but doesn't explain how to format it within the args array or that it is required (though the signature implies it). Since schema coverage is 100%, the description adds little semantic value beyond confirming the parameter exists.
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 it retrieves detailed properties of a schematic page via 'getSchematicPageInfo(schematicPageUuid)'. It distinguishes itself from siblings like get_all_schematic_pages_info and get_current_schematic_page_info by the explicit UUID parameter, though it doesn't explicitly contrast them. Overall 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?
No guidance is provided on when to use this tool versus its siblings. It doesn't mention that the UUID can be obtained from get_all_schematic_pages_info or that get_current_schematic_page_info is an alternative when targeting the active page. The only hint is the signature, which implies the need for a specific page UUID, but no explicit exclusions or alternatives are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_schematic_modify_schematic_nameA
dmt_Schematic.modifySchematicName(schematicUuid: string, schematicName: string) -> Promise 修改原理图名称 remarks: 如若原理图已关联复用模块(在工程库内存在同名的复用模块符号),则修改名称时将同步修改复用模块符号名称与关联 PCB 名称 returns: 是否修改成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations to carry the safety profile, the description takes on the responsibility. It discloses a critical side effect: if the schematic is linked to a reuse module, renaming will also update the module symbol and associated PCB name. It also states the boolean return. However, it omits other behavioral aspects such as reversibility, error handling for invalid UUIDs, or whether the operation is destructive in a broader sense. The disclosed side effect is valuable but the disclosure is 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 compact: a single-line signature, a two-character purpose statement, a remark, and a returns line. It front-loads the essential operation and return type. The only slight detractor is the mix of English and Chinese, but it remains clear 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 description covers the return value (boolean success) and an important side effect, which is essential. However, it lacks details about error conditions (e.g., what if UUID is invalid), any required preconditions (e.g., schematic must be open in an editor), and does not mention permission or ownership requirements. Given the lack of an output schema and annotations, these omissions leave gaps for an agent trying to invoke the tool reliably.
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 describes the args array and windowId generically, but the description's function signature explicitly exposes schematicUuid and schematicName in order, which clarifies how to construct the args array. This adds semantic meaning beyond the schema's vague 'JSON parameter array'. Schema coverage is high (100%), but the signature provides concrete parameter names and types, elevating the utility.
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 '修改原理图名称' (modify schematic name) and includes the exact function signature with parameter names and return type. Among the many modify_* siblings (e.g., board, folder, panel, pcb, project), this one is unambiguous in targeting the schematic name specifically, so it stands out from 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?
The description gives no guidance on when to use this tool versus other tools, nor any conditions or exclusions. It does not mention prerequisites (e.g., schematic must be open, user permissions) or alternative approaches. The only contextual hint is the side-effect remark about reuse modules, but that is about behavior, not usage selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_schematic_modify_schematic_page_nameB
dmt_Schematic.modifySchematicPageName(schematicPageUuid: string, schematicPageName: string) -> Promise 修改原理图图页名称 returns: 是否修改成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description must carry the behavioral burden. It discloses that the method returns a Promise<boolean> indicating success, but does not mention side effects, failure conditions, permission requirements, or whether the rename affects references to the page. These are significant unknowns for a mutating 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 short and the signature is front-loaded, with a concise Chinese statement of purpose and return value. There is slight redundancy between the signature line and the following description, but no filler or irrelevant 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?
For a mutating tool with no annotations and no output schema, the description leaves out important invocation context: it does not explain that schematicPageUuid must be obtained from a prior query, does not mention any constraints on the new name, and does not clarify how windowId selection works beyond the schema's generic note. An agent would likely need to inspect sibling tools to call this 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 actual parameters (schematicPageUuid, schematicPageName) are not described in the input schema – the schema only has generic args and windowId. The description compensates by naming the parameters, their types, and their order via the function signature. It lacks deeper semantics like uniqueness constraints or where the UUID comes from, but it adds essential meaning 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?
The description explicitly states the operation: modifying a schematic page name, with a function signature showing both parameters. This clearly distinguishes it from sibling tools such as eda_dmt_schematic_modify_schematic_name (modifies the schematic, not the page) and eda_dmt_schematic_create_schematic_page (creates a page).
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, nor on prerequisites such as how to obtain the schematicPageUuid (e.g., from eda_dmt_schematic_get_schematic_page_info). The only usage signal is implied by the operation name, which is not enough for an agent to make an informed choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_schematic_modify_schematic_page_title_blockA
dmt_Schematic.modifySchematicPageTitleBlock(showTitleBlock?: boolean, titleBlockData?: Record<string, { showTitle?: boolean; showValue?: boolean; value?: any }>) -> Promise
修改原理图图页明细表
remarks: titleBlockData 仅需要传入任何需要修改的明细项作为 key,并传入其需要修改的值,任何无法识别的明细项将被忽略,任何未传入的项和值将保持默认状态
returns: 修改操作是否成功,如若未传入 showTitleBlock 和 titleBlockData 将返回 false;请注意,如若存在无法识别的明细项但程序并未出错,将返回 true 的结果,因为无法识别的明细项被忽略
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and provides meaningful behavioral details: unrecognized titleBlockData keys are silently ignored, omitted items and values keep their defaults, and the return value is false when both arguments are omitted but true when unknown keys are ignored. This exceeds bare mutation semantics, though side effects and error conditions are not 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 definition is front-loaded with the signature and a one-line Chinese purpose, followed by labeled remarks and returns sections. Each section adds information, though the dense signature line plus remarks requires careful parsing.
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?
It covers optionality, partial-update behavior, and return semantics, which is useful for a two-parameter tool. However, it does not enumerate valid titleBlockData keys, provide an example payload, or state prerequisites such as having an open schematic page, leaving some ambiguity for 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 only exposes a generic args array and windowId, so the description's signature is essential: it documents the optional showTitleBlock boolean, the Record structure of titleBlockData with showTitle/showValue/value, and the partial-update key semantics. This is meaningfully richer than the schema, though concrete key examples are missing.
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 the exact operation: modifying the schematic page title block/detail table, and includes the full API signature. It is specific about the resource and action, but it does not contrast itself with sibling modify tools, so it stops 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 explicit when-to-use or when-not-to-use guidance and no mention of alternatives. The intended scenario (editing the current schematic page's title block) is implied by the tool name and domain, and the remarks clarify partial-update usage, but selection criteria versus sibling tools are not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_schematic_reorder_schematic_pagesC
dmt_Schematic.reorderSchematicPages(schematicUuid: string, schematicPageItemsArray: Array) -> Promise 重新排序原理图图页 returns: 排序操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 return is a Promise<boolean> indicating success, and 'reorder' implies mutation. But it does not state whether the operation is destructive/reversible, whether it persists, what failure conditions exist, or what happens if the schematicUuid is invalid. The minimal return-type note is the only 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 it is essentially a raw API signature dump with a two-line Chinese gloss rather than a crafted, agent-oriented explanation. The signature duplicates information already available in the tool name, and the Chinese text ('reorder schematic pages', 'returns: whether the operation succeeded') is not optimized for English-speaking agents.
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, no output schema, and a parameter that is an array of structured items, the description should explain how to construct the array and what the operation requires. It covers neither the structure of schematicPageItemsArray nor the role of windowId in selecting the target schematic, leaving a non-trivial gap for 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 signature line adds the parameter names and types (schematicUuid: string, schematicPageItemsArray: Array<IDMT_SchematicPageItem>), which the schema itself does not provide since its 'args' property is just a generic array of untyped items. However, it does not explain the meaning of IDMT_SchematicPageItem, how the array order maps to the new page order, or how these bind to the args array positionally.
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 'reorder' and the resource 'schematic pages' via the signature line and the Chinese phrase '重新排序原理图图页'. The tool name itself is also self-descriptive. However, it does not articulate how this differs from sibling page tools (create/copy/delete/modify page), leaving sibling differentiation to the name alone.
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, no preconditions (e.g., schematic must exist or be open), and no mention of when reordering is appropriate. Usage must be inferred entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_select_control_get_current_document_infoA
dmt_SelectControl.getCurrentDocumentInfo() -> Promise<IDMT_EditorDocumentItem | undefined>
获取当前文档的属性
remarks: 将会获取当前打开且拥有最后输入焦点的文档的文档类型、UUID、所属工程的 UUID 或所属库的 UUID
returns: 文档类型、UUID、所属工程的 UUID、所属库的 UUID 组成的对象,如若为 undefined 则获取失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 return contract (object with document type, UUID, project/library UUID), the focus-based selection behavior, and the failure signal (`undefined`). It does not explicitly state side effects, but the read-only nature is strongly implied by the getter wording and return semantics.
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: a signature, a one-line purpose, a remarks sentence, and a returns sentence. There is minimal redundancy and no filler. The key behavior (focus-based selection) and failure condition are both included without bloating the 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?
There is no output schema, so the description appropriately explains the return shape and the `undefined` failure case. It also clarifies which document qualifies as 'current' (last input focus). It could go deeper on multi-window behavior, but for a simple read operation with no required parameters, it is sufficiently 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 100%, so the base expectation is met. The description adds the method signature `getCurrentDocumentInfo()` implying no positional args, which is useful, but it does not clarify the `windowId` parameter beyond the schema's generic description. Overall the schema already does most of the parameter work.
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 and resource: '获取当前文档的属性' (get current document's attributes) and enumerates the returned fields (document type, UUID, parent project/library UUID). It does not explicitly distinguish itself from sibling getters like get_current_project_info or get_current_schematic_info, but the focus on the currently focused document is specific 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?
The remarks define the exact usage context: it retrieves the currently open document that has the last input focus. This tells the agent when to use this rather than other 'current' info getters. It does not mention alternatives or exclusions, but the context is clear and unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_team_get_all_involved_team_infoB
dmt_Team.getAllInvolvedTeamInfo() -> Promise<Array> 获取所有参与的团队的详细属性 returns: 所有参与的团队的详细属性
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 offers nothing beyond the method signature and a redundant restatement of the return type. It does not mention whether it is read-only (likely, given 'get'), potential errors, permission requirements, or behavior when the user has no involved teams. The description adds no behavioral context beyond what the name implies.
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 brief but redundant, repeating '所有参与的团队的详细属性' twice (once in the main line and once after 'returns:'). It also opens with the internal method name 'dmt_Team.getAllInvolvedTeamInfo()', which is not useful to an agent. The structure is short but wastes a line on repetition, making it less efficient than it could be.
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 getter with no required parameters and no output schema, the description still lacks essential context. It does not explain what 'detailed attributes' means, what fields are in IDMT_TeamItem, or how the result is structured. An agent cannot know what information to expect from the return value, making the description insufficient for correct invocation and result interpretation.
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 100% for both parameters (args and windowId), and the schema already explains their roles (array of JSON args, target window ID). The description adds no parameter-specific information, so the baseline of 3 applies. No further compensation is needed since the schema is 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 action: '获取所有参与的团队的详细属性' (get detailed attributes of all involved teams), paired with the method signature and return type. The verb 'get' and resource 'involved teams' are specific, and the naming distinguishes it from sibling tools like eda_dmt_team_get_all_teams_info (all teams) and eda_dmt_team_get_current_team_info (current team), even 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 provides no guidance on when to use this tool versus its siblings. It does not mention alternatives like eda_dmt_team_get_all_teams_info or eda_dmt_team_get_current_team_info, nor does it state any conditions or exclusions. The purpose is implicit from the name, but the agent receives no explicit routing between the related team tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_team_get_all_teams_infoB
dmt_Team.getAllTeamsInfo() -> Promise<Array> 获取所有直接团队的详细属性 remarks: 个人本质上也是一个名为 个人 的团队 returns: 所有团队的详细属性
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It adds a useful remark that a personal individual is treated as a team named '个人', and it discloses the return type Promise<Array<IDMT_TeamItem>>. However, it does not explicitly confirm read-only behavior, error conditions, or any side effects, though 'get' strongly implies a non-mutating 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 compact and well-structured: it gives the function signature, purpose, a clarifying remark, and the return value in three short lines. 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?
For a simple read-only query tool, the description conveys the essential purpose and return type, and the remark about individual-as-team is valuable. Still, without an output schema it lacks detail about the structure of IDMT_TeamItem, and it does not explain how 'direct teams' relate to current or involved teams, leaving some ambiguity.
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 100%, so the schema already documents both the 'args' and 'windowId' parameters. The description adds no parameter-specific meaning beyond the function signature, which shows no formal parameters; baseline 3 is appropriate.
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 '获取' (get) and the resource '所有直接团队的详细属性' (detailed attributes of all direct teams). This distinguishes it from related sibling tools like eda_dmt_team_get_all_involved_team_info and eda_dmt_team_get_current_team_info by scope, though it does not explicitly name those 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 choose this tool over related team-info tools. The description implies a broad query over all direct teams but does not mention exclusions, alternatives, or context like current workspace or involved teams.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_team_get_current_team_infoA
dmt_Team.getCurrentTeamInfo() -> Promise<IDMT_TeamItem | undefined>
获取当前团队的详细属性
remarks: 将会获取当前打开且拥有最后输入焦点的原理图、PCB、面板所关联的工程的所属团队的详细属性
returns: 团队的详细属性,如若为 undefined 则获取失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral burden. It clearly indicates a read operation, defines the selection scope (focused document's project's team), and specifies the return type and failure condition (undefined). This is more informative than typical for a getter.
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 with the core purpose stated first, followed by remarks and return details. It is efficient without redundant phrasing, though the structure could be slightly clearer with separate paragraphs.
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 getter with no output schema, the description adequately explains the input scope, what is returned, and the failure case. It lacks a description of the IDMT_TeamItem structure, but that is likely acceptable for a retrieval 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 schema has 100% coverage for both parameters (args and windowId), each with descriptive text. The description adds nothing beyond the schema about how to use these parameters, so the baseline of 3 applies.
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 gets detailed properties of the current team, and clarifies what 'current' means (the team of the project associated with the currently focused document). It is a specific verb+resource with clear scope, though it does not explicitly contrast with sibling tools like get_all_teams_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?
The description implies use for obtaining current team info, but provides no explicit guidance on when to use this versus the sibling team-listing tools. No alternatives or exclusions are mentioned, leaving the choice to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_workspace_get_all_workspaces_infoC
dmt_Workspace.getAllWorkspacesInfo() -> Promise<Array> 获取所有工作区的详细属性 returns: 所有工作区的详细属性
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral burden. It mentions the return type (Promise<Array<IDMT_WorkspaceItem>>) but does not disclose whether this is a read-only operation, any side effects, required permissions, or the semantics of 'all workspaces' (e.g., all in the user's account vs. current project). The description is too thin to convey behavioral nuances.
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 includes the method signature, but it is repetitive ('获取所有工作区的详细属性' appears as the description and again as the returns). It lacks clear separation between description, returns, and usage. Not egregiously long, but not 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 tool with no output schema and no annotations, the description should provide more context about what 'detailed attributes' meansched, the scope of 'all workspaces', and the expected return shape. The generic args parameter is not elaborated, leaving gaps for an agent to call 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?
Schema description coverage is 100% (both args and windowId have descriptions). The description adds no parameter-level detail, but the schema already documents the parameters. Baseline of 3 applies; the generic args description is vague but schema coverage is 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 action ('get detailed attributes of all workspaces') with a specific verb and resource. It is distinguishable from sibling workspace tools like get_current_workspace_info by the word 'all', but it does not explicitly name any sibling or contrast itself.
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 information about when to use this tool versus alternatives. There is no mention of context, prerequisites, or exclusions. An agent has no guidance on selecting this over other workspace-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_workspace_get_current_workspace_infoC
dmt_Workspace.getCurrentWorkspaceInfo() -> Promise<IDMT_WorkspaceItem | undefined>
获取当前工作区的详细属性
remarks: 将会获取当前工作区的详细属性
returns: 工作区的详细属性,如若为 undefined 则获取失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the return signature (Promise<IDMT_WorkspaceItem | undefined>) and explicitly says undefined means retrieval failed, which is useful in the absence of annotations. However, it does not confirm read-only behavior, prerequisites such as an active workspace, or error-handling details, so it only partially carries the disclosure burden.
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 text is short and the main statement is front-loaded, but the 'remarks' line restates the description almost verbatim and the 'returns' line repeats the result wording. Redundancy prevents it from being tightly written, though it is 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?
With no output schema and no annotations, an agent is left without the shape of IDMT_WorkspaceItem, how the 'current' workspace is selected, or how this differs from the many sibling get_current_*_info tools. The description is adequate only for a trivial no-argument read, not for the surrounding domain.
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%, and the description adds no parameter explanation beyond the signature line, which suggests a no-argument call. It does not clarify how the optional windowId or generic args should be used, so the schema remains the primary source and no meaning is added.
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 and resource—'获取当前工作区的详细属性'—and the signature shows it returns the current workspace item. It is not explicitly contrasted with sibling tools such as eda_dmt_workspace_get_all_workspaces_info, but the word 'current' supplies enough scope to tell them apart.
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 prefer this tool over alternatives like get_all_workspaces_info, toggle_to_workspace, or the various get_current_*_info tools. The only hint is the word 'current,' so the usage context is left entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_dmt_workspace_toggle_to_workspaceC
dmt_Workspace.toggleToWorkspace(workspaceUuid?: string) -> Promise 切换到工作区 returns: 切换操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 reveals that the operation returns a boolean success flag, which is useful, but it does not disclose side effects (e.g., changing the active workspace context), what happens when workspaceUuid is omitted (toggles to what?), or any state implications. For a state-changing tool with zero annotation coverage, 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 brief at three lines with minimal waste. However, the Chinese phrase '切换到工作区' is largely redundant with the function name and the English description, and the structure is terse to the point of under-specification rather than efficient 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?
With no annotations, no output schema, and an optional parameter, the description is incomplete for a mutation-type tool. It fails to explain the behavior when workspaceUuid is omitted, the side effects of switching workspaces, or how the boolean result should be interpreted beyond 'success'. An agent lacks critical information to invoke 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?
Schema description coverage is 100%, so the schema already documents the parameters. The description adds the function signature 'toggleToWorkspace(workspaceUuid?: string)', which confirms the workspaceUuid parameter's optional string nature, but it adds no semantic detail beyond that. The windowId parameter is not mentioned in the description at all. This meets the baseline of 3 for a high-coverage 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 verb ('toggleToWorkspace' / '切换到工作区' = switch to workspace) and a specific resource (workspace). The purpose is reasonably clear, but it does not differentiate itself from sibling workspace tools like eda_dmt_workspace_get_current_workspace_info or eda_dmt_workspace_get_all_workspaces_info, and the intent is partially obscured by mixing English signature with a Chinese one-liner.
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 prerequisites (e.g., needing a workspace list first), no when-not conditions, and no named sibling alternatives. An agent cannot determine the appropriate context for toggling to a workspace.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_lib_3_dmodel_copyC
lib_3DModel.copy(modelUuid: string, libraryUuid: string, targetLibraryUuid: string, targetClassification?: ILIB_ClassificationIndex | Array, newModelName?: string) -> Promise<string | undefined> 复制 3D 模型 returns: 目标库内新 3D 模型的 UUID
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 the return value (new model UUID) but doesn't disclose side effects, whether the copy is deep, whether it overwrites existing models, permission requirements, or failure behavior. For a mutation operation, 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 compact and front-loads the signature, but it mixes English signature with Chinese summary ('复制 3D 模型'), which may be less accessible. The return type is stated. It's not overly verbose, but the structure is a bit disjointed.
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 copy operation with no annotations and no output schema, the description is incomplete. It doesn't explain the meaning of targetClassification, whether the copy is recursive, what happens to the original, or error conditions. An agent would struggle to know if it has the right parameters and what to expect.
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 embeds the full function signature with parameter names and types, which adds meaning beyond the generic 'args' array in the schema. However, it doesn't explain the semantics of each parameter (e.g., what targetClassification means, what newModelName is used for). Schema coverage is 100% but the schema only says 'JSON parameter array', so the signature helps but doesn't fully compensate.
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 ('copy') and resource ('3D model'), and includes the full function signature with parameter names and return type. It distinguishes from siblings like eda_lib_3_dmodel_create/delete/get/modify/search by indicating this is a copy operation. However, it doesn't explicitly contrast with sibling copy tools (e.g., eda_lib_symbol_copy, eda_lib_cbb_copy), though the resource is clear.
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 on when to use this tool vs alternatives. It doesn't mention prerequisites (e.g., source model must exist, target library must exist), nor does it explain when copying is appropriate versus creating a new model. The description is purely a signature and a one-line Chinese summary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_lib_3_dmodel_createB
lib_3DModel.create(libraryUuid: string, modelFile: Blob, classification?: ILIB_ClassificationIndex | Array, unit?: ESYS_Unit.MILLIMETER | ESYS_Unit.CENTIMETER | ESYS_Unit.METER | ESYS_Unit.MIL | ESYS_Unit.INCH) -> Promise<Array | undefined>
创建 3D 模型
remarks: 传入的 modelFile 可以为多个模型文件的压缩包,EDA 将会自动提取多个模型
returns: 创建的所有 3D 模型的 UUID
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 does add value in the remark that modelFile may be a compressed package of multiple model files that EDA auto-extracts into multiple models, and the returns line clarifies the UUID output. However, for a mutation/create operation it does not disclose failure behavior, whether existing models are overwritten, or other side effects beyond the generic create semantics.
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 content is compact with no wasted prose, and the key multi-model behavior is present. However, the structure is a raw signature dump followed by brief prose and separate remarks/returns lines, creating redundancy between the signature's Promise<Array<string>|undefined> return type and the 'returns:' line. It is terse but somewhat jumbled rather than cleanly organized.
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 create tool with four real parameters and no annotations or output schema, the description conveys parameters, the multi-model extraction capability, and the return type, which is adequate for basic invocation. But it omits usage context versus the five siblings and error or failure scenarios, leaving an agent to guess at selection and edge-case 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?
Although the schema drives the args wrapper, its items are empty schemas ({}), so the description's embedded signature carries the real parameter documentation: positional order, libraryUuid as string, modelFile as Blob, classification's union type (ILIB_ClassificationIndex | Array<string>), and unit's concrete enum values. This adds genuine meaning that the empty schema items do not provide.
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 '创建 3D 模型' (create 3D model) and shows the full function signature with libraryUuid and modelFile parameters, making the purpose concrete and specific. The create action distinguishes it from the 3dmodel siblings (copy, delete, get, modify, search), and the remark about auto-extracting multiple models from a compressed package adds a distinguishing capability. However, the purpose is conveyed through a raw signature dump in a terse Chinese/English mix rather than a crafted 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 no guidance on when to use this tool versus its siblings (eda_lib_3_dmodel_copy/delete/get/modify/search) or any alternatives. There is no mention of prerequisites such as needing an existing library UUID, what kind of model files are supported, or conditions under which classification or unit should be supplied. All usage context is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_lib_3_dmodel_deleteA
lib_3DModel.delete(modelUuid: string, libraryUuid: string) -> Promise 删除 3D 模型 returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 the delete action and returns a boolean success flag, but does not mention that deletion is permanent, whether it cascades to related entities, requires specific permissions, or how errors are surfaced. Key context for a destructive operation 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 compact: one signature line, one Chinese purpose phrase, and return type explanation. Every piece is necessary, and it avoids redundancy with the schema.
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 operation, parameters, and return value, but it omits any note on irreversibility, prerequisites, or error handling. The schema covers windowId separately, so that gap is fine. However, for a destructive tool, additional context on permanence and requirements would make it 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?
The schema only provides a generic 'args' array without naming elements, but the description supplies the exact signature: modelUuid and libraryUuid as strings in that order. This is essential for constructing the args array, adding significant semantic value beyond the vague schema 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 clearly states the operation: 'lib_3DModel.delete' with the Chinese phrase '删除 3D 模型' (Delete 3D model), and the function signature explicitly names the method and resource. The action and target are unambiguous, and the name distinguishes it from create/get/modify/search 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?
There is no guidance on when to use this tool versus alternatives, no prerequisites (e.g., model existence, library scope), and no mention of conditions under which deletion might fail. The description only states what it does, not when or why to choose it over other library operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_lib_3_dmodel_getB
lib_3DModel.get(modelUuid: string, libraryUuid?: string) -> Promise<ILIB_3DModelItem | undefined> 获取 3D 模型的所有属性 returns: 3D 模型属性
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 does reveal that the result may be undefined, implying lookup failure, and it explicitly says the tool returns properties rather than mutating anything. However, it does not explain error behavior, scope of 'all properties', or whether any side effects or permissions apply.
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-loads the core signature and purpose. The second line 'returns: 3D 模型属性' is somewhat redundant with '获取所有属性', but it is short and 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?
For a low-complexity getter this is usable, but the lack of output schema and vague 'all properties' means the agent does not know the shape or content of the returned object. It also provides no example or clarification about omitting libraryUuid, leaving meaningful gaps for 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 input schema only describes a generic args array and windowId; it does not describe modelUuid or libraryUuid. The description helps by providing the official signature with names, types, and optionality. Still, it never explains what libraryUuid means or how it affects lookup, so the added semantics are limited.
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 operation: 'lib_3DModel.get' / '获取 3D 模型的所有属性' (get all properties of a 3D model). The resource and verb are clear. It does not explicitly differentiate itself from sibling tools like eda_lib_3_dmodel_search, 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 given on when to use this tool versus alternatives such as eda_lib_3_dmodel_search, create, modify, or delete. There is no stated context, prerequisite, or exclusion. The agent must infer usage purely from the name and signature.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_lib_3_dmodel_modifyB
lib_3DModel.modify(modelUuid: string, libraryUuid: string, modelName?: string, classification?: ILIB_ClassificationIndex | Array | null, description?: string | null) -> Promise
修改 3D 模型
remarks: 如希望清除某些属性,则将其的值设置为 null
returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 return type (Promise<boolean>, '操作是否成功') and the null-clearing semantics for attributes. However, it does not disclose side effects, persistence behavior, permission requirements, or consequences of the mutation, which matters for a write operation 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 description is compact: a signature line, a one-line purpose, a remarks note, and a returns note. Every element earns its place and the key purpose is stated immediately. No redundant prose.
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 modify-with-optional-fields tool, the description covers the essentials: what is modified, what fields can be changed, how to clear fields, and the boolean return. Gaps include the meaning of classification values and any failure or prerequisite context. Without an output schema or annotations, a bit more behavioral detail would be expected.
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 only exposes generic wrappers (args array, windowId) with empty item schemas, so the description's signature line is the only documentation of modelUuid, libraryUuid, modelName, classification, and description. The description lists names, types, and optionality, and the remarks explain null semantics. However, ILIB_ClassificationIndex is left unexplained, and the description does not compensate fully for the schema's lack of per-parameter detail.
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 and resource: '修改 3D 模型' (modify 3D model), prefixed by the full method signature `lib_3DModel.modify(...)`. It is clearly a mutating operation on a 3D library model. It does not explicitly call out how it differs from its siblings (create/delete/copy/get/search), but the verb itself carries the 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 versus alternatives such as eda_lib_3_dmodel_create, eda_lib_3_dmodel_delete, or eda_lib_3_dmodel_copy. The only usage hint is the remarks about clearing properties by setting them to null, which is parameter-level guidance, not tool-selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_lib_3_dmodel_searchB
lib_3DModel.search(key: string, libraryUuid?: string, classification?: ILIB_ClassificationIndex | Array, itemsOfPage?: number, page?: number) -> Promise<Array> 搜索 3D 模型 returns: 搜索到的 3D 模型属性列表
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, but it only says the tool searches and returns a list of 3D model properties. It does not disclose crucial behavioral details such as default library scope, pagination behavior/limits, classification filtering semantics, or whether the operation is strictly read-only, leaving an agent to infer these from the signature.
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 the most important technical information. The Chinese summary and return line add some redundancy with the signature, but there is no fluff or irrelevant 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?
This is a search tool with five parameters and no output schema, so the description should explain search semantics, parameter meanings, and the shape of returned items. It provides only a signature and a minimal Chinese summary, omitting what 'key' matches, how classification is used, what the default library scope is, and what fields the returned items contain. This is insufficient for reliable 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 signature in the description adds meaningful parameter information beyond the generic args array: it names key, libraryUuid, classification, itemsOfPage, and page, with optionality and types. However, it does not explain the meaning of key, the ILIB_ClassificationIndex structure, or pagination defaults, so it is not fully self-sufficient.
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 verb and resource: 'lib_3DModel.search' plus '搜索 3D 模型' ('search 3D model'), and the return type Promise<Array<ILIB_3DModelSearchItem>> makes the outcome concrete. It is distinguishable from sibling 3D-model CRUD tools like eda_lib_3_dmodel_create/delete/modify, though it does not explicitly differentiate itself from the other lib_*_search 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 about when to use this tool versus alternatives such as eda_lib_symbol_search, eda_lib_footprint_search, eda_lib_device_search, or eda_lib_cbb_search. The only usage signal is the tool name and the one-line Chinese purpose; no exclusions, preconditions, or alternative-selection hints are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_lib_cbb_copyC
lib_Cbb.copy(cbbUuid: string, libraryUuid: string, targetLibraryUuid: string, targetClassification?: ILIB_ClassificationIndex | Array, newCbbName?: string) -> Promise<string | undefined> 复制复用模块 returns: 目标库内新复用模块的 UUID
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 the operation returns the UUID of the new module, implying a write/mutation, but it does not mention side effects, permission requirements, reversibility, or what happens if the target library already contains a similarly named module. The description is too sparse to convey the behavioral profile of a copying 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 a single line of code signature plus two short Chinese lines. It is concise and front-loaded with the essential information, but it lacks narrative structure or explanatory prose. While efficient, it sacrifices clarity by not elaborating on parameters or behavior; it reads more like a code comment than a tool 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?
Given the tool has five parameters (two optional), no output schema, and no annotations, the description is insufficient. It omits parameter semantics, error conditions, and any guidance on classification handling. An agent would struggle to construct a correct call without additional documentation, especially for the targetClassification parameter. The return value is specified but not the full context of the operation.
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 only describes the wrapper args array and windowId; individual parameter meanings come solely from the signature in the description. The description lists parameter names and types (cbbUuid, libraryUuid, targetLibraryUuid, targetClassification, newCbbName) which adds value beyond the schema, but it does not explain the role of each parameter (e.g., the difference between libraryUuid and targetLibraryUuid, or how targetClassification is used). The names are somewhat self-explanatory, but the optional classification type is undefined.
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: copying a reusable module (CBB) from one library to another, as shown in the signature and the Chinese phrase '复制复用模块'. It includes the key parameters (cbbUuid, libraryUuid, targetLibraryUuid) that make the purpose unambiguous. It doesn't explicitly contrast with sibling tools like eda_lib_cbb_create or eda_lib_cbb_modify, but the 'copy' action is self-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?
There is no guidance on when to use this tool versus alternatives. It doesn't explain prerequisites (e.g., the source library must contain the CBB), whether the target library must differ from the source, or any conditions under which copying is appropriate. An agent must infer usage entirely from the tool name and signature.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_lib_cbb_createB
lib_Cbb.create(libraryUuid: string, cbbName: string, classification?: ILIB_ClassificationIndex | Array, description?: string) -> Promise<string | undefined> 创建复用模块 returns: 复用模块 UUID
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 says that a reusable module is created and a UUID is returned; it does not mention side effects, duplicate-name behavior, permission requirements, or whether the target library must already exist. For a mutation operation, 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 compact: a one-line signature, a short purpose phrase, and a return note. It contains almost no filler, though putting the human-readable purpose before the signature might improve front-loading.
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 with four logical parameters, no annotations, and no output schema, the description is too thin. It omits prerequisite conditions, classification semantics, and creates ambiguity because the schema marks no required parameters while the signature marks `libraryUuid` and `cbbName` as required.
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 JSON schema only describes generic wrapper properties (`args`, `windowId`), so the description's signature adds the actual parameter names, types, and optionality: `libraryUuid`, `cbbName`, `classification?`, and `description?`. This is valuable, although `ILIB_ClassificationIndex` and the meaning of `Array<string>` for classification are not explained.
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 includes a function signature `lib_Cbb.create(...)` and the Chinese phrase '创建复用模块' (create reusable module), which clearly states the verb and resource. It also declares the return value as the reusable module UUID, and the 'create' action is naturally distinct from sibling tools like eda_lib_cbb_copy, eda_lib_cbb_delete, and eda_lib_cbb_get, though it does not explicitly contrast with 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?
There is no guidance on when to use this tool versus alternatives, no mention of prerequisites, and no exclusions. The description only states what the function does, leaving the agent to infer the appropriate calling context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_lib_cbb_deleteB
lib_Cbb.delete(cbbUuid: string, libraryUuid: string) -> Promise 删除复用模块 returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 mentions the return value (Promise<boolean> indicating success) and the basic delete action. It does not disclose whether deletion is permanent, whether there are cascading effects on projects using the module, permission requirements, or behavior when UUIDs are invalid. For a destructive operation, 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 compact, consisting of a signature, a one-line purpose, and a return description with no wasted text. It is appropriately brief, though it could be slightly more structured. The information is front-loaded with the function signature.
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 output schema, the description is not complete enough for a destructive mutation tool. It omits side effects, irreversibility, error cases, and how to obtain the required UUIDs. An agent would be under-informed about the consequences of calling 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 description provides the official function signature with named parameters cbbUuid and libraryUuid, both typed as string, which adds meaning beyond the generic 'args' array in the schema. This enables the agent to construct the argument array in the correct order. It does not explain the domain meaning of each UUID, but the parameter names and types are clear enough for basic use.
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 explicitly states 'lib_Cbb.delete' and '删除复用模块' (delete reusable module), clearly identifying the action and target resource. It distinguishes this tool from sibling CBB operations (create, copy, modify, search) by naming the delete operation. The return type and meaning (success boolean) are also provided.
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 eda_lib_cbb_modify or eda_lib_cbb_create. There are no prerequisites, no exclusions, and no mention of when not to use it. The only usable hint is the function name itself, which is not explicit usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_lib_cbb_getC
lib_Cbb.get(cbbUuid: string, libraryUuid?: string) -> Promise<ILIB_CbbItem | undefined> 获取复用模块的所有属性 returns: 复用模块属性
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 the return type (Promise<ILIB_CbbItem | undefined>) and that it returns all properties, but does not disclose side effects, permissions, or behavior when the CBB does not exist (returns undefined). It also doesn't clarify whether libraryUuid is needed for disambiguation or what happens if omitted.
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 includes the signature and return type, but it is repetitive: '获取复用模块的所有属性' and 'returns: 复用模块属性' say the same thing. The Chinese and English text overlap without adding new 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?
For a simple getter with no output schema and no annotations, the description is minimal. It lacks context about the CBB domain, the meaning of libraryUuid, and any error/undefined behavior. An agent would need to infer too much to use it correctly, especially given the large sibling list.
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 100% for the two parameters (args and windowId), but the args array items are untyped ({}). The description's signature line adds the parameter names and types (cbbUuid: string, libraryUuid?: string), which is useful, but it doesn't explain the semantics of libraryUuid beyond its optionality. Baseline 3 is appropriate since the schema covers the structural 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 a specific verb ('get') and resource ('复用模块' / reusable module), and the signature shows it retrieves all properties of a CBB item. It is distinguishable from siblings like eda_lib_cbb_search (search) and eda_lib_cbb_modify (modify), 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?
No guidance on when to use this tool versus alternatives. The description does not mention that eda_lib_cbb_search should be used for finding CBBs by criteria, or that eda_lib_cbb_get is for direct retrieval by UUID. The optional libraryUuid parameter's purpose is not explained.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_lib_cbb_modifyB
lib_Cbb.modify(cbbUuid: string, libraryUuid: string, cbbName?: string, classification?: ILIB_ClassificationIndex | Array | null, description?: string | null) -> Promise
修改复用模块
remarks: 如希望清除某些属性,则将其的值设置为 null
returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It provides some useful behavior: the return is a boolean success indicator, and setting optional fields to null clears them. However, it does not mention side effects, irreversibility, permission requirements, or what happens to the library relationship when libraryUuid is changed.
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 efficient: a signature, a short Chinese purpose, a helpful remark about clearing fields with null, and a return hint. It front-loads the signature and avoids verbose filler, though the terse format slightly reduces readability.
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 5 positional parameters, no annotations, and no output schema, this description is not complete enough. It lacks clear parameter semantics, usage prerequisites, side effects, and alternatives. The signature and null-clearing note are helpful but leave significant gaps for an agent deciding how and when to invoke the 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 includes the full method signature, giving parameter names and types (cbbUuid, libraryUuid, cbbName, classification, description), which adds value over the opaque 'args' array in the schema. However, it does not explain the meaning of ILIB_ClassificationIndex, how libraryUuid relates to the modification, or how the signature maps into the args array, leaving the semantics 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 clear verb+resource: 'lib_Cbb.modify' and '修改复用模块' (modify reusable module). It is distinct from the create/delete/get/search siblings by naming 'modify' as the action, though it does not explicitly contrast itself with those 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?
There is no guidance on when to use this tool versus the many sibling CBB tools, such as eda_lib_cbb_create, eda_lib_cbb_delete, or eda_lib_cbb_get. The description implies modification of an existing module but does not state prerequisites, alternatives, or exclusion conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_lib_cbb_open_project_in_editorA
lib_Cbb.openProjectInEditor(cbbUuid: string, libraryUuid: string) -> Promise 在编辑器打开复用模块工程 remarks: 本操作将会在 EDA 前端打开模块工程,如若原先已打开其它工程且有未保存的变更,执行本操作将直接丢失所有未保存的数据
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 explicitly warns: '执行本操作将直接丢失所有未保存的数据' (executing will directly lose all unsaved data), which is a critical behavioral disclosure. It also states the return type as Promise<boolean>. However, it does not clarify the boolean's meaning (e.g., success) or whether any confirmation is shown, leaving some ambiguity. Still, the data-loss warning is a strong transparency point.
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: a signature line, a one-line purpose, and a single critical remark. Every sentence carries weight; the data-loss warning is front-loaded and essential. No filler or redundancy. It is appropriately sized for a tool with two parameters and no complex schema.
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, parameters via the signature, return type, and the major risk. However, it does not explain the boolean return value semantics (e.g., true on success) nor the optional windowId parameter's usage. Since there is no output schema and no annotations, these omissions could leave an agent uncertain about how to interpret results or how to target a specific window. The description is mostly complete but has notable 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 description provides the exact function signature 'openProjectInEditor(cbbUuid: string, libraryUuid: string)', which adds meaning beyond the generic schema description of 'args' as a JSON array. This clarifies the parameters and their order. The parameter names (cbbUuid, libraryUuid) are self-explanatory. However, the optional windowId parameter from the schema is not mentioned in the description, so the agent may not understand its relationship to the args array. Overall, it adds value but leaves some 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 clearly states the action: '在编辑器打开复用模块工程' (open reusable module project in editor). The verb+resource is specific and the tool name itself (eda_lib_cbb_open_project_in_editor) matches. It distinguishes from sibling eda_lib_cbb_open_symbol_in_editor, which opens a symbol, by focusing on project/module opening. The signature line also reinforces the exact function call.
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 explicitly state when to use this tool versus alternatives. It implies usage for opening a CBB project, and the sibling name indicates a symbol variant, but there's no explicit 'use this when...' guidance. The remark about data loss serves as a caution, not a usage directive. An agent might infer the use case but without explicit alternatives or conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_lib_cbb_open_symbol_in_editorC
lib_Cbb.openSymbolInEditor(cbbUuid: string, libraryUuid: string, splitScreenId?: string) -> Promise<string | undefined> 在编辑器打开复用模块符号
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 only the action (open symbol) and the return type (Promise<string|undefined>), but not side effects, whether it opens a new tab or replaces the current view, permission requirements, or what the resolved string represents. This is minimal 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 and efficient, with the signature front-loaded and a single Chinese phrase summarizing the purpose. No unnecessary fluff. However, it might be slightly too terse, omitting important context, but that's a completeness issue rather than 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 no output schema and no annotations, the description is the sole source of context. It fails to explain what the returned string or undefined signifies, whether the operation is synchronous, any preconditions (like the library being open), or how splitScreenId is used. The signature gives types but not semantics. This is inadequate for a tool that affects the editor state.
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 the parameter names and order (cbbUuid, libraryUuid, splitScreenId) via the signature, which the schema does not list individually (args is just an array). However, it does not explain the meaning or constraints of each parameter beyond their self-explanatory names. The schema's description of args as 'JSON array in official signature order' is supplemented by the signature, but depth is limited.
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 ('open') and resource ('reusable module symbol') with a clear target ('in editor'). The function signature gives the exact parameters. It distinguishes from siblings like eda_lib_symbol_open_in_editor by the 'cbb' prefix and the Chinese phrase, but it doesn't explicitly call out the 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?
No guidance on when to use this tool versus alternatives like eda_lib_cbb_open_project_in_editor or eda_lib_symbol_open_in_editor. No context about typical scenarios, prerequisites, or conditions under which this should be selected.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_lib_cbb_searchB
lib_Cbb.search(key: string, libraryUuid?: string, classification?: ILIB_ClassificationIndex | Array, itemsOfPage?: number, page?: number) -> Promise<Array> 搜索复用模块 returns: 搜索到的复用模块属性列表
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description identifies a query-style operation and declares a Promise-returning list, which is adequate for a search tool. However, annotations are absent, and the description does not explain pagination defaults, filter-combination semantics, error behavior, or side effects beyond what the signature hints at.
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 contains no filler: a signature, a one-phrase purpose, and a return-value clarification. The signature is dense but earns its place because the input schema provides no per-parameter documentation.
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 output schema, the description does not explain the shape of ILIB_CbbSearchItem, allowable classification values, pagination behavior, or when to prefer this over sibling search tools. A basic call can be inferred, but the definition is not complete enough for reliable correct invocation in ambiguous 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 actual schema is only a generic args array plus windowId, so the description's type signature adds real value by naming all five parameters, their order, optional markers, and the ILIB_ClassificationIndex union type. It still leaves details like valid classification values and key/filter interaction unexplained, but it goes well beyond the generic 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 '搜索复用模块' and provides a signature that makes clear this searches reusable CBB modules and returns a list of ILIB_CbbSearchItem. It is specific about verb and resource, though it does not explicitly contrast itself with sibling search tools such as eda_lib_symbol_search or eda_lib_footprint_search.
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 the many sibling search tools, nor any exclusions or context about the optional filters. An agent must infer usage from the name and signature, which is effectively no usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_lib_classification_create_primaryB
lib_Classification.createPrimary(libraryUuid: string, libraryType: ELIB_LibraryType, primaryClassificationName: string) -> Promise<ILIB_ClassificationIndex | undefined> 创建一级分类 deprecated: since EDA v3.2; dropped EDA v3.3 returns: 分类索引 [已弃用]
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full burden of behavioral disclosure. It does mention the deprecation and the return type ('returns: 分类索引'), but it does not describe side effects (e.g., that this is a write operation that modifies the library), potential error conditions, or prerequisites like needing a valid library UUID. For a create operation, 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 mixes English signature and Chinese text, with redundant information (the signature is repeated conceptually in the Chinese description). It is not tightly structured or front-loaded; the deprecation warning appears after the signature and Chinese text. It is not overly long, but it could be more organized and 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 there is no output schema and no annotations, the description is incomplete for a create operation. It does not mention prerequisites (e.g., the library must exist, permissions needed), possible failures, or the structure of the returned index. While it does state deprecation, it lacks guidance on alternatives or any context about when this tool would ever be invoked. For a deprecated tool, one might argue less is needed, but the description still fails to provide enough for an agent to safely invoke it if they somehow need to.
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 includes the function signature with parameter names and types (libraryUuid: string, libraryType: ELIB_LibraryType, primaryClassificationName: string), which adds meaning beyond the generic 'args' array in the schema. However, it does not explain the semantics of each parameter (e.g., what values libraryType accepts, what constitutes a valid name). The schema only describes 'args' as an ordered JSON array, so the description compensates partially but not fully.
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: '创建一级分类' (create primary classification) and includes the function signature with the verb 'createPrimary'. It distinguishes from sibling 'create_secondary' by explicitly indicating 'primary' in both name and description. The resource (classification) and scope are clear.
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 warns 'deprecated: since EDA v3.2; dropped EDA v3.3', which is a negative usage guideline (don't use it), but it does not provide any alternative tool or context for what to use instead. There is no positive guidance on when to use it (since it's deprecated, never) and no mention of sibling tools that could replace it. This is insufficient for an agent deciding between this and other classification tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_lib_classification_create_secondaryC
lib_Classification.createSecondary(libraryUuid: string, libraryType: ELIB_LibraryType, primaryClassificationUuid: string, secondaryClassificationName: string) -> Promise<ILIB_ClassificationIndex | undefined> 创建二级分类 deprecated: since EDA v3.2; dropped EDA v3.3 returns: 分类索引 [已弃用]
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description mentions deprecation and the version range (since v3.2, dropped v3.3), which is useful, but it does not explain side effects, required permissions, or what happens on failure. With no annotations, the description carries the full burden, and it is largely a code signature.
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 brief, but it mixes a code signature, a Chinese phrase, and deprecation notes without clear formatting. It is not front-loaded with the most important info (deprecation), and the structure is disjointed.
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 deprecated tool, the description is missing critical information: what to use instead, whether it is safe to call, and what the return value means. It is a bare signature with a note, not enough for an agent to decide whether and how to 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?
The schema lists the parameters (libraryUuid, libraryType, primaryClassificationUuid, secondaryClassificationName) in the method signature, but the description does not explain their meaning or provide constraints beyond the types. Since schema coverage is 100% (the signature includes all params), the baseline is 3, and 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 includes a method signature and '创建二级分类' (create secondary classification), which indicates the action, but it is mostly a raw API dump. It does not clearly state that this tool is deprecated and should not be used, and it does not distinguish it from the sibling tool create_primary. The purpose is understandable but not well-communicated for an agent.
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 hint is the deprecation notice, but it does not say what to use instead or whether to avoid it entirely. An agent has no idea if this should be called at all.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_lib_classification_delete_by_indexB
lib_Classification.deleteByIndex(classificationIndex: ILIB_ClassificationIndex) -> Promise 删除指定索引的分类 deprecated: since EDA v3.2; dropped EDA v3.3 returns: 操作是否成功 [已弃用]
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 the return type (boolean indicating success) and the deprecation schedule, which is useful. However, it does not mention side effects like cascading deletions, permissions, or what happens to associated data—gaps for a delete 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 concise, including the signature, purpose, deprecation, and return value in a few lines. It's front-loaded with the signature and doesn't waste words, though mixing English and Chinese may reduce clarity slightly.
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 no output schema, and the description doesn't explain what a classification index is, how to obtain one, or the impact of deletion. It also doesn't provide an alternative to the deprecated tool. For a tool that might still be encountered, this is incomplete, though the deprecation reduces urgency.
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 100%, so the baseline is 3. The description adds the signature showing the parameter type (ILIB_ClassificationIndex), but it doesn't explain how to construct or obtain an index, leaving the args array ambiguous. The added signature is helpful but not sufficient to fully understand 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 states the tool deletes a classification by index via the signature and Chinese phrase '删除指定索引的分类'. It's clear about the verb (delete) and resource (classification), and the name differentiates from delete_by_uuid by parameter type, though not explicitly stated.
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 deprecation note ('deprecated: since EDA v3.2; dropped EDA v3.3') clearly signals this tool should not be used, but it does not recommend an alternative like delete_by_uuid. It gives an exclusion but no positive guidance on when 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.
eda_lib_classification_delete_by_uuidA
lib_Classification.deleteByUuid(libraryUuid: string, classificationUuid: string) -> Promise 删除指定 UUID 的分类 deprecated: since EDA v3.2; dropped EDA v3.3 returns: 操作是否成功 [已弃用]
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the responsibility. It discloses the destructive nature of deletion, the deprecation status, and that returns a boolean. However, it does not mention error handling, side effects, or prerequisites (e.g., proper UUID format). The deprecation and return type are 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 compact and front-loaded with the method signatureaine and deprecation warning. Every sentence serves a purpose: operation, deprecation, return type. No 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?
The description adequately covers the operation for a deprecated tool. It specifies the target (classification by UUID), the return type, and the deprecation lifecycle. The absence of error handling details is acceptable given the deprecation makes usage rare (and the sibling delete_by_index is the recommended path).
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 only defines an 'args' array with no per-item descriptions. The description adds the exact signature with parameter names and types: libraryUuid: string, classificationUuid: string. This meaningfully clarifies what each argument represents and their order.
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 operation: deletes a classification by UUID. It includes the method signature and explicitly distinguishes from sibling delete_by_index by specifying both libraryUuid and classificationUuid. The tool name and description align perfectly.
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 deprecation notice ('deprecated: since EDA v3.2; dropped EDA v3.3') strongly implies this tool should not be used in new codeeb. It also clarifies the context (deletion by UUID) but does not explicitly name an alternative like delete_by_index. The deprecation is sufficient guidance for an agent to avoid it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_lib_classification_get_all_classification_treeA
lib_Classification.getAllClassificationTree(libraryUuid: string, libraryType: ELIB_LibraryType) -> Promise<Array<{ name: string; uuid: string; children?: Array<{ name: string; uuid: string }> | undefined }>> 获取所有分类信息组成的树 deprecated: since EDA v3.2; dropped EDA v3.3 returns: 分类信息组成的树结构数据 [已弃用]
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It states the return type and deprecation status, but does not explicitly confirm that the operation is read-only or describe any other behavioral traits such as permissions or error conditions. The 'getAll' prefix implies non-mutating behavior, but that is left to inference.
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 relatively compact but contains redundancy: 'deprecated: since EDA v3.2; dropped EDA v3.3' and '[已弃用]' say the same thing, and '获取所有分类信息组成的树' is repeated by 'returns: 分类信息组成的树结构数据'. The code signature is valuable, but the text could be tightened without losing 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?
For a deprecated tool with no output schema or annotations, the description provides the return shape and deprecation info, which is reasonable. However, it lacks a recommended replacement or migration path, and does not elaborate on the meaning of libraryUuid or libraryType. Given it is a deprecated read operation, it is minimally adequate but not 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 input schema only exposes a generic 'args' array, so the signature 'libraryUuid: string, libraryType: ELIB_LibraryType' in the description is essential. It names the parameters, their order, and their types, compensating for the opaque schema and enabling the agent to construct the args array 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 states the action explicitly: retrieve the complete classification tree ('获取所有分类信息组成的树') and includes the full API signature. It is clearly distinct from sibling tools that fetch a single classification by index or UUID, and the tree structure return type is specified.
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 deprecation note ('deprecated: since EDA v3.2; dropped EDA v3.3') is a clear signal that this tool should not be used, which is useful usage guidance. However, it does not mention any alternative tool or describe when the tool might still be needed (e.g., for backward compatibility), so the guidance is incomplete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_lib_classification_get_index_by_nameB
lib_Classification.getIndexByName(libraryUuid: string, libraryType: ELIB_LibraryType, primaryClassificationName: string, secondaryClassificationName?: string) -> Promise<ILIB_ClassificationIndex | undefined> 获取指定名称的分类的分类索引 deprecated: since EDA v3.2; dropped EDA v3.3 returns: 分类索引 [已弃用]
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 the critical behavioral fact that the tool is deprecated since EDA v3.2 and dropped in v3.3 — genuinely useful. However, beyond the deprecation and the signature's '| undefined' return hint, there is no detail on side effects, error behavior, or what the returned index contains. The deprecation note is a real positive, but coverage stops there.
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 signature is usefully front-loaded, but the description is cluttered: the deprecation is stated twice ('deprecated: since EDA v3.2...' and the trailing '[已弃用]'), and there is a redundant 'returns: 分类索引' line that restates the signature's return type. Mixed English/Chinese with duplicated markers makes it messy rather than 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?
For a deprecated lookup tool with no output schema and no annotations, the description is only partially complete. The deprecation warning and the signature's 'undefined' possibility are covered, but what ILIB_ClassificationIndex contains, what ELIB_LibraryType values exist, and how libraryUuid is obtained are all unexplained. An agent cannot confidently call this tool without 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?
The schema's args property only says 'JSON parameter array in official signature order', which is meaningless without the signature. The description supplies that: libraryUuid, libraryType, primaryClassificationName, and optional secondaryClassificationName, with types and the fact that one parameter is optional. This adds real value beyond the schema for a tool whose actual parameters are 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 states the operation: '获取指定名称的分类的分类索引' (get the classification index for a classification of the specified name), and provides the full function signature. It is distinguishable from the sibling eda_lib_classification_get_name_by_index (the reverse mapping), but it never explains what a 'classification index' is, and the purpose statement largely restates what the tool name already implies.
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 on when to use this tool versus alternatives. The sibling list includes get_name_by_index, get_name_by_uuid, get_all_classification_tree, create_primary, and create_secondary, but the description names none of them or the conditions that would select one over another. The deprecation note implicitly discourages use but does not direct the agent to a replacement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_lib_classification_get_name_by_indexC
lib_Classification.getNameByIndex(classificationIndex: ILIB_ClassificationIndex) -> Promise<{ primaryClassificationName: string; secondaryClassificationName?: string | undefined } | undefined> 获取指定索引的分类的名称 deprecated: since EDA v3.2; dropped EDA v3.3 returns: 两级分类的名称 [已弃用]
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 discloses deprecation (since v3.2, dropped in v3.3) and the return shape (primary/secondary names, possibly undefined) via the signature. However, it does not explicitly state whether the operation is read-only or describe error behavior beyond the undefined return type.
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 mixes a signature line, Chinese explanatory text, and redundant deprecation markers ('deprecated: ...' and '[已弃用]'), and the 'returns' line repeats the return type already shown in the signature. It is brief but cluttered and not cleanly 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 deprecated tool with no output schema and only a generic args array in the schema, the description omits the shape of ILIB_ClassificationIndex and fails to point the agent to an alternative tool. The deprecation status is clear, but invocation details and replacement guidance are missing, making it incomplete 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?
Schema description coverage is 100%, so the baseline is 3. The signature line adds meaning beyond the generic 'args' schema description by indicating that args should contain a classificationIndex of type ILIB_ClassificationIndex. However, the structure of ILIB_ClassificationIndex is not explained, and the schema's args array remains 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 operation: obtaining classification name(s) by index, with the exact method signature and Chinese description '获取指定索引的分类的名称'. The 'byIndex' focus in both name and description distinguishes it from siblings like eda_lib_classification_get_name_by_uuid, though it does not explicitly contrast with 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 provides no guidance on when to use this tool versus alternatives such as get_name_by_uuid or get_index_by_name. The deprecation note implies it should not be used, but no replacement or alternative is suggested, and no conditions or prerequisites are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_lib_classification_get_name_by_uuidA
lib_Classification.getNameByUuid(libraryUuid: string, libraryType: ELIB_LibraryType, primaryClassificationUuid: string, secondaryClassificationUuid?: string) -> Promise<{ primaryClassificationName: string; secondaryClassificationName?: string | undefined } | undefined> 获取指定 UUID 的分类的名称 deprecated: since EDA v3.2; dropped EDA v3.3 returns: 两级分类的名称 [已弃用]
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 the deprecation status and the return type, but does not mention potential side effects, error behavior, or permissions. As a read-only getter, it is likely non-destructive, but that is not stated. The description is transparent about deprecation and return shape but omits other behavioral details.
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 relatively concise and structured: it includes the signature, purpose, deprecation info, and return description. However, there is redundancy in mentioning deprecation both in text and via the '[已弃用]' tag, which slightly reduces conciseness. Overall, it is well-organized and not overly 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 deprecated tool, the description provides the essential context of deprecation and the return type. However, it lacks detailed parameter semantics and does not mention alternative tools, which would be helpful for an agent deciding whether to use it. The minimal schema does not compensate for these gaps. The description is adequate but not fully 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?
The description provides the function signature with parameter names and types (libraryUuid, libraryType, primaryClassificationUuid, secondaryClassificationUuid). However, it does not explain the meaning of each parameter beyond the names, nor does it clarify how the primary and secondary UUIDs relate to the two-level classification. The input schema only has an args array, so the description's signature adds value but lacks detailed 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 purpose: '获取指定 UUID 的分类的名称' (get the name of the classification for the specified UUID). It specifies the verb (get), resource (classification), and scope (by UUID). It also mentions '两级分类' (two-level classification) and explicitly notes the deprecation, distinguishing it from siblings like get_name_by_index which operate by index.
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 deprecation notice ('deprecated: since EDA v3.2; dropped EDA v3.3'), which implicitly warns against using the tool. However, it does not explicitly state when to use this tool versus alternatives, nor does it suggest replacement tools. The deprecation status is a form of guidance but lacks explicit alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_lib_device_copyB
lib_Device.copy(deviceUuid: string, libraryUuid: string, targetLibraryUuid: string, targetClassification?: ILIB_ClassificationIndex | Array, newDeviceName?: string) -> Promise<string | undefined> 复制器件 returns: 目标库内新器件的 UUID
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 states the operation and return value; it doesn't clarify whether the original device is modified, whether a new device is always created, what happens on conflict, or any side effects. For a copy (mutation) operation, 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 compact: a single signature line, a short Chinese label, and a returns note. Every component adds information, and the signature is front-loaded. Minor redundancy exists between the Chinese phrase and the signature's 'copy', and the mixed-language format is slightly awkward, but overall it is 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?
While the return type (new device UUID) is covered, there is no output schema, no annotations, and no behavioral/usage context. The description omits important details such as whether the source device remains untouched, whether the target library must differ from the source, and what the `undefined` return case means. For a mutation tool with five parameters, 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 description's signature exposes parameter names, types, order, and optionality for all five actual parameters (deviceUuid, libraryUuid, targetLibraryUuid, targetClassification, newDeviceName), which the generic `args` array schema lacks. This is valuable for constructing the arguments, even though it doesn't explain the meaning of ILIB_ClassificationIndex or the exact behavior of newDeviceName.
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 provides the full function signature `lib_Device.copy(deviceUuid, libraryUuid, targetLibraryUuid, ...)` which clearly identifies the operation as copying a device between libraries, and the Chinese phrase '复制器件' (copy device) reinforces this. It is specific enough to distinguish from sibling copy tools like eda_lib_symbol_copy or eda_lib_footprint_copy, though it relies on the signature rather than a concise prose 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?
No guidance is given on when to use this tool versus alternatives. The description doesn't mention conditions, prerequisites (e.g., source library must be accessible), or cases where another tool like eda_lib_device_create or eda_lib_device_modify would be more appropriate. Usage context is only implicitly conveyed by the name and signature.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_lib_device_createB
lib_Device.create(libraryUuid: string, deviceName: string, classification?: ILIB_ClassificationIndex | Array, association?: { symbolType?: ELIB_SymbolType; symbolUuid?: string; symbol?: { uuid: string; libraryUuid: string }; footprintUuid?: string; footprint?: { uuid: string; libraryUuid: string }; model3D?: { uuid: string; libraryUuid: string }; imageData?: File | Blob }, description?: string, property?: ILIB_DeviceExtendPropertyItem) -> Promise<string | undefined> 创建器件 returns: 器件 UUID
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that the tool creates a device and returns a Promise resolving to a device UUID or undefined. However, with no annotations available, it omits important behavioral details such as failure semantics, prerequisite conditions, duplicate-name behavior, or what 'undefined' means.
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 free of filler, consisting of the signature, a concise Chinese summary, and the return value. The signature is long due to nested types, but each component is informative and no words are wasted.
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 create operation with no annotations and no output schema, the description is incomplete. It provides no examples, no guidance on how to obtain a valid libraryUuid or construct classification/association/property values, and no explanation of failure or duplicate behavior, leaving an agent to infer too much from types 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?
The input schema only exposes an opaque args array, so the full TypeScript signature in the description is the primary source of parameter meaning. It provides parameter names, order, optionality, and nested structures like association, which is essential for constructing correct arguments, though it does not explain enum values or semantic details of each field.
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 operation as creating a device ('创建器件') and the first line is an explicit API signature for lib_Device.create. It is distinguishable from sibling device tools like eda_lib_device_modify or eda_lib_device_search by the verb and resource, though it does not explicitly name those 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?
There is no guidance on when to use this tool versus alternatives. The description only states that it creates a device, but an agent is not told what context warrants creation, what prerequisites exist, or why it would be preferred over other device-related operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_lib_device_deleteB
lib_Device.delete(deviceUuid: string, libraryUuid: string) -> Promise 删除器件 returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 behavioral disclosure. It discloses the operation and that it returns a Promise<boolean> indicating success, but it does not describe the destructive nature, required permissions, side effects, or behavior when the device or library does not exist. For a delete operation, 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 compact and front-loaded with the call signature and return type, followed by a one-line purpose. There is no filler, though the terse style leaves no room for helpful nuance.
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 gives the essential invocation details: two parameters, their types, and a boolean return value. It is minimally viable if the caller already knows the UUIDs, but with no annotations, no output schema, no source for the identifiers, and no failure behavior, it is only barely 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 only exposes a generic positional 'args' array, so the description adds real value by revealing the parameter names, types, and ordering: deviceUuid and libraryUuid. However, it does not explain the meaning of these UUIDs or how an agent should obtain them.
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 and resource: 'lib_Device.delete' and '删除器件' (delete device). It also includes the exact signature with parameter names and types, making the intended operation unmistakable and distinguishable from device create/get/modify/search 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 provided about when to use this tool versus alternatives. It does not mention related tools such as eda_lib_device_search or eda_lib_device_get for obtaining UUIDs, nor does it state that deletion is permanent or irreversible. Usage must be inferred entirely from the tool name and operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_lib_device_getB
lib_Device.get(deviceUuid: string, libraryUuid?: string) -> Promise<ILIB_DeviceItem | undefined> 获取器件的所有属性 returns: 器件属性
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral burden. It does disclose that the call is a read/get operation and that it may return undefined via the signature '-> Promise<ILIB_DeviceItem | undefined>'. However, it does not explain side effects, permission needs, failure behavior, or what happens when the UUID does not 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 compact and front-loaded with the signature and purpose. The phrase 'returns: 器件属性' is somewhat redundant with '获取器件的所有属性', but the overall length is appropriate and there is no irrelevant 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?
With no annotations and no output schema, the agent still lacks information about the structure of ILIB_DeviceItem, when libraryUuid is required, and how this tool differs from eda_lib_device_get_by_lcsc_ids. The description is adequate for identifying the tool but not for confidently invoking it in all relevant situations.
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 only exposes a generic args array with empty items, so the description's signature adds real meaning: parameter names (deviceUuid, libraryUuid), types (string), and optionality. It does not elaborate on the meaning of libraryUuid beyond its name, but the signature is a significant addition over 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 states a clear verb and resource: '获取器件的所有属性' (get all properties of a device) and shows the exact function signature lib_Device.get(deviceUuid, libraryUuid). It is clear enough to differentiate from operations like create/delete/modify, though it does not explicitly contrast itself with eda_lib_device_get_by_lcsc_ids or eda_lib_device_search.
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 about when to use this tool versus search, get_by_lcsc_ids, or other library getters. No prerequisites, exclusions, or alternative selection criteria are given, so the agent must infer usage from the name and signature alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_lib_device_get_by_lcsc_idsA
lib_Device.getByLcscIds(lcscIds: string, libraryUuid?: string, allowMultiMatch?: T) -> Promise<T extends true ? ILIB_DeviceSearchItem | undefined : Array> 使用立创 C 编号获取器件 remarks: 默认情况下,如果在同一个库内匹配到多个相同 C 编号的器件,将只会返回第一个结果;
如果希望返回多个结果,请将 allowMultiMatch 置为 true;
私有化部署环境暂无法使用本接口 returns: 搜索到的器件属性
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden and does well: it discloses the default first-match behavior, the effect of allowMultiMatch on the return shape, the private-deployment restriction, and that the result is device properties. It could add error behavior or permissions, but the key operational 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?
The description is compact and front-loaded with the signature, followed by a few purposeful remarks. The mixed-language signature line is dense but necessary, and there is minimal 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 there is no output schema, the description supplies the return type, a return-value summary, and a critical environment limitation. It lacks an example or explanation of libraryUuid, but an agent can still invoke the tool correctly for the common LCSC-ID lookup 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?
The input schema only exposes generic args/windowId, so the description's signature is the real parameter documentation: lcscIds, libraryUuid?, and allowMultiMatch?. It explains allowMultiMatch's effect in the remarks, but libraryUuid's meaning and the exact expected format of lcscIds are not elaborated.
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 and resource: it fetches a device using the LCSC C-number. The included method signature makes the operation unambiguous and distinguishes this lookup from the broader eda_lib_device_get/search 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 makes it clear that this is for retrieving devices by LCSC C-number and flags that it is not available in private deployments. However, it does not explicitly contrast this tool with eda_lib_device_get, eda_lib_device_search, or search_by_properties, so when-not-to-use guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_lib_device_modifyA
lib_Device.modify(deviceUuid: string, libraryUuid: string, deviceName?: string, classification?: ILIB_ClassificationIndex | Array | null, association?: { symbolUuid?: string; symbol?: { uuid: string; libraryUuid: string }; footprintUuid?: string | null; footprint?: { uuid: string; libraryUuid: string } | null; model3D?: { uuid: string; libraryUuid: string } | null; imageData?: File | Blob | null }, description?: string | null, property?: { name?: string | null; designator?: string; addIntoBom?: boolean; addIntoPcb?: boolean; net?: string; manufacturer?: string | null; manufacturerId?: string | null; supplier?: string | null; supplierId?: string | null; otherProperty?: Record<string, boolean | number | string | undefined | null> }) -> Promise
修改器件
remarks: 如希望清除某些属性,则将其的值设置为 null
returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It does disclose an important trait—setting attributes to null clears them—and states that the operation returns a boolean success flag. However, it does not mention permissions, side effects on library associations, or reversibility, which are significant 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 dense TypeScript signature followed by three short labels, with no filler prose. It is compact and front-loaded, though the Chinese one-line summary mostly repeats what the name and signature already convey.
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 signature, null-clearing remark, and return type make the tool callable, and the args array order is documented. However, there is no example of constructing the args array, no explicit required-parameter statement despite deviceUuid and libraryUuid being non-optional in the signature, and no annotation safety profile—leaving nontrivial gaps for a nested modify operation.
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 is generic (args array and windowId), so the full TypeScript signature in the description adds substantial value: exact parameter order, optionality, types, and nested object shapes. It still does not explain every field's meaning or clarify how types like File/Blob would be serialized into the JSON args array.
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 and resource: modifying a device in the EDA library ('lib_Device.modify', '修改器件'). This distinguishes it from sibling operations such as eda_lib_device_create, eda_lib_device_delete, and eda_lib_device_get.
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 about when to use this tool versus create/delete/copy, nor any stated prerequisites such as the device already existing. The only usage signal is the word 'modify' in the name and Chinese summary, which is implied rather than explained.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_lib_device_searchC
lib_Device.search(key: string, libraryUuid?: string, classification?: ILIB_ClassificationIndex | Array, symbolType?: ELIB_SymbolType, itemsOfPage?: number, page?: number) -> Promise<Array> 搜索器件 returns: 搜索到的器件属性的列表
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full burden of behavioral disclosure. It only mentions that it returns a list, but does not disclose whether it is read-only, any side effects, permissions, pagination behavior, or error conditions. This is insufficient for a tool with no 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 very short and includes a signature plus a one-line Chinese note. It is concise but not well-structured: the purpose is not front-loaded, and the signature is technical without a human-readable explanation. It is acceptable in size but lacks clear organization.
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 6 parameters, no annotations, and no output schema, the description is severely incomplete. It does not explain parameter semantics, usage context, return value structure, or any behavioral traits. An agent cannot reliably determine how to construct the args array beyond the parameter order, which is a major 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 includes the full function signature with parameter names and types, but does not explain the meaning of each parameter (e.g., what 'key' represents, how 'classification' or 'symbolType' should be used). The schema only describes the args array format, not individual parameters, so the description should compensate but does not provide semantic explanations.
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 searches for devices and returns a list of device attribute properties. It is clear enough, but it does not differentiate from sibling search tools like eda_lib_device_search_by_properties or eda_lib_device_get_by_lcsc_ids, so it lacks the specificity to distinguish among 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?
There is no guidance on when to use this tool versus alternatives. The description only provides a signature and a terse 'search device' phrase, with no mention of use cases, exclusions, or when to prefer another sibling search tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_lib_device_search_by_propertiesC
lib_Device.searchByProperties(properties: ILIB_DevicePropertiesForSearch, libraryUuid?: string, classification?: Array, symbolType?: ELIB_SymbolType, itemsOfPage?: number, page?: number) -> Promise<Array> 使用属性精确搜索器件 returns: 搜索到的器件属性的列表
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavioral traits, but it only gives a signature and a brief purpose. It does not mention side effects, permissions, rate limits, or what happens when no results are found. The read-only nature is implied by 'search' but not stated explicitly, and pagination behavior is entirely absent.
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 ends with the purpose and return type, but it leads with a raw type signature that is not human-friendly. The Chinese purpose phrase is terse and the return description is minimal. While efficient, it does not structure information in a way that aids comprehension.
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 six parameters, no output schema, and no annotations, so a thorough description is essential. This one only provides a signature and a one-line purpose, omitting critical details like how to build the properties object, what classification and symbolType accept, and how pagination works. It is far from complete for an agent to safely 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?
The signature exposes parameter names and types (e.g., 'properties: ILIB_DevicePropertiesForSearch'), but gives no explanation of what these mean or how to construct them. The input schema only has an opaque 'args' array, so the description partially compensates by listing the signature, yet it fails to clarify the semantics of key fields like libraryUuid, classification, or symbolType, leaving the agent unable to fill them 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 states the tool performs a specific action: searching devices precisely by properties. The verb 'search' and resource 'devices' are clear, and the 'by_properties' suffix distinguishes it from other device-related tools like eda_lib_device_get_by_lcsc_ids. However, it does not explicitly contrast with the sibling eda_lib_device_search, so differentiation is implied but not spelled out.
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 eda_lib_device_search, eda_lib_footprint_search, or eda_lib_symbol_search. There is no mention of required context, prerequisites, or exclusions, leaving the agent to guess which search tool fits the scenario.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_lib_footprint_copyB
lib_Footprint.copy(footprintUuid: string, libraryUuid: string, targetLibraryUuid: string, targetClassification?: ILIB_ClassificationIndex | Array, newFootprintName?: string) -> Promise<string | undefined> 复制封装 returns: 目标库内新封装的 UUID
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description does disclose the core effect (copying a footprint) and return value (new footprint UUID or undefined), which is useful. However, it does not mention side effects, permission requirements, or behavior on name conflicts or missing libraries.
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 definition is compact and front-loaded with the invocation signature followed by a short return note. The Chinese phrase '复制封装' is somewhat redundant with 'copy', but there is no significant 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 5-parameter copy operation with no annotations and no output schema, this is sparse. It omits what the classification parameter does, how to obtain source/target library UUIDs, and the consequences of omitting optional 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?
The description lists all parameters with names, types, and optional markers in signature form, going beyond the generic 'args array' schema. The opaque ILIB_ClassificationIndex type is not elaborated, but parameter names convey their roles adequately.
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 the operation 'lib_Footprint.copy' and includes '复制封装' (copy footprint), clearly identifying the action and resource. It distinguishes itself from sibling footprint tools such as create/delete/search through its copy 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?
There is no explicit guidance on when to use this tool versus alternatives like eda_lib_footprint_create or other library copy tools. The signature implies source and target libraries, but selection criteria and preconditions are left unstated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_lib_footprint_createC
lib_Footprint.create(libraryUuid: string, footprintName: string, classification?: ILIB_ClassificationIndex | Array, description?: string, otherProperty?: Record<string, boolean | number | string | undefined>) -> Promise<string | undefined> 创建封装 returns: 封装 UUID
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description must convey behavioral traits. It indicates a create operation (mutation) but provides no details about side effects, permissions, reversibility, or what happens if the footprint name already exists. It mentions a return value (UUID) but nothing else about the operation's behavior.
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 (one line) but mixes English signature and Chinese text, making it less clear. The purpose is not front-loaded; it appears only in the Chinese phrase. It lacks a clear separation of purpose, parameters, and return value, though it is not 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 5 parameters and no output schema, the description is incomplete. It provides the return type but does not explain what each parameter represents, the expected format of classification, or any constraints. It also does not mention that the library must exist or whether the operation can fail. The absence of annotations increases the burden, which is not met.
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 includes the full function signature with parameter names and types, which adds meaning beyond the minimal schema (which only has args and windowId). However, it does not explain the meaning of classification, description, or otherProperty, leaving ambiguity about how to fill them. It partially compensates for the schema's lack of parameter detail.
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 creates a footprint ('创建封装') and provides a function signature with parameter names. It distinguishes from siblings like eda_lib_footprint_modify and eda_lib_footprint_copy by the verb 'create'. However, the Chinese phrase is redundant with the tool name and the description does not explicitly mention the resource context (library).
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 on when to use this tool versus alternatives. It does not mention prerequisites (e.g., needing a valid libraryUuid) or conditions that would favor create over modify/copy. The only usage context is implicit in the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_lib_footprint_deleteB
lib_Footprint.delete(footprintUuid: string, libraryUuid: string) -> Promise 删除封装 returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description bears the full burden of behavioral disclosure. It does state a Promise<boolean> return and 'returns: 操作是否成功', which tells the agent the outcome is a success flag. But it does not warn that deletion is likely permanent, does not mention cascading effects on symbols/PCB instances, permission requirements, or failure behavior. For a destructive operation this is a significant transparency 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, front-loads the signature, and adds the Chinese purpose and return line with no fluff. However, the Chinese-only purpose may reduce clarity for non-Chinese agents, and the structure is more of a code reference than a purpose-first explanation. Still, 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?
For a destructive tool with no annotations and no output schema, the description is incomplete. It omits safety caveats (irreversibility), prerequisites (library must exist, user must have permission), side effects, and error semantics. The agent learns what the tool does but not enough to invoke it safely or understand edge 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 input schema only describes 'args' as an ordered JSON array with empty item schema, so it provides no parameter semantics. The description compensates by giving the official signature with parameter names and types (footprintUuid: string, libraryUuid: string). This is genuinely useful beyond the schema, though the meaning of each UUID is only inferable rather than explicitly explained.
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: delete a footprint ('删除封装') from a library, using a specific verb and resource. It also conveys the return type (Promise<boolean>). However, the purpose is presented as a raw API signature plus a bare Chinese phrase, not a well-formed descriptive sentence, and it doesn't explicitly contrast with sibling footprint tools beyond the implied action.
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 (e.g., modify, copy, get, search). No prerequisites, exclusions, or conditions are mentioned. The agent must infer entirely from the name and the one-line description that this is the deletion tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_lib_footprint_getB
lib_Footprint.get(footprintUuid: string, libraryUuid?: string) -> Promise<ILIB_FootprintItem | undefined> 获取封装的所有属性 returns: 封装属性
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full responsibility for behavioral disclosure. It does reveal the return type (Promise<ILIB_FootprintItem | undefined>) and the possibility of undefined, which is useful. However, it does not mention any side effects (though it is a getter, this is implied), permission requirements, or behavior when libraryUuid is omitted. The disclosure is minimal beyond the bare signature.
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 concise, with the signature front-loaded and the purpose stated in two short phrases. However, there is minor redundancy: 'returns: 封装属性' repeats the return type already conveyed by the Promise<ILIB_FootprintItem> signature. Still, it is compact 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 simple getter with two parameters and no output schema, the description covers the core purpose and parameter signature. However, it lacks context on when to use it (e.g., when you have a footprint UUID), what the return object ILIB_FootprintItem contains (beyond 'properties'), and the semantics of the optional libraryUuid parameter (e.g., whether it narrows the search). Given low complexity, this is a minimum viable description 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?
The description explicitly lists both parameters with their types and optionality (footprintUuid: string, libraryUuid?: string), which is critical because the input schema only describes the wrapper 'args' array and 'windowId' without defining the actual semantic parameters. This fully compensates for the schema's lack of parameter-level description, enabling the agent to construct the args array 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 states the specific verb 'get' and the resource 'footprint' (封装), and says it retrieves all properties. This is clear and distinguishes it from modification or search tools at a basic level, though it does not explicitly differentiate from sibling getters like eda_lib_footprint_get_render_image or eda_lib_footprint_search_by_properties.
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 that it requires a footprint UUID, nor does it indicate that search or other lookup methods might be more appropriate for different scenarios. The description provides no usage context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_lib_footprint_get_render_imageC
lib_Footprint.getRenderImage(source: { footprintUuid: string; libraryUuid: string }) -> Promise<Blob | undefined> 获取封装渲染图 returns: 封装渲染图
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 the return type (Promise<Blob | undefined>), which hints that undefined may be returned when the image is unavailable, but it provides no other behavioral context: no side effects, no error conditions, no note about whether this is a read-only fetch, and no guidance on handling the Blob. This is minimal disclosure 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 description is short and front-loaded with the signature, but it repeats '封装渲染图' in both the purpose line and the returns line. The mix of an English code signature with Chinese labels, plus the redundant 'returns' line, makes it less clean than it could be. Still, there is minimal waste overall.
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 does not explain how to construct the 'args' array from the shown source object, which is a critical operational detail for actually invoking the tool. It also omits any mention of the optional windowId parameter and what happens when the footprint is missing or rendering fails. For a straightforward read operation, an agent would likely struggle to map the signature to the required array format.
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's 'args' property is a generic array with items '{}', so it conveys no per-parameter meaning. The description compensates by spelling out the source object as { footprintUuid, libraryUuid }, which is helpful. However, it only gives the structure, not the semantic role of each UUID, and it introduces ambiguity by showing a single object parameter instead of explaining how it maps to the 'args' array expected by the MCP wrapper.
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 and resource: '获取封装渲染图' (get footprint render image) and provides the exact function signature. This clearly identifies the tool's purpose and distinguishes it from the many library tools in the sibling list, though it does not explicitly contrast with the analogous eda_lib_symbol_get_render_image.
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 instead of alternatives. It does not mention that eda_lib_symbol_get_render_image exists for symbol renderings, nor does it state any conditions or prerequisites (e.g., that the footprint/library UUIDs must be valid). Usage context is only implied by the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_lib_footprint_modifyB
lib_Footprint.modify(footprintUuid: string, libraryUuid: string, footprintName?: string, classification?: ILIB_ClassificationIndex | Array | null, description?: string | null, otherProperty?: Record<string, boolean | number | string | undefined | null>) -> Promise
修改封装
remarks: 如希望清除某些属性,则将其的值设置为 null
returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 one important behavior: setting properties to null clears them. It also mentions the return type (boolean success). However, it omits details like whether the footprint must exist, what happens on failure, or any side effects. This is minimal 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 compact but somewhat awkwardly structured, mixing a code-like signature with a Chinese remark. It's not overly long, but the flow is not ideal for quick scanning. Front-loading the signature is efficient, though.
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 the signature, parameter types, and a key behavioral note, but lacks explanation of what each parameter represents (e.g., classification, otherProperty semantics). It doesn't mention prerequisites or side effects. For a modify tool with multiple parameters, this is partially complete but leaves gaps for an agent to infer.
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 lists all function parameters with types, which adds significant meaning beyond the generic input schema (which only has 'args' and 'windowId'). It clarifies that footprintUuid and libraryUuid are required, and explains the null-clearing behavior for properties. This compensates well for the schema's lack of inner 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 clearly states the action ('修改封装' = modify footprint) and provides the function signature with parameters, distinguishing it from sibling tools like eda_lib_symbol_modify. It's specific to footprint modification, but it doesn't elaborate on what aspects of the footprint can be changed beyond listing parameters.
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 doesn't mention conditions for use, exclusions, or recommend related tools. The context of modifying an existing footprint is implied but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_lib_footprint_open_in_editorB
lib_Footprint.openInEditor(footprintUuid: string, libraryUuid: string, splitScreenId?: string) -> Promise<string | undefined> 在编辑器打开文档
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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, but it mostly restates the tool name without explaining consequences. It does not disclose whether a new tab opens, whether the active window changes, whether the library must already be loaded, or what the returned string/undefined signifies.
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 one-line signature is compact and front-loaded, but the Chinese sentence is largely redundant with the action already expressed by 'openInEditor'. It is not bloated, yet not 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?
For a simple open-in-editor action, the signature plus resource name provides the minimum needed to attempt a call. However, without annotations or an output schema, the description leaves ambiguity about window targeting, return value meaning, and actual editor 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?
The signature adds meaningful parameter detail: footprintUuid, libraryUuid, and optional splitScreenId with types and ordering, which the generic 'args' schema description lacks. It stops short of explaining splitScreenId's semantic role, so it is not a perfect 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 identifies a specific action ('openInEditor') on a specific resource ('Footprint'), supplemented by the Chinese phrase '在编辑器打开文档' (open document in editor). It is distinguishable from footprint CRUD siblings, though it does not explicitly differentiate itself from other *_open_in_editor tool variants.
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 such as eda_lib_symbol_open_in_editor or eda_lib_panel_library_open_in_editor. It does not mention prerequisites, selection criteria, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_lib_footprint_searchC
lib_Footprint.search(key: string, libraryUuid?: string, classification?: ILIB_ClassificationIndex | Array, itemsOfPage?: number, page?: number) -> Promise<Array> 搜索封装 returns: 搜索到的封装属性列表
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 return type (Array<ILIB_FootprintSearchItem>) and that it is a search operation, but it does not describe pagination behavior, whether the search is fuzzy/exact, case sensitivity, or side effects. The Chinese '搜索封装' adds no behavioral detail beyond 'search'.
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 front-loaded with the signature, but it includes a redundant Chinese phrase '搜索封装' that merely restates 'search'. The return line is useful but minimal. No wasted sentences, but the content is thin.
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 search tool with no annotations, no output schema, and an opaque args array, the description is incomplete. It does not explain the search key semantics, the classification parameter, pagination defaults, or what the returned footprint properties contain. An agent would struggle to invoke this correctly without external 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?
Schema description coverage is 100% for the two top-level parameters (args and windowId), but the args array items are untyped and undocumented. The description's signature lists parameter names (key, libraryUuid, classification, itemsOfPage, page) but does not explain their meaning or format. The signature adds some value beyond the schema, but the semantics of each parameter remain 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 states a specific verb ('search') and resource ('footprint'), and the signature shows it returns footprint search items. It is distinguishable from sibling tools like eda_lib_footprint_search_by_properties and eda_lib_footprint_get, though it doesn't explicitly differentiate itself from those 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?
The description provides no guidance on when to use this tool versus alternatives like eda_lib_footprint_search_by_properties or eda_lib_footprint_get. The signature implies search by key string, but there is no explicit context, exclusions, or alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_lib_footprint_search_by_propertiesC
lib_Footprint.searchByProperties(properties: ILIB_FootprintPropertiesForSearch, libraryUuid?: string) -> Promise<Array> 使用属性精确搜索封装 returns: 搜索到的封装属性的列表
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 mostly restates the signature and return type, adding only 'precise search' as behavioral context. It does not disclose whether the operation is read-only, how matching behaves with missing properties, whether libraryUuid limits scope, or any error/pagination behavior.
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: a signature, a one-line semantic statement, and a return note. It is front-loaded with the API signature. There is minor redundancy between the return type in the signature and the 'returns:' line, but 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?
For a tool with a complex custom search-object parameter and no output schema, this is incomplete. An agent cannot determine which property keys are valid, what data each search item contains, whether libraryUuid is required in practice, or how the exact-match semantics behave. The generic args schema and lack of annotations make this gap more significant.
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 only describes a generic args array and windowId, so the description's signature adds real value by naming the parameters (properties, libraryUuid), their types, and the optionality of libraryUuid. However, it does not explain the fields of ILIB_FootprintPropertiesForSearch, leaving the main search criteria 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 states a specific action: searching footprints by properties, backed by the signature lib_Footprint.searchByProperties and the Chinese phrase '使用属性精确搜索封装' (precise search by properties). It clearly identifies the resource and operation, though it does not explicitly contrast itself with the sibling eda_lib_footprint_search.
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 eda_lib_footprint_search or the sibling *_search_by_properties tools. The description implies a property-based search but provides no context about when that is preferable, nor any exclusions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_lib_footprint_update_document_sourceC
lib_Footprint.updateDocumentSource(footprintUuid: string, libraryUuid: string, documentSource: string) -> Promise<boolean | undefined> 更新封装的文档源码 returns: 是否更新成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 state the return type (Promise<boolean | undefined>) and its meaning ('是否更新成功'), but it does not disclose that this is a mutating operation, whether it requires specific permissions, whether changes are persisted immediately, or what failure modes exist. For a mutation tool with zero annotation coverage, 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 compact and front-loaded with the function signature, then followed by a one-line Chinese purpose and a return-value note. No words are wasted, though the raw signature line is somewhat redundant with the schema. It is appropriately sized for the information it conveys.
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 and no output schema, the description is incomplete for a mutating tool with three meaningful parameters. It does not explain how to obtain the UUIDs, what documentSource should contain, whether the operation requires an open editor, or what undefined in the return value signifies. The sibling context shows related tools for searching/modifying footprints, but the description does not connect to them, leaving the agent to guess prerequisites.
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 100%, so parameter names are already documented. The description adds the raw function signature with parameter types, which is mildly helpful, but it does not explain what values documentSource can take, how to obtain valid footprintUuid and libraryUuid, or whether the ordering in the args array matters beyond the signature. The baseline of 3 is appropriate since the schema covers the parameter list, but the description adds limited domain 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 identifies the verb 'updateDocumentSource' and the resource (footprint), with the Chinese phrase '更新封装的文档源码' confirming the purpose. It specifies the exact fields being updated (documentSource) and lists all three parameters. However, it does not explicitly distinguish itself from siblings like eda_lib_symbol_update_document_source or eda_lib_footprint_modify, so it is clear but lacks explicit sibling 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?
The description provides no guidance on when to use this tool versus alternatives such as eda_lib_footprint_modify or eda_sys_file_manager_set_document_source. It does not mention any preconditions (e.g., footprint must exist in the library) or exclusions, leaving the agent to infer the appropriate usage context 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.
eda_lib_libraries_list_get_all_libraries_listB
lib_LibrariesList.getAllLibrariesList() -> Promise<Array> 获取所有库的列表 returns: 库信息列表
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 states the tool returns a Promise of an array, implying it is an asynchronous read operation, and names the return type. However, it does not explicitly mention that it has no side effects, requires no special permissions, or any error conditions. For a simple getter, this is adequate 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 concise, consisting of a code signature and two short lines of Chinese. It is front-loaded with the signature and immediately conveys the purpose. No unnecessary words, though the bilingual text is slightly redundant but not detrimental.
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 getter that lists all libraries, the description provides the return type and a clear statement of purpose. It does not mention any context such as which workspace or library types are included, or any limitations. Given the lack of an output schema, the return type is helpful, but more context about the contents of ILIB_LibraryInfo or when this tool is preferred over other library tools would improve 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 schema covers both parameters (args and windowId) with descriptions. The description itself does not mention parameters, but since schema coverage is 100%, the baseline is 3. The description adds no additional meaning beyond the schema, which is acceptable given the schema already documents the generic args array and windowId.
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 list of all libraries ('获取所有库的列表') and indicates the return type (Array<ILIB_LibraryInfo>). It is specific about the verb and resource. However, it does not explicitly differentiate from other sibling library-related tools like get_favorite_library_uuid, though the name and purpose 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?
No guidance is provided on when to use this tool versus alternatives. The description only states what it does, with no mention of conditions, prerequisites, or scenarios where another tool would be more appropriate. Given many sibling tools for library operations, this is a notable gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_lib_libraries_list_get_favorite_library_uuidA
lib_LibrariesList.getFavoriteLibraryUuid() -> Promise<string | undefined> 获取收藏库的 UUID remarks: 将会获取当前编辑器工作区下的收藏库的 UUID returns: 收藏库的 UUID
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the behavioral burden. It does disclose the return type (Promise<string | undefined>) and the workspace scope in the remarks, which is useful, but it does not state side-effect profile or behavior when no favorite library exists beyond the implied 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 short and front-loaded with the API signature, but it repeats the same information three times: the purpose, remarks, and returns all restate '获取收藏库的 UUID'. It earns its place in size but not in every 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?
For a simple read-only getter with no output schema, the description covers what is fetched, the workspace scope, and the return type. It is adequate for invoking the tool, though it leaves the no-favorite behavior and side-effect profile implicit.
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 descriptions cover the generic args/windowId fields, so the baseline is 3. The description adds value by showing the method signature 'getFavoriteLibraryUuid()', implying that the args array should be empty for this particular call, which the generic schema does not convey.
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 operation: '获取收藏库的 UUID' (get the favorite library's UUID), and the leading API signature confirms the method and return type. The favorite-library resource distinguishes it from sibling library-UUID getters (personal/project/system), though it does not 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?
When to use the tool is only implied: an agent can infer it is for retrieving the favorite library UUID in the current editor workspace. It names no alternatives or exclusion conditions, unlike the sibling getters that might also be candidates.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_lib_libraries_list_get_personal_library_uuidB
lib_LibrariesList.getPersonalLibraryUuid() -> Promise<string | undefined>
获取个人库的 UUID
remarks: 将会获取当前编辑器工作区下的个人库的 UUID,在私有部署环境下不存在个人库,此接口将永远返回 undefined
returns: 个人库的 UUID
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 discloses that in private deployment environments the function always returns undefined, which is a useful behavioral note. It also states the context (current editor workspace). However, it does not mention read-only nature or any other side effects, which for a getter is implied but 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 extremely concise, front-loading the function signature and then providing a one-line purpose plus a remarks note. There is zero wasted 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?
For a simple getter with no required parameters and no output schema, the description covers the core purpose and a key edge case (private deployment). It is sufficiently complete for an agent to understand what to expect.
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 100% description coverage (both args and windowId are described), so the baseline is 3. The description does not add any parameter-specific details 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 function: getting the UUID of the personal library ('获取个人库的 UUID'), with a specific verb and resource. However, it does not differentiate from sibling tools like get_favorite_library_uuid or get_project_library_uuid, so it lacks sibling 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 no guidance on when to use this tool versus its siblings (e.g., get_favorite_library_uuid, get_project_library_uuid). It does mention the context (current editor workspace) and an edge case (private deployment returns undefined), but no explicit when-to-use or when-not-to-use instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_lib_libraries_list_get_project_library_uuidB
lib_LibrariesList.getProjectLibraryUuid() -> Promise<string | undefined>
获取工程库的 UUID
remarks: 在未打开工程的情况下调用将返回 undefined
returns: 工程库的 UUID
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 a useful behavioral trait: returns undefined if called without an open project. However, it does not describe potential errors, side effects, or whether the operation is read-only. The information is minimal but not contradictory.
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 purpose. It includes a remarks section for the undefined case and a returns line. Every sentence earns its place, and there is no extraneous content. It is appropriately sized 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?
For a simple getter with no output schema, the description covers the primary purpose and a key edge case (undefined when no project open). However, it does not clarify the role of the windowId parameter, and the prerequisite of an open project is only implied. The absence of explicit context about the current project scope leaves some 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 describes two generic parameters (args and windowId) with high coverage, but these are generic across many tools and provide no specific meaning here. The description adds no parameter details, leaving it unclear whether the function takes arguments. Baseline for high schema coverage is 3, and the description does not compensate.
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 purpose clearly: '获取工程库的 UUID' (get the UUID of the project library). It identifies a specific verb and resource, and the name differentiates it from sibling tools like get_favorite_library_uuid. However, it does not explicitly mention that it refers to the current open project, leaving some ambiguity about 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 guidance is provided on when to use this tool versus alternatives. The remark about returning undefined without an open project is a behavioral note, not a usage directive. There is no mention of when to prefer this tool over the other library UUID getters, nor 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.
eda_lib_libraries_list_get_system_library_uuidC
lib_LibrariesList.getSystemLibraryUuid() -> Promise<string | undefined> 获取系统库的 UUID returns: 系统库的 UUID
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 the return type (Promise<string | undefined>) and that it returns the system library UUID, but it does not disclose whether this is a read-only operation, whether it can fail, what happens if no system library exists, or any side effects. The description is minimal and leaves behavioral questions unanswered.
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 to the point, with the function signature and return type front-loaded. It is not verbose, but it is arguably under-specified rather than concise. It earns a 4 because every sentence is relevant and there is no 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 getter with no output schema and no annotations, the description is incomplete. It does not explain the context in which this UUID is needed, how it relates to other library UUIDs, or what the agent should do with the returned value. The lack of behavioral details and usage guidance makes it insufficient for confident 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 100%, so the schema already documents the two parameters (args and windowId). The description adds no parameter-specific meaning beyond the schema, but since coverage is high, the baseline of 3 is appropriate. The description does not clarify how args should be structured for this particular function.
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 and resource: '获取系统库的 UUID' (get the system library's UUID), and the function signature 'lib_LibrariesList.getSystemLibraryUuid()' clarifies the exact API call. It is distinguishable from sibling tools like get_favorite_library_uuid, get_personal_library_uuid, and get_project_library_uuid, 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?
No guidance is provided on when to use this tool versus alternatives. The description does not mention that this is for retrieving the system library UUID specifically, nor does it contrast with the other library UUID getters. An agent would have 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.
eda_lib_libraries_list_register_extend_libraryA
lib_LibrariesList.registerExtendLibrary(title: string, libraryFunctions: { device?: ILIB_ExtendLibraryDeviceFunctions; symbol?: ILIB_ExtendLibrarySymbolFunctions; footprint?: ILIB_ExtendLibraryFootprintFunctions; cbb?: ILIB_ExtendLibraryCbbFunctions; model3d?: ILIB_ExtendLibrary3DModelFunctions }) -> Promise<string | undefined>
注册外部库
remarks: 注意:本接口仅扩展有效,在独立脚本环境内调用将始终 throw Error
returns: 库 UUID
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 does disclose that the function returns a Promise<string | undefined> and warns about throwing in standalone environments. Yet it omits side effects, permission requirements, or what 'register' actually does (e.g., persistence, overwriting), leaving key behavioral traits implicit.
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: the signature appears first, followed by a single-line purpose and two concise remarks. There is no extraneous text, and every part contributes to understanding the call.
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 libraryFunctions parameter and no output schema or annotations. The description does not clarify the meaning of each libraryFunctions field, the conditions under which undefined is returned, or any prerequisites (e.g., requiring an active library context). This is insufficient for reliable invocation, especially given the warning about standalone environments.
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 the full method signature including title: string and a typed libraryFunctions object with optional keys (device, symbol, footprint, cbb, model3d). This adds substantial meaning beyond the generic schema, which only describes an args array and windowId. However, the content of the ILIB_... types is not elaborated.
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 includes the signature 'registerExtendLibrary' and the Chinese phrase '注册外部库' which translates to 'Register external library', clearly identifying the action and resource. The name and description together make the tool's purpose unambiguous and distinguish it from other library create/modify/delete 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 remarks explicitly state that the interface is only valid for extensions and will always throw an Error in a standalone script environment, providing a clear when-not-to-use condition. However, it does not mention alternatives or positive scenarios, but the unique purpose of registration reduces ambiguity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_lib_panel_library_copyC
lib_PanelLibrary.copy(panelLibraryUuid: string, libraryUuid: string, targetLibraryUuid: string, targetClassification?: ILIB_ClassificationIndex | Array, newPanelLibraryName?: string) -> Promise<string | undefined> 复制面板库 returns: 目标库内新面板库的 UUID
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description carries the full burden. It only reveals the return type and the fact that a new UUID is generated. It does not disclose side effects (e.g., whether the source is left unchanged), potential errors (e.g., if the target library does not exist), or the meaning of an undefined return (e.g., failure). Minimal behavioral disclosure beyond the basic copy 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 very short but reads as a raw code signature rather than an explanation for an AI agent. It includes both the signature and a one-line Chinese note, which is redundant. While there is no fluff, the structure does not prioritize the most useful information (e.g., intent) and lacks narrative organization.
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 five parameters and no output schema, the description is incomplete. It omits critical context such as what happens if the target library already contains an item with the same name, whether the operation is reversible, any permission requirements, and how to interpret the return value when undefined. The mention of windowId in the schema is not addressed at all.
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 the full signature with parameter names and types (panelLibraryUuid, libraryUuid, targetLibraryUuid, targetClassification, newPanelLibraryName) and their optionality. This adds meaning beyond the schema, which only has a generic args array without per-parameter documentation. However, it does not explain the meaning of each parameter (e.g., what classification represents) or examples of valid 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 states the action is 'copy' and the resource is 'panel library' (复制面板库), which clearly conveys the core purpose. It doesn't explicitly differentiate from other copy tools (e.g., eda_lib_symbol_copy), but the name and the signature make the target resource unambiguous. The addition of the return value ('目标库内新面板库的 UUID') clarifies the outcome.
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 eda_lib_panel_library_create, modify, or search. It does not describe prerequisites (e.g., existing target library) or situations where copying is preferred over creating from scratch. No context 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.
eda_lib_panel_library_createC
lib_PanelLibrary.create(libraryUuid: string, panelLibraryName: string, classification?: ILIB_ClassificationIndex | Array, description?: string) -> Promise<string | undefined> 创建面板库 returns: 面板库 UUID
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It notes the return type (Promise<string | undefined>) and that a panel library UUID is returned, but does not mention side effects, error conditions, permissions, reversibility, or what happens if the library already exists. The description relies on the 'create' name to imply mutation without further 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 concise, containing a function signature, a brief Chinese phrase, and a return type note. It is structured with the signature first and no unnecessary content, earning a high score for efficiency, though it could benefit from a more natural-language explanation.
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 lacks essential context: it does not explain what libraryUuid represents (parent library or new UUID), whether an active window is required, or what classification should contain. The return type is noted but not failure conditions. For a create operation with complex parameters, this description 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 provides no per-parameter descriptions (items are empty), so the function signature in the description adds parameter names and types (libraryUuid, panelLibraryName, classification, description). However, it does not explain the semantic meaning or expected values for each parameter, such as what classification index represents or the format of the classification array. It partially compensates for the schema gap but leaves 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 states the verb 'create' and the resource 'panel library' via the function signature and Chinese text '创建面板库', making the purpose clear. It is distinct from sibling tools like delete, get, modify, and search, so an agent can differentiate it based on the operation 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 such as modify or copy. There is no mention of prerequisites, required context, or situations where this tool is inappropriate. Usage is only implied by the 'create' verb, with no explicit context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_lib_panel_library_deleteA
lib_PanelLibrary.delete(panelLibraryUuid: string, libraryUuid: string) -> Promise 删除面板库 returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It does communicate that the operation returns a Promise<boolean> and that the return value indicates success. However, it does not mention irreversibility, permissions, side effects, or behavior when the library does not 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 short and front-loaded with the essential signature. The Chinese '删除面板库' line is somewhat redundant with the method name, but the overall length is appropriate and the return-value line adds 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?
For a delete operation with two parameters, the description covers the core behavior and return value. However, it omits practical context such as how to obtain the UUIDs, whether the deletion cascades, or any preconditions like ensuring the library is not in 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 schema's `args` array is opaque, but the description compensates by providing the exact signature with two named string parameters, `panelLibraryUuid` and `libraryUuid`, in order. This adds meaningful semantics beyond the generic schema 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 clearly states '删除面板库' (delete panel library) and includes the precise method signature `lib_PanelLibrary.delete(panelLibraryUuid, libraryUuid)`. The verb and resource are specific, and the resource 'panel library' distinguishes it from sibling tools like `eda_dmt_panel_delete_panel`.
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, nor any mention of related search/get tools for obtaining UUIDs. The description simply states what it does without contextual selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_lib_panel_library_getC
lib_PanelLibrary.get(panelLibraryUuid: string, libraryUuid?: string) -> Promise<ILIB_PanelLibraryItem | undefined> 获取面板库的所有属性 returns: 面板库属性
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 the return type (Promise<ILIB_PanelLibraryItem | undefined>) and that it returns panel library properties, but it doesn't disclose behavior like whether it throws on missing UUID, whether it requires an open library document, or what 'all properties' includes. The 'returns: 面板库属性' line is redundant with the signature.
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 front-loaded with the signature, but it contains redundancy: the Chinese '获取面板库的所有属性' and 'returns: 面板库属性' repeat the same information. The signature line is useful, but the rest could be tighter.
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 get-by-UUID tool with no annotations and no output schema, the description is thin. It doesn't explain the meaning of libraryUuid, the shape of ILIB_PanelLibraryItem, or error/undefined behavior. An agent would need to guess whether the second parameter is required for certain library types or how to obtain a valid panelLibraryUuid.
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 100%, but the schema only describes the args array generically as 'JSON参数数组按官方签名顺序排列' and windowId. The description's signature line adds the parameter names (panelLibraryUuid, libraryUuid) and their types, which is useful. However, it doesn't explain what libraryUuid is for or when it's needed, leaving the agent to infer from the 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 states a specific verb ('get') and resource ('面板库' / panel library), and the signature shows it retrieves a panel library item by UUID. It is distinguishable from siblings like eda_lib_panel_library_search (search) and eda_lib_panel_library_modify (modify), 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?
No guidance on when to use this tool versus alternatives. It doesn't mention that this is for fetching a single panel library's properties by UUID, nor does it contrast with search or list operations. The context of needing a panelLibraryUuid is implied but not stated as a prerequisite.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_lib_panel_library_modifyA
lib_PanelLibrary.modify(panelLibraryUuid: string, libraryUuid: string, panelLibraryName?: string, classification?: ILIB_ClassificationIndex | Array | null, description?: string | null) -> Promise
修改面板库
remarks: 如希望清除某些属性,则将其的值设置为 null
returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavioral traits. It states the return type (Promise<boolean> for success) and the special behavior that setting values to null clears properties. However, it does not mention side effects, whether the operation is reversible, permission requirements, or error scenarios. It adds some value beyond the schema but lacks depth expected for a mutation tool without annotations.
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, consisting of a signature line and short remarks. It front-loads the essential signature, followed by a concise note about null-clearing and return value. No redundant text is present, though the signature is technical and could be seen as dense. Overall, it is 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?
Given the tool's moderate complexity (5 parameters) and no output schema (only a boolean return), the description covers the essential details: all parameters, types, optionality, return type, and a key usage rule. It does not explain what classification indexes mean or mention error behaviors, but for a straightforward modify operation, it provides sufficient context for an agent to call it correctly. The schema covers windowId and the array structure, so the combined information is 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 description includes the full parameter list with names, types, and optionality (e.g., panelLibraryUuid: string, classification?: ILIB_ClassificationIndex | Array<string> | null). This goes well beyond the schema, which only describes an args array without item details. The description clarifies the order, meaning, and the null-clearing semantic for each optional property, providing comprehensive 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 modifies a panel library ('修改面板库') and provides the full function signature with parameter names, making the resource and action explicit. It does not explicitly differentiate from sibling tools but the resource type (panel library) distinguishes it from other modify tools like eda_lib_symbol_modify or eda_lib_footprint_modify. The purpose is clear and specific 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?
The description provides no guidance on when to use this tool versus alternatives, such as when to use create, delete, or get operations, or how to choose among different modify tools. The only usage hint is that setting a property to null clears it, which is a behavioral note rather than guidance on selecting the tool. No exclusions, prerequisites, or 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.
eda_lib_panel_library_open_in_editorC
lib_PanelLibrary.openInEditor(panelLibraryUuid: string, libraryUuid: string, splitScreenId?: string) -> Promise<string | undefined> 在编辑器打开文档
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden of behavioral disclosure. It reveals that the function returns a Promise<string | undefined>, but does not explain what the returned string means, whether the call opens a new tab, replaces an existing document, requires a specific window state, or has side effects beyond opening the editor.
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 definition is short and front-loaded with the signature, but the prose sentence '在编辑器打开文档' largely restates what openInEditor already implies. It is not padded, but it is under-specified rather than efficiently complete.
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, no output schema, and a minimal description, an agent is left without enough context to know what the returned string is, which parameters are required in practice, how to obtain valid UUIDs, or how this differs from nearby open-in-editor tools. The definition is insufficient for confident 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 description includes a typed signature with parameter names (panelLibraryUuid, libraryUuid, splitScreenId), which adds meaning beyond the generic args array in the schema. However, it does not explain the relationship between panelLibraryUuid and libraryUuid, when splitScreenId should be used, or how the optional windowId parameter interacts with the signature.
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 name and signature clearly identify a concrete action: open a panel library document in the editor via panelLibraryUuid and libraryUuid. The Chinese phrase '在编辑器打开文档' (open document in editor) is generic but not misleading. It is clear what the tool does, though it does not differentiate itself from sibling open-in-editor 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 use this tool versus alternatives like eda_lib_symbol_open_in_editor, eda_lib_footprint_open_in_editor, or eda_dmt_editor_control_open_document. The only usage signal is the tool's name, which implies panel library context but provides no explicit selection criteria or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_lib_panel_library_searchC
lib_PanelLibrary.search(key: string, libraryUuid?: string, classification?: ILIB_ClassificationIndex | Array, itemsOfPage?: number, page?: number) -> Promise<Array> 搜索面板库 returns: 搜索到的面板库属性列表
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 reveals only that the tool is a search returning a Promise of items; it does not state whether the operation is read-only, what criteria are applied, whether pagination limits exist, or any 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 the method signature. The Chinese one-liner and return note are somewhat redundant with the signature's declared return type, but the overall length is appropriate and free of 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 search tool with five underlying parameters and no output schema or annotations, the description is incomplete. It provides no parameter semantics, no filtering/pagination behavior, no return-shape details, and no examples, leaving an agent to guess how to construct the args array 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 input schema only describes generic wrapper fields (args array, windowId), so the description's method signature adds meaningful parameter names and types such as key, libraryUuid, classification, itemsOfPage, and page. However, it does not explain the meaning of 'key', the classification union type, or how pagination behaves.
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 ('search') on a specific resource ('panel library'), and the method signature 'lib_PanelLibrary.search' aligns with the tool name. It is clear enough to distinguish this from panel library get/modify/create operations, though it does not explicitly contrast with sibling search 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 about when to use this tool versus alternatives such as eda_lib_panel_library_get, eda_lib_panel_library_open_in_editor, or other library search tools. The description does not mention use cases, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_lib_select_control_get_selected_library_row_infoA
lib_SelectControl.getSelectedLibraryRowInfo() -> Promise<ILIB_LibraryItem | undefined>
获取当前底部库选中行的信息
remarks: 将会获取当前底部库选中行的库类型、UUID、所属库 UUID
returns: 库属性对象,如若为 undefined 则获取失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the transparency burden. It provides the Promise return type, the returned property fields, and the undefined-as-failure contract, which is genuinely useful. It does not explicitly state that the call has no side effects, but the 'get' semantics plus the failure note make the behavior reasonably clear.
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 definition is compact and front-loaded: signature, purpose, then remarks and return value. It contains no filler and each line adds information, though the mixed signature/metadata formatting is slightly less structured than ideal.
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 zero-argument getter with no output schema, the description provides enough context: return type, key fields, and failure behavior via undefined. It could be more explicit that a bottom-library row must be selected, but the undefined-failure note partially covers that 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 description coverage is 100%, so the wrapper parameters (args and windowId) are already documented. The method signature `getSelectedLibraryRowInfo()` additionally implies that no positional arguments are expected, which helps, but the description does not go beyond that baseline in explaining 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 action: get information about the currently selected row in the bottom library panel. The remarks name the exact returned fields (library type, UUID, parent library UUID), which makes the tool's scope concrete and distinguishes it from primitive/PCB/schematic selection getters.
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 use case is implied: retrieve the active bottom-library selection, optionally scoped by windowId. However, there is no explicit guidance about when to prefer this tool over the many eda_lib_* get/search tools, nor are alternatives or exclusion conditions mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_lib_simulation_model_copyC
lib_SimulationModel.copy(simulationModelUuid: string, libraryUuid: string, targetLibraryUuid: string, targetClassification?: Array, newSimulationModelName?: string) -> Promise<string | undefined> 复制仿真模型 remarks: ADD since EDA v3.2.167 returns: 目标库内新仿真模型的 UUID
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 only provides a version note ('ADD since EDA v3.2.167') and the return type (UUID), but does not state whether the original model is preserved, what side effects occur, or any required permissions. This is a significant gap for a mutation-like 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 a single signature line followed by sparse remarks and return info. It is concise but poorly structured, mixing English and Chinese without clear sections. The key information is front-loaded, but the mixed-language presentation and lack of formatting reduce 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 copy operation with no output schema and no annotations, the description is incomplete. It does not explain what the copy entails (e.g., whether the original remains unchanged), how failures are reported, or any preconditions such as the existence of the source and target libraries. An agent would need to infer these from the tool name and signature.
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 signature lists parameter names and types (simulationModelUuid, libraryUuid, targetLibraryUuid, targetClassification, newSimulationModelName), which the generic schema does not provide. However, it does not explain the meaning or expected format of these parameters, especially targetClassification, leaving the agent to guess their 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 indicates a copy operation on a simulation model through the function signature and the Chinese phrase '复制仿真模型' (copy simulation model). It distinguishes itself from sibling tools like create, delete, modify, and search by naming the copy action explicitly, though it does not elaborate on the precise source-to-target transfer semantics beyond the signature.
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 create, modify, or other library copy operations. The description does not mention any prerequisites, limitations, or preferred scenarios, 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.
eda_lib_simulation_model_createA
lib_SimulationModel.create(libraryUuid: string, model: { modelType: 'Ngspice' } & ({ modelFile: Blob; modelName?: string; modelCategory?: string; modelPin?: string } | { modelData: string; modelName?: string; modelCategory?: string; modelPin?: string }), classification?: Array, description?: string) -> Promise<string | undefined> 创建仿真模型 remarks: ADD since EDA v3.2.167 returns: 仿真模型 UUID
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the transparency burden. It discloses the return type (Promise resolving to UUID or undefined), the Ngspice-only model type, and the since-version availability remark. However, it does not mention side effects, error behavior, permission requirements, or what happens on 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 dense and front-loaded with the signature, followed by a short Chinese summary, a version remark, and a return note. It is mostly efficient, though the Chinese one-liner and 'returns: UUID' partially restate what the signature already conveys.
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 mutating library operation with no output schema and no annotations, the description provides enough structural detail to construct the args array and understand the return value. It is not fully complete because it omits usage context, optional-field semantics, and behavioral caveats that an agent may need to invoke it correctly in a large sibling-tool family.
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 only exposes a generic args array and windowId, so the description adds substantial meaning with the full TypeScript signature: parameter order, types, optionality, and the union between modelFile and modelData. It still stops short of explaining the intended values of modelName, modelCategory, modelPin, and classification.
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 gives the exact API signature and states '创建仿真模型' (create simulation model). It identifies a specific verb, resource, and method path (lib_SimulationModel.create), which clearly distinguishes it from sibling library create tools like eda_lib_cbb_create or eda_lib_device_create.
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 such as eda_lib_simulation_model_modify or other library creation tools. There are no exclusions, prerequisites, or workflow hints; the only implied trigger is a request to create a simulation model.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_lib_simulation_model_deleteC
lib_SimulationModel.delete(simulationModelUuid: string, libraryUuid: string) -> Promise 删除仿真模型 remarks: ADD since EDA v3.2.167 returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 the return type (Promise<boolean>) and version availability, but it omits destructive side effects, irreversibility, permission requirements, and what happens to dependent library references when a model is deleted.
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 well-structured, with the signature, Chinese summary, remarks, and return line each contributing useful information. The only mild redundancy is the Chinese phrase restating what the method name already says.
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 operation with no annotations and no output schema, this description is thin. It tells the agent which method to invoke, but not how to locate the required UUIDs, what the deletion affects, or what errors or side effects to expect.
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 signature adds the parameter names, types, and order, which compensates for the schema's generic args array. However, it does not explain the meaning of simulationModelUuid versus libraryUuid, how to obtain them, or that both are effectively required despite the schema listing zero required 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 a specific verb (删除/delete) and resource (仿真模型/simulation model), and the method signature identifies the exact API call. This distinguishes it from sibling CRUD operations like get, modify, copy, and search, though it does not explain what deleting a simulation model entails within the library.
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 eda_lib_simulation_model_modify or eda_lib_simulation_model_search. The only usage signal is the verb 'delete', which is implied rather than explicitly contextualized.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_lib_simulation_model_getA
lib_SimulationModel.get(simulationModelUuid: string, libraryUuid?: string) -> Promise<ILIB_SimulationModelItem | undefined>
获取仿真模型的所有属性
remarks: 注意:本接口仅私有化部署版本有效,如若在其他版本调用将始终 throw Error
ADD since EDA v3.2.167 returns: 仿真模型属性
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 the throw behavior in non-private deployments and the return type (Promise<...|undefined>) via the signature. However, it does not disclose other behaviors such as potential error conditions, side effects, or the exact structure of returned properties. It's partially 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 moderately concise but not well-structured. It mixes technical signature, Chinese purpose, a remark, version info, and returns section without clear separation. The version info 'ADD since EDA v3.2.167' is extraneous. It's not front-loaded with the core purpose; the purpose appears after the signature.
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 getter, the description is adequate but lacks details on error handling (e.g., invalid UUID) and the exact properties returned. It does mention the deployment constraint and returns type. Given no output schema, more detail on the return structure would be beneficial, but the signature partially covers it. It's sufficient for basic usage 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?
The description includes the official signature with parameter names and types (simulationModelUuid: string, libraryUuid?: string), which adds meaning beyond the generic 'args' array in the schema. The schema descriptions for args and windowId are clear, but the description enriches understanding by showing the parameter order and types, which is valuable for constructing the args array.
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 explicitly states '获取仿真模型的所有属性' (get all properties of the simulation model), naming the verb (get), resource (simulation model), and scope (all properties). This clearly distinguishes it from sibling CRUD operations like create, delete, modify, and search.
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 deployment constraint (only valid in private deployment) but does not give guidance on when to use this tool versus alternatives like eda_lib_simulation_model_search. It doesn't state when not to use this tool or which scenarios favor it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_lib_simulation_model_modifyA
lib_SimulationModel.modify(simulationModelUuid: string, libraryUuid: string, modelProps?: { modelName?: string; modelCategory?: string; modelPin?: string }, classification?: Array | null, description?: string | null) -> Promise
修改仿真模型
remarks: 如希望清除某些属性,则将其的值设置为 null
ADD since EDA v3.2.167 returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 null-clearing behavior ('如希望清除某些属性,则将其的值设置为 null') and returns a success boolean, but it does not mention side effects, permission requirements, or failure scenarios when the model or library 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 well-structured: signature, brief purpose, remark, version, and return type are clearly separated. It is concise without redundancy, though the version info could be considered extraneous but does not harm readability.
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?
It covers the essential parameters and return type, and the null-clearing remark adds practical usage context. However, it does not explain valid values for fields like modelCategory or modelPin, nor does it clarify the relationship between classification and description, leaving some ambiguity 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 provides the full function signature with parameter names, types, and nested structure for modelProps, including optional fields. This goes far beyond the schema's generic wrapper (args array and windowId), giving agents the exact parameter order and meaning required to invoke the tool 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 clearly states the tool modifies a simulation model ('修改仿真模型'), with a verb and resource. The name eda_lib_simulation_model_modify distinguishes it from sibling create/delete/get/search tools, though the description itself doesn't explicitly contrast 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?
No guidance on when to use this tool versus alternatives like eda_lib_simulation_model_create or eda_lib_simulation_model_delete. It does not mention prerequisites, such as needing an existing model UUID, or conditions for using this vs. other library modify tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_lib_simulation_model_searchB
lib_SimulationModel.search(key: string, libraryUuid?: string, classification?: Array, simulationModelType?: ELIB_SimulationModelType, itemsOfPage?: number, page?: number) -> Promise<Array> 搜索仿真模型 remarks: ADD since EDA v3.2.167 returns: 搜索到的仿真模型属性列表
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 behavioral disclosure burden. It communicates that the tool returns a list, but does not explicitly state that it is read-only, describe pagination behavior, matching semantics, permission requirements, or any side effects. For a search tool with no annotation coverage, this is a notable transparency 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 efficient, combining the signature, a one-line Chinese summary, version remark, and return description without filler. The essential information is front-loaded in the signature line, though the Chinese description is somewhat redundant with the signature.
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 a six-parameter search function with no annotations and no output schema, the description is incomplete. It lacks explanation of each parameter's meaning, enum values for `simulationModelType`, default pagination behavior, result item structure, and usage examples, leaving an agent with only names and types to infer 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 description adds substantial value beyond the generic `args`/`windowId` schema by enumerating the actual signature: `key`, `libraryUuid`, `classification`, `simulationModelType`, `itemsOfPage`, and `page` with types and ordering. This compensates for the schema's lack of the real parameters, though it still omits detailed semantics and allowed enum 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 states a clear action ('搜索仿真模型' / search simulation models) on a specific resource, backed by the full signature `lib_SimulationModel.search(...)`. It identifies the result as an array of simulation model search items, which makes the tool's purpose understandable. However, it does not explicitly distinguish itself from the sibling `eda_lib_simulation_model_get`, so it stops short of full sibling 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 versus alternatives such as `eda_lib_simulation_model_get` or other library search tools. The description only restates the search action and signature without specifying conditions, exclusions, or preferred scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_lib_symbol_copyC
lib_Symbol.copy(symbolUuid: string, libraryUuid: string, targetLibraryUuid: string, targetClassification?: ILIB_ClassificationIndex | Array, newSymbolName?: string) -> Promise<string | undefined> 复制符号 returns: 目标库内新符号的 UUID
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses the return type (Promise<string | undefined>) but does not state that it is a mutating operation creating a new symbol, nor any side effects, error conditions, or permissions required. The optional parameters and their effects on behavior are unaddressed.
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-loads the signature, which is efficient. It avoids unnecessary prose, but the one-line Chinese description adds little beyond the signature. Overall, it is concise and structured, though not exceptionally well-organized for quick comprehension.
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 is insufficient for an agent to confidently invoke the tool. It does not explain the purpose of optional parameters, how to obtain required UUIDs, error handling, or any side effects. Given the complexity of the operation (copying between libraries), more context is needed. There is no output schema, so the description should clarify return value semantics beyond 'UUID', but it only provides a minimal statement.
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 the full parameter list with types (symbolUuid, libraryUuid, targetLibraryUuid, targetClassification, newSymbolName), which is helpful beyond the generic schema. However, it does not explain the meaning of each parameter, especially targetClassification (ILIB_ClassificationIndex | Array<string>) which is a complex type. The schema coverage is 100% only for the wrapper properties, so the description is the primary source for parameter semantics but remains 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 action 'copy symbol' via the method signature and Chinese '复制符号'. It identifies the resource (lib_Symbol) and operation (copy), distinguishing it from sibling tools like create/delete/modify. However, it lacks any elaboration on what copying entails (e.g., preserving pins, properties).
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 eda_lib_symbol_create or eda_lib_symbol_modify. There are no conditions, prerequisites, or exclusions mentioned. An agent must infer usage solely from the operation name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_lib_symbol_createC
lib_Symbol.create(libraryUuid: string, symbolName: string, classification?: ILIB_ClassificationIndex | Array, symbolType?: ELIB_SymbolType, description?: string, otherProperty?: Record<string, boolean | number | string | undefined>) -> Promise<string | undefined> 创建符号 returns: 符号 UUID
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 only shows the function signature and return type, but doesn't disclose side effects, required permissions, whether the operation can fail, or what happens on failure. For a mutation tool, 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 concise, but it's just a code signature and a short Chinese phrase. It's not structured for an agent, lacking a clear natural-language summary up front. It's not overly verbose, but it doesn't front-load key information in a way that aids quick comprehension.
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 create operation, the description is incomplete. It doesn't explain what a symbol is, what the libraryUuid refers to, what classification/symbolType values are valid, or what happens if the library doesn't exist. It also doesn't mention the windowId parameter from the schema, which is required to target a specific EDA window. No output schema is provided, so the return value is only stated as a UUID without 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 includes the full parameter list with types: libraryUuid, symbolName, classification, symbolType, description, otherProperty. This adds meaning beyond the schema, which only defines an args array and windowId without detailing the individual parameters. The types help an agent understand what to pass, though it doesn't explain the semantics of each parameter beyond their 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 states it creates a symbol via lib_Symbol.create, with the Chinese '创建符号' (create symbol) making the purpose explicit. It differentiates from siblings like eda_lib_symbol_modify and eda_lib_symbol_delete by being the create operation. However, it relies on the function name and signature rather than a natural-language explanation of what a symbol is, so it's clear but not fully 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 provides no guidance on when to use this tool versus alternatives. It doesn't mention that it should be used to create a new symbol while modify/delete are for existing ones, nor any prerequisites like an existing library. The only clue is the name and signature, which implies the usage but doesn't state it explicitly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_lib_symbol_deleteB
lib_Symbol.delete(symbolUuid: string, libraryUuid: string) -> Promise 删除符号 returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must disclose behavioral traits itself. It only states 'delete symbol' and that the return Promise<boolean> indicates success. It does not warn that deletion is irreversible, clarify permissions needed, or mention effects on open editors or dependent projects. The destructive nature is implied by the verb, but without annotation support, the disclosure 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 compact, containing only a signature line, a Chinese purpose line, and a return-value line. No filler or marketing fluff. It is appropriately small for a simple delete operation, though the formatting is slightly choppy and mixes languages.
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 operation with no annotations and no output schema, the description covers the basic what, parameters, and return type, making it callable. However, it leaves out when to use it, prerequisites, side effects, and error behavior—significant gaps for a deletion tool. It is a minimally viable description, no more.
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 only describes 'args' as a JSON array in official signature order with no item typing, so the description adds real value by exposing the actual signature: symbolUuid: string, libraryUuid: string. This gives the agent the parameter order and types. The schema descriptions for windowId are sufficient on their own, and the description's parameter info compensates for the schema's generic array.
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 explicitly: 'lib_Symbol.delete' and '删除符号' (delete symbol), providing a specific verb and resource. It is not a tautology; it restates the tool's purpose in both English and Chinese. However, it does not differentiate this tool from sibling symbol operations beyond the verb itself, so it stops 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, what prerequisites exist (e.g., owning the library, symbol not in use), or when to prefer alternatives like eda_lib_symbol_modify or eda_lib_symbol_get. The description is purely a signature and one-line purpose, so an agent receives no routing context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_lib_symbol_getC
lib_Symbol.get(symbolUuid: string, libraryUuid?: string) -> Promise<ILIB_SymbolItem | undefined> 获取符号的所有属性 returns: 符号属性
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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. The only behavioral signal is the signature's return type 'Promise<ILIB_SymbolItem | undefined>', which hints the call may return undefined when a symbol is not found. Nothing is said about what 'all properties' includes, error behavior, or side effects. This is minimal 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 compact: a signature line plus a short Chinese purpose phrase and return note. It is front-loaded and contains no filler. It could arguably be tightened, but it is appropriately minimal 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?
For a low-complexity getter with two parameters, the signature plus one-line purpose covers the core contract. There is no output schema, so the return type in the signature is the main completeness signal. However, with no annotations and no usage context (which libraryUuid refers to, what the symbol item contains), it 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?
Schema coverage is reported at 100%, but the args array items are empty objects ({}), so the schema itself documents nothing about symbolUuid or libraryUuid. The description compensates by listing the parameters in the function signature with names and types. This adds real meaning beyond the schema, but the optionality semantics of libraryUuid are not explained, so it is not a 4.
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 ('获取' / get) and resource ('符号' / symbol), with a function signature that names the return type (ILIB_SymbolItem). Purpose is clear — retrieve all properties of a library symbol. However, it does not differentiate itself from the sibling eda_lib_symbol_get_render_image, which is also a getter on symbols, 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 alternatives. Siblings such as eda_lib_symbol_get_render_image, eda_lib_symbol_search, and eda_lib_symbol_search_by_properties exist but are never mentioned, nor is any selection criterion given. The agent must infer usage entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_lib_symbol_get_render_imageB
lib_Symbol.getRenderImage(source: { symbolUuid: string; libraryUuid: string; subPartName?: string }) -> Promise<Blob | undefined> 获取符号渲染图 returns: 符号渲染图
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry behavioral disclosure; it only reports the signature and a Blob/undefined return. It implies a read-only getter but does not state that explicitly, nor does it explain what undefined means, error conditions, or any side effects. The return type is useful 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?
The description is short and front-loads the signature, which is the most useful part. The final 'returns: 符号渲染图' line is redundant with the signature's Promise<Blob | undefined> but does not add meaningful clutter.
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 image-fetching tool, the explicit source fields make the call possible, but the description lacks expected behavior (when undefined is returned, image format/scale, window selection semantics) and use context. No annotations or output schema exist to fill in these 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 generic schema only defines args and windowId, so the source object with symbolUuid, libraryUuid, and optional subPartName is the sole meaningful parameter documentation; this is a substantial addition. It omits prose about subPartName semantics and the positional relationship to args, but the signature is enough to construct a valid call.
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 concrete operation, 'lib_Symbol.getRenderImage', and the Chinese '获取符号渲染图' makes clear it retrieves a symbol's rendered image. The source object fields (symbolUuid, libraryUuid, subPartName) distinguish it from sibling symbol data operations like eda_lib_symbol_get, though it never explicitly names a sibling.
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 use this tool rather than eda_lib_symbol_get, eda_lib_footprint_get_render_image, or others. The intended context is only implied by the name, and no exclusions or prerequisites (e.g., library must exist) are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_lib_symbol_modifyA
lib_Symbol.modify(symbolUuid: string, libraryUuid: string, symbolName?: string, classification?: ILIB_ClassificationIndex | Array | null, description?: string | null, otherProperty?: Record<string, boolean | number | string | undefined | null>) -> Promise
修改符号
remarks: 如希望清除某些属性,则将其的值设置为 null
returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations supplied, the description carries the behavioral disclosure burden. It does say that setting a property to null clears it and that the return value indicates success, which is genuinely useful. However, it does not state whether omitted optional parameters leave existing values unchanged, what happens on failure, or whether any permissions or active-editor context are required.
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: one signature line conveys the core API, followed by three short lines for the action, the property-clearing remark, and the return type. Every line carries necessary information 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 lack of annotations, the absence of an output schema, and the complexity of six parameters, the description provides a solid amount of information: parameter names, types, order, and one behavioral rule. Still, it omits important context for safe use, such as whether unspecified fields are preserved during modification and what valid values for classification or otherProperty look like.
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 signature adds significant meaning beyond the generic args-array schema: it lists all six parameters in official order, with types, optionality markers, and the null-clearing semantic. It also clarifies that symbolUuid and libraryUuid are required, compensating for the schema's opaque positional-array representation.
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 "修改符号" (modify symbol) and provides the full method signature, naming the resource and all editable fields. It is obvious that this tool modifies a library symbol, but it does not explicitly differentiate itself from sibling symbol tools like eda_lib_symbol_update_document_source or eda_lib_symbol_open_in_editor.
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 about when to use this tool versus alternatives, nor any exclusions or prerequisites such as requiring an existing symbol UUID or an open library. The only usage-related remark concerns clearing properties with null, not when to select this tool over a sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_lib_symbol_open_in_editorC
lib_Symbol.openInEditor(symbolUuid: string, libraryUuid: string, splitScreenId?: string) -> Promise<string | undefined> 在编辑器打开文档
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It mentions the return type (Promise<string | undefined>) but does not explain what the resolved string represents or what side effects occur (e.g., opening a new tab, focusing the editor, errors if symbol not found). The description lacks any behavioral context beyond the function call.
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 brief, consisting of a single line with the signature and a short Chinese phrase. It is not front-loaded with the most critical information, and while concise, it omits essential details. The structure does not aid comprehension; it reads more like a code snippet than a tool 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?
For an operation that opens a symbol in an editor, the description is incomplete. It does not explain the return value's meaning, whether it requires the library to be loaded, what happens if the symbol does not exist, or any interaction with the splitScreenId parameter. With no output schema and no annotations, the description should carry this burden but 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 description provides the function signature listing parameter names and types (symbolUuid, libraryUuid, splitScreenId), which adds some value over the generic args array in the schema. However, it does not explain what each parameter means, what values they expect, or how they relate to the operation. The schema's args array is opaque, 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 states '在编辑器打开文档' (open document in editor) and provides the function signature, which indicates it opens a symbol document in the editor. However, it does not clarify what a 'symbol' is in this context or what 'open in editor' entails, leaving the purpose somewhat vague beyond the tool name. It does not differentiate from sibling open_in_editor tools for other library 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?
There is no guidance on when to use this tool versus the many sibling tools like eda_lib_footprint_open_in_editor or eda_lib_cbb_open_symbol_in_editor. No context, prerequisites, or exclusions are provided. The description simply states the function without indicating appropriate usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_lib_symbol_searchC
lib_Symbol.search(key: string, libraryUuid?: string, classification?: ILIB_ClassificationIndex | Array, symbolType?: ELIB_SymbolType, itemsOfPage?: number, page?: number) -> Promise<Array> 搜索符号 returns: 搜索到的符号属性列表
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It states a search operation returning a list, implying read-only behavior, but does not explicitly disclose side effects, permission requirements, or any limitations such as pagination behavior or result ordering. The return type is mentioned but not the structure of the items.
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 raw TypeScript signature followed by a short Chinese phrase and a return note. It is not structured as a clear human-readable description; the key purpose is buried in the middle. While brief, the lack of organization and mixing of code with natural language reduces clarity and hurts front-loading of essential 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 gives the function signature and states the return type, but details about the return item structure (ILIB_SymbolSearchItem), parameter semantics, search behavior, and error handling are missing. With no output schema, an agent cannot fully understand the result format or how to construct the args correctly beyond the bare signature.
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 provides only generic args and windowId, so the description adds value by listing parameter names and types (key, libraryUuid, classification, etc.). However, it does not explain the meaning or semantics of these parameters beyond their type names, leaving ambiguity about expected values and behavior.
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 '搜索符号' (search symbols) and provides a specific function signature for lib_Symbol.search. This conveys the verb-resource pairing and distinguishes it from 'get' operations. However, it does not explicitly differentiate from sibling search functions like eda_lib_symbol_search_by_properties.
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. It does not mention conditions, prerequisites, or exclusions. The presence of multiple search tools in the sibling list makes this gap significant.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_lib_symbol_search_by_propertiesB
lib_Symbol.searchByProperties(properties: ILIB_SymbolPropertiesForSearch, libraryUuid?: string) -> Promise<Array> 使用属性精确搜索符号 returns: 搜索到的符号属性的列表
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It reveals that the search is by-properties and returns a list, but does not explicitly state that it is read-only, non-mutating, or what error/limits apply. The 'precise' qualifier is useful, but side-effect and safety characteristics are omitted.
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: a signature, a one-line Chinese purpose, and a return note. Every line carries information and there is no filler. It is not perfectly structured for an agent because the signature is mixed with prose, but it remains 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?
There is no output schema and no annotation, yet the description only names `ILIB_SymbolPropertiesForSearch` and `ILIB_SymbolSearchItem` without defining their fields. It does not explain how to represent properties in the args array, what fields are valid, or the default behavior when `libraryUuid` is omitted. An agent cannot reliably construct a correct call from 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?
The schema only describes a generic JSON args array, so the signature in the description adds real meaning: parameter names, types, order, and optionality (`libraryUuid?: string`). It also indicates the first argument is a properties object, which is essential for constructing a call. This goes beyond the sparse 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 states a specific action: search symbols by properties, with the signature `searchByProperties(properties, libraryUuid?)`. The Chinese phrase '使用属性精确搜索符号' reinforces the verb-resource relation and the 'precise' qualifier. It does not explicitly contrast with sibling `eda_lib_symbol_search`, but the name and signature make the purpose clear.
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 use this tool versus alternatives such as `eda_lib_symbol_search`, `eda_lib_footprint_search_by_properties`, or `eda_lib_device_search_by_properties`. There is no mention of when libraryUuid should be provided, what happens if omitted, or which scenarios favor this exact-property search over other search tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_lib_symbol_update_document_sourceC
lib_Symbol.updateDocumentSource(symbolUuid: string, libraryUuid: string, documentSource: string) -> Promise<boolean | undefined> 更新符号的文档源码 returns: 是否更新成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 state the return type (Promise<boolean | undefined>) and that it updates a document source, but it doesn't disclose side effects, permissions needed, whether the library must be open, or what the boolean return means beyond '是否更新成功' (whether update succeeded). It doesn't describe error behavior.
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 good, but it packs a function signature in English and a minimal Chinese statement. The return value is disclosed. It is front-loaded with the signature, but the meaning of documentSource and effect of the operation are left undescribed, so brevity cuts into 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?
With no annotations, no output schema, and only a minimal description, the tool lacks important context: the format of documentSource, whether the symbol must be in a specific library, side effects on the symbol, and what undefined return means. For a mutation tool, this is insufficient.
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% (args array described as JSON parameters array in official signature order), and the description includes the method signature with parameter names and types (symbolUuid: string, libraryUuid: string, documentSource: string). However, there is no explanation of what documentSource is or what format it should take (e.g., URL, file path, JSON), so the agent cannot determine valid 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 states a specific verb (update) and resource (symbol's document source), and identifies the method signature lib_Symbol.updateDocumentSource with parameters. It distinguishes itself from the similar sibling eda_lib_footprint_update_document_source by being symbol-specific, though it doesn't explicitly name that sibling.
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 like eda_lib_footprint_update_document_source or eda_sys_file_manager_set_document_source. The context implies it's for updating document sources of symbols in a library, but there are no explicit exclusions or alternate tool routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_document_auto_layoutC
pcb_Document.autoLayout() -> Promise 自动布局 remarks: ADD since EDA v3.2.162 returns: 自动布局结果
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 reports the return type and availability version, but does not state whether auto layout modifies the board, requires an active/open PCB document, is reversible, or how long it may take. For a mutating operation 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 extremely short and free of fluff, but it is under-specified rather than concise. It front-loads the API signature and returns type, yet spends no sentences on what auto layout actually does, making the brevity a weakness rather than a strength.
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 or output schema, this description does not provide enough context. It omits the operational context (open PCB document, active window), the nature of the result (`IPCB_AutoLayoutResult`), potential side effects, and the meaning of the `args` parameter. An agent cannot confidently invoke this tool correctly based on the 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?
Although schema description coverage is 100%, the parameter descriptions are generic boilerplate: `args` is merely 'JSON parameter array in official signature order' with no indication of what arguments `autoLayout` accepts. The description itself adds no parameter-level meaning, and the displayed method signature `autoLayout()` even suggests zero parameters, conflicting with the schema's `args` field.
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 the exact API method `pcb_Document.autoLayout()` and the Chinese term `自动布局` (auto layout), making it clear this performs automatic layout on a PCB document. It is a specific verb+resource pairing and is distinguishable by name from siblings like `eda_pcb_document_auto_routing` and `eda_sch_document_auto_layout`, though it does not explicitly call out those differences.
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 `eda_pcb_document_auto_routing`, `eda_pcb_document_import_auto_layout_json_file`, or the schematic variant. No prerequisites, preconditions, or exclusions are mentioned, so an agent must infer usage entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_document_auto_routingC
pcb_Document.autoRouting(props?: IPCB_AutoRoutingProps) -> Promise 自动布线 remarks: 如不传入任何参数,将对所有未布线的网络进行自动布线
ADD since EDA v3.2.162 returns: 自动布线结果
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 notes the default behavior (routing all unrouted nets when no params) but does not mention side effects (e.g., modifying the PCB), whether the operation is reversible, any need for prior layout, or what the result contains. This is a significant gap for a mutative 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 reasonably concise, including a signature line, a Chinese label, remarks, version info, and a returns note. However, it lacks a clear front-loading of the core action, and the structure mixes technical signature with sparse explanatory content, making it acceptable but not optimally organized.
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 (auto-routing with optional props) and lack of annotations or output schema, the description is incomplete. It does not explain what the result contains, what conditions must be met (e.g., active PCB document), how to specify which nets to route, or how this relates to the broader routing workflow. An agent would have difficulty using 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 description does not explain the IPCB_AutoRoutingProps structure or what parameters can be passed. The input schema's 'args' description is generic ('按官方签名顺序排列的JSON参数数组'), providing no semantic meaning. The only parameter-related info is the remark that omitting props routes all unrouted nets, which is a behavioral hint but not 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 action (auto routing) and the resource (PCB document) via the function signature and the Chinese phrase '自动布线'. The name itself also conveys the purpose. However, it does not explicitly differentiate from sibling tools like clear_routing or import_auto_route_json_file, relying on the name for 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 no guidance on when to use this tool versus alternatives. It only mentions the default behavior when no parameters are passed, but does not explain scenarios where auto-routing would be preferred over manual routing or importing route files, nor any prerequisites like having a PCB document open.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_document_clear_routingC
pcb_Document.clearRouting(type?: 'all' | 'net' | 'connection') -> Promise 清除布线
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It only states the return type 'Promise<boolean>' and the type parameter, but does not explain what the boolean indicates (e.g., success, whether any routing was cleared), whether the operation is irreversible, if it affects the entire board or only selected nets, or if it triggers a canvas refresh. These are significant unknowns for a mutating 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 extremely brief, consisting of the function signature and a two-word Chinese phrase. While it is concise, it is under-specified rather than appropriately concise. There is no front-loading of key information beyond the signature, and the Chinese phrase adds little. It is acceptable but not well structured for an AI agent.
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 mutating operation with no annotations and no output schema, the description is insufficient. It does not explain the effect on the design, the meaning of the return value, or how to select specific nets/connections. The agent would need to guess at the behavior and parameter formatting, making this incomplete 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?
The schema only describes an 'args' array with generic items and a 'windowId'. The description's inclusion of the function signature with the 'type' parameter and its literal values ('all' | 'net' | 'connection') provides some semantic meaning beyond the schema, but the meaning of each option and how the args array should be structured for different types is not explained. With 100% schema coverage, the baseline is 3, and the description adds a little but not enough to fully clarify parameter usage.
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 function name and the Chinese phrase '清除布线' meaning 'clear routing'. This identifies the action (clearing routing) and the target resource (the PCB document). It is distinct from sibling tools like auto_routing or import_auto_route, but does not elaborate on what 'clear' entails (e.g., removing traces, ratsnest lines) or what the scope of 'all', 'net', or 'connection' means. Still, the core purpose is clear 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?
No guidance is given about when to use this tool versus alternatives such as eda_pcb_document_auto_routing or eda_pcb_document_import_auto_route_json_file. There is no mention of prerequisites, typical use cases, or situations where this tool should not be used. The agent is left to infer when clearing routing is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_document_convert_canvas_origin_to_data_originA
pcb_Document.convertCanvasOriginToDataOrigin(x: number, y: number) -> Promise<{ x: number; y: number }> 输入画布坐标返回该坐标对应的数据坐标 remarks: 嘉立创 EDA 前端显示的坐标均为画布原点;嘉立创 EDA API 使用的均为数据原点;在创建 PCB 时,默认画布原点等于数据原点 returns: 数据原点坐标
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must fully disclose behavior. It states the input and output clearly, and the remarks clarify the coordinate system semantics, but it does not explicitly mention that the operation is read-only or side-effect free, nor does it detail error handling or edge cases. Adequate but not exhaustive.
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, front-loading the method signature and core purpose, followed by essential remarks. It avoids redundancy and each line adds 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?
The tool is a simple conversion, and the description covers the core functionality. However, it does not explain the windowId parameter's role or whether the conversion applies to the current active PCB document, which could be ambiguous for an agent. Slightly incomplete for full autonomous 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 input schema only describes args and windowId generically, but the description includes the method signature 'x: number, y: number', providing parameter names and types that add meaning beyond the schema. This is helpful 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 clearly states the function converts canvas coordinates to data coordinates with a specific verb and resource, and includes the full method signature. However, it does not explicitly differentiate itself from the sibling tool eda_pcb_document_convert_data_origin_to_canvas_origin, relying on the name to convey the direction.
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 remarks provide useful context about when canvas and data origins differ, implying when conversion is needed, but there is no explicit statement of when to use this tool versus the reverse conversion or other coordinate-related tools. The guidance is indirect.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_document_convert_data_origin_to_canvas_originA
pcb_Document.convertDataOriginToCanvasOrigin(x: number, y: number) -> Promise<{ x: number; y: number }> 输入数据坐标返回该坐标对应的画布坐标 remarks: 嘉立创 EDA 前端显示的坐标均为画布原点;嘉立创 EDA API 使用的均为数据原点;在创建 PCB 时,默认画布原点等于数据原点 returns: 画布原点坐标
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 function signature, the return type, and crucially the coordinate-system semantics (data origin vs canvas origin, and their default equality at PCB creation). For a pure, deterministic coordinate conversion with no side effects, this is a thorough behavioral disclosure. It stops short of explaining edge cases like non-linear offsets, but these are not expected for this 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 compact and well-structured: the signature is front-loaded, followed by a one-line purpose, a remarks section that explains the coordinate systems, and a returns line. There is mild redundancy between the signature and the prose, but no wasted sentences.
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 pure-conversion tool with no output schema and no nested objects, the description is essentially complete: it states the operation, the parameter types, the return value, and the coordinate-system context including the default equality behavior. The only notable omission is a pointer to the inverse conversion tool, which is minor but would aid an agent choosing between the two.
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% but the schema is generic ('args' array in signature order, 'windowId'). The description's signature 'convertDataOriginToCanvasOrigin(x: number, y: number)' reveals the actual contents of the args array — two numeric coordinates — which adds real meaning beyond what the generic schema provides. This compensates for the schema's lack of parameter detail.
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 operation: input data-origin coordinates, return the corresponding canvas coordinates ('输入数据坐标返回该坐标对应的画布坐标'). The conversion direction is explicit and matches the name. It's implicitly distinguishable from the inverse sibling (eda_pcb_document_convert_canvas_origin_to_data_origin) by stating the direction, but it never names that sibling directly, so it loses the point for 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?
The remarks provide useful context: the frontend displays canvas-origin coordinates while the API uses data-origin coordinates, and the two coincide by default at PCB creation. This implies when conversion is needed, but there is no explicit 'use this when X / use the inverse tool when Y' guidance, and no alternative tool is named. The when-context is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_document_get_calculating_ratline_statusA
pcb_Document.getCalculatingRatlineStatus() -> Promise<EPCB_DocumentRatlineCalculatingActiveStatus | undefined> 获取当前飞线计算功能状态 deprecated: since EDA v4.2 returns: 功能状态 [已弃用]
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 does disclose the Promise return type, the possibility of undefined, and deprecation status. However, it does not explicitly state that this is a read-only/side-effect-free query or describe any behavioral caveats or permissions, leaving some important context unstated.
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 front-loaded with the signature, but it duplicates the deprecation information ('deprecated: since EDA v4.2' and '[已弃用]') and repeats the return type in the 'returns' line. It is compact but not 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?
For a simple deprecated getter with no annotations or output schema, the description provides the signature, deprecation warning, and a minimal return type. It does not explain the possible values of EPCB_DocumentRatlineCalculatingActiveStatus or when undefined is returned, leaving the return semantics somewhat underspecified.
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 100%, so the baseline is 3. The description itself adds no parameter details, but the schema already documents args as an ordered JSON array and windowId as the target EDA window, so the agent can determine how to populate them.
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 method signature and a Chinese description '获取当前飞线计算功能状态' (get the current ratline calculation status), making the verb and resource explicit. It is readily distinguishable from sibling start/stop_calculating_ratline tools because it is the status getter.
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 deprecation note 'deprecated: since EDA v4.2' gives an explicit exclusion for newer versions, which is useful guidance. However, it does not name an alternative tool or explain when the tool might still be appropriate, so the when-to-use guidance is only partially complete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_document_get_canvas_originA
pcb_Document.getCanvasOrigin() -> Promise<{ offsetX: number; offsetY: number }> 获取画布原点相对于数据原点的偏移坐标 remarks: 嘉立创 EDA 专业版前端显示的坐标均为画布原点;
嘉立创 EDA 专业版 API 使用的均为数据原点;
如果返回的数据为 { canvasOriginOffsetX: 100, canvasOriginOffsetY: 200 },
则代表画布原点在数据原点的向右 100 单位且向上 200 单位的位置;
此处的单位为数据层面单位,在跨度上等同于画布层面的 mil returns: 画布原点相对于数据原点的偏移坐标
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 does not explicitly state that the tool is read-only or non-destructive, but being a 'get' operation makes that obvious. It does add valuable behavioral context: it explains the unit interpretation (data-layer units equivalent to canvas-layer mil) and the directional semantics of the offset (right and up). This goes beyond the minimal information but does not cover potential edge cases like errors or the effect of windowId.
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 structured with a function signature, a concise purpose statement, and remarks that clarify coordinate systems and units. It is front-loaded with the key purpose and then provides necessary context. The 'returns' line is somewhat redundant with the initial purpose statement, and the remarks are a bit verbose, but overall it is efficient for the conceptual complexity involved.
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 (no annotations, no output schema), the description does a good job of explaining the return object's meaning and the unit semantics, which is essential for correct usage. It does not explain error conditions or the behavior when windowId is omitted, but these are minor for a getter. The coordinate-system context is well covered, making the tool's purpose and result interpretable without 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 description coverage is 100%, with both args and windowId described in the schema. The description does not add any additional meaning to the parameters; it only explains the return value and coordinate systems. Since the schema fully documents the parameters, the baseline of 3 applies, and the description neither enhances nor detracts.
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 ('获取画布原点相对于数据原点的偏移坐标' – get the offset coordinates of canvas origin relative to data origin) and names the resource (canvas origin offset). It distinguishes itself from sibling tools by focusing on the getter semantics, while siblings like convert_canvas_origin_to_data_origin and set_canvas_origin handle conversions or setting. 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 conceptual context about the two coordinate systems (canvas origin for display, data origin for API) and explains how to interpret the returned offset, which implies when this tool is relevant for coordinate conversions. However, it does not explicitly state when to use this tool versus alternatives like the convert_* tools, nor does it mention any exclusions. The usage 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.
eda_pcb_document_get_canvas_update_calculation_statusB
pcb_Document.getCanvasUpdateCalculationStatus() -> Promise<EPCB_DocumentCanvasUpdateCalculationActiveStatus | undefined> 查询当前画布更新计算状态 remarks: 画布更新计算包括画布渲染更新、属性面板更新等
ADD since EDA v4.2 returns: 画布更新计算功能状态
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral burden. It discloses the return type (EPCB_DocumentCanvasUpdateCalculationActiveStatus | undefined) and notes that it is from a Promise. It also clarifies what the calculation includes. However, it doesn't describe what the status values mean, when undefined is returned, or whether this is a query-only operation (though 'get status' implies read-only). The behavioral disclosure is moderate.
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: about four lines of useful content, front-loaded with the main purpose, followed by a clarifying remark, version note, and return summary. It is not verbose, though the mixed-language layout is a bit fragmented and the remarks placement is somewhat arbitrary.
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 query tool with 2 parameters (one opaque args array), no output schema, and no annotations. To call it correctly, an agent would need to know what args to pass and what the output looks like. The description partially covers output (return type) and the operation scope, but the args array remains opaque, and the status values are not explained. For a query tool this is 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?
The input schema has 2 parameters: args (a generic JSON array for official signature order) and windowId (target EDA window ID). Schema coverage is 100% according to context signals. The description mentions the method signature but does not explain what args should contain for this method. Since args are undocumented items (items: {}), the description adds no concrete parameter details, and the schema itself doesn't help. The baseline for high coverage is 3, and the description doesn't push above 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 states a specific verb phrase: '查询当前画布更新计算状态' (query current canvas update calculation status), which clearly identifies the action and resource. It also provides a fallback English method signature and notes the return type. However, it does not explicitly distinguish itself from sibling tools like eda_pcb_document_start_canvas_update_calculation or eda_pcb_document_stop_canvas_update_calculation — though the action is implied to be the read counterpart.
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 notes what canvas update calculation includes (canvas rendering updates, property panel updates) via remarks, giving some context on when this status is relevant. However, it does not explicitly state when to use this tool versus alternatives, or when the returned status might be undefined. There is no exclusion guidance, but the semantics of 'get status' are understandable from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_document_get_current_filter_configurationB
pcb_Document.getCurrentFilterConfiguration() -> Promise<Record<string, any> | undefined>
获取当前画布过滤器配置
returns: 当前画布过滤器配置,undefined 为获取失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 return type (Record<string, any> | undefined) and that undefined indicates failure, which is useful. However, it doesn't state whether the operation is read-only (though implied by 'get'), mention any side effects, or describe what the filter configuration actually represents. For a simple getter this is minimal but acceptable.
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 concise, containing only the method signature, a one-line Chinese summary, and a return note. It's front-loaded with the signature and has no wasted words. The structure is flat but appropriate for such 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?
For a read-only getter with fully documented parameters, the description is mostly sufficient. It lacks an explanation of what the filter configuration contains or how it might be used, which could be helpful but isn't critical. The return type and failure semantics are covered. Overall, it's adequate but not rich.
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 100% coverage with descriptions for both parameters (args as a JSON array in official order, windowId as an optional target window). The tool description adds no extra parameter information beyond the schema, so it relies on the schema. This meets the baseline for full 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 verb (获取/get) and resource (当前画布过滤器配置/current canvas filter configuration). The PCB vs schematic distinction is implied by the method name 'pcb_Document' and the sibling schematic variant, though the description doesn't explicitly differentiate. It's specific enough for an agent to understand what it retrieves.
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 the schematic equivalent (eda_sch_document_get_current_filter_configuration) or other related getters. The agent must infer from the name and context. There's no mention of prerequisites, typical 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.
eda_pcb_document_get_primitive_at_pointB
pcb_Document.getPrimitiveAtPoint(x: number, y: number) -> Promise<IPCB_Primitive | undefined>
获取坐标点的图元
remarks: 本操作和前端鼠标点击操作类似,将会获取指定坐标点上的图元
returns: 坐标点的图元,如若坐标点无法找到图元,将返回 undefined
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 usefully discloses the click-like hit-test behavior and the undefined-return semantics when no primitive exists at the point, which goes beyond the bare name. However, it omits important behavioral context for correct PCB hit-testing: which coordinate system/units the x:y arguments use (data vs canvas origin — relevant given siblings like convert_data_origin_to_canvas_origin exist) and whether the search respects current layer or filter visibility.
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 the signature, then the purpose, remarks, and returns. It earns its place, but there is redundancy: the remarks line '获取指定坐标点上的图元' repeats essentially the same content as the primary sentence, adding little new 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?
For a low-complexity single-primitive retrieval tool, the description covers the return value adequately through the signature and the returns note. The main gap is the missing coordinate system/unit specification for x and y, which is material for a PCB document tool given that origin conversion utilities exist among siblings. No output schema exists, so the description stands alone on return-value explanation, which it handles acceptably.
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 100%, so the args array and windowId are already documented in the schema, which keeps the baseline at 3. The description adds marginal value by spelling out the x: number and y: number signature, but it does not clarify the coordinate units or origin frame, which is precisely the semantic detail an agent would need 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?
The description states a clear verb and resource: '获取坐标点的图元' (get the primitive at a coordinate point), backed by the method signature pcb_Document.getPrimitiveAtPoint(x, y). The remarks clarify it behaves like a frontend mouse click, reinforcing the single-slot hit-test semantics. It is reasonably distinct from the sibling eda_pcb_document_get_primitives_in_region by the 'at point' phrasing, though it does not explicitly call out that 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 remark '本操作和前端鼠标点击操作类似' gives implied usage context — the agent can infer this is a single-objet hit-test on a coordinate, similar to clicking. However, there is no explicit guidance on when to use this tool versus the region-based sibling get_primitives_in_region or the schematic counterpart eda_sch_document_get_primitive_at_point, and no stated exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_document_get_primitives_in_regionC
pcb_Document.getPrimitivesInRegion(left: number, right: number, top: number, bottom: number, leftToRight?: boolean) -> Promise<Array> 获取区域内所有图元 returns: 区域内所有图元
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 states it 'gets' primitives, implying a read-only operation, but it does not explicitly state that it is non-destructive, has no side effects, or any performance implications. The return type is a Promise of an array, but no details about the contents or any potential filtering behavior are given. This is a significant gap for a getter without 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 short and includes the method signature and return type, which is useful. However, it is not structured well—it mixes the signature, a Chinese phrase, and a return description in a single line. It is concise but not elegantly organized, and the Chinese text is redundant with the signature.
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 lacks essential context for an agent to use it correctly. It does not specify the coordinate system or units for left/right/top/bottom, nor what IPCB_Primitive contains. There is no mention of whether the region is inclusive/exclusive, how it relates to the canvas origin, or any prerequisites like a valid document. Given the complexity of PCB geometry, this is insufficient 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?
The input schema only defines an 'args' array with a generic description about order. The actual parameters (left, right, top, bottom, leftToRight?) are listed in the description, but their meaning is not explained. No units, coordinate system, or semantics for leftToRight are provided. The schema has 100% coverage only for the args container, not the individual parameters. The description adds minimal value beyond 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 states a specific verb and resource: it gets all primitives within a region of a PCB document. The phrase '获取区域内所有图元' clearly conveys the action. It is distinguishable from siblings like get_primitive_at_point (point vs region) and get_primitives_bbox (bounding box), though it doesn't explicitly contrast them. The purpose is clear 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. The description does not mention when to prefer it over get_primitive_at_point or other region-based queries. No exclusions or conditions are provided, 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.
eda_pcb_document_import_auto_layout_json_fileC
pcb_Document.importAutoLayoutJsonFile(autoLayoutFile: File) -> Promise 导入自动布局文件(JSON) returns: 导入操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description carries the full burden of behavioral disclosure. The signature indicates a Promise<boolean> return, but there is no mention of side effects (e.g., whether the current document is replaced or modified), error handling, or the format expectations for the JSON file. This lack of detail leaves 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 short and to the point, with no unnecessary words. The method signature line is redundant with the name and the Chinese comment, but it does not detract significantly. The front-loaded verb 'import' and resource name make it 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?
The tool appears simple (import a file and get a boolean), and the basic purpose is clear. However, given the lack of annotations, output schema, and detailed parameter information, the description omits important contextual details such as which document is targeted (via windowId), the exact file structure, and any preconditions. It is minimally sufficient but far from 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?
The description provides the official signature with parameter name and type (autoLayoutFile: File), which adds some meaning beyond the generic 'args' and 'windowId' schema fields. However, the schema's args array is untyped, and the description does not explain how to structure the File object within args or whether windowId affects operation. The schema's description coverage is high in name but low in actionable detail.
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 imports an auto-layout file in JSON format, with the verb 'import' and resource 'autoLayoutFile (JSON)' explicitly mentioned. The method signature and Chinese text reinforce the action committees taken. It is distinguishable from sibling auto-route import tools by the word 'layout' vs 'route', though this distinction is implied rather than stated.
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 similar auto-route import tools, nor are there any prerequisites mentioned (e.g., an open PCB document or required window context). The description only describes the action itself, leaving the agent to infer the appropriate usage scenario.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_document_import_auto_route_json_fileC
pcb_Document.importAutoRouteJsonFile(autoRouteFile: File) -> Promise 导入自动布线文件(JSON) returns: 导入操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits itself, but it only notes that the operation returns a boolean indicating import success. It doesn't disclose that importing modifies the current PCB document, may overwrite existing routing, or requires an open/active PCB document. The mutation and side-effect profile is left entirely implicit.
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-loads the official signature, followed by a one-line Chinese explanation of the operation and return value. It avoids unnecessary text, though the signature and the Chinese line partially repeat the tool name's obvious 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?
For a mutating import operation with no annotations and no output schema, the description is too thin. It doesn't mention side effects, prerequisites, file format details, error cases, or the relationship to sibling tools like eda_pcb_manufacture_data_get_auto_route_json_file. An agent would have to guess at the 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's args array is opaque (items: {}), so the actual parameter semantics are carried by the description's signature, which reveals autoRouteFile: File. This adds some meaning beyond the schema, though it doesn't explain how to obtain or represent the File object, requiredness, or how it maps into the args array.
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 operation: importing an auto-routing file in JSON format, and includes the official signature with the parameter name and type. It is clear enough to identify the tool's purpose, though it doesn't explicitly differentiate itself from siblings like import_auto_layout_json_file or import_auto_route_ses_file beyond the file type.
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 its alternatives. The description only gives the operation signature and return meaning; it does not mention when importing an auto-route JSON is appropriate, what prerequisites exist, or how it compares to the auto-layout JSON or SES import siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_document_import_auto_route_ses_fileC
pcb_Document.importAutoRouteSesFile(autoRouteFile: File) -> Promise 导入自动布线文件(SES) returns: 导入操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 states that it imports a file and returns a boolean. It does not disclose whether the import is destructive, whether it replaces existing routing, whether a specific document must be active, or what happens to the current design. For a mutation operation, this is a significant transparency 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 very concise, consisting of a signature line and a brief Chinese description plus return type. There is no fluff or redundant information. It is appropriately short for a simple import operation, and the key 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?
For a tool that modifies a PCB document by importing a routing file, the description is incomplete. It does not mention any required preconditions (e.g., an open PCB document), what happens to existing routes, or how to obtain the SES file. The return value is stated, but the operational context is missing, leaving the agent to guess about side effects and prerequisites.
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 includes the signature line showing the parameter 'autoRouteFile: File', which adds a bit of semantic meaning beyond the generic schema. However, the schema's args array is not explained in detail, and the description does not elaborate on what the file must contain or how it should be provided. Since schema coverage is 100% but the schema descriptions are generic, the added value is marginal.
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 'import' and the resource 'auto-routing file (SES)' clearly. The name itself includes 'ses_file', and the Chinese text explicitly says it imports an SES auto-routing file. It does not explicitly contrast with siblings like the JSON import tools, but 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?
No guidance is given on when to use this tool versus its siblings (e.g., eda_pcb_document_import_auto_route_json_file or eda_pcb_document_import_auto_layout_json_file). There is no mention of prerequisites, document context, or alternatives, so the agent gets no help in selecting this tool over others.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_document_import_changesC
pcb_Document.importChanges(uuid?: string) -> Promise
从原理图导入变更
returns: 导入操作是否成功,导入失败或未传入原理图 UUID 的游离 PCB 将返回 false
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 does reveal a return behavior (returns false if import fails or if PCB is 'orphaned' without a schematic UUID) and implies the operation is a mutation (imports changes). However, it doesn't disclose whether the operation is destructive, requires user confirmation, updates the PCB document automatically, or whether it is reversible. The description does not contradict anything, but it is thin.
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--three lines--and front-loads the function signature and purpose. The return semantics are useful. It could be more structured (e.g., separating the Chinese description from the signature), but it is efficiently sized and doesn't waste 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 mutation tool with no annotations and no output schema, the description should explain more about what 'import changes' means, what happens on success/failure beyond the boolean, and how the optional uuid relates to the current PCB document (e.g., what happens if no uuid and no current schematic association). The return value is documented but the high-level context 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?
Schema description coverage is 100% (both windowId and args are described in the schema, though args is a generic array that needs format). The description does mention the optional uuid parameter in the signature, which adds semantics beyond the schema--it identifies that the schematic UUID is the input to the importChanges function. However, the description does not explain how args should be constructed or how windowId interacts, so it only modestly 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 states 'import changes from schematic' (从原理图导入变更), which identifies the action and resource domain, but does not specify what type of changes are imported (netlist? design changes? annotation changes?) or what the resulting effect is on the PCB document. It also doesn't clarify distinction from the sibling tool eda_sch_document_import_changes, whose name mirrors this one (though the domain differs: pcb vs sch).
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. It implies it is for importing changes from a schematic into a PCB, but doesn't contrast with eda_sch_document_import_changes or the netlist-related tools like eda_pcb_net_set_netlist, nor does it mention any prerequisites (e.g., having a linked schematic, having the PCB document active).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_document_saveA
pcb_Document.save() -> Promise
保存文档
returns: 保存操作是否成功,保存失败、上传失败等错误均返回 false
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It does disclose the return type (Promise<boolean>) and the important error behavior that save/upload failures all return false. However, it does not mention persistence side effects, overwrite behavior, or any impact on the editor state.
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 lines with no filler: signature, one-line purpose, and return semantics. It is front-loaded with the most identifying information and every line 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 simple save operation, the description covers the return contract and errors, but it omits context about which document is saved, how windowId affects behavior, and when this tool should be preferred over document save variants. It is minimally viable 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 coverage is high (100%), and the schema already describes args as a positional array and windowId as an optional target. The description adds no parameter-level meaning, though the save() signature implies there may be no meaningful named arguments. This meets the baseline for schema-covered 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 ('保存文档' / save document) and the target resource (pcb_Document), with the code signature 'pcb_Document.save()'. The 'pcb' prefix distinguishes it from sibling save tools like eda_sch_document_save and eda_pnl_document_save.
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 use this tool versus alternatives such as eda_sch_document_save or eda_pnl_document_save. There are no exclusions, prerequisites, or context cues beyond the implied action of saving a PCB document.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_document_set_canvas_originA
pcb_Document.setCanvasOrigin(offsetX: number, offsetY: number) -> Promise 设置画布原点相对于数据原点的偏移坐标 remarks: 嘉立创 EDA 专业版前端显示的坐标均为画布原点;
嘉立创 EDA 专业版 API 使用的均为数据原点;
如果希望在 API 操作时前端画布坐标能与数据一致,
建议调用本方法并设置偏移量为零,
即 setCanvasOrigin(0, 0);
此处的单位为数据层面单位,在跨度上等同于画布层面的 mil returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 effect (sets offset), the return type (boolean), and the unit (data-level units equivalent to mil). However, it doesn't mention side effects such as whether existing canvas coordinates are immediately affected, or whether a document must be open. For a simple setter this is acceptable but not exhaustive.
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 the signature, then provides concise remarks. Each sentence adds value: coordinate system explanation, use-case recommendation, and unit clarification. No redundancy or fluff, though it could be more structured with separate sections for signature and remarks.
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 setter tool, the description covers the key aspects: what it does, when to use it, units, and return type. It doesn't mention prerequisites like active document or error handling, but these are common to the tool family and not critical for correct invocation. The description is sufficient for an agent to understand and call the tool appropriately.
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 only describes generic wrapper parameters (args array, windowId). The description provides the actual signature with offsetX and offsetY, explaining they are offsets relative to data origin and giving unit context. This adds meaning far beyond the schema's 'JSON参数数组' placeholder, though it doesn't describe range or typical values beyond the zero recommendation.
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 ('set') and resource ('canvas origin offset relative to data origin') with a clear method signature. It distinguishes the tool from siblings like get_canvas_origin by explaining the canvas vs. data coordinate systems, which clarifies exactly what this tool modifies.
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 clear context about when to use it: when API operations need to match front-end canvas coordinates, recommend setting offset to zero. It explains the two coordinate systems, which helps an agent decide when this tool is appropriate. However, it doesn't explicitly mention alternatives like get_canvas_origin or conversion tools for reading/transforming coordinates, so it stops short of full 'when-not' guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_document_start_calculating_ratlineC
pcb_Document.startCalculatingRatline() -> Promise 启动飞线计算功能 deprecated: since EDA v4.2 remarks: 在启动时将会触发一次飞线计算 returns: 操作是否成功 [已弃用]
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral burden. It states that '在启动时将会触发一次飞线计算' (will trigger a ratline calculation on startup) and the return type, but it omits side effects, prerequisites, or consequences of calling it on an already-active calculation. Minimal 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 concise but somewhat cluttered: it repeats the function name in the signature, includes mixed-language notes, and places the deprecation warning at the end. It's structured with labels (deprecated, remarks, returns) but could be more front-loaded with the deprecation notice.
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 no output schema, the description should cover usage context. It notes deprecation and the startup trigger, but doesn't explain what ratline calculation is, why it's deprecated, or what to use instead. An agent might not know when this tool is appropriate, making 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?
The input schema provides 100% coverage for the two parameters (args and windowId) with generic descriptions. The tool description adds no additional parameter explanation beyond the schema, so it stays at the baseline of 3.
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: '启动飞线计算功能' (starts the ratline calculation feature). The function signature confirms it's a start operation. It distinguishes itself from siblings like stop_calculating_ratline and get_calculating_ratline_status by the verb 'start' and the deprecation note, so purpose is clear.
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 vs alternatives. It mentions deprecation but doesn't suggest a replacement or explain under what conditions the tool should be invoked. There's no 'use X instead' or explicit when-not-to-use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_document_start_canvas_update_calculationC
pcb_Document.startCanvasUpdateCalculation() -> Promise 开始画布更新计算 remarks: 画布更新计算包括画布渲染更新、属性面板更新等
如若不理解该开关的含义,请勿调用本接口进行任何操作
ADD since EDA v4.2 returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 explains that the calculation includes rendering and property panel updates and warns against misuse, but it does not state side effects, whether the operation is idempotent, what happens if called while already active, or any performance 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 concise, front-loaded with the function signature and return type, followed by a short explanation and warning. It has a minor redundancy with the tool name, but every sentence contributes to the 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?
For a state-changing operation with no annotations and no output schema, the description is incomplete. It lacks guidance on prerequisites, exact effects, when to use it, and what the boolean return value signifies. The vague warning adds caution but not actionable 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 input schema covers 100% of parameters (args array and windowId) with descriptions. The description adds no additional parameter information, so the baseline of 3 applies.
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 'start' and resource 'canvas update calculation', with a Chinese translation and a remark explaining that it includes rendering and property panel updates. It distinguishes itself from the sibling 'stop_canvas_update_calculation' and 'get_canvas_update_calculation_status', though it is less differentiated from 'trigger_canvas_update_calculation'.
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 stop/trigger/get-status siblings. The warning 'if you do not understand the meaning of this switch, do not call this interface' implies caution but does not offer any concrete usage conditions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_document_stop_calculating_ratlineB
pcb_Document.stopCalculatingRatline() -> Promise 停止飞线计算功能 deprecated: since EDA v4.2 returns: 操作是否成功 [已弃用]
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility. It states the return type (boolean) and deprecation, but does not explain side effects, prerequisites, or behavior when no calculation is in progress. It lacks critical behavioral context 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 but contains redundancy: the deprecation is mentioned twice ('deprecated' and '[已弃用]'), and the signature line may be redundant with the tool name. It could be more efficient without losing 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?
There is no output schema, so the description must explain return values; it says returns boolean (success). However, it does not cover when to call, what happens if no calculation is running, or any side effects. For a deprecated stop action, this is insufficient.
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% for both parameters (args and windowId). The description adds no additional parameter details beyond the schema, so it does not compensate for any gaps. Baseline of 3 is appropriate.
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 'stop' and resource 'ratline calculation', and includes the deprecation note. It differentiates from the sibling start_calculating_ratline. 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 guidance on when to use this tool vs alternatives. It only notes deprecation, which implies it should not be used, but does not explicitly recommend an alternative or explain under what conditions it is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_document_stop_canvas_update_calculationB
pcb_Document.stopCanvasUpdateCalculation() -> Promise 停止画布更新计算 remarks: 画布更新计算包括画布渲染更新、属性面板更新等
如若不理解该开关的含义,请勿调用本接口进行任何操作
ADD since EDA v4.2 returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 explains that stopping the update calculation halts canvas rendering and property panel updates, and warns that misuse could have unintended consequences. This gives the agent meaningful insight into the side effects, though it doesn't explicitly state that updates remain stopped until a corresponding start call.
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 well-organized: signature, brief explanation, clarifying remark, a strong warning, version, and return type. Each sentence earns its place with no redundant filler. A perfect score would require a bit more structural punctuation or clearer separation, but it is already 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 states the effect (stops canvas updates), the return type, and a warning, which is reasonably informative for a simple toggle. However, it does not mention that the tool is part of a pair (with start_canvas_update_calculation) or that stopping is a persistent state change, which would help the agent reason about sequencing. Given no annotations and no output schema, this leaves 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 function signature indicates zero parameters, and the schema's args/windowId are generic plumbing fields already fully described in the schema (100% coverage). The description adds no parameter-specific meaning, but since there are no function-specific parameters, the baseline score of 3 is appropriate.
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 ('stop') and the resource ('canvas update calculation') specific to the PCB document. It enumerates what the update calculation includes (canvas rendering, property panel updates), which further clarifies the scope. However, it does not explicitly differentiate from sibling tools like 'start_canvas_update_calculation' or 'trigger_canvas_update_calculation', so it falls short of 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?
No guidance is provided on when to invoke this tool versus its siblings (start, trigger, get status). The only instruction is a warning not to call it unless the switch's meaning is understood, but this is a caution, not a usage criterion. There is no mention of scenarios where stopping updates is appropriate or alternatives to prefer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_document_trigger_canvas_update_calculationC
pcb_Document.triggerCanvasUpdateCalculation() -> Promise 触发一次画布更新计算 remarks: 画布更新计算包括画布渲染更新、属性面板更新等
如若不理解该开关的含义,请勿调用本接口进行任何操作
ADD since EDA v4.2 returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, so description carries the full burden. It states the effect (trigger update) and returns a boolean, but does not disclose side effects, async behavior, reversibility, or failure conditions. The warning hints that misuse is possible but does not specify 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?
Concise and structured: signature, purpose, remarks, warning, version info, and return type are all present. Some redundancy (repeating signature in prose) but overall efficient. The caution is clearly highlighted.
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 trigger tool, key context is missing: when to call it, how it relates to start/stop/get status siblings, and any prerequisites. The warning suggests caution but does not provide the necessary context for 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 coverage is 100%, so the schema documents parameters. However, the description adds no extra meaning beyond the schema. It even shows a signature with no parameters, while the schema defines 'args' and 'windowId' without explanation of how to fill them.
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 a specific action: 'trigger a canvas update calculation' and clarifies what it includes (rendering, property panel updates). It gives the signature and return type. However, it does not explicitly distinguish itself from sibling tools like start/stop/get status, though the name 'trigger' implies a one-time 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?
No guidance on when to use this tool instead of alternatives. The warning 'if you do not understand the meaning of this switch, do not call this interface' is a caution but not a usage directive. It lacks context on prerequisites, scenarios, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_document_zoom_to_board_outlineC
pcb_Document.zoomToBoardOutline() -> Promise 缩放到板框(适应板框) returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 only states the action and return type (boolean), but does not disclose side effects (e.g., changes viewport), dependencies (requires an active PCB document), or error conditions. It doesn't contradict annotations since there are none, but it severely under-reports behavioral impact.
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 brief, a few lines, and front-loads the core action and purpose. The inclusion of the return type is useful but not elaborated. No unnecessary sentences, though it could be more structured with clear sections for purpose and usage.
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 (no arguments, no output schema), the description might be sufficient for basic use, but it lacks critical context: it doesn't mention that it operates on the active PCB document by default, doesn't explain the args array (since it seems to have no parameters), and doesn't state any prerequisites. The return boolean is mentioned but not what true/false indicates beyond 'success'.
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%, so the schema already documents both parameters: args (arbitrary array) and windowId. The description adds no meaning beyond the schema; it doesn't explain what arguments are needed for this specific tool or how to specify the target document. Baseline 3 is appropriate as the schema covers parameter names but not 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 identifies the tool as zooming the PCB document to fit its board outline, with a specific verb and resource. It distinguishes from siblings like zoom_to, zoom_to_region, and zoom_to_all_primitives by naming the specific target (board outline), though it doesn't explicitly list related 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?
There is no guidance on when to use this zoom-to-board-outline tool versus other zoom tools such as zoom_to_region or zoom_to_all_primitives. The description merely states the action without any context like 'Use when you need to see the entire board' or exclusions for other zoom functions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_drc_add_net_to_equal_length_net_groupB
pcb_Drc.addNetToEqualLengthNetGroup(equalLengthNetGroupName: string, net: string | Array) -> Promise 将网络添加到等长网络组 returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description must carry the full behavioral burden. It discloses that the function returns a Promise<boolean> indicating success, but does not mention failure behavior, side effects, net identifier semantics, or whether the operation is idempotent. This is a mutation tool with no safety metadata, so the disclosure is thin.
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 includes the signature, a one-line purpose statement, and the return semantics. There is little wasted text, though the Chinese phrase largely restates the tool name; the structure is still compact and scannable.
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, no output schema, and a generic args schema, this description is incomplete. An agent would not know whether the group must exist, what net identifiers look like, what happens on failure, or how this relates to the many sibling DRC group tools. The return type is stated, but critical 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?
The schema's args array is generic ('JSON parameter array'), so the description adds real value by specifying the two parameters in order: equalLengthNetGroupName as string and net as string or Array<string>. It also shows the calling signature, which is essential for correctly constructing the args array.
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 verb and resource: 'addNetToEqualLengthNetGroup' and '将网络添加到等长网络组' both describe adding a net to an equal-length net group. It does not explicitly differentiate from sibling tools like add_net_to_net_class, but the resource is specific enough that an agent can infer the 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?
There is no guidance on when to use this tool versus alternatives, nor any mention of prerequisites such as the group needing to already exist. It does not reference sibling operations like create_equal_length_net_group or remove_net_from_equal_length_net_group, so an agent gets no usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_drc_add_net_to_net_classC
pcb_Drc.addNetToNetClass(netClassName: string, net: string | Array) -> Promise 将网络添加到网络类 returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 mentions the return type (Promise<boolean>) and says 'returns: 操作是否成功' (operation success), but nothing about side effects, required permissions, reversibility, or any impact on existing configurations. For a mutation operation, 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 very short and to the point, consisting of the signature and a one-line Chinese phrase. It is not verbose and avoids unnecessary fluff, though it could be structured better with more 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 mutation tool with no annotations and no output schema, the description is insufficient. It provides the return type but lacks any behavioral context, usage scenarios, or interaction with other tools. An agent cannot fully understand the implications of calling this tool 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?
The description includes the function signature with parameter names and types (netClassName: string, net: string | Array<string>), which adds meaning beyond the generic input schema that only lists 'args' and 'windowId'. However, it does not explain what a net class is, what valid net names are, or any constraints on the parameters, so it only partially compensates for the lack of detailed 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 the action '将网络添加到网络类' (add net to net class) which is clear but essentially restates the tool name. It does not distinguish this from sibling tools like eda_pcb_drc_add_net_to_equal_length_net_group or eda_pcb_drc_add_pad_pair_to_pad_pair_group. It lacks any specifics about the nature of the operation beyond the basic action.
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 mention of prerequisites, when it is appropriate, or when to avoid it. The description provides no context for selection among the many DRC-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_drc_add_pad_pair_to_pad_pair_groupC
pcb_Drc.addPadPairToPadPairGroup(padPairGroupName: string, padPair: [string, string] | Array<[string, string]>) -> Promise 将焊盘对添加到焊盘对组 returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 behavioral burden. It indicates a mutation and returns a boolean, but does not disclose failure conditions (e.g., non-existent group, invalid pad pair), whether the operation is idempotent, or side effects. This is a minimal disclosure that leaves important behavior unaddressed.
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 concise, with a single-line signature and a one-line Chinese description plus return type. It is efficient with no wasted words, though the Chinese description repeats the signature's intent.
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 and no output schema, the description is incomplete. It omits prerequisites, error handling, and the meaning of the parameters, which an agent would need to use it reliably. The return type is specified but nothing else contextual.
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's args items are empty, so schema coverage is effectively zero for actual parameters. The description compensates by listing the parameter names and types (padPairGroupName: string, padPair: [string, string] | Array<[string, string]>), but it does not explain what the two strings represent or how to specify a pad pair. It adds some value but not full semantic clarity.
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 verb and resource: '将焊盘对添加到焊盘对组' (add pad pair to pad pair group), which matches the function signature. It is specific enough to distinguish from siblings like remove_pad_pair_from_pad_pair_group, though it does not explicitly differentiate from other add 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?
No guidance is given on when to use this tool versus alternatives such as create_pad_pair_group or remove_pad_pair_from_pad_pair_group. There are no prerequisites (e.g., group must exist) or context about when this operation is appropriate, leaving the agent to infer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_drc_checkC
pcb_Drc.check(strict: boolean, userInterface: boolean, includeVerboseError: false) -> Promise 检查 DRC returns: DRC 检查是否通过
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose side effects, such as whether it modifies the board, opens a UI (though the userInterface parameter suggests it might), or requires permissions. It only states the return type. For a check operation, it likely has no destructive side effects, but this is 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 extremely short, containing only the signature and a two-word purpose. It is concise and wastes no words, but it is also minimal. It does include the return type, which is 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 with no annotations and no output schema, the description is incomplete. It does not explain the meaning of the parameters, potential side effects (like opening a UI), or how to interpret the boolean result beyond 'pass/fail'. It also does not mention any requirements like an open PCB document.
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 describes the top-level arguments array and windowId, but not the meaning of the parameters within the args array. The description provides the signature (strict, userInterface, includeVerboseError) but does not explain what these parameters do or their expected formats. Schema coverage is 100% for the two properties, but the description adds only the parameter names, not 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 states '检查 DRC' (check DRC) and provides the function signature, making it clear this tool performs a design rule check on the PCB. It is distinguished from the schematic DRC check (eda_sch_drc_check) by the pcb prefix, and from other pcb_drc tools that query or modify rules. However, it lacks elaboration on what the check entails, so it is clear but minimal.
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 eda_pcb_drc_get_real_time_drc_status or starting real-time DRC. It does not mention prerequisites like having a board open or whether it should be used before manufacturing. The description only states what it does, not when to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_drc_create_differential_pairB
pcb_Drc.createDifferentialPair(differentialPairName: string, positiveNet: string, negativeNet: string) -> Promise 创建差分对 returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden of disclosing behavior. It only states the signature and 'returns: 操作是否成功', clarifying the return type but not side effects, failure behavior, whether existing pairs are overwritten, or what happens if the nets do not exist. For a mutating operation this is minimal 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 and efficient: a signature line followed by a one-line Chinese explanation and a return-value note. There is no filler, and the key information is front-loaded. Every sentence contributes useful 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?
For a mutating tool with no annotations and no output schema, the description is incomplete. It gives inputs and the success boolean but omits prerequisites, error semantics, DRC context, and what state changes occur. An agent could invoke it with correct parameter names but would not know how to handle failure or preconditions.
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 only provides a generic 'args' array description, so the signature in the description adds real value by naming the three parameters and their types in order: differentialPairName, positiveNet, negativeNet. It does not explain semantic constraints such as uniqueness of the pair name or that the nets must already exist, but it is sufficient to construct a basic call.
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 '创建差分对' and includes the full method signature pcb_Drc.createDifferentialPair(differentialPairName, positiveNet, negativeNet), which clearly identifies the action as creating a differential pair. The resource and verb are specific, and the tool name distinguishes it from sibling DRC creation tools. It does not explicitly contrast with siblings, but the operation 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?
No guidance is provided about when to use this tool versus related tools like create_net_class, create_equal_length_net_group, or create_pad_pair_group. There is no mention of prerequisites such as an open PCB document or existing nets, nor any exclusion conditions. The agent must infer usage entirely from the name and signature.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_drc_create_equal_length_net_groupC
pcb_Drc.createEqualLengthNetGroup(equalLengthNetGroupName: string, nets: Array, color: IPCB_EqualLengthNetGroupItem['color']) -> Promise 创建等长网络组 returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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. It does state that the method returns a Promise<boolean> and indicates success (操作是否成功), which is basic transparency. However, it omits potential side effects, such as overwriting an existing group with the same name, dependency on an active DRC rule configuration, or failure conditions when nets are invalid. The description is too sparse 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 extremely concise: a single signature line, a one-line purpose, and a return-value note. It is front-loaded with the signature and minimal fluff, which earns points for conciseness. The structure is straightforward and avoids redundancy, though it could benefit from a bit more explanatory content 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?
The description lacks essential operational context for correct invocation. It does not state how nets are identified, whether the tool requires an active DRC rule configuration, what happens if the group name already exists, or what the boolean return truly signifies beyond basic success. Given the surrounding sibling tools and the domain complexity, this is insufficient for an agent to reliably call the tool without external knowledge. A more complete description would elaborate on prerequisites, parameter semantics, and potential failure modes.
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 the method signature with parameter types (equalLengthNetGroupName: string, nets: Array<string>, color), which adds some semantics beyond the opaque `args` array in the schema. However, it does not explain the meaning of each parameter, such as what `nets` should contain (net names or IDs), the expected format of `color`, or whether the color is mandatory. With 100% schema coverage but only a generic args description, the added parameter info is limited but helpful.
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 it creates an equal-length net group (创建等长网络组) and includes the method signature with the resource (equal-length net group) and verb (create). It is specific enough to distinguish from other DRC create operations (e.g., create_differential_pair, create_net_class) by name and description, though it does not explicitly call out sibling 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 versus related operations like add_net_to_equal_length_net_group, modify_equal_length_net_group_name, or delete_equal_length_net_group. No prerequisites, constraints, or alternative recommendations 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.
eda_pcb_drc_create_net_classC
pcb_Drc.createNetClass(netClassName: string, nets: Array, color: IPCB_EqualLengthNetGroupItem['color']) -> Promise 创建网络类 returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 indicates the operation is a creation ('创建') and returns a boolean for success, but it does not disclose side effects (e.g., what happens if the net class already exists), permissions required, whether the operation is reversible, or whether it modifies the current rule configuration. For a mutation tool with zero annotation coverage, 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 concise and front-loaded with the signature, which is useful. It is not bloated, but it is under-specified—it reads as a raw API signature dump with a Chinese comment and return type, rather than a crafted explanation. The structure is minimal but not disorganized, so it earns a mid score.
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 (multiple parameters, mutation operation) and the lack of annotations and output schema, the description is incomplete. It does not explain what a net class is, how color is represented, what nets should be provided, whether existing classes are overwritten, or what the boolean return value implies in edge cases. An agent would need external documentation to invoke this tool correctly and 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?
The input schema only exposes generic 'args' and 'windowId' fields, so the actual parameters are not individually documented in the schema. The description compensates by including the raw signature (netClassName: string, nets: Array<string>, color: ...), which conveys parameter order and types. However, it does not explain the meaning of 'nets' (e.g., net names) or the expected color format, so parameter semantics remain partially underspecified.
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 specific verb and resource: '创建网络类' (create net class) along with a function signature. This clearly identifies the operation as creating a new net class, and the sibling tools like eda_pcb_drc_add_net_to_net_class or eda_pcb_drc_delete_net_class are distinguishable by name. However, the description does not explicitly contrast it with these siblings, so it doesn't fully differentiate behavior—only the tool name 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 provides no guidance on when to use this tool versus alternatives. It does not mention that this creates a new net class while eda_pcb_drc_add_net_to_net_class adds nets to an existing one, nor does it state prerequisites such as an active PCB document. There is no context about when this is the appropriate choice among the many DRC tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_drc_create_pad_pair_groupC
pcb_Drc.createPadPairGroup(padPairGroupName: string, padPairs: Array<[string, string]>) -> Promise 创建焊盘对组 returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 states the return type (Promise<boolean>) and 'returns: 操作是否成功', but does not explain side effects (e.g., whether it overwrites an existing group), uniqueness constraints, or failure conditions. This is minimal 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 very short and front-loaded with the signature, which is efficient. It lacks structured sections but for a simple tool, brevity is acceptable. Every line adds something (signature, Chinese description, return type).
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 agent to correctly call this tool, it needs to know how to specify pad pairs (the format and meaning of the strings) and any preconditions (e.g., group name must be unique, pairs must reference valid pads). The description provides none of this, and the schema offers only a generic args array. Given the complexity of the parameter structure, 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 description includes the function signature with parameter names and types (padPairGroupName: string, padPairs: Array<[string, string]>), which is more informative than the generic args array in the schema. However, it does not clarify what the string pair represents (e.g., pad identifiers, net names) or any constraints. It adds basic type info but not deep 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 states the operation clearly: '创建焊盘对组' (create pad pair group) with the function signature. The name and description together identify the resource and action. However, it does not explicitly differentiate from siblings like eda_pcb_drc_add_pad_pair_to_pad_pair_group, though the intent is inferable from 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 given on when to use this tool versus alternatives. It does not mention that this creates a new group as opposed to adding to an existing one, nor any prerequisites or context. An agent is left 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.
eda_pcb_drc_delete_differential_pairC
pcb_Drc.deleteDifferentialPair(differentialPairName: string) -> Promise 删除差分对 returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 merely states the operation and return type, but does not disclose that deletion is irreversible, whether it may fail if the pair is in use, or any other side effects. The destructive nature is implied but not explicitly 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 very brief—a signature line and a one-line Chinese description plus return type. It is concise and immediately scannable, though the mixture of English signature and Chinese description could reduce clarity for non-Chinese readers.
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 this is a destructive delete operation within DRC configuration accordion, with no output schema or annotations, the description is incomplete. An agent lacks information about error handling, whether deletion is permanent, preconditions, and how the boolean result maps to outcomes. The minimal info may be sufficient for a trivial helper, but not for a delete operation.
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 covers both wrapper parameters (args, windowId) with generic descriptionsret, so schema coverage is 100% but for generic containers. The description adds the actual parameter name and type (differentialPairName: string) via the signature, which provides some meaning beyond the raw schema, though it does not explain required format or how to locate the pair.
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: delete a differential pair, via both the function signature 'deleteDifferentialPair' and the Chinese '删除差分对'. It is unambiguous as to the resource and operation, though it does not explicitly contrast with sibling tools like delete_net_class, the specific resource is 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 provides no guidance on when to use this tool versus alternatives, nor any prerequisites (e.g., the differential pair must exist, or that this is part of DRC setup). It only shows a function signature and return type, leaving the agent to infer usage context from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_drc_delete_equal_length_net_groupB
pcb_Drc.deleteEqualLengthNetGroup(equalLengthNetGroupName: string) -> Promise 删除等长网络组 returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It reveals the return type Promise<boolean> and that the return indicates success, but it does not mention that deletion is irreversible, what happens if the named group does not exist, or whether deleting the group affects the nets it contains. For a destructive operation, this is a significant transparency 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 with the function signature, followed by a short Chinese action phrase and return semantics. Every line conveys relevant information with no fluff, though it is sparse enough that a bit more behavioral context would be welcome.
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 invocation details: the parameter to pass and the boolean return meaning. However, with no output schema and no annotations, it omits context such as how to obtain valid group names, error behavior, and the full consequences of deletion. It is minimally viable but not complete for a destructive operation.
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 only describes args as a JSON array in official signature order, without naming the items. The description compensates by providing the full signature equalLengthNetGroupName: string, telling the agent exactly what value belongs in the args array. This adds essential meaning beyond the generic 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 the verb 'delete' and the resource 'equal length net group' both in the signature and in Chinese (删除等长网络组), making the operation unmistakable. It also includes the parameter name equalLengthNetGroupName, which distinguishes it from sibling tools that create, modify, get, or add nets to equal-length net groups.
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. Sibling tools such as eda_pcb_drc_create_equal_length_net_group, eda_pcb_drc_modify_equal_length_net_group_name, or eda_pcb_drc_remove_net_from_equal_length_net_group exist, but the description does not mention how delete differs from them or when it is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_drc_delete_net_classC
pcb_Drc.deleteNetClass(netClassName: string) -> Promise 删除网络类 returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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. It only notes the return type (boolean) but does not disclose whether deletion is permanent, whether it cascades to nets assigned to the class, or what happens if the class does not exist. This is a significant gap 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 very short and front-loaded with the signature and purpose. It wastes no words, though the Chinese phrasing is minimal. Conciseness is appropriate for a simple 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 no annotations and no output schema, the description is incomplete. It omits side effects, error behavior, and any conditions required for successful deletion. An agent lacks the context to predict the outcome or handle failure cases, making it insufficient for a destructive operation.
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 the parameter name and type (netClassName: string) via the signature, which the schema does not detail (args is an untyped array). It does not elaborate on the meaning or constraints of the parameter, but the name is self-explanatory. Schema coverage is low, so this partial compensation is average.
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 '删除网络类' (delete net class) and provides the method signature, making the tool's purpose explicit. It is distinct from sibling tools that create, modify, or query net classes, though it relies on the name to convey this.
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 on when to use this tool versus alternatives like create_net_class or modify_net_class_name. The description does not mention prerequisites, conditions, or exclusions, 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.
eda_pcb_drc_delete_pad_pair_groupB
pcb_Drc.deletePadPairGroup(padPairGroupName: string) -> Promise 删除焊盘对组 returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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, but it only reveals the return type (Promise<boolean>) and success semantics. It does not state that deletion is permanent, what happens to pad pairs inside the group, or any error conditions, which is a significant gap 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 short lines—signature, Chinese meaning, and return semantics—with no filler or redundancy. It is front-loaded and 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?
For a simple one-parameter delete operation, the signature, parameter type, and return value provide a viable minimum. However, it omits important context such as how to obtain a valid padPairGroupName, whether deletion is reversible, and side effects on contained pad pairs; with no output schema or annotations, this is adequate but not 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's args items are generic/empty, but the description's signature adds the actual parameter name and type (padPairGroupName: string), meaningfully supplementing the generic 'JSON parameter array' description. The top-level windowId and args order are already documented in the schema, so the addition is targeted and useful.
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 operation via the function signature pcb_Drc.deletePadPairGroup and the Chinese '删除焊盘对组' ('delete pad pair group'), identifying both the action and the resource. It does not explicitly differentiate from sibling DRC delete tools, but the target resource 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?
There is no when-to-use or alternative guidance. The description only restates the operation itself and never mentions prerequisites, such as the group needing to exist, or how to discover valid group names via sibling tools like eda_pcb_drc_get_all_pad_pair_groups.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_drc_delete_rule_configurationA
pcb_Drc.deleteRuleConfiguration(configurationName: string) -> Promise 删除设计规则配置 remarks: 系统配置不允许删除 returns: 删除是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 return type (boolean), that the operation deletes a configuration, and that system configurations are not allowed to be deleted. However, it does not clarify what happens when deletion fails, whether successful deletion is irreversible, or how attempts to delete system configurations are handled.
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: signature, one-line purpose, an important restriction, and return type. Every line earns its place without redundant 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 delete operation with one meaningful parameter, the description covers the essential behavior, the key restriction, and the return value. It does not need to explain the output schema since none exists, though it could be slightly more explicit about argument array construction and error 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?
The input schema only provides a generic args array and windowId field. The description adds the actual signature, revealing the required `configurationName: string` parameter and its type. This is meaningful beyond the schema, though it does not elaborate on the meaning of 'configurationName' beyond what the name already implies.
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') on a specific resource ('design rule configuration') via the method signature and the Chinese one-liner. This clearly distinguishes it from sibling DRC tools that delete net classes, differential pairs, or other rule-related objects.
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 alternatives or when-to-use guidance is given, but the delete-on-rule-configuration intent is strongly implied by the name and description. The remark that system configurations cannot be deleted provides a useful boundary, though it does not explain when to prefer this over other DRC modification tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_drc_get_all_differential_pairsB
pcb_Drc.getAllDifferentialPairs() -> Promise<Array | Record<string, any>> 获取所有差分对的详细属性 remarks: BREAKING CHANGE since EDA v3.4
返回值类型更改为对象 returns: 所有差分对的详细属性
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 does disclose a useful behavioral trait: a BREAKING CHANGE since EDA v3.4 where the return value type changed to an object, plus the return type signature. However, it doesn't go further (no error behavior, performance notes, or scope caveats). The breaking-change remark adds genuine value 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 short but contains redundancy: the phrase '获取所有差分对的详细属性' appears twice (in the main text and in the returns field). It is not front-loaded in a broadly accessible way (primarily Chinese), and the technical signature plus remarks could be better 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?
With no annotations and no output schema, the description must carry the full context for a read-only getter. It covers the return type via the signature and the version-dependent breaking change, which is reasonably complete for a simple get-all tool. Gaps remain: it doesn't elaborate on the breaking change impact (how the new object form differs) or any operational context for the 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?
Schema coverage is 100%, so the baseline is 3. The signature 'pcb_Drc.getAllDifferentialPairs()' implies zero arguments, which does add slight meaning to the opaque 'args' array parameter (suggesting an empty array), but the description doesn't explicitly state this or elaborately explain either parameter beyond what the schema already says.
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 resource clearly ('获取所有差分对' – get all differential pairs) and what is returned (detailed properties). The included API signature also specifies the return type. It distinguishes itself from the sibling get_all_* DRC tools by naming the specific resource (differential pairs), though it does not explicitly contrast with them. Purpose is clear and specific.
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 its many similar siblings (get_all_net_classes, get_all_pad_pair_groups, get_all_equal_length_net_groups, get_all_rule_configurations). The only differentiation is implicit via the resource type in the name/description. No exclusions, prerequisites, or context for selection are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_drc_get_all_equal_length_net_groupsB
pcb_Drc.getAllEqualLengthNetGroups() -> Promise<Array> 获取所有等长网络组的详细属性 returns: 所有等长网络组的详细属性
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden for behavioral disclosure. It reveals the async return type (Promise<Array<IPCB_EqualLengthNetGroupItem>>) and that detailed properties are returned, but does not state read-only semantics, prerequisites such as an active PCB document or window, or error behavior. This is minimal disclosure for a getter with zero annotations.
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 front-loaded with the API signature, but it redundantly repeats the same Chinese phrase in the summary and returns lines. The duplication means not 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?
With no output schema and no annotations, return structure and operational context are left unexplained. The description does not clarify which window/document the net groups come from, whether an active PCB editor is required, or what fields IPCB_EqualLengthNetGroupItem contains. For a simple getter this is a notable completeness 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 input schema has 100% description coverage for args and windowId, so the baseline is 3. The description adds no parameter-level guidance, such as noting that args can be empty because the underlying method signature takes no arguments.
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 explicitly states it gets detailed properties of all equal-length net groups (获取所有等长网络组的详细属性), with a specific verb and resource. The equal-length net group resource clearly distinguishes it from sibling get_all DRC group tools such as get_all_differential_pairs and get_all_net_classes.
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, exclusions, or alternatives are provided. The description only states what the tool returns, leaving the agent to infer when to select it from the tool name. With many sibling get_all DRC tools, explicit routing would help.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_drc_get_all_net_classesC
pcb_Drc.getAllNetClasses() -> Promise<Array> 获取所有网络类的详细属性 returns: 所有网络类的详细属性
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, but it only reveals the async return type and the fact that all net classes are returned. It does not disclose whether the operation is read-only, which window/document it applies to, what failure modes exist, or how empty results are represented. This is thin behavioral 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 description contains redundancy: the API signature line, the Chinese phrase '获取所有网络类的详细属性', and the 'returns:' line all essentially repeat the same information. It would be more concise as a single sentence, and the current format wastes tokens without adding insight.
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 output schema, the description should explain the shape of IPCB_NetClassItem or at least clarify which document's net classes are returned. Saying 'detailed properties' is vague, and the tool's dependency on windowId or active document is not addressed, leaving agents uncertain about the result and 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 100%, and both parameters (args, windowId) already have descriptive text in the schema. The description adds nothing about these parameters, but because the schema fully describes them, the baseline of 3 is appropriate.
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 that the tool gets all net classes and their detailed properties, and the API signature gives the return type. It is distinguishable from sibling tools like get_all_differential_pairs because it explicitly targets net classes, but it does not specify the scope (e.g., current PCB document), which leaves 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?
No guidance is provided on when to use this tool versus related alternatives such as get_net_rules, get_current_rule_configuration, or create_net_class. The description does not mention prerequisites like an open PCB document, nor does it differentiate this from other getters in the same DRC family.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_drc_get_all_pad_pair_groupsC
pcb_Drc.getAllPadPairGroups() -> Promise<Array> 获取所有焊盘对组的详细属性 returns: 所有焊盘对组的详细属性
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 mentions it returns a Promise of an array (a slight behavioral hint) and the return value, but does not state whether it is read-only, whether it requires a specific document or window, or any side effects. For a read operation, the lack of an explicit non-destructive statement is a 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 short but redundant, repeating the same information three times: the function signature, the Chinese description, and the returns line. This wastes space and does not add new information. A more concise version would state the purpose once and include additional useful 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 is a simple get-all operation, but the description is incomplete. It does not explain what a pad pair group is, how it relates to DRC, or what the return array items contain (no output schema). Without annotations, the description should provide more context about the domain and expected behavior, but it offers only a minimal statement.
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 100%, so the schema already documents the 'args' and 'windowId' parameters. The description adds no extra semantics about these parameters, such as what the args array should contain or how windowId selection works. Baseline 3 is appropriate since the schema handles the parameter documentation, but the description adds no value beyond 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 states the verb 'get all' and resource 'pad pair groups', and adds 'detailed properties', which is some clarification beyond the name. However, it does not differentiate from sibling tools like get_all_differential_pairs or get_all_net_classes; it is largely a restatement of the function name with minimal new information.
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 conditions, prerequisites, or when not to use it. The description does not reference any sibling tools or selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_drc_get_all_rule_configurationsC
pcb_Drc.getAllRuleConfigurations(includeSystem?: boolean) -> Promise<Array<Record<string, any>>> 获取所有设计规则配置 returns: 所有设计规则配置
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 reveals the return type (Promise<Array<Record<string, any>>>) and the optional includeSystem argument, but does not explain the flag's effect, whether the operation is read-only, or any error/edge-case behavior.
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-loads the signature, which is good. However, it is redundant: the return type appears in both the signature and the Chinese 'returns' line, and the minimal wording leaves no room for the explanatory content that is actually needed.
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 getter, but with no annotations and no output schema, the description must provide more context. It fails to clarify the includeSystem flag's semantics, whether system rule configurations are included by default, or how this tool fits among the many DRC rule-configuration siblings, leaving an agent under-informed.
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%, so the baseline is 3. The description adds the function signature 'getAllRuleConfigurations(includeSystem?: boolean)', which names and types the first positional argument in the args array, but it does not explain the meaning or default behavior of includeSystem, so only marginal value is added 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?
The description clearly states the operation: 'pcb_Drc.getAllRuleConfigurations' and '获取所有设计规则配置' (get all design rule configurations), making the verb and resource explicit. The word 'all' helps differentiate it from sibling DRC getters like get_current_rule_configuration and get_rule_configuration, though it does not 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?
No guidance is provided about when to use this tool versus alternatives, nor is there any explanation of the includeSystem parameter or when to set it. The description gives no context about whether system configurations are included by default or when the caller might need this tool over a single-configuration getter.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_drc_get_current_rule_configurationB
pcb_Drc.getCurrentRuleConfiguration() -> Promise<Record<string, any> | undefined>
获取当前设计规则配置
returns: 当前设计规则配置,undefined 为获取失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the return type Promise<Record<string, any> | undefined> and clearly states that undefined means retrieval failure, which is valuable behavioral context. Since no annotations are provided, the description carries the safety burden, and the get/获取 wording strongly implies a read-only operation without 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 the purpose and signature. The returns line partially repeats the main sentence, but the failure-sentinel note earns its place. Overall it is appropriately sized.
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 getter with no required parameters, the description gives the essential purpose and failure semantics. However, it lacks usage routing among DRC sibling tools and does not clarify that the method signature implies an empty args array, leaving minor 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?
Both schema parameters (args, windowId) have full descriptions, so the schema covers their semantics. The description adds no parameter-specific information, including the important implication from the signature that getCurrentRuleConfiguration() takes no arguments and args should likely be empty. Baseline 3 applies due to 100% 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 states a specific verb and resource: '获取当前设计规则配置' (get current design rule configuration), and the API signature names the method. It is distinct from sibling tools like get_all_rule_configurations or get_current_rule_configuration_name, though it does not explicitly contrast with 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?
There is no guidance on when to use this tool versus sibling DRC configuration tools such as get_all_rule_configurations, get_rule_configuration, or get_current_rule_configuration_name. No contexts, exclusions, or alternative routing are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_drc_get_current_rule_configuration_nameB
pcb_Drc.getCurrentRuleConfigurationName() -> Promise<string | undefined>
获取当前设计规则配置名称
returns: 当前设计规则配置名称,undefined 为获取失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 state that the return type is 'Promise<string | undefined>' and explains that 'undefined' indicates failure to retrieve the configuration name. This adds some transparency about failure semantics. However, it does not disclose other behavioral aspects such as whether it requires an active PCB document, whether it reads from the current window context, or any side effects (likely none for a getter). The description partially compensates for the lack of annotations but is 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 concise, consisting of a signature line and two short sentences. It is not overly verbose. However, the signature line 'pcb_Drc.getCurrentRuleConfigurationName() -> Promise<string | undefined>' is redundant with the tool name and does not add value for an agent. The key information (purpose and return value) is front-loaded after the signature, so overall structure is acceptable.
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 getter with no output schema, the description covers the return type and failure semantics. However, it lacks context about when to use this tool instead of related DRC configuration tools, and it does not mention any prerequisites or assumptions about the current document state. The absence of usage guidance and behavioral details beyond the return value makes it minimally adequate for an agent to call correctly, 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 coverage is 100% as both 'args' and 'windowId' are described in the schema. The description does not add any information about these parameters beyond what the schema already provides. The signature in the description shows no parameters, which might be confusing given the schema includes 'args' and 'windowId'. Since the schema already documents them, the baseline of 3 is appropriate, and the description does not enhance 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 states '获取当前设计规则配置名称' (Get current design rule configuration name), which clearly indicates the verb (get) and resource (current design rule configuration name). It also includes the API signature which reinforces the purpose. However, it does not differentiate from sibling tools like 'eda_pcb_drc_get_current_rule_configuration' which likely returns the full configuration object, whereas this one returns only the name. The name itself is descriptive, so purpose clarity is good but not exceptional.
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 that this is for retrieving just the name, while other tools like 'get_current_rule_configuration' or 'get_all_rule_configurations' serve different purposes. No exclusions or context 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.
eda_pcb_drc_get_default_rule_configuration_nameB
pcb_Drc.getDefaultRuleConfigurationName() -> Promise<string | undefined>
获取新建 PCB 默认设计规则配置的名称
returns: 默认设计规则配置的名称,undefined 为获取失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 return type (string or undefined) and states that undefined indicates failure, which is useful. However, it does not mention side effects, prerequisites, or whether it only works for new PCBs beyond the phrase '新建 PCB', which is ambiguous.
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 includes a function signature line and a return-value line. It is not bloated, though the signature line may be redundant with 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 simple getter, the description explains the return value and failure case. However, it lacks context on when this applies (e.g., only for new PCBs) and how it differs from the current rule configuration getter. An agent might still be uncertain about when to use this over similar 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 100%, so the schema already documents both parameters (args and windowId). The description adds no additional meaning about these parameters, so it does not improve beyond the baseline.
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 that the tool retrieves the name of the default design rule configuration for a new PCB. It uses a specific verb (get) and resource (default rule configuration name). While it does not explicitly contrast with siblings like get_current_rule_configuration_name, the word 'default' differentiates it adequately.
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 get_current_rule_configuration_name or get_all_rule_configurations. The description only explains what it returns, not the context in which it should be preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_drc_get_net_by_net_rulesB
pcb_Drc.getNetByNetRules() -> Promise<Record<string, any>> 获取网络-网络规则 returns: 当前 PCB 的所有网络-网络规则
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral burden. It clearly communicates this is a read-only-style getter returning all net-to-net rules for the current PCB, and includes the Promise<Record<string, any>> return type. However, it does not mention error behavior, prerequisites such as having a PCB open, or any 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 brief and front-loads the method signature and return intent. The Chinese phrase and the 'returns:' line are somewhat redundant, but the overall content is compact 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?
This is a simple getter with no required parameters and no output schema, so a short description is acceptable. Still, the description is incomplete for an agent selecting among many DRC getters: it lacks a distinction from sibling tools and any detail about the returned record structure.
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 100%, and both parameters have generic descriptions in the input schema. The tool description itself adds no parameter-specific meaning, such as whether args must be provided or what the official signature order is for this particular API, so it does not exceed the schema baseline.
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 specific verb 'get' and resource 'net-by-net rules' twice, and scopes the result to the current PCB. It is clear enough to distinguish this from general net-rule getters like eda_pcb_drc_get_net_rules, though it does not explicitly name that sibling or explain the net-by-net 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?
There is no guidance on when to use this tool versus the many sibling DRC getters (get_net_rules, get_region_rules, get_all_rule_configurations). The description only says what it returns, not when it is the appropriate choice or when a sibling would be preferable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_drc_get_net_rulesC
pcb_Drc.getNetRules() -> Promise<Array<Record<string, any>>> 获取网络规则 returns: 当前 PCB 的所有网络规则
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 only discloses the return type (Promise<Array<Record<string, any>>>) and that it returns all net rules. It does not state that this is a read-only operation, nor does it mention any side effects, performance characteristics, or error behavior.
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 (a signature and a one-liner) and front-loads the API call. However, it lacks structural elements like clear usage examples or separation of concerns. It is minimal but not excessive, though the terseness 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?
This is a simple getter, but the description does not mention prerequisites such as an open PCB document, nor does it clarify the data format beyond a generic record array. It also fails to differentiate from numerous DRC sibling tools, leaving an agent uncertain about when this is the right choice.
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?
Although schema description coverage is 100%, both property descriptions are generic templates (e.g., 'JSON parameter array in official signature order') that apply to any tool. The description adds no clarification about what arguments this particular function expects. An agent would not know whether to pass anything in 'args' or how to structure 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 states the tool retrieves all net rules for the current PCB (获取网络规则 and returns 当前 PCB 的所有网络规则). This is a specific verb+resource+scope, and it is distinguishable from siblings like get_all_net_classes. However, it does not explicitly contrast with related DRC getters.
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 prerequisites, target scenarios, or exclusions. An agent cannot determine if this should be used instead of eda_pcb_drc_get_net_by_net_rules or other DRC retrieval tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_drc_get_pad_pair_group_min_wire_lengthA
pcb_Drc.getPadPairGroupMinWireLength(padPairGroupName: string) -> Promise<Array> 获取焊盘对组最短导线长度 returns: 所有焊盘对的最短导线长度
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It clearly indicates a read operation via 'get'/'获取' and states the return value, implying no destructive side effects. However, it does not disclose error behavior, units, or other runtime 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?
The description is compact and structured: a one-line signature, a Chinese purpose line, and a return line. There is mild redundancy between the purpose and return lines, but no unnecessary padding.
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 getter with no output schema and no annotations, the description provides the essential signature and a high-level return description. It omits the structure of IPCB_PadPairMinWireLengthItem and any context about when or on which window this should be called.
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 only exposes a generic args array, so the description's signature adds real value by naming the actual parameter (padPairGroupName: string) and its type. It does not explain the IPCB_PadPairMinWireLengthItem fields or units, so it is not fully self-contained.
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 operation: retrieving the shortest wire length for a pad pair group ('获取焊盘对组最短导线长度') and provides the exact API signature. The 'min wire length' qualifier differentiates it from siblings like eda_pcb_drc_get_all_pad_pair_groups.
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 use this tool versus related DRC getters such as eda_pcb_drc_get_all_pad_pair_groups or eda_pcb_drc_get_net_by_net_rules. There are no prerequisites, exclusions, or alternative tool mentions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_drc_get_real_time_drc_statusA
pcb_Drc.getRealTimeDrcStatus() -> Promise
获取实时 DRC 检查状态
remarks: ADD since EDA v4.2
returns: 实时 DRC 检查状态,实时 DRC 已停止、不处于 PCB 或获取失败均返回 false
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations available, the description carries the behavioral disclosure burden and does it well: it exposes the Promise<boolean> signature and precisely states that real-time DRC stopped, not being in PCB, or fetch failure all return false. This gives the agent a clear behavioral contract, though it does not discuss side effects or error handling beyond the false 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 compact and well-structured: signature, one-line purpose, version remark, and return contract. The essential information is front-loaded, and every line earns its place without 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 simple status getter with no output schema or annotations, the description provides the critical operational details: the boolean meaning, the three false-producing conditions, and the minimum EDA version. It does not mention sibling alternatives, but that is more of a usage-guidance gap than a completeness 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 descriptions cover both properties, so the baseline is 3. The description adds value by showing the official signature as '()', clarifying that no positional arguments are expected despite the generic args array. WindowId semantics are left to the schema, which is already descriptive 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 clearly states the verb and resource: "获取实时 DRC 检查状态" / getRealTimeDrcStatus. It also clarifies that it returns a boolean representing real-time DRC status. Though it does not explicitly name sibling tools, it is distinguishable from related start/stop/check DRC tools by the 'get status' wording.
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 context is only implied. The return note explains when the result is false (DRC stopped, not in PCB, or fetch failure), which gives some situational context, but there is no explicit guidance on when to choose this tool over alternatives like eda_pcb_drc_start_real_time_drc, eda_pcb_drc_stop_real_time_drc, or eda_pcb_drc_check.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_drc_get_region_rulesB
pcb_Drc.getRegionRules() -> Promise<Array<Record<string, any>>> 获取区域规则 returns: - 当前 PCB 的所有区域规则
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral burden. It discloses that the tool is an async getter returning a Promise of an array of records and that it targets the current PCB, which implies a read-only operation. However, it does not mention prerequisites like whether a PCB document must be active, what happens when none is open, or any error/empty-result behavior.
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 the API signature, followed by a short Chinese purpose and return note. It is appropriately short, though the 'returns: -' formatting is slightly awkward and the English/Chinese mix could be cleaner.
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, no output schema, and many similar DRC sibling tools, the description is too thin. It explains what is returned but not how region rules relate to other rule types, how window selection works, what the result entries contain, or when this tool should be preferred.
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 only provides generic 'args' and 'windowId', but the description includes the official signature 'pcb_Drc.getRegionRules()', which reveals that no positional arguments are expected and that the args array should be empty. This adds meaningful interpretation beyond the 100% 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 states a clear verb-resource pair: '获取区域规则' (get region rules) and explicitly scopes the result to '当前 PCB 的所有区域规则' (all region rules of the current PCB). It is readily distinguishable from the many DRC sibling tools by name and scope, though it does not explicitly name or contrast those 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 about when to use this tool versus related DRC retrieval tools such as get_net_rules, get_all_rule_configurations, or get_current_rule_configuration. The agent must rely on the tool name and very short description, with no exclusions or explicit alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_drc_get_rule_configurationB
pcb_Drc.getRuleConfiguration(configurationName: string) -> Promise<Record<string, any> | undefined>
获取指定设计规则配置
returns: 设计规则配置,undefined 为不存在该设计规则
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses that the return value is `undefined` when the configuration does not exist and shows the return type as `Record<string, any>`. However, it does not explicitly state that the operation is read-only, whether it depends on an active PCB document, or any failure behavior beyond the undefined case.
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 directly useful: a signature line, a one-line Chinese description, and a return explanation. There is no filler, and the key 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?
For a simple getter, the description covers the essential behavior and undefined return case. However, given the large sibling set of DRC configuration tools, it lacks routing context and does not explain where configuration names come from or whether a selected PCB document is required.
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 only provides a generic `args` array and `windowId`, but the description's function signature reveals the actual parameter name (`configurationName`) and type (`string`), which meaningfully supplements the schema. It still lacks examples or possible values for configurationName, but it is enough for an agent to construct a call.
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 and resource: '获取指定设计规则配置' (get the specified design rule configuration) via a named API signature. It identifies the input as configurationName and the return type. However, it does not explicitly distinguish this from the closely related sibling tools like get_all_rule_configurations or get_current_rule_configuration.
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 its many DRC configuration siblings, such as get_all_rule_configurations or get_current_rule_configuration. The description also fails to mention whether the configurationName must refer to an existing named configuration or how to discover valid names, and windowId behavior is left entirely to the schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_drc_modify_differential_pair_nameB
pcb_Drc.modifyDifferentialPairName(originalDifferentialPairName: string, differentialPairName: string) -> Promise 修改差分对的名称 returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the behavioral disclosure burden. It does state the return type Promise<boolean> and that the return indicates success, but it does not disclose side effects, error behavior when the original name is not found, or any impact on other DRC data. For a mutation tool, this is insufficient 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 compact: a signature line, a one-line purpose in Chinese, and a return-value note. There is mild redundancy between the signature and the Chinese purpose statement, but the information density is high and the key details are 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 tool's simplicity (two string parameters), the description covers the core action and return value. However, it omits operational context such as the target window default behavior (left to schema), and it does not mention what happens if the original differential pair does not exist. With no annotations and no output schema, a fuller note on failure conditions would make this 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 only describes an opaque 'args' array and optional windowId. The description adds meaningful parameter semantics by exposing the official signature with names and types: originalDifferentialPairName and differentialPairName. This clarifies the order and purpose of the two string parameters, going beyond what the schema 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 explicitly states '修改差分对的名称' (modify differential pair name) and provides a precise function signature with both parameter names, so an agent knows this renames an existing differential pair. It is distinguishable from siblings such as create/delete differential pair or modify positive/negative net, though it does not explicitly call out those 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 given about when to use this tool versus alternatives, nor any prerequisites (e.g., the differential pair must already exist). The only implied usage is that it renames a differential pair, but the description lacks explicit when-to-use or when-not-to-use instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_drc_modify_differential_pair_negative_netB
pcb_Drc.modifyDifferentialPairNegativeNet(differentialPairName: string, negativeNet: string) -> Promise 修改差分对负网络 returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral disclosure burden. It does reveal that the operation returns a boolean indicating success, but it does not disclose side effects, whether the operation fails silently, whether an existing negative net is overwritten, or what happens if the differential pair does not 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 compact, with the signature front-loaded and only a brief Chinese summary and return note following it. It earns its sentences, though the Chinese phrase largely restates the meaning already conveyed by the tool name and signature.
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 and no output schema, this description is thin. It lacks context about the target PCB document, whether the differential pair must already exist, the relationship between positive and negative nets, and possible failure modes. An agent has enough to guess the call shape but not enough to use it 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 input schema only provides a generic 'args' array, so the signature line adds meaningful parameter names and types: differentialPairName as string and negativeNet as string. This helps an agent construct the call correctly, though the description does not explain valid net-name formats or naming 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 the verb (modify) and the resource (differential pair negative net), and the Chinese phrase '修改差分对负网络' reinforces this. The 'negativeNet' terminology distinguishes it from the sibling 'modify_differential_pair_positive_net', though it does not explicitly name that alternative.
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. The description does not state when to use this tool versus modifying the positive net, renaming a differential pair, or creating/deleting a differential pair. There are no exclusions, prerequisites, or alternative tool mentions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_drc_modify_differential_pair_positive_netB
pcb_Drc.modifyDifferentialPairPositiveNet(differentialPairName: string, positiveNet: string) -> Promise 修改差分对正网络 returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, but it only reveals the function signature and returns a boolean. It does not disclose side effects (e.g., modifying the PCB design state), required permissions, reversibility, or error behavior. The Chinese line '修改差分对正网络' is essentially a translation of the function name and adds no behavioral 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 short and includes the exact function signature, a one-line summary, and return semantics. It is efficient without unnecessary fluff, though the Chinese summary repeats the name and could be seen as slightly 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?
For a mutation operation in a complex PCB DRC context, the description lacks critical context: it does not specify what the input strings refer to (e.g., net names vs. identifiers), whether the differential pair must already exist, how to handle the 'windowId' parameter, or what happens on failure. With no output schema and no annotations, this is insufficient for an agent to reliably invoke the 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 schema only defines 'args' as an empty array, so the function signature in the description is the only source of parameter names and types (differentialPairName: string, positiveNet: string). This adds value, but the description does not explain the meaning or valid values of these parameters beyond their self-evident names, and there is no clarification on how to pass them within the 'args' array.
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 operation: modifying the positive net of a differential pair, with explicit parameter names and types in the function signature. The sibling tool for the negative net (eda_pcb_drc_modify_differential_pair_negative_net) provides clear differentiation between the two similar 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 offers no guidance on when to use this tool versus the negative-net counterpart or other DRC-related operations. There is no mention of prerequisites, such as the differential pair needing to exist or a PCB document being active, and no exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_drc_modify_equal_length_net_group_nameB
pcb_Drc.modifyEqualLengthNetGroupName(originalEqualLengthNetGroupName: string, equalLengthNetGroupName: string) -> Promise 修改等长网络组的名称 returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 states that it modifies the name and returns a boolean success flag. It does not disclose side effects, whether the original name must exist, or what happens on failure. For a mutation tool, this 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?
The description is very concise, consisting of a function signature and a single Chinese sentence. It is not verbose and gets to the point. The structure is acceptable, though not particularly organized.
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 rename operation, the description is minimal. It does not mention what the return boolean means in error cases, whether the original group must exist, or any usage context among the many similar tools. Without annotations or an output schema, more context is needed for an agent 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 only defines an 'args' array with no per-parameter details, so the description's function signature is the only source of parameter meaning. It provides both parameter names and types (originalEqualLengthNetGroupName: string, equalLengthNetGroupName: string), which is helpful and goes beyond the schema. However, it does not explain the meaning or constraints of each parameter beyond the 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 action: modifying the name of an equal-length net group (修改等长网络组的名称). The function signature specifies the exact resource and operation. It is distinct from sibling tools like modify_net_class_name or modify_differential_pair_name because it explicitly mentions 'EqualLengthNetGroupName'.
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 similar rename tools (e.g., modify_net_class_name, modify_pad_pair_group_name). There is no mention of prerequisites, alternatives, or conditions for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_drc_modify_net_class_nameA
pcb_Drc.modifyNetClassName(originalNetClassName: string, netClassName: string) -> Promise 修改网络类的名称 returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral disclosure burden. It only states that the operation modifies a name and returns a boolean; it omits target document/window behavior, behavior when the original name does not exist, duplicate-name handling, or other side effects. This is thin 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 compact, with the API signature front-loaded and the return meaning included. There is minor redundancy between the signature and the Chinese action line, but overall it is efficiently 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 simple two-string rename, the signature plus boolean return covers the basic invocation mechanics, and windowId is documented in the schema. However, with no annotations and no output schema, the lack of error behavior and window-target context leaves the definition minimally viable rather than 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?
The schema only exposes an opaque args array, but the description's signature provides exact parameter names, types, and order: originalNetClassName then netClassName. This is essential for constructing the argument array. The semantic distinction between 'old name' and 'new name' is implied rather than spelled out, which prevents a 5.
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: pcb_Drc.modifyNetClassName renames a net class, and the parameter names make the rename semantics explicit. The resource and verb are specific enough to distinguish it from sibling DRC operations like create_net_class, delete_net_class, and add_net_to_net_class.
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 signature and parameter names imply it should be used when an existing net class needs to be renamed. However, the description never states explicit criteria for choosing this tool over related net-class operations, nor does it mention prerequisites such as fetching valid net class names via get_all_net_classes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_drc_modify_pad_pair_group_nameB
pcb_Drc.modifyPadPairGroupName(originalPadPairGroupName: string, padPairGroupName: string) -> Promise 修改焊盘对组的名称 returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 mentions the return type (boolean) and that it indicates success ('操作是否成功'). It does not describe side effects, error behavior, whether the operation is idempotent, or what happens if the original name does not exist. This is minimal and leaves the agent without critical 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 concise: a signature line, a one-phrase Chinese description, and a return type line. There is no redundant or filler text. The signature is front-loaded, which is helpful. However, it could be structured more clearly (e.g., separating the description from the signature, or adding a brief usage example). Still, it is efficient 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?
Given the lack of annotations and output schema, the description is insufficient for a complete understanding. It does not explain the context in which the tool operates (e.g., current PCB document), any side effects on the pad pair group, or error scenarios. An agent would need to infer most behavior from the tool name and signature. The description provides only the most basic details, leaving significant gaps in the 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?
The description includes the full function signature with parameter names and types: 'originalPadPairGroupName: string, padPairGroupName: string'. This is valuable because the input schema only describes the container 'args' array with empty items (items: {}), providing no details about the actual function parameters. The signature compensates for the schema gap by giving the agent the parameter names and their order, which is essential for constructing the argument array.
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 operation: '修改焊盘对组的名称' (modify the name of a pad pair group). The verb 'modify' and the resource 'pad pair group' are specific unanswered by the name. It does not explicitly differentiate from sibling tools like 'create_pad_pair_group' or 'delete_pad_pair_group', but the name and description together are unambiguous enough for an agent to identify its 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?
No guidance is given about when to use this tool versus alternatives, nor any prerequisites or conditions. The description only states the operation without indicating context, such as whether the original name must exist or when renaming is appropriate. It does not mention any exclusion criteria or preferred scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_drc_overwrite_current_rule_configurationB
pcb_Drc.overwriteCurrentRuleConfiguration(ruleConfiguration: Record<string, any>) -> Promise 覆写当前设计规则配置 remarks: 将会覆写 PCB 当前的设计规则配置,请注意数据丢失风险 returns: 覆写是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 warn that the operation overwrites the current configuration with data-loss risk. It also exposes the Promise<boolean> return type, but it does not mention whether the previous configuration can be recovered, whether backup is needed, or what side effects may occur.
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 well-structured, with the API signature first, then a concise Chinese summary, a warning remark, and the return meaning. Every line contributes useful information without padding.
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 destructive write tool with no annotations and no output schema, so it needs more context to be safely invokable. It lacks a way to construct ruleConfiguration, no backup/recovery guidance, and no explanation of how it differs from adjacent DRC configuration operations.
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 high, so the baseline is 3. The description adds the signature with ruleConfiguration: Record<string, any>, revealing the argument name and general type, but it provides no concrete fields or shape for a valid rule configuration, leaving the core parameter effectively 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 identifies a specific action, overwriting the current PCB design rule configuration, using a clear verb and resource. It distinguishes itself from DRC siblings like get_current_rule_configuration, save_rule_configuration, and delete_rule_configuration by naming the target precisely.
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 use this tool versus alternatives such as save_rule_configuration, set_as_default_rule_configuration, or overwrite_net_rules. The description states what the tool does but provides no context, exclusions, or recommendation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_drc_overwrite_net_by_net_rulesC
pcb_Drc.overwriteNetByNetRules(netByNetRules: Record<string, any>) -> Promise 覆写网络-网络规则 remarks: 将会覆写当前 PCB 的所有网络-网络规则,请注意数据丢失风险 returns: 覆写是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are none, so the description must carry the full burden. It warns of data loss, which is important and helpful. However, it does not disclose other behavioral traits like whether the operation is reversible, whether it requires confirmation, or what the return value '覆写是否成功' (success boolean) means beyond the literal. The data loss warning adds value, but more detail on side effects would be better.
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 brief but includes essential info: function signature, Chinese description, remarks, and returns. However, it is somewhat redundant: the signature already includes the parameter name, and the returns line repeats what the description says. The data loss warning is embedded in remarks, which might be overlooked. Structure could be improved by front-loading the warning.
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 overwriting rules with a Record<string, any>, the description lacks critical information: the expected format of netByNetRules, what fields are required, how to structure the keys and values, and whether there are constraints. There is no output schema, so return value details are missing. It also doesn't mention the need for an active PCB window or how windowId interacts. Incomplete 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?
Schema coverage is 100%, so the schema documents the 'args' array and 'windowId' parameters. The description does not add meaning beyond stating the parameter name 'netByNetRules' in the signature, but does not explain the structure of the Record<string, any> or provide examples. Since coverage is high, baseline is 3, and no extra info is added.
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 it overwrites net-by-net rules for the current PCB, which is a clear action on a specific resource. However, it does not explicitly distinguish itself from sibling tools like eda_pcb_drc_overwrite_net_rules or eda_pcb_drc_get_net_by_net_rules, though the 'netByNetRules' parameter suggests a distinct 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 guidance on when to use this tool versus alternatives such as eda_pcb_drc_overwrite_net_rules (which may handle generic net rules) or eda_pcb_drc_get_net_by_net_rules (for reading). The description does not mention prerequisites like having a PCB open or which rule configurations are affected.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_drc_overwrite_net_rulesB
pcb_Drc.overwriteNetRules(netRules: Array<Record<string, any>>) -> Promise 覆写网络规则 remarks: 将会覆写当前 PCB 的所有网络规则,请注意数据丢失风险 returns: 覆写是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 well by explicitly warning that all current PCB net rules will be overwritten and noting data-loss risk, and it states the boolean return value. It does not mention reversibility or undo behavior, but the destructive scope is clearly 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 short and front-loaded with the signature, followed by a concise summary, a useful data-loss remark, and the return meaning. The Chinese summary '覆写网络规则' is somewhat redundant with the tool name, but the structure is otherwise 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?
For a destructive, all-scope overwrite tool with no output schema and a generic args schema, the description is incomplete. It omits the detailed structure of netRules, does not reference companion tools like get_net_rules for obtaining the current rule format, and gives no guidance on how to restore previous rules.
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 uses a generic args array with no item schema, and the description only provides the type Array<Record<string, any>> for netRules. This gives the agent little concrete information about what fields or rule objects are required, so it cannot reliably construct valid arguments 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 identifies the operation as overwriting net rules and adds scope via the remarks: it overwrites ALL network rules of the current PCB. This distinguishes it from sibling overwrite tools like overwrite_net_by_net_rules and overwrite_region_rules, though it does not mention these alternatives 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?
There is no guidance on when to use this tool versus its alternatives, such as overwrite_net_by_net_rules for per-net changes or get_net_rules for reading before overwriting. The data-loss warning implies caution but does not explain the appropriate use case or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_drc_overwrite_region_rulesB
pcb_Drc.overwriteRegionRules(regionRules: Array<Record<string, any>>) -> Promise 覆写区域规则 remarks: 将会覆写当前 PCB 的所有区域规则,请注意数据丢失风险 returns: 覆写是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It explicitly warns '将会覆写当前 PCB 的所有区域规则,请注意数据丢失风险' (will overwrite all region rules, risk of data loss), disclosing the destructive, irreversible nature. It also specifies returns a boolean indicating success. However, it does not elaborate on how the overwrite affects existing rules not provided in the input array, which 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 concise, containing a signature line, a brief Chinese purpose, a warning remark, and a return note. Each part contributes essential information. It could be slightly more structured (e.g., separating prerequisites and parameter explanation), but it remains efficient 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 tool is a mutation with no annotations, no output schema, and a complex parameter (array of Record). The description lacks details on the structure of regionRules, required vs optional fields, and how to construct valid records. It also omits any mention of prerequisites like an active PCB document. This leaves an agent under-equipped to correctly invoke the 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 coverage is 100% for top-level parameters (args and windowId), so baseline is 3. The description adds the function signature with 'regionRules: Array<Record<string, any>>', giving type information but no details about required fields or structure of each record. This is more than the generic args description provides but still insufficient for a complex array 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 overwrites region rules via the Chinese '覆写区域规则' and the explicit remark '将会覆写当前 PCB 的所有区域规则' (overwrites all region rules of the current PCB). It identifies the specific resource (region rules) and scope (all of current PCB), distinguishing it from net-rule or configuration overwrites, though it does not explicitly compare with 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?
The description provides no guidance on when to use this tool versus alternatives like eda_pcb_drc_overwrite_net_rules or eda_pcb_drc_get_region_rules. It does not mention prerequisites (e.g., PCB open) or scenarios where this is appropriate. The only guidance is the implied 'overwrites all' warning, which is behavioral rather than usage-directed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_drc_remove_net_from_equal_length_net_groupA
pcb_Drc.removeNetFromEqualLengthNetGroup(equalLengthNetGroupName: string, net: string | Array) -> Promise 从等长网络组中移除网络 returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses the return type (boolean indicating success) but does not mention side effects (e.g., mutating DRC rules), whether it requires an active PCB document, or any error behavior. This is minimal disclosure 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 compact, presenting the signature first and then a one-line Chinese explanation and return type. Every element serves a purpose; there is 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?
For a simple removal operation, the description covers purpose, parameters, and return value. However, it lacks usage context (e.g., when to use vs. add net) and does not disclose any potential side effects or state requirements. Given its simplicity, this 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?
The description explicitly lists the two parameters with their types: equalLengthNetGroupName: string, net: string | Array<string>. This is essential because the input schema only provides a generic args array without describing individual parameters. The description fully compensates 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 clearly states the action (remove net from equal length net group) with a specific resource and verb. The signature 'pcb_Drc.removeNetFromEqualLengthNetGroup(equalLengthNetGroupName, net)' adds precision. It is easily distinguishable from the sibling tool eda_pcb_drc_add_net_to_equal_length_net_group.
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 mention when to use this tool versus alternatives. There is no guidance on prerequisites, such as the group existing, or when to use the add counterpart. The only context is the action itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_drc_remove_net_from_net_classB
pcb_Drc.removeNetFromNetClass(netClassName: string, net: string | Array) -> Promise 从网络类中移除网络 returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the behavioral burden. It is transparent that this is a mutating operation and that it returns a boolean success indicator, but it does not disclose edge-case behavior (net already absent, nonexistent net class), reversibility, or whether DRC state is affected.
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 definition is short and free of filler, with the purpose and return behavior clearly stated. It loses a point because the API signature already declares Promise<boolean> and the final returns line repeats that information, and the human-readable purpose appears after the signature.
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 two-parameter mutation, the signature plus the Chinese one-liner covers invocation basics: parameter names/types and the boolean result. It is incomplete around edge cases and any dependency on an existing net class, which an agent would have to infer.
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 only exposes an opaque args array, so the signature line adds real value by naming the parameters and their types: netClassName as string and net as string or array of strings. It does not explain identifier formats or constraints, but the parameter names are self-descriptive.
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 ('remove net from net class') with a specific resource, so an agent knows what the tool does. It does not explicitly call out the sibling distinction (e.g., from eda_pcb_drc_add_net_to_net_class or remove_net_from_equal_length_net_group), so it falls short of full 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 when-to-use guidance, no exclusions, and no reference to alternative tools for similar DRC net-group operations. The only usage signal is the implicit one carried by the operation name/description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_drc_remove_pad_pair_from_pad_pair_groupB
pcb_Drc.removePadPairFromPadPairGroup(padPairGroupName: string, padPair: [string, string] | Array<[string, string]>) -> Promise 从焊盘对组中移除焊盘对 returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 description states it returns a boolean indicating success, but it does not disclose behavioral details such as whether the group must exist, whether the pad pair must exist in the group, or what happens if the pad pair is not found (e.g., returns false or throws an error). This is a significant gap 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 very brief and front-loaded with the function signature. The Chinese text adds a one-line purpose and return description, which is efficient. However, it could be slightly more structured with a clearer separation of purpose, parameters, and return value, but it is not overly 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?
Given the tool's complexity (requires a group name and a pad pair format) and no output schema, the description is incomplete. It does not explain the exact format of the pad pair (e.g., [string, string] likely representing net and pad names), nor does it mention error handling or prerequisites. An agent may struggle to know what strings to use. More context is needed.
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 100% and the parameters are described in the signature line: padPairGroupName (string) and padPair (either a tuple or array of tuples). The description does not add additional semantics beyond the schema, but the baseline of 3 is appropriate since the schema clearly documents the 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 (removePadPairFromPadPairGroup) and the resource (pad pair group), and the Chinese text confirms removal of pad pairs from a group. It is distinguished from siblings like add_pad_pair_to_pad_pair_group by the verb, though it doesn't explicitly name that sibling.
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: you need a pad pair group name and a pad pair to remove. It doesn't explicitly state when to use this versus alternatives like modifying the group or removing the entire group, but the operation is clear enough for an agent to infer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_drc_rename_rule_configurationA
pcb_Drc.renameRuleConfiguration(originalConfigurationName: string, configurationName: string) -> Promise 重命名设计规则配置 remarks: 只有自定义配置可以重命名,系统配置不允许重命名 returns: 重命名是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral disclosure burden. It does disclose one important behavioral trait: only custom configurations can be renamed, and system configurations cannot. It also states the return value is a boolean indicating success. However, it does not explain error behavior, whether the rename persists immediately, or what happens if the original name does not 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 compact and front-loaded with the signature, followed by a one-line Chinese summary, a remark, and the return meaning. There is no filler or repetition beyond the signature/summary pair, which is acceptable for a low-complexity 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 simple two-parameter rename operation, the description provides the essential callable signature, the custom-vs-system restriction, and return meaning. However, it lacks guidance on how to obtain valid configuration names, what happens on failure, and how this tool relates to the many nearby DRC configuration tools. Given no annotations and no output schema, this 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?
The input schema only provides a generic `args` array with empty item schemas plus `windowId`, so the function signature in the description is essential. It names both parameters (`originalConfigurationName`, `configurationName`) and their types, clarifying the positional order. It does not add deeper semantics like uniqueness rules, but it compensates for the otherwise opaque generic array.
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 leads with the exact API signature `pcb_Drc.renameRuleConfiguration(originalConfigurationName, configurationName)` and the Chinese summary '重命名设计规则配置' (rename design rule configuration). This clearly identifies the operation (rename), the resource (rule configuration), and distinguishes it from sibling tools like `eda_pcb_drc_create_rule_configuration` or `eda_pcb_drc_delete_rule_configuration`.
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. The remark '只有自定义配置可以重命名,系统配置不允许重命名' states a constraint on system configurations but does not explain how to discover valid custom configuration names or when to prefer rename over create/delete/save/overwrite operations. No alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_drc_save_rule_configurationB
pcb_Drc.saveRuleConfiguration(ruleConfiguration: Record<string, any>, configurationName: string, allowOverwrite?: boolean) -> Promise 保存设计规则配置 remarks: 只有自定义配置可以覆盖保存,系统配置不允许修改和覆盖 returns: 保存是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description includes a meaningful constraint: only custom configurations can be overwritten, and system configurations cannot be modified. This discloses a behavioral rule beyond what annotations would provide (none are present). However, it doesn't state side effects like whether it creates a new config or overwrites an existing one, or any prerequisites like an open PCB document. As a mutation tool without annotations, more disclosure is expected.
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, including the signature, purpose, a key constraint, and return type. It's not verbose and the signature is front-loaded. The Chinese phrase is somewhat redundant with the signature, but overall it's 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 saves a complex rule configuration, but the description lacks essential details: the structure of ruleConfiguration, the behavior when allowOverwrite is false and the name already exists, prerequisites (e.g., an open PCB document), and how this differs from overwrite_current_rule_configuration. Without an output schema, the agent lacks enough context to call 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 signature provides parameter names and types: ruleConfiguration (Record<string, any>), configurationName (string), allowOverwrite (boolean, optional). This adds meaning beyond the generic args array in the schema. However, it doesn't explain the structure or allowed keys of ruleConfiguration, nor the effect of allowOverwrite beyond the overwrite constraint. It adds some semantics but not full parameter 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 action via the function name and the Chinese phrase '保存设计规则配置' (save design rule configuration). It indicates the resource (rule configuration) and the verb (save). However, it does not differentiate from sibling tools like eda_pcb_drc_overwrite_current_rule_configuration, so it's clear but not fully distinguishing.
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. The remarks about overwrite constraints are behavioral, not usage guidance. It doesn't mention when to prefer save over overwrite_current_rule_configuration or other DRC tools. The agent has to infer usage from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_drc_set_as_default_rule_configurationC
pcb_Drc.setAsDefaultRuleConfiguration(configurationName: string) -> Promise
设置为新建 PCB 默认设计规则配置
remarks: 返回值为结果导向,重复设置相同的设计规则为默认设计规则也将返回 true
returns: 设置是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 does disclose an important behavior: '重复设置相同的设计规则为默认设计规则也将返回 true' (setting the same default again still returns true). However, it does not mention error cases, prerequisites such as the configuration existing, or whether it affects the current PCB, leaving meaningful 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 compact and uses labeled sections (remarks, returns), but the purpose prose is only in Chinese while the signature is English, creating a bilingual split that may reduce clarity for English-only agents. The content is mostly necessary but could be more uniformly 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 mutation tool with no annotations and no output schema, the description provides the return type and an idempotency remark, but it lacks essential context about the configurationName parameter—how it is passed and where it comes from. It also does not connect to related tools like get_all_rule_configurations, leaving an agent without enough guidance for a correct 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 input schema's args array is generic with no item-level descriptions, so the description's signature line adds value by revealing configurationName: string. However, it does not explain what the name refers to or how to obtain it. Since the schema's actual parameter semantics are thin, the description partially compensates but leaves 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 identifies a specific action: setAsDefaultRuleConfiguration, and the Chinese text '设置为新建 PCB 默认设计规则配置' clarifies that it marks a rule configuration as the default for new PCBs. This is specific enough to distinguish it from related DRC tools, though it does not explicitly name any sibling 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?
There is no explicit guidance on when to use this tool versus alternatives like save_rule_configuration, overwrite_current_rule_configuration, or get_default_rule_configuration_name. The usage is only implied by the name and action; no exclusions or recommended contexts are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_drc_start_real_time_drcA
pcb_Drc.startRealTimeDrc() -> Promise
开始实时 DRC 检查
remarks: 本接口返回值为结果导向,调用本接口前已启用实时 DRC 检查也将返回 true
ADD since EDA v4.2 returns: 是否成功启用实时 DRC 检查
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 provides meaningful information: the return value is a boolean indicating success, and the API is idempotent (returns true even if real-time DRC is already enabled). It also notes the version availability (since EDA v4.2). It does not cover error conditions or side effects, but for a simple enabling action, this is reasonably 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 the core purpose front-loaded in Chinese and English, followed by a crucial behavioral note (idempotency), version information, and return value documentation. Every line adds value; there is no fluff 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?
Considering the tool's simplicity, the description covers the essentials: what it does, return value, idempotent behavior, and version. However, it lacks context about prerequisites (e.g., active PCB document), potential errors, and how it relates to companion tools like stop_real_time_drc or check. Since there is no output schema np and no annotations, a bit more context would help agents use it correctly in sequence.
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 100%: both 'args' and 'windowId' have descriptive text in the schema. The tool description itself does not add any parameter-specific meaning, but the baseline for high coverage is 3, and the schema adequately documents the 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 verb '开始' (start) and resource '实时 DRC 检查' (real-time DRC check), making the primary purpose unambiguous. It is further reinforced by the method signature and return type. However, it does not explicitly differentiate from related sibling tools like eda_pcb_drc_check or eda_pcb_drc_stop_real_time_drc, relying on the name to distinguish.
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 such as eda_pcb_drc_check (one-time check) or eda_pcb_drc_stop_real_time_drc (stop). It does mention idempotency (already enabled returns true), which indirectly hints at behavior, but there is no explicit 'when to use' or 'when not to use' instruction, nor prerequisites like having a PCB document open.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_drc_stop_real_time_drcA
pcb_Drc.stopRealTimeDrc() -> Promise
停止实时 DRC 检查
remarks: 本接口返回值为结果导向,调用本接口前已停用实时 DRC 检查也将返回 true
ADD since EDA v4.2 returns: 是否成功停用实时 DRC 检查
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 result-oriented return behavior and importantly states that calling it when real-time DRC is already disabled will still return true, preventing an agent from misinterpreting the boolean. It also notes availability since EDA v4.2 and describes the return value, though it does not cover error conditions or side effects beyond stopping.
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 the operation. The code signature, Chinese action, remark, version note, and return explanation each add relevant information. There is minor redundancy between the Promise<boolean> signature and the 'returns' line, but no wasted sentences.
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, parameter-free operation with no output schema, the description covers the essential behavior and return semantics. It explains the idempotent success case and version availability. It does not discuss interactions with related DRC tools or failure modes, but these are not critical for calling this low-complexity 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 100% for both parameters, so the schema already documents 'args' and 'windowId'. The description adds no parameter-level semantics beyond the signature, which shows no explicit parameters. Baseline 3 is appropriate given the schema carries the load.
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 verb and resource: '停止实时 DRC 检查' (stop real-time DRC checking). It accurately conveys the operation and is not a tautology. However, it does not explicitly distinguish itself from sibling tools like eda_pcb_drc_start_real_time_drc or eda_pcb_drc_get_real_time_drc_status, so it lacks the sibling differentiation needed for 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?
Usage is implied by the action name and description: call when you want to stop real-time DRC. The remark about already-disabled DRC returning true gives useful contextual behavior but does not explicitly state when to use this tool versus alternatives, nor 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.
eda_pcb_event_add_cross_probe_select_event_listenerD
pcb_Event.addCrossProbeSelectEventListener(id: string, callFn: (props: any) => void | Promise) -> void
新增交叉选择事件监听
remarks: 注意:本接口仅扩展有效,在独立脚本环境内调用将始终 throw Error
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 does disclose the throw-error behavior in standalone scripts, which is useful. However, it omits basic behavioral traits: what triggers the event, what the `props: any` callback argument contains, whether the listener is persistent or one-time, and any side effects. The disclosure is partial and insufficient for safe invocation.
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 under-specified. It jumps straight to a code signature and a one-line remark without a natural-language summary. The structure is not front-loaded with key details; the most important behavioral note (throws in standalone) is buried in remarks. It is not concise in a helpful way—it is just sparse.
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 event-listener tool, an agent needs to know what event is listened for, what the callback receives, how to register/unregister, and any execution-context restrictions. Only the last item is mentioned. There is no output schema, and the parameter semantics are unclear. The description is far from complete for a tool that appears to be a critical API for cross-probe synchronization.
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 includes a function signature with parameters `id` and `callFn`, but the input schema expects `args` (an array) and `windowId`. This mismatch adds confusion rather than clarity. The description provides no explanation of what these parameters mean, and the schema descriptions are generic. With 100% schema coverage but no value added, the description does not help an agent understand how to construct correct arguments.
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 provides a function signature and a Chinese phrase that restates the tool name ('新增交叉选择事件监听' = add cross-selection event listener). It does not explain what the cross-probe select event is, when it fires, or what the callback receives. It fails to differentiate this from sibling event listeners beyond the name itself, and the purpose is essentially a tautology with a signature.
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 remarks mention a restriction: the interface is only valid for extensions and always throws an error in a standalone script environment. This is a usage condition but provides no guidance on alternatives or when to prefer this listener over other event listeners (e.g., add_mouse_event_listener or add_primitive_event_listener). No explicit when/why guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_event_add_image_event_listenerA
pcb_Event.addImageEventListener(id: string, callFn: (message: { file?: File; source: 'toolbar' | 'paste' }) => void | Promise) -> boolean 新增插入图片事件监听 deprecated: 临时接口(插入图片 PCB 迁移打通流程用):统一事件机制落地后替换,请尽快迁移,勿在新功能中继续依赖 remarks: ADD since EDA v5 returns: 是否注册成功 [已弃用]
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 does disclose deprecation status, 'ADD since EDA v5', and that the return value indicates whether registration succeeded. However, it does not explain listener lifecycle, duplicate-registration behavior, or how to remove the listener, leaving meaningful behavioral 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 compact but somewhat redundant: deprecation is stated in prose, in the 'deprecated' label, and again with a trailing '[已弃用]'. Mixed Chinese/English and the dense signature line make it slightly cluttered, though each section is short 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?
For a deprecated event-registration tool with no annotations and no output schema, the description covers the essential callable signature, callback message shape, and return meaning. It omits practical invocation details such as what `id` represents, duplicate-handling, and how to unregister, leaving the agent with moderate but incomplete 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 input schema is generic (an `args` array of arbitrary items plus `windowId`), providing no type detail. The description compensates by specifying the actual signature: `id: string` and `callFn` with a structured message `{ file?: File; source: 'toolbar' | 'paste' }` and a `void | Promise<void>` return. This adds meaningful semantics beyond the schema's generic placeholders.
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 includes the raw API signature `pcb_Event.addImageEventListener(id, callFn)` plus the Chinese phrase "新增插入图片事件监听" (add image insertion event listener), clearly identifying a specific verb and resource. It is distinguishable from sibling event-listener tools by the 'image' scope, though it does not explicitly contrast itself with any named sibling.
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 deprecation notice explicitly says this is a temporary interface for the PCB image insertion migration flow and instructs "请尽快迁移,勿在新功能中继续依赖" (migrate soon, do not rely on it in new features), giving clear when-not-to-use guidance. It does not name a replacement sibling tool, only references a future "unified event mechanism," 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.
eda_pcb_event_add_mouse_event_listenerB
pcb_Event.addMouseEventListener(id: string, eventType: 'all' | EPCB_MouseEventType, callFn: (eventType: EPCB_MouseEventType, props: [{ primitiveId: string; primitiveType: EPCB_PrimitiveType; net?: string; designator?: string; parentComponentPrimitiveId?: string; parentComponentDesignator?: string }]) => void | Promise, onlyOnce?: boolean) -> void
新增鼠标事件监听
remarks: 注意:本接口仅扩展有效,在独立脚本环境内调用将始终 throw Error
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 reveals an important trait: the tool will throw an error in a standalone script environment, which is critical for the agent to know. The signature also shows the callback receives eventType and props, and returns void or Promise. However, it doesn't disclose whether the listener persists across reloads, whether it can be removed with the sibling remove tool, or any side effects. The provided note adds value, but coverage is thin.
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: a code signature, a one-line Chinese translation, and a remark. It is not bloated, but the structure is suboptimal—the Chinese line is redundant, and the signature, while informative, is presented without introductory prose that would front-load the core purpose. The constraint remark is placed at the end, which is acceptable but could be highlighted earlier. Overall, it's concise but not structured for maximum scannability.
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 output schema and no annotations, the description is only partially complete. It provides the essential call signature and the extension-only constraint, which are necessary. However, it omits context about the event system—how mouse events are identified, the meaning of the eventType union, whether the listener is one-shot by default, and how it relates to the remove-event-listener sibling. Given the large sibling set, an agent would need to infer much from the name 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?
The input schema is generic (args array, windowId) and provides no detail about the array elements. The description supplies the full API signature, giving names and types for id, eventType, callFn, and onlyOnce, along with the callback's parameter structure. This is essential for the agent to construct a valid call. It lacks plain-language explanation of enum values or the meaning of onlyOnce, but the structural information is substantially useful.
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—adding a mouse event listener—through the signature 'addMouseEventListener' and the Chinese line '新增鼠标事件监听'. It is clear this tool registers a callback for PCB mouse events, and the name distinguishes it from sibling event listeners for primitives, nets, cross-probe, etc. However, it doesn't elaborate what constitutes a 'mouse event' (clicks, moves, etc.) or the context in which it fires, 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?
The description includes a remark ('本接口仅扩展有效,在独立脚本环境内调用将始终 throw Error') stating it only works in an extension environment and throws in a standalone script, which is a use constraint. But it does not explain when to use this listener over the many sibling event listeners (e.g., primitive, net, image), nor does it mention that this is the PCB-specific listener as opposed to the schematic one (eda_sch_event_add_mouse_event_listener). Guidance is minimal and mostly negative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_event_add_net_event_listenerA
pcb_Event.addNetEventListener(id: string, eventType: 'all' | EPCB_NetEventType, callFn: (eventType: EPCB_NetEventType, props: [{ net: string }]) => void | Promise, onlyOnce?: boolean) -> void 新增网络事件监听 remarks: 网络选中事件仅
①在过滤面板选中网络选项并在画布选中网络时
②在工程设计 -> 网络内选中网络时
会被触发
注意:本接口仅扩展有效,在独立脚本环境内调用将始终 throw Error
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 delivers: exact trigger conditions for the event and the always-throw behavior outside the extension environment. This meaningfully exceeds what the generic schema exposes. It omits listener lifecycle details (persistence, deduplication, removal), but the most important behavioral traits 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 high-value signature is front-loaded, trigger conditions are a compact numbered list, and the environment warning is one clear sentence. The Chinese label '新增网络事件监听' is redundant with the signature, and the line-broken list formatting is slightly sprawling, but no sentences are wasted.
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 tool (typed callback, union event type, event semantics, environment restriction) with no annotations and no output schema, the description covers the invocation signature, void return, trigger conditions, and the extension-only constraint. Remaining gaps: the EPCB_NetEventType enum values are not enumerated and there is no cross-reference to the corresponding removal tool for lifecycle management.
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 is a generic wrapper (args array with empty {} item schemas plus windowId), so the description's typed signature is the only real parameter documentation. It specifies id, eventType with its 'all' union, the full callFn callback shape (eventType, props: [{ net: string }]), and the optional onlyOnce flag — without which an agent could not construct the args array 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 clearly states a verb ('新增', add) and resource (网络事件监听, net event listener), and the full signature line 'pcb_Event.addNetEventListener(id: string, eventType: 'all' | EPCB_NetEventType, callFn: ...)' pins down the exact scope. The tool is distinguishable from sibling listeners (mouse, primitive, image) mainly via the name and the net-specific eventType, but the description itself does not explicitly contrast it with those 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 gives two concrete trigger scenarios (filter panel + canvas selection, and design-tree net selection) and a critical environment constraint — '仅扩展有效...将始终 throw Error' — which tells the agent when events fire and that standalone script use is forbidden. However, it offers no comparison with alternative event-listener tools and doesn't mention pairing with eda_pcb_event_remove_event_listener for cleanup.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_event_add_primitive_event_listenerA
pcb_Event.addPrimitiveEventListener(id: string, eventType: 'all' | EPCB_PrimitiveEventType, callFn: (eventType: EPCB_PrimitiveEventType, props: [{ primitiveId: string; primitiveType: EPCB_PrimitiveType; net?: string; designator?: string; parentComponentPrimitiveId?: string; parentComponentDesignator?: string }]) => void | Promise, onlyOnce?: boolean) -> void
新增图元事件监听
remarks: 注意:本接口仅扩展有效,在独立脚本环境内调用将始终 throw Error
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 constraint: it throws an Error in standalone script environments. It also specifies the callback signature and return type, making the interaction model transparent. However, it does not mention side effects, cleanup, or listener removal.
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 dense function signature followed by a short Chinese phrase and a remark. It is not front-loaded with purpose and the signature is complex, which could hinder readability. It is moderately concise but could be better structured for agent comprehension.
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 lacks context on when the callback is invoked, what EPCB_PrimitiveEventType values are valid, the behavior of onlyOnce, and how the props array should be handled. It also omits any mention of the windowId parameter. Given the complexity of an event listener, more context would be needed for correct 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?
The input schema only defines wrapper parameters (args and windowId) with generic descriptions. The description's full function signature provides essential parameter details: id, eventType, callFn with a detailed props structure, and onlyOnce. This is crucial since the schema's 'items' is empty, so the description compensates fully.
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 ('addPrimitiveEventListener' and '新增图元事件监听') and the resource (PCB primitives). It is specific enough to distinguish from sibling event listeners like mouse, net, or image listeners.
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 other event listener tools. It only mentions an environmental constraint (extension-only) but does not address alternative listeners or scenarios where this specific primitive listener is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_event_add_ray_tracer_engine3_dview_camera_change_event_listenerA
pcb_Event.addRayTracerEngine3DViewCameraChangeEventListener(id: string, callFn: (props: { position: { x: number; y: number; z: number }; rotation: { x: number; y: number; z: number }; focalLength: number }) => void | Promise, onlyOnce?: boolean) -> void
新增光线追踪引擎 3D 预览相机变动(拖动 3D 模型)事件监听
remarks: 注意:本接口仅扩展有效,在独立脚本环境内调用将始终 throw Error
ADD since EDA v4
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 does disclose the extension-only restriction, the throwing behavior, and the event trigger (dragging the 3D model), but leaves out details like listener removal, idempotence, 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 efficient, front-loading the signature and then providing the Chinese summary and remarks. The signature is necessary for correct invocation clinging; no superfluous text 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?
For an event-listener tool with no output schema, the description covers the purpose, event trigger, parameters, and environment restrictions. It could mention how to remove the listener or handle duplicates, but those are minor gaps given the existing 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?
The description includes the full official signature with parameter names, types, the callback's exact props structure, and the optionality of onlyOnce. The generic schema only says 'args' is an array, so this description provides all the meaningful 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 this tool adds an event listener for camera changes in the 3D ray tracer engine preview, triggered by dragging the 3D model. It names the specific event and resource, distinguishing it from sibling PCB event listeners.
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 only usage guidance is the remark that it only works in extensions and throws an Error in standalone scripts. There is no explicit when-to-use or comparison against alternative event-listener tools, so an agent must infer the appropriate context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_event_add_ray_tracer_engine3_dview_click_material_event_listenerA
pcb_Event.addRayTracerEngine3DViewClickMaterialEventListener(id: string, callFn: (props: { materialId: number; material: any }) => void | Promise, onlyOnce?: boolean) -> void
新增光线追踪引擎 3D 预览点击材质事件监听
remarks: 注意:本接口仅扩展有效,在独立脚本环境内调用将始终 throw Error
ADD since EDA v4
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the behavioral disclosure burden. It reveals a critical side effect: calling it outside an extension throws an Error. It also documents the callback signature and optional onlyOnce behavior, giving an agent meaningful information about the listener lifecycle.
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 the signature, followed by a concise Chinese summary and an essential usage caveat. The 'ADD since EDA v4' line is minor but not wasteful. Overall it is tight 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?
For a registration-only tool with no annotations or output schema, the description covers the event, callback contract, return type, and the standalone-script failure mode. It does not clarify the semantics of the id parameter or mention how to remove the listener, but those gaps are relatively minor given the explicit signature.
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 only provides generic args and windowId, but the description compensates by embedding the full official signature: id as string, callFn with materialId: number and material: any, and optional onlyOnce. This gives precise meaning to the array elements that the schema alone does not explain.
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 and resource: it adds a click material event listener for the ray tracer engine 3D view, confirmed by both the API signature and the Chinese summary. This is distinct from sibling event listener tools like camera change, render progress, mouse, and primitive listeners. An agent can tell exactly what event it subscribes to.
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 the tool applies (ray tracer 3D material click events) and explicitly warns it is only valid in extension environments, throwing in standalone scripts. It does not name alternative event-listener tools or explain when to choose them instead, but the event scope is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_event_add_ray_tracer_engine_render_progress_event_listenerA
pcb_Event.addRayTracerEngineRenderProgressEventListener(id: string, callFn: (props: { loaded: boolean; sampleCount: number }) => void | Promise, onlyOnce?: boolean) -> void
新增光线追踪引擎渲染进度事件监听
remarks: 注意:本接口仅扩展有效,在独立脚本环境内调用将始终 throw Error
渲染进度事件的回调数据格式为 { loaded: boolean, sampleCount: number }:
loaded:光线追踪引擎是否已加载完成sampleCount:当前渲染的采样次数
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavioral traits. It does disclose the throw behavior in standalone environments and describes the callback data format. However, it does not mention that this registers a persistent listener, whether duplicate ids cause issues, or how the onlyOnce parameter affects behavior. These are minor gaps but the core behavior is 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 well-structured: it starts with the signature, then a one-line purpose, followed by a remark about environment validity and then a breakdown of the callback data. It is appropriately sized and front-loads the most critical information (signature and environment 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?
For a simple event registration tool, the description covers the essential aspects: the function signature, the callback data fields, and the environment limitation. It does not mention cleanup or how to unregister, but that may be handled by sibling tools. The missing onlyOnce explanation is a slight gap, but overall the description is sufficient for an agent to call 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 input schema only has generic 'args' and 'windowId' parameters. The description adds significant meaning by providing the actual function signature (id, callFn, onlyOnce) and the callback structure. However, it does not explain the semantics of 'onlyOnce' (whether it means the listener fires only once), which is a notable omission for a boolean flag.
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 ray tracing engine render progress event listener) and specifies the resource and event type. The name is self-explanatory and the description reinforces it, distinguishing it from other event listeners like camera change or mouse listeners.
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 important usage constraint: it only works in an extension environment and throws an error in standalone scripts. However, it does not explicitly mention when to use this tool versus alternative event listener tools (e.g., other add_*_event_listener siblings), nor does it mention how to remove the listener (e.g., eda_pcb_event_remove_event_listener).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_event_add_real_time_drc_result_event_listenerA
pcb_Event.addRealTimeDrcResultEventListener(id: string, eventType: 'all', callFn: (eventType: undefined, props: [{ drcResult: any }]) => void | Promise) -> void
新增实时 DRC 结果事件监听
remarks: 注意:本接口仅扩展有效,在独立脚本环境内调用将始终 throw Error
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the burden. It discloses the standalone-script throw behavior and the callback signature, but omits details about event lifecycle, cleanup, or the structure of the DRC result payload beyond 'any'. This is partial 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?
Three compact lines: signature, purpose in Chinese, and a crucial remark. Every sentence adds value, and the most critical constraint (throw behavior) is placed separately for emphasis. 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 an event-listener registration tool, the description leaves gaps: return value (void) is clear, but there is no mention of how to remove the listener, whether duplicate listeners are allowed, or what data the drcResult contains. With no output schema and no example, an agent may struggle to use it correctly beyond basic registration.
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 only defines generic args/windowId, but the description's function signature reveals the actual parameter structure (id, eventType, callFn), greatly aiding the agent. This fully compensates for the empty args items 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 states the action 'add real-time DRC result event listener' (新增实时 DRC 结果事件监听) and includes the precise method signature. This distinguishes it from other event listener tools like eda_pcb_event_add_cross_probe_select_event_listener by naming the specific event type.
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 important usage constraint: the interface only works in extensions and will throw an error in standalone scripts. However, it does not explain when to choose this tool over alternative event listener registration methods or mention any prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_event_is_event_listener_already_existC
pcb_Event.isEventListenerAlreadyExist(id: string) -> boolean 查询事件监听是否存在 returns: 事件监听是否存在
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description carries full responsibility. It only restates the return type (boolean) and the basic query intent. It does not disclose side effects, error behavior, or any nuances like what 'exists' means or whether the check is scoped to a specific window. This is minimal and relies heavily on 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 concise, consisting of a signature and two short Chinese phrases. It is not bloated, but it's under-specified and lacks structure that would help an agent (e.g., no parameter explanation, no usage context). It's minimal rather than efficiently 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?
With no output schema, the description should clarify return values; it only says 'returns: whether event listener exists', which is acceptable but minimal. It does not explain the 'id' parameter's nature, how to obtain it, or the distinction between this and sibling tools. Given the many similar tools, the description is insufficiently complete for an agent to confidently select and call 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 coverage is 100% (both args and windowId have descriptions), so the schema already documents parameter semantics. The description adds no parameter information beyond the schema, but the baseline is 3 for high coverage, and the description doesn't need to compensate.
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 checks whether an event listener exists via '查询事件监听是否存在' and the signature reveals the boolean return. The domain (PCB) is implied by the name prefix, but the description itself doesn't explicitly mention it, so it's clear but not fully differentiated from sibling tools like eda_sch_event_is_event_listener_already_exist.
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 the similar event-listener-existence checks for schematic, DMT, or i18n domains. The description only states what it does, not when to choose it, so an agent must infer the domain from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_event_remove_event_listenerC
pcb_Event.removeEventListener(id: string) -> boolean 移除事件监听 returns: 是否移除指定事件监听
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It only states that a boolean is returned indicating whether the listener was removed, but doesn't disclose side effects, error behavior when id is invalid, or whether the listener must 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 extremely brief, consisting of a signature and a short Chinese phrase. It is concise but lacks essential structure like usage context or parameter explanations, making it minimal but not well-organized.
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 parameters and no output schema, the description is incomplete. It does not explain how to pass the id, what windowId is for, or when to use this tool. An agent would struggle to know how to correctly invoke it 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?
The description gives the signature 'id: string' but does not explain that this id goes into the args array, nor what the id represents (e.g., listener ID from addEventListener). The schema's args array is generic, so 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?
The description clearly states the tool removes an event listener ('移除事件监听' and the signature 'pcb_Event.removeEventListener'). It names the specific action and resource, and is distinguishable from add/check listener tools even without explicit sibling 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?
No guidance is given on when to use this tool versus alternatives. It doesn't mention prerequisites like having previously added a listener, nor does it indicate that this is for PCB events only (vs. schematic or window events).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_image_tool_process_imageA
pcb_ImageTool.processImage(file: File, options?: { maxBytes?: number; acceptableBytes?: number }) -> Promise<{ file: File; dataURL: string; width: number; height: number; msg: string | null }>
选图处理门面(弹窗内重选图片:校验/压缩/读尺寸/预览 dataURL 全由服务端完成)
deprecated: 临时接口(插入图片 PCB 迁移打通流程用):等统一放置接口重构落地后删除替换,请尽快迁移,勿在新功能中继续依赖
remarks: ADD since EDA v5
returns: 处理结果:file 压缩后文件;dataURL 预览图 dataURL(decode 失败为空字符串);width/height 原始自然尺寸;msg 提示消息(有值需 toast,如「不能超过 50MB」「已压缩至小于2MB」)
[已弃用]
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry behavioral disclosure. The description clearly states it performs validation, compression, dimension reading, and preview generation. It also includes return value behavior: file is compressed, dataURL may be empty on decode failure, and msg may need to be toasted. Deprecation status is disclosed. However, it does not mention side effects like whether it modifies the original file or requires 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 long with mixed Chinese and English, and includes the method signature, which is helpful but not front-loaded. The core purpose is stated early, but details like returns and remarks are embedded. It is not overly verbose, but the deprecation note takes space. It could be simplified.
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 deprecated tool with no annotations, the description covers the purpose, behavior, and returns adequately. However, it lacks: the types of files accepted (e.g., formats), what maxBytes and acceptableBytes do exactly, and what happens if the file is invalid. Since the output schema is not provided, the description must explain return values, which it does. But the parameter prerequisites are not fully clear.
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 coverage is 100%, meaning all parameters are described in the schema, though the actual parameters (file, options) are not detailed in the schema (items are empty, only args and windowId are listed). The description adds the constraints maxBytes and acceptableBytes and explains their purpose implicitly via return messages. But it does not explain how to pass the file object (e.g., as a path or blob) or the meanings of maxBytes/acceptableBytes beyond size limits. Since coverage is high, baseline 3 is appropriate.
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 purpose: processing an image (validate/compress/read dimensions/preview) for PCB image insertion. It specifies the resource (image file) and the operation (processImage). It distinguishes from siblings like eda_pcb_image_tool_start_place_true_color_picture and eda_pcb_image_tool_start_place_vector_image, which are about placing images, whereas this one is about processing a selected image. The Chinese text adds context about re-selecting images in a popup, but the English is sufficient.
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 indicates this is used when re-selecting an image in a popup, for image processing before placement. It contrasts with sibling tools that start placing true color or vector images. However, it does not explicitly state when not to use this tool or provide alternatives; the deprecation note warns against new dependencies but does not name a replacement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_image_tool_start_place_true_color_pictureA
pcb_ImageTool.startPlaceTrueColorPicture(options: { imageBlob: Blob; width: number; height: number; unit?: 'mm' | 'mil'; fileName: string }) -> Promise 开始放置真彩图片(权限校验 → 图片审核 → 内核上传 → 模板注册 → 触发放置) deprecated: 临时接口(插入图片 PCB 迁移打通流程用):等统一放置接口重构落地后删除替换,请尽快迁移,勿在新功能中继续依赖 remarks: ADD since EDA v5 returns: 放置工具是否成功触发(权限未过/审核未过/导入失败返回 false) [已弃用]
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It reveals the full execution pipeline (permission check → image review → kernel upload → template registration → trigger placement) and defines return semantics: false if permission/review/import fails. It also communicates that it triggers the placement tool rather than directly inserting an image, though editor-side side effects are not 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 front-loaded with the signature and pipeline, which is good. However, deprecation is stated redundantly in both English ('deprecated') and Chinese ('[已弃用]'), and the mixed-language fragments make the structure slightly noisier than necessary.
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 non-annotated tool with no output schema, it covers return type, failure modes, and pipeline stages well. Missing context includes prerequisites such as active PCB document/window requirements, image format constraints, and how the options object maps into the generic args array wrapper.
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 only exposes generic args and windowId, so the options signature in the description adds real value: imageBlob, width, height, optional unit enum, and fileName. It does not explain each parameter in depth, but types, optionality, and the unit enum largely compensate for the generic 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 gives the exact API signature and states '开始放置真彩图片' (start placing a true-color image), clearly identifying the verb, resource, and action. It also distinguishes this from vector-image and image-processing siblings by naming the true-color placement 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 is explicitly marked deprecated and says it is a temporary interface for the PCB image-migration flow, with instructions to migrate and not depend on it in new features. It does not name a concrete replacement tool, so it stops short of a full when-to-use/alternatives statement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_image_tool_start_place_vector_imageB
pcb_ImageTool.startPlaceVectorImage(options: { path: string; width: number; height: number; unit?: 'mm' | 'mil' }) -> Promise 开始放置矢量图片(将描摹好的路径交给内核,触发十字光标放置) deprecated: 临时接口(插入图片 PCB 迁移打通流程用):等统一放置接口重构落地后删除替换,请尽快迁移,勿在新功能中继续依赖 remarks: ADD since EDA v5 returns: 放置工具是否成功触发 [已弃用]
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description must carry all behavioral disclosure. It mentions triggering a crosshair placement interaction and returns a boolean, but does not disclose side effects, whether the placement is reversible, what happens if the user cancels, or any permission requirements. This is inadequate for a mutation-like 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-loads the signature and main action before the deprecation and remarks. It mixes languages but stays under a few lines, and every part is relevant. It is appropriately sized without excessive 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?
The description omits the windowId parameter entirely and does not explain prerequisites or expected workflow beyond implying the paths are already traced. It does not mention how the boolean return is used or any follow-up steps. Given the tool's deprecation and interactive nature, more context about cancellation or errors would be needed 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?
The description provides the full signature including parameter names, types, and the unit enum ('mm'|'mil'), which is absent from the input schema (which only has args array and windowId). However, it does not explain the meaning of each parameter—e.g., what 'path' refers to, what width/height represent, or the default unit—so it only partially compensates for the schema's lack of detail.
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 ('start placing vector image'), explains the mechanism (passing traced paths to the kernel and triggering crosshair placement), and is clearly distinct from its sibling eda_pcb_image_tool_start_place_true_color_picture by the 'vector' qualifier. The verb 'startPlace' is explicit about the resource and 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 includes a deprecation notice and tells users to migrate away, but it does not specify when to use this tool versus alternatives or provide any alternative tool name. It gives no positive usage guidance, only a warning to avoid it, so an agent receives no clear selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_layer_add_custom_layerB
pcb_Layer.addCustomLayer() -> Promise<TPCB_LayersOfCustom | undefined>
新增自定义层
returns: 新增的自定义层的图层 ID,如若为 undefined 则为新增失败,可能是自定义层数量已达到上限
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 mention the return type (Promise resolving to layer ID or undefined) and a failure condition (custom layer limit reached), which is useful. However, it does not disclose side effects, whether the operation is destructive, or any permission requirements. It partially covers behavior but leaves 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 short and front-loaded with the API signature. It includes the essential return information in a compact form. No unnecessary words, though it mixes English and Chinese, which is acceptable given the context. It 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?
The tool has no output schema and no annotations, and the description does not explain what parameters are required, how to structure the args array, or any contextual requirements (e.g., must have an active PCB document). It also lacks guidance on error handling beyond the undefined return. The description is insufficient for an agent to invoke the tool correctly without 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?
The input schema has two properties: 'args' (an array) and 'windowId'. The description does not elaborate on what arguments the args array should contain, such as layer name, type, or position. The schema description for 'args' is generic ('JSON parameter array'), and the description adds no meaning. Schema coverage is high, but the descriptions are unhelpful, so the baseline of 3 does not apply; the tool likely requires specific parameters that are not explained.
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 adds a custom layer via the API call 'pcb_Layer.addCustomLayer()'. It specifies the resource (custom layer) and the action (add), distinguishing it from sibling layer tools like get_all_layers or remove_layer. 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 guidance on when to use this tool versus alternatives. It does not mention prerequisites, such as an open PCB document or the need to have a layer stack configured, nor does it contrast with other layer-management tools. An agent must infer the usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_layer_delete_physical_stacking_configurationA
pcb_Layer.deletePhysicalStackingConfiguration(configurationName: string, physicalProps?: IPCB_SubstratePhysicalProperties) -> Promise 删除物理叠层配置 remarks: ADD since EDA v4.2 returns: 删除是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations the description must disclose behavior itself; it does state that the operation deletes a configuration and returns a boolean '删除是否成功'. However, it does not mention whether deletion is irreversible, whether the configuration can be deleted if currently in use, or any side effects on the PCB stackup.
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 the API signature, followed by a one-line purpose, version note, and return meaning. No redundant prose, though the version remark is marginal.
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 PCB stackup operation with no annotations and no output schema, the description is too thin. It lacks constraints, side effects, and clarification of physicalProps, so an agent may call it without knowing whether the targeted configuration is deletable or what happens to the current board.
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 generic args/windowId schema is uninformative, but the description's signature provides parameter names, types, and optionality: configurationName: string and physicalProps?: IPCB_SubstratePhysicalProperties. It still leaves the meaning of physicalProps unexplained, but it materially improves on 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?
The description names a specific action with verb and resource: 'deletePhysicalStackingConfiguration' and '删除物理叠层配置'. It clearly differentiates this from sibling layer configuration tools such as rename/save/get, so an agent can identify it as the delete 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?
There is no guidance on when to use this tool instead of alternatives, no prerequisite like enumerating configurations first, and no note about constraints such as protected/default configurations. The only meta-information is 'remarks: ADD since EDA v4.2', which is version history rather than usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_layer_get_all_layersB
pcb_Layer.getAllLayers() -> Promise<Array> 获取所有图层的详细属性 returns: 所有图层的详细属性
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It adds useful context by showing the async signature Promise<Array<IPCB_LayerItem>> and stating that all layers' detailed properties are returned. However, it does not explicitly state that this is a read-only operation with no side effects, nor does it mention error conditions or window applicability.
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 front-loaded with the signature, but it is redundant: '获取所有图层的详细属性' and 'returns: 所有图层的详细属性' say essentially the same thing. A single concise sentence would be more effective.
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-required-parameter getter, the invocation path is fairly clear. However, there is no output schema, and the description only says the result contains 'detailed properties' without enumerating IPCB_LayerItem fields, so an agent has limited information about the shape it will need to consume.
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 already documents both parameters generically, so the description does not need to repeat them. The signature `getAllLayers()` implies no underlying API arguments, which is helpful, but the description does not clarify how `args` should be passed or whether it must be an empty array, 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 states a clear verb-resource pair: '获取所有图层的详细属性' (get detailed properties of all layers) and gives the return type. The word 'all' helps distinguish it from sibling tools like eda_pcb_layer_get_current_layer, though it does not explicitly name or contrast any sibling.
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. The description does not say when to prefer this tool over related layer tools such as get_current_layer, get_the_number_of_copper_layers, or get_current_physical_stacking_configuration, 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.
eda_pcb_layer_get_all_physical_stacking_configurationsC
pcb_Layer.getAllPhysicalStackingConfigurations(physicalProps?: IPCB_SubstratePhysicalProperties) -> Promise<Array> 获取所有物理叠层配置 remarks: ADD since EDA v4.2 returns: 所有物理叠层配置
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full behavioral disclosure burden, but it never confirms the call is side-effect free, what document context is required, or how errors/empty results behave. It adds only a version note and return type, which is not enough for a tool invoked without safe-read 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 short and front-loads the signature and purpose before the version and return notes. Minor redundancy exists between the return type in the signature and the 'returns' line, but there is no padding or irrelevant 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?
For a tool with no output schema or annotations and only a generic args array, the description is incomplete: it omits the meaning of physicalProps, the distinction from current/default stacking configuration tools, and the expected preconditions. An agent would struggle to know exactly what it receives and when to use 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?
The schema covers the generic args/windowId shape, and the description adds the parameter name and optionality via 'physicalProps?: IPCB_SubstratePhysicalProperties'. However, it does not explain what physicalProps does or how it affects the returned configurations, so the semantic gap remains.
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 '获取所有物理叠层配置' (get all physical stacking configurations) and shows the signature returning an array of IPCB_PhysicalStackingConfiguration. The verb+resource are specific, but it does not explicitly contrast with sibling tools such as eda_pcb_layer_get_physical_stacking_configuration or get_current_physical_stacking_configuration.
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 the many layer/stacking siblings. It does not state that this is the comprehensive listing option or recommend other tools for a single/current configuration. Usage context is left entirely to the agent's inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_layer_get_current_layerA
pcb_Layer.getCurrentLayer() -> Promise<IPCB_LayerItem | undefined>
获取当前图层的详细属性
remarks: ADD since EDA v4.2
returns: 当前图层的详细属性,无激活层或无 PCB 画布时返回 undefined
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 does disclose the return type (Promise<IPCB_LayerItem | undefined>) and edge cases (undefined when no active layer or no PCB canvas). However, it doesn't describe whether this is a read-only operation, whether it can fail with an error, or what 'detailed properties' means. For a getter, the 'gets' verb itself implies read-only, but the description doesn't add much beyond that.
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: a one-line signature, a one-line purpose, and a returns note with the key edge case. Every sentence earns its place. The 'ADD since EDA v4.2' remark is slightly noise-prone but harmless. Front-loading the signature and purpose is effective.
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 getter with no required parameters and a clear return type, the description covers the essentials. The undefined edge cases are disclosed. What's missing is a bit more context about the returned IPCB_LayerItem structure, but given no output schema exists, a brief hint about what properties might be included would strengthen it. Still, the description is adequate for the tool's simplicity.
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 100%, so the schema already documents the two parameters (args and windowId). The description mentions no parameters because this tool takes none semantically — it operates on the current layer. The windowId parameter is a generic targeting mechanism, well covered by the schema. Baseline for 100% coverage is 3, and the description's clear 'no parameters needed' distinction adds a bit more.
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 pairing: 'pcb_Layer.getCurrentLayer() -> Promise<IPCB_LayerItem | undefined>' and explains it retrieves the current layer's detailed properties. The name clearly signals it is a getter for the current PCB layer, and the description does add meaningful intent. It doesn't explicitly differentiate from sibling layer tools (e.g., get_all_layers), but the 'current' scoping is clear 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?
The description implies usage context: when you need the currently active layer in a PCB canvas. It mentions returning undefined when no active layer or no PCB canvas exists, which is a useful edge-case guard. However, it doesn't explicitly state when to use this over alternatives like get_all_layers, or mention prerequisites like ensuring a PCB document is open.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_layer_get_current_physical_stacking_configurationC
pcb_Layer.getCurrentPhysicalStackingConfiguration() -> Promise<IPCB_PhysicalStackingConfiguration | undefined>
获取当前物理叠层配置
remarks: ADD since EDA v4.2
returns: 当前物理叠层配置,undefined 为获取失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description carries the full burden for behavioral transparency. It does disclose the return type and that undefined indicates failure (获取失败), which is useful. But it does not disclose whether this is a read-only operation in effect, what happens if no document is open, whether it returns a snapshot or live reference, or what the IPCB_PhysicalStackingConfiguration structure contains. No readOnly/destructive hints are provided.
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—the signature plus a one-line Chinese summary and remarks/returns labels. It is compact but front-loads the raw API signature rather than a plain-language statement of what the tool does. The concise Chinese line is the main content. Not verbose, but also not structured for an agent scanning quickly; no whitespace or separation between the summary and remarks.
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 0-required-param getter, but the domain concept (physical stacking configuration) is unexplained. With no output schema and no annotations, the description fails to cover what the returned object means, what 'current' refers to (active document vs active window), or how failure (undefined) should be handled. Among many layer-related siblings, the description does not complete the minimal context an agent needs to decide and interpret the result.
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% for the two parameters (args and windowId), and both are self-describing in the schema: args is a JSON parameter array in official signature order, windowId targets a window. The tool has 0 required parameters and no enums. The description adds little parameter detail, but with no actual tool-specific parameters beyond the generic wrapper, the schema burden is already met. Baseline 4 is appropriate since the function takes no substantive domain 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 function name and says it retrieves the current physical stacking configuration (获取当前物理叠层配置). The return type is mentioned. However, the description is mostly a transliteration of the tool name—it doesn't explain what a 'physical stacking configuration' actually is or what it contains in a way that adds meaning beyond the name. It doesn't clearly distinguish itself from sibling get_all_physical_stacking_configurations or get_physical_stacking_configuration, though the name already partially differentiates.
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 on when to use this tool versus get_all_physical_stacking_configurations or get_physical_stacking_configuration. The description provides no context about requiring an open PCB document, or that it operates on the current document. An agent would struggle to decide between this and similar layer-configuration getter siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_layer_get_current_physical_stacking_configuration_nameC
pcb_Layer.getCurrentPhysicalStackingConfigurationName() -> Promise<string | undefined>
获取当前物理叠层配置名称
remarks: ADD since EDA v4.2
returns: 当前物理叠层配置名称,undefined 为获取失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 mention that `undefined` indicates failure, which is helpful, but it doesn't disclose whether the operation is read-only, whether it requires a specific editor state, or whether it can throw other errors. For a getter with no annotations, this is minimal 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 description is extremely short and to the point. It includes the function signature, a one-line purpose, and the return behavior. There is no fluff, and it's front-loaded with the core action. It could be slightly more informative without becoming verbose, but it earns a 4 for 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?
Given the tool's simplicity, the description provides the basic return type and failure condition, but it lacks crucial context about when to use it versus sibling tools and how the optional windowId parameter affects the operation. Since there is no output schema, the description should explain the return value more thoroughly (e.g., what a typical name looks like). It's incomplete for an agent that needs to decide between this and get_current_physical_stacking_configuration.
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% for the two parameters (args and windowId), so the baseline is 3. The description adds no additional parameter meaning; it doesn't clarify that args should typically be an empty array or how windowId affects the result. Since the schema already describes both parameters generically, and the tool's function signature suggests no required arguments, the description's lack of parameter detail is acceptable but not enhancing.
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 the current physical stacking configuration name (获取当前物理叠层配置名称). It identifies the verb 'get' and the specific resource. It doesn't explicitly differentiate from siblings like get_current_physical_stacking_configuration (which returns the full configuration object) or get_default_physical_stacking_configuration_name, but the name itself is unambiguous. A 4 is appropriate because while the purpose is clear, it doesn't explicitly contrast with similar 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 on when to use this tool versus alternatives. For example, it doesn't say 'use this when you only need the name, use get_current_physical_stacking_configuration for the full object.' There is also no mention of prerequisites like needing an active PCB document or a specific window context. The description leaves usage entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_layer_get_default_physical_stacking_configuration_nameA
pcb_Layer.getDefaultPhysicalStackingConfigurationName(physicalProps?: IPCB_SubstratePhysicalProperties) -> Promise<string | undefined>
获取新建 PCB 默认物理叠层配置的名称
remarks: ADD since EDA v4.2
returns: 默认物理叠层配置的名称,undefined 为获取失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It adds useful behavior details: returns undefined on failure ('undefined 为获取失败') and notes the API was added in EDA v4.2. However, it does not state whether the operation is read-only, whether it depends on an open PCB document, or what side effects, if any, occur.
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 well-structured: API signature, one-sentence purpose, a version remark, and a return-value note. Each component earns its place. It is slightly less than perfect because the signature and Chinese purpose partially restate the tool name, but there is no 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?
For a simple getter with no annotations and no output schema, the description covers the essential return behavior and failure mode. The main gap is the undocumented IPCB_SubstratePhysicalProperties type and how omitting it changes the result; an agent would need external knowledge to confidently construct the optional argument.
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?
Even though schema description coverage is 100%, the schema's args field is a generic array containing empty items. The description adds real meaning by exposing the official signature, including the optional 'physicalProps?: IPCB_SubstratePhysicalProperties' parameter and its order. It does not explain the contents of IPCB_SubstratePhysicalProperties, but it goes beyond what the schema alone 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 identifies a specific operation: '获取新建 PCB 默认物理叠层配置的名称' (get the name of the default physical stacking configuration for a new PCB). It is unambiguous about the resource and verb, but it does not explicitly differentiate itself from sibling tools like get_current_physical_stacking_configuration_name, so it stops 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 phrase '新建 PCB' implies this tool is for retrieving the default configuration used when creating a new PCB, which is useful context. However, there is no explicit guidance about when to prefer this over related layer/stacking configuration tools, nor any exclusion criteria such as 'use X for the current PCB'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_layer_get_physical_stacking_configurationC
pcb_Layer.getPhysicalStackingConfiguration(configurationName: string, physicalProps?: IPCB_SubstratePhysicalProperties) -> Promise<IPCB_PhysicalStackingConfiguration | undefined>
获取指定物理叠层配置
remarks: ADD since EDA v4.2
returns: 物理叠层配置,undefined 为不存在该物理叠层
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It does disclose the useful trait that the return is `undefined` when the named config doesn't exist and adds the version note (since EDA v4.2), but it says nothing else about side effects, prerequisites, window requirements, or what the returned configuration object contains. This is thin coverage for an unannotated 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 compact: signature, one-line purpose, version remark, and return semantics. It is front-loaded with the action and contains no filler. The signature repeats the name but earns its place by documenting parameters.
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 no output schema and no annotations, so the description alone must explain the return value and usage context. It only says '物理叠层配置' (physical stacking configuration), which is circular without domain knowledge, and leaves the physicalProps interface, the structure of the returned object, and the source of valid configuration names unexplained. An agent cannot fully know what a successful result looks like.
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 signature line adds both parameter names and types (configurationName: string, physicalProps?: IPCB_SubstratePhysicalProperties), which is valuable since the schema's args items are empty `{}` objects. However, it doesn't explain what physicalProps affects, what a valid configurationName looks like, or where to obtain config names — the schema itself provides no per-parameter descriptions for the actual function arguments.
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 verb+resource: '获取指定物理叠层配置' (get the specified physical stacking configuration), and the signature documents the returned type. The word '指定' (specified) helps distinguish it from siblings like eda_pcb_layer_get_all_physical_stacking_configurations and eda_pcb_layer_get_current_physical_stacking_configuration, though it never names them 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 given on when to use this tool versus siblings. The description doesn't mention that this is for retrieving a config by name, or that get_all/get_current should be used to discover names or get the active config. An agent would have to infer usage entirely from the name and a one-line Chinese statement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_layer_get_the_number_of_copper_layersC
pcb_Layer.getTheNumberOfCopperLayers() -> Promise 获取铜箔层数 returns: 层数
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 only states the operation is a getter and returns a number. It does not mention that it is read-only, does not alter state, or any prerequisites such as an active PCB document. For a simple getter this is minimal but acceptable; still, it does not add meaningful 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 extremely terse, consisting of a code signature and a single Chinese line. While concise, it is under-specified and not structured to front-load useful information. It does not earn its place by adding value; it is simply minimal.
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 getter with no output schema, the description should at least indicate what the number represents (it does), but it omits any mention of the window context or the need for an active PCB editor. It does not explain the role of the windowId parameter or any potential errors. Incomplete for an agent to call it 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 description coverage is 100%, with 'args' and 'windowId' documented generically. The tool description adds nothing beyond that, but since the schema already explains the parameters, the baseline of 3 is appropriate. The description does not clarify that 'args' is typically empty for this getter.
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 verb (获取/get) and resource (铜箔层数/copper layer count), and the return type is declared. It is not a tautology, but it does not differentiate from sibling tools like eda_pcb_layer_set_the_number_of_copper_layers, which is the obvious complementary setter.
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 the setter counterpart, nor any condition like 'use this to inspect the current layer count'. The description offers no context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_layer_lock_layerC
pcb_Layer.lockLayer(layer?: TPCB_LayersInTheSelectable | Array) -> Promise 锁定层 returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it only discloses the return type (Promise<boolean>). It does not explain what locking does to the layer state, whether the operation is reversible, what happens when the layer is already locked, or how it affects the target window — a meaningful gap 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 short and the signature is front-loaded, but it is under-specified rather than economically complete. Almost all content is the raw signature plus a two-line note; there is no behavioral or contextual prose to earn the 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 tool with two parameters and no output schema, the description conveys the basic operation and return meaning but leaves the layer parameter values unexplained and provides no behavioral context or usage scenario. An agent could invoke it but would not know what valid layer inputs look like or what side effects to expect.
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%, but the schema only describes a generic 'args' array and windowId. The description adds the function signature, which supplies the layer parameter's type (TPCB_LayersInTheSelectable or an array thereof) — value beyond the generic schema. Still, the valid values and semantics of the layer parameter are not explained, so it 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 states the operation (锁定层 / lock layer) and the signature reveals the verb+resource, so the purpose is identifiable and not a pure tautology. However, it is essentially a raw API signature dump with a two-word Chinese phrase and a return note; it does not articulate scope or differentiate from layer siblings in any descriptive way.
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 zero guidance on when to lock a layer, what prerequisites exist, or which alternative to prefer. Siblings like eda_pcb_layer_unlock_layer, eda_pcb_layer_select_layer, and eda_pcb_layer_modify_layer are not referenced, and no selection condition or exclusion is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_layer_modify_layerA
pcb_Layer.modifyLayer(layer: TPCB_LayersInTheSelectable, property: { name?: string; type?: TPCB_LayerTypesOfInnerLayer; color?: string; transparency?: number }) -> Promise
修改图层属性
remarks: 仅内层和自定义层允许修改名称;仅内层允许修改类型, 透明度仅支持0-100之间的数
returns: 修改后的图层属性,如若为 undefined 则代表修改失败或图层不存在
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden and does disclose return semantics (undefined means failure or nonexistent layer) and per-property constraints. However, there is an internal inconsistency: the signature declares Promise<boolean> while the 'returns' note describes returning modified layer properties, which undermines confidence in the actual behavior.
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 information-dense: signature line, one-line purpose, terse remarks, and return note. No filler words. The only minor structural flaw is the redundant restatement of the signature at the top when the tool name already encodes the call.
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 no output schema, it covers parameter constraints and failure semantics well. Gaps remain: the enum types TPCB_LayersInTheSelectable and TPCB_LayerTypesOfInnerLayer are not expanded, and the contradictory return-type information (boolean vs. properties object) leaves an agent uncertain about how to interpret the result.
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 is a generic args-array wrapper with 100% coverage but zero semantic value, so the description must compensate—and it does. The signature documents the layer parameter type and the property object's four fields with types, and the remarks add critical value constraints (transparency range, which layers allow name/type changes) 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?
The description states a clear verb+resource: '修改图层属性' (modify layer properties) and enumerates the specific modifiable fields (name, type, color, transparency) via the signature. This distinguishes it from sibling layer tools like lock/visible/select, though it never names those alternatives 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?
The remarks section provides meaningful usage constraints: only inner and custom layers allow name changes, only inner layers allow type changes, and transparency is limited to 0-100. This tells the agent when modifications are permitted, but gives no guidance on when to choose this tool over related siblings such as eda_pcb_layer_set_layer_visible or eda_pcb_layer_set_inactive_layer_transparency.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_layer_overwrite_current_physical_stacking_configurationA
pcb_Layer.overwriteCurrentPhysicalStackingConfiguration(physicalStackingConfiguration: IPCB_PhysicalStackingConfiguration) -> Promise 覆写当前物理叠层配置 remarks: 将会覆写 PCB 当前的物理叠层配置,请注意数据丢失风险
如果传入的物理叠层配置不符合当前 PCB 的物理属性,将会直接返回 false 且不进行修改
ADD since EDA v4.2 returns: 覆写是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 warns about data loss risk ('请注意数据丢失风险'), which is critical for a destructive overwrite operation. It also discloses the failure behavior: returns false without modification if the configuration doesn't match. This goes beyond the basic 'overwrite' semantics and provides meaningful 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 compact and front-loaded with the method signature and core action. The data loss warning and failure condition are placed prominently. The 'ADD since EDA v4.2' and 'returns' lines are useful metadata. Slight redundancy between the signature and the Chinese description, but overall 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?
For a destructive mutation tool with no annotations and no output schema, the description covers the key risks (data loss) and failure mode (false return). However, it doesn't explain how to obtain a valid IPCB_PhysicalStackingConfiguration object, what 'physical properties' means in practice, or whether the operation can be undone. The return value is described ('覆写是否成功'), so that gap is covered.
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 100% for the two parameters (args array and windowId), but the description adds no detail about the physicalStackingConfiguration parameter structure or how to construct it. The method signature names the parameter type (IPCB_PhysicalStackingConfiguration) but doesn't explain its fields. The description doesn't compensate for the lack of parameter detail, so baseline 3 is appropriate.
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 ('覆写' / overwrite) and resource ('当前物理叠层配置' / current physical stacking configuration), and includes the method signature. It clearly identifies the action and target. It doesn't explicitly differentiate from sibling tools like eda_pcb_layer_save_physical_stacking_configuration or eda_pcb_layer_set_as_default_physical_stacking_configuration, but the 'overwrite current' phrasing 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?
The description implies usage context: it overwrites the current physical stacking configuration, and mentions a failure condition (returns false if the configuration doesn't match the PCB's physical properties). However, it doesn't explicitly state when to use this tool versus alternatives like save_physical_stacking_configuration or set_as_default_physical_stacking_configuration, nor does it mention prerequisites like needing to retrieve an existing configuration first.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_layer_remove_layerB
pcb_Layer.removeLayer(layer: TPCB_LayersOfCustom) -> Promise 移除层 remarks: 当前仅支持移除自定义层 returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 says it removes a layer and returns a boolean; it does not disclose that removal is destructive, whether it is reversible/undoable, whether it requires saving, or how errors are handled. This is a significant gap for a removal 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 compact and logically organized into signature, remarks, and returns. Every line contributes meaning, though the mix of code snippet and Chinese natural language may be slightly less accessible to non-technical agents.
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 mutation tool with no annotations and no output schema, this description is incomplete. It omits error behavior, irreversibility, whether it acts on the current document, and how to source a valid custom layer identifier – even though a sibling like eda_pcb_layer_get_all_layers exists to help.
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 signature adds the parameter name and type (layer: TPCB_LayersOfCustom), which is more informative than the generic args array in the schema. However, it does not enumerate valid values for TPCB_LayersOfCustom or explain how to obtain them, and windowId is already described 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 states the tool removes a PCB layer via the signature 'removeLayer' and the Chinese '移除层'. It also includes the key constraint 'current only supports removing custom layers', which differentiates it from other layer management siblings such as add_custom_layer or modify_layer, though it does not 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 remark '当前仅支持移除自定义层' implies this tool is only for custom layers, which serves as a partial exclusion. However, there is no explicit guidance about alternatives, prerequisites like having a valid custom layer, or what happens if a non-custom layer is targeted.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_layer_rename_physical_stacking_configurationC
pcb_Layer.renamePhysicalStackingConfiguration(originalConfigurationName: string, configurationName: string, physicalProps?: IPCB_SubstratePhysicalProperties) -> Promise 重命名物理叠层配置 remarks: ADD since EDA v4.2 returns: 重命名是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 only states the operation, version availability, and boolean return value. It does not disclose side effects, whether the mutation is persisted, whether the current configuration is affected, or what failure conditions look like.
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 contains the signature, a one-line purpose, a version remark, and return semantics with minimal redundancy. It would be slightly better if the natural-language purpose came before the signature, but the overall structure is efficient 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?
Given no annotations and no output schema, a signature plus a one-line purpose is insufficient for a configuration-mutation tool among many similar layer-configuration siblings. An agent would not know when to call this versus related tools, what `physicalProps` does, or what the practical consequences of renaming are.
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 provides only a generic `args` array, but the description's signature supplies parameter names and types for `originalConfigurationName`, `configurationName`, and optional `physicalProps`. The meaning of `physicalProps` and any constraints on the names remain unexplained, so the description adds only partial semantic 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?
The description exposes the exact API signature `renamePhysicalStackingConfiguration(originalConfigurationName, configurationName, physicalProps?)` and the Chinese phrase '重命名物理叠层配置', making the rename operation clear. It does not explicitly differentiate from sibling stacking-configuration tools like save, overwrite, or set-as-default, but the verb and resource 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?
No guidance is provided on when to use this tool versus related siblings such as `eda_pcb_layer_save_physical_stacking_configuration`, `eda_pcb_layer_overwrite_current_physical_stacking_configuration`, or `eda_pcb_layer_set_as_default_physical_stacking_configuration`. The description also does not mention prerequisites like whether the original configuration must already exist or whether the rename affects the current active configuration.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_layer_save_physical_stacking_configurationC
pcb_Layer.savePhysicalStackingConfiguration(physicalStackingConfiguration: IPCB_PhysicalStackingConfiguration, configurationName: string, physicalProps?: IPCB_SubstratePhysicalProperties, allowOverwrite?: boolean) -> Promise 保存物理叠层配置 remarks: ADD since EDA v4.2 returns: 保存是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 states it saves a configuration and returns a boolean, but does not disclose side effects, overwrite behavior, permission requirements, or what happens on failure. The optional allowOverwrite parameter is mentioned but not 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 very short and to the point, but it is not well-structured—it mixes a code signature with a single Chinese phrase and technical remarks. It is concise but lacks organized sections that would aid comprehension.
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 save operation with four parameters (including an optional overwrite flag), the description is insufficient. It does not explain parameter semantics, return value details, or any prerequisites like the need for an active document. The version note is minor and does not contribute to effective 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 signature lists parameter names and types but provides no semantic meaning. The input schema only describes the 'args' array and 'windowId', not the inner parameters. The description does not explain what IPCB_PhysicalStackingConfiguration or IPCB_SubstratePhysicalProperties represent, nor what configurationName should be.
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 'save' and the resource 'physical stacking configuration', which clearly identifies the operation. It distinguishes from sibling tools like get/delete/rename physical stacking configurations because it is the only one with 'save' in the name and description.
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 overwrite_current_physical_stacking_configuration or set_as_default. The description does not mention prerequisites, scenarios, or exclusions, 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.
eda_pcb_layer_select_layerC
pcb_Layer.selectLayer(layer: TPCB_LayersInTheSelectable) -> Promise
选中图层
returns: 操作是否成功,不存在指定层将返回 false
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 mentions one behavioral aspect: returns false if the specified layer does not exist. However, it does not describe side effects (e.g., changing the current layer), permissions, error conditions beyond nonexistence, or any other observable behavior. This is minimal and insufficient for a mutation-like 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 extremely concise, consisting of a signature line and a short Chinese phrase plus a return note. While brevity is good, the structure mixes code signature and prose without clear separation, and the content is too sparse to be effective. It is concise but not well-structured for an agent to parse meaning efficiently.
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, but the description is incomplete. It does not explain what 'select' means operationally, how to pass the layer parameter, what the return boolean signifies beyond success/failure, or how windowId affects behavior. With no output schema and no annotations, an agent has insufficient information to call this tool correctly 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?
The schema describes args as 'JSON parameter array in official signature order' and windowId as target window ID, but these are generic. The description does not clarify what TPCB_LayersInTheSelectable values are valid, how to specify the layer, or what the array should contain. The schema coverage is high (100% properties described), but the descriptions are not tool-specific, and the tool description adds no additional meaning to the 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 verb 'select' and the resource 'layer' via the signature and the Chinese phrase '选中图层' (select layer). It is not a tautology, but it does not explain what selecting a layer actually does (e.g., makes it active) nor how it differs from sibling layer tools like lock_layer, set_layer_visible, etc. The purpose is clear at a basic level but lacks 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?
No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, contexts where selection is needed, or why one would choose selectLayer over other layer operations. The description offers no usage direction whatsoever.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_layer_set_as_default_physical_stacking_configurationA
pcb_Layer.setAsDefaultPhysicalStackingConfiguration(configurationName: string, physicalProps?: IPCB_SubstratePhysicalProperties) -> Promise
设置为新建 PCB 默认物理叠层配置
remarks: 返回值为结果导向,重复设置相同的物理叠层为默认物理叠层也将返回 true
ADD since EDA v4.2 returns: 设置是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 the return-value semantics (returns true even if the same configuration is set repeatedly) and states it affects new PCBs. However, it does not describe side effects like overwriting an existing default or whether permissions are needed.
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 reasonably concise, combining a signature, purpose, a remark, version, and return value in a compact block. It is front-loaded with the signature and purpose, and each line earns its place, though it mixes Chinese and English which may reduce 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 simple setter with no output schema, the description covers the return type and behavior. It lacks details about prerequisites (e.g., open PCB document) and the meaning of physicalProps, but the core call is adequately described.
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 the function signature with parameter names and types (configurationName: string, physicalProps?: IPCB_SubstratePhysicalProperties), which the input schema does not include. This adds meaning beyond the schema, though it does not explain what physicalProps controls or the expected format of configurationName.
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: setting a physical stacking configuration as the default for new PCBs. The function signature and Chinese text make the purpose unambiguous, and the name clearly distinguishes it from sibling tools like get_default_physical_stacking_configuration_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 on when to use this tool versus alternatives. It does not mention exclusions or conditions, such as 'use only when you need to change the default for new PCBs' or distinguish from save/overwrite/rename operations. The context is implied but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_layer_set_inactive_layer_display_modeC
pcb_Layer.setInactiveLayerDisplayMode(displayMode?: EPCB_InactiveLayerDisplayMode) -> Promise 设置非激活层展示模式 returns: 是否设置成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 the call returns a Promise<boolean> and indicates success, but it does not state side effects, whether the change is immediate or persistent, or whether it requires an active PCB window. The behavior beyond the return value is 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 very short and free of fluff, with the method signature and a Chinese gloss. It is efficiently front-loaded, but it is under-specified: the brevity comes at the expense of crucial semantic detail like enum values or usage 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?
This is a setter with no annotations, no output schema, and a single meaningful parameter whose enum values are undefined. An agent cannot reliably know what display mode values to pass or what behavior to expect, so the description is not complete enough for 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 description names the parameter 'displayMode?: EPCB_InactiveLayerDisplayMode', which adds some meaning beyond the schema's generic 'args' array. However, it does not enumerate the possible values of the enum type, which is essential for the agent to construct a valid call. The windowId parameter is also not discussed 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?
The description states a specific verb and resource: 'setInactiveLayerDisplayMode' / '设置非激活层展示模式' (set inactive layer display mode). This distinguishes it from sibling layer tools like set_layer_visible and set_inactive_layer_transparency, though it does not explain what 'display mode' means or what options exist.
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 mention of whether a specific window or document must be active. The description is purely a signature and return annotation, leaving usage entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_layer_set_inactive_layer_transparencyC
pcb_Layer.setInactiveLayerTransparency(transparency: number) -> Promise 设置非激活层透明度 returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 return type (Promise<boolean>) and that it's a setter operation, but doesn't state side effects, whether it persists, or what the boolean indicates beyond '操作是否成功'. It doesn't mention if it requires a specific window or document 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 compact: a signature line, a one-line Chinese purpose, and a return note. It front-loads the API signature and purpose. Minor redundancy between the signature and the Chinese description, but 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 setter tool with no annotations and no output schema, the description is thin. It doesn't explain the transparency value range, whether it applies to the current document, or how it relates to display mode. An agent would need to guess the parameter semantics and side effects.
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 100% for the args array and windowId, but the actual transparency parameter is inside an untyped array with no description. The description mentions 'transparency: number' in the signature, which adds some meaning, but doesn't specify valid range (e.g., 0-100 or 0-1) or units. Baseline 3 is appropriate since the schema covers the wrapper structure but the core parameter is underdocumented.
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 and resource: 'setInactiveLayerTransparency' with a transparency number parameter, and the Chinese text '设置非激活层透明度' clarifies it sets the transparency of inactive layers. It is distinguishable from sibling layer tools like set_layer_visible/invisible or set_inactive_layer_display_mode, 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?
No guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., active PCB document), valid transparency range, or that it affects only inactive layers. The context of layer display settings is implied by the name but not explained.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_layer_set_layer_color_configurationD
pcb_Layer.setLayerColorConfiguration(colorConfiguration: EPCB_LayerColorConfiguration) -> Promise 设置层颜色配置 returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It only states it sets a configuration and returns a boolean, without disclosing side effects, persistence, undo behavior, or whether it applies to the current PCB document. The mutation nature is implied but not detailed.
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 under-specified. It is not concise in a helpful way; it is a raw signature with a terse Chinese phrase. There is no organized structure explaining purpose, parameters, or 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 setter that requires a complex configuration object, the description is entirely inadequate. It does not explain the shape of EPCB_LayerColorConfiguration, any required fields, or what the configuration affects. No output schema exists, and the return description is trivial. The agent cannot correctly invoke this tool without 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?
The description reveals the parameter name 'colorConfiguration' and its type 'EPCB_LayerColorConfiguration' from the signature, but does not explain the structure or how to construct it. The schema's args array has empty items, providing no further detail. The added type name is minimal and not actionable for an agent.
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 '设置层颜色配置' (set layer color configuration), which essentially restates the tool name. It does not differentiate this from sibling layer tools (e.g., set_layer_visible, add_custom_layer) or explain what a layer color configuration entails. The method signature adds no new 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?
There is no guidance on when to use this tool versus alternatives. No mention of prerequisites, typical scenarios, or exclusions. The description provides no usage context at all.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_layer_set_layer_invisibleC
pcb_Layer.setLayerInvisible(layer?: TPCB_LayersInTheSelectable | Array, setOtherLayerVisible?: boolean) -> Promise 将层设置为不可见 returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description is the sole source of behavioral information. It discloses the return type (Promise<boolean>) and that it indicates success, but it does not explain what happens to layers not specified, the effect of the setOtherLayerVisible parameter, or whether the operation is reversible. This is minimal coverage 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 brief and front-loads the function signature followed by a concise Chinese summary. It avoids verbosity, but the signature largely repeats what the tool name implies, and the structure could be improved by separating usage notes from the signature. Still, it is well-sized and scannable.
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 that modifies layer visibility, critical information is missing: valid layer identifiers, the exact behavior of setOtherLayerVisible, whether the operation affects the current document or all documents, and any side effects. The presence of a boolean return is noted, but there is no output schema and the description fails to equip an agent to call the tool correctly in varied 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?
The schema only describes generic args and windowId, leaving the actual parameters opaque. The description partially compensates by giving type information (layer?: TPCB_LayersInTheSelectable | Array<...>, setOtherLayerVisible?: boolean) in the signature, but it does not explain the meaning of setOtherLayerVisible or how layer identifiers should be specified. Thus it adds type-level value but lacks semantic depth.
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 '将层设置为不可见' (set layer to invisible) and includes the function signature with the operation name, making the action unambiguous. It clearly indicates this is the inverse of the sibling tool eda_pcb_layer_set_layer_visible, but it doesn't explicitly describe the scope (affecting only specified layers vs. all others), so it's clear but not deeply distinguished.
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 provides only the API signature and a minimal Chinese statement; there is no mention of prerequisites, when to choose this over set_layer_visible, or any context about layer visibility management. An agent would have 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.
eda_pcb_layer_set_layer_visibleC
pcb_Layer.setLayerVisible(layer?: TPCB_LayersInTheSelectable | Array, setOtherLayerInvisible?: boolean) -> Promise 将层设置为可见 returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It only states the return type and that it sets visibility, but doesn't disclose side effects, reversibility, or any state changes beyond visibility. It's a mutation tool with no 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 very short, but it's just a raw API signature with a one-line Chinese translation. It's not well-structured for an agent; it lacks narrative explanation or formatting. It's under-specified rather than 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?
No output schema, no examples, no description of return value semantics beyond 'operation success'. The tool is simple but still lacks details like what layer identifiers are valid, what happens if layer is omitted, or how setOtherLayerInvisible behaves. Incomplete 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 includes the signature with parameter names and types (layer, setOtherLayerInvisible), but doesn't explain what they mean or how to format them. The schema only describes the wrapper args array, so the description adds the parameter names but not their semantics. This is partial value beyond 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 sets a layer visible, with a specific verb and resource. The name and signature reinforce this. However, it doesn't explicitly differentiate from sibling tools like set_layer_invisible, though the name makes it obvious.
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 on when to use this tool versus alternatives, no exclusions, and no context about when this is appropriate (e.g., toggling visibility vs. other layer operations).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_layer_set_pcb_typeA
pcb_Layer.setPcbType(pcbType: EPCB_PcbPlateType) -> Promise 设置 PCB 类型 remarks: 此处主要是为了适配 FPC 软板的设计,如若将 PCB 类型设置为 FPC 软板,将会新增 FPC 补强层图层。
请注意:
嘉立创暂不支持超过 2 层铜箔层的 FPC 软板生产;
将 PCB 类型从 FPC 软板切换为普通板材时需要预先删除 FPC 补强层上的任何图元,否则将无法切换并返回
false的结果。 returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full weight. It discloses key behavioral traits: setting FPC adds a new reinforcement layer, there's a production limitation, and switching back requires removing elements from the reinforcement layer or it fails with false. It also states the return type (Promise<boolean>) and that returns indicate success. It could mention side effects more broadly, but it covers the most important non-obvious behaviors.
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 well-structured: it starts with the signature, gives a concise primary explanation, then uses numbered notes for caveats and ends with a 'returns' line. It earns its length because the warnings are important for correct usage, and the numbered list improves scannability. It is slightly dense 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?
For a tool with a simple parameter and clear return type, the description provides the essential behavioral caveats and the precondition for switching back. It could be more complete with a short example of valid pcbType values, but the description is sufficient for an agent to understand the tool's effect, failure mode, and return 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 schema is generic (args array with no items info, windowId), so description coverage is nominally 100% only in the sense that the schema has placeholder descriptions. The main parameter pcbType is mentioned in the description ('pcbType: EPCB_PcbPlateType') but there is no explanation of allowed values or how to pass it in the args array. The description adds the semantic meaning of the parameter but still leaves practical invocation details 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 states a clear action ('setPcbType') and the resource ('PCB 类型'), so it is evident that this tool sets the board type for a PCB. It explains the main purpose is to support FPC flex board design and that setting to FPC adds reinforcement layers, which distinguishes it from typical layer configuration tools. However, it does not explicitly differentiate itself from the large set of sibling layer tools, though the unique pcbType parameter and FPC-specific behavior help separate it.
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 practical usage warnings: it notes JLC doesn't support FPC with more than 2 copper layers, and importantly states that switching from FPC back to normal board requires deleting primitives on the FPC reinforcement layer first, otherwise the switch returns false. This provides clear context for when to use the tool and what preconditions apply, though it doesn't compare to alternative tools directly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_layer_set_the_number_of_copper_layersB
pcb_Layer.setTheNumberOfCopperLayers(numberOfLayers: TPCB_NumberOfCopperLayers) -> Promise 设置铜箔层数 remarks: 新建的 PCB 文档默认拥有两层铜箔层 returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior. It states the return type (Promise<boolean>) and the default layer count, but omits important side effects: whether existing copper features are affected, whether the change is reversible, or what range of layer counts is valid. This is a mutation operation with minimal 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 compact and includes a signature, a Chinese action statement, a remark, and a return note. The signature duplicates information already available from the tool name and schema, but the overall length is appropriate and the key point (setting layer count) 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?
For a mutation tool with no annotations and no output schema, the description is incomplete. It lacks valid layer count ranges, preconditions (e.g., must have a PCB document open), side effects on existing layers/routing, and any caveats about layer stack configurations. The default-two-layers remark is helpful but insufficient for 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 describes 'args' and 'windowId' but the args array items are empty {}; the description includes the signature with 'numberOfLayers: TPCB_NumberOfCopperLayers' which gives a name and type but no semantic explanation (e.g., allowed values, meaning of the number). Schema coverage is reported as 100%, so baseline 3 is appropriate; the description adds little 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?
The description states a specific verb ('set') and resource ('number of copper layers'), and the tool name clearly distinguishes it from sibling tools like eda_pcb_layer_get_the_number_of_copper_layers. The Chinese '设置铜箔层数' reinforces the action 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?
No explicit guidance on when to use this tool versus alternatives. The remark about new PCB documents defaulting to two layers is the only contextual hint, but there is no mention of prerequisites (e.g., active PCB document) or exclusions (e.g., when the layer count is fixed).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_layer_unlock_layerC
pcb_Layer.unlockLayer(layer?: TPCB_LayersInTheSelectable | Array) -> Promise 取消锁定层 returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 return type (boolean success) but doesn't describe side effects, behavior when layers are already unlocked, or any state changes. For a mutation tool, this 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?
The description is very short, front-loading the signature and return type. It is concise and structured, with no wasted words. However, it lacks explanatory context, which makes it efficient but not 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 no annotations and no output schema, the description is incomplete. It doesn't mention the windowId parameter (schema covers it), doesn't explain what values to pass for the layer, and provides no usage context. An agent would struggle to know when to call this or what to pass.
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 includes the signature with the layer type (TPCB_LayersInTheSelectable), which the schema does not specify in the args items (empty items). This adds some meaning beyond the schema, but it doesn't enumerate valid values or explain the type. It partially compensates for the sparse 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 it unlocks a layer ('取消锁定层'), which is a clear verb and resource. It doesn't explicitly differentiate from sibling tools like lock_layer or set_layer_visible, but the action is specific enough. However, it doesn't mention that it operates on PCB layers, though the tool name suggests it.
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. It doesn't mention prerequisites, such as layers being locked, or when this operation is appropriate. The description gives no context about how it differs from other layer-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_manufacture_data_delete_bom_templateC
pcb_ManufactureData.deleteBomTemplate(template: string) -> Promise 删除 BOM 模板 returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 return type (Promise<boolean>) and that it deletes a template, but does not state whether deletion is permanent, whether it affects other documents, or any error conditions. For a destructive operation, 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 compact and includes the essential signature and return type. The Chinese text adds minimal redundancy. It is appropriately sized, though the return type line could be considered redundant with the signature.
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 no annotations and no output schema, the description is incomplete. It lacks information about permanence, error handling, and the meaning of the boolean return beyond 'success'. An agent cannot fully assess the consequences of calling 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 coverage is 100% for the two parameters (args array and windowId), but the description only mentions the template string in the signature. It adds no detail about how the template parameter should be formatted or how windowId relates to the operation. Baseline 3 applies because the schema already documents the 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 a specific verb ('delete') and resource ('BOM template'), and the function signature confirms the operation. It is distinguishable from siblings like upload_bom_template_file and get_bom_templates, 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?
No guidance on when to use this tool versus alternatives, no prerequisites (e.g., template must exist), and no mention of which window/context applies. The description is purely operational.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_manufacture_data_get3_dfileB
pcb_ManufactureData.get3DFile(fileName?: string, fileType?: 'step' | 'obj', element?: Array<'Component Model' | 'Via' | 'Silkscreen' | 'Wire In Signal Layer'>, modelMode?: 'Outfit' | 'Parts', autoGenerateModels?: boolean) -> Promise<File | undefined> 获取 3D 模型文件 returns: 3D 模型文件数据
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description bears full responsibility for behavioral disclosure. It reveals the return type (Promise<File | undefined>) but does not explain side effects, whether files are downloaded or generated, what 'autoGenerateModels' implies, or how the windowId/active-window behavior affects the 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 compact and front-loaded with the signature, followed by a one-line Chinese summary and return note. It wastes little space, though the summary and return line are somewhat redundant with each other.
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 five optional parameters, no output schema, and many sibling manufacture-data getters, the description is incomplete. It lacks parameter explanations, when-to-use guidance, output format details, and any clarification of the relationship to the get3_dshell_file sibling.
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 only exposes an opaque args array and windowId, so the function signature in the description is the primary source of parameter meaning. It lists each parameter name, type, optionality, enum literals, and official order, which is valuable. It does not deeply explain each option's semantics, but the names and enum values are mostly self-explanatory.
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 ('获取 3D 模型文件' / get 3D model file) on a specific resource, and the included function signature adds details like file type and element selection. However, it does not distinguish this from the nearby sibling eda_pcb_manufacture_data_get3_dshell_file, leaving some ambiguity about which 3D-related file tool to choose.
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 about when to use this tool versus other manufacture-data getters, such as get3_dshell_file, get_dxf_file, or get_gerber_file. No context, prerequisites, or exclusions are provided, so the agent must infer usage solely from the tool name and signature.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_manufacture_data_get3_dshell_fileB
pcb_ManufactureData.get3DShellFile(fileName?: string, fileType?: 'stl' | 'step' | 'obj') -> Promise<File | undefined> 获取 3D 外壳文件 returns: 3D 外壳文件数据
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the full burden of behavioral disclosure. It does reveal the return shape 'Promise<File | undefined>', implying a possible undefined result when no file exists. But it says nothing about failure modes, whether the file is a download or in-memory object, side effects, or the window-targeting behavior implied by the windowId argument.
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 front-loaded with the function signature, followed by two terse lines. Minor redundancy exists: '获取 3D 外壳文件' and 'returns: 3D 外壳文件数据' restate the same concept, and the English/Chinese mix adds slight noise, but no sentence is wasted.
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 output schema, no annotations, an opaque args schema, and a very large sibling set, the description is under-specified. It covers the core operation and parameter names, but an agent cannot determine when to select this tool among the many manufacture-data getters, what happens when fileName is omitted, or how the returned File is delivered.
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's args array has 'items': {} with no element schema, so the individual parameters would be opaque to an agent. The description's embedded signature compensates by naming fileName (string) and fileType with the explicit 'stl' | 'step' | 'obj' enum. This adds real meaning 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?
The description states a specific verb and resource: '获取 3D 外壳文件' (get 3D shell file), backed by the signature pcb_ManufactureData.get3DShellFile. This is a clear, unambiguous purpose. However, it does not differentiate from siblings such as eda_pcb_manufacture_data_get3_dfile or the many other get_*_file tools, and part of the description is essentially a transliteration 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?
No guidance is given on when to use this tool versus the ~20 sibling manufacture-data export tools (gerber, bom, dxf, altium, etc.). The fileType enum ('stl' | 'step' | 'obj') implies a 3D-shell export scenario, but there is no explicit when-to-use, when-not-to-use, or alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_manufacture_data_get_altium_designer_fileC
pcb_ManufactureData.getAltiumDesignerFile(fileName?: string) -> Promise<File | undefined> 获取 Altium Designer 文件 returns: Altium Designer 文件数据
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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, but it only mentions the return type `File | undefined` and gives no hints about side effects, permissions, required setup, or error behavior. It does not clarify whether the operation is read-only or what happens on failure, leaving an agent uninformed about operational 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?
The description is concise and front-loaded with the signature, making it easy to scan. It contains no unnecessary words or repetition. However, its brevity comes at the cost of omitting critical usage and behavioral details, so it is efficient but not comprehensive.
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 low complexity and absence of an output schema, the description still falls short. It does not explain how to structure the `args` array, the relationship between `fileName` and the current board, or what the returned file represents. The lack of parameter semantics and usage guidance makes it insufficient for an agent to invoke correctly without prior knowledge of the API pattern.
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 describes `args` as a generic JSON parameter array and `windowId` with a generic description, but does not document individual parameters. The description adds a signature suggesting `fileName` is the first array element, yet it does not explain how to encode it in the array or that it is optional. It also omits any mention of `windowId`, so the agent must infer its role. The description only partially compensates for the schema's lack of detail.
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 an Altium Designer file via the `pcb_ManufactureData.getAltiumDesignerFile` method, using a specific verb and resource. This differentiates it from sibling getters by file type (though it doesn't explicitly name an alternative). The bilingual text is unambiguous about the 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?
No guidance is provided on when to use this tool versus alternatives like `eda_pcb_manufacture_data_get_gerber_file` or `eda_pcb_manufacture_data_get_bom_file`. There are no stated prerequisites, context, or exclusion criteria. The only implied usage is evident from the tool name, so the description adds no selection value.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_manufacture_data_get_auto_layout_json_fileC
pcb_ManufactureData.getAutoLayoutJsonFile(fileName?: string) -> Promise<File | undefined> 获取自动布局文件(JSON) returns: 自动布局 JSON 文件数据
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations provided, so the description carries the full burden of behavioral disclosure. The description mentions the return type 'Promise<File | undefined>' and that it returns auto layout JSON file data, but it does not disclose potential side effects, whether it requires a specific document to be open, or what 'undefined' implies (e.g., file not found). No detail on error conditions or state changes.
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 to the point, but it is not front-loaded with the most critical information. It includes the function signature in code notation, which is useful, but the actual description in Chinese ('获取自动布局文件(JSON)') is minimal and the English return type is somewhat redundant. The structure is acceptable but not exemplary.
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 no output schema and minimal annotations, the description should provide more context about the return value, potential errors, and usage scenarios. The description only says it returns auto layout JSON file data, but does not mention the File type's structure, whether it can be undefined, or how to use the fileName parameter. It is incomplete for a tool that requires understanding of its inputs and outputs.
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 100% coverage: it documents the 'args' array as 'JSON parameter array in official signature order' and 'windowId' as 'target EDA window ID'. The description adds no additional meaning beyond the schema; it does not explain what 'fileName' is or how it should be formatted. Since schema coverage is high, the baseline is 3, which is appropriate.
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 'get' and the resource 'auto layout JSON file' and returns a File. It is distinguishable from siblings like get_auto_route_json_file, but it does not clarify the distinction from related tools like eda_pcb_document_import_auto_layout_json_file (which is an import, but the name implies a different operation). The name is fairly descriptive, but the description is minimal and 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 provides no guidance on when to use this tool versus alternatives. There is no mention of when it is appropriate, prerequisites, or why one might choose it over siblings like get_auto_route_json_file or import_auto_layout_json_file. It is simply a getter, but the context of when to retrieve an auto layout file is not explained.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_manufacture_data_get_auto_route_json_fileB
pcb_ManufactureData.getAutoRouteJsonFile(fileName?: string) -> Promise<File | undefined> 获取自动布线文件(JSON) returns: 自动布线 JSON 文件数据
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 usefully discloses the return type `Promise<File | undefined>`, signaling the file may be absent, but it does not state whether the operation is side-effect-free or whether prior auto-routing data generation is required.
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 brief and front-loaded with the exact API signature, followed by a compact Chinese/English summary. Every line carries information, though it is formatted as a code snippet rather than structured prose, which is acceptable.
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 output schema or annotations, the description is thin. It does not explain when the return might be undefined, how this getter differs from `get_auto_route_json_file_for_jrouter`, or whether prior auto-routing is a prerequisite, leaving meaningful gaps for an agent selecting among many manufacture-data 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 descriptions cover both `args` and `windowId`, providing a baseline of 3. The description's signature `getAutoRouteJsonFile(fileName?: string)` adds key semantic detail by identifying the first positional element in the opaque `args` array as an optional string file name, which the generic `items: {}` schema does not convey.
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 function signature and Chinese summary ('获取自动布线文件(JSON)'), clearly indicating this tool retrieves the auto-route JSON file. It is not a tautology, though it does not explicitly differentiate from the closely named sibling `eda_pcb_manufacture_data_get_auto_route_json_file_for_jrouter`.
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 over alternatives such as `eda_pcb_document_import_auto_route_json_file` or `eda_pcb_manufacture_data_get_auto_route_json_file_for_jrouter`. The description only states the operation and return type, leaving selection context entirely to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_manufacture_data_get_auto_route_json_file_for_jrouterB
pcb_ManufactureData.getAutoRouteJsonFileForJRouter(fileName?: string) -> Promise<File | undefined> 获取 JRouter 专用自动布线文件(JSON) returns: 自动布线 JSON 文件数据
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It provides the return type `Promise<File | undefined>` and notes the return data, which is helpful, but it does not explicitly state that the operation is read-only, what causes `undefined`, or any side effects or prerequisites. The 'get' verb implies a read operation, so this is a moderate gap rather than a severe one.
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-loads the method signature followed by a clear Chinese purpose statement. There is minor redundancy between '获取 JRouter 专用自动布线文件(JSON)' and 'returns: 自动布线 JSON 文件数据', but overall the length is appropriate and not padded.
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 facts: purpose, method name, optional parameter, and return type. However, it does not explain what `fileName` refers to, how the file is sourced, when `undefined` is returned, or how this tool relates to the non-JRouter auto-route file getter. For a simple get operation this is adequate but not 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 description includes the actual method signature `getAutoRouteJsonFileForJRouter(fileName?: string)`, which adds meaningful parameter semantics beyond the generic `args` array in the schema. It communicates both the parameter name and its optionality, compensating for the schema's lack of specificity about inner arguments.
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 and resource: retrieving the JRouter-specific auto-route JSON file. It distinguishes itself from the sibling `eda_pcb_manufacture_data_get_auto_route_json_file` primarily through the 'for_jrouter' name and the Chinese phrase 'JRouter 专用', though this differentiation is not made explicit in the prose.
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 `eda_pcb_manufacture_data_get_auto_route_json_file` or `eda_pcb_document_import_auto_route_json_file`. The only hint is the 'JRouter专用' qualifier, but there is no explicit condition, use case, or exclusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_manufacture_data_get_bom_fileB
pcb_ManufactureData.getBomFile(fileName?: string, fileType?: 'xlsx' | 'csv', template?: string, filterOptions?: Array<{ property: string; includeValue: boolean | string }>, statistics?: Array, property?: Array, columns?: Array) -> Promise<File | undefined> 获取 BOM 文件 returns: BOM 文件数据
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 mentions the return type 'File | undefined' and 'BOM 文件数据', but does not disclose side effects (e.g., whether it generates a new file or reads existing), potential failure modes, or any data transformation. For a file retrieval tool, more transparency about what happens if the file doesn't exist or if parameters are invalid is needed.
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 brief and to the point, but it is essentially a function signature plus a one-line Chinese description. It is not excessively verbose, but the lack of structure (no sections, no example) makes it difficult to parse. The key information (purpose) is front-loaded, but the parameter list is a bit dense without explanations.
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 parameters (multiple optional parameters including filterOptions, statistics, columns) and the fact that there is no output schema or annotations, the description is incomplete. An agent would not know what filterOptions or statistics mean, nor what the returned File contains. The description does not cover how to set up the BOM or what file formats are supported beyond the enum.
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 100% coverage with a generic description '按官方签名顺序排列的JSON参数数组' (JSON parameter array in official signature order), which is not helpful. The description itself lists several parameters with their types (e.g., fileName, fileType, template), but does not explain their meaning or how they influence the output. Since the schema coverage is high but uninformative, the description adds some value by naming the parameters but lacks semantic detail.
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 verb 'getBomFile' and resource 'BOM file', and the Chinese '获取 BOM 文件' confirms the purpose. It is distinct from sibling tools like get_gerber_file or get_netlist_file by the resource name, but doesn't explicitly highlight what distinguishes it from the schematic BOM file tool (eda_sch_manufacture_data_get_bom_file).
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 that this tool is for PCB BOM files, and the context (windowId for target window) provides some usage context. However, there is no explicit guidance on when to use this tool versus the schematic BOM file tool, nor any mention of prerequisites like having an active PCB document or needing to set up templates first.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_manufacture_data_get_bom_template_fileC
pcb_ManufactureData.getBomTemplateFile(template: string) -> Promise<File | undefined> 获取 BOM 模板文件 returns: BOM 模板文件
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 restates the API signature and return type; it does not explain that this is a read-only retrieval, what happens when the template is missing, or any error/edge-case behavior.
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-loads the signature, which is efficient. But the 'returns: BOM 模板文件' line is redundant with both the signature and the Chinese description, and the overall structure is more of a signature dump than a well-organized tool 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?
With no annotations and no output schema, the description should explain return behavior, template semantics, and how this tool relates to the other BOM template tools. It does none of that, so an agent has only the tool name and signature to work with.
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 only describes args as a generic JSON array, so the signature's 'template: string' does add useful parameter information. However, the description does not clarify what kind of value 'template' should be (name, ID, path), leaving ambiguity for the agent.
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 a getter for a BOM template file and includes the function signature, so the core action is evident. However, it does not distinguish itself from siblings like eda_pcb_manufacture_data_get_bom_templates or the schematic variant get_bom_template_file, so it lacks explicit sibling 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 versus related tools such as get_bom_templates, upload_bom_template_file, delete_bom_template, or the schematic-equivalent tool. No alternatives or exclusions are mentioned, leaving the agent to guess the appropriate context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_manufacture_data_get_bom_templatesB
pcb_ManufactureData.getBomTemplates() -> Promise<Array> 获取 BOM 模板列表 returns: BOM 模板列表
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 return shape via 'Promise<Array<string>>' and 'returns: BOM 模板列表', which is useful. However, it does not explicitly state that the operation is read-only or describe any scope or side-effect behavior beyond the get 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 short, but it is somewhat redundant: '获取 BOM 模板列表' and 'returns: BOM 模板列表' say nearly the same thing. The signature line is informative, but the duplicated return information wastes some 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 simple list retrieval, the description is mostly sufficient: it states the return type and content. Yet it lacks context about related sibling operations or any prerequisites, and with no output schema a bit more explanation of the returned template list would improve 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 coverage is 100%, so the schema already documents the args and windowId parameters. The description adds no parameter-level meaning, so the baseline of 3 applies rather than a lower 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 states '获取 BOM 模板列表' (get BOM template list), giving a clear verb and resource. The signature also indicates a retrieval operation returning an array of strings. It is distinguished from the sibling get_bom_template_file by emphasizing the list rather than a single file.
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_bom_template_file, upload_bom_template_file, or delete_bom_template. The intended usage is implied only by the name and 'get list' wording.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_manufacture_data_get_dsn_fileC
pcb_ManufactureData.getDsnFile(fileName?: string) -> Promise<File | undefined> 获取自动布线文件(DSN) returns: 自动布线 DSN 文件数据
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 exposes the return type (Promise<File | undefined>) and a one-line purpose; it does not state whether auto-routing must be run first for a DSN to exist, what the undefined case means, or any prerequisites. This is thin for a file-getter 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 description is short and the signature is front-loaded, which is efficient. But the two Chinese lines ('获取自动布线文件(DSN)' and 'returns: 自动布线 DSN 文件数据') are largely redundant with the signature and the name, so the few sentences present don't add much distinct 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 no annotations, no output schema, and a generic input schema, the description is the only source of context and it is inadequate. An agent calling this tool needs to know when a DSN file is available, how the fileName argument works, and what the returned File contains; none of this is 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 is generic (an args array of items {} plus windowId), so it adds no meaning to parameters. The function signature in the description does reveal the fileName?: string parameter, which is the only real semantic information available. It contributes marginal value but does not explain what the file name refers to or how to supply it through the args array.
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 name and description clearly state the verb (get) and resource (DSN file), and the Chinese line '获取自动布线文件(DSN)' confirms it retrieves the auto-routing DSN file. However, there is no differentiation from the many sibling eda_pcb_manufacture_data_get_*_file tools (gerber, dxf, bom, etc.), so an agent cannot tell why this one is chosen over its peers.
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, exclusions, or alternative tools are mentioned. With a large family of get_*_file siblings, the description offers no help in deciding when get_dsn_file is the right choice versus get_netlist_file or get_auto_route_json_file.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_manufacture_data_get_dxf_fileB
pcb_ManufactureData.getDxfFile(fileName?: string, layers?: Array<{ layerId: EPCB_LayerId; mirror: boolean }>, objects?: Array) -> Promise<File | undefined> 获取 DXF 文件 returns: DXF 文件数据
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 provide the async return type `Promise<File | undefined>` and states it returns DXF file data. It does not mention side effects, prerequisites such as an active PCB document, or failure behavior, but as a getter the read-only nature is weakly inferable.
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 definition is short and the signature is front-loaded, which is good. However, '获取 DXF 文件' and 'returns: DXF 文件数据' largely repeat the signature and tool name without adding much information, making the text slightly 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?
There are no annotations and no output schema, and the tool has nested optional parameters. The description provides only the official signature and return type, leaving out prerequisites, defaults, error behavior, and the meaning of the layer/object arguments. An agent can guess the call shape but not confidently handle all 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 signature is the main value here: it lists the three official parameters `fileName`, `layers`, and `objects` with types and optionality, which the generic `args` schema does not provide. This lets an agent construct the args array correctly. It stops short of explaining `EPCB_LayerId`, the meaning of `mirror`, or what strings `objects` expects, so semantics remain 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 names a specific action, '获取 DXF 文件' (get DXF file), and reinforces it with the `pcb_ManufactureData.getDxfFile` signature. This is enough to distinguish it from the many sibling get_*_file tools by file format. It does not explain what the DXF represents or add export context, so it is clear but not exemplary.
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 statement about when to use this tool versus get_gerber_file, get_bom_file, get_pdf_file, or other manufacture-data export tools. The intended use is only implied through the 'DXF file' wording and the tool name, so an agent must infer the selection from format alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_manufacture_data_get_flying_probe_test_fileC
pcb_ManufactureData.getFlyingProbeTestFile(fileName?: string) -> Promise<File | undefined> 获取飞针测试文件 returns: 飞针测试文件数据
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description carries the full burden. It discloses only the return type (Promise<File | undefined>) and a one-line return value note; it does not state whether this is a read-only operation, whether the file is generated on demand, whether a board must be open, or what happens if the file does not exist (though '| undefined' implies it may return nothing).
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 with essentially two lines: the signature and a three-word purpose plus return note. It is efficient and front-loaded, but it is too sparse to earn a 5 given the missing usage and parameter 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?
Given a large sibling family of get_*_file tools and no annotations or output schema, the description is incomplete: it does not distinguish this file type, describe required context (active PCB/window), or clarify the fileName parameter behavior. It is minimally sufficient to guess the operation but not enough 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 100%, but the description's only parameter mention is the raw signature 'fileName?: string' with no explanation of what the file name refers to, how it is matched, whether it can be omitted to pick a default, or the expected format. The description adds no meaningful semantics 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?
The description states a verb and resource ('getFlyingProbeTestFile' / 获取飞针测试文件) and identifies the operation as retrieving a flying probe test file, but does not explain what a flying probe test file is or how it differs from the many sibling get_*_file tools. The name and description are largely redundant translations of each other, providing minimal differentiation beyond the literal resource 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 given on when to use this tool versus the many sibling manufacture-data getters (e.g., get_gerber_file, get_test_point_file, get_pick_and_place_file). No context, prerequisites, or alternative conditions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_manufacture_data_get_gerber_fileC
pcb_ManufactureData.getGerberFile(fileName?: string, colorSilkscreen?: boolean, unit?: ESYS_Unit.MILLIMETER | ESYS_Unit.INCH, digitalFormat?: { integerNumber: number; decimalNumber: number }, other?: { metallicDrillingInformation: boolean; nonMetallicDrillingInformation: boolean; drillTable: boolean; flyingProbeTestingFile: boolean }, layers?: Array<{ layerId: EPCB_LayerId; isMirror: boolean }>, objects?: Array<'Pad' | 'Via' | 'Track' | 'Text' | 'Image' | 'Dimension' | 'BoardOutline' | 'BoardCutout' | 'CopperFilled' | 'SolidRegion' | 'FPCStiffener' | 'Line' | 'PlaneZone' | 'ComponentProperty' | 'ComponentSilkscreen' | 'TearDrop'>) -> Promise<File | undefined> 获取 PCB 制版文件(Gerber) returns: PCB 制版文件数据
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 the tool returns a File or undefined, but does not disclose side effects (e.g., whether it generates files, requires a specific document state, or has performance implications). The signature shows many optional parameters, but the description does not explain what happens when they are omitted or how the output file is delivered.
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: a signature line, a one-line Chinese purpose, and a return note. It is not bloated, but the structure is minimal and the Chinese purpose is terse. The signature is front-loaded, which is good, but the description could be more informative 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?
Given the tool's complexity (many optional parameters, no output schema, no annotations), the description is incomplete. It does not explain the meaning of the many optional parameters, the conditions under which the function returns undefined, or how the returned File should be handled. An agent would struggle to invoke this tool correctly with only the signature and a one-line 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 description includes the full function signature with parameter names and types, which adds some meaning beyond the generic input schema (which only has args array and windowId). However, it does not explain the semantics of each parameter (e.g., what colorSilkscreen controls, what digitalFormat precision means, what layers array entries do). The schema coverage is 100% but the schema itself is generic, so the signature in the description is the main source of parameter 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 states a specific verb and resource: '获取 PCB 制版文件(Gerber)' (get PCB manufacturing file / Gerber) and 'returns: PCB 制版文件数据'. This clearly identifies the tool as retrieving Gerber files. However, it doesn't explicitly distinguish it from the many sibling manufacture-data getters (e.g., get_dxf_file, get_pdf_file, get_bom_file), though the Gerber mention does differentiate it from those.
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. The description does not mention prerequisites (e.g., active PCB document), nor does it explain when to choose this over other manufacture-data export tools. The sibling list contains many similar get_*_file tools, and the description offers no selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_manufacture_data_get_idx_fileC
pcb_ManufactureData.getIdxFile(fileName?: string) -> Promise<File | undefined> 获取 IDX 文件 returns: IDX 文件
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 reveal the return type via the signature (Promise<File | undefined>), which hints the file may not exist and the call is non-mutating. But it does not state what happens when the file is absent, whether fileName is required for fetching a specific file, what the windowId/args wrapper means, or any error behavior. Disclosure is minimal and mostly inferred from the type signature.
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 short and front-loads the call signature, which is good. But it wastes a line with '获取 IDX 文件' followed by 'returns: IDX 文件', which both restate the same information already contained in the name and signature. Minor redundancy in an otherwise compact definition.
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 (one optional param, no output schema), so the bar is lower. Still, the description fails to explain what an IDX file is or when it is needed, how the optional fileName behaves, and how to pass parameters given the args-array wrapper in the schema. An agent cannot reliably compose a correct call without additional inference.
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's args field is a generic 'JSON参数数组' with empty item schema, so it conveys no parameter meaning. The description's signature line (fileName?: string) adds real value by naming the single official parameter, its type, and its optionality. However, it does not explain what fileName refers to (a file name on the board? a path?), and the tools uses a wrapper (args/windowId) that is not reconciled with the documented signature.
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 resource (IDX file) and an action (get/获取), so an agent knows roughly what it does. However, the Chinese text is essentially a translation of the tool name itself ('get_idx_file' -> '获取 IDX 文件'), making it near-tautological. It provides no distinguishing information against the dozens of sibling get_*_file tools (gerber, bom, dxf, dsn, etc.), so it is clear but not differentiating.
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 whatsoever on when to use this tool versus alternatives like eda_pcb_manufacture_data_get_gerber_file or get_manufacture_data. No usage context, no prerequisites (e.g., whether a PCB document must be active), and no indication of when one might need an IDX file. The agent must guess entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_manufacture_data_get_interactive_bom_fileC
pcb_ManufactureData.getInteractiveBomFile(fileName?: string) -> Promise<File | undefined> 获取交互式 BOM 文件 returns: 交互式 BOM 文件数据
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full behavioral burden. It does disclose the return type and that the result may be undefined, but it does not state whether this is a safe read-only operation, what fileName refers to, or any side effects or failure conditions. For a file-fetching 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 short and front-loaded with the method signature and core action. The 'returns' line largely repeats the signature's Promise<File | undefined> and adds little, but there is no fluff or excessive 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?
For a tool with no annotations and no output schema, the description is too thin: it does not explain what an 'interactive BOM file' is, how fileName is used, or how this differs from the related get_bom_file. An agent would likely struggle to know what arguments to pass and what to expect beyond a generic File/undefined.
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 includes 'fileName?: string' in the signature but does not explain what the file name represents, its expected format, or how it relates to the current board or project. The schema's args array is generic JSON with no per-parameter semantics, and windowId is the only parameter with a useful description, so the main parameter remains underspecified.
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 verb ('获取' / get) and a specific resource ('交互式 BOM 文件' / interactive BOM file), and the signature shows it returns a Promise of File or undefined. The 'interactive' qualifier helps distinguish it from the sibling eda_pcb_manufacture_data_get_bom_file, though it does not explicitly contrast 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 provides no guidance on when to use this tool versus the many sibling file-retrieval tools, such as get_bom_file or get_gerber_file. There are no prerequisites, exclusions, or alternative routing hints, so an agent must infer usage solely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_manufacture_data_get_ipc2581_cfileB
pcb_ManufactureData.getIpc2581CFile(fileName?: string, fileType?: 'xml' | 'cvg' | '2581', unit?: ESYS_Unit.INCH | ESYS_Unit.MILLIMETER, oemNumber?: 'Device' | 'Manufacturer Part' | 'Supplier Part' | 'Comment') -> Promise<File | undefined> 获取 IPC-2581C 文件 returns: IPC-2581C 文件数据
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the burden of behavioral disclosure. It does add a Promise<File | undefined> return and explicitly says the result is IPC-2581C file data, which is useful. However, it does not state whether the operation is read-only, whether an active PCB document is required, or how failures beyond 'undefined' behave.
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 starts with the exact function signature, which is the most useful information. The two short Chinese lines are partly redundant with the signature but add no real bloat, keeping the overall description 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?
Given no annotations and no output schema, the description gives enough to identify parameters and return type but lacks context about when to invoke the tool, what file the data is generated from, and how optional parameters like fileName or unit affect output. An agent could call it from the signature alone, but important situational guidance 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?
The input schema only exposes generic `args` and `windowId`, so the signature in the description is the only source for the actual parameters. It names all four parameters, marks optionality, and lists enum-like allowed values for fileType, unit, and oemNumber. The schema's note that args follow the official signature order helps, though deeper semantics of each parameter are still not explained.
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 '获取 IPC-2581C 文件' (get IPC-2581C file) and includes the full function signature with a File return type, making the verb and resource specific. It does not explicitly distinguish itself from the many sibling get_*_file tools beyond the unique format name, 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 alternatives like eda_pcb_manufacture_data_get_gerber_file or get_bom_file. No prerequisites, no mention of the current PCB context, and no explicit exclusions are provided, so the agent must rely on the tool name and infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_manufacture_data_get_ipc_d356_afileC
pcb_ManufactureData.getIpcD356AFile(fileName?: string) -> Promise<File | undefined> 获取 IPC-D-356A 文件 returns: IPC-D-356A 文件数据
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 mentions the return type (Promise<File | undefined>) but does not explain side effects, permissions, or what happens if the file is missing. For a retrieval operation, this is minimal 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 description is extremely short, consisting of the signature and a one-line Chinese description. While concise, it lacks structured sections and front-loaded key details. It is not verbose, but it under-specifies rather than being efficiently 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?
There is no output schema and no annotations. The description does not explain what IPC-D-356A is, the format of the returned File, or any context about when this file is needed. For a tool with a specific file format, this is incomplete for an agent to use 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 description mentions fileName?: string, but the schema uses an 'args' array and 'windowId'. It does not clarify how fileName maps into the args array or its order. Schema coverage is effectively low for the functional parameter, and the description adds little beyond repeating the signature.
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 retrieves an IPC-D-356A file, which is a specific resource type. The verb 'get' and resource are clear, and the name itself differentiates it from other get_*_file siblings. However, it doesn't explicitly contrast with similar tools like get_gerber_file or get_bom_file, so it's slightly lacking in 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 versus the many sibling file-getting tools. The description simply says 'get IPC-D-356A file' without explaining scenarios or prerequisites, leaving the agent to infer 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.
eda_pcb_manufacture_data_get_manufacture_dataB
pcb_ManufactureData.getManufactureData() -> Promise<File | undefined> 导出制造文件 remarks: 本接口对应私有化部署版本一键导出制造文件功能
将根据前端一键导出制造文件弹窗的配置获取其文件数据
注意:本接口仅私有化部署版本有效,如若在其他版本调用将始终 throw Error
returns: 制造文件
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 it discloses the single most important behavioral trait: it always throws an Error in non-private-deployment versions. It also states the return type (File | undefined). It does not describe whether the operation has side effects or what triggers undefined, but the failure-mode disclosure is genuinely valuable and beyond what structured fields would provide.
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 — a signature line, a short Chinese purpose, a remarks line, a note, and a returns line. No filler words. It front-loads the signature and purpose before the caveats. The only minor flaw is the mixed-language layout, but the content is efficiently organized.
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 critical constraint (private deployment only, always throws otherwise) is present and the return type is named. However, with no output schema and an empty args definition, the description leaves the agent without details on what 'manufacture file' actually contains, what conditions yield undefined, and what the args configuration requires. For a tool that aggregates all manufacture files, this is adequate but not 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 100%, so the baseline is 3. The args parameter is entirely unspecified (items: {} with no type), and the description only hints that data comes from '前端一键导出制造文件弹窗的配置' (the front-end one-click export dialog config), which loosely maps to args but never documents what those arguments actually are. windowId is not addressed in the description at all. It neither compensates for nor worsens 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 states a specific verb ('导出制造文件' / export manufacture files) and resource, and ties it to the one-click export dialog feature, which helps distinguish it from the many per-format siblings (get_gerber_file, get_bom_file, etc.). However, it never explicitly frames itself as the combined/one-click export alternative to those format-specific tools, so sibling differentiation is implied rather than stated.
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 discloses the private-deployment-only constraint ('仅私有化部署版本有效...将始终 throw Error'), which is useful exclusion guidance. But it gives no when-to-use versus when-not-to-use guidance against the ~20 sibling get_*_file tools; an agent has to infer that this is the one-click combined export and must not be used for a single format. No alternative tools are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_manufacture_data_get_netlist_fileC
pcb_ManufactureData.getNetlistFile(fileName?: string, netlistType?: ESYS_NetlistType) -> Promise<File | undefined> 获取网表文件(Netlist) returns: 网表文件数据
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 only provides a signature and the phrase 'returns: 网表文件数据' (returns: netlist file data). It does not disclose whether this operation has side effects, whether it generates a new file or reads an existing one, what happens if no netlist exists, or what file format/encoding is returned.
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 the signature, but it is essentially a code dump with a redundant Chinese translation of the tool name. It is concise but not efficiently informative; the signature and return lines could have been replaced with a single clear prose sentence that also carried 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?
Given no output schema and an opaque args array, the description should explain the netlist type options, file semantics, and any preconditions. It does none of this. An agent invoking this tool would not know what netlistType values are valid, whether the file is downloaded or returned as a handle, or how this differs from the several other netlist-related tools in the sibling list.
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's 'args' property is opaque (items: {}), so the description's signature adds the parameter names 'fileName?' and 'netlistType?' with their optional markers and the return type 'File | undefined'. However, it does not explain what values netlistType accepts (ESYS_NetlistType enum is referenced but not expanded), nor what fileName should contain beyond being a string. This partially compensates for the empty schema but leaves key semantics 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 states the action ('getNetlistFile', '获取网表文件') and resource ('网表文件', netlist file), so an agent knows what the tool retrieves. It is clearly distinguished by name from the schematic sibling eda_sch_manufacture_data_get_netlist_file, but the description itself does not explicitly differentiate it from alternatives like eda_pcb_net_get_netlist.
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 use this tool versus the many related siblings (e.g., eda_sch_manufacture_data_get_netlist_file, eda_pcb_net_get_netlist, get_manufacture_data). The description merely restates the API signature and gives no context about prerequisites (e.g., needing an active PCB document) or when this export is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_manufacture_data_get_open_database_double_plus_fileB
pcb_ManufactureData.getOpenDatabaseDoublePlusFile(fileName?: string, unit?: ESYS_Unit.INCH | ESYS_Unit.MILLIMETER, otherData?: { metallizedDrilledHoles?: boolean; nonMetallizedDrilledHoles?: boolean; drillTable?: boolean; flyingProbeTestFile?: boolean }, layers?: Array<{ layerId: EPCB_LayerId; mirror: boolean }>, objects?: Array<{ objectName: string }>) -> Promise<File | undefined> 获取 ODB++ 文件 returns: ODB++ 文件数据
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits itself. It only states the return type and 'returns ODB++ file data'; it does not explicitly say the operation is read-only, when undefined is returned, whether generating the file has side effects, or what document state is required. The 'get' in the name implies a read operation, but that is not made 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 compact, using a single signature line plus two short lines. It is front-loaded with the call syntax, and every part carries parameter or return information. It is slightly dense 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?
Given the absence of an output schema and annotations, the description is minimally sufficient but incomplete. It states the return as ODB++ file data but does not explain when undefined is returned, default unit behavior, or how windowId relates to the active document. The many optional parameters are listed but not explained, leaving important context 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?
The description embeds the full TypeScript signature, listing fileName, unit enum values, otherData boolean flags, layers, and objects structures. This adds meaningful structure beyond the generic args array in the schema. However, it does not explain the semantics of each parameter beyond its name, so it is useful but not exhaustive.
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 '获取 ODB++ 文件' ('Get ODB++ file') and the function name explicitly targets the ODB++ export, clearly distinguishing it from sibling get_gerber_file, get_bom_file, and other manufacture-data getters. It could be stronger with a full sentence describing the source document or context, but the verb and resource are specific.
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 mention that it is the option for ODB++ output, and no prerequisites such as requiring an active PCB document. The description provides the signature but leaves all selection logic to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_manufacture_data_get_pads_fileC
pcb_ManufactureData.getPadsFile(fileName?: string) -> Promise<File | undefined> 获取 PADS 文件 returns: PADS 文件数据
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 return type `Promise<File | undefined>` which is useful, but it doesn't explain what 'PADS 文件' means in practice, whether the file is downloaded, what format it is, whether it requires a specific board context, or what happens when no file is available (undefined). The description is minimal and leaves the agent guessing about side effects or prerequisites.
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: a signature line, a Chinese phrase '获取 PADS 文件', and a return type line. It's concise and front-loaded with the essential information. However, it's almost too sparse, mixing English signature and Chinese description, but every line carries some information. It earns a 4 for being compact, though it sacrifices 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 the tool's complexity is low (2 params, no output schema, no annotations), the description is incomplete. It doesn't explain what a PADS file is, when to use it, how the optional fileName works, or what the returned File object represents. The sibling context shows many similar get_*_file tools, so an agent needs more context to select this one correctly. 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 100% for the two parameters (`args` and `windowId`), but the descriptions are generic: '按官方签名顺序排列的JSON参数数组' (JSON parameter array in official signature order) and '目标EDA窗口ID;省略时使用当前活动窗口' (target EDA window ID; omit to use current active window). The description adds the `fileName?: string` signature, which clarifies the first parameter's meaning, but doesn't explain what file names are valid or how to discover them. Baseline 3 is appropriate since the schema covers the parameters, and the description adds a bit of signature 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 states a specific verb and resource: '获取 PADS 文件' (get PADS file) and includes the method signature `pcb_ManufactureData.getPadsFile(fileName?: string) -> Promise<File | undefined>`. This clearly identifies the tool as retrieving a PADS file from PCB manufacture data. However, it doesn't explicitly distinguish itself from the many sibling `eda_pcb_manufacture_data_get_*_file` tools beyond the PADS file type, which is somewhat inherent in 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?
The description provides no guidance on when to use this tool versus alternatives. There are many sibling tools like `eda_pcb_manufacture_data_get_gerber_file`, `eda_pcb_manufacture_data_get_dxf_file`, etc., and the description doesn't explain when PADS file is needed or how it differs. The optional `fileName` parameter suggests it might default to something, but no context is given about when to omit it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_manufacture_data_get_pcb_info_fileB
pcb_ManufactureData.getPcbInfoFile(fileName?: string) -> Promise<File | undefined> 获取 PCB 信息文件 returns: PCB 信息文件
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 reveals the return type Promise<File | undefined> and the optional fileName parameter, but it does not mention whether the operation is read-only, when undefined is returned, where the file comes from, or any 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 leads with the API signature before the Chinese summary. The 'returns: PCB 信息文件' line is somewhat redundant with the signature, but overall the text is short and free of 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?
For a tool with no annotations, no output schema, and only a generic args parameter schema, the description is too thin. It does not explain the file-selection behavior, the meaning of an omitted fileName, likely failure modes, or how this tool fits among the many sibling manufacture-data retrieval 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 description provides the official signature with fileName?: string, which meaningfully clarifies how to fill the generic args array described in the schema. It does not explain what a valid fileName looks like, but the added signature is genuine 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?
The description clearly states the verb 'get' and the resource 'PCB info file', and it includes the API signature, which makes the tool's basic function unmistakable. However, it does not differentiate this tool from the many other get_* manufacture-data sibling tools, so it stops short of full 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?
There is no guidance on when to use this tool versus alternatives such as eda_pcb_manufacture_data_get_gerber_file, get_bom_file, or get_netlist_file. The description does not state prerequisites, exclusions, or a preferred selection context, leaving the agent to infer usage entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_manufacture_data_get_pdf_fileC
pcb_ManufactureData.getPdfFile(fileName?: string, outputMethod?: EPCB_PdfOutputMethod, contentConfig?: { displayAttributesAsMenu: boolean; showOutlineOnly: boolean }, watermark?: { show?: boolean; content?: string; styleConfig?: { color: string; transparency: 'Opaque' | '75%' | '50%' | '25%'; font: string; fontSize: { unit: ESYS_Unit.INCH | ESYS_Unit.MIL | ESYS_Unit.MILLIMETER; value: number }; style: { bold: boolean; italic: boolean; underline: boolean }; slope: 0 | 45 | 90; denseness: 'Single' | 'Sparse' | 'Std' | 'Dense' } }, graphPageConfig?: Array<Record<string, any>>) -> Promise<File | undefined> 获取 PDF 文件 returns: PDF 文件数据(或压缩包)
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 only states the return type and notes that output may be a PDF or a compressed package. It does not explain side effects, required permissions, how the file is delivered, or what 'undefined' implies. This is minimal and leaves much 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 dense, code-style signature with a short Chinese phrase and a returns line. It is not concise in natural-language terms and buries the core purpose in technical syntax. The structure is not front-loaded with a clear summary, making it harder to parse than necessary.
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 (multiple parameters, nested objects, and a return type), the description is incomplete. It lacks explanations of parameter purposes, allowed values, usage examples, or behavior when parameters are omitted. The absence of an output schema means the description must carry more explanatory weight, which it fails to do.
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 only defines wrapper arguments (args array and windowId); the actual parameters (fileName, outputMethod, contentConfig, watermark, graphPageConfig) are only listed as type declarations in the description. While this surfaces the names and types, it provides no explanation of what these parameters do, their valid values, or their impact on the output, leaving semantics largely 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 explicitly includes '获取 PDF 文件' (get PDF file) and the function name getPdfFile, clearly indicating the tool retrieves a PDF file. However, it does not differentiate this from the many sibling file-export tools (e.g., get_gerber_file, get_dxf_file) other than the name itself, so it lacks explicit sibling 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 versus alternatives. The description provides no context about file types, output scenarios, or conditions that would select this tool over siblings. It is essentially a bare function signature with no usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_manufacture_data_get_pick_and_place_fileB
pcb_ManufactureData.getPickAndPlaceFile(fileName?: string, fileType?: 'xlsx' | 'csv', unit?: ESYS_Unit.MILLIMETER | ESYS_Unit.MIL) -> Promise<File | undefined> 获取坐标文件(PickAndPlace) returns: 坐标文件数据
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description must carry all behavioral disclosure. It only reveals the return type (Promise<File | undefined>) and a brief note that it returns coordinate file data. It does not mention side effects, error conditions, or dependencies on a specific window/document, which are crucial for a getter.
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 signature line plus a short label and return note, which is very concise. It is front-loaded with the call signature, but the bilingual text (English+Chinese) adds minor 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 absence of an output schema and the generic input schema, the description should clarify how to pass parameters (the args array) and what the returned file contains. It only gives a high-level 'coordinate file data' note, and does not explain when 'undefined' is returned or what the file format implies.
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 lists the three parameters (fileName, fileType, unit) with their types and enums, which adds meaning beyond the generic schema (args array). However, it does not explain what each parameter controls or how to construct the args array, leaving semantics 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 fetches the PickAndPlace (coordinate) file, with a direct verb 'get' and resource 'PickAndPlace file'. The name and label align, and it is distinct from sibling file-getters like get_bom_file or get_gerber_file.
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 other file-export tools. It merely provides the method signature without any context about typical scenarios or prerequisites, leaving the agent to infer suitability 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.
eda_pcb_manufacture_data_get_test_point_fileB
pcb_ManufactureData.getTestPointFile(fileName?: string, fileType?: 'xlsx' | 'csv') -> Promise<File | undefined> 获取测试点报告文件 returns: 测试点报告文件数据
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. It does reveal that the return may be `undefined`, that parameters are optional, and that `fileType` is restricted to 'xlsx' | 'csv', which is useful. However, it does not disclose potential errors, what happens when `fileName` is omitted, or whether the file is generated or fetched from existing manufacture data.
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-loads the full call signature before the Chinese gloss. There is some redundancy between the signature, '获取测试点报告文件', and the final 'returns' line, but the overall length is appropriate and every key fact 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?
For a simple read-style tool with two optional parameters, the description gives the essential signature and return type. It is incomplete as a standalone guide because it lacks usage context, distinction from sibling manufacture-data file tools, default behavior when `fileName` is omitted, and any error or edge-case 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?
The description's signature adds real value beyond the generic input schema by naming the parameters (`fileName`, `fileType`), marking them optional, and specifying allowed fileType values. The schema only documents a generic `args` array and `windowId`, so this parameter-level information is essential and mostly 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 explicitly states a specific verb-resource pair: 'getTestPointFile' / '获取测试点报告文件' (get test point report file), and includes the return type. It is clear enough to distinguish from most sibling tools by name and resource, though it does not explicitly contrast it with the many other `eda_pcb_manufacture_data_get_*_file` 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 get_flying_probe_test_file or get_gerber_file. The description only states what the function does, leaving the agent to infer selection from the resource name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_manufacture_data_place3_dshell_orderA
pcb_ManufactureData.place3DShellOrder(interactive?: boolean, ignoreWarning?: boolean) -> Promise 3D 外壳下单 remarks: 本接口暂时只支持交互式检查,入参暂无作用,预留后续开发 returns: 是否通过下单检查;在入参开发完成前,返回值没有实际作用,不会等待执行结果
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Given there are no annotations, the description honestly states that the interface currently only supports interactive checking, that input parameters have no effect and are reserved for future development, and that the return value has no practical effect and does not wait for the execution result. This is valuable behavioral disclosure that prevents an agent from relying on the tool's output or parameters.
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 the function signature, followed by a short Chinese title and two brief remarks. It conveys the essential information without redundant or unrelated content, earning a high score for 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?
Considering that the tool is currently a placeholder with no real functionality, the description adequately covers the core aspects: its purpose, current limitations, and return behavior. It does not specify required document context or further interaction details, but given the tool's stub state, the description is sufficiently complete for an agent to understand what happens when invoked.
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 includes the parameter signature with types and names (interactive?: boolean, ignoreWarning?: boolean), which adds meaning beyond the generic 'args' array described in the schema. It also notes that parameters currently have no effect, which is semantically useful. However, it does not explain the intended meaning of these parameters for future use, so the description only partially compensates for the lack of 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 clearly states the specific function signature 'pcb_ManufactureData.place3DShellOrder' and the Chinese title '3D 外壳下单' (3D shell ordering), indicating it places an order for a 3D shell. While the name and context make it distinguishable from sibling tools like eda_pcb_manufacture_data_place_pcb_order, it does not explicitly name an alternative or elaborate on the exact 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 information about when to use this tool versus alternatives. It does not mention prerequisites, specific scenarios, or whether it should be used instead of other manufacture data ordering tools. The remarks focus on current limitations but give no guidance on appropriate invocation context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_manufacture_data_place_components_orderB
pcb_ManufactureData.placeComponentsOrder(interactive?: boolean, ignoreWarning?: boolean) -> Promise 元件下单 remarks: 本接口暂时只支持交互式检查,入参暂无作用,预留后续开发 returns: 是否通过下单检查;在入参开发完成前,返回值没有实际作用,不会等待执行结果
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description is unusually transparent about the tool's limitations: it explicitly states that parameters have no effect (入参暂无作用) and that the return value has no actual effect and doesn't wait for execution (返回值没有实际作用,不会等待执行结果). This is valuable disclosure beyond the schema, telling an agent that calling it will not yield meaningful results. However, it doesn't explain what 'interactive checking' entails or how the user interacts, 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 brief and front-loaded with the function signature, then provides essential remarks. It's efficient with words, though it repeats the idea that parameters and return value are non-functional in two separate clauses. Overall, it's 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?
Given that this is a stub, the description covers the key facts: it's interactive-only, parameters do nothing, and the return value is meaningless. But it doesn't explain what 'interactive check' means, what the user sees, or whether the tool is safe to call. It also doesn't address the windowId parameter or any side effects. For a stub, it's reasonably complete, but clearer wording about it being a placeholder would improve 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?
The schema only provides a generic 'args' array with no per-parameter descriptions, so the description adds crucial meaning by stating that both interactive and ignoreWarning parameters currently have no effect. This prevents an agent from wasting time constructing meaningful arguments. It fully compensates for the sparse schema by clarifying that parameters are effectively placeholders.
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 is about placing component orders ('元件下单') and gives the function signature, but it immediately undercuts this by saying it only supports interactive checking and parameters have no effect. This leaves the actual purpose unclear – it's a placeholder that doesn't perform a real ordering action. It doesn't distinguish from siblings like eda_pcb_manufacture_data_place_smt_components_order or eda_pcb_manufacture_data_place_pcb_order.
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 doesn't mention any prerequisites, recommended scenarios, or conditions under which this tool should be chosen. The only hint is that it's interactive-only, but it doesn't explain what that means in practice or when a user would invoke it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_manufacture_data_place_pcb_orderB
pcb_ManufactureData.placePcbOrder(interactive?: boolean, ignoreWarning?: boolean) -> Promise PCB 下单 remarks: 本接口暂时只支持交互式检查,入参暂无作用,预留后续开发 returns: 是否通过下单检查;在入参开发完成前,返回值没有实际作用,不会等待执行结果
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden and does a good job: it discloses that parameters currently have no effect, that only interactive checking is supported, that the return value has no practical use, and that the call will not wait for execution results. It does not fully describe side effects or UI behavior, but the key caveats are honestly 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 compact and front-loaded with the signature and Chinese summary. The remarks and returns sections repeat the 'no practical effect' point somewhat, but the overall length is appropriate and every section adds necessary caveat 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?
For an order-placing tool with no annotations and no output schema, the description covers the most critical caveats (interactive-only, ineffective params, non-waiting). However, it does not clarify what '通过下单检查' means operationally, whether an actual order is placed, or what the agent should do after the call. The ambiguity between 'place order' and 'only supports interactive checking' leaves 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 only provides generic args-array and windowId placeholders, offering no meaning for interactive or ignoreWarning. The description adds the parameter names and types from the signature, which is helpful, but does not explain what each boolean controls. This is partially mitigated by the explicit note that parameters currently have no effect.
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 specific operation 'PCB 下单' (place PCB order) and includes the full API signature, making the resource and action clear. It is distinguishable from sibling order tools like place_smt_components_order and place_components_order by the explicit PCB scope, though it does not elaborate on what the order process entails.
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, nor any prerequisites or conditions. The remark that it '目前只支持交互式检查' implies a usage context, but there is no explicit when/when-not guidance or mention of sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_manufacture_data_place_smt_components_orderA
pcb_ManufactureData.placeSmtComponentsOrder(interactive?: boolean, ignoreWarning?: boolean) -> Promise SMT 元件下单 remarks: 本接口暂时只支持交互式检查,入参暂无作用,预留后续开发 returns: 是否通过下单检查;在入参开发完成前,返回值没有实际作用,不会等待执行结果
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 explicitly discloses that the interface only performs interactive checks, that both input parameters currently have no effect (reserved for future use), and that the return value is meaningless and non-blocking. These are honest, specific limitations that prevent an agent from expecting real ordering behavior.
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: a signature line, a one-line Chinese summary, and two labeled remark/return sections. It front-loads the function signature and avoids wasted words. Minor redundancy exists between the signature and the summary, but the structure is 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?
The description adequately conveys that the tool is currently a no-op placeholder, which is essential for an agent deciding whether to call it. However, it lacks context on what 'interactive check' concretely involves, whether a specific active PCB document or window is required, and how this differs from sibling ordering tools. No output schema exists either, so return value semantics rely entirely on this brief note.
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 only describes a generic args array and windowId, with no detail on the actual booleans. The description's signature names interactive and ignoreWarning and gives their types, then clarifies that they have no effect. This adds meaningful semantics beyond the schema, compensating for the schema's generic 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 action with the signature line pcb_ManufactureData.placeSmtComponentsOrder and the Chinese summary 'SMT 元件下单' (SMT component ordering), which clearly identifies a specific resource and verb. However, it does not distinguish itself from closely named siblings like eda_pcb_manufacture_data_place_components_order or eda_sch_manufacture_data_place_smt_components_order, so a perfect clarity score is not warranted.
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 useful usage context: it only supports interactive checking, parameters have no effect, and the return value is meaningless and does not wait for results. This tells the agent the tool is effectively a placeholder. But it gives no guidance on when to choose this tool over the many similar 'place_*_order' siblings, and no exclusions or alternative recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_manufacture_data_upload_bom_template_fileC
pcb_ManufactureData.uploadBomTemplateFile(templateFile: File, template?: string) -> Promise<string | undefined> 上传 BOM 模板文件 returns: BOM 模板名称
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description bears the full responsibility for behavioral disclosure. It states the action and the return value (BOM template name), but does not mention potential side effects, such as whether an existing template with the same name is overwritten, permission requirements, or failure behaviors. This is a mutation operation with minimal behavioral 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 very short, consisting of a signature line and a brief Chinese phrase plus return statement. It is not overly verbose, but it lacks structure such as sections or bullet points. It front-loads the signature, which is useful, but the overall presentation is minimal.
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 upload function, the description is incomplete. It does not mention prerequisites like an open PCB document, whether the file must be in a specific format, or what happens on error. The return value is stated, but the meaning of the 'template' parameter is unclear. Given no output schema, the description should provide more operational context, but 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 description provides the function signature with parameter types and order (templateFile: File, template?: string), which adds meaning beyond the generic 'args' array in the schema. However, it does not explain the purpose of the 'template' parameter or any constraints on the file format. The description partially compensates for the schema's lack of detailed parameter documentation, but leaves semantic 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 clearly states the action: uploading a BOM template file, with a specific function signature. The resource (PCB manufacture data) is implied by the name and the prefix. It is distinct from the sibling schematic upload tool (eda_sch_manufacture_data_upload_bom_template_file) via the name, but the description itself does not explicitly differentiate. Thus it is clear but lacks explicit sibling 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?
There is no guidance on when to use this tool versus alternatives, such as when to use the PCB version over the schematic version, or any context like requiring an active PCB document. The description provides no usage context, exclusions, or conditions, leaving the agent without any selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_math_polygon_calculate_bbox_heightC
pcb_MathPolygon.calculateBBoxHeight(complexPolygon: TPCB_PolygonSourceArray | Array) -> number 计算多边形源数组的 BBox 高度
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are none, so the description carries the burden. It reveals the function signature and that it returns a number, but does not explain units (likely PCB units or mm/mm?), edge cases (empty arrays, malformed polygons), whether it mutates anything (read-only likely), or error behavior. Since no annotations exist, 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 short and front-loaded with the signature. However, it includes a bilingual signature line with no prose explanation, which is terse but not fully self-explanatory. It earns no extra credit for organization as it is just one line plus a minimal Chinese phrase.
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 computation tool with no output schema and no annotations, the description is thin. An agent does not know what the returned number represents in real units, whether it operates on the active document, or how to construct a valid TPCB_PolygonSourceArray. Sibling tools like calculate_width demonstrate that more context is possible.
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 100% for the args array and windowId, but the args items are unspecified ({}). The description lists the parameter type in the signature, which adds some meaning over the empty items schema. However, it does not explain the structure of TPCB_PolygonSourceArray or how multiple polygons are aggregated. Baseline 3 because the schema covers the outer parameters but the inner arg type is left undefined.
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 function signature and states in Chinese that it computes the BBox height of a polygon source array. The verb 'calculate' and resource 'BBox height' are clear. It does not explicitly distinguish from siblings like calculate_width or calculate_height, but the name and phrasing make the distinction obvious.
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 on when to use this vs. the sibling height/width/bbox tools. The description does not state whether the input is a single polygon or an array of polygons, though the signature shows both. No exclusions or alternative recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_math_polygon_calculate_heightB
pcb_MathPolygon.calculateHeight(complexPolygon: TPCB_PolygonSourceArray | Array | IPCB_Polygon | IPCB_ComplexPolygon) -> number 计算复杂多边形 BBox 高度 returns: BBox 高度
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 the tool returns a number (BBox height), but says nothing about side effects, units, input validation, or edge cases. For a pure computation, this is minimal transparency but not misleading; it just leaves many behaviors 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 extremely concise, consisting of a function signature and a two-line explanation in Chinese. It is front-loaded with the key information and contains no fluff. While it is sparse, for a simple math utility it is appropriately sized.
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 states the return value ('BBox 高度') but does not specify units, orientation, or any assumptions about the polygon input. It also does not clarify how it differs from the nearly identical-sounding calculate_bbox_height sibling. Given no output schema and no annotations, the description is adequate but not complete for an agent that needs to ensure correct 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?
The input schema only describes 'args' as a generic JSON array. The description adds concrete type information for the complexPolygon parameter: TPCB_PolygonSourceArray | Array<TPCB_PolygonSourceArray> | IPCB_Polygon | IPCB_ComplexPolygon. This is valuable beyond the schema, though it does not explain the windowId parameter, which is generic. Schema coverage is high, so baseline is 3; the type detail pushes it to 4.
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 operation: '计算复杂多边形 BBox 高度' (calculate complex polygon BBox height) with a specific verb and resource. It distinguishes from the sibling calculate_width, but does not explicitly differentiate from eda_pcb_math_polygon_calculate_bbox_height, which could be seen as nearly identical. The purpose is clear, but sibling differentiation is incomplete.
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 its siblings (calculate_width, calculate_bbox_height). The description does not mention alternatives or conditions, leaving the agent to infer which tool fits a given scenario. This is a significant gap given the close siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_math_polygon_calculate_widthC
pcb_MathPolygon.calculateWidth(complexPolygon: TPCB_PolygonSourceArray | Array | IPCB_Polygon | IPCB_ComplexPolygon) -> number 计算复杂多边形 BBox 宽度 returns: BBox 宽度
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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, but it only restates the computation and return type. It does not mention units, coordinate system, error handling on invalid polygons, document/context requirements, or confirm the read-only nature beyond the verb 'calculate'. For a simple pure function this is minimal but 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 compact: a front-loaded signature followed by two short clarifying lines. There is no wasted text, though the Chinese and English lines are redundant with each other and with 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?
Given the unusual polygon type unions, no output schema, and no annotations, this description is insufficient for an agent to construct a reliable call. It omits what TPCB_PolygonSourceArray or IPCB_Polygon look like, what units the returned width is in, and whether a specific document context is required. The type signature hints at the shape but does not make the invocation practical.
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 covers only the generic wrapper parameters (args and windowId), so the description's signature is the only place the actual parameter 'complexPolygon' and its type union are documented. That adds meaning beyond the schema. However, the exotic types (TPCB_PolygonSourceArray, IPCB_Polygon, etc.) are never explained, and there are no formatting examples, 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 operation: computing the bounding-box width of a complex polygon ('计算复杂多边形 BBox 宽度'). The verb and resource are specific and the 'BBox' qualifier disambiguates it from other polygon width concepts. It does not explicitly distinguish from sibling tools like calculate_bbox_height or calculate_height, which prevents 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 given on when to choose this tool over alternatives, what context it requires, or what preconditions must hold. The description is purely a signature restatement and offers no situational direction, so an agent has 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.
eda_pcb_math_polygon_convert_image_to_complex_polygonC
pcb_MathPolygon.convertImageToComplexPolygon(imageBlob: Blob, imageWidth: number, imageHeight: number, tolerance?: number, simplification?: number, smoothing?: number, despeckling?: number, whiteAsBackgroundColor?: boolean, inversion?: boolean) -> Promise<IPCB_ComplexPolygon | undefined> 将图像转换为复杂多边形对象 returns: 复杂多边形对象
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 does state the return type (Promise<IPCB_ComplexPolygon | undefined>), which is useful, but it does not disclose side effects, requirements, limitations, or what happens on failure. For a tool that takes an image blob and many options, there is no explanation of behavior beyond the basic conversion. This is insufficient for a complex 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 very concise, essentially just the function signature and a one-liner in Chinese. It is not verbose, but it lacks narrative structure or front-loaded explanation. The signature is useful but is not a well-crafted description; it reads like a copy-paste of API documentation rather than a purpose-written guide. It is efficient in length but not structured for quick comprehension.
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 complex tool with 8 parameters and no output schema, and it operates on an image blob to produce a polygon. The description does not explain what a complex polygon is, how to handle the image, what the parameters do, or how the output might be used. It also does not differentiate from similar tools like trace_image. Given the complexity and lack of annotations, the description is inadequate for an agent to call this tool correctly without 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?
The schema only describes 'args' and 'windowId', with the args description indicating an array in official signature order. The description adds the full parameter list with names and types (imageBlob, imageWidth, imageHeight, tolerance, simplification, smoothing, despeckling, whiteAsBackgroundColor, inversion), which is essential for constructing the args array. However, it does not explain the meaning or effect of these parameters, leaving their semantics to inference from names. It adds some value beyond the schema but is not comprehensive.
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 function: converting an image to a complex polygon object ('将图像转换为复杂多边形对象'), which is a specific verb+resource. However, it does not differentiate from sibling tools like eda_pcb_math_polygon_trace_image or eda_pcb_image_tool_process_image, which may have overlapping purposes. The name itself is already descriptive, so the description adds marginal clarity but no sibling 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 versus alternatives. No mention of prerequisites, context, or when not to use it. The description only provides the function signature and a one-liner, leaving the agent to infer usage entirely from the name and signature. This is a significant gap for a tool with several similarly-purposed siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_math_polygon_create_complex_polygonB
pcb_MathPolygon.createComplexPolygon(complexPolygon: TPCB_PolygonSourceArray | Array | IPCB_Polygon | Array) -> IPCB_ComplexPolygon | undefined
创建复杂多边形
returns: 复杂多边形对象,undefined 表示数据不合法
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility. It does disclose that undefined indicates invalid data, which is helpful, but it does not mention whether the operation is pure, has side effects, requires a specific document state, or any other behavioral traits. The disclosure is 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?
The description is concise, containing only the signature, a short Chinese phrase, and the return note. It is not verbose, though the structure is a bit linear and could be organized better. Still, it earns its place without 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?
The description lacks essential context: what constitutes a complex polygon, what makes input data valid or invalid, and how this relates to sibling tools. With no output schema, the return type is given but no further explanation of the returned object's structure or usage. Incomplete for a tool with 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 descriptions for args and windowId are generic, but the description's method signature provides the specific expected types (TPCB_PolygonSourceArray, IPCB_Polygon, etc.) for the complexPolygon argument. This adds significant semantic meaning beyond the schema's 'array of any' and helps the agent construct correct input.
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 specific action '创建复杂多边形' (create complex polygon) and includes the full method signature, which clarifies the verb and resource. The name itself distinguishes from the sibling create_polygon tool, though the description does not explicitly call out that 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?
No guidance on when to use this tool versus alternatives like create_polygon or split_polygon. There is no context about typical scenarios, prerequisites, or conditions that would favor this tool over others.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_math_polygon_create_polygonC
pcb_MathPolygon.createPolygon(polygon: TPCB_PolygonSourceArray) -> IPCB_Polygon | undefined
创建单多边形
returns: 单多边形对象,undefined 表示数据不合法
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 mention that 'undefined' indicates invalid data, which is useful. However, it does not disclose whether the function modifies the document, requires an open PCB window, or any side effects. The safety profile is 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 concise, with the signature and return behavior in two short sentences. It front-loads the purpose. No wasted words, though it could be slightly more informative 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?
The tool is a creation function with two parameters, but the description omits crucial details: the expected format of the polygon source array, any side effects on the current document, and the structure of the returned IPCB_Polygon object. Without output schema, the return type alone is insufficient. The description is minimal and leaves the agent to guess.
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's descriptions are generic ('按官方签名顺序排列的JSON参数数组'), and the description only provides the type name 'TPCB_PolygonSourceArray' without explaining its structure or required fields. The agent cannot infer what data to pass. Schema coverage is 100% but adds no semantic 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 it creates a single polygon, with the function signature and return type. The verb 'create' and resource 'single polygon' are specific. It does not explicitly name sibling tools like create_complex_polygon, but the term 'single' distinguishes it from that.
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 on when to use this tool versus alternatives like eda_pcb_math_polygon_create_complex_polygon. No prerequisites or context are mentioned. The description only states what it does, not when to choose it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_math_polygon_discretizeC
pcb_MathPolygon.discretize(polygon: IPCB_Polygon | TPCB_PolygonSourceArray, options?: IPCB_DiscretizeOptions) -> Promise<Array> 将单多边形离散化为点数据 remarks: 将单多边形的边界离散化为一系列点 returns: 离散化点数据
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 behavior. It only states that the polygon boundary is discretized into points, but does not mention side effects, whether it is read-only, performance implications, or what happens with complex polygons. There is no mention of any state changes 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 short and to the point, with a signature, main description, remarks, and returns section. However, the remarks essentially repeat the main description ('discretize the boundary into a series of points' vs 'discretize into point data'), which is slightly redundant. Overall, it is concise but not perfectly 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 tool with no output schema and complex inputs (polygon types, options), the description is incomplete. It does not explain the structure of the returned discretized points, what the options parameter does, or how to obtain a polygon object. An agent would struggle to construct valid arguments without additional 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 description includes the function signature with parameter names and types (polygon: IPCB_Polygon | TPCB_PolygonSourceArray, options?: IPCB_DiscretizeOptions), but it does not explain what these types mean, how to construct a polygon object, or what options affect. The schema's args array is generic, so the description adds only minimal type information without semantic depth.
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: '将单多边形离散化为点数据' (discretize a single polygon into point data), and the remarks add that it discretizes the boundary into a series of points. This gives a specific verb and resource. However, it does not distinguish this from sibling polygon tools like split_polygon or create_polygon, 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?
No guidance on when to use this tool versus alternatives. It does not mention prerequisites, typical scenarios, or situations where another tool would be more appropriate. The description only states what it does, not when to invoke it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_math_polygon_split_polygonC
pcb_MathPolygon.splitPolygon(...complexPolygons: Array) -> Array 拆分单多边形 returns: 单多边形数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, and the description does not state whether the operation is pure, whether it mutates inputs, what units/coordinate system are used, or what happens with invalid complex polygons. It only exposes a function signature, which is not enough behavioral disclosure 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 description is short and scannable with the signature front-loaded, but the Chinese gloss and the 'returns' line largely duplicate the signature. It is concise in size but not every line adds new information; there is no room for needed elaboration because the content is repetitive.
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 no output schema and no annotations, and the description leaves out the shape of IPCB_ComplexPolygon, the definition/algorithm of 'split', edge cases, and any difference from sibling polygon operations. An agent could not confidently construct a valid call or interpret the result from 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?
The schema's 100% coverage is shallow: args is just 'JSON parameter array in official signature order' and items is empty. The description adds the type expectation (Array<IPCB_ComplexPolygon>) and return type, which is useful, but it does not explain the structure of IPCB_ComplexPolygon or the meaning of windowId 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?
The signature says pcb_MathPolygon.splitPolygon takes an array of complex polygons and returns an array of polygons, so an agent can see the verb and resource. But the Chinese gloss '拆分单多边形' is terse and slightly ambiguous about whether it splits one polygon or an array of complex polygons, and it does not differentiate this from sibling math-polygon utilities 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?
There is no guidance about when to call this tool versus alternatives like eda_pcb_math_polygon_discretize or create_polygon, and no mention of prerequisites or expected input sources. The intended use is only implied by the name and signature, so an agent is left to infer context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_math_polygon_trace_imageA
pcb_MathPolygon.traceImage(options: { imageBlob?: Blob; imageWidth?: number; imageHeight?: number; quality?: 'low' | 'high'; tolerance?: number; simplify?: number; smoothness?: number; despeckle?: number; whiteAsTransparent?: boolean; antiphase?: boolean }) -> Promise<{ path: string; sourcePreviewUrl: string; previewUrl: string; width: number; height: number } | undefined>
将图片描摹为矢量路径(SVG path),并导出预览图
remarks: 纯预览接口,不触发任何放置工具(放置由临时接口 eda.pcb_ImageTool.startPlaceVectorImage 单独承担)。服务端内置读原始图片尺寸(扩展沙盒无 new Image()/canvas,无法提供原始尺寸),返回的 width/height 为原始自然尺寸(非描摹 bbox 尺寸)。首次调用需传 imageBlob(服务端缓存像素),之后拖动只传参数
ADD since EDA v5
returns: 描摹结果:path = SVG D 字符串(放置时回传给临时接口);sourcePreviewUrl = 原图预览 dataURL(缩放居中 300×300,对应旧世界 SourceCanvasPreview);previewUrl = 描摹结果预览图 dataURL(尺寸 ≤300×300);width/height = 描摹 bbox 归一最长边 300 基准的尺寸(pixel 语义,与原图分辨率/缩放无关,作为放置尺寸默认值的换算基准);空描摹(没有可描摹的轮廓)返回 undefined
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the burden; it discloses that the call is preview-only, caches image pixels server-side, cannot rely on browser Image/canvas APIs, and returns undefined for empty traces. However, the width/height semantics are internally contradictory — one remark says original natural size, while the returns section says trace-bbox normalized to a 300px base — which weakens the 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 long and dense, but it is structured around signature, remarks, version, and returns, with almost every sentence carrying operational value. Minor extras like the ADD since EDA v5 line and repeated no-placement clarification keep it from a 5, but it is well front-loaded with purpose and workflow.
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 no output schema, the description does a good job covering return fields, the undefined edge case, the caching/lifecycle behavior, and the placement handoff. The contradictory width/height explanation and the unexplained tuning parameters are the main remaining 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 only exposes an args array and windowId, so the description adds real value by listing the actual options and types and explaining the imageBlob lifecycle. Individual tuning parameters such as tolerance, simplify, smoothness, despeckle, and antiphase still lack definitions, units, or ranges, but the names and context provide reasonable 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 states a specific action — '将图片描摹为矢量路径(SVG path),并导出预览图' — and explicitly differentiates this tool from placement tools by calling it a pure preview interface that does not trigger any placement operation. It also names the separate placement interface, distinguishing it clearly from siblings like eda_pcb_image_tool_start_place_vector_image.
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 concrete workflow guidance: first call must pass imageBlob, subsequent drag interactions pass only parameters, and placement is handled separately by eda.pcb_ImageTool.startPlaceVectorImage. It does not enumerate exclusions or compare with other image-processing siblings, but the context 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.
eda_pcb_net_get_all_net_nameC
pcb_Net.getAllNetName() -> Promise<Array> 获取所有网络的网络名称 returns: 网络名称数组 [已弃用]
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations provided, so the description carries the full burden of behavioral disclosure. It does mention the return type (Promise<Array<string>>) and the deprecated status, which is some behavioral information. However, it does not disclose whether the tool operates on the current active document, if it requires a PCB document open, or any potential side effects. The description lacks critical behavioral context that would help an agent decide if it's safe or appropriate to invoke.
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, consisting of a function signature, a Chinese description of the action, a return type note, and a deprecated tag. It is not overly verbose, and the key information (what it does, what it returns) is front-loaded. However, the mix of English and Chinese and the lack of structured formatting slightly reduce clarity, but it is still appropriately sized.
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 getter, the description is mostly complete: it states the purpose, return type, and deprecation. However, it does not specify which document it operates on (though the name implies PCB), nor does it mention any prerequisites or alternatives. Given that there is no output schema, the description could be more explicit about the context (e.g., 'operates on the active PCB document') and the deprecated nature should direct users to a replacement. It is minimally adequate but has 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 100% description coverage for both parameters (args and windowId), so the baseline is 3 even though the description adds no parameter-specific information. The description does not explain the args array or the windowId parameter, but since the schema already documents them, the description does not need to repeat them. No additional value is provided 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?
The description clearly states the tool retrieves all network names via '获取所有网络的网络名称' (get all network names). The verb (get) and resource (network names) are specific, and the function signature clarifies it returns an array of strings. It does not explicitly differentiate from sibling tools like eda_pcb_net_get_all_nets or eda_sch_net_get_all_nets_name, but the focus on 'names' distinguishes it from the full net object retrieval. It is not a tautology and 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 guidance on when to use this tool versus alternatives. It does not mention the deprecated status as a reason to avoid it, nor does it suggest a replacement (e.g., eda_pcb_net_get_all_nets). There is no context about required preconditions (e.g., open PCB document) or scenarios where this tool is preferred. The deprecated tag is present but not explained.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_net_get_all_netsC
pcb_Net.getAllNets() -> Promise<Array> 获取所有网络的详细信息 returns: 所有网络的详细信息
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 does not mention that the operation is read-only, whether it requires any specific window/document context, what happens when no nets exist, or any performance implications. The return type is mentioned as Promise<Array<IPCB_NetInfo>> but no details about the structure or potential errors. This is a significant gap for a tool with no 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 description is short but repetitive: it provides the function signature in English, then states the purpose in Chinese, then repeats the return type in Chinese. The Chinese lines add little beyond the signature. It is not front-loaded with the most critical information; the purpose is somewhat redundant with the name. It is concise but not efficiently 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 tool that returns an array of IPCB_NetInfo, the description gives no details about the structure of the returned objects, fields available, or how to interpret the results. There is no output schema, so the description must compensate. It only says 'detailed information' without specifics. The windowId parameter is documented in the schema, but the description does not explain which document the nets are retrieved from (e.g., current PCB). Overall, the tool is underspecified for an agent to use effectively.
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 100% coverage for its two parameters: 'args' (described as a JSON parameter array in official signature order) and 'windowId' (target EDA window ID). The description adds nothing about parameters, but the schema already documents them adequately. However, the 'args' array's items are untyped, and the description does not clarify that this particular method (getAllNets) likely takes no arguments. Baseline of 3 is appropriate given 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 states '获取所有网络的详细信息' (get all nets' detailed information), which conveys the general action of retrieving all nets. However, it is essentially a restatement of the tool name and does not specify the scope (e.g., current PCB, current document, project) or differentiate from siblings like eda_pcb_net_get_all_nets_name or eda_pcb_net_get_net. It is clear but not specific.
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 eda_pcb_net_get_all_nets_name, eda_pcb_net_get_net, or eda_pcb_net_get_all_net_name. There are no exclusions, prerequisites, or context about when this tool is appropriate. The description offers zero usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_net_get_all_nets_nameB
pcb_Net.getAllNetsName() -> Promise<Array> 获取所有网络的网络名称 returns: 网络名称数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 discloses the API name, that it returns a Promise of an array of strings, and that it retrieves net names. However, it does not explicitly state that this is a read-only operation, whether an open PCB document is required, or what happens when no nets 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 concise: an API signature, a Chinese one-line purpose, and a return-type line. There is minor redundancy between '获取所有网络的网络名称' and 'returns: 网络名称数组', but overall every element is short and relevant.
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 no-argument getter, the description is minimally adequate: it states what is returned and the operation. Missing context includes which document/scope the nets come from and how this differs from `eda_pcb_net_get_all_nets`, but the low complexity keeps the burden modest.
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 100%, and the schema describes generic `args` and `windowId` parameters. The description adds a small amount of meaning by showing `getAllNetsName()` with empty parentheses, implying no positional arguments are needed, but it does not elaborate on `windowId` beyond what the schema already says.
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: get all PCB net names, and includes the API signature `pcb_Net.getAllNetsName()` with a return type. It is unambiguous about the resource (nets) and operation (get names). However, it does not explicitly differentiate itself from close siblings like `eda_pcb_net_get_all_nets` or `eda_sch_net_get_all_nets_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 description does not mention the active document scope, mention that it only returns names rather than net objects, or point to sibling tools for other net-related queries. Usage context is left entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_net_get_all_primitives_by_netC
pcb_Net.getAllPrimitivesByNet(net: string, primitiveTypes?: Array) -> Promise<Array> 获取关联指定网络的所有图元 returns: 图元对象数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for behavioral disclosure. It only states that the tool returns an array of primitive objects; it does not mention whether it is read-only, whether any side effects occur, error conditions, performance implications, or prerequisites. For a data-fetching operation, 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 concise, containing only a signature and a brief Chinese explanation. However, it lacks structure; it does not separate purpose, parameters, or return value into clear sections, and mixing English and Chinese may reduce clarity. It is short but not optimally organized.
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 no output schema, so the description should explain what the returned array contains and any constraints. It only says '图元对象数组' (array of primitive objects), which is vague. Additionally, the windowId parameter from the schema is not mentioned in the description, leaving its usage unexplained. The description is incomplete for an agent to reliably invoke the 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 includes the signature with parameter names and types (net: string, primitiveTypes?: Array<EPCB_PrimitiveType>), which adds meaning beyond the generic args/windowId schema. However, it does not explain what 'net' refers to (net name, ID, or other identifier) nor does it list or describe the possible values of EPCB_PrimitiveType. The meaning of the parameters remains 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 the action: '获取关联指定网络的所有图元' (get all primitives associated with the specified net). It includes the full API signature, making the purpose explicit and unambiguous. No other sibling tool performs this exact operation, so it is easily distinguished from 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?
The description provides no guidance on when to use this tool versus other net-related tools such as eda_pcb_net_get_all_nets or eda_pcb_net_get_net. There is no mention of use cases, prerequisites, or when an alternative would be more appropriate. The user must 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.
eda_pcb_net_get_netB
pcb_Net.getNet(net: string) -> Promise<IPCB_NetInfo | undefined>
获取指定网络的详细信息
returns: 网络的详细信息, undefined 为不存在该网络
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 positively adds the undefined return for non-existent nets, which is crucial. However, it does not mention other behavioral aspects like read-only nature or error handling, though the absence of side effects is implied by a getter.
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 includes the essential info: the function signature, a Chinese action phrase, and a return specification. It is structured to quickly convey what the tool does and returns, though the mix of English and Chinese may slightly reduce clarity for an English-only agent.
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 getter, and the description covers the main return behavior including the undefined case. However, without an output schema or annotations, it leaves some gaps: it does not describe what fields IPCB_NetInfo contains or clarify which document/context applies. For a low-complexity read operation, it is adequate but minimal.
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 100%: both args and windowId are described in the schema. The description includes the function signature showing the net parameter is a string, but does not elaborate beyond the schema's explanation of parameter packaging and window targeting. Baseline 3 is appropriate because the schema and signature together adequately cover parameter 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 fetches detailed information about a specified network, using verb+resource ('获取指定网络的详细信息'). The name and function signature indicate it operates on PCB nets, distinguishing it from schematic net tools, 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?
The description provides no guidance on when to use this tool versus other net-related tools (e.g., getting all nets or net names). It only explains what the tool does, so an agent is left to infer usage context from the name and signature.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_net_get_net_colorA
pcb_Net.getNetColor(net: string) -> Promise<IPCB_NetInfo['color'] | undefined>
获取指定网络的颜色
returns: 网络颜色,undefined 为不存在该网络
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It explicitly states that the return value is undefined when the net does not exist, which is a key behavioral trait that informs error handling. It does not mention other potential side effects, but for a simple getter this is sufficient. It adds useful context 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 concise, consisting of a function signature, a one-line Chinese explanation, and a return description. It is front-loaded with the most critical information and contains 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?
For a simple getter with no output schema, the description provides the essential details: the net parameter, the return type, and the undefined case. It does not mention potential errors or the windowId parameter, but those are likely common across tools. It is complete enough for an agent to invoke 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 input schema only defines a generic 'args' array with no item descriptions, leaving the actual 'net' parameter undocumented. The description compensates by showing the function signature (net: string), which gives the parameter name, type, and its role. This adds meaning beyond the sparse 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 gets the color of a specified net ('获取指定网络的颜色'), using the verb 'get' with a specific resource. It is distinguishable from the sibling eda_pcb_net_set_net_color by the get/set contrast, though it does not explicitly name the alternative. 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 implies usage for reading a net's color, but provides no explicit guidance on when to choose this over sibling tools (e.g., eda_pcb_net_get_net or eda_pcb_net_set_net_color). It does not mention any conditions or exclusions. The usage context is implied by the verb and resource.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_net_get_net_lengthA
pcb_Net.getNetLength(net: string) -> Promise<number | undefined>
获取指定网络的长度
returns: 网络长度,undefined 为不存在该网络,0 为网络无长度
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses return semantics: `undefined` for non-existent net and `0` for net with no length, which is valuable behavioral context beyond the schema. However, it does not mention that the operation is read-only or any potential side effects, though the 'get' prefix implies 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 concise, containing only the signature and return semantics. It is front-loaded with the function call, but could be slightly more structured with separate sections for parameters and return 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?
The description explains the return values but does not specify the unit of length (e.g., millimeters) or mention the `windowId` parameter. It also does not reference any alternative tools for getting net information, leaving some context gaps for a complete agent 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?
The description includes the function signature with the `net: string` parameter, clarifying the format of the first argument in the `args` array. This adds meaning beyond the generic schema description, though the `windowId` parameter is not elaborated.
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 '获取' (get) and the resource '指定网络的长度' (length of specified net), making the tool's function unambiguous. It clearly distinguishes from sibling net getters by specifying the length aspect.
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 like eda_pcb_net_get_net or eda_pcb_net_get_net_color. It only states what the function does without context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_net_get_netlistC
pcb_Net.getNetlist(type?: ESYS_NetlistType) -> Promise 获取网表 returns: 网表数据
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 reveals a Promise<string> return and 'netlist data', but does not state whether this is a safe read, whether an active PCB document is required, what type values are valid, or any error/edge-case behavior.
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-loads the API signature, followed by a terse Chinese purpose and return note. It is compact, though the Chinese '获取网表' and 'returns: 网表数据' largely restate what the signature already implies, so a small amount of redundancy exists.
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 output schema, the description should explain return format, default behavior when type is omitted, and valid ESYS_NetlistType values. None of that is present, so an agent would have to guess at the exact invocation 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 100%, so the baseline is 3. The description adds the official signature with the optional type?: ESYS_NetlistType parameter, which is useful beyond the generic args array, but it does not explain what values ESYS_NetlistType can take or how they affect the returned netlist.
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 '获取网表' (get netlist) and includes the API signature pcb_Net.getNetlist(...), making the verb and resource clear. It does not explicitly contrast with sibling tools like eda_sch_netlist_get_netlist or eda_pcb_manufacture_data_get_netlist_file, but the pcb_Net prefix and tool name carry enough 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?
There is no guidance on when to use this tool versus alternatives such as eda_sch_netlist_get_netlist or eda_pcb_manufacture_data_get_netlist_file. No prerequisites, exclusions, or context are mentioned, so the agent must 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.
eda_pcb_net_highlight_netB
pcb_Net.highlightNet(net: string) -> Promise
高亮网络
remarks: 本接口的返回值为结果导向,如果该网络原先已高亮,也将返回 true
returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 does add one genuinely useful behavioral note: if the net was already highlighted, the call still returns true (result-oriented return semantics). However, it omits other relevant behaviors, such as what happens when the specified net does not exist, whether the highlight is a visual-only mutation, and whether an active PCB window is required.
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, front-loaded with the signature, and the behavioral note is placed in a dedicated remarks field. Every sentence earns its place, though the purpose statement is minimal.
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 relatively simple operation with 2 parameters at 100% schema coverage and no output schema. The description covers purpose and return semantics. Gaps include the invalid-net behavior, the requirement of an active PCB document, and the distinction from unhighlight/select siblings, but for a simple highlight operation these are moderate rather than critical omissions.
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 100% and the args are generically described as a JSON array in official signature order. The description's signature line identifies the single net parameter as a string, which adds marginal meaning. With full schema coverage, baseline 3 is appropriate; the description does not need to compensate further.
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 verb ('highlight') and resource ('net') via both the signature and the Chinese '高亮网络' (highlight net). The intent is unambiguous. However, it does not differentiate itself from the sibling tools eda_pcb_net_unhighlight_net or eda_pcb_net_unhighlight_all_nets, relying on the name for that 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 no guidance on when to use this tool versus alternatives like eda_pcb_net_unhighlight_net or eda_pcb_net_select_net. It also fails to note prerequisites, such as needing an open PCB document or that the target net must exist for highlighting to have effect. An agent must infer usage context from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_net_select_netB
pcb_Net.selectNet(net: string) -> Promise 选中网络 returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 the return type (Promise<boolean>) and that the return indicates success, but it does not explain what 'select' does to the UI, whether it clears a previous selection, whether it triggers events, or how it behaves for invalid or nonexistent net names.
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: a signature line, a one-line purpose, and a return-value note. Every line contributes information without fluff. It loses one point for being so terse that it skips context that would make the tool safer to invoke.
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 single-parameter operation with no output schema and no annotations, the description is minimally adequate: it names the parameter, the action, and the boolean return. But it omits key context such as the target document (active PCB), selection behavior (append vs replace), and error semantics, which are important given the large set of similar sibling 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's 'args' description is generic ('JSON parameter array in official signature order'), so the description adds real value by exposing 'net: string' and the Chinese explanation '选中网络' (select net). It clarifies what the first argument should be. However, it does not specify the expected format, possible values, or how windowId interacts with the selection.
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 clearly: '选中网络' ('select net') and gives the exact signature 'pcb_Net.selectNet(net: string)'. It names the resource (a net in the PCB editor) and the verb (select), so an agent can infer the operation. However, it does not differentiate this from related sibling operations such as highlight_net, unselect_net, or unhighlight_net.
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 the many sibling net operations (select vs highlight, select vs unselect, etc.). There is no mention of prerequisites like having an active PCB document or whether the net must already exist. The agent is left 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.
eda_pcb_net_set_net_colorB
pcb_Net.setNetColor(net: string, color: IPCB_NetInfo['color']) -> Promise
设置指定网络的颜色
returns: 是否设置成功, false 为不存在该网络
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 discloses the return boolean and false for non-existent net, which is useful. However, it does not mention that this is a mutation operation, potential side effects (e.g., requiring save), or any requirements like the document being open. It reads as a simple setter but lacks depth about 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 concise: a signature line and a brief purpose statement plus return semantics. It front-loads the key information (signature) and adds a Chinese description. No extraneous content. It could be slightly more structured with explicit parameter descriptions, but it's 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?
For a simple setter with only two parameters, the description provides the essentials: purpose, parameter types, and return behavior. However, it lacks context like whether the operation applies to the current document, any prerequisites (e.g., net must exist to get false), or examples. Since it's a mutation tool, additional context about side effects would improve 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 adds significant meaning beyond the schema. The schema only defines wrapper parameters (args, windowId), while the description specifies the actual function signature: net as string, color as IPCB_NetInfo['color'], and explains the response. This clarifies what goes inside args and the expected return, which is not evident 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?
The description clearly states the action: '设置指定网络的颜色' (set the color of the specified net). It also includes the function signature with specific parameter names (net, color). This is a specific verb+resource and is distinct from sibling tools like get_net_color or highlight_net.
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. It does not mention conditions like needing a valid net name, or contrast with related sibling tools (e.g., selecting vs coloring). The only hint is the return value indicating failure if net doesn't exist, but no explicit usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_net_set_netlistD
pcb_Net.setNetlist(type: ESYS_NetlistType | undefined, netlist: string) -> Promise 更新网表
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries full responsibility for behavioral disclosure. It fails to mention side effects, return value meaning (Promise<boolean> is not explained), permission requirements, or whether the operation is reversible. The agent has no idea what happens when this is called.
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 (one signature and a two-character phrase), but it is under-specified rather than efficiently concise. It lacks any natural-language explanation or structuring that would help an agent parse key 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?
For a tool with no output schema, no annotations, and minimal parameter documentation, this description is wholly inadequate. An agent cannot determine how to construct valid inputs, what success looks like, or what preconditions apply.
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 signature lists types (ESYS_NetlistType, string) but provides no explanation of what 'type' values are valid, what format 'netlist' should be in, or what the arguments mean in context. The schema only defines an 'args' array without item descriptions, so the parameters are effectively 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 states 'update netlist' which is essentially a translation of the tool name. It gives a verb and resource but no detail on what 'update' entails, what netlist types exist, or how it differs from schematic netlist tools. The signature line adds parameter names but no 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?
There is no guidance on when to use this tool versus alternatives like eda_pcb_net_get_netlist or eda_sch_netlist_set_netlist. No context about required document state, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_net_unhighlight_all_netsB
pcb_Net.unhighlightAllNets() -> Promise 取消高亮所有网络 returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the behavioral burden. It states the expected return is a boolean indicating success, but it doesn't mention side effects like clearing all net highlighting, potential performance implications, or whether it requires an active PCB document. The Chinese note '取消高亮所有网络' adds a bit more but still 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 concise with only the essential information: the function call and a brief explanation in Chinese. It's front-loaded with the API signature, which is helpful. However, it could be more structured with separate sections for description, returns, and usage, but it's not overly 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 simple tool with no parameters and no output schema, the description is minimal but not fully complete. It lacks context about the scope (e.g., affects only the current PCB document) and any prerequisites. The return value is explained, but an agent might need more reassurance about the operation's impact. Given the tool's simplicity, a more thorough description would improve 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 schema has 100% description coverage for the two parameters: 'args' (JSON parameter array) and 'windowId' (target EDA window ID). The description adds nothing beyond the schema, but since the schema is complete, the baseline 3 applies. The description's function signature hints at no parameters needed, but the schema's generic structure is clear 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 clearly states it unhighlights all nets in the PCB editor, using a specific verb 'unhighlight' and resource 'all nets'. It distinguishes from siblings like 'eda_pcb_net_unhighlight_net' (which targets a single net) and 'eda_pcb_net_highlight_net' (which does the opposite). Although it includes the function signature, 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 gives no guidance on when to use this tool versus alternatives. It doesn't mention that it affects all nets in the current PCB document, nor does it exclude cases like when only specific nets need unhiglighting. An agent might not know if it's appropriate for the current context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_net_unhighlight_netA
pcb_Net.unhighlightNet(net: string) -> Promise
取消高亮网络
remarks: 本接口的返回值为结果导向,如果该网络原先未高亮,也将返回 true
returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It explicitly discloses that the return is result-oriented and returns true even if the net was not previously highlighted, which is a valuable non-obvious behavioral detail. It does not mention other potential side effects, but for a simple unhighlight operation this is sufficient.
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 signature, followed by the action in Chinese, a remark, and the return type. It is efficient and without wasted words, though the mixed-language format could be more unified.
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 net unhighlight operation, the description covers the return value and the idempotent behavior. The windowId parameter is documented in the schema, so no further explanation is needed. Minor gaps like case sensitivity of net names are not critical.
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 only describes args as a generic JSON array, but the description's signature 'pcb_Net.unhighlightNet(net: string)' clarifies that the first parameter is the net name string. This adds meaning beyond the schema, which is crucial 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 clearly states the action '取消高亮网络' (cancel highlight net) and provides the method signature pcb_Net.unhighlightNet(net: string). This distinguishes it from siblings like eda_pcb_net_highlight_net and eda_pcb_net_unhighlight_all_nets by targeting a single net.
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 guidance on when to use this tool versus alternatives such as unhighlight_all_nets or highlight_net. It lacks exclusions or conditions, 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.
eda_pcb_net_unselect_all_netsB
pcb_Net.unselectAllNets() -> Promise 取消选中所有网络 returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose the core behavior (unselect all nets) and the return value (Promise<boolean> indicating success). However, it does not explain side effects or scope boundaries, such as whether the operation applies to the active document, whether it also affects other primitive selections, or whether it is undoable. The basic behavior is clear, but deeper 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 appropriately short and front-loaded: API signature, natural-language meaning, and return type. Each line 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?
For a simple no-argument operation, the description is minimally viable. But with no annotations, no output schema, and no mention of alternatives or effect boundaries, an agent lacks enough context to confidently choose this over the similar clearing/unselecting tools. It is not misleading, but it is incomplete for full contextual 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?
The schema descriptions are complete for the wrapper fields (args and windowId), but generic. The description adds meaning via the method signature 'pcb_Net.unselectAllNets()', which signals that no official arguments are required and the args array should be empty. This goes beyond the generic schema description and helps the agent construct a correct call.
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 operation: '取消选中所有网络' (unselect all nets) and gives the API signature. It names both the resource (nets) and the action (unselect all), so an agent can understand the core purpose. However, it does not explicitly differentiate itself from siblings like eda_pcb_net_unselect_net or eda_pcb_select_control_clear_selected, leaving the scope distinction implicit in the name and phrasing.
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 does not mention that this is for deselecting all nets as opposed to a single net, nor does it distinguish from clearing all selection in the PCB document. The agent is left to infer usage solely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_net_unselect_netB
pcb_Net.unselectNet(net: string) -> Promise 取消选中网络 returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It only states the action and return type (boolean indicating success), but does not disclose side effects, error cases, or what happens if the net is not selected. Minimal behavioral context beyond 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 extremely concise, front-loading the signature and purpose in two short lines. 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 mutation-like tool with no annotations and no output schema, the description is minimal. It lacks context about prerequisites (e.g., an open PCB document), effects on current selection state, and behavior when the net does not exist. More detail is needed 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's args array is a generic JSON array with no item details, but the description provides the actual signature 'net: string', adding meaningful parameter information. The windowId parameter is also described in the schema, and the description complements the sparse 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 ('取消选中网络' = unselect network) and the resource (net), with a specific verb. It is unambiguous, but does not explicitly differentiate from sibling net-selection tools like select_net or highlight_net.
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 (e.g., when a net is currently selected, when to use unselect vs select). No preconditions or context are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_arc_createC
pcb_PrimitiveArc.create(net: string, layer: TPCB_LayersOfLine, startX: number, startY: number, endX: number, endY: number, arcAngle: number, lineWidth?: number, interactiveMode?: EPCB_PrimitiveArcInteractiveMode, primitiveLock?: boolean) -> Promise<IPCB_PrimitiveArc | undefined> 创建圆弧线 returns: 圆弧线图元对象
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, and the description only includes a function signature and a return type. It does not disclose side effects, error handling, coordinate system assumptions, or any behavioral constraints beyond the bare signature. The agent gets no insight into what happens when the operation is 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 extremely terse, consisting of a signature and a one-line Chinese phrase. It is under-specified rather than concise; there is no structuring of information to help the agent parse the main purpose or usage, and it lacks any explanatory prose to supplement the signature.
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 complex creation tool with several optional parameters and no output schema. The description omits critical context such as coordinate system, units, layer semantics, interactive mode behavior, and the meaning of the primitiveLock parameter. An agent cannot correctly invoke this tool without significant 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?
The description lists parameter names and types (net, layer, startX, startY, endX, endY, arcAngle, etc.) but does not explain their meaning, units, or relationships. The input schema only has generic 'args' and 'windowId' fields, so the signature adds some semantic structure, but it fails to convey what each parameter represents (e.g., arcAngle units, coordinate origin).
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 'create' with the resource 'arc line' (创建圆弧线), which clearly identifies the operation. It distinguishes from sibling tools like eda_pcb_primitive_arc_delete, arc_get, and arc_modify by implying the creation action. The purpose is unambiguous even without additional 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 provides no guidance on when to use this tool instead of alternatives, no mention of prerequisites (e.g., active PCB document), or context for using arc creation vs. other primitives. The agent is left without any usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_arc_deleteC
pcb_PrimitiveArc.delete(primitiveIds: string | IPCB_PrimitiveArc | Array | Array) -> Promise 删除圆弧线 returns: 删除操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 side effects. It states it deletes arcs and returns a success boolean, but omits critical behavioral details: the operation is destructive and irreversible, it may fail if the arc no longer exists or is locked, and it doesn't specify what happens on partial success when multiple IDs are passed. This is a significant gap for a deletion 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 extremely brief—a signature line, a one-line Chinese description, and a return note. It's minimal enough to be called concise, but it sacrifices substance. The structure is a code-style signature followed by a note, which is reasonably front-loaded, but it omits any natural-language explanation of behavior beyond the signature.
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 destructive nature and the absence of annotations and output schema, the description is under-specified. It lacks information about irreversibility, error handling, whether the operation targets the active document, and how the boolean return should be interpreted (e.g., does false indicate no matching arcs?). An agent cannot fully anticipate the tool's behavior from this description.
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 includes the full function signature, clarifying that the first parameter (primitiveIds) can be a string or IPCB_PrimitiveArc object, or arrays of these. This adds meaning beyond the schema, which only defines an 'args' array without describing its elements. The Chinese description '删除圆弧线' reinforces that the target is arc primitives. However, it doesn't explain the windowId parameter's semantics beyond what the schema already covers.
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 it deletes arc lines (删除圆弧线), giving a clear verb and resource. It distinguishes from sibling delete tools for other primitive types (line, via, pad, etc.) by naming 'arc' specifically. While it's minimal, it's not a tautology—it paraphrases the tool name with domain-specific terminology.
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 alternative delete operations. It doesn't mention that it applies to PCB arcs (as opposed to schematic arcs, which have a separate sibling eda_sch_primitive_arc_delete), nor any prerequisites or context such as needing an active PCB document. An agent would have 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.
eda_pcb_primitive_arc_getB
pcb_PrimitiveArc.get(primitiveIds: string) -> Promise<IPCB_PrimitiveArc | undefined>
获取圆弧线
returns: 圆弧线图元对象,undefined 表示获取失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 usefully state the async return shape (`Promise<IPCB_PrimitiveArc | undefined>`) and that `undefined` means failure. It does not explicitly confirm non-mutating behavior, distinguish not-found from other failures, or mention any window prerequisites.
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: a signature, a one-line Chinese purpose, and a return/failure note. There is minor redundancy between the signature's return type and the final 'returns' line, but no filler or unrelated 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?
For a single-parameter read operation, it covers purpose, parameter name/type, return type, and the failure sentinel, while the schema covers `windowId`. It omits input-string formatting, alternative-tool routing, and side-effect confirmation, and with no annotations the agent must infer safety from the word 'get'.
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 only exposes generic `args` and `windowId`, so the description is the sole source for the real API parameter, providing `primitiveIds: string`. This is a meaningful addition beyond the schema, though it leaves the exact string format (single ID vs. delimited list) and how to encode it into `args` unstated.
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') plus the resource ('圆弧线' / arc line) and exposes the signature with `primitiveIds`, making it clear this is the by-ID arc getter. It does not explicitly contrast with siblings like `eda_pcb_primitive_arc_get_all` or generic primitive getters, but the singular resource and parameter 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?
No guidance is given on when to use this tool versus `eda_pcb_primitive_arc_get_all`, `eda_pcb_primitive_arc_get_all_primitive_id`, or generic getters like `eda_pcb_primitive_get_primitive_by_primitive_id`. The phrase '获取圆弧线' only implies the action; it does not state exclusions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_arc_get_allC
pcb_PrimitiveArc.getAll(net?: string, layer?: TPCB_LayersOfLine, primitiveLock?: boolean) -> Promise<Array> 获取所有圆弧线 returns: 圆弧线图元对象数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 states the return is a Promise resolving to an array of IPCB_PrimitiveArc, and that filtering by net, layer, or primitiveLock is possible, but it does not disclose whether the returned arrays are raw object references or copies, whether the operation is read-only (it is, by name), what happens with no arguments (likely returns all arcs in the document), or any error conditions. The behavior of the optional filters is also not explained (e.g., how layer filtering works, what primitiveLock 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 short and front-loaded with the signature and the key purpose. The Chinese phrase '获取所有圆弧线' is redundant with the signature but confirms the purpose. The return type annotation adds useful detail. No filler words, but the bilingual repetition is slightly 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 simple: a read-only getter returning an array. The description covers the purpose, signature, and return type. However, it lacks details about the meaning of the optional parameters (especially `primitiveLock`, which is opaque), what object the arcs belong to (the active PCB document? a specific window?), and how the optional filters interact. Given the schema has no descriptions for inner parameter types and no output schema, the description could be more 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 description coverage is 100%, as both `args` and `windowId` are described in the schema. The description lists the official signature `getAll(net?, layer?, primitiveLock?)`, which adds the parameter names and suggests they are optional filters, but it doesn't explain the meaning of `primitiveLock` or the type `TPCB_LayersOfLine`. The description adds the parameter names beyond the generic schema, but the schema already describes the parameters as a JSON array; the description's value is marginal.
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 begins with the method signature `pcb_PrimitiveArc.getAll(...)` and a Chinese phrase '获取所有圆弧线' which translates to 'Get all arc lines.' This clearly states the verb (get) and the resource (all PCB primitive arcs), and the return type `Array<IPCB_PrimitiveArc>` adds specificity. However, it doesn't explicitly distinguish itself from sibling tools like `eda_pcb_primitive_arc_get_all_primitive_id` (which likely returns only IDs), so it's clear but lacks explicit sibling 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?
The description does not provide any guidance on when to use this tool versus alternatives. The sibling list includes `eda_pcb_primitive_arc_get`, `eda_pcb_primitive_arc_get_all_primitive_id`, and other primitive get_all tools (e.g., `eda_pcb_primitive_line_get_all`), but the description doesn't explain which one to choose. The optional parameters (net, layer, primitiveLock) imply filtering use cases, but the description never states that.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_arc_get_all_primitive_idC
pcb_PrimitiveArc.getAllPrimitiveId(net?: string, layer?: TPCB_LayersOfLine, primitiveLock?: boolean) -> Promise<Array> 获取所有圆弧线的图元 ID returns: 圆弧线的图元 ID 数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 repeats the function signature and states the return type, which is already implied by the name. It does not mention side effects (e.g., whether it selects anything), permissions, or any constraints on the window context. The description adds almost no behavioral context beyond what the tool name already 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 brief—only a signature, a Chinese purpose statement, and a return line. It is not verbose, but it is under-specified rather than appropriately concise. The structure is flat, with no sections or examples, so while it earns a 3 for being short, it does not organize information effectively for an agent.
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 read-only getter, the description should at least explain the optional parameters and any prerequisites (e.g., having an active PCB). It does neither. The return type is mentioned, but not the format of individual strings. The description is not complete enough for an agent to know if this tool is appropriate or how to set the parameters 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 description coverage is 100% for the wrapper properties (args, windowId), but these descriptions are generic and do not explain the actual parameters 'net', 'layer', and 'primitiveLock' seen in the signature. The description includes the signature with parameter names/types but does not clarify their meaning or acceptable values. Since the schema also lacks these details, the description fails to compensate, leaving parameter semantics 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 clearly states the tool's function: '获取所有圆弧线的图元 ID' (get all primitive IDs of arc lines) and the return type is specified as an array of strings. This gives a specific verb and resource. However, it does not explicitly differentiate itself from sibling tools like eda_pcb_primitive_arc_get_all, which also retrieves arc primitives, so it misses the distinguishing context that would make it 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 provides no guidance on when to use this tool versus alternatives. There is no mention of use cases, prerequisites, or exclusions. The agent is left to infer that it should be used when wanting IDs of all arcs, but no explicit direction is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_arc_modifyC
pcb_PrimitiveArc.modify(primitiveId: string | IPCB_PrimitiveArc, property: { net?: string; layer?: TPCB_LayersOfLine; startX?: number; startY?: number; endX?: number; endY?: number; arcAngle?: number; lineWidth?: number; interactiveMode?: EPCB_PrimitiveArcInteractiveMode; primitiveLock?: boolean }) -> Promise<IPCB_PrimitiveArc | undefined> 修改圆弧线 returns: 圆弧线图元对象
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description must carry the full behavioral disclosure burden. It discloses only the return type (Promise<IPCB_PrimitiveArc | undefined>) and the modifiable fields. It does not explain what happens if the primitiveId is invalid, whether changes are immediately reflected, whether the active document must be a PCB, or any side effects/reversibility concerns for this mutation 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 compact and front-loads the full signature, which is informative. However, the Chinese phrase '修改圆弧线' simply repeats the action already evident in the name and signature, and 'returns: 圆弧线图元对象' duplicates the Promise return type already in the signature. Some redundancy and a code-dump structure rather than a curated human/agent-facing explanation.
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 modification tool with a property object of nine optional fields, no output schema, and no annotations, the description is incomplete. It does not explain how to map the signature onto the args array, what coordinates/units to use, how interactiveMode works, or what undefined means as a return. An agent would struggle to invoke this correctly without external API 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 only describes 'args' as an opaque JSON array and 'windowId', so the description's embedded TypeScript signature adds real meaning by naming the two actual parameters (primitiveId and property) and enumerating all property keys with their types (net, layer, startX, startY, endX, endY, arcAngle, lineWidth, interactiveMode, primitiveLock). This is significant value beyond the schema, though it still omits semantic details like units and enum value meanings.
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 and resource: 'pcb_PrimitiveArc.modify' means modifying a PCB arc primitive, and the Chinese '修改圆弧线' reinforces this. It is unambiguous relative to sibling arc tools (create/delete/get) and other primitive modify tools because the resource is explicitly 'arc'. Missing an explicit contrasting statement, but the purpose is not vague or misleading.
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. The description is a bare function signature plus a translation of the name; there is no mention of preconditions (e.g., primitive must already exist), no contrast with arc_create/arc_delete, and no indication of when one would choose modify over get or create. The agent must infer usage entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_attribute_createB
pcb_PrimitiveAttribute.create() -> undefined
创建属性
remarks: 属性图元不支持新建,本接口调用将不会有任何效果
returns: undefined
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it explicitly discloses that the call has no effect, that attribute primitives cannot be newly created, and that the return value is undefined. This is transparent and prevents an agent from expecting a successful mutation. It could add error behavior or rationale, but for a no-op the key facts 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?
The description is short and front-loads the API signature and no-op warning. The only redundancy is that the return value `undefined` appears both in the signature line and in the final 'returns' statement, which could be tightened. Overall, every line 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 no-op tool, it states the essential behavioral facts and return value. However, it is incomplete in that it doesn't tell an agent what to do instead (e.g., use a modify operation) and leaves the args parameter opaque. Given the simplicity, the gaps are moderate rather than severe.
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 100%, so the baseline is 3 even though the description adds no parameter detail. The `args` array is only described as a generic JSON parameter array with unspecified items, and `windowId` is standard. Since the operation is a no-op, exact parameters are less critical, but neither schema nor description clarifies what should be passed.
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 "创建属性" (create attribute), but the remarks immediately negate this by stating attribute primitives do not support creation and the call will have no effect. This leaves the tool's actual purpose ambiguous — a functional create or a compatibility no-op. It is not a tautology, but the purpose is muddied by the contradiction.
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 sibling tools like eda_pcb_primitive_attribute_modify or clarify that attributes should be modified rather than created. The no-effect remark implicitly warns against use, but no explicit when-to-use/when-not-to-use or alternative routing is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_attribute_deleteC
pcb_PrimitiveAttribute.delete(primitiveIds: string | IPCB_PrimitiveAttribute | Array | Array) -> Promise 删除属性 returns: 删除操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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. It only states the return type (boolean) and that it deletes an attribute, but does not mention side effects, failure conditions, whether deletion is irreversible, or any error handling. The name implies destructiveness but no details are given.
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 (a signature and two short Chinese phrases), which is concise, but it lacks structure or front-loading of key information. It is under-specified rather than efficiently concise; it reads like a raw API dump rather than a purpose-written 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?
For a simple delete operation, the description is still incomplete. It does not explain what an attribute is, how to target it, what the boolean return value means beyond success/failure, or any error conditions. With no output schema and minimal behavioral info, an agent would struggle to know if the call succeeded or why it failed.
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 includes a type signature listing primitiveIds and its accepted types, but it does not explain what an IPCB_PrimitiveAttribute is, how to obtain primitiveIds, or how to structure the args array per the schema. The schema itself only describes args as a generic JSON array, so the description adds minimal practical meaning for invoking the tool 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 names the operation 'delete attribute' and provides the function signature, making it clear this tool deletes a primitive attribute on a PCB. It distinguishes from siblings like create/get/modify by the verb 'delete', though it does not explain what an attribute is or what effect deletion has 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 given on when to use this tool versus alternatives, such as when an attribute should be deleted, any prerequisites (e.g., existence of the primitive), or scenarios where deletion is inappropriate. The description is purely declarative and offers no contextual routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_attribute_getC
pcb_PrimitiveAttribute.get(primitiveIds: string) -> Promise<IPCB_PrimitiveAttribute | undefined>
获取属性
returns: 属性图元对象,undefined 表示获取失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 return type and that undefined means failure, which is useful, but it does not disclose whether the operation is read-only, whether it requires an active document, what happens with invalid IDs, or whether it operates on the current window only. The windowId parameter is mentioned in the schema but not 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 compact: a signature line, a one-line purpose, and a return note. It front-loads the call pattern and keeps the return semantics adjacent. Minor redundancy exists between the signature and the Chinese purpose line, but overall it is 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?
For a simple getter this is nearly adequate, but the lack of any usage context, no mention of how to obtain primitiveIds, no note about window targeting, and no output schema leave gaps. The sibling list shows many similar attribute tools, and the description does not help an agent choose among them or understand failure modes beyond undefined.
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 100%, so the baseline is 3. The description adds the signature line showing primitiveIds as a string and the return type, but it does not explain the format of primitiveIds (e.g., comma-separated, array, single ID) or how windowId interacts with the lookup. The schema already documents both parameters adequately.
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 ('get') and resource ('属性图元' / primitive attribute), and the signature line makes the call pattern explicit. It is distinguishable from siblings like eda_sch_primitive_attribute_get_all and eda_sch_primitive_attribute_get_all_primitive_id by the singular 'get' semantics, though it doesn't explicitly name those 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 on when to use this tool versus the many sibling attribute tools (get_all, get_all_primitive_id, modify, delete, create). The description implies a single-object lookup by primitiveIds but does not state when that is preferable to batch retrieval or how to obtain the primitiveIds.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_attribute_get_allC
pcb_PrimitiveAttribute.getAll(parentPrimitiveId?: string, layer?: TPCB_LayersOfImage, primitiveLock?: boolean) -> Promise<Array> 获取所有属性 returns: 属性图元对象数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 return type (Array<IPCB_PrimitiveAttribute>) and a Chinese note about returning an array of attribute primitives, but does not state that it is a read-only operation, whether parameters are required, what happens with no arguments, or any side effects. The signature shows optional parameters but does not explain behavior when omitted. Minimal 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 and concise, but the structure is a mix of a code signature, a Chinese phrase, and a return line. It is not front-loaded with a clear natural-language purpose statement; the signature is somewhat redundant given the tool name. It is compact but not well-structured for quick agent comprehension.
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 no output schema, and the description only mentions the return type without explaining what an attribute is, what the parameters mean, or any operational context (e.g., active document requirement). The tool has three optional parameters, and the description provides no guidance on how they affect the result. For a getter with this complexity, the description is significantly incomplete for an agent to call it correctly without additional domain 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?
The input schema only describes 'args' as a generic array of JSON parameters and 'windowId', with no individual parameter descriptions. The description provides the function signature listing parameter names (parentPrimitiveId, layer, primitiveLock) and their types, which adds some meaning beyond the schema's vague 'args' array. However, it does not explain what each parameter means or how to use them, leaving the agent to infer semantics from 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 name clearly indicates 'get all attributes' for PCB primitives, and the description includes a function signature 'pcb_PrimitiveAttribute.getAll' with a Chinese phrase '获取所有属性' (get all attributes) and a return line. It states the verb (get all) and resource (PCB primitive attributes), but does not explicitly differentiate from sibling tools like eda_pcb_primitive_attribute_get (single attribute) or get_all_primitive_id. The name itself distinguishes it, but the description adds little beyond that.
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 on when to use this tool versus alternatives. It does not mention prerequisites (e.g., an open PCB document), when to use the optional parameters, or contrast with eda_pcb_primitive_attribute_get (single) or get_all_primitive_id. The description is purely declarative and offers no selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_attribute_get_all_primitive_idC
pcb_PrimitiveAttribute.getAllPrimitiveId(parentPrimitiveId?: string, layer?: TPCB_LayersOfImage, primitiveLock?: boolean) -> Promise<Array> 获取所有属性的图元 ID returns: 属性的图元 ID 数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 states the return type and a brief returns note, but does not disclose whether the operation is read-only, any side effects, authentication needs, or error conditions. For a getter, read-only is implied but not stated, and nothing beyond the signature is revealed.
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 brief but poorly structured. It leads with the full function signature, then a Chinese phrase that repeats the purpose, then a returns line. The purpose is not front-loaded for English readers, and the inclusion of both signature and redundant Chinese sentence wastes space. It is not efficiently organized.
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 three parameters, no annotations, and no output schema, the description is incomplete. It does not explain the parameters' semantics, when to use them, or any prerequisites. An agent cannot reliably construct the args array without understanding what parentPrimitiveId, layer, and primitiveLock mean and how they filter results.
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 lists parameter names and types in the signature (parentPrimitiveId, layer, primitiveLock) but provides no explanation of their meanings, defaults, or how they affect results. The schema only documents args and windowId generically, so the description is the sole source for parameter semantics, yet it offers no added meaning beyond the 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 includes the function signature and a Chinese phrase '获取所有属性的图元 ID' meaning 'get the primitive IDs of all attributes'. The verb+resource is clear: it retrieves primitive IDs for attribute primitives. The name itself distinguishes it from sibling get_all_primitive_id tools for other primitive types, and the description reinforces the attribute scope, so it is specific 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?
No guidance is provided on when to use this tool versus alternatives. It does not mention filtering scenarios, when the optional parameters should be supplied, or when to prefer this over the generic get_all or other get_all_primitive_id tools. The agent is left to infer usage from the name and signature.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_attribute_modifyC
pcb_PrimitiveAttribute.modify(primitiveId: string | IPCB_PrimitiveAttribute, property: { layer?: TPCB_LayersOfImage; x?: number; y?: number; key?: string; value?: string; keyVisible?: boolean; valueVisible?: boolean; fontFamily?: string; fontSize?: number; lineWidth?: number; alignMode?: EPCB_PrimitiveStringAlignMode; rotation?: number; reverse?: boolean; expansion?: number; mirror?: boolean; primitiveLock?: boolean }) -> Promise<IPCB_PrimitiveAttribute | undefined> 修改文本 returns: 文本图元对象
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 reveals the return type (Promise<IPCB_PrimitiveAttribute | undefined>) but never explains when undefined is returned, whether the target primitive must already exist, or what side effects a modify has. For a mutation tool, this is thin.
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 dominated by a dense raw TypeScript signature followed by only two short Chinese prose lines ('修改文本', 'returns: 文本图元对象'). There is no front-loaded plain-language summary and no structured explanation; the technical dump is the entire 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?
As a mutation tool with no annotations, no output schema, and a generic wrapper schema, the description needed to compensate but doesn't. Missing: when undefined is returned (failure condition), how to obtain a primitiveId (via sibling get tools), property units/constraints, and any prerequisites for a successful modify call. An agent would struggle to call this 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 is a generic wrapper (an args array of empty {} items plus windowId), providing essentially no real parameter detail, so the description's signature is the only source documenting the 16 modifiable properties and their types. This is genuinely valuable, but it offers no semantic explanation of units, constraints, or defaults for properties like x, y, fontSize, expansion, or rotation.
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 ('修改文本' = modify text) and dumps the function signature listing modifiable properties, so a verb and resource are present. However, it never clarifies what a 'primitive attribute' is in the PCB context or how it differs from the many sibling primitive tools (string_modify, component_modify, pad_modify, etc.). The purpose is stated but only thinly.
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 whatsoever on when to use this tool versus alternatives. With a large sibling set including attribute_create/delete/get and numerous other primitive modify tools, there is no when-to-use, when-not-to-use, or routing to an alternative. The agent must guess based on the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_component_createB
pcb_PrimitiveComponent.create(component: { libraryUuid: string; uuid: string } | ILIB_DeviceItem | ILIB_DeviceSearchItem | { libraryType: ELIB_LibraryType.FOOTPRINT; libraryUuid: string; uuid: string } | ILIB_FootprintItem | ILIB_FootprintSearchItem, layer: TPCB_LayersOfComponent, x: number, y: number, rotation?: number, primitiveLock?: boolean) -> Promise<IPCB_PrimitiveComponent | undefined> 创建器件 returns: 器件图元对象
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for behavioral disclosure. It mentions the return type (Promise<... | undefined>) but does not state that creation is a mutating operation, whether it requires an active PCB document, the coordinate system used, or any side effects on existing primitives.
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 signature plus a short Chinese translation and return note. Every element carries information, with no filler or repetitive 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?
Given the complexity of the component parameter (multiple union types) and the lack of an output schema, the description does not explain required object properties, coordinate units, or behavioral prerequisites. An agent would need additional context to invoke this tool correctly without errors.
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 full TypeScript signature documents all parameters, including optional flags (rotation, primitiveLock) and union types for the component argument, compensating for the generic args-array schema. However, it does not explain the meaning of types like ILIB_DeviceItem or TPCB_LayersOfComponent, so agents must rely on 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 indicates a create operation for a PCB primitive component, with the verb 'create' and resource 'PrimitiveComponent' (器件). It is distinguishable from sibling tools like eda_pcb_primitive_component_modify and eda_pcb_primitive_component_delete, though it doesn't elaborate on what the component represents.
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 eda_pcb_primitive_component_place_component_with_mouse or eda_pcb_primitive_component_place_footprint_with_mouse. It does not state preconditions, document requirements, or which scenarios favor direct creation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_component_deleteC
pcb_PrimitiveComponent.delete(primitiveIds: string | IPCB_PrimitiveComponent | Array | Array) -> Promise 删除器件 returns: 删除操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full behavioral burden. It states it deletes a component and returns a boolean, but it does not disclose side effects, irreversibility, whether it requires a selected document, error behavior, or impact on connected nets. This is a destructive operation, and the description lacks critical safety 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 concise and front-loaded with the method signature and Chinese summary. It includes the return type and purpose in under three lines. Minimal waste, though the bilingual content could be streamlined.
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 absence of annotations and no output schema, the description is too thin. It omits information about windowId usage, whether the operation affects the active document, if multiple IDs are processed sequentially, and restoration possibilities. An agent has enough to guess the action but not enough to invoke it with confidence.
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 the full type signature for the primary parameter 'primitiveIds', including string, IPCB_PrimitiveComponent, and arrays thereof. This adds meaning beyond the schema, which only shows a generic 'args' array. However, it does not explain how to obtain a primitive ID or component object, or the difference between passing IDs versus objects.
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 ('delete') and resource ('器件' / component), and includes the method signature 'pcb_PrimitiveComponent.delete'. It clearly conveys what the tool does and distinguishes it from sibling delete tools for other primitive types (arc, line, etc.) via the component resource.
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 other primitive delete tools or batch operations. There is no mention of prerequisites, target document selection, or conditions under which this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_component_getB
pcb_PrimitiveComponent.get(primitiveIds: string) -> Promise<IPCB_PrimitiveComponent | undefined>
获取器件
returns: 器件图元对象,undefined 表示获取失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full disclosure burden. It usefully discloses the return type (IPCB_PrimitiveComponent) and failure semantics (`undefined` indicates fetch failure), which is real behavioral context. It does not explicitly state that this is a read-only operation (though 'get' implies it) or describe what happens with invalid IDs beyond 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 definition is compact: a signature line, a one-line action, and a return/failure note. No filler or redundant restatement of the name. It is efficiently front-loaded with the most decision-relevant 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?
For a simple read operation, the core facts (what it does, return type, failure behavior) are present. Gaps remain: the plural 'primitiveIds' versus singular return type is unresolved, there is no hint of where to obtain valid IDs, and there is no disambiguation from sibling getters in this very large tool ecosystem.
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%, but the schema descriptions are generic wrappers ('args array in official signature order', 'windowId'). The description's signature line adds the real parameter name `primitiveIds: string`, marginally improving on the schema. However, it does not clarify whether primitiveIds accepts a single ID or a list, or what ID 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 opens with the full API signature `pcb_PrimitiveComponent.get(primitiveIds: string)` and the action '获取器件' (get component), establishing a clear verb+resource. However, in a toolset with many sibling getters (eda_pcb_primitive_component_get_all, eda_pcb_primitive_object_get, eda_pcb_primitive_get_primitive_by_primitive_id), it does not differentiate which one an agent should choose.
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 its many alternatives. No exclusions, prerequisites, or conditions are given. Given the dense sibling namespace (component get_all, object_get, generic primitive getter), an agent has no basis to select this tool over them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_component_get_allB
pcb_PrimitiveComponent.getAll(layer?: TPCB_LayersOfComponent, primitiveLock?: boolean) -> Promise<Array> 获取所有器件 returns: 器件图元对象数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 this is a read operation returning a promise of an array, but it does not describe behavior such as whether the result is scoped to the current PCB document, whether layer filtering is inclusive, what primitiveLock means semantically, or any side effects. The signature line adds the return type but little 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 compact: a signature line, a one-line Chinese summary, and a return-type note. It front-loads the API signature and keeps the summary short. Minor redundancy exists between the signature and the Chinese summary ('获取所有器件' restates getAll), but overall it is 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?
For a simple read-all tool with no output schema, the description provides the essential return type and optional filter parameters. However, it lacks context about the document scope (which PCB document is queried), the meaning of primitiveLock, and how the result relates to sibling get_all tools. Given the large sibling set, a bit more routing context would improve 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 100% for the two parameters (args array and windowId), but the schema descriptions are generic ('按官方签名顺序排列的JSON参数数组' and '目标EDA窗口ID'). The description's signature line names the two actual parameters (layer and primitiveLock) with types, which adds meaning beyond the generic schema. However, it does not explain the semantics of TPCB_LayersOfComponent values or the primitiveLock boolean.
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 ('获取所有器件' / get all components) and resource (PCB primitive components), and the signature line clarifies it returns an array of IPCB_PrimitiveComponent objects. It is distinguishable from siblings like eda_pcb_primitive_component_get (single component) and eda_pcb_primitive_component_get_all_primitive_id (IDs only), though it doesn't explicitly name those 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?
The description implies usage: call this to retrieve all PCB component primitives, optionally filtered by layer or primitiveLock. It does not explicitly state when to prefer this over sibling tools like eda_pcb_primitive_component_get_all_primitive_id or eda_pcb_primitive_object_get_all, nor does it mention exclusions or prerequisites (e.g., active document requirements).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_component_get_all_pins_by_primitive_idA
pcb_PrimitiveComponent.getAllPinsByPrimitiveId(primitiveId: string) -> Promise<Array | undefined> 获取器件关联的所有焊盘 returns: 器件焊盘图元数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It usefully exposes the Promise return type and possible undefined result, and the 'get' phrasing implies a read-only operation. However, it does not explain when undefined is returned, whether errors can occur, or confirm absence of side effects, so transparency 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 compact and front-loads the exact API signature before the Chinese purpose and return note. There is minor redundancy between the signature's return type and the 'returns: 器件焊盘图元数组' line, but no filler or irrelevant 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?
For a simple getter, the core invocation details are present: method name, parameter, and return type. However, there is no output schema or annotations, and the description does not explain the meaning of primitiveId, the conditions for undefined results, or how this fits among the many primitive-related siblings. It is minimally viable but leaves 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 only documents an opaque args array, but the description supplies the exact method signature with primitiveId: string and its position in the official order. This adds meaningful semantic information beyond the schema. The windowId parameter is already documented in the schema and does not need repetition.
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 ('getAllPinsByPrimitiveId') and resource ('器件焊盘' / component pads) and makes clear this returns all pads associated with a PCB component primitive. This distinguishes it from siblings like eda_pcb_primitive_component_get_all (returns components) and eda_pcb_primitive_component_get_all_primitive_id (returns IDs), as well as from the schematic-side pin getter.
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 only the operation semantics and no guidance about when to choose this tool over alternatives, nor any prerequisites such as needing a valid primitiveId. It does not mention that this is the PCB counterpart of the schematic pin getter, leaving selection to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_component_get_all_primitive_idA
pcb_PrimitiveComponent.getAllPrimitiveId(layer?: TPCB_LayersOfComponent, primitiveLock?: boolean) -> Promise<Array> 获取所有器件的图元 ID returns: 器件的图元 ID 数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It makes clear this is a read/query operation returning Promise<Array<string>>, but it does not explain scope (e.g., active document vs entire board), the meaning of the layer and primitiveLock parameters, or any side effects. There is no annotation contradiction because no annotations 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 compact and front-loaded with the API signature, followed by a short Chinese summary and return type. There is minor redundancy between the signature, the Chinese gloss, and the returns line, but no filler or irrelevant 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?
For a simple getter with no required parameters, the description is minimally sufficient: an agent can invoke it with no arguments and understand the return type. However, since there is no output schema and the optional parameters' semantics are undocumented, an agent cannot confidently use filtering options or fully understand the operation's scope.
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 signature adds parameter names and types (layer?: TPCB_LayersOfComponent, primitiveLock?: boolean) that the generic args array schema does not provide. However, it does not explain what these parameters do, what values are valid, or how they affect the returned IDs, so semantic enrichment 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 action: getting all primitive IDs of components ('获取所有器件的图元 ID'), with a specific resource and return type. The included pcb_PrimitiveComponent signature also disambiguates it from the many schematic and other primitive-type get_all_primitive_id 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 usage is implied by the tool name and description: call it when you need all primitive IDs belonging to PCB components. However, there is no explicit guidance about when to prefer this over sibling tools such as component_get_all, other get_all_primitive_id variants, or get_primitive_by_primitive_id, and no exclusions or alternative conditions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_component_get_all_property_namesC
pcb_PrimitiveComponent.getAllPropertyNames() -> Promise<Array> 获取所有器件的所有属性名称集合 returns: 所有器件的所有属性名称集合
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 not state that the operation is read-only, nor does it describe error behavior, empty results, or any side effects. The function name implies a getter, but the description adds no explicit behavioral context beyond the return type.
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 redundant: the Chinese phrase '获取所有器件的所有属性名称集合' appears twice (once in the main text and once after 'returns:'). The function signature is included, but the repetition wastes space without adding 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?
For a simple getter with no output schema, the description adequately states the return type and what is returned (property names). However, it does not mention edge cases, error handling, or how this differs from other component-related getters, which would be helpful given the large sibling set.
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%: both 'args' and 'windowId' have descriptions. However, the description does not clarify that 'args' should be an empty array for this parameterless function, or explain how to pass parameters. It adds no value beyond the schema, so the baseline 3 applies.
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 function name, return type (Promise<Array<string>>), and explains in Chinese that it retrieves all property names of all components. This is a specific verb+resource and distinguishes it from sibling tools that get component objects or primitive IDs, though it doesn't 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 given on when to use this tool versus the many sibling component-related tools (e.g., get_all, get_all_primitive_id). The description does not mention any context, prerequisites, or exclusions, 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.
eda_pcb_primitive_component_modifyB
pcb_PrimitiveComponent.modify(primitiveId: string | IPCB_PrimitiveComponent, property: { layer?: TPCB_LayersOfComponent; x?: number; y?: number; rotation?: number; primitiveLock?: boolean; addIntoBom?: boolean; designator?: string | null; name?: string | null; uniqueId?: string | null; manufacturer?: string | null; manufacturerId?: string | null; supplier?: string | null; supplierId?: string | null; otherProperty?: Record<string, any> }) -> Promise<IPCB_PrimitiveComponent | undefined> 修改器件 returns: 器件图元对象
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 return type and parameter list but does not state that this is a mutation with potential side effects on the PCB document, nor does it cover error conditions or required fields. It is essentially a type signature, not a behavioral specification.
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 concise block combining the API signature and a brief Chinese summary. It's compact and front-loaded with essential information. The signature is lengthy but necessary; no words are wasted.
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 modifies a PCB component and has no output schema, the description provides the return type but lacks context about usage scenarios, required parameters, error handling, or side effects. An agent might not know that primitiveId is mandatory or that the operation modifies the live PCB document. It is insufficient for a complete 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?
The description includes the full parameter list with types, including the property object's many fields)Skip. This adds significant meaning beyond the schema, which only describes args as a JSON array. It clarifies each modifiable property and its type, though it doesn't explicitly mark which parameters 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 states the action 'modify' and the resource 'PCB primitive component' (修改器件), and includes the full API signature which reinforces the purpose. It is distinguishable from siblings like create/delete/get by the verb, 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?
There is no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites such as requiring a valid primitiveId or an active PCB document, nor does it indicate when to prefer this over other primitive modification tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_component_place_cbb_pcbB
pcb_PrimitiveComponent.placeCbbPcb(cbbPcb: { libraryUuid: string; cbbUuid: string; uuid: string }, x: number, y: number, props?: { reimportWhenNameRepeated?: boolean }) -> Promise 放置复用模块 PCB returns: 放置操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must bear the full burden of behavioral disclosure. It only reveals the return type (Promise<boolean>, '放置操作是否成功'). It does not disclose side effects, coordinate system/units, whether placement is interactive, or what the optional 'reimportWhenNameRepeated' flag actually does behaviorally. For a placement tool this is a significant transparency 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 – a signature line, a one-line purpose, and a returns note. No filler. The signature is dense but information-rich, though it could be marginally better organized with the purpose stated first.
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 and no output schema, the description covers the essentials (what it places, key parameters, boolean success return) but omits context an agent needs for correct invocation: coordinate units (mm vs mil), whether the CBB must already exist in a library, and failure semantics beyond a false return.
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 is generic (an array of JSON parameters plus a windowId), so it carries no real parameter semantics. The description compensates by exposing the full typed signature: the cbbPcb object with libraryUuid/cbbUuid/uuid fields, x/y coordinates, and the optional props.reimportWhenNameRepeated boolean. This adds genuine meaning the schema lacks.
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 and resource ('放置复用模块 PCB' – place reusable module PCB), and the embedded signature clarifies it places a CBB PCB at coordinates. It is distinguishable as the PCB-flavored placement tool, though it does not explicitly contrast with sibling placement tools like place_footprint_with_mouse or the schematic-page CBB placement tool.
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 on when to use this tool versus alternatives. There are closely related siblings (eda_sch_primitive_component_place_cbb_schematic_page, place_footprint_with_mouse, place_component_with_mouse), and the description gives no context for choosing among them, nor any mention of prerequisites such as the CBB needing to exist in a library.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_component_place_component_with_mouseA
pcb_PrimitiveComponent.placeComponentWithMouse(component: { libraryUuid: string; uuid: string } | ILIB_DeviceItem | ILIB_DeviceSearchItem) -> Promise 使用鼠标放置器件 remarks: 本接口模拟前端点击放置按钮,指定的器件将绑定到当前鼠标,并在用户后续点击时放置于画布
本接口的返回时机并不会等待用户的放置操作,一旦器件被绑定到鼠标,本接口将立即返回 true 的结果
returns: 是否找到器件
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It clearly discloses that the tool binds the component to the cursor and returns immediately without waiting for the user's placement, and that the return value indicates whether the component was found. This is important non-blocking behavior. It doesn't cover failure modes or environment requirements, but the core behavioral traits are 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 moderately verbose with a signature line, Chinese summary, remarks, and return explanation. It is organized into clear lines and front-loads the core action. Some repetition exists (the summary and remarks overlap), but overall it's efficient 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?
For a tool with no output schema and no annotations, the description covers the return type and non-blocking behavior, which is critical. However, it omits prerequisites such as an active PCB document or canvas, and doesn't explain how to cancel or what happens if the user doesn't click. These gaps make it slightly incomplete for an agent planning a 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?
The input schema only shows an 'args' array and windowId, but the description provides the exact first parameter type: { libraryUuid: string; uuid: string } | ILIB_DeviceItem | ILIB_DeviceSearchItem, and explains it represents the component to place. This adds significant meaning beyond the schema, which is otherwise opaque about the args structure. windowId is also described. Given the high schema coverage, the description still adds 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: placing a component using the mouse. It specifies the exact API method, describes the mechanism (binds component to mouse, user clicks to place), and distinguishes from schematic counterparts by name and scope. It's 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 explains how the tool works (simulates the place button, binds to mouse) and notes it returns immediately without waiting, which is useful context. However, it does not provide explicit when-to-use vs alternatives like place_footprint_with_mouse or place_cbb_pcb, nor does it 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.
eda_pcb_primitive_component_place_footprint_with_mouseA
pcb_PrimitiveComponent.placeFootprintWithMouse(footprint: { libraryUuid: string; uuid: string } | ILIB_FootprintItem | ILIB_FootprintSearchItem, properties?: Record<string, boolean | number | string | undefined>) -> Promise 使用鼠标放置封装 remarks: ADD since API v0.2.26
本接口模拟前端点击放置按钮,指定的封装将绑定到当前鼠标,并在用户后续点击时放置于画布
本接口的返回时机并不会等待用户的放置操作,一旦封装被绑定到鼠标,本接口将立即返回 true 的结果
returns: 是否找到封装
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It clearly discloses that the method returns immediately after binding the footprint to the mouse, without waiting for the user's placement action, and that it returns a boolean indicating whether the footprint was found. It also notes it simulates a front-end button click. This covers the key asynchronous and interactive behavior.
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, starting with the API signature, then a brief remarks note, and then two sentences explaining behavior and return semantics. Each sentence contributes to understanding the tool, 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?
The description covers the essential behavior: it is interactive (requires user click), returns immediately, and indicates success via boolean. It lacks explicit mention of prerequisites like an open PCB document, but the core functionality and return semantics are sufficiently explained for an agent to call 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 only describes args as a JSON array and windowId, but the description includes the actual function signature specifying the footprint object structure (libraryUuid, uuid) and optional properties record. This adds meaningful type and structure information beyond the schema, helping the agent construct valid arguments.
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 (place) and resource (footprint) with '使用鼠标放置封装'. The inclusion of the full API signature leaves no ambiguity about what is being placed. It differentiates from siblings by specifying footprint rather than component, and the name itself reinforces this.
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 explains how the tool works (simulates a click, binds to mouse, places on subsequent click) but does not explicitly state when to use it versus alternatives like place_component_with_mouse. Usage context is implied by the name and description, but no exclusions or alternative routing are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_dimension_createB
pcb_PrimitiveDimension.create(dimensionType: EPCB_PrimitiveDimensionType, coordinateSet: TPCB_PrimitiveDimensionCoordinateSet, layer?: TPCB_LayersOfDimension, unit?: ESYS_Unit.MILLIMETER | ESYS_Unit.CENTIMETER | ESYS_Unit.INCH | ESYS_Unit.MIL, lineWidth?: number, precision?: number, primitiveLock?: boolean) -> Promise<IPCB_PrimitiveDimension | undefined> 创建尺寸标注 returns: 尺寸标注图元对象
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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, but it only states that a dimension is created and lists a return type. It does not disclose side effects on the current document, requirements for an active editor, or why the promise may resolve to 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 compact and front-loaded with the essential signature, followed by a short Chinese clarification and return note. There is no filler, but the structure is more of a code signature than a prose explanation.
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 create operation with no annotations and no output schema, this description is incomplete: it lacks examples, details on coordinateSet structure, dimensionType values, and handling of the undefined return case. An agent would need external documentation to call it reliably.
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?
Although the input schema only describes a generic args array, the description includes the full parameter signature with names, types, optional markers, and the unit enum values. It does not explain the meaning of complex types like coordinateSet, but it provides substantially more information than 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?
The description identifies the exact operation with the call signature pcb_PrimitiveDimension.create and the Chinese '创建尺寸标注' (create dimension annotation), naming a specific resource and verb. This is distinct from sibling dimension operations (delete/get/modify) by virtue of the create 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?
No guidance on when to use this tool versus other primitive creation tools or dimension modification tools. There is no mention of prerequisites such as an active PCB document or layer selection, 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.
eda_pcb_primitive_dimension_deleteC
pcb_PrimitiveDimension.delete(primitiveIds: string | IPCB_PrimitiveDimension | Array | Array) -> Promise 删除尺寸标注 returns: 删除操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 mentions the return boolean and the signature, but does not disclose side effects, error conditions, irreversibility, or any requirements like active document/window. The deletion nature is implied but not detailed.
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, combining the API signature and a one-line Chinese explanation. It is front-loaded with the action and returns info. 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 deletion tool with no annotations and minimal description, it lacks guidance on obtaining primitiveIds, error handling, undo behavior, or any prerequisites like active PCB document. It does not explain the return value's implications or failure modes. Incomplete for an agent to call 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 description provides the type signature for primitiveIds (string, IPCB_PrimitiveDimension, or arrays) which adds some meaning beyond the generic 'args' schema description. However, it does not explain what a primitiveId represents, how to obtain it, or the semantics of the array. Schema coverage is 100% but generic; the type info is helpful but limited.
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: delete dimension annotations (尺寸标注) with a specific verb and resource. It is distinct from other primitive delete tools by the 'dimension' in the name and the Chinese phrase. However, it doesn't explicitly contrast with siblings, and the signature is included but the purpose is clear.
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 on when to use this tool versus alternatives. There is no mention of prerequisites, when not to use, or how to obtain primitiveIds. The description only states the action without context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_dimension_getC
pcb_PrimitiveDimension.get(primitiveIds: string) -> Promise<IPCB_PrimitiveDimension | undefined>
获取尺寸标注
returns: 尺寸标注图元对象,undefined 表示获取失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 does add the return type Promise<IPCB_PrimitiveDimension | undefined> and the failure semantics ('undefined 表示获取失败'), which is genuinely useful. But it says nothing about whether invalid/missing primitives throw vs. return undefined beyond that one line, whether the operation is strictly read-only, or any window/auth prerequisites. The single disclosed behavior (undefined-on-failure) is helpful but thin for an unannotated 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 extremely compact at three lines with no filler. The API signature is front-loaded, followed by the Chinese summary and return semantics. Every line earns its place. Minor deduction only because the return-type disclosure could have been integrated with usage guidance rather than standing as a trailing fragment.
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 output schema, the description must explain return values; it does state the return type and undefined failure case, which is a start. But it lacks guidance on how to construct the args array from a primitive ID, does not describe what fields IPCB_PrimitiveDimension contains, and gives no example. For a retrieval tool among a large homogeneous family (line_get, via_get, arc_get, region_get), the description is minimally adequate but leaves an agent to guess at invocation 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 coverage is 100% and the schema documents both args (JSON array in official signature order) and windowId. The description adds value by showing the signature primitiveIds: string, which hints at what should populate the args array. However, the mapping between the flat primitiveIds string and the positional args array is left ambiguous, and the description does not clarify whether primitiveIds accepts a single ID or comma-separated multiple IDs. Since the schema's args description is generic ('JSON参数数组'), the description only partially fills the parameter-meaning 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 states a clear verb+resource ('获取尺寸标注' – get dimension annotation) and provides the canonical API signature pcb_PrimitiveDimension.get(primitiveIds: string). The name and description together distinguish it from the create/delete/modify siblings (eda_pcb_primitive_dimension_create/delete/modify) by verb. However, it does not explicitly differentiate from eda_pcb_primitive_dimension_get_all or get_all_primitive_id, which an agent must infer from naming convention.
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. It does not mention that eda_pcb_primitive_dimension_get_all exists for retrieving all dimensions, or get_all_primitive_id for enumerating dimension IDs, nor does it clarify the typical workflow (e.g., get IDs first, then call get per dimension). An agent selecting among the six dimension siblings gets zero routing help from the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_dimension_get_allC
pcb_PrimitiveDimension.getAll(layer?: TPCB_LayersOfDimension, primitiveLock?: boolean) -> Promise<Array> 获取所有尺寸标注 returns: 尺寸标注图元对象数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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. It only restates the method signature and return type, offering no statement on side effects, permissions, or behavior when optional parameters are omitted. The 'getAll' name implies read-only, but that is not explicitly 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 short and front-loaded with the signature, followed by a brief Chinese summary. It avoids fluff, though the English method name and Chinese translation are 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?
For a get-all tool with no annotations and no output schema, the description is incomplete. It does not explain the optional parameters' semantics, does not state whether all dimensions are returned by default, and gives no usage context or example. An agent would need external knowledge to use the optional parameters 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 description adds the function signature showing layer?: TPCB_LayersOfDimension and primitiveLock?: boolean, which is meaningful because the schema's args array is opaque. However, it does not explain what these parameters mean or how they affect results. The schema already documents the generic args and windowId shapes, so this partial addition deserves 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 states a clear verb-resource pair: '获取所有尺寸标注' (get all dimension annotations), and the signature pcb_PrimitiveDimension.getAll reinforces this. It is distinct from sibling tools like eda_pcb_primitive_dimension_get or eda_pcb_primitive_dimension_get_all_primitive_id by implying full objects, but it does not explicitly differentiate itself.
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 such as getting a single dimension or getting only primitive IDs. It does not mention filtering by layer or primitiveLock, nor any conditions under which the optional arguments should be supplied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_dimension_get_all_primitive_idB
pcb_PrimitiveDimension.getAllPrimitiveId(layer?: TPCB_LayersOfDimension, primitiveLock?: boolean) -> Promise<Array> 获取所有尺寸标注的图元 ID returns: 尺寸标注的图元 ID 数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the return type (Promise<Array<string>>) via the signature Fourier, and the Chinese description confirms it returns primitive IDs. However, it does not mention side effects, read-only nature, error conditions, or the meaning of the optional parameters beyond their names. Since no annotations are provided, the description carries the full burden of behavioral disclosure, which it only partially meets.
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 brief and front-loaded with the function signature, followed by a one-line Chinese description and a return line. It avoids fluff and is easily scannable. The slight redundancy between the signature and the Chinese text is acceptable given the multilingual context, and the structure is clear.
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 getter that returns IDs, the description covers the fundamental purpose and return type. However, it lacks usage context such as optional filtering behavior (e.g., what happens if `layer` is omitted), or which document it operates on. The sibling list shows many similar 'get_all_primitive_id' tools, and without explicit differentiation, the agent may be uncertain about the exact scope. It is adequate but not 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 generic input schema only describes 'args' as an array in official signature order)Skip without individual parameter meaning. The description's function signature provides the actual parameter names (`layer`, `primitiveLock`) and types (TPCB_LayersOfDimension, boolean), which the schema lacks. This adds critical semantic value beyond the schema. However, it does not explain the purpose or valid values/orange of these parameters in prose, so a full understanding relies on API 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 a specific action ('获取所有尺寸标注的图元 ID', meaning 'get all dimension primitive IDs') targeting a specific resource (dimension primitives). The included function signature reinforces the purpose with an explicit return type. However, it does not explicitly distinguish itself from sibling tools like eda_pcb_primitive_dimension_get_all (which returns full objects rather than IDs), making it slightly less clear without inspecting other 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 no guidance on when to use this tool versus alternatives. There is no mention of 'use get_all for full objects, or use this when only IDs are needed.' The agent must infer usage purely from the name and signature. This is a minimal viable description but lacks the explicit usage context needed for robust tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_dimension_modifyB
pcb_PrimitiveDimension.modify(primitiveId: string | IPCB_PrimitiveDimension, property: { dimensionType?: EPCB_PrimitiveDimensionType; coordinateSet?: TPCB_PrimitiveDimensionCoordinateSet; layer?: TPCB_LayersOfDimension; unit?: ESYS_Unit.MILLIMETER | ESYS_Unit.CENTIMETER | ESYS_Unit.INCH | ESYS_Unit.MIL; lineWidth?: number; precision?: number; primitiveLock?: boolean }) -> Promise<IPCB_PrimitiveDimension | undefined> 修改尺寸标注 returns: 尺寸标注图元对象
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 only that the tool modifies a dimension and may return undefined, but it does not state whether the operation mutates in place, requires the primitive to already exist, has permission requirements, or what conditions produce an undefined return.
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 information-dense: a precise signature, a one-line Chinese purpose statement, and a return-type note. There is no filler or redundant prose, and every element contributes to invoking the tool correctly.
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 and no output schema, the description is thin on context. It lacks usage context, behavior on failure, what undefined means, and any relation to the active document or current window. The signature covers parameter shapes, but not the operational context an agent needs to call it 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?
The schema only describes generic wrapper arguments (args array, windowId), while the description provides the full TypeScript signature including primitiveId and the property object with fields like dimensionType, coordinateSet, layer, unit, lineWidth, precision, and primitiveLock. This adds significant meaning beyond the schema, though it stops short of explaining the semantics of each property 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 a specific verb and resource: modify a PCB dimension primitive (pcb_PrimitiveDimension.modify / 修改尺寸标注). It clearly identifies the operation and target, though it does not explicitly differentiate itself from siblings like eda_pcb_primitive_dimension_create or the generic eda_pcb_primitive_object_modify.
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 is purely a signature plus a one-line translation; an agent must infer from the tool name that this is the modify operation for dimension primitives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_fill_createC
pcb_PrimitiveFill.create(layer: TPCB_LayersOfFill, complexPolygon: IPCB_Polygon, net?: string, fillMode?: EPCB_PrimitiveFillMode, lineWidth?: number, primitiveLock?: boolean) -> Promise<IPCB_PrimitiveFill | undefined> 创建填充 returns: 填充图元对象
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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. The description only says 'create fill' (创建填充) and mentions a return value, but does not disclose mutating behavior, whether a board/document must be open, whether the operation is reversible, how the fill is inserted, or any side effects. The signature does show it returns a Promise<IPCB_PrimitiveFill | undefined>, but the description adds no behavioral context beyond that.
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 front-loaded with the callable signature, then a short Chinese description '创建填充' and a returns line. It is not bloated, but the Chinese description is duplicative of the English signature and the returns line is minimal. It earns a pass for brevity, but the structure mixes a raw API signature with a terse one-liner rather than a coherent, helpful explanation.
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 creation tool with no annotations and no output schema, the description is insufficiently complete. It omits required context such as how to obtain the IPCB_Polygon input, what layers are valid for TPCB_LayersOfFill, how the fill relates to copper pours or regions, and what 'undefined' in the return means. The agent would struggle to construct a correct invocation despite the listed parameter types.
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 100% for the two top-level parameters (args and windowId), but the args array items are untyped (items: {}), so the actual function parameters are not documented in the schema. The description's signature lists parameter names and types, which adds meaning beyond the empty items schema. However, it does not explain semantics like what fillMode values mean, what lineWidth units are, or what primitiveLock does, leaving the agent without real understanding of the arguments.
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 'create' and the resource 'fill' (填充), plus a closing '创建填充' which means 'create fill'. This identifies a PCB primitive fill creation operation. However, it doesn't explicitly differentiate from sibling tools like eda_pcb_primitive_pour_create, eda_pcb_primitive_region_create, or eda_pcb_primitive_fill_modify, leaving the agent to infer the specific fill-type 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 no guidance on when to use this tool versus alternatives such as pour_create, region_create, or fill_modify. There is no mention of prerequisites (e.g., needing a polygon or a target layer), no context about whether this is for copper fills, no exclusions, and no hints about when a fill is preferred over a pour or region.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_fill_deleteC
pcb_PrimitiveFill.delete(primitiveIds: string | IPCB_PrimitiveFill | Array | Array) -> Promise 删除填充 returns: 删除操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 itself. It reveals that the operation returns a boolean success indicator, but for a destructive delete operation it omits whether deletion is irreversible, which document is affected, or how invalid primitive IDs are handled. This is a significant transparency 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 very short and to the point: a signature line, a one-line Chinese action statement, and a return-value note. Every element earns its place, though the Chinese phrase largely duplicates 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?
The description covers the core operation, parameter types, and return type, which is sufficient for a simple delete call. Yet with no annotations and no output schema, it leaves out useful context such as which document the deletion applies to (beyond the windowId schema property) and any side effects or failure 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?
The description includes the function signature with the parameter name primitiveIds and its union type (string | IPCB_PrimitiveFill | Array), which adds meaning beyond the generic 'args' array in the schema. However, it does not clarify what an IPCB_PrimitiveFill object is or how to obtain primitive IDs, leaving some semantics implicit.
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 ('删除填充' – delete fill) and provides the exact API signature pcb_PrimitiveFill.delete, clearly identifying the resource being operated on. It is not a bare tautology because the signature adds method-level detail, though it does not explicitly contrast with sibling fill 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 use this tool versus alternatives, nor any prerequisites such as needing an open PCB document or selected primitives. The description simply names the operation without contextual placement among the many primitive manipulation tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_fill_getB
pcb_PrimitiveFill.get(primitiveIds: string) -> Promise<IPCB_PrimitiveFill | undefined>
获取填充
returns: 填充图元对象,undefined 表示获取失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It does disclose a key behavioral trait: `undefined` indicates failure, which is useful. However, it does not mention whether the operation is read-only, whether it targets the current board, or any error-handling nuances (e.g., throws vs. undefined). For a simple getter, the failure-mode note provides some transparency, but it is 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 extremely concise, at two lines, and leads with the function signature. It avoids unnecessary prose Section. However, it mixes English signature with Chinese text, which might slightly hinder English-only readers, but it is tightly packed 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 getter tool, it lacks critical context: how to obtain primitive IDs (e.g., via `get_all_primitive_id`), whether the parameter is a single ID or multiple, and any dependencies on the current document or window. The absence of an output schema and annotations means the description should fill these gaps but 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 description adds the parameter name `primitiveIds` and its type (`string`) via the signature, which is absent from the schema's generic `args` array. However, it does not explain the meaning of the parameter (e.g., single ID vs. comma-separated list) or how to obtain valid IDs. The schema coverage is generic (array of args), so the description partially compensates but leaves 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 clearly states the action ('获取填充' / 'get fill') and the resource (PCB fill primitive). The signature shows it takes a primitiveIds parameter and returns a fill object. While it doesn't explicitly differentiate from siblings like `eda_pcb_primitive_fill_get_all`, the singular naming and return type ('填充图元对象') imply a single object, distinguishing it adequately from bulk retrieval functions.
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_all` or `get_all_primitive_id`. There is no mention of prerequisites (e.g., needing valid primitive IDs from another call) or when it should be preferred. The agent is left to infer usage from the name and signature alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_fill_get_allA
pcb_PrimitiveFill.getAll(layer?: TPCB_LayersOfFill, net?: string, primitiveLock?: boolean) -> Promise<Array> 获取所有填充 returns: 填充图元对象数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 indicates a read-only getter operation and discloses the return type, which is good baseline transparency. However, it does not discuss side effects, current-window scope, or whether the result set is affected by visibility or selection state; for a simple getter this is acceptable 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 short and front-loaded with the API signature, purpose, and return type. Every part contributes to understanding the call, though the Chinese return note slightly duplicates the signature's return type. Overall it is tight 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?
For a straightforward list-retrieval tool with low complexity, the description covers the essential invocation contract: signature, optional filters, and return type. The windowId parameter is documented in the schema. Missing details are non-critical nuances like parameter semantics and output object shape, which are not fully specified but not fatal for a get-all operation.
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 only provides a generic 'args' array, so the description's signature adds meaningful parameter names, types, and order: layer, net, and primitiveLock. This is essential for correctly constructing the call. It still omits deeper semantics such as what primitiveLock actually filters or valid values for TPCB_LayersOfFill, so it is not a 5.
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 ('获取所有填充' / get all fills) and identifies the resource as PCB fill primitives, returning an array of IPCB_PrimitiveFill objects. The explicit API signature and return type distinguish it from the sibling get_all_primitive_id tool, which returns only IDs. It does not explicitly compare itself to siblings, but the intent is 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 'get all fills' phrase implies the core use case, and the optional parameters suggest filtering by layer, net, and primitive lock state. However, there is no explicit guidance about when to choose this tool over alternatives like get_all_primitive_id or get, nor any mention of 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.
eda_pcb_primitive_fill_get_all_primitive_idC
pcb_PrimitiveFill.getAllPrimitiveId(layer?: TPCB_LayersOfFill, net?: string, primitiveLock?: boolean) -> Promise<Array> 获取所有填充的图元 ID returns: 填充的图元 ID 数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 return type (array of strings) and the optional parameters (layer, net, primitiveLock), but it doesn't explain behavioral traits like whether the result is filtered by the current window, whether it returns IDs for all fills in the document, or any side effects. The description is minimal and doesn't add meaningful behavioral context beyond the signature.
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, which is good for conciseness, but it's mostly a restatement of the function signature. The Chinese description '获取所有填充的图元 ID' and 'returns: 填充的图元 ID 数组' are redundant with the signature. It's not poorly structured, but it doesn't earn its place with additional 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 complexity (optional filters, return of IDs), the description is incomplete. It doesn't explain the meaning of the optional parameters, the context in which this operates (current PCB document), or how the result relates to other fill-related tools. The lack of an output schema and annotations makes this gap more significant.
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 100% for the two top-level parameters (args and windowId), but the 'args' array items are untyped and undocumented. The description's signature lists the actual parameters (layer, net, primitiveLock) with types, which adds some meaning beyond the schema. However, it doesn't explain the semantics of each parameter (e.g., what TPCB_LayersOfFill values are valid, what primitiveLock means). Baseline 3 is appropriate since the signature adds value but leaves parameter semantics vague.
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: '获取所有填充的图元 ID' (get all fill primitive IDs), which clearly identifies the operation. The function signature in the description also names the method (pcb_PrimitiveFill.getAllPrimitiveId) and its return type (Promise<Array<string>>), distinguishing it from sibling get_all_primitive_id tools for other primitive types (polyline, pour, region, etc.). However, it doesn't explicitly contrast with those siblings, so it's clear but not fully differentiated.
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 that this is for fill primitives specifically, nor does it explain when to use get_all vs get_all_primitive_id vs get. The only context is the function signature and a terse Chinese description, leaving the agent to infer usage from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_fill_modifyA
pcb_PrimitiveFill.modify(primitiveId: string | IPCB_PrimitiveFill, property: { layer?: TPCB_LayersOfFill; complexPolygon?: IPCB_Polygon; net?: string; fillMode?: EPCB_PrimitiveFillMode; lineWidth?: number; primitiveLock?: boolean }) -> Promise<IPCB_PrimitiveFill | undefined>
修改填充
returns: 填充图元对象,undefined 表示修改失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that the return value is the fill primitive object or `undefined` to indicate failure, which is useful behavioral information. However, it does not mention side effects, mutability constraints, or destructive implications, and with no annotations the description carries the full burden but offers minimal context. No contradiction with annotations (none provided).
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 line with the signature, a Chinese one-liner meaning, and a return note. It is front-loaded and contains no filler, effectively communicating the core information without redundant elaboration.
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 output schema, no annotations, and a sparse wrapper schema, the description provides the signature but omits critical context such as required vs optional properties, valid values for fields like `fillMode`, and usage examples. Given the nested `property` object, an agent needs more information 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?
The schema only defines generic `args` and `windowId` wrappers, while the description provides the full TypeScript-style signature listing `primitiveId` and a `property` object with six fields and their types. This adds substantial meaning beyond the schema, though it does not explain the semantics of each property value, such as valid enums for `fillMode` or required fields.
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 operation as 'pcb_PrimitiveFill.modify' with a full type signature and Chinese summary '修改填充', making its purpose unambiguous. It precisely identifies the action (modify) and resource (PCB primitive fill), distinguishing it from sibling modify tools without confusion.
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 instead of alternatives. The description only gives the signature and return note, with no mention of prerequisites, selection criteria, or comparison to similar tools like eda_pcb_primitive_region_modify. An agent would have to infer usage only from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_get_primitive_board_lineB
pcb_Primitive.getPrimitiveBoardLine(primitiveId: string, layers?: Array) -> Promise<IPCB_ComplexPolygon | undefined>
获取图元的边框线
returns: 复杂多边形,如果图元 ID 未匹配或图元在指定层上不存在,则返回 undefined
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 the return type (IPCB_ComplexPolygon or undefined) and the conditions for undefined (ID not matched or primitive not on specified layers). It implicitly indicates a read operation via 'get', but it does not explicitly state read-only behavior or any other side effects. The disclosure is adequate 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?
The description is concise, combining a function signature and a brief Chinese phrase, front-loading the purpose. It is not overly verbose and contains no redundant sentences. The bilingual mix is slightly unusual but does not harm 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 simple get operation with no output schema, the description states the return type and failure conditions. It does not explain what 'board line' means precisely or explicitly state read-only behavior, but these are reasonably inferred from the name and context. The missing details are minor for an agent to invoke it correctly, especially since the schema handles arg construction.
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 covers the wrapper parameters (args, windowId) with descriptions, achieving 100% coverage for the schema itself. The description adds the function signature showing primitiveId and layers as parameters, but does not explain their semantics beyond types. It mentions layers are optional and the undefined condition, but does not describe how to format the args array beyond the schema's generic 'JSON parameter array in official signature order'. Baseline 3 applies because schema coverage is high.
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: retrieving the border line (board line) of a PCB primitive, with a function signature and Chinese explanation '获取图元的边框线'. It is specific about the resource (primitive's board line) and the verb 'get'. However, it does not explicitly contrast with sibling tools like eda_pcb_primitive_get_primitive_by_primitive_id, so it lacks direct sibling 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 instead of other primitive-getter tools. The description only explains what it does, not when to select it. 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.
eda_pcb_primitive_get_primitive_by_primitive_idC
pcb_Primitive.getPrimitiveByPrimitiveId(id: string) -> Promise<IPCB_Primitive | undefined> 获取指定 ID 的图元的所有属性 returns: 图元的所有属性
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must bear the full burden. It indicates a getter operation that returns all properties, but does not explicitly state it is read-only, what occurs if the ID is invalid (though the signature hints at `undefined`), or any side effects. The return type `Promise<IPCB_Primitive | undefined>` is given, but without elaboration.
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, with the code signature front-loaded and a concise bilingual explanation. It has no verbosity, and the essential return type is included. While it could be more structured, it is appropriately short.
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 two parameters (`args`, `windowId`) and no output schema, the description is incomplete. It does not explain how to populate `args`, the meaning of `windowId` (beyond the schema's generic description), or what happens when the ID is not found. It covers the return value but misses critical invocation 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?
The description adds meaning by including `id: string` in the signature, identifying the primitive ID parameter. However, the actual input schema uses a generic `args` array, and the description does not clarify how to structure the array (e.g., that `id` should be the first element). It partially compensates for the schema's lack of detail on `args`.
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 fetches all attributes of a primitive given its ID, via the signature `getPrimitiveByPrimitiveId(id: string)`. This is a specific verb and resource, and the singular focus on 'primitive' distinguishes it from siblings that retrieve types or multiple primitives.
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 like `eda_pcb_primitive_get_primitives_by_primitive_id` or `eda_pcb_primitive_get_primitive_type_by_primitive_id`. It merely shows the function signature and return type, leaving selection to the agent's inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_get_primitives_bboxA
pcb_Primitive.getPrimitivesBBox(primitiveIds: Array<string | IPCB_Primitive>) -> Promise<{ minX: number; minY: number; maxX: number; maxY: number } | undefined>
获取图元的 BBox
returns: 图元的 BBox,如若图元不存在或没有 BBox,将会返回 undefined 的结果
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 does usefully state that a missing primitive or one without a BBox yields `undefined`. It does not clarify whether the returned bbox is a union of all requested primitives, or what units are used, but the read-only nature of a getter is evident from the signature and return type.
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: a signature line, a one-line purpose, and a one-line return behavior. There is minor redundancy in restating the return type, but no wasteful content and the key 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?
For a simple getter with no output schema, the description covers the essential calling contract: parameter type, return shape, and the important `undefined` edge case. Missing context, such as bbox semantics for multiple primitives and coordinate units, is relatively minor for this operation.
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 only exposes a generic `args` array and `windowId`, but the description embeds the actual parameter type `primitiveIds: Array<string | IPCB_Primitive>` and the exact return object fields, adding real meaning beyond the schema. It still does not explain how the parameters map into the generic `args` array beyond the schema's generic note.
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 the full API signature `pcb_Primitive.getPrimitivesBBox(primitiveIds: Array<string | IPCB_Primitive>)` and a clear Chinese statement '获取图元的 BBox' (get primitives' BBox). It clearly identifies the resource and return shape, and the `pcb_` prefix and signature set it apart from the schematic sibling. It does not explicitly contrast with other getter tools, so it stops 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 intended use is implied by the name and description: an agent should call this when it needs the bounding box of PCB primitives. However, there is no explicit when-to-use or when-not-to-use guidance, and no alternative tools are named, leaving the selection entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_get_primitives_by_primitive_idC
pcb_Primitive.getPrimitivesByPrimitiveId(ids: Array) -> Promise<Array> 获取指定所有 ID 的图元的所有属性 returns: 所有图元的所有属性
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for behavioral disclosure. It only states it gets primitives and returns all properties; it does not mention whether it is read-only, what happens if IDs are invalid, or any side effects. For a getter it is presumably safe, but this is not stated explicitly.
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 to the point, containing the signature, a purpose line, and a returns line. It is concise, though the Chinese purpose and returns lines are somewhat redundant, echoing each other.
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 getter with no output schema and no annotations, the description is minimal. It does not explain the return structure (just 'all properties'), how to pass multiple IDs (implicitly via the signature), or any error behavior. The lack of guidance on when to use it and the absence of safety declaration make it incomplete for an agent to rely on 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 description provides the function signature with type `Array<string>` for ids, which adds meaning beyond the generic schema `args` array. It also implies the strings are primitive IDs via the description. However, it does not explain the structure of the `args` array or the `windowId` parameter, so the schema's vague descriptions are only partially compensated.
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 (get) and resource (primitives) with a specific condition (by IDs), and the return value (all properties). It is distinguishable from siblings like the singular `get_primitive_by_primitive_id` because it explicitly handles multiple IDs and returns all properties, though it doesn't explicitly contrast with 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?
No guidance is given on when to use this tool versus alternatives such as `eda_pcb_primitive_get_primitive_by_primitive_id` for single IDs or `eda_pcb_primitive_get_primitives_bbox` for bounding boxes. The context is implied (when you have multiple primitive IDs) but 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.
eda_pcb_primitive_get_primitive_type_by_primitive_idB
pcb_Primitive.getPrimitiveTypeByPrimitiveId(id: string) -> Promise<EPCB_PrimitiveType | undefined> 获取指定 ID 的图元的图元类型 returns: 图元类型
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the full behavioral burden. It does disclose the return type as 'Promise<EPCB_PrimitiveType | undefined>', indicating that undefined may be returned if the ID is not found. This is a meaningful behavioral detail. However, it does not mention whether the operation is read-only, potential side effects, or error handling beyond the type, so transparency is partial.
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 brief and front-loaded with the method signature. It includes a Chinese explanation and a redundant 'returns: 图元类型' line that repeats the Chinese text. While not perfectly lean due to repetition, it is concise and structured enough to be quickly parsed.
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 getter tool with two parameters (fully described in the schema) and no output schema, the description captures the essential purpose and return type. It does not explain error handling or when windowId is needed, but the schema covers that. The description is adequate for an agent to call the tool correctly for the main 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 description coverage is 100%, so the baseline is 3. The description adds beyond the schema by specifying the first argument as 'id: string' in the method signature, clarifying that the 'args' array's first element is a string ID. This helps an agent construct the args correctly. The windowId parameter is described in the schema, so the description's contribution is focused on the primary 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 states a clear purpose: '获取指定 ID 的图元的图元类型' (get the primitive type of the primitive with the specified ID), which is a specific verb + resource. It distinguishes from siblings like get_primitive_by_primitive_id (returns the full primitive) and get_primitives_by_primitive_id (plural) by focusing on type alone. However, it does not explicitly contrast with these alternatives, so it's clear but not maximally differentiated.
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. It merely states the function signature and its purpose. There is no mention of when to prefer this over get_primitive_by_primitive_id or any other related primitive getters, 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.
eda_pcb_primitive_image_createB
pcb_PrimitiveImage.create(x: number, y: number, complexPolygon: TPCB_PolygonSourceArray | Array | IPCB_Polygon | IPCB_ComplexPolygon, layer: TPCB_LayersOfImage, width?: number, height?: number, rotation?: number, horizonMirror?: boolean, primitiveLock?: boolean) -> Promise<IPCB_PrimitiveImage | undefined> 创建图像 returns: 图像图元对象
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description offers almost no behavioral disclosure beyond the function signature itself. It does not mention that the operation modifies the PCB document, whether it requires an active document or window, error handling, or side effects. No annotations are present, so the description carries the full burden, and it only shows the signature and return type ('Promise<IPCB_PrimitiveImage | undefined>'), which is part of the signature, not an explanation.
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, consisting of the function signature and two short Chinese lines ('创建图像' and 'returns: 图像图元对象'). It is front-loaded with the signature, which is information-dense. No unnecessary words or redundancy, making it 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?
Given the tool's complexity—many parameters, nested polygon types, layer specifications, and a return object—the description is inadequate. It does not explain what an image primitive is, what the polygon sources should be, how the layer parameter works, or what the returned object contains. There is no output schema, so the description should clarify the return value more. The tool also likely requires an active PCB document, but that is not stated. Overall, an agent would struggle to invoke this correctly without 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?
The description lists all parameters with their types and optionality markers (e.g., 'x: number', 'complexPolygon: TPCB_PolygonSourceArray | ...', 'layer: TPCB_LayersOfImage'), providing essential structure. However, it does not explain the meaning of each parameter, such as what a valid complexPolygon looks like or what layer values are accepted. The input schema only has 'args' and 'windowId', so the signature is the sole source of parameter semantics, but it lacks descriptive detail.
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 includes the full function signature 'pcb_PrimitiveImage.create(...)' which clearly specifies the verb (create), the resource (a PCB primitive image), and the parameters (x, y, polygon, layer, etc.). This distinguishes it from sibling tools like eda_pcb_primitive_image_delete, get, and modify, and the Chinese '创建图像' confirms the action.
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 image-related tools (e.g., eda_pcb_image_tool_start_place_vector_image) or other primitive creation tools. The description merely gives the signature and a one-line Chinese summary, with no mention of prerequisites, context, or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_image_deleteD
pcb_PrimitiveImage.delete(primitiveIds: string | IPCB_PrimitiveImage | Array | Array) -> Promise 删除图像 returns: 删除操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 mentions that it returns a boolean indicating success, but does not state that deletion is destructive, whether it is reversible, requires specific permissions, or affects other primitives. The behavior is largely implicit.
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, containing only a function signature and a two-word translation. While concise, it lacks essential structure like front-loaded purpose or usage hints. It reads as a raw API dump rather than a curated tool 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?
For a destructive delete operation with no annotations and no output schema, the description is incomplete. It does not state what happens to the primitive, whether the deletion is permanent, if there are any side effects, or what the boolean return actually means beyond 'success'. An agent needs more context to safely use 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 coverage is 100% for the two parameters (args and windowId), so the baseline is 3. The description adds the first parameter's type union (string | IPCB_PrimitiveImage | Array<string> | Array<IPCB_PrimitiveImage>), which is more specific than the schema's generic 'args' description. However, it does not explain how to obtain or construct these identifiers, and windowId is not expanded 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?
The description states '删除图像' (delete image), which clearly identifies the action and resource, but this essentially restates the tool name. It adds a function signature with parameter types, which is useful, but the core purpose is not elaborated 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?
There is no guidance on when to use this tool versus alternatives. No mention of conditions, prerequisites, or exclusions. The agent is left to infer that this deletes image primitives, but nothing distinguishes it from other primitive delete tools or explains when it should be chosen.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_image_getC
pcb_PrimitiveImage.get(primitiveIds: string) -> Promise<IPCB_PrimitiveImage | undefined>
获取图像
returns: 图像图元对象,undefined 表示获取失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description notes that 'undefined' indicates failure, which is a behavioral trait. However, with no annotations, the description carries the full burden and does not mention read-only status, side effects, or error conditions beyond the undefined return. It lacks disclosure of any mutation potential or permission 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 very short and to the point, but it is structured as a code signature rather than a clear tool description. It front-loads the signature but lacks a proper sentence explaining the tool's function and usage. It is concise but not well-organized for an agent.
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 getter, the description is incomplete: it omits the windowId parameter entirely, does not explain the args array structure, and provides no information about the returned IPCB_PrimitiveImage object's fields. It also does not mention any side effects or error handling beyond the undefined return. Given the complexity of the sibling set, more context would be needed.
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 mentions primitiveIds: string but the input schema expects an 'args' array in official signature order. This mapping is not explained, so the agent may not know how to pass the parameter. The windowId parameter from the schema is not mentioned at all. The description adds little beyond the schema, which already has descriptions for args and windowId.
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 '获取图像' (get image) and the function signature 'pcb_PrimitiveImage.get(primitiveIds: string)' makes it clear this retrieves a PCB primitive image object. However, it does not explicitly describe the tool's role among siblings or provide a natural-language explanation, so it stops 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 alternatives like eda_pcb_primitive_image_get_all or other primitive getters. No context about selection criteria or prerequisites is provided, leaving the agent to guess.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_image_get_allC
pcb_PrimitiveImage.getAll(layer?: TPCB_LayersOfImage, primitiveLock?: boolean) -> Promise<Array> 获取所有图像 returns: 图像图元对象数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden of behavioral disclosure. It does indicate this is a read-only getAll operation returning an array, but it doesn't explain side effects, active-document requirements, the effect of `primitiveLock`, or potential performance implications. The disclosure is 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?
The description is compact and front-loaded with the signature, followed by a short Chinese summary and return type. There is minor redundancy between the signature and the `returns:` line, but no filler or irrelevant 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?
With no output schema and no annotations, the description must supply enough context for correct invocation. It gives the return type but omits parameter semantics, filtering effects, and any practical guidance on when this call is appropriate. For a tool with two optional parameters and a non-obvious `primitiveLock` flag, this is insufficient.
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 only documents `args` and `windowId`, but the description adds the official signature with `layer?: TPCB_LayersOfImage` and `primitiveLock?: boolean`, which provides useful order and type information. However, it does not explain what layer values are valid or what `primitiveLock` actually controls, so semantic coverage remains 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 and resource: `pcb_PrimitiveImage.getAll` and '获取所有图像' (get all images), with a return type of `Array<IPCB_PrimitiveImage>`. This clearly identifies it as a fetch-all operation for image primitives, though it does not explicitly differentiate it from sibling tools like `eda_pcb_primitive_image_get` or `eda_pcb_primitive_image_get_all_primitive_id`.
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 use this tool versus alternatives such as fetching a single image or only primitive IDs. There is no mention of prerequisites, filtering behavior, or cases where `get_all_primitive_id` would be more appropriate. Usage is only implied by the name and brief Chinese description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_image_get_all_primitive_idB
pcb_PrimitiveImage.getAllPrimitiveId(layer?: TPCB_LayersOfImage, primitiveLock?: boolean) -> Promise<Array> 获取所有图像的图元 ID returns: 图像的图元 ID 数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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, but it only says 'get' and repeats the return type. It does not explain default filtering when layer/primitiveLock are omitted, whether locked primitives are included, or any async/error behavior beyond Promise<Array<string>>.
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 the official signature, followed by a one-line Chinese summary and a return note. The return note is slightly redundant with the signature, but the overall structure is 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?
For a simple ID-listing getter, the core operation and return type are clear, and the schema covers windowId. However, with no annotations or output schema, the optional parameter semantics and default scope of 'all' are underspecified, which could lead an agent to use the tool incorrectly.
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 only describes a generic args array and windowId, so the signature line adds the actual parameter names, types, and order: layer?: TPCB_LayersOfImage, primitiveLock?: boolean. However, it does not define valid layer values or what primitiveLock controls, so the meaning is only partially conveyed.
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 operation: get all primitive IDs belonging to image primitives, via the official method name pcb_PrimitiveImage.getAllPrimitiveId. The 'image' qualifier distinguishes it from the many sibling get_all_primitive_id tools for arcs, vias, pours, etc.
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 whether to use it instead of get/get_all when only primitive IDs are needed. The only selection clue is the resource type embedded in the name and signature.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_image_modifyB
pcb_PrimitiveImage.modify(primitiveId: string | IPCB_PrimitiveImage, property: { x?: number; y?: number; layer?: TPCB_LayersOfImage; width?: number; height?: number; rotation?: number; horizonMirror?: boolean; primitiveLock?: boolean }) -> Promise<IPCB_PrimitiveImage | undefined> 修改图像 returns: 图像图元对象
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 that the tool modifies an image and returns an image primitive object, but does not disclose side effects, whether changes are incremental, coordinate/layer semantics, lock behavior, or when undefined might be returned.
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-loads the full call signature, which is information-dense. The Chinese phrases '修改图像' and 'returns: 图像图元对象' are partly redundant with the signature, but the overall length 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?
For an agent to invoke the tool, the signature covers the parameter names and return type, which is minimally viable. Missing context includes how to pass values within the args array, layer enum values, units for x/y/width/height, and the meaning of undefined in the return.
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 only provides a generic 'args' array, so the TypeScript signature in the description adds meaningful semantics: primitiveId, x, y, layer, width, height, rotation, horizonMirror, and primitiveLock, including optionality and types. However, it does not explain units, enum values, or exact argument array construction beyond the signature.
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 modifying a PCB image primitive via 'pcb_PrimitiveImage.modify' and the Chinese '修改图像', which is a specific verb+resource. It does not explicitly state 'use this for image primitives, not other primitive types', but the signature and name make the target resource 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?
No guidance is provided on when to use this tool versus alternatives such as eda_pcb_primitive_image_create or eda_pcb_primitive_image_delete. There is no mention of prerequisites, when modification is appropriate, or how it differs from related primitive modify tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_line_createB
pcb_PrimitiveLine.create(net: string, layer: TPCB_LayersOfLine, startX: number, startY: number, endX: number, endY: number, lineWidth?: number, primitiveLock?: boolean) -> Promise<IPCB_PrimitiveLine | undefined> 创建直线 returns: 直线图元对象
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It only mentions the return type (Promise<IPCB_PrimitiveLine | undefined>) and implicitly that it creates a line, but does not disclose side effects (e.g., whether it modifies the current PCB, whether it is undoable, or if it requires a specific document context). No contradiction exists since annotations are absent, but behavioral disclosure is 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?
The description is concise: a single function signature plus two short Chinese lines ('创建直线' and 'returns: 直线图元对象'). It is front-loaded with the API call and avoids extraneous text. It could be slightly more structured but is appropriately sized for the 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 eight functional parameters plus windowId, and no output schema. The description provides the signature but omits essential context such as parameter semantics, coordinate units, layer definitions, and expected behavior on failure. An agent would struggle to call this correctly without additional 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 description provides the parameter names and types (net, layer, startX, startY, endX, endY, lineWidth?, primitiveLock?) which the schema's 'args' array does not detail. However, it does not explain the meaning of each parameter, units, or constraints (e.g., what 'layer' refers to, coordinate units). The schema coverage is 100% for the two container properties, so the description adds some value but not deep 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 explicitly states '创建直线' (create line) and provides the full API signature pcb_PrimitiveLine.create(...), making the verb and resource unambiguous. The name eda_pcb_primitive_line_create aligns with the purpose, and it clearly differs from sibling create tools for other primitive types (e.g., polyline, arc, 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?
No guidance is given on when to use this tool versus alternatives. The description does not explain when to choose line over polyline, nor does it mention any prerequisites (e.g., active document, layer constraints). The agent is left to infer usage solely from the name and signature.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_line_deleteB
pcb_PrimitiveLine.delete(primitiveIds: string | IPCB_PrimitiveLine | Array | Array) -> Promise 删除直线 returns: 删除操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full behavioral burden. It discloses that this is a deletion operation and that the return value is a boolean indicating success, but it does not discuss permanence, scope, undo behavior, or failure semantics. This is minimal disclosure for a destructive 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 short and leads with the signature, followed by a concise Chinese summary and return-value note. There is minor bilingual redundancy, but no unnecessary prose 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 destructive tool with no annotations and no output schema, the description is incomplete. It omits how to obtain valid primitive IDs, what window/document scope applies, whether the operation is reversible, and what errors can occur. The signature alone is not enough 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 only describes a generic 'args' array, offering no parameter-level detail. The description compensates by naming the parameter 'primitiveIds' and documenting its accepted types: string, IPCB_PrimitiveLine, or arrays of these. It does not explain how to source or construct these IDs, but it adds substantial meaning 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?
The description directly states the operation via the method signature 'pcb_PrimitiveLine.delete' and the Chinese phrase '删除直线' ('delete line'), making the verb and resource unambiguous. It naturally distinguishes from sibling line operations like create, get, get_all, and modify by its delete 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?
No guidance is provided about when to use this tool versus alternatives such as eda_pcb_primitive_object_delete or line modification tools. The description does not mention prerequisites, how to obtain primitive IDs, or what happens if no line is found.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_line_getB
pcb_PrimitiveLine.get(primitiveIds: string) -> Promise<IPCB_PrimitiveLine | undefined>
获取直线
returns: 直线图元对象,undefined 表示获取失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It does disclose the return type and failure semantics: undefined means retrieval failed. However, it does not explicitly state that the operation is read-only/non-mutating, nor what happens with invalid or multiple primitiveIds beyond the undefined failure case.
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-loads the essential signature, followed by a one-line Chinese summary and return semantics. There is minimal redundancy, though the phrase 获取直线 largely restates the tool's obvious 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?
For a simple getter with a weak generic schema and no output schema, the description provides the bare minimum: function signature, return type, and failure signal. It lacks enough detail about primitiveIds semantics and does not differentiate the single-get use case from the many line-related sibling 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 only provides a generic args array and windowId, so the description's signature adds the parameter name primitiveIds and its string type, which is helpful. It does not, however, define the expected ID format, how multiple IDs are represented, or the exact positional mapping into the args array beyond the implied signature.
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 operation: retrieving a line primitive (获取直线), with a concrete function signature and return type. It is identifiable as a single-line lookup by primitiveIds, but it does not explicitly contrast itself with sibling tools such as eda_pcb_primitive_line_get_all or get_all_primitive_id.
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 eda_pcb_primitive_line_get_all or eda_pcb_primitive_line_get_all_primitive_id. The singular signature implies single-object lookup, but no when-to-use, when-not-to-use, or prerequisite context is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_line_get_allA
pcb_PrimitiveLine.getAll(net?: string, layer?: TPCB_LayersOfLine, primitiveLock?: boolean) -> Promise<Array> 获取所有直线 returns: 直线图元对象数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior. It only states it gets all lines and returns an array; it does not state that it is a read-only operation, does not explain the scope ('all' in the current document?), and does not mention potential errors or performance implications. This is a minimal 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 extremely concise: a one-line signature, a one-line Chinese description, and a one-line return type. No redundant information; every line 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 description gives the return type and the general purpose, but lacks contextual details such as which document is queried, what 'all' refers to (current page, whole board?), any prerequisites, or edge cases. For a simple getter, this might be adequate, but it leaves the agent with questions.
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 includes the full signature with parameter names and types (net?: string, layer?: TPCB_LayersOfLine, primitiveLock?: boolean), providing meaning beyond the generic 'args' array in the schema. However, it does not explain the semantics or allowed values of these parameters, so it is not fully 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 explicitly states the tool retrieves all straight line primitives ('获取所有直线') and provides the function signature 'pcb_PrimitiveLine.getAll' with return type. It is clearly distinguishable from sibling tools like eda_pcb_primitive_line_get (singular) and eda_pcb_primitive_line_get_all_primitive_id.
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 offers no guidance on when to use this tool versus alternatives, no mention of filtering behavior of optional parameters, nor any exclusions. It only states what it does, leaving the agent to infer usage from the tool name and sibling names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_line_get_all_primitive_idC
pcb_PrimitiveLine.getAllPrimitiveId(net?: string, layer?: TPCB_LayersOfLine, primitiveLock?: boolean) -> Promise<Array> 获取所有直线的图元 ID returns: 折线的图元 ID 数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 that a Promise<Array<string>> is returned but does not explain the scope of 'all lines', how optional filters behave, whether locked/hidden primitives are included, or any side effects. The '折线' vs 'line' wording also introduces 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 compact and informative: signature, one-line purpose, and return type. It is front-loaded with the call signature and avoids unnecessary filler, though the 'returns' line partially repeats the signature's return type.
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 read tool with no annotations and no output schema, the description is too thin. It lacks parameter semantics, filtering behavior, and any guidance on selecting this tool among the many primitive-ID siblings. The line/polyline terminology inconsistency further 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?
The description includes the official signature with parameter names and types (net?, layer?, primitiveLock?), which is valuable because the schema only provides a generic args array. However, it does not explain the meaning or expected behavior of these parameters, leaving the agent to infer from 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 action: retrieve all line primitive IDs ('获取所有直线的图元 ID') and includes the return type Promise<Array<string>>. However, it does not explicitly differentiate from sibling get_all_primitive_id tools, and the Chinese return note uses '折线' (polyline), which could blur the boundary with the polyline primitive 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 such as eda_pcb_primitive_line_get_all or the get_all_primitive_id variants for other primitive types. The optional parameters imply filtering use cases, but no conditions or exclusions are described.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_line_modifyB
pcb_PrimitiveLine.modify(primitiveId: string | IPCB_PrimitiveLine, property: { net?: string; layer?: TPCB_LayersOfLine; startX?: number; startY?: number; endX?: number; endY?: number; lineWidth?: number; primitiveLock?: boolean }) -> Promise<IPCB_PrimitiveLine | undefined> 修改直线 returns: 直线图元对象
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 the return type (Promise<IPCB_PrimitiveLine | undefined>) and the list of modifiable properties via the property object, but does not state side effects (e.g., whether it updates the PCB, requires the primitive to exist, or may fail) nor any constraints like coordinate units or lock behavior. It lacks detail on failure modes and prerequisites for a mutation 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 concise: a one-line signature, a short Chinese phrase, and a return note. The signature is front-loaded with all parameter information. Every line adds value, though the Chinese phrase partly duplicates the signature. Structure is efficient and scannable.
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 in a large family of primitive modify operations, the description omits critical context: it doesn't state that primitiveId must reference an existing line, the unit system for coordinates (mm/mil), or error handling. The return type is mentioned, but there's no output schema to fill gaps. Given the complexity and similar siblings, it 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 description provides a full function signature with parameter names, types, and optional fields (primitiveId, property with net, layer, coordinates, lineWidth, primitiveLock). This goes well beyond the generic schema, which only defines an args array and windowId. It compensates for the schema's lack of domain-specific detail, making parameter meaning clear.
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 it modifies a PCB line primitive via the signature `pcb_PrimitiveLine.modify` and the Chinese '修改直线' (modify line). It clearly identifies the resource (line primitive) and the operation (modify), distinguishing it from sibling modify tools for other primitive types like polyline or pad. However, it does not explicitly contrast with those siblings, relying on the name and type to differentiate.
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 other modify tools (e.g., eda_pcb_primitive_polyline_modify). The description does not mention any prerequisites, such as needing the primitive ID from a get operation, nor does it explain when this specific line modifier is appropriate over generic object modify. Usage context is implied by the resource type but not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_object_createC
pcb_PrimitiveObject.create(layer: TPCB_LayersOfObject, topLeftX: number, topLeftY: number, binaryData: string, width: number, height: number, rotation?: number, mirror?: boolean, fileName?: string, primitiveLock?: boolean) -> Promise<IPCB_PrimitiveObject | undefined> 创建二进制内嵌对象 returns: - 二进制内嵌对象图元对象
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full burden of behavioral disclosure. It reveals that the tool creates a primitive and returns a Promise, but does not mention side effects, failure modes, required permissions, or any consequences of misuse. It does not contradict annotations (none exist), but the disclosure is 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?
The description is concise, consisting of a signature, a Chinese phrase, and a return note. However, the structure is haphazard: the signature is long and not formatted as prose, and the Chinese phrase is not translated. It is not well-organized for an agent to parse quickly, though it is not 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?
The tool is complex with 9 parameters and no output schema. The description fails to explain critical details such as what binaryData represents, coordinate units, layer enum values, or the meaning of mirror and primitiveLock. It also does not mention that windowId is optional. The description is far from complete for an agent to call this 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 input schema only describes the wrapper parameters 'args' and 'windowId', with args described as an ordered array. The description provides the function signature with parameter names and types, but offers no explanation of their meaning—such as the format of binaryData, units for width/height, or the allowed values for layer. This is insufficient given the 100% schema coverage that only covers the wrapper, not the actual arguments.
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: creating a binary embedded object on a PCB layer, with a specific function signature. It is a distinct operation from other primitive creations, but does not differentiate from similar tools like eda_pcb_primitive_image_create. The phrase '创建二进制内嵌对象' (create binary embedded object) is specific 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. It does not mention prerequisites, target layers, or scenarios where a binary embedded object is preferred over images or other primitives. No context or exclusion conditions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_object_deleteC
pcb_PrimitiveObject.delete(primitiveIds: string | IPCB_PrimitiveObject | Array | Array) -> Promise 删除二进制内嵌对象 returns: 删除操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It states the return type (Promise<boolean>) but does not disclose the destructive nature, irreversibility, potential side effects on connected objects, or error behavior. This is a significant gap for a delete 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 short but poorly structured: it mixes an English signature with a Chinese description in a single line. The core purpose is not front-loaded, and the Chinese phrase appears after the signature. It is acceptable but not optimally organized.
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 operation, the description lacks essential context: prerequisites (object must exist), error handling, impact on dependent elements, and any confirmation requirements. Since no output schema exists, the return value is described but edge cases are absent. This is inadequate for safe 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 100% (both args and windowId have descriptions), but the description adds the exact signature with parameter types (string | IPCB_PrimitiveObject | arrays) and return type, which is more informative than the generic 'args' array description. This significantly aids 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 includes a full function signature 'pcb_PrimitiveObject.delete(...)' which clearly indicates this tool deletes primitive objects, and the Chinese phrase '删除二进制内嵌对象' (delete binary embedded object) reinforces the purpose. It distinguishes from create/modify/get siblings but does not explicitly differentiate from type-specific delete tools like eda_pcb_primitive_arc_delete.
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 delete tools. It does not mention alternatives (e.g., type-specific deletes) or any exclusion conditions. The only implication is that it deletes generic primitive objects.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_object_getB
pcb_PrimitiveObject.get(primitiveIds: string) -> Promise<IPCB_PrimitiveObject | undefined>
获取二进制内嵌对象
returns: 二进制内嵌对象图元对象,undefined 表示获取失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 the return shape and that undefined indicates failure, which is useful. However, it does not state whether the operation is read-only, whether it can throw, or what side effects or prerequisites exist, leaving significant behavioral ambiguity for a tool with no annotation safety 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 short and front-loaded with the signature, followed by a concise Chinese summary and return explanation. There is minor redundancy between the signature and the prose return line, but overall every part is compact and quick 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?
For a tool with no output schema, no annotations, a generic args array, and a huge sibling family, the description is too thin. It fails to explain how to construct primitiveIds, what an 'object' primitive is, how windowId selection works, or how this differs from the many related get tools. An agent could not reliably invoke it correctly without external 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 schema's args array is generic, but the description's signature adds the parameter name 'primitiveIds' and its string type. This is helpful yet incomplete: it does not explain the expected string format (single ID, comma-separated, JSON array), how IDs relate to the windowId parameter, or the meaning of the optional windowId 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 states the verb 'get' and the resource '二进制内嵌对象' (binary embedded object), and the signature names the return type IPCB_PrimitiveObject. It is distinguishable from nearby get_all variants by the singular-get intent, though it never explicitly contrasts itself with eda_pcb_primitive_object_get_all or the generic primitive lookup 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 use this tool versus siblings such as eda_pcb_primitive_object_get_all, eda_pcb_primitive_object_get_all_primitive_id, or type-specific get tools. The description does not mention how to obtain valid primitiveIds, whether this tool is for a single ID or multiple, or which scenarios call for the get_all variants.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_object_get_allB
pcb_PrimitiveObject.getAll(layer?: TPCB_LayersOfObject, primitiveLock?: boolean) -> Promise<Array> 获取所有二进制内嵌对象 returns: 二进制内嵌对象图元对象数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden of behavioral disclosure. It only restates the API signature and return type, implying a read operation without stating it, and says nothing about filtering behavior, performance, side effects, or which document/window scope the query applies to.
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 front-loaded with the signature, followed by a concise Chinese summary. The return-type line is slightly redundant with the signature, but overall it is compact and scannable.
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 read-only list tool with no output schema, the description provides the essential signature and return type, which is reasonably complete. However, it lacks a plain-language explanation of what a 'binary embedded object' is, what the primitiveLock parameter controls, and how this tool relates to get_all_primitive_id, so an agent may hesitate about correct 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?
The input schema only describes a generic args array and windowId, but the description adds the actual parameter names, types, and optional markers (layer?: TPCB_LayersOfObject, primitiveLock?: boolean). This is valuable beyond the schema, though the semantics of primitiveLock and the valid values for layer are left 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 clearly identifies the action ('获取所有' = get all) and the resource ('二进制内嵌对象' = binary embedded objects), with a TypeScript signature showing the exact API call. However, it does not distinguish this tool from the closely related sibling eda_pcb_primitive_object_get_all_primitive_id or the type-specific get_all variants.
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 eda_pcb_primitive_object_get_all_primitive_id or type-specific getAll tools. The context signals show a large sibling set, so explicit routing guidance would be valuable, but the description offers none.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_object_get_all_primitive_idB
pcb_PrimitiveObject.getAllPrimitiveId(layer?: TPCB_LayersOfObject, primitiveLock?: boolean) -> Promise<Array> 获取所有二进制内嵌对象的图元 ID returns: 二进制内嵌对象的图元 ID 数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It transparently shows a Promise<Array<string>> return and describes a read operation, implying a getter with no side effects, but it does not explicitly state read-only behavior, scope (whole board vs current document), potential failures, or any side effects beyond the signature.
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: a signature line, a one-line Chinese purpose, and a return note. It is front-loaded with the signature and avoids excessive prose, though the 'returns' line largely restates the signature's return type, making it slightly 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?
For a simple getter with no output schema and no annotations, the description gives the essential callable signature and return type, which is likely enough to invoke it. However, it omits clarification of what '二进制内嵌对象' means, when this should be used over sibling primitive getters, and any behavior around the windowId/args wrapper, leaving an agent to infer important 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 100% per the context signals, so the baseline is 3. The description does add the actual API signature with parameter names and types (layer?: TPCB_LayersOfObject, primitiveLock?: boolean), which is helpful because the schema only exposes a generic args array. However, it does not explain the meaning of layer or primitiveLock or enumerate valid TPCB_LayersOfObject 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 states a clear verb and resource: it gets all primitive IDs for PCB primitive objects via '获取所有二进制内嵌对象的图元 ID', and the signature confirms 'getAllPrimitiveId'. It does not, however, explicitly distinguish itself from the many sibling 'get_all_primitive_id' tools, so it is clear but not differentiated.
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 eda_pcb_primitive_object_get_all or the type-specific get_all_primitive_id siblings. There is no mention of when to call it instead of fetching full object data, and no exclusions 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.
eda_pcb_primitive_object_modifyB
pcb_PrimitiveObject.modify(primitiveId: string | IPCB_PrimitiveObject, property: { layer?: TPCB_LayersOfObject; topLeftX?: number; topLeftY?: number; binaryData?: string; width?: number; height?: number; rotation?: number; mirror?: boolean; fileName?: string; primitiveLock?: boolean }) -> Promise<IPCB_PrimitiveObject | undefined>
修改二进制内嵌对象
returns: 二进制内嵌对象图元对象,undefined 表示修改失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It does disclose that the operation mutates the object and that `undefined` indicates failure, which is useful. However, it does not mention side effects, prerequisites, whether the modification is partial, or other failure-related behavior.
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 well-structured and front-loaded with the official method signature, followed by a concise Chinese summary and a return-value note. There is no filler, though the signature itself is unavoidably long.
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 is adequate for basic invocation because it provides the full signature and failure return semantics. However, it lacks contextual details such as field-level semantics, binaryData format, layer value options, and behavior when only some properties are provided, especially given the absence of annotations and 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?
The input schema only describes a generic `args` array and `windowId`, so the inline signature adds substantial meaning: exact parameter order, primitiveId type, and all modifiable property names and types. It stops short of explaining units, enum values for layer, or binaryData encoding.
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 ('modify') and a specific resource ('pcb_PrimitiveObject' / '二进制内嵌对象'), and the inline signature makes the scope concrete. It does not explicitly differentiate this from sibling tools such as eda_sch_primitive_object_modify or image/object create/delete 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?
No guidance is given about when to use this tool instead of alternatives, when not to use it, or any prerequisites such as first retrieving an object. The usage context is only implicit from the modify/create/get/delete naming pattern among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_pad_createB
pcb_PrimitivePad.create(layer: TPCB_LayersOfPad, padNumber: string, x: number, y: number, rotation?: number, pad?: TPCB_PrimitivePadShape, net?: string, hole?: TPCB_PrimitivePadHole | null, holeOffsetX?: number, holeOffsetY?: number, holeRotation?: number, metallization?: boolean, padType?: EPCB_PrimitivePadType, specialPad?: TPCB_PrimitiveSpecialPadShape, solderMaskAndPasteMaskExpansion?: IPCB_PrimitiveSolderMaskAndPasteMaskExpansion | null, heatWelding?: IPCB_PrimitivePadHeatWelding | null, primitiveLock?: boolean) -> Promise<IPCB_PrimitivePad | undefined> 创建焊盘 returns: 焊盘图元对象
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, and the description only says 'create pad' and returns a pad object. It does not disclose that this is a mutating operation on the current PCB, nor any side effects, failure modes, or required context. Minimal 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 compact: a signature line, a one-line purpose in Chinese, and a returns note. Each element earns its place, though the signature is long and could be structured more naturally.
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 17 parameters and no output schema, the description is incomplete. It does not state which parameters are required (the signature marks some as required but the schema lists 0 required), does not explain parameter semantics, and does not describe the returned pad object's structure. Types are given but meanings are 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 description provides the full TypeScript-style function signature listing all 17 parameters with types and optional markers. This adds significant meaning beyond the input schema, which only describes an args array. However, it does not explain the meaning of each parameter or default 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 states '创建焊盘' (create pad) and includes the full method signature, making the verb and resource clear. It does not explicitly differentiate from sibling create tools like eda_pcb_primitive_via_create, but the pad-specific name and return type sufficiently convey the 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?
No guidance is provided on when to use this tool versus other primitive creation tools or pad operations. There is no mention of prerequisites such as having an active PCB document or a valid layer context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_pad_deleteB
pcb_PrimitivePad.delete(primitiveIds: string | IPCB_PrimitivePad | Array | Array) -> Promise 删除焊盘 returns: 删除操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 states the operation and the return type (Promise<boolean>), but does not mention side effects, permanence, required document state, or error behavior. For a destructive mutation tool, 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 compact and includes the signature, a short Chinese phrase, and a return note. It has no redundant sentences, though the mixed English/Chinese structure is a bit disjointed. Front-loading the signature is reasonable for a tool mirroring an API.
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 delete tool with two parameters and no output schema, the description gives the signature and return type, which is adequate. However, it lacks guidance on how to obtain primitive IDs, whether deletion is undoable, and what happens with invalid IDs. Given zero annotations, 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 schema only describes 'args' as a generic JSON parameter array. The description adds real value by specifying the actual parameter name 'primitiveIds' and its allowed types (string, IPCB_PrimitivePad, arrays). This helps the agent construct the args array correctly, going beyond the schema's 100% generic 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 '删除焊盘' (delete pad) and provides the function signature for pcb_PrimitivePad.delete, which gives a specific verb and resource. It is distinguishable from sibling delete tools like eda_pcb_primitive_line_delete by the explicit 'pad' resource, though it does not explicitly contrast itself with 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 provides no guidance on when to use this tool versus alternatives, no prerequisites, and no conditions for selecting it. The signature and return note are purely descriptive; an agent gets no explicit context about when to invoke this delete operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_pad_getB
pcb_PrimitivePad.get(primitiveIds: string) -> Promise<IPCB_PrimitivePad | undefined>
获取焊盘
returns: 焊盘图元对象,undefined 表示获取失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It does state that the return is a pad primitive object and that 'undefined' indicates failure, which is useful. However, it does not describe error behavior, side effects, permissions, or whether invalid IDs throw or just return 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 very brief and front-loaded with the method signature, followed by a compact Chinese summary and return semantics. There is no filler, though the signature line largely duplicates the tool name and could have been replaced with a more useful explanation of the ID format.
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 no output schema, this description is too sparse. It leaves critical gaps: how to format primitiveIds, whether the tool accepts one or many IDs, what the returned object contains, and how failures beyond 'undefined' are handled. An agent would need to inspect other tools or external documentation to use it 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 100%, so the baseline is 3. The description's signature line mentions 'primitiveIds: string' but adds no semantic information about the expected format, whether multiple IDs are allowed separated by commas, or how the string relates to the args array. The schema's 'args' description is generic, so the description does not meaningfully compensate.
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 gives the exact method path 'pcb_PrimitivePad.get' and the Chinese phrase '获取焊盘' (get pad), clearly naming both the verb and the resource. It does not explicitly differentiate from sibling getter tools like eda_pcb_primitive_pad_get_all or eda_pcb_primitive_get_primitive_by_primitive_id, though the singular 'pad' and the tool name imply fetching one pad by ID.
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 get_all or get_by_primitive_id. There is no mention of prerequisites, when windowId is needed, or how this differs from other getter tools, so an agent must guess 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.
eda_pcb_primitive_pad_get_allC
pcb_PrimitivePad.getAll(layer?: TPCB_LayersOfPad, net?: string, primitiveLock?: boolean, padType?: EPCB_PrimitivePadType) -> Promise<Array> 获取所有焊盘 returns: 焊盘图元对象数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose side effects, permissions, or side effects. It only states the return type; nothing about read-only nature, error conditions, or parameter effects. This leaves the agent without crucial safety/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 short and avoids redundancy, containing the signature and a terse Chinese summary. It's not verbose, but the structure mixes signature with prose, making it slightly less clean. Still, it's 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?
For a tool with 4 parameters, no output schema, and no annotations, the description is far too minimal. It doesn't explain filtering behavior, return structure details, or the purpose of windowId/args. An agent would struggle to call this correctly without 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?
The schema only describes a generic args array, not individual parameters. The signature lists layer, net, primitiveLock, padType but gives no semantic meaning or usage guidance. With 100% coverage being superficial, the description fails to compensate, leaving parameters 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 states '获取所有焊盘' (get all pads) and returns an array of pad primitive objects, so the verb+resource is clear. However, it doesn't differentiate from siblings like eda_pcb_primitive_pad_get (single pad) or eda_pcb_primitive_pad_get_all_primitive_id, relying on the name alone.
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 on when to use this tool versus alternatives. It doesn't mention filtering, preconditions, or contrast with other get_all variants. The agent must infer usage from the name and signature.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_pad_get_all_primitive_idB
pcb_PrimitivePad.getAllPrimitiveId(layer?: TPCB_LayersOfPad, net?: string, primitiveLock?: boolean, padType?: EPCB_PrimitivePadType) -> Promise<Array> 获取所有焊盘的图元 ID returns: 焊盘的图元 ID 数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral burden. The verb '获取/get' and return type imply a read-only query, but the description does not explicitly state that it has no side effects, what scope it operates on, or how filters affect results. It is minimally transparent but 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 compact, with the API signature front-loaded followed by a short Chinese purpose and return note. Every line earns its place and there is 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?
For a simple getter, the signature and return-type note are adequate, but with no annotations and no output schema there are notable gaps: no explanation of filter meanings, no statement about operation scope beyond the schema's `windowId`, and no guidance on alternatives. It is minimally viable 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?
The generic input schema only exposes `args` and `windowId`, so the description's signature adds real value by naming all four actual parameters with types and optional markers: `layer`, `net`, `primitiveLock`, and `padType`. It still does not explain the semantics of `primitiveLock` or `padType`, but it goes 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?
The description clearly states the verb and resource: it calls `pcb_PrimitivePad.getAllPrimitiveId` to get all pad primitive IDs, and the return type `Promise<Array<string>>` reinforces this. It does not explicitly contrast with sibling `eda_pcb_primitive_pad_get_all`, though the name itself signals the 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?
There is no guidance on when to use this tool versus alternatives such as `eda_pcb_primitive_pad_get_all` or `eda_pcb_primitive_pad_get`. The description is only a signature and return note, with no scenario, prerequisite, or exclusion information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_pad_modifyB
pcb_PrimitivePad.modify(primitiveId: string | IPCB_PrimitivePad, property: { layer?: TPCB_LayersOfPad; padNumber?: string; x?: number; y?: number; rotation?: number; pad?: TPCB_PrimitivePadShape; net?: string; hole?: TPCB_PrimitivePadHole | null; holeOffsetX?: number; holeOffsetY?: number; holeRotation?: number; metallization?: boolean; specialPad?: TPCB_PrimitiveSpecialPadShape; solderMaskAndPasteMaskExpansion?: IPCB_PrimitiveSolderMaskAndPasteMaskExpansion | null; heatWelding?: IPCB_PrimitivePadHeatWelding | null; primitiveLock?: boolean }) -> Promise<IPCB_PrimitivePad | undefined> 修改焊盘 returns: 焊盘图元对象
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 indicates a mutating operation (modify) but does not disclose side effects, error conditions, whether the pad must exist, or the effect of partial property updates. The return type Promise<IPCB_PrimitivePad | undefined> hints at possible undefined return, but the behavior around that is 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 line signature plus two short Chinese phrases and a return note. There is no wasted text, and the core operation is front-loaded. The long type definition is necessary but could be considered more specification than explanation, so it is not a perfect 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?
The description is adequate for a simple modify operation: it defines the input parameters and return type. However, it lacks context such as required document state, how to obtain primitiveId, or any behavioral caveats. With no output schema and no annotations, an agent might successfully invoke it but would not know edge cases or when it is the right 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 schema only describes 'args' as a JSON array in official signature order and 'windowId' as an optional target. The description enriches this by providing the full call signature with named parameters, types, and optional flags. This is significantly more informative than the schema alone, though individual field meanings (e.g., layer, net) are not explicitly explained.
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 operation 'modify' and the resource 'pad' via the signature pcb_PrimitivePad.modify and the Chinese phrase '修改焊盘' (modify pad). This distinguishes it from sibling tools like eda_pcb_primitive_pad_create or eda_pcb_primitive_pad_get. It is specific and unambiguous, though it does not explicitly contrast with those 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 provided on when to use this tool versus alternatives. There is no mention of prerequisites, when not to use it, or how it relates to other pad operations (e.g., create, delete, get). The description is purely a signature and a bare translation, 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.
eda_pcb_primitive_polyline_createB
pcb_PrimitivePolyline.create(net: string, layer: TPCB_LayersOfLine, polygon: IPCB_Polygon, lineWidth?: number, primitiveLock?: boolean) -> Promise<IPCB_PrimitivePolyline | undefined> 创建折线 returns: 折线图元对象
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must disclose side effects and behavioral details itself. It only restates that a polyline is created and notes the return may be undefined, but it does not mention document mutation, required active document, layer constraints, undo behavior, or failure conditions.
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 definition is compact and front-loads the signature before a one-line summary and return note. The Chinese '创建折线' is redundant with the tool name, but the overall size is appropriate for the available 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?
For a mutation/create tool with no annotations and no output schema, the description lacks prerequisites, coordinate/unit context, an explanation of what undefined means, and how to construct the polygon parameter. An agent would still be uncertain about correct invocation in a real PCB document.
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's args property is an opaque array with only a generic 'official signature order' note, so the description's signature line adds essential meaning: parameter names, order, optionality, and types. It still omits semantics such as polygon structure or units, but it goes well beyond the structured 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 concrete action ('创建折线', create polyline) and exposes the exact API signature with resource types, so an agent can tell it is a creation operation. It does not explicitly distinguish it from nearby primitive creation tools like line_create or region_create, so it misses the top sibling-differentiation bar.
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 call this tool instead of eda_pcb_primitive_line_create, eda_pcb_primitive_region_create, or the polyline modify/delete siblings. The only usage signal is the create verb and signature, leaving an agent to infer selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_polyline_deleteC
pcb_PrimitivePolyline.delete(primitiveIds: string | IPCB_PrimitivePolyline | Array | Array) -> Promise 删除折线 returns: 删除操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior. It only states the return type (boolean for success) and the operation, but omits side effects, irreversibility, or error conditions. For a delete operation, this 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?
The description is very brief, consisting of a single line with the signature and a Chinese phrase. It is concise but lacks structure or additional context. The information is front-loaded but minimal.
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 is incomplete for an agent to call it correctly. It does not mention the windowId parameter (though in schema), how to obtain primitiveIds, what happens if the polyline does not exist, or any error handling. No output schema exists to clarify returns. The description leaves critical 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 description includes the function signature, which specifies the parameter 'primitiveIds' and its accepted types. However, the schema provides no details for the args array items, and the description does not explain how to construct the array or what the primitiveIds represent beyond the type. This partial info is helpful but 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 action (delete) and the resource (polyline) via '删除折线' (delete polyline). The name and signature reinforce this. However, it does not explicitly differentiate from sibling delete tools for other primitive types, though the name makes it clear.
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, context, or exclusions. The description only states the action without any usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_polyline_getB
pcb_PrimitivePolyline.get(primitiveIds: string) -> Promise<IPCB_PrimitivePolyline | undefined>
获取折线
returns: 折线图元对象,undefined 表示获取失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It does disclose the return type and that `undefined` indicates failure, which is useful. However, it does not explicitly state that the operation is read-only or describe other behavioral details such as exceptions, permissions, or side effects. The disclosed information is minimal but 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 compact and front-loaded with the official signature, followed by a short purpose statement and return semantics. There is no filler or redundant elaboration, though the content is quite bare overall.
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 getter with no output schema or annotations, and the description explains enough to make a basic call when the caller already has a primitive ID. However, it omits how to obtain IDs, when to prefer this over sibling getters, and any details about the `windowId` behavior beyond the schema. It is minimally viable but not fully self-contained.
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%, providing descriptions for `args` and `windowId`, so the baseline is 3. The description adds the official signature `pcb_PrimitivePolyline.get(primitiveIds: string)`, which identifies the meaningful argument, but it does not clarify the format of `primitiveIds` or explicitly map it into the `args` array. The plural name is also ambiguous given the singular return 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 operation: '获取折线' (get polyline) and gives the return type `IPCB_PrimitivePolyline | undefined`. It is specific about the resource (polyline primitive) and the verb (get), but it does not contrast with sibling tools like `eda_pcb_primitive_polyline_get_all` or `eda_pcb_primitive_polyline_get_all_primitive_id`, so it misses some 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 versus alternatives. It does not mention that `get_all` should be used to retrieve all polylines, that `get_all_primitive_id` can be used to obtain IDs first, or how to obtain a valid `primitiveIds` value. No exclusions or preconditions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_polyline_get_allC
pcb_PrimitivePolyline.getAll(net?: string, layer?: TPCB_LayersOfLine, primitiveLock?: boolean) -> Promise<Array> 获取所有折线 returns: 折线图元对象数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 that the function returns a Promise of an array, but does not disclose any side effects, performance implications, how filtering parameters (net, layer, primitiveLock) affect results, or any default behavior. This is a significant gap for a read operation that may have non-obvious behavior.
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 to the point, but it is incomplete. It front-loads the signature and then gives a one-line Chinese description plus a returns line. While concise, it omits critical parameter explanations and any context, making it minimally viable but not well-structured for an agent.
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 three optional parameters and no output schema, the description is incomplete. It does not explain how to invoke the tool via the wrapper parameters (args, windowId), what net/layer filtering does, or what primitiveLock entails. An agent cannot confidently use this tool correctly 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?
The description includes the signature with parameters net, layer, and primitiveLock, but does not explain what they mean. The input schema only describes the generic 'args' array and 'windowId' wrapper, leaving the actual parameter semantics unexplained in both the description and the schema. Schema coverage is 100% for the wrapper, but the description adds no value for the functional 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 function clearly: '获取所有折线' (get all polylines) and specifies the return type as an array of polyline primitive objects. This makes the primary purpose unambiguous. However, it does not explicitly differentiate this from the sibling 'eda_pcb_primitive_polyline_get' (which gets a single polyline), relying on the tool name to convey the 'all' 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 no guidance on when to use this tool versus alternatives like the singular 'get' or the 'get_all_primitive_id' variants. There is no mention of use cases, exclusions, or relationships to other tools. An agent would have to infer usage solely from the tool name and signature.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_polyline_get_all_primitive_idB
pcb_PrimitivePolyline.getAllPrimitiveId(net?: string, layer?: TPCB_LayersOfLine, primitiveLock?: boolean) -> Promise<Array> 获取所有折线的图元 ID returns: 折线的图元 ID 数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It communicates a read-style getter operation returning an array of IDs, which implies no mutation, but it does not disclose scope (current document vs active window), filter semantics, or any edge cases such as no matching primitives. The signature and return type provide basic but not rich 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 compact and front-loaded with the call signature, followed by a brief Chinese purpose statement. The 'returns' line is slightly redundant with the signature's return type, but overall every element is useful and there is 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?
For a simple ID-listing function this is minimally adequate: it gives the method signature, return type, and optional filters. However, with no output schema and no annotations, an agent still lacks clarity on how filters combine, what window/document scope applies, and how to interpret the args wrapper relative to the named signature.
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 describes only the wrapper fields (args, windowId), while the actual parameters net, layer, and primitiveLock appear only in the description with names and types. This adds some value beyond the schema, but no explanation is given for what 'primitiveLock' controls or what layer values are valid, so the semantics remain partially 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 states a specific verb and resource: getting all polyline primitive IDs, with a clear return type of string array. It does not explicitly differentiate from eda_pcb_primitive_polyline_get_all, which may return full primitive objects, but the name and '图元 ID' wording make the ID-only scope reasonably clear.
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 shows optional filter parameters (net, layer, primitiveLock) but gives no guidance on when to use this tool versus sibling tools like get_all, get, or the equivalent pour/region/via tools. An agent must infer usage from the name and signature alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_polyline_modifyC
pcb_PrimitivePolyline.modify(primitiveId: string | IPCB_PrimitivePolyline, property: { net?: string; layer?: TPCB_LayersOfLine; polygon?: IPCB_Polygon; lineWidth?: number; primitiveLock?: boolean }) -> Promise<IPCB_PrimitivePolyline | undefined> 修改折线 returns: 折线图元对象
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 the return type (Promise<IPCB_PrimitivePolyline | undefined>) which implies a returned object or undefined, but does not disclose side effects, whether the primitive must exist, error handling, or whether the modification is destructive or reversible. This is insufficient 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, containing the signature and a brief Chinese summary. It is front-loaded with the signature, which is useful, and there is no redundant text. However, it could be slightly more compact by omitting the signature, but the signature adds value, so it's 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?
The description does not explain how to use the wrapper parameters (args and windowId) that appear in the schema. It does not state that args must be an array containing primitiveId and property in order, nor does it mention any defaults or required fields. For a tool with no output schema and a complex property object, this is incomplete. An agent would need external knowledge to call 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 description includes the complete function signature with parameter names and types (primitiveId, property, and its fields), which the schema does not provide (it only has wrapper args and windowId). This adds structural meaning, but it does not explain the semantics of fields like TPCB_LayersOfLine, IPCB_Polygon, or the meaning of primitiveLock. No units or allowed values are given, so the agent lacks full semantic 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 states the tool modifies a polyline primitive and includes the full signature. It clearly identifies the resource (polyline) and action (modify), and the name includes 'modify' which distinguishes it from create/get/delete siblings. However, it does not explicitly differentiate it from other modify tools for different primitives.
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 vs alternatives like eda_pcb_primitive_line_modify or eda_pcb_primitive_arc_modify. The name implies polylines, but the description does not state any conditions, prerequisites, or exclusions. An agent must 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.
eda_pcb_primitive_pour_createC
pcb_PrimitivePour.create(net: string, layer: TPCB_LayersOfCopper, complexPolygon: IPCB_Polygon, pourFillMethod?: EPCB_PrimitivePourFillMethod, preserveSilos?: boolean, pourName?: string, pourPriority?: number, lineWidth?: number, primitiveLock?: boolean) -> Promise<IPCB_PrimitivePour | undefined> 创建覆铜边框 returns: 覆铜边框图元对象
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description must disclose behavior. It does not state that this is a mutating operation, mention side effects, or explain why the signature returns a promise that may resolve to undefined. No information about permissions or document requirements is provided.
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 but not well-structured; it begins with a raw signature and lacks a clear summary or purpose statement. The Chinese note is minimal and does not front-load key information. It is not overly verbose, but the structure could be improved for readability.
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 (8 parameters) and lack of annotations, the description is incomplete. It does not explain parameter semantics, prerequisites, or the conditions under which the function returns undefined. It also fails to differentiate from similar tools, making it difficult for an agent to use 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 description lists parameter names and types in the signature, but provides no explanations of their meaning or how they affect the pour. With 8 parameters, this is insufficient for an agent to construct correct arguments, and the schema only covers the outer 'args' array, not the individual 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 creates a copper pour outline ('创建覆铜边框') and provides a specific function signature. However, it does not differentiate from similar siblings like eda_pcb_primitive_poured_create, leaving potential confusion about the distinction between pour and poured primitives.
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, and no preconditions (e.g., active PCB document) are mentioned. The description is purely declarative without any usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_pour_deleteB
pcb_PrimitivePour.delete(primitiveIds: string | IPCB_PrimitivePour | Array | Array) -> Promise 删除覆铜边框 returns: 删除操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It does disclose what is destroyed (the copper pour border) and the return semantics (Promise<boolean> indicating deletion success), which is meaningful. However, it does not disclose side effects such as whether associated poured copper regions are affected, whether deletion is irreversible, or how partial failures are reported when an array of IDs is passed.
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: a signature line, a one-phrase Chinese purpose, and a returns line. Each segment carries distinct information (typing, purpose, output semantics) with no filler. It loses a point only for the disjointed mixed-language presentation and for burying the plain-language purpose between the signature and return note.
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 contract—what the tool does, its parameter type, and its boolean return—which is adequate for a simple delete operation with no output schema. It falls short on richer context: it doesn't explain what an IPCB_PrimitivePour is, how to obtain valid IDs, the effect of passing arrays versus single IDs, or the interaction between deleting a pour border and existing poured copper. Given the absence of annotations, these gaps matter.
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's args items are untyped empty objects, so the description's signature provides the only real parameter semantics: the single argument is primitiveIds accepting a string, IPCB_PrimitivePour, or arrays of either. The windowId parameter is already documented in the schema with its default behavior. The description genuinely adds value where the schema is silent.
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 and resource: '删除覆铜边框' (delete copper pour border), which is concrete and maps cleanly to the tool name. The signature line additionally identifies the underlying API method (pcb_PrimitivePour.delete). It is distinguishable from nearby siblings like eda_pcb_primitive_poured_delete and eda_pcb_primitive_region_delete, though it doesn't explain the pour-vs-poured distinction 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 given on when to use this tool versus alternatives such as pour_modify, poured_delete, or region_delete. There are no prerequisites, no mention of what scenario calls for deleting a pour border, and no reference to the get_all/get tools that would supply the primitiveIds. The agent must infer usage entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_poured_createB
pcb_PrimitivePoured.create() -> undefined
创建覆铜填充
remarks: 覆铜填充图元不支持新建,本接口调用将不会有任何效果
returns: undefined
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 discloses the single most critical behavioral fact: the call is a no-op and returns undefined. That is unusually candid transparency. It doesn't cover side effects or prerequisites, but for a tool whose defining behavior is 'does nothing,' the essential disclosure is present.
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 the method signature, purpose, and the key remark about the call having no effect. Minor redundancy exists: the return type 'undefined' appears both in the signature ('-> undefined') and in the 'returns' line, which costs a 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?
For a low-complexity no-op tool with no output schema, the description covers the essential facts: what it nominally does, that it has no effect, and what it returns. The main gap is that it doesn't route the agent to the working sibling eda_pcb_primitive_pour_create or explain why this ineffective API is exposed, which would complete the picture.
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 100%, so the schema already documents the two parameters (args array and windowId). The description adds no parameter-level semantics, which is acceptable given the baseline of 3 for high schema coverage; parameters are also largely irrelevant for a no-op 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 states a specific verb and resource ('创建覆铜填充' / create copper pour fill) and names the API method. However, the actual purpose is ambiguous because the remark reveals the call is a no-op, and it doesn't differentiate from the closely named sibling eda_pcb_primitive_pour_create, which is the tool that presumably does the actual creation.
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 remark '覆铜填充图元不支持新建,本接口调用将不会有任何效果' provides implicit usage guidance by warning that the call has no effect, so an agent learns not to rely on it for creation. However, it doesn't explicitly name the working alternative (eda_pcb_primitive_pour_create) or state when, if ever, this tool should be invoked.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_poured_deleteB
pcb_PrimitivePoured.delete(primitiveIds: string | IPCB_PrimitivePoured | Array | Array) -> Promise 删除覆铜填充 returns: 删除操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, but it mostly restates the delete operation and the boolean return value. It does not disclose whether the deletion is permanent, whether related pour objects are affected, or what happens when invalid primitive IDs are passed.
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: a signature line, a short Chinese action phrase, and a return-value note. There is no fluff or repeated information, and every line contributes useful 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?
For a delete tool in a large family of primitive tools, the description is too thin to fully orient an agent. It omits how to choose between the pour and poured variants, how to source the primitive IDs, and any operational caveats about the active window. The parameter types and return value are present, but the surrounding 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?
The method signature adds real value beyond the generic args array by naming the first parameter 'primitiveIds' and listing its accepted forms: string, IPCB_PrimitivePoured, or arrays of either. The schema only describes args as a generic JSON array, so this helps an agent construct the call. It does not explain the shape of IPCB_PrimitivePoured or the windowId role, but the core parameter is meaningfully 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 clearly states that this tool deletes copper pour fill primitives via pcb_PrimitivePoured.delete, giving a specific verb and resource. It does not, however, distinguish this tool from the closely named sibling eda_pcb_primitive_pour_delete, so it stops short of full 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?
There is no guidance about when to use this tool versus related delete tools such as eda_pcb_primitive_pour_delete, eda_pcb_primitive_region_delete, or eda_pcb_primitive_fill_delete. It also does not mention prerequisites like obtaining primitiveIds from a get_all call or selecting the correct EDA window.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_poured_getB
pcb_PrimitivePoured.get(primitiveIds: string) -> Promise<IPCB_PrimitivePoured | undefined>
获取覆铜填充
returns: 覆铜填充图元对象,undefined 表示获取失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It discloses that undefined indicates failure, which is useful. However, it doesn't state that the operation is read-only, what happens on invalid IDs, or any side effects. It provides minimal behavioral context beyond the return-on-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?
Extremely concise: signature, short Chinese description, and return type. No wasted words. It front-loads the essential information without 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?
No output schema, so the description must explain the return. It says it returns a copper pour fill primitive object or undefined. However, it doesn't describe the object structure, how to interpret it, or the role of windowId. Given the complexity of the return type and the parameter, more context would be expected for an agent to use it effectively.
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 includes the signature with primitiveIds: string, clarifying the first argument. The schema only has generic args and windowId, so this adds meaning. Yet it doesn't explain what primitiveIds represents (e.g., a single UUID, comma-separated list) or the format of the args array. Coverage is improved but not fully compensated.
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 copper pour fill primitive (获取覆铜填充), with the method signature pcb_PrimitivePoured.get. It's distinct from the 'get_all' siblings by implying a single fetch via primitiveIds. However, it doesn't explicitly contrast with eda_pcb_primitive_pour_get or other variants.
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 on when to use this tool versus alternatives like get_all or pour_get. It doesn't mention prerequisites, whether IDs are required, or the context in which it's appropriate. The description is purely descriptive of the action, not its use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_poured_get_allC
pcb_PrimitivePoured.getAll() -> Promise<Array> 获取所有覆铜填充图元 returns: 覆铜填充图元对象数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 states the return type and does not mention read-only nature, side effects, permissions, or any operational details. The name implies a read operation, but the description adds minimal 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 concise (two short lines) but lacks structure and front-loading of key information. It starts with the API signature, then Chinese description, then return type, which is acceptable but not optimally organized for an English agent. It is not verbose but is under-specified.
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 output schema and a simple get-all operation, the description does not explain what the returned array objects contain or the context of when this is needed. It does not clarify the distinction between 'poured' and 'pour' primitives, leaving a completeness gap for an agent navigating many sibling 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 100%, so both 'args' and 'windowId' have descriptions. The tool description adds no specific meaning about these parameters for this tool; the 'args' description is a generic wrapper. Per the baseline rule, since schema coverage is high, a score of 3 is appropriate.
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 (get) and resource (all poured copper fill primitives) via '获取所有覆铜填充图元', which is clear. It distinguishes from the sibling 'eda_pcb_primitive_pour_get_all' through the word 'poured' but does not explicitly differentiate in text, so it lacks explicit sibling 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?
The description provides no guidance on when to use this tool versus alternatives like 'eda_pcb_primitive_pour_get_all' or other get_all tools. It does not mention any exclusions or selection criteria, 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.
eda_pcb_primitive_poured_get_all_primitive_idC
pcb_PrimitivePoured.getAllPrimitiveId() -> Promise<Array> 获取所有覆铜填充的图元 ID returns: 覆铜填充的图元 ID 数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 states that it gets all primitive IDs, but does not explicitly say it is a read-only operation, whether it requires an active PCB document, or any other behavioral context. No side effects or constraints are mentioned.
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 and essentially restates the function signature in prose. It provides no additional structure or context beyond a one-line Chinese translation and the return type. This is under-specification rather than conciseness, as it omits important usage and behavioral 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?
For a simple getter, the description might seem sufficient, but it lacks clarification on when to use this tool versus the sibling pour getter, and does not describe the return format beyond the signature's 'Array<string>'. It also does not mention any prerequisites like an open PCB document or whether the list is scoped to a window. This is incomplete for an agent that must decide 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?
Schema description coverage is 100%, with both parameters (args array and windowId) having descriptions. The tool description adds no additional parameter information, so the baseline of 3 is appropriate since the schema already documents the parameters adequately.
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 '获取所有覆铜填充的图元 ID' (get all copper pour fill primitive IDs), which is a specific verb (get) and resource (copper pour fill primitives). The tool name reinforces this. However, it does not explicitly differentiate from the sibling eda_pcb_primitive_pour_get_all_primitive_id, though the term 'poured' vs 'pour' implies a distinct primitive type.
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 when this is appropriate (e.g., when working with poured copper fills) or when to use a different getter. The description does not even note that it returns only IDs, not full objects, which is a common use-case distinction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_poured_modifyA
pcb_PrimitivePoured.modify() -> undefined
修改覆铜填充
remarks: 覆铜填充图元不支持修改,本接口调用将不会有任何效果
returns: undefined
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 clearly discloses the most important behavioral trait: poured copper fill primitives do not support modification and this call will have no effect. It also states the return value is undefined, preventing false 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?
The description is brief and information-dense, with the API signature, Chinese purpose, and critical no-op caveat each contributing. The formatting is telegraphic but free of 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 fully covers the no-op behavior and return value, which is the most critical fact for an agent. However, it lacks an equivalent alternative, any rationale for the stub, or further parameter detail, leaving an agent without guidance on how to actually accomplish a modification.
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 only generically describes args and windowId, but the description's signature `pcb_PrimitivePoured.modify()` hints that no method-specific parameters are needed. The no-effect remark further reduces the importance of args. This adds modest meaning beyond the generic schema, though the official argument order is still not 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 the target operation ('modify' + poured copper fill primitive) and exposes the underlying API signature. The remark clarifies that the operation is effectively a no-op. It is reasonably specific, though it does not explicitly differentiate itself from sibling eda_pcb_primitive_pour_modify or explain why this separate modify tool exists.
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 remark '本接口调用将不会有任何效果' explicitly warns agents that this call has no effect, which is a useful negative usage guideline. However, it offers no alternative path (such as delete/recreate or pour_modify) and no positive scenario for when this tool should be selected.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_pour_getB
pcb_PrimitivePour.get(primitiveIds: string) -> Promise<IPCB_PrimitivePour | undefined>
获取覆铜边框
returns: 覆铜边框图元对象,undefined 表示获取失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description carries the full burden of behavioral disclosure. It does state that the return type is IPCB_PrimitivePour | undefined and that undefined indicates failure, which is a useful behavioral detail. However, it omits other relevant behavior such as whether the operation is read-only (implied but not stated), potential error conditions beyond undefined, or any window/context 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, with the signature front-loaded and a brief Chinese summary. It avoids unnecessary verbosity and gets to the point. However, it is so terse that it borders on under-specification, though it still earns a 4 for 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?
With no output schema, the description should explain the return object's structure, but it only mentions the type name and failure case. The parameter semantics are unclear, and there is no guidance on when to use this getter versus the get_all variant. For a tool that returns a complex primitive object, the description is incomplete and leaves the agent without enough 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 100% description coverage but only describes the generic args array and windowId generically. The description adds the method signature, which names the parameter primitiveIds as a string and shows its position. This provides some semantic value, but it does not explain the format of primitiveIds (e.g., a single ID vs. a comma-separated list) or how it relates to the return value, leaving ambiguity for the agent.
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 (获取覆铜边框, get copper pour border) and includes the method signature with return type, making it clear this is a getter for a single pour primitive. However, it does not explicitly distinguish itself from sibling getters like eda_pcb_primitive_pour_get_all, relying on the name and signature to imply single-object retrieval.
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 eda_pcb_primitive_pour_get_all or get_all_primitive_id. There is no mention of prerequisites, such as needing a valid primitive ID, nor any exclusions. The description provides no context to help the agent choose between the many sibling getters.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_pour_get_allB
pcb_PrimitivePour.getAll(net?: string, layer?: TPCB_LayersOfCopper, primitiveLock?: boolean) -> Promise<Array> 获取所有覆铜边框图元 returns: 覆铜边框图元对象数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the behavioral burden. It conveys that this is a read-only retrieval operation and states the return type. However, it does not disclose scope (active document/window), behavior when no filters are supplied, or error/side-effect characteristics. For a getter, the gaps are moderate rather than severe.
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 the API signature, giving immediate access to the operation and parameter shape. There is minor redundancy: the signature's Promise return type is repeated in the 'returns' line, but overall the description is 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?
For a simple getter with no output schema, the description states the return type and the object being retrieved, which is minimally sufficient. Missing parameter semantics, explicit scope, and sibling differentiation leave it short of complete, especially given the large family of primitive get_all 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 input schema only describes a generic args array and windowId, so the description adds real value by supplying the actual parameter names, order, types, and optionality: net, layer, primitiveLock. It does not explain the meaning of each parameter or how primitiveLock behaves, so it is helpful but not exhaustive.
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 operation: getAll, and the resource: copper pour outline primitives (覆铜边框图元 / PrimitivePour). The verb+resource combination is specific, and the return type is stated. However, it does not differentiate itself from sibling tools like eda_pcb_primitive_poured_get_all or the single-get variant eda_pcb_primitive_pour_get, so it is clear but not fully sibling-distinguishing.
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 about when to use this tool versus alternatives. The signature lists optional filters, but the description never explains when an agent should call this getter instead of a single-get or another primitive get_all tool. No explicit when/when-not/exclusion logic is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_pour_get_all_primitive_idA
pcb_PrimitivePour.getAllPrimitiveId(net?: string, layer?: TPCB_LayersOfCopper, primitiveLock?: boolean) -> Promise<Array> 获取所有覆铜边框的图元 ID returns: 覆铜边框的图元 ID 数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility. It implies a read-only getter and returns an array of IDs, but does not explicitly state there are no side effects or mention any dependencies like window context. The function signature adds some clarity, but no deeper behavioral disclosure (e.g., performance, locking, or ordering) is given. For a simple getter this is adequate 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 concise, including the signature and a brief return type note in just a few lines. It is front-loaded with the function signature, which is useful for agents. No unnecessary 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?
The tool is a straightforward getter with three optional parameters. The description provides the signature and return type, but omits parameter semantics and any context on how the returned IDs might be used (e.g., with other pour operations). Given the simplicity, it is mostly complete, but the missing parameter explanations leave a gap for an agent deciding how to construct arguments.
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 the function signature with parameter names and types (net?, layer?, primitiveLock?), which goes beyond the generic args array in the schema. However, it does not explain the meaning or effect of each parameter (e.g., what net filters, what layer options exist, what primitiveLock does). The schema only documents the wrapper fields, so the description partially compensates but lacks semantic depth.
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 explicitly states it gets all primitive IDs for copper pour (覆铜边框). The verb 'get' and resource 'all primitive IDs' are specific, and the primitive type (pour) distinguishes it from sibling tools like polyline, poured, and region. The name and description together 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?
No explicit guidance on when to use this tool versus alternatives, but the name clearly targets pour primitives. The description does not mention filtering or exclusions (e.g., 'use this when you need IDs for all pours, not for other types'). It relies on the agent inferring from the primitive-type prefix, which is acceptable but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_pour_modifyB
pcb_PrimitivePour.modify(primitiveId: string | IPCB_PrimitivePour, property: { net?: string; layer?: TPCB_LayersOfCopper; complexPolygon?: IPCB_Polygon; pourFillMethod?: EPCB_PrimitivePourFillMethod; preserveSilos?: boolean; pourName?: string; pourPriority?: number; lineWidth?: number; primitiveLock?: boolean }) -> Promise<IPCB_PrimitivePour | undefined>
修改覆铜边框
returns: 覆铜边框图元对象,undefined 表示修改失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 mentions that undefined indicates modification failure, but does not disclose side effects, whether the primitive must exist, whether copper regions are rebuilt, or any destructive implications. For a mutation tool 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 concise but not well-structured: it leads with a lengthy function signature, then a one-line Chinese description, then a returns note. The signature is informative but cluttered. The human-readable part is minimal. It's efficient but could be better organized with a clear action statement before the signature.
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?
No output schema, no annotations, and a complex modify operation with many properties. The description does not explain the meaning of properties like pourFillMethod or preserveSilos, nor how to obtain primitiveId, nor when to use modify vs rebuild_copper_regions. For an agent to call this correctly, important 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?
The input schema is generic (args array, windowId) and provides no parameter documentation. The description compensates fully by listing all parameters (net, layer, complexPolygon, pourFillMethod, preserveSilos, pourName, pourPriority, lineWidth, primitiveLock) with their types in the function signature. This adds rich meaning beyond the schema, making parameter semantics excellent.
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 'modify' and the resource 'copper pour' (覆铜边框), and includes a full function signature listing all modifiable properties. It clearly distinguishes from sibling pour tools (create/get/delete) by the action verb. However, it lacks elaboration on what typical modifications are used for, so it's clear but not maximally descriptive.
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 pour_create, pour_get, or rebuild_copper_regions. There are no prerequisites, no context about required state (e.g., existing primitive, active document), and no exclusions. The description is purely functional with zero usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_pour_rebuild_copper_regionsC
pcb_PrimitivePour.rebuildCopperRegions(primitiveIds?: Array) -> Promise<Array> 重建覆铜区域 returns: 覆铜填充图元数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral disclosure burden. It reveals the return type but says nothing about side effects, whether existing copper regions are replaced or modified, whether the operation is destructive, or what prerequisites apply. 'Rebuild' implies mutation, but the consequences are not 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 compact: a signature line, a short Chinese purpose statement, and a one-line return explanation. It contains no filler, though the signature and Chinese text partially duplicate the same 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 absence of annotations, an output schema, and meaningful parameter documentation, the description is not complete enough for reliable invocation. It lacks usage context, side-effect disclosure, and relationship to the many sibling pour and poured primitive tools, even though the signature and return type provide a minimal starting point.
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 signature adds the actual parameter name 'primitiveIds' and its optional Array<string> type, which the generic schema's 'args' array does not convey. However, it does not explain what these IDs refer to, how they map into the args wrapper, or the effect of omitting them, so it only partially compensates for the schema's lack of parameter-level detail.
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, 'rebuildCopperRegions' / '重建覆铜区域', and names the resource (copper regions) and the return value (array of poured primitives). It is clear about the operation but does not differentiate it from sibling pour-related tools like pour_create, pour_modify, or poured_create.
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 call this tool, what conditions require rebuilding copper regions, or how it relates to create/modify operations on pour primitives. No alternatives or exclusion criteria are mentioned, 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.
eda_pcb_primitive_region_createB
pcb_PrimitiveRegion.create(layer: TPCB_LayersOfRegion, complexPolygon: IPCB_Polygon, ruleType?: Array, regionName?: string, lineWidth?: number, primitiveLock?: boolean) -> Promise<IPCB_PrimitiveRegion | undefined> 创建区域 returns: 区域图元对象
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 mentions the return type 'Promise<IPCB_PrimitiveRegion | undefined>' and 'returns: 区域图元对象', without stating side effects (e.g., document mutation), failure conditions, prerequisites like an active PCB document, or behavior on invalid input. For a creation/write tool, 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 compact and front-loaded with the technical signature, followed by a short Chinese description and return note. It contains no fluff and is efficient, though a natural-language explanation could improve readability.
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 six parameters and no output schema, the description is incomplete. It omits critical context such as how to construct a complexPolygon (likely via sibling math tools), whether a PCB document must be active, and what causes undefined to be returned. An agent would need to inspect related tools or documentation to use this 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 only describes 'args' as an ordered JSON array, while the description expands this by listing concrete parameters (layer, complexPolygon, ruleType?, regionName?, lineWidth?, primitiveLock?) with types and optionality. This adds meaning beyond the schema, though it does not explain the semantics of each parameter (e.g., what values layer accepts).
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 creates a PCB region, both via the English signature 'pcb_PrimitiveRegion.create' and the Chinese '创建区域' (create region). It distinguishes from sibling tools by specifying the primitive type 'region' and aligns with the tool name 'eda_pcb_primitive_region_create'.
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 region_modify, region_delete, or other primitive creation tools. The description only gives the function signature and a brief return note, without any 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.
eda_pcb_primitive_region_deleteC
pcb_PrimitiveRegion.delete(primitiveIds: string | IPCB_PrimitiveRegion | Array | Array) -> Promise 删除区域 returns: 删除操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 that the operation is a delete and returns a boolean, which conveys basic intent, but it does not disclose side effects (permanence, impact on connections), error conditions, or whether it is asynchronous beyond the Promise signature. Given it is a destructive mutation, this is a significant omission.
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 (two lines, one English signature and one Chinese phrase). It is efficient but arguably under-specified. The signature is useful and front-loaded, but the lack of any explanatory context makes it feel incomplete rather than appropriately concise. It is not a tautology, but it does not fully 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?
The tool takes a complex parameter (primitiveIds accepting multiple types) and operates on a PCB document, yet the description provides no information on how to obtain primitive IDs, whether the region must be selected, what happens on failure, or how to handle the response. No output schema exists, and the return type is only briefly noted. An agent would likely need external documentation 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 description adds substantial meaning beyond the schema's generic 'args' array by providing the exact signature: 'primitiveIds: string | IPCB_PrimitiveRegion | Array<string> | Array<IPCB_PrimitiveRegion>'. This tells an agent the accepted parameter types and structure, which the schema's empty items definition does not. It omits mention of the windowId parameter, but that is covered 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 states a specific action — '删除区域' (delete region) — using a clear verb and resource. The name itself mirrors the action Tickets and distinguishes it from sibling create/get/modify tools for regions. However, the description is minimal and doesn't describe what a region is in this context, so it stops 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, what prerequisites must be satisfied (e.g., an open PCB document, existing region primitives), or when alternatives like eda_pcb_primitive_region_modify or other primitive delete tools would be more appropriate. The description entirely lacks usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_region_getB
pcb_PrimitiveRegion.get(primitiveIds: string) -> Promise<IPCB_PrimitiveRegion | undefined>
获取区域
returns: 区域图元对象,undefined 表示获取失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 that undefined indicates failure, which is a useful behavioral trait. However, it does not mention whether the operation is read-only, has side effects, or requires a specific PCB document to be active. Minimal disclosure beyond the return/failure behavior.
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 concise: a signature, a one-line Chinese phrase, and a return type explanation. It is front-loaded with the signature and has no unnecessary fluff, though the mixed-language content might reduce accessibility slightly.
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 getter tool, the description adequately explains the return type and failure behavior. However, it lacks details on how to specify primitiveIds (e.g., format, multiple IDs) and any required context like an active PCB document. With no output schema, the description covers the essentials but could be more explicit.
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 already documents both args and windowId (100% coverage). The description adds the signature with primitiveIds: string, but does not clarify how this maps to the args array (e.g., whether it is a single ID or comma-separated list). Thus it adds little beyond the schema, fitting the baseline of 3.
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 region primitive (获取区域) and includes a signature showing it takes a primitiveIds string and returns a region primitive object or undefined. This distinguishes it from sibling tools like get_all and get_all_primitive_id, though it does not explicitly say it fetches a single region by ID.
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 eda_pcb_primitive_region_get_all or eda_pcb_primitive_region_get_all_primitive_id. The description gives no context on selection criteria or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_region_get_allB
pcb_PrimitiveRegion.getAll(layer?: TPCB_LayersOfRegion, ruleType?: Array, primitiveLock?: boolean) -> Promise<Array> 获取所有区域 returns: 区域图元对象数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 states the signature and return type; it does not disclose whether the operation is read-only, whether a specific window/document context is required, or what happens with missing optional parameters. Since it is a getter, some safety is implied, but behavior beyond the return type is underexplained.
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, front-loading the function signature and including the return type. It avoids unnecessary fluff. A minor deduction for bilingual redundancy (English signature and Chinese summary repeating the same info), but overall it is 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?
For a get-all tool with optional parameters and no output schema, the description provides the return type (array of region primitive objects) and signature, which is a minimal viable amount. However, it does not mention the window context (though windowId is in the schema) or any caveats like empty results or performance. It is adequate but lacks depth for a new 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 schema only provides a generic 'args' array and 'windowId' string. The description adds the actual function signature with parameter names and types (layer, ruleType, primitiveLock), which gives meaning to the generic args. However, it does not explain the semantics of each parameter (e.g., what layer filters), so it is partially helpful but not fully 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 retrieves all PCB primitive regions (获取所有区域) and returns an array of region primitive objects. The verb 'getAll' plus the resource 'region' makes the purpose clear, and it distinguishes from sibling tools like eda_pcb_primitive_region_get (singular) and get_all_primitive_id (returns IDs only) by the explicit 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 guidance is given about when to use this tool versus the many sibling get_all tools (e.g., for specific primitive types or get_all_primitive_id). It does not explain filtering scenarios or when the optional parameters are needed. The agent must infer usage from the signature alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_region_get_all_primitive_idC
pcb_PrimitiveRegion.getAllPrimitiveId(layer?: TPCB_LayersOfRegion, ruleType?: Array, primitiveLock?: boolean) -> Promise<Array> 获取所有区域的图元 ID returns: 区域的图元 ID 数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 only states the action and return type, but does not mention whether it is read-only, any side effects, permissions required, or what the returned IDs represent in detail. No caveats about layer or rule filtering behavior are given.
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, comprising a signature line, a one-sentence Chinese description, and a return type note. It avoids verbosity but is not well-structured; it is a compact block rather than logically sectioned. Still, it is efficient with no redundant 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 large set of sibling tools and no output schema, the description is insufficient. It does not explain what the returned primitive IDs refer to, how they relate to layers and rules, or how to invoke the tool correctly (e.g., how to pass parameters through the 'args' array). An agent would likely struggle to choose and call this tool properly without additional 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 includes the full method signature with parameter names and types (layer, ruleType, primitiveLock), which adds information beyond the generic 'args' array in the schema. However, it does not explain the meaning, defaults, or allowed values of these parameters, leaving the agent to infer. The schema itself only describes wrapper fields (args, windowId), so the description provides the only parameter names but not 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 states '获取所有区域的图元 ID' (get primitive IDs of all regions), which names the verb (get) and resource (region primitives). It is clear enough to know it retrieves IDs, but it does not explicitly distinguish from sibling tools like eda_pcb_primitive_region_get_all, which likely returns full region objects. The ambiguity of whether it returns all region primitives' IDs or all primitive IDs within regions is not resolved.
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 eda_pcb_primitive_region_get_all or get_all_primitive_id tools for other primitive types. There is no mention of exclusions 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.
eda_pcb_primitive_region_modifyC
pcb_PrimitiveRegion.modify(primitiveId: string | IPCB_PrimitiveRegion, property: { layer?: TPCB_LayersOfRegion; complexPolygon?: IPCB_Polygon; ruleType?: Array; regionName?: string; lineWidth?: number; primitiveLock?: boolean }) -> Promise<IPCB_PrimitiveRegion | undefined>
修改区域
returns: 区域图元对象,undefined 表示修改失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior fully. It only states the return type (region primitive object or undefined on failure) but does not mention side effects (e.g., it modifies the PCB design), required window context, or any destructive nature. The signature implies a mutation but lacks explicit disclosure of consequences 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 compact and front-loads the signature, followed by a short Chinese phrase and return info. It avoids redundancy and is appropriately sized, though the technical signature may be less readable than natural language. The structure is logical 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?
Given the tool's complexity (many properties) and the lack of an output schema or detailed annotations, the description is incomplete. It does not explain how to obtain the required primitiveId, what the windowId parameter is for, or what the returned object contains beyond a vague 'region primitive object'. It also omits any note about required context (e.g., active PCB document).
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 TypeScript signature lists all parameters (primitiveId and property with its fields) with types, providing essential structural info that the wrapper schema (which only describes args as an array) lacks. However, it does not explain the meaning or typical usage of each property (e.g., what layer, complexPolygon, ruleType do), so semantic value is 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 modifies a PCB region primitive via 'pcb_PrimitiveRegion.modify' and '修改区域' (modify region). The verb and resource are specific, and the signature details the modifiable properties. However, it does not explicitly differentiate from sibling tools like create/delete/get, though the name and action make the intent clear.
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 (e.g., obtaining a primitiveId via get functions), and no conditions for using it. The description does not mention when not to use it or suggest alternative tools, leaving the agent without routing information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_string_createD
pcb_PrimitiveString.create(layer: TPCB_LayersOfImage, x: number, y: number, text: string, fontFamily: string, fontSize: number, lineWidth: number, alignMode: EPCB_PrimitiveStringAlignMode, rotation: number, reverse: boolean, expansion: number, mirror: boolean, primitiveLock: boolean) -> Promise<IPCB_PrimitiveString | undefined> 创建文本 returns: 文本图元对象
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 only states the signature and return type (Promise<IPCB_PrimitiveString | undefined>), implying it may return undefined, but does not explain side effects, error conditions, or whether it modifies the current document. There is no mention of required permissions, layer constraints, or what happens if parameters are invalid. This is a significant gap 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 line of code signature followed by two short Chinese phrases. While extremely concise, it is not structured as helpful prose; it is a raw signature dump that an agent must parse. There is no front-loading of intent or explanation. It is under-specified rather than concisely informative, so it does not earn high marks for 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?
For a tool with 13 parameters, no output schema, and no annotations, the description is woefully incomplete. It fails to explain return behavior beyond the type, does not describe what the created primitive looks like, and offers no guidance on parameter constraints or prerequisites. An agent would need to consult external documentation or guess at many details. The description is inadequate 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?
The input schema only defines an 'args' array with a generic description, leaving all parameter semantics to the description. The description includes the full function signature with parameter names and types (layer, x, y, text, fontFamily, etc.), which provides basic meaning. However, it does not explain units (e.g., for fontSize or rotation), allowed values, or the meaning of fields like alignMode or reverse. The agent gets names and types but no detailed guidance on how to populate them 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 includes the function signature 'pcb_PrimitiveString.create(...)' and a Chinese phrase '创建文本' (create text), which clearly states the tool creates a text primitive on a PCB. However, it lacks a natural-language explanation of the tool's purpose or how it fits into the broader primitive family. It is distinguishable from siblings like delete/get/modify, but the description is just a signature dump, not a proper explanation.
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. It does not mention prerequisites (e.g., an active PCB document), nor does it exclude cases like schematic text (which would use eda_sch_primitive_text_create). The agent receives no contextual help in selecting this tool over its many siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_string_deleteC
pcb_PrimitiveString.delete(primitiveIds: string | IPCB_PrimitiveString | Array | Array) -> Promise 删除文本 returns: 删除操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden. It discloses the return type (Promise<boolean>) and that the return indicates delete success, but it does not mention destructive side effects, undo behavior, atomicity when passing multiple IDs, or any effect on the document.
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: a signature line and two short phrases ('删除文本' and the return note). No unnecessary words are present, and the core action is front-loaded, though the brevity limits overall informativeness.
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 and no output schema, this description is too thin. It does not state whether the operation requires a particular window/document, what happens on failure, how to obtain primitive IDs, or whether the deletion is reversible. The return type is mentioned, but most contextual details are 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 input schema only describes generic wrapper parameters (args array, windowId), providing no domain-specific meaning. The description contributes the actual signature with primitiveIds types (string, IPCB_PrimitiveString, or arrays), but it stops short of explaining what primitive IDs are or how to discover them.
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 ('删除文本' = delete text) and identifies the resource as a PrimitiveString via the signature. This is specific enough to distinguish from other primitive delete tools, though it relies partly on the name to clarify the PCB 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 about when to use this tool versus the many sibling delete tools (arc, line, component, pad, etc.) or what prerequisites must hold, such as needing an active PCB document or how to obtain valid primitive IDs. The agent is left 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.
eda_pcb_primitive_string_getB
pcb_PrimitiveString.get(primitiveIds: string) -> Promise<IPCB_PrimitiveString | undefined>
获取文本
returns: 文本图元对象,undefined 表示获取失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 does add meaningful behavior: the return type is Promise<IPCB_PrimitiveString | undefined> and undefined indicates failure. However, it does not explicitly state that this is a read-only operation with no side effects or describe any other failure/error behavior.
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 the function signature, followed by a concise summary and failure semantics. Every piece of text earns its place, and there is no filler or redundant explanatory prose.
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 getter with no output schema and no annotations, the description provides the essential return contract and failure signal. However, it omits practical context such as how to obtain primitiveIds, whether the first item in args maps directly to primitiveIds, and what fields the returned object contains. It is minimally viable but leaves meaningful 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 100% at the wrapper level, but it only generically describes args as an array in official signature order. The description adds the actual signature with primitiveIds: string, which gives more meaning than the schema alone. Still, it does not explain the expected format, cardinality, or relationship between primitiveIds and the args array.
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 a get operation for PCB text primitives: 'pcb_PrimitiveString.get(primitiveIds: string)' and '获取文本' (get text). The resource type is unambiguous and distinguishable from sibling create/delete/modify/get_all operations, though it relies partly on the function signature rather than a plain-language 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?
No guidance is given on when to use this tool versus the closely related siblings such as eda_pcb_primitive_string_get_all or eda_pcb_primitive_string_get_all_primitive_id. There is no mention of prerequisites, target document requirements, or conditions that would make this tool preferable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_string_get_allC
pcb_PrimitiveString.getAll(layer?: TPCB_LayersOfImage, primitiveLock?: boolean) -> Promise<Array> 获取所有文本 returns: 文本图元对象数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 the tool returns a Promise of an array of IPCB_PrimitiveString, but does not state whether the operation is read-only, how layer or primitiveLock affect the results, or any side effects. This is minimal behavioral 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 very brief, consisting of a signature and a short Chinese description. It is front-loaded with the key information (function name and purpose), but lacks structured explanation of parameters or return details. Still, it is concise 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 no output schema and no annotations, so the description must provide complete context. It returns a generic array of IPCB_PrimitiveString without detailing the object structure, and the optional parameters are unexplained. An agent would need additional documentation 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 description lists the parameters layer and primitiveLock with type annotations in the signature, but does not explain their meaning or default behavior. The input schema's items field is empty ({}), providing no additional semantics, so the description adds only parameter names, not 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 retrieves all text primitives ('获取所有文本'), and the function signature 'pcb_PrimitiveString.getAll' aligns with the tool name. It distinguishes itself from sibling get_all tools through the 'string' resource type, though it doesn't explicitly contrast it with 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?
There is no guidance on when to use this tool versus alternatives. The description only provides a signature and return type, with no mention of filtering conditions, layer usage, or relationship to other primitive get_all functions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_string_get_all_primitive_idB
pcb_PrimitiveString.getAllPrimitiveId(layer?: TPCB_LayersOfImage, primitiveLock?: boolean) -> Promise<Array> 获取所有文本的图元 ID returns: 文本的图元 ID 数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 does not mention side effects, permissions, read-only status, or the meaning/effect of the layer and primitiveLock parameters. The only behavioral information is the return type, which is more output semantics than behavior.
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, with the signature and purpose in a few lines. It is front-loaded with the operation name and purpose. There is slight redundancy between the Chinese purpose line and the returns line, but overall it is efficient 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?
The tool is simple and the return type is stated, but the description omits explanation of the optional parameters' semantics and does not clarify the relationship to the get_all variant. Given the large sibling family, a bit more context would help, but it is minimally adequate for calling the 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 schema only provides a generic args array and windowId, while the description's signature adds parameter names and types (layer?: TPCB_LayersOfImage, primitiveLock?: boolean). However, it does not explain what these parameters do or how they affect results, so it adds minimal meaning beyond the generic schema coverage, staying at the baseline.
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 '获取所有文本的图元 ID' (Get all text primitive IDs) and provides a signature returning Promise<Array<string>>, which specifies the verb (get), resource (all text/string primitives), and distinguishes it from sibling get_all_primitive_id tools for other primitive types. An agent can immediately identify what this 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?
There is no guidance on when to use this tool versus the many sibling get_all_primitive_id tools or the alternative eda_pcb_primitive_string_get_all. The description only states the operation without any context, use cases, or exclusions, which is a notable gap given the large tool family.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_string_modifyC
pcb_PrimitiveString.modify(primitiveId: string | IPCB_PrimitiveString, property: { layer?: TPCB_LayersOfImage; x?: number; y?: number; text?: string; fontFamily?: string; fontSize?: number; lineWidth?: number; alignMode?: EPCB_PrimitiveStringAlignMode; rotation?: number; reverse?: boolean; expansion?: number; mirror?: boolean; primitiveLock?: boolean }) -> Promise<IPCB_PrimitiveString | undefined> 修改文本 returns: 文本图元对象
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 states that it modifies text and returns the primitive object, but does not disclose side effects (e.g., in-place mutation), error handling for invalid primitive IDs, or whether changes are reversible. For a mutation tool with zero annotation coverage, 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 extremely short, consisting of a code signature and two Chinese fragments. While concise, it is not well-structured for agent consumption: it lacks narrative clarity and front-loaded explanatory prose. The code signature is not a substitute for a human-readable explanation, and the whole thing feels more like a technical stub than a 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?
Given the tool's complexity (many modifiable properties), the absence of an output schema, and no annotations, the description is severely incomplete. It does not specify which properties are required, what defaults apply, how units are interpreted, or what results from omitting fields. An agent cannot reliably construct a valid call without additional 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?
The description includes the full type signature with all property names (layer, x, y, text, etc.) and their types, which adds meaning beyond the generic 'args' array in the schema. However, it does not explain requiredness, units, or allowed values beyond the type names. The schema coverage for the wrapper parameters is high, but the inner object parameters are not described in schema, so the description does provide some value—yet it remains a bare type listing.
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 contains a method signature 'pcb_PrimitiveString.modify(...)' and the phrase '修改文本' (modify text), which clearly indicates the tool modifies an existing PCB text primitive. It is distinguishable from create/delete/get siblings by the modify verb and the primitive string resource. However, the description is terse and lacks a prose explanation, so it does not fully elaborate on the 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?
There is no guidance on when to use this tool versus alternatives such as create or delete, no prerequisites, and no indication of required vs optional parameters. The description does not mention any context that would help an agent decide to invoke this modify operation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_via_createB
pcb_PrimitiveVia.create(net: string, x: number, y: number, holeDiameter: number, diameter: number, viaType?: EPCB_PrimitiveViaType, designRuleBlindViaName?: string | null, solderMaskExpansion?: IPCB_PrimitiveSolderMaskAndPasteMaskExpansion | null, primitiveLock?: boolean) -> Promise<IPCB_PrimitiveVia | undefined> 创建过孔 returns: 过孔图元对象
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 states the return type (Promise<IPCB_PrimitiveVia | undefined>) and that it returns a via primitive object, but does not explain side effects (e.g., creating an object on the current board), potential failure conditions, or any constraints like coordinate units. The signature is technical but lacks practical 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 compact: a function signature, a one-line Chinese action phrase, and a return type. It front-loads the signature and keeps explanations minimal. No filler, but it could be slightly more structured (e.g., separating signature from human-readable summary). Still, it is appropriately sized 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?
For a tool with no annotations and no output schema, the description is incomplete. It lacks explanation of parameter meanings, required preliminaries (e.g., having a PCB document open), units for coordinates, and behavior when creation fails (returns undefined). The generic 'args' array format is described in the schema, but the description does not elaborate on how to pass parameters correctly beyond the signature. An agent would struggle to invoke this correctly without additional 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% for individual parameters (the schema only describes an 'args' array), so the description must compensate. It does: it lists all parameter names, types, and optionality (net, x, y, holeDiameter, diameter, viaType, designRuleBlindViaName, solderMaskExpansion, primitiveLock). The names are mostly self-explanatory, though it does not explain semantics like the difference between holeDiameter and diameter or coordinate units, so it adds substantial value but not full clarity.
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 name 'eda_pcb_primitive_via_create' and description state it creates a via primitive in the PCB, with the Chinese phrase '创建过孔' confirming the action. This distinguishes it from sibling create tools for other primitives (e.g., pad, line, region). However, it relies on the raw function signature and does not explicitly contrast with the via_modify or via_get tools, so it is clear but not fully differentiated from all 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?
There is no guidance on when to use this tool versus other PCB primitive creation tools, nor any mention of prerequisites like an active PCB document or coordinate system. The description is purely declarative and does not advise on contexts or exclusions, leaving the agent to infer usage solely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_via_deleteB
pcb_PrimitiveVia.delete(primitiveIds: string | IPCB_PrimitiveVia | Array | Array) -> Promise 删除过孔 returns: 删除操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 the return value but does not mention that deletion is destructive/permanent, what happens on invalid IDs, whether connectivity is affected, or what conditions cause a false return. It only restates the mutation implied by 'delete'.
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: a code signature, a one-line Chinese purpose statement, and a return-value note. There is no filler, and the key information is front-loaded in the signature.
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 delete operation, the core invocation detail and return value are present, and the schema covers the wrapper parameters. However, with no annotations and no output schema, an agent still lacks side-effect context, failure behavior, and guidance on selecting this tool over related via operations, so it is 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 only provides a generic 'args' array, so the description's signature adds meaningful parameter detail: the first argument can be a string, an IPCB_PrimitiveVia, or arrays of either. This goes beyond the schema's 100% coverage baseline by explaining the actual accepted types for the delete target.
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 ('delete'), a specific resource ('via', 过孔), and the exact API signature. This clearly distinguishes it from sibling tools like eda_pcb_primitive_via_create, eda_pcb_primitive_via_modify, and eda_pcb_primitive_via_get.
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 about when to use this tool versus the many sibling via operations or other delete tools. No alternatives, exclusions, or prerequisites are mentioned; the usage context must be inferred entirely from the word 'delete' and the resource name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_via_getB
pcb_PrimitiveVia.get(primitiveIds: string) -> Promise<IPCB_PrimitiveVia | undefined>
获取过孔
returns: 过孔图元对象,undefined 表示获取失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 the operation is a get (read), and `undefined` means failure. However, it does not disclose whether the parameter accepts a single ID or multiple IDs (despite plural name 'primitiveIds'), what happens on invalid ID, whether it operates on the current active window, or any side effects. The description is minimal and leaves key behavioral details unstated.
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: a signature line plus '获取过孔' and a one-line return note. It is not verbose, but it is under-specified. There is no waste, but the brevity means it fails to convey important usage context. This is efficient but incomplete, so a 3 is reasonable.
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 no annotations, no output schema, and the description only states 'get via' plus undefined-as-failure, an agent lacks crucial context: how to format primitiveIds, whether multiple IDs are allowed, whether windowId is required, and what fields the returned object contains. Siblings like via_get_all and via_get_all_primitive_id clarify the family, but the description alone is insufficient for a correct call in all 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?
Schema coverage is 100%, meaning the schema documents the `args` array and `windowId` parameters. The description mentions the signature `pcb_PrimitiveVia.get(primitiveIds: string)` and return type, which adds a bit of meaning beyond the schema's generic 'JSON参数数组'. However, it doesn't explain the format of primitiveIds (e.g., JSON string, comma-separated list, single ID vs array). Baseline 3 is appropriate since the schema does most of the work, but 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 states a specific verb ('get'/'获取') and resource ('过孔'/'via' primitive) and includes the function signature with return type. The name eda_pcb_primitive_via_get is clear, and the description '获取过孔' (get via) confirms it retrieves a via primitive object by ID. It doesn't explicitly distinguish it from sibling eda_pcb_primitive_via_get_all/get_all_primitive_id, but the singular 'via' and parameter primitiveIds make the distinction reasonably clear.
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 when-to-use or alternative guidance is given. However, the description implies this tool fetches a specific via primitive by ID, and the sibling names (get_all, get_all_primitive_id) suggest alternatives for fetching all. The parameter 'primitiveIds' and the return type `IPCB_PrimitiveVia | undefined` imply use when you have a specific primitive ID. This is implied usage, not explicit, so it earns a 3.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_via_get_allB
pcb_PrimitiveVia.getAll(net?: string, primitiveLock?: boolean) -> Promise<Array> 获取所有过孔 returns: 过孔图元对象数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 states that the tool retrieves all vias and returns an array of IPCB_PrimitiveVia, which is clear for a read-style getter. It does not explain what 'net' or 'primitiveLock' filtering actually does, nor any side-effect/safety implications, but the operation itself is transparent enough for a retrieval call.
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, readable, and front-loads the method signature before the Chinese summary and return type. It avoids unnecessary prose, though the signature and the Chinese line repeat the same 'get all vias' idea.
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 low-complexity getter, the description covers the core operation, parameters, and return type. It lacks explicit filter semantics, windowId behavior, and error/edge-case details, but the schema and simple nature of the tool make the current level adequate 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 input schema only documents 'args' as a JSON array in official signature order, so the method signature in the description adds useful parameter names, types, and optionality (net?: string, primitiveLock?: boolean). However, it does not explain the meaning or filtering behavior of these parameters, and windowId is only covered by 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 states the operation: it gets all vias ('获取所有过孔') and returns via primitive objects. The method signature and return type make the resource and behavior explicit. It does not explicitly contrast with the single-get or ID-only sibling variants, but the name and body are specific enough to avoid major confusion.
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 or when-not-to-use guidance is provided. There is no mention of alternatives such as eda_pcb_primitive_via_get for a single via or eda_pcb_primitive_via_get_all_primitive_id for only IDs, and no condition is given for using the optional net or primitiveLock filters.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_via_get_all_primitive_idB
pcb_PrimitiveVia.getAllPrimitiveId(net?: string, primitiveLock?: boolean) -> Promise<Array> 获取所有过孔图元 ID returns: 过孔的图元 ID 数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It does state that this is a get operation returning a Promise of string IDs and reveals the optional parameters in the signature, but it does not explain what net or primitiveLock actually do or whether locked primitives 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 compact and front-loaded: the signature appears first, followed by a one-line purpose and a one-line return type. No unnecessary prose is present, though the signature and Chinese text partially duplicate each other.
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 read-only getter this is minimally viable: the return type is disclosed and the operation is clearly non-destructive. The main gaps are the semantics of the two optional parameters and the absence of any distinction from other primitive-type ID getters.
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 treats arguments as a generic JSON array, so the description's signature adds the parameter names, types, order, and optionality. However, it does not explain the meaning of net or primitiveLock beyond their names, leaving partial semantic 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 names a specific resource (过孔/via primitives) and a specific action (获取所有...ID/getAllPrimitiveId), so an agent can tell it apart from sibling get_all_primitive_id tools for other primitive types. The Chinese one-liner and the method signature reinforce the same precise meaning.
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 instead of nearby alternatives such as eda_pcb_primitive_via_get, eda_pcb_primitive_via_get_all, or other get_all_primitive_id tools. The intended context is only implied by the name and return type, not explicitly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_primitive_via_modifyA
pcb_PrimitiveVia.modify(primitiveId: string | IPCB_PrimitiveVia, property: { net?: string; x?: number; y?: number; holeDiameter?: number; diameter?: number; viaType?: EPCB_PrimitiveViaType; designRuleBlindViaName?: string | null; solderMaskExpansion?: IPCB_PrimitiveSolderMaskAndPasteMaskExpansion | null; primitiveLock?: boolean }) -> Promise<IPCB_PrimitiveVia | undefined> 修改过孔 returns: 过孔图元对象
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It only states it modifies a via and returns the via object. It does not disclose whether the via must exist, whether properties are overwritten or merged, units for x/y/diameter, or any side effects. For a mutation tool, this is insufficient 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 concise but mixes a code signature with a Chinese phrase and return note. It is not a well-structured natural language description, though it packs all essential information. The structure is functional but not ideal for an agent reading it as 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?
Given there is no output schema, the description explains the return type (Promise<IPCB_PrimitiveVia | undefined>) and states it returns the via object. It also provides the parameter structure via the signature. Missing context like how to obtain a primitiveId or units is not critical since it can be inferred from sibling get 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 description provides the full function signature with parameter names and types, which significantly adds meaning beyond the generic args/windowId schema. It lists all fields of the property object, including types and optionality. However, it does not explain the semantics of each field (e.g., units for coordinates, meaning of viaType), so some gaps remain.
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 as modifying a via (修改过孔) and lists all modifiable properties (net, x, y, holeDiameter, diameter, viaType, designRuleBlindViaName, solderMaskExpansion, primitiveLock). This distinguishes it from other primitive modification tools and states the resource and action 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?
The description does not explicitly state when to use this tool versus alternatives, nor does it mention prerequisites or exclusions. However, the name and sibling tools (create/delete/get) imply it is for modifying an existing via, but there is no guidance on when not to use it or how it relates to other modify tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_ray_tracer_engine_disposeC
pcb_RayTracerEngine.dispose() -> Promise 停止光线追踪引擎 remarks: ADD since EDA v4
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With zero annotations, the description carries the full burden of behavioral disclosure. It states the return type Promise<void> (async) but doesn't explain side effects: whether resources are freed, whether the engine can be re-initialized afterward, what happens to an ongoing render, or whether this is reversible. For a lifecycle-ending operation, this is a meaningful 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 with the signature, purpose, and version remark each on their own line. However, the version note 'ADD since EDA v4' is only marginally useful for an agent selecting a tool, and the purpose statement is minimal. It's terse but not optimally 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?
For a dispose operation with no annotations and no output schema, the description should explain lifecycle implications: what disposing does to rendering state, whether re-initialization is needed, and consequences of calling it mid-render. None of this is present. The description is adequate only at a surface level.
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 100%, so the schema already documents both parameters (args and windowId). The description adds the method signature context which is mildly useful, but the args parameter ('JSON parameter array in official signature order') remains ambiguous without concrete signature details. The description doesn't compensate for the generic args schema beyond what's already present.
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 Chinese phrase '停止光线追踪引擎' (stop the ray tracing engine) combined with the method signature pcb_RayTracerEngine.dispose() makes the purpose clear: disposing/stopping the ray tracer engine. This distinguishes it from ray tracer siblings like init and pause_render. The verb (dispose) and resource (ray tracer engine) are specific.
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 vs alternatives. There's no mention of prerequisites (e.g., engine must be initialized first), no distinction between dispose and pause_render (which also stops rendering), and no lifecycle context. An agent must infer when dispose is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_ray_tracer_engine_get_light_configurationsD
pcb_RayTracerEngine.getLightConfigurations(lightName: string) -> Promise 获取光线追踪光源配置 returns: 光源配置
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral burden. It does not state whether the operation is read-only, whether it requires the ray tracer engine to be initialized first, or any side effects. The only behavioral clue is the 'get' in the name, which implies read-only but is not explicitly 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 extremely short, but that is due to under-specification rather than concise efficiency. It mixes code syntax and Chinese text without clear structure or separation of concerns. Every sentence could be more informative, and there is no organized presentation.
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 within a ray tracer engine domain, with no output schema and no annotations, the description is entirely inadequate. It does not explain the return format (beyond '光源配置' meaning 'light source configuration'), the nature of the parameter, or how this tool fits with sibling ray tracer tools. An agent would be guessing on how to call 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 description includes the signature 'lightName: string' which at least names the parameter, but it does not explain what a light name is, what valid values look like, or whether it is required. The input schema only shows a generic 'args' array with a generic description, leaving the actual semantics of lightName undefined. 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?
The description merely restates the tool name in code form ('pcb_RayTracerEngine.getLightConfigurations') and its Chinese translation '获取光线追踪光源配置' (get ray tracing light source configuration). It provides no elaboration on what light configurations are, how they differ from render configurations, or any concrete use case. This is essentially a tautology.
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 related siblings such as eda_pcb_ray_tracer_engine_get_render_configurations or set_render_configurations. No context, prerequisites, or alternative routing is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_ray_tracer_engine_get_render_configurationsC
pcb_RayTracerEngine.getRenderConfigurations() -> Promise 获取光线追踪渲染配置 remarks: 本接口配置定义还在进行中
ADD since EDA v4 returns: 渲染配置
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description carries full responsibility. It discloses that the interface definition is still in progress and returns Promise<any>, but it does not state whether the call is read-only, requires a prior init, or targets a specific document/window. The 'get' prefix implies a read operation, but that 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?
Compact and scannable: method signature first, then the Chinese purpose, a stability warning, availability, and return hint. Each line earns its place, though the 'returns' line is mildly redundant with the purpose statement.
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 output schema and no annotations, the description leaves important context missing: the shape of the returned 'render configurations', whether the ray tracer must be initialized first, and how this interacts with the render lifecycle. It is enough to identify the tool but not enough to invoke it 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 only documents generic wrapper fields (args, windowId), and the description adds an empty-parameter method signature, hinting that args is usually empty. This adds some value, but it does not explicitly explain valid values for args/windowId or how the tool maps to them, so the midpoint baseline is appropriate.
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?
States it retrieves ray-tracing render configurations via a clear verb and resource ('获取光线追踪渲染配置'), backed by the method signature. However, it does not explicitly distinguish itself from the sibling get_light_configurations or contrast with set_render_configurations, so it stops 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, prerequisites, or exclusions are provided. An agent must infer that this is the read path for render configurations and that set_render_configurations is the write counterpart; nothing in the description states that.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_ray_tracer_engine_initC
pcb_RayTracerEngine.init() -> Promise 初始化光线追踪引擎 remarks: ADD since EDA v4
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 restates the function name, the return type Promise<void>, and that it initializes the engine; it does not disclose side effects, resource allocation, whether it starts rendering, idempotency, or whether dispose is required. The 'ADD since EDA v4' remark adds version context but no 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 short and the main purpose is front-loaded, which is good. However, the 'remarks: ADD since EDA v4' line does not help an agent select or invoke the tool correctly, and the overall terseness leaves important behavioral context missing. It is concise but under-specified rather than efficiently complete.
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 no output schema, the description should explain the operational context: when initialization is necessary, what it changes, and what lifecycle relationships exist with the many sibling ray tracer engine tools. None of that is present. The high schema coverage covers parameters, but not the behavioral and sequencing context an agent needs.
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%, so the baseline is 3. The schema already describes args as a JSON parameter array in official signature order and windowId as the target or active window. The description adds no additional parameter meaning, but it doesn't need to because the schema covers both parameters adequately.
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 ('初始化' / initialize) and a specific resource ('光线追踪引擎' / ray tracing engine), so the core purpose is clear. It also includes the method signature pcb_RayTracerEngine.init(), which identifies this as the initialization entry point. It doesn't explicitly contrast with sibling ray tracer engine tools, but the name and verb already differentiate it from dispose, pause_render, and configuration getters/setters.
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 call this tool, whether it must precede other ray tracer engine operations, whether it can be called multiple times, or how it relates to sibling tools like eda_pcb_ray_tracer_engine_dispose. The description gives no context about prerequisites or alternatives, so an agent has to guess about ordering and lifecycle.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_ray_tracer_engine_pause_renderB
pcb_RayTracerEngine.pauseRender() -> Promise 暂停光线追踪渲染 remarks: 暂停后光线追踪引擎将停止继续渲染
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral disclosure burden. It does reveal a `Promise<void>` return type and that rendering stops, but it does not say whether an in-progress render is preserved, whether the call is idempotent, or whether the ray tracer must be initialized first. The remark '暂停后光线追踪引擎将停止继续渲染' is largely 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 appropriately short: method signature, Chinese action, and a one-line remark. It is front-loaded and free of padding, though the remarks line is slightly redundant with '暂停'.
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-argument pause command, the core effect is stated and the method signature indicates no return value. However, with no annotations and no output schema, the description leaves out whether the paused render can be resumed, whether initialization is required, and what happens to a partially rendered frame.
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%, so the schema already documents `args` and `windowId`. The `pauseRender()` signature implies no method arguments, but the description does not explicitly clarify that `args` should be empty or how `windowId` affects the call, so it adds little beyond the schema baseline.
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 the exact API method (`pcb_RayTracerEngine.pauseRender()`) and states the action in both the English signature and Chinese (`暂停光线追踪渲染` = pause ray-tracing rendering). It is unambiguous among the ray-tracer siblings (`init`, `dispose`, `set_render_configurations`), all of which use different verbs and resources.
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 call this tool versus `eda_pcb_ray_tracer_engine_init`, `dispose`, or other render controls. The description does not state prerequisites, whether the engine must already be rendering, or how a paused render could later be resumed. The remark only restates the effect instead of providing usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_ray_tracer_engine_set_render_configurationsC
pcb_RayTracerEngine.setRenderConfigurations(configurations: any) -> Promise 设置光线追踪渲染配置 remarks: 本接口配置定义还在进行中
ADD since EDA v4
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it discloses only two traits: the call returns Promise<void> (no result to inspect) and the configuration definition is still in progress. It does not state whether settings apply immediately, whether a re-render is triggered, whether changes persist, or whether an initialized engine is required. The instability warning is honest, but the mutation semantics of a setter are left 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 compact: a signature line, a one-line Chinese purpose, and two short remarks, with no filler. The signature partially duplicates the tool name, but the 'ADD since EDA v4' availability note and the in-progress remark each carry unique, non-redundant 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?
For a mutating tool whose core parameter is typed 'any', the absence of any description of the configurations object's shape is a critical gap when an agent must construct a call. There is no output schema and no annotations to convey side effects, and the sibling get_render_configurations is not referenced as a way to discover or verify current settings. The explicit 'still in progress' warning is helpful but essentially confirms the call payload is unknowable from this definition.
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 100%, so the wrapper parameters args and windowId are already documented; the description only adds the parameter name 'configurations' and the opaque type 'any'. That loose typing tells an agent nothing about the expected structure of the render configuration object, which is precisely what it needs. Per the high-coverage baseline, the description neither needs to nor does add semantic depth 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?
The description states a specific verb 'set' (设置) applied to the resource 'ray tracing render configurations' (光线追踪渲染配置), so an agent can identify this as a configuration-writing operation. The set/get verb contrast distinguishes it from the sibling get_render_configurations, though the description does not explicitly name the sibling. The signature line largely restates the tool name and adds little beyond the Chinese purpose line.
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 call this tool, no mention of prerequisites such as first invoking eda_pcb_ray_tracer_engine_init, and no alternative tool is named. The only remark ('配置定义还在进行中' — the configuration definition is still in progress) is a stability caveat, not a usage rule. An agent gets no help choosing between this and the get/dispose/pause ray-tracer siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_select_control_clear_selectedB
pcb_SelectControl.clearSelected() -> Promise 清除选中 returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 does disclose the boolean return value ('returns: 操作是否成功'), but it does not explain what scope of selection is cleared, whether the operation mutates editor state irreversibly, or how it behaves on failure. This is thin coverage for a mutating 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 compact and front-loads the method signature, followed by a concise action phrase and return semantics. There is no wasted text, though the brevity means some contextual information is sacrificed.
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 no-argument clear-selection action, the description is minimally adequate: it identifies the operation and the boolean return. However, with no annotations or output schema, it leaves out behavioral context such as target document scope and the effect on selected primitives, 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 100%, so the baseline is 3. The description adds meaningful signal by showing 'clearSelected()' with no arguments, clarifying that the generic 'args' array should be empty and that no positional parameters are expected beyond the optional windowId.
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 operation: clearing the current selection in the PCB select control, via the explicit method signature 'pcb_SelectControl.clearSelected()' and the Chinese phrase '清除选中'. The 'pcb_' prefix and method name distinguish it from the analogous schematic clear-selection sibling, though the description does not explicitly contrast with it.
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 about when this tool should be used versus alternatives such as eda_sch_select_control_clear_selected or related selection commands. The description implies its use through the name, but it does not state context, conditions, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_select_control_do_cross_probe_selectC
pcb_SelectControl.doCrossProbeSelect(components?: Array, pins?: Array, nets?: Array, highlight?: boolean, select?: boolean) -> Promise 进行交叉选择
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 fails to explain side effects (e.g., whether highlight and select parameters cause visual changes), the meaning of the boolean return value, or any requirements (e.g., active window, valid object references). The description merely echoes the function signature without adding 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 extremely brief (one line), which is appropriate for a simple tool but insufficient for a 5-parameter operation. It front-loads the signature but omits essential context. Conciseness without substance is under-specification, 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?
The tool has 5 parameters, no annotations, no output schema, and no parameter-level descriptions in the schema (only an opaque args array). The description adds almost nothing beyond the signature and a one-word Chinese phrase. An agent cannot determine how to construct the args array, what values are valid, or what the tool returns beyond a boolean. This is severely 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 lists parameter names (components, pins, nets, highlight, select) but provides no additional meaning beyond their labels. The input schema only defines an args array and windowId, so the description is the only place parameter names appear. However, it does not explain types, constraints, or relationships between parameters, leaving the agent to guess the exact semantics of highlight and select flags.
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 cross-probe selection on a PCB, and the function signature lists relevant parameters (components, pins, nets). The purpose is somewhat clear, but it fails to differentiate from the sibling do_cross_probe_select_by_object, which likely performs a similar operation. The verb and resource are present, but the description is minimal and does not clarify what cross-probe selection entails in this 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 alternative do_cross_probe_select_by_object or other selection tools like do_select_primitives. The description does not mention any conditions, prerequisites, or exclusions. An agent has no basis for choosing 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.
eda_pcb_select_control_do_cross_probe_select_by_objectC
pcb_SelectControl.doCrossProbeSelectByObject(components?: Array, pins?: Array, nets?: Array) -> Promise 进行交叉选择
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 explaining behavior, but it only states the operation and return type. It does not disclose whether the selection replaces or augments the current selection, what the boolean result means, whether windowId is required, or how cross-probing affects other editors.
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 front-loaded with the signature, but the Chinese phrase largely restates the method name. It is minimally viable rather than genuinely informative, and some space could have been used to explain behavior and usage.
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 no output schema, this description is incomplete. It omits important context such as what object identifiers should look like, the effect of the cross-probe selection, and how this tool relates to the many sibling selection and cross-probe tools in the same domain.
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's 'args' description is generic, but the description signature names the three actual parameters (components, pins, nets) and their array-of-string types, which is essential for constructing the args array. The windowId parameter is already adequately documented 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 provides the method signature and the phrase '进行交叉选择' ('perform cross-selection'), which indicates the tool selects objects by component/pin/net. However, it does not explain what 'cross selection' accomplishes in the PCB editor, and it does not distinguish this from the closely named sibling eda_pcb_select_control_do_cross_probe_select.
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 use this tool versus alternatives. The sibling eda_pcb_select_control_do_cross_probe_select exists but is never mentioned, and there is no statement about when the by-object variant is preferable or how it differs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_select_control_do_select_primitivesC
pcb_SelectControl.doSelectPrimitives(primitiveIds: string | Array) -> Promise 使用图元 ID 选中图元 returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavioral traits. It only mentions the input type and boolean return, but does not state side effects (e.g., whether it clears prior selection), failure conditions, or behavior across multiple IDs. This is a significant gap for a selection 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 short and front-loaded with the signature, but it is minimal and lacks explanatory context. It is not verbose, but the brevity results in under-specification rather than efficient 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?
Without an output schema or annotations, the description is incomplete for an agent to call correctly. It does not specify whether selection is additive or replaceable, how to pass multiple IDs through the args array, or what happens if an invalid ID is given. The return boolean is the only outcome disclosed.
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 100% (both args and windowId have descriptions). The description adds the signature detail that primitiveIds can be a string or array, which clarifies the expected args content beyond the generic array description. However, it does not explain how to structure the args array or handle multiple IDs, so it 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 states the operation is to select primitives using their IDs, with a clear function signature and return type. The name includes 'pcb' and 'select_control', distinguishing it from schematic and other selection tools, though it does not explicitly contrast with 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 like clear_selected or get_all_selected_primitives. It does not mention whether selection replaces or augments the current selection, nor any prerequisites such as an active document.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_select_control_get_all_selected_primitivesB
pcb_SelectControl.getAllSelectedPrimitives() -> Promise<Array> 查询所有已选中图元的图元对象 returns: 所有已选中图元的图元对象
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are available, so the description carries the behavioral burden; it discloses that this is a query returning a Promise<Array<IPCB_Primitive>>. It does not specify behavior for an empty selection or explicitly confirm that the operation is non-mutating, though the 'get'/'query' wording strongly implies it. This is a minimal but non-contradictory 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 short and front-loaded with the API signature, which is good for quick scanning. However, '查询所有已选中图元的图元对象' and 'returns: 所有已选中图元的图元对象' are essentially duplicated, so not every line earns its place. The redundancy is minor but prevents a higher score.
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 return type is stated, and the optional windowId parameter is described in the schema, so basic invocation is possible. The main gap is the lack of distinction from the near-identical sibling tools and no mention of what happens when nothing is selected. For such a simple getter this is serviceable but not 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 already describes both args and windowId, giving a baseline of 3. The signature line 'getAllSelectedPrimitives()' adds a useful hint that no positional arguments are expected, which helps an agent construct the generic args array correctly. It does not elaborate on windowId, but that parameter is already covered by 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 concrete verb ('getAllSelectedPrimitives'/'查询') and clearly identifies the resource: all selected primitive objects. It is unambiguous about what the tool does, but it does not differentiate itself from the nearby sibling eda_pcb_select_control_get_selected_primitives, so it stops 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 statement is made about when to prefer this tool over related getters such as eda_pcb_select_control_get_selected_primitives or eda_pcb_select_control_get_all_selected_primitives_primitive_id. The description provides neither conditions nor exclusions, leaving the agent to infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_select_control_get_all_selected_primitives_primitive_idB
pcb_SelectControl.getAllSelectedPrimitives_PrimitiveId() -> Promise<Array> 查询所有已选中图元的图元 ID returns: 所有已选中图元的图元 ID
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It conveys a read-only query by using '查询' (query) and specifying the return type Promise<Array<string>>. However, it does not mention side effects, behavior on an empty selection, or the need for an active PCB document, so the behavioral picture is adequate 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 short and front-loaded with the method signature. The main redundancy is that 'returns: 所有已选中图元的图元 ID' repeats the Chinese statement from the second line, but overall it is compact 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?
For a simple query tool, the description states the subject (all selected primitives) and the output type (array of string IDs). However, it omits useful context: how to choose between this and sibling select-control getters, what happens with no selection, and whether an active PCB document is required. Since no output schema exists, the description is the only source for such behavioral detail.
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 100%, so the args and windowId parameters are already documented in the input schema. The description adds no parameter-specific meaning beyond the method signature, so the baseline score of 3 applies.
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: '查询所有已选中图元的图元 ID' (query all selected primitives' primitive IDs), and the API signature shows it returns Promise<Array<string>>. This is a specific verb and resource. However, it does not explicitly differentiate from closely named siblings like eda_pcb_select_control_get_all_selected_primitives or eda_pcb_select_control_get_selected_primitives, so it stops short of full 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 versus alternatives such as get_all_selected_primitives or get_selected_primitives. The description implies usage from the name and query phrasing, but it provides no context, prerequisites, or exclusions. Given the large sibling list with nearly identical names, this is a meaningful gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_select_control_get_current_mouse_positionB
pcb_SelectControl.getCurrentMousePosition() -> Promise<{ x: number; y: number } | undefined>
获取当前鼠标在画布上的位置
returns: 鼠标在画布上的位置,undefined 代表当前鼠标不在画布上
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It does disclose the async return type, the shape {x, y}, and the critical edge case where `undefined` means the mouse is not on the canvas. However, it omits other behavioral traits like coordinate units, reference frame, or whether a specific document type must be active, leaving the agent partially 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 extremely concise, containing only the method signature, a one-line purpose, and a return-value explanation. Every piece earns its place, and it is front-loaded with the signature before the purpose. No filler or 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?
For a simple getter with no annotations or output schema, the description covers the core behavior and return semantics, including the undefined edge case. However, it lacks important context such as coordinate units (mm, mil, pixel) and whether the position is in canvas or data coordinates, which could lead to incorrect use. The schema covers parameters but not these domain-specific 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 100%, so the baseline is 3. The description adds no parameter-level meaning beyond the schema; it does not mention `windowId` or `args`. The schema already documents both parameters adequately, so the description provides no additional value here.
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 ('获取当前鼠标在画布上的位置' – get current mouse position on canvas) with a clear resource. The tool name itself carries the PCB domain, and the sibling eda_sch_select_control_get_current_mouse_position is differentiated by the 'pcb'/'sch' prefix, though the description text does not explicitly mention 'PCB' to exclude the schematic variant.
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 the schematic version or other coordinate-query tools. There is no mention of prerequisites (e.g., active PCB document) or exclusions, so the agent must infer usage solely from the purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pcb_select_control_get_selected_primitivesC
pcb_SelectControl.getSelectedPrimitives() -> Promise<Array> 查询选中图元的所有参数 returns: 选中图元的所有参数 [已弃用]
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description mentions the return type (Promise<Array<object>>) and the deprecated status, which is a behavioral trait. However, it doesn't disclose any side effects, required conditions, or what 'parameters' actually contains, and there are no annotations to compensate.
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 redundant, repeating '查询选中图元的所有参数' and 'returns: 选中图元的所有参数' almost identically. The function signature line adds noise without clarifying 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?
For a simple getter, the description lacks essential context: the format of the returned 'parameters' is not explained, and no alternative is suggested despite the deprecation. The absence of an output schema and annotations makes this gap more significant.
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 coverage is 100%, so the parameters are already well-documented in the schema. The description adds no additional meaning about the 'args' or 'windowId' parameters, so it stays at the baseline of 3.
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 it queries all parameters of selected primitives, a clear verb+resource. However, it doesn't differentiate from sibling tools like eda_pcb_select_control_get_all_selected_primitives, and the naming ambiguity between 'primitives' and 'parameters' could confuse an agent.
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 its siblings. The deprecated marker is present but no alternative is suggested, so an agent has no way to know whether to prefer another tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_pnl_document_saveB
pnl_Document.save() -> Promise
保存文档
returns: 保存操作是否成功,保存失败、上传失败等错误均返回 false
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It discloses the return type (Promise<boolean>) and that false indicates save/upload failures, which is useful. However, it does not mention side effects, whether saving is local or cloud, or any permission 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 brief and to the point, with the method signature front-loaded. It contains no unnecessary fluff, though it mixes Chinese and English, which is acceptable but slightly less 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?
The description provides the return semantics and identifies the save operation, but lacks context on what 'pnl' refers to, whether a document must be open, or any potential side effects. For a simple save tool, this is minimal but not severely lacking.
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%, with both parameters having descriptions ('args' as a JSON array in official signature order, 'windowId' as optional target window). The description adds no additional parameter information, so it relies on the schema, which is adequate.
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 saves a document via pnl_Document.save(), making the verb and resource clear. It is differentiated from sibling save tools (eda_pcb_document_save, eda_sch_document_save) by the 'pnl' prefix, though it doesn't explain what 'pnl' stands for, leaving slight ambiguity about document type.
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 on when to use this tool versus alternatives, nor any exclusions or prerequisites. An agent is not told which document contexts warrant this save operation versus the PCB or schematic save tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_document_auto_layoutB
sch_Document.autoLayout(props?: { uuids?: Array; netlist?: { component: Record<string, { pinInfoMap: Record<string, { name: string; number: string; net: string; props: { 'Pin Number': string } }> }> }; designatorDeviceTypeMap?: Record<string, 'resistor' | 'capacitor' | 'inductive' | 'diode' | 'triode' | 'oscillator' | 'chip' | 'otherDevice'> }) -> Promise 自动布局 remarks: 如不传入任何参数,将对所有器件进行自动布局 returns: 自动布局结果
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 the operation (auto layout) and the default behavior (all components if no params), but it doesn't disclose whether this modifies the document irreversibly, whether it requires a specific document type to be active, whether it can be undone, or what the returned '自动布局结果' (auto layout result) contains. For a mutation-like operation with zero annotation coverage, 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 compact: a TypeScript signature, a two-character Chinese phrase, a remark, and a returns line. It's not bloated, but the structure is a bit disjointed—the Chinese phrase '自动布局' is redundant with the name, and the returns line '自动布局结果' is vague. The most useful information (default behavior) is in the remark, which is not 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?
For a tool with no annotations, no output schema, and a complex optional props structure, the description is incomplete. It doesn't explain what the netlist and designatorDeviceTypeMap parameters do, what the return value contains, or what side effects occur. The default behavior note is helpful, but an agent would struggle to know how to construct the props correctly or interpret the result.
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 100%, so the schema already documents the two parameters (args array and windowId). The description's TypeScript signature adds some meaning by showing the props structure (uuids, netlist, designatorDeviceTypeMap), but it doesn't explain the semantics of these fields beyond their names. The remark about no-params behavior adds value. Baseline 3 is appropriate since the schema does the heavy lifting.
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 and resource: 'sch_Document.autoLayout' performs automatic layout on schematic document components. The Chinese remark '自动布局' (auto layout) reinforces the purpose. It doesn't explicitly differentiate from sibling tools like eda_pcb_document_auto_layout, but the name and description make the schematic context clear.
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 includes a remark: '如不传入任何参数,将对所有器件进行自动布局' (if no parameters are passed, all components will be auto-laid-out). This gives a clear usage condition for the default case. However, it doesn't explain when to use this tool versus alternatives like eda_pcb_document_auto_layout or eda_sch_document_auto_routing, nor does it mention prerequisites like having a schematic document open.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_document_auto_routingC
sch_Document.autoRouting(props?: { uuids?: Array; netlist?: { component: Record<string, { pinInfoMap: Record<string, { name: string; number: string; net: string; props: { 'Pin Number': string } }> }> }; designatorDeviceTypeMap?: Record<string, 'resistor' | 'capacitor' | 'inductive' | 'diode' | 'triode' | 'oscillator' | 'chip' | 'otherDevice'> }) -> Promise 自动布线 remarks: 如不传入任何参数,将对所有未布线的网络进行自动布线 returns: 自动布线结果
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 fails to disclose whether the operation is destructive, whether it modifies the document, what happens to existing routes, or any side effects. The return value is described only as '自动布线结果' (auto routing result), which is vague. This is a significant gap for a mutation-like 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 short and to the point, with the signature and a remark. It's not padded, but it's presented as a code snippet rather than structured prose, which may be harder for an agent to parse. It could be better organized with a clear purpose statement and parameter explanations.
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 routing tool with multiple optional parameters and no output schema, the description is severely incomplete. It omits any explanation of the parameters' semantics, preconditions (e.g., needing an open schematic), how routing is performed, or what the result object contains. An agent would lack critical information to call 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 description includes the function signature with parameter names and types (uuids, netlist, designatorDeviceTypeMap) but provides no explanation of what each parameter does or how they affect routing. The input schema only documents the wrapper 'args' and 'windowId', not the actual parameters, so the schema doesn't compensate. The agent would have to guess the meaning of these 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 operation is '自动布线' (auto routing), which is a clear action, but it doesn't explicitly identify the resource (schematic document) beyond the tool name. It also doesn't differentiate from the sibling eda_pcb_document_auto_routing, so an agent might confuse the two.
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 only usage hint is the remark that passing no parameters routes all unrouted nets. There is no guidance on when to pass parameters, what alternatives exist (e.g., PCB auto routing), or preconditions like having an open schematic. This is insufficient for an agent to decide when to call this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_document_get_current_filter_configurationC
sch_Document.getCurrentFilterConfiguration() -> Promise<Record<string, boolean> | undefined>
获取当前画布过滤器配置
remarks: ADD since EDA v4.2
returns: 当前画布过滤器配置,undefined 为获取失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden. It states that undefined indicates failure, which is useful, but it does not explicitly mention that the operation is read-only or side-effect-free, nor does it explain the meaning of the returned boolean map. The version note 'ADD since EDA v4.2' is minor context. This is minimal behavioral disclosure for a getter.
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 it is structured as a technical signature followed by a brief Chinese line, remarks, and returns. The signature is front-loaded, which may be less useful than a plain-language explanation. It is concise but not optimally organized for an agent; the key functional meaning is buried in the Chinese 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?
With no output schema, the description must explain the return format. It specifies Record<string, boolean> but does not explain what keys or boolean values signify. It also does not explicitly state the tool applies to the schematic editor. For a simple getter, more detail is needed to make it fully usable.
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 descriptions for 'args' and 'windowId' are generic and not tailored to this tool. The description does not clarify that the underlying method takes no parameters, so an agent may not know that 'args' should be an empty array. Since schema coverage is 100% but the descriptions are generic, the description adds little value beyond the schema, and it fails to compensate for the potential 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 states it retrieves the current canvas filter configuration, with the method name 'sch_Document.getCurrentFilterConfiguration' making it clear it targets the schematic document. However, it does not explain what a 'filter configuration' is, what the boolean values represent, or how it differs from the sibling PCB tool (eda_pcb_document_get_current_filter_configuration). The purpose is discernible but not well-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?
No guidance is provided on when to use this tool versus alternatives. The sibling PCB counterpart is not mentioned, and there is no note about the schematic-specific context. An agent would have to infer from the name alone that this is for schematic documents, which is insufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_document_get_primitive_at_pointA
sch_Document.getPrimitiveAtPoint(x: number, y: number) -> Promise<ISCH_Primitive | undefined> 获取坐标点的图元 remarks: 本操作和前端鼠标点击操作类似,将会获取指定坐标点上的图元
ADD since EDA v4.2
returns: 坐标点的图元,如若坐标点无法找到图元,将返回 undefined
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It states that the tool returns a Promise resolving to ISCH_Primitive or undefined, and explicitly mentions that undefined is returned when no primitive is found at the point. The analogy to mouse click hints at behavior, but it does not disclose potential topmost-priority or coordinate-system details.
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 moderately concise, front-loading the signature and core action. It includes Chinese and English text, some redundancy between the main description and remarks, but overall it is not excessively verbose and each part adds 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 description explains the return value and undefined case, but it omits important context such as the coordinate system/units (e.g., mm or mil) and behavior when multiple primitives overlap at the same point. These gaps could lead to incorrect usage, though the tool's core purpose is clear.
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 only describes 'args' and 'windowId' generically. The description provides the actual signature with x and y as numbers, and clarifies that args is a JSON array in official signature order. This adds meaning beyond the schema, which is crucial for the agent to construct correct arguments.
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 the primitive at a coordinate point, with a specific method signature (getPrimitiveAtPoint(x,y)). It is distinct from siblings like get_primitives_in_region or get_primitive_by_primitive_id, so an agent can differentiate it.
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 remark that it is similar to a front-end mouse click provides context, but it does not explicitly mention when to use this versus alternatives like get_primitives_in_region or get_primitive_by_primitive_id. Usage is implied rather than explicitly guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_document_get_primitives_in_regionA
sch_Document.getPrimitivesInRegion(left: number, right: number, top: number, bottom: number) -> Promise<Array> 获取区域内所有图元 remarks: 本接口仅会返回完全包含在区域内的图元,如果图元有部分位于区域外,将被忽略
ADD since EDA v4.2 returns: 区域内所有图元
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full behavioral burden. It discloses a non-obvious and important rule: only primitives fully contained in the region are returned, and partially overlapping primitives are ignored. It does not explicitly state read-only behavior, coordinate units, or edge-case semantics, but the 'get' verb and function name strongly imply a query.
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, front-loads the signature and key behavior, and includes a useful version note. It is slightly redundant because '获取区域内所有图元' and 'returns: 区域内所有图元' say the same thing, but overall it remains efficiently 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 simple region-query tool with no output schema and no annotations, it provides the essential operation, return type, and a meaningful filtering rule. It is missing coordinate unit/system details and an explicit read-only confirmation, which leaves some ambiguity for correct invocation in different editor configurations.
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 only provides generic args and windowId descriptions; the description's signature adds the parameter names and order (left, right, top, bottom), which helps invocation. However, it does not explain units, coordinate system, or boundary inclusion semantics beyond the containment remark, so the added semantic value is limited.
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 the exact API (sch_Document.getPrimitivesInRegion), states it returns all primitives within a region, and the remarks clarify the containment rule. This clearly distinguishes it from point-based queries like eda_sch_document_get_primitive_at_point and the PCB equivalent.
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 intended use case is implied by 'get primitives in region', but the description gives no explicit when-to-use or when-not-to-use guidance, and does not mention alternatives such as eda_sch_document_get_primitive_at_point for point queries. The usage context is inferable but not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_document_import_changesB
sch_Document.importChanges() -> Promise
从 PCB 导入变更
returns: 导入操作是否成功,导入失败或游离原理图返回 false
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. It does mention the return value and conditions for false (import failure or orphaned schematic), which is useful. However, it does not disclose that this is a mutation operation, what side effects occur on success, or any permission requirements. The orphaned schematic condition is a notable detail but overall disclosure is 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?
The description is extremely concise, with the function signature, a one-line purpose, and a clear return explanation. It is front-loaded with the operation and contains no fluff. 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?
For a simple operation with only two optional parameters and no output schema, the description covers the core behavior and a key failure condition (orphaned schematic). However, it omits details like what changes are imported, whether the operation modifies the document, and any prerequisites (e.g., a valid project context). Given no annotations, it could be more complete, but it's not severely lacking.
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% for both parameters (args and windowId) with descriptions. The description adds no additional parameter context beyond what the schema already provides, so the baseline score of 3 is appropriate.
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: '从 PCB 导入变更' (import changes from PCB), with a specific verb and resource. It is distinct from sibling eda_pcb_document_import_changes by the 'sch' prefix in the name, but the description does not explicitly call out that distinction, so it's clear but not fully differentiating.
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 prerequisites or exclusions. It simply states the operation without context on when it's appropriate, which leaves the agent without routing information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_document_saveB
sch_Document.save() -> Promise
保存文档
returns: 保存操作是否成功,保存失败、上传失败等错误均返回 false
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that the tool returns a boolean and that errors (save failure, upload failure) result in false. This is useful behavioral info. However, since no annotations are provided, the description carries the full burden; it does not mention side effects, required state (e.g., open document), or whether it is asynchronous beyond the Promise signature.
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, front-loaded with the method signature and then the return behavior. No fluff or redundancy; 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 description is incomplete for effective use. It lacks an explanation of what arguments to pass in the 'args' array, does not clarify the role of 'windowId' (though the schema covers it), and does not mention prerequisites like having a schematic document open. With no output schema, the agent only knows the return type, leaving significant 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 main description does not mention parameters at all. The schema provides descriptions for 'args' and 'windowId', but 'args' is described as a JSON array in official signature order with no specific items or types, leaving it essentially undocumented. The description does not compensate for this vagueness, so the agent lacks essential 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 states '保存文档' (save document) which clearly indicates the action and resource. However, it does not specify 'schematic' or differentiate from sibling save tools like eda_pcb_document_save or eda_pnl_document_save. The tool name hints at schematic, but the description alone is generic.
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 does not mention when to choose this over eda_pcb_document_save or other save-related tools, nor does it specify 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.
eda_sch_drc_checkC
sch_Drc.check(strict: boolean, userInterface: boolean, includeVerboseError: false) -> Promise 检查 DRC returns: DRC 检查是否通过
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 mentions a Promise<boolean> return and that it checks DRC. It does not state whether the operation is read-only, has side effects, or requires specific editor state. For a DRC check, one might infer it is non-destructive, but this is 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 extremely short, containing a signature, a one-line Chinese statement, and a return line. While it is not verbose, it is so terse that it omits critical information. It is structured clearly but under-specified.
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 there is no output schema and no annotations, the description should fully explain behavior and prerequisites. It only states it returns a boolean for DRC pass/fail. It lacks parameter explanations, side-effect disclosure, and any context about the active schematic or window. This is insufficient for an agent to invoke it correctly with confidence.
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 includes a signature 'sch_Drc.check(strict: boolean, userInterface: boolean, includeVerboseError: false)' which names three boolean parameters and a default. However, it does not explain what 'strict', 'userInterface', or 'includeVerboseError' control. The input schema's args array is generic and does not elaborate, so the description only provides types, not 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 states '检查 DRC' (check DRC) and the return type, making the tool's purpose clear. The tool name includes 'sch' to indicate schematic context, and the description adds that it returns a boolean for pass/fail. However, it does not go beyond the name to differentiate from other DRC tools like eda_pcb_drc_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?
No guidance is given on when to use this tool versus alternatives, nor any prerequisites (e.g., having a schematic open). The description only states what it does, not when to invoke it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_event_add_mouse_event_listenerA
sch_Event.addMouseEventListener(id: string, eventType: 'all' | ESCH_MouseEventType, callFn: (eventType: ESCH_MouseEventType) => void | Promise, onlyOnce?: boolean) -> void
新增鼠标事件监听
remarks: 注意:本接口仅扩展有效,在独立脚本环境内调用将始终 throw Error
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 a critical behavioral trait: the API will always throw in independent script environments and is only valid in extension contexts. However, it does not disclose registration semantics (e.g., whether adding the same id/eventType twice replaces or duplicates, whether the listener persists, or whether the returned void means no unsubscribe handle). The `eventType` union includes `'all'` and `ESCH_MouseEventType`, but the exact event types aren't documented here.
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: a signature line, a one-line Chinese summary, and a remarks note. The signature is front-loaded and actionable. The remark is valuable and placed efficiently. Minor deduction because the signature mixes English API text with Chinese remarks, and the summary line adds little beyond the signature.
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 output schema and no annotations, the description gives the essential signature and a critical environment constraint. But it lacks documentation of accepted `ESCH_MouseEventType` values, the meaning/requirements of the `id` parameter, and details on unregistering listeners (the sibling `eda_sch_event_remove_event_listener` exists but is not referenced). This is adequate but not complete for safe terse 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 coverage is 100% per context signals, but the schema has `items: {}` with no type information and only a generic '按官方签名顺序排列的JSON参数数组' (JSON parameter array in official signature order). The description's signature is essential: it documents `id: string`, `eventType: 'all' | ESCH_MouseEventType`, `callFn` with signature `(eventType: ESCH_MouseEventType) => void | Promise<void>`, and `onlyOnce?: boolean`. This meaningfully supplements the otherwise uninformative schema. However, the schema also includes a `windowId` parameter that appears in neither the signature nor 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 begins with the full method signature `sch_Event.addMouseEventListener(id: string, eventType: 'all' | ESCH_MouseEventType, callFn: ..., onlyOnce?: boolean) -> void`, which clearly identifies the tool as registering a mouse event listener on a schematic event object. The Chinese '新增鼠标事件监听' (add mouse event listener) restates the name but the signature adds concrete detail. It doesn't explicitly distinguish from siblings like `eda_pcb_event_add_mouse_event_listener` beyond the 'sch' naming prefix, but the schematic scope is clear.
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 remarks provide crucial context: '本接口仅扩展有效,在独立脚本环境内调用将始终 throw Error' (this API is only valid in extension context; calling it in independent script environment will always throw an Error). This tells the agent when NOT to use it. However, it does not explain when to use this listener vs alternatives like `eda_sch_event_add_primitive_event_listener` or how `id` should be chosen, nor does it describe the relationship to the broader `sch_Event` object.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_event_add_primitive_event_listenerA
sch_Event.addPrimitiveEventListener(id: string, eventType: 'all' | ESCH_PrimitiveEventType, callFn: (eventType: ESCH_PrimitiveEventType, props: { primitiveIds: Array }) => void | Promise, onlyOnce?: boolean) -> void
新增图元事件监听
remarks: 注意:本接口仅扩展有效,在独立脚本环境内调用将始终 throw Error
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 does disclose a key behavioral trait: the API is only valid for extensions and will `throw Error` when called in a standalone script. The signature also reveals the callback may return a Promise and that the listener can be one-shot via `onlyOnce`. However, it doesn't mention side effects like duplicate-id behavior, listener persistence, or error conditions for invalid event types.
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 the signature, followed by a one-line Chinese summary and a critical remark. There is no fluff, but the Chinese phrase partially duplicates information already in the tool name and signature. Still, every line earns its place, especially the environment-specific throw note.
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 signature and the main environment caveat, which is helpful. However, for a tool of this complexity it omits important details: valid values for `ESCH_PrimitiveEventType`, how to represent a function callback inside a JSON `args` array, and explicit mapping from the signature parameters to the array order. Since there is no output schema and the return type is only shown as `void`, an agent would need additional context to invoke this confidently in all 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 input schema only defines a generic `args` array and `windowId` with a boilerplate 'official signature order' note. The description compensates richly by providing the full typed signature: `id: string`, `eventType: 'all' | ESCH_PrimitiveEventType`, a deeply typed callback with `props: { primitiveIds: Array<string> }`, and an optional `onlyOnce` flag. This gives an agent far more semantic detail than 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?
The description leads with the exact signature `sch_Event.addPrimitiveEventListener(...)` and the Chinese phrase "新增图元事件监听" (add primitive event listener), which clearly states the tool's purpose. The tool name also distinguishes it from sibling listeners like `eda_sch_event_add_mouse_event_listener` and `eda_sch_event_add_simulation_engine_pull_event_listener`. However, it doesn't elaborate on what a "primitive event" is or explicitly contrast with those siblings in prose.
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 only usage-related guidance is the remark that the interface is extension-only and will throw in a standalone script environment. That gives an environment-based exclusion but no explicit direction about when to choose this tool over sibling event-listener tools such as `eda_sch_event_add_mouse_event_listener` or `eda_sch_event_is_event_listener_already_exist`. Usage is implied by the name and signature rather than explicitly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_event_add_simulation_engine_pull_event_listenerA
sch_Event.addSimulationEnginePullEventListener(id: string, eventType: 'all', callFn: (eventType: ESCH_DynamicSimulationEnginePullEventType | ESCH_SpiceSimulationEnginePullEventType, props: Record<string, any>) => void | Promise) -> void
注册仿真引擎拉取事件监听
remarks: 注意:本接口仅扩展有效,在独立脚本环境内调用将始终 throw Error
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden, and it does provide an important caveat: the interface is only valid in extensions and always throws Error in standalone script environments. It also discloses the callback can be synchronous or asynchronous and that the function returns void. It does not cover duplicate-id behavior or listener lifecycle, but the extension restriction is a strong, actionable behavioral 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 compact and the signature is front-loaded, giving an agent the exact call shape immediately. The remarks warning is valuable and placed at the end. The Chinese phrase is somewhat redundant with the name, but it is short and clarifies intent, so overall there is little 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?
The description gives the essential signature and a critical environment restriction, but important context is missing for a tool with no annotations and no output schema. It does not explain what simulation engine pull events are, what id should be used for later removal, or how this listener relates to eda_sch_event_remove_event_listener and listener-existence checks. The callback props are left as a generic Record with no event-shape 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?
Although the input schema has 100% coverage, its args array is generic, so the description's signature adds real parameter meaning: id is a string, eventType is restricted to 'all', and callFn takes eventType plus a Record of props and may return void or a Promise. The windowId parameter is described in the schema. The main gap is that the description does not explain what id represents semantically.
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 operation: registering a simulation engine pull event listener via sch_Event.addSimulationEnginePullEventListener. It clearly distinguishes this from sibling event listeners such as mouse and primitive listeners by naming the simulation-engine-pull event type. The Chinese phrase '注册仿真引擎拉取事件监听' reinforces the same meaning.
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 by the name and signature: use this when you need to register a callback for simulation engine pull events. However, the description does not explicitly state when to prefer this over alternatives, nor does it mention related listener tools such as eda_sch_event_remove_event_listener. The extension-only warning is a useful limitation but not a full usage guide.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_event_is_event_listener_already_existC
sch_Event.isEventListenerAlreadyExist(id: string) -> boolean 查询事件监听是否存在 returns: 事件监听是否存在
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 this is a query returning a boolean, but gives no detail on what 'id' refers to, whether any side effects occur, or what the boolean value represents semantically beyond 'exists'. For a tool with zero annotation coverage, this is 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?
The description is very brief (three lines) and front-loads the signature, which is good. However, the brevity reflects under-specification rather than efficient richness; the Chinese text largely restates what the signature already conveys.
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 boolean existence-check tool, the description provides the signature and return type. But it does not explain what an event listener 'id' is, how to obtain one, or which event-listener family this applies to (schematic events). No output schema exists, so more behavioral detail would help.
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%, so the schema already documents the 'args' array and 'windowId'. The description adds an 'id: string' signature, which provides some semantic meaning, but it conflicts slightly with the schema structure that expects a positional args array rather than a named 'id' parameter. Baseline 3 is appropriate.
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 and resource (query whether an event listener exists) and includes the function signature 'isEventListenerAlreadyExist(id: string) -> boolean'. The purpose is clear, and the 'sch' prefix in the name distinguishes it from the PCB, DMT, and i18n sibling existence-check tools, though the description itself doesn't name those 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 on when to use this tool versus the similar sibling tools (eda_dmt_event_is_event_listener_already_exist, eda_pcb_event_is_event_listener_already_exist, eda_sys_i18n_is_event_listener_already_exist). No context about typical usage (e.g., checking before adding a listener) or exclusions is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_event_remove_event_listenerB
sch_Event.removeEventListener(id: string) -> boolean 移除事件监听 returns: 是否移除指定事件监听
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral disclosure burden. It discloses that this is a removal operation and that it returns a boolean indicating whether the specified listener was removed, which is useful. However, it omits failure semantics, side effects, and behavior for invalid or unknown listener ids.
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, with the API signature front-loaded and the Chinese text clarifying the return value. There is no filler, though the '-> boolean' and the Chinese return explanation are 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?
For a low-complexity removal operation, the description covers the core action and return value adequately. However, with no annotations and no output schema, it would benefit from stating how the listener id is obtained and what error or edge-case behavior to expect.
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 only describes generic args and windowId, but the description adds the actual signature id: string, which partially compensates for the opaque args array. It still does not clarify what id refers to or how to obtain it, leaving parameter semantics 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 the specific action 'remove event listener' and provides the API signature with return type, which clearly identifies the operation. It does not explicitly differentiate it from sibling remove-event-listener tools in other editor namespaces, relying instead on the tool name prefix for that 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?
There is no guidance on when to use this tool relative to add_event_listener or the DMT/PCB/sys remove_event_listener siblings. An agent receives no context about prerequisites, such as the listener id needing to come from a prior addEventListener call, or conditions under which removal might fail.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_manufacture_data_delete_bom_templateC
sch_ManufactureData.deleteBomTemplate(template: string) -> Promise 删除 BOM 模板 returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 return type (Promise<boolean>) and that it returns success status, but it doesn't mention whether deletion is permanent, whether it affects existing BOMs, or any side effects. For a destructive operation, 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 compact: a signature line, a Chinese one-liner, and a return note. It is front-loaded with the operation and resource. Minor waste: the Chinese line duplicates the English signature's meaning, but it's short.
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 no annotations and no output schema, the description is thin. It doesn't explain what a BOM template is, how to identify one (template string format), whether the operation is reversible, or what failure looks like. The sibling list shows related get/upload BOM template tools, but the description doesn't connect to 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 coverage is 100% for the two parameters (args and windowId), but the description only documents the underlying function's 'template' parameter. The args array and windowId are not explained in the description, though the schema descriptions are present. The description adds the template parameter's meaning implicitly via the function signature, but doesn't clarify how to pass it within args.
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 ('delete') and resource ('BOM template'), and the function signature makes the operation explicit. It is distinguishable from siblings like get_bom_templates and upload_bom_template_file, 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?
No guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., template must exist), nor does it contrast with upload/get BOM template siblings. The context is implied by the name and description only.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_manufacture_data_get_assembly_variants_configsB
sch_ManufactureData.getAssemblyVariantsConfigs() -> Promise<Array<{ text: string; value: string }>> 获取装配体变量配置列表 returns: 装配体变量配置列表
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 reveal the return shape (Promise<Array<{text, value}>>) and implies read-only ('get'), but it doesn't explicitly state side effect absence, permissions needed, or any constraints. The return type is useful, but the lack of explicit safety or side-effect disclosure leaves a moderate 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 with the function signature, followed by a Chinese summary and return type. It's efficient with no unnecessary fluff, though the signature and Chinese text are somewhat redundant. Still, it's appropriately sized for the tool's simplicity.
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, the description omits critical context: what arguments should be passed in the 'args' array, any prerequisites (e.g., needing an open schematic document), and error behavior. The return type is given, but without knowing the expected args content or required context, an agent might not call it correctly. The lack of detail on the args array is a significant 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 input schema already describes both 'args' (JSON parameter array in official signature order) and 'windowId' (target EDA window ID; omit for current active window) with 100% coverage. The tool description adds no parameter-specific context beyond what the schema provides, so the baseline of 3 applies.
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 list of assembly variant configurations (获取装配体变量配置列表) and provides the return type as an array of {text, value} objects. It's a specific verb+resource pair and not a tautology, though it lacks explicit differentiation from siblings. Given there is no closely similar sibling, a 4 is appropriate.
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, no context about when it's appropriate, and no exclusions or prerequisites. It only states what it does, not when to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_manufacture_data_get_bom_fileC
sch_ManufactureData.getBomFile(fileName?: string, fileType?: 'xlsx' | 'csv', template?: string, filterOptions?: Array<{ property: string; includeValue: boolean | string }>, statistics?: Array, property?: Array, columns?: Array, assemblyVariantsConfig?: { text: string; value: string }) -> Promise<File | undefined> 获取 BOM 文件 returns: BOM 文件数据
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 does add the return type Promise<File | undefined>, but says nothing about prerequisites, generation side effects, download behavior, or failure cases. The 'returns: BOM 文件数据' line is merely redundant with the signature.
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 with no filler — a signature line plus two short phrases. But the human-readable summary is redundant with the tool name, and the structure leads with a dense signature rather than a plain-language statement of what the tool does.
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 8 semantically opaque parameters, no output schema, no annotations, and a large family of manufacture-data siblings, the description is too thin. The typed signature does not tell an agent what template values are valid, what columns/statistics control, or how the returned File is delivered.
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 only documents generic args/windowId wrappers, so the signature is the sole source for the 8 real parameters and their types (fileType 'xlsx'|'csv', filterOptions element shape). This adds meaningful value beyond the schema, but the semantics of filterOptions, statistics, property, columns, and assemblyVariantsConfig are left unexplained, so an agent cannot know how to configure them 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 includes '获取 BOM 文件' (get BOM file) and a full signature, so an agent can tell it fetches a BOM file from schematic manufacture data. However, the prose is essentially a restatement of the tool name and the signature, and it does not differentiate from siblings such as eda_pcb_manufacture_data_get_bom_file or the template-related eda_sch_manufacture_data_get_bom_templates/get_bom_template_file.
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 when-to-use guidance whatsoever. The description never addresses selection context or exclusions — no mention of when to pick this over the PCB BOM tool, the BOM template tools, or the other manufacture-data export siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_manufacture_data_get_bom_template_fileD
sch_ManufactureData.getBomTemplateFile(template: string) -> Promise<File | undefined> 获取 BOM 模板文件 returns: BOM 模板文件
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 only states the signature and that it returns a File or undefined. It does not disclose whether the operation is read-only, what side effects might occur (e.g., downloads, file system access), or any error conditions. The return type is useful but insufficient for an agent to anticipate behavior.
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 (a single function signature and a one-line Chinese phrase), but brevity without substance does not earn a high conciseness score. It lacks a clear structure: there is no front-loaded summary of purpose, no usage context, and no parameter explanation. It is under-specified rather than efficiently 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?
For a tool that takes a required template parameter and returns a file, the description is completely inadequate. It does not explain what a BOM template is, how to obtain valid template identifiers, what the returned File object represents (e.g., content, format), or any context about the manufacturing data domain. With no annotations and no output schema, the description fails to provide the necessary context 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?
The input schema has 100% coverage as both parameters have generic descriptions ('JSON parameter array in official signature order' and 'target EDA window ID'), but these do not reveal the semantic meaning of the 'template' argument. The description adds no explanation of what the template string should be (e.g., a template name, ID, or UUID). Thus, the description does not enrich the parameter semantics 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?
The description states '获取 BOM 模板文件' (Get BOM template file), which is essentially a restatement of the tool name. It does not explain what a BOM template file is, nor does it distinguish this tool from siblings like eda_sch_manufacture_data_get_bom_templates (which likely lists available templates) or eda_sch_manufacture_data_get_bom_file (which likely gets the actual BOM file). The verb 'get' and resource are present but vague, so purposes remains superficial.
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. The description does not mention that the 'template' parameter likely refers to a template identifier from get_bom_templates, nor does it instruct when it is appropriate to call this method. There is no mention of prerequisites, such as having an active schematic document, or exclusions for similar tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_manufacture_data_get_bom_templatesC
sch_ManufactureData.getBomTemplates() -> Promise<Array> 获取 BOM 模板列表 returns: BOM 模板列表
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 states that the tool returns a Promise of an array of strings and returns a BOM template list, but it does not disclose whether the operation is read-only, whether an active schematic document is required, what happens when no templates exist, or whether the returned strings are template names, IDs, or something else.
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 front-loaded with the API signature, which is useful for an agent. The Chinese phrase '获取 BOM 模板列表' and 'returns: BOM 模板列表' are slightly redundant, but the overall structure is compact and no extra filler 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?
For a simple list-getter with no required parameters, the description is minimally sufficient: it names the operation, the return type, and the resource. However, with no annotations and no output schema, it leaves gaps around whether the operation depends on the active document/window, whether it is safe/read-only, and what the string elements actually represent.
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 already describes both parameters: args as a JSON array in official signature order and windowId as an optional target EDA window. Since schema coverage is effectively complete, the description does not need to repeat parameter details. It also correctly implies that this function takes no meaningful named arguments beyond the generic args array.
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 ('获取' / 'get') and the resource ('BOM 模板列表'), so an agent can tell this is a listing operation. It does not explicitly differentiate itself from sibling tools like eda_sch_manufacture_data_get_bom_template_file or eda_sch_manufacture_data_delete_bom_template, though the 'list' phrasing and return type make the intent 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?
The description provides no guidance on when to use this tool versus alternatives such as get_bom_template_file, upload_bom_template_file, or delete_bom_template. There is no mention of context, prerequisites, or exclusions, so an agent must infer usage entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_manufacture_data_get_export_document_fileC
sch_ManufactureData.getExportDocumentFile(fileName?: string, fileType?: ESCH_ExportDocumentFileType, typeSpecificParams?: { theme?: 'Default' | 'White on Black' | 'Black on White'; lineWidth?: 'Default' | 'Always 1px' | 'Follow the Zoom Change'; displayAttributesAsMenu?: boolean; size?: 'Original Size' | string | { width: number; height: number; unit: ESYS_Unit.INCH | ESYS_Unit.MILLIMETER } }, object?: 'All Schematic' | 'Current Schematic' | 'Current Schematic Page' | string, objectSpecificParams?: { range?: 'All' | [number, number]; outputMethod?: 'Merged sheet' | 'Separated sheet' }) -> Promise<File | undefined> 获取导出文档文件 deprecated: - DEPRECATED since EDA v4.1 returns: 导出文档文件数据(或压缩包) [已弃用]
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavioral traits itself. It mentions the deprecation and the return type ('导出文档文件数据(或压缩包)'), but it does not explain side effects, error conditions, prerequisites, or the meaning of 'undefined' return. This is minimal disclosure for a file-export 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 mixes a dense code signature with Chinese prose and repeated deprecation notes ('deprecated: - DEPRECATED since EDA v4.1' and '[已弃用]'), making it somewhat cluttered. The signature is front-loaded and informative, but the redundancy and lack of organized structure prevent a higher score.
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 signature provides parameter types, the description lacks crucial context: it does not explain what 'export document file' refers to, what each parameter semantically controls, when the return could be undefined, or how this relates to the specific file-format siblings. With no output schema, the description is insufficient 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?
The description includes the complete function signature with parameter names, optionality, types, and enum values for fileName, fileType, typeSpecificParams, object, and objectSpecificParams. This adds substantial meaning beyond the schema's generic 'args array in official signature order' description, which only names the wrapper arrays.
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 retrieves an export document file ('获取导出文档文件') and includes the full method signature, which conveys the action and resource at a basic level. However, 'export document file' is vague and does not distinguish this from sibling tools like get_pdf_file, get_svg_file, or get_png_file, so an agent cannot clearly tell which export format or scenario this tool covers.
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 get_* file tools. The deprecation notice ('DEPRECATED since EDA v4.1') implies it should be avoided, but no alternative tool is suggested, leaving the agent without direction on the correct choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_manufacture_data_get_netlist_fileC
sch_ManufactureData.getNetlistFile(fileName?: string, netlistType?: ESYS_NetlistType) -> Promise<File | undefined> 获取网表文件(Netlist) returns: 网表文件数据
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 return type (Promise<File | undefined>) and that it returns netlist file data, but does not mention whether it is read-only, what happens when the file is not found (undefined), or any potential side effects. The absence of such disclosure for a file-fetch operation 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 concise, including a signature and a one-line Chinese summary. However, it is not front-loaded with the most critical information (e.g., what distinguishes it from siblings), and the structure mixes code signature and prose without clear separation. It is adequately short but not optimally organized.
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 output schema and no annotations, the description is under-specified. It does not explain the return format beyond 'File | undefined', when undefined occurs, or how netlistType influences output. It also does not differentiate from similar netlist tools, leaving the agent with insufficient context to decide when and how to call 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?
The description mentions fileName and netlistType but does not explain their meanings or allowed values. The schema itself only describes args as an array and windowId as a target window ID, with no detail on the inner parameters. The description adds minimal value by naming the parameters but fails to clarify their semantics, 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 clearly states the verb and resource: '获取网表文件(Netlist)' (get netlist file) and includes the function signature with return type. It is specific enough to know it fetches a netlist file, but it does not differentiate from sibling tools like eda_sch_netlist_get_netlist or eda_sch_manufacture_data_get_simulation_netlist_file, so a 4 is appropriate rather than 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 alternatives. No prerequisites, context, or exclusions are mentioned. The description simply states what it does without indicating when it is the right choice among the many file-getter siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_manufacture_data_get_pdf_fileC
sch_ManufactureData.getPdfFile(fileName?: string, typeSpecificParams?: { theme?: 'Default' | 'White on Black' | 'Black on White'; lineWidth?: 'Default' | 'Always 1px' | 'Follow the Zoom Change'; displayAttributesAsMenu?: boolean; size?: 'Original Size' | string | { width: number; height: number; unit: ESYS_Unit.INCH | ESYS_Unit.MILLIMETER } }, object?: 'All Schematic' | 'Current Schematic' | 'Current Schematic Page' | string, objectSpecificParams?: { range?: 'All' | [number, number]; outputMethod?: 'Merged sheet' | 'Separated sheet' }) -> Promise<File | undefined> 获取 PDF 文件 returns: PDF 文件数据(或压缩包)
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 description only says '获取 PDF 文件' and 'returns: PDF 文件数据(或压缩包)'. It doesn't disclose that this is a read/export operation, whether it requires an active schematic document, what happens if no fileName is provided, or that the return can be a zip archive. The signature shows optional parameters but no 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 compact but the function signature is dense and technical. The Chinese description is minimal ('获取 PDF 文件' and 'returns: PDF 文件数据(或压缩包)'). The signature is front-loaded but the prose is extremely terse. It's not bloated, but it's also not well-structured 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?
No output schema exists, so the description should explain return values. It only says 'PDF 文件数据(或压缩包)' which is vague. The tool has complex nested parameters (typeSpecificParams, objectSpecificParams) but no explanation of defaults, required vs optional behavior, or what happens with no arguments. The sibling list shows many similar manufacture_data_get_* tools, and this description doesn't help an agent understand the schematic-specific 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 100% but the schema only describes 'args' as a JSON array and 'windowId'. The description's function signature provides rich parameter details (fileName, typeSpecificParams with theme/lineWidth/displayAttributesAsMenu/size, object, objectSpecificParams with range/outputMethod). This adds meaning beyond the schema, but the description doesn't explain the semantics of these parameters in prose. The signature is self-documenting to some degree.
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 '获取 PDF 文件' (get PDF file), which is a specific verb+resource. The function signature in the description provides detailed parameter information. However, it doesn't explicitly differentiate from sibling tools like eda_pcb_manufacture_data_get_pdf_file, though the 'sch' prefix in the name helps distinguish schematic vs 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?
No guidance on when to use this tool vs alternatives. The description doesn't mention that this is for schematic PDF generation, nor does it explain when to use eda_sch_manufacture_data_get_png_file or eda_sch_manufacture_data_get_svg_file instead. The context is implied by the name but not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_manufacture_data_get_png_fileA
sch_ManufactureData.getPngFile(fileName?: string, resolution?: ISCH_ExportPngResolution) -> Promise<File | undefined>
获取 PNG 文件
remarks: 支持按长宽分辨率导出高清图片(最大 4096);
支持只传入 width 或 height 中的任意一个,另一侧将按原始比例自动拉伸输出;
width 与 height 均不传时,按当前一倍分辨率输出
ADD since EDA v3.2.183 / EDA v4.1.23 returns: PNG 文件数据(或压缩包)
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 behavior. It explains the maximum resolution of 4096, the optional width/height behavior, the default 1x output when both are omitted, and the return type Promise<File | undefined> plus the possibility of a compressed package. This is substantial, though it does not mention prerequisites 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 compact and logically organized: signature, one-line purpose, bullet-style remarks, version availability, and return information. Every line contributes useful information, though the formatting is a bit dense 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?
For an export tool with no output schema and no annotations, the description covers the return value, resolution limits, default behavior, and availability version. It does not explain how fileName is used or the exact shape of ISCH_ExportPngResolution, but overall it is reasonably complete for its 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 input schema only contains a generic args array and windowId, so the description supplies the real parameter semantics: fileName?: string and resolution?: ISCH_ExportPngResolution, including the scaling rules for width/height. This adds meaning well beyond the generic schema definition.
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 '获取 PNG 文件' and includes the method signature sch_ManufactureData.getPngFile, identifying the resource as a PNG export from schematic manufacture data. It is specific about the verb and resource, but it does not explicitly distinguish itself from sibling export tools such as get_svg_file or get_pdf_file, so it stops 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 instead of alternatives like SVG, PDF, or BOM export tools. The remarks explain parameter behavior but do not state when PNG export is appropriate or when another sibling tool should be chosen.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_manufacture_data_get_simulation_netlist_fileC
sch_ManufactureData.getSimulationNetlistFile(fileName?: string, netlistType?: ESCH_SimulationNetlistType) -> Promise<File | undefined> 获取仿真网表文件 returns: 仿真网表文件数据
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral burden. It does disclose the return type (Promise<File | undefined>) and that it returns simulation netlist file data, but omits side effects, prerequisites, error behavior, or what happens when no file is found beyond the undefined return type.
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?
Very short and front-loaded with the signature, purpose, and return line. The Chinese line largely restates the signature, creating minor redundancy, but overall there is no 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 retrieval tool with two optional parameters and no output schema, the description provides the purpose and return type but omits when to use it over similar netlist tools, what netlistType options exist, and whether an active schematic document is required.
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 is a generic wrapper (args array, windowId) with no per-parameter semantics, so the signature line adds meaningful names and types: fileName?: string and netlistType?: ESCH_SimulationNetlistType. Yet it does not explain what netlistType values are valid or what each parameter controls.
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?
States a specific verb ('get') and resource ('simulation netlist file'), and the signature names sch_ManufactureData.getSimulationNetlistFile. However, it does not differentiate from close siblings like eda_sch_manufacture_data_get_netlist_file or eda_sch_netlist_get_netlist.
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 on when to use this tool versus the similar netlist-related siblings, and no context about prerequisites or use cases. The description only restates the action without explaining when it is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_manufacture_data_get_svg_fileA
sch_ManufactureData.getSvgFile(fileName?: string) -> Promise<File | undefined> 获取 SVG 文件 remarks: 多图页时会导出为压缩包(zip)
ADD since EDA v3.2.183 / EDA v4.1.23 returns: SVG 文件数据(或压缩包)
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the behavioral disclosure burden. It does add useful behavioral detail: the return type `Promise<File | undefined>`, the remark that multi-page schematics export as a ZIP archive, and the EDA version availability. It does not mention prerequisites, side effects, or what happens when `fileName` is omitted, so coverage is adequate 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 compact and well structured: signature, one-line purpose, one key behavioral remark, version note, and return summary. There is little waste, though the bilingual repetition and version note are marginally unnecessary for invocation.
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 output schema, the description covers the important return-shape details including the multi-page ZIP edge case. However, it omits usage context, `fileName` semantics, and which document or page is exported, leaving some ambiguity for an agent deciding how to call 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?
The schema only provides a generic `args` array and `windowId`, so it does not document the actual function parameter. The description's signature adds `fileName?: string`, which reveals the name, type, and optionality, but it never explains what `fileName` represents or how it interacts with the current document. This is a modest improvement over the schema, not full 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 opens with the exact API signature `sch_ManufactureData.getSvgFile(fileName?: string)` and the clear purpose '获取 SVG 文件' (get SVG file), stating a specific verb and resource. The SVG file-type target also differentiates it from sibling export tools such as `eda_sch_manufacture_data_get_png_file` and `eda_sch_manufacture_data_get_pdf_file`.
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 explicit when-to-use or when-not-to-use guidance, and names no alternatives. An agent can infer this tool is for obtaining an SVG file from the schematic manufacture-data group, but the usage context is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_manufacture_data_place_components_orderD
sch_ManufactureData.placeComponentsOrder(interactive?: boolean, ignoreWarning?: boolean) -> Promise 元件下单 returns: 是否通过下单检查
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior. It only states the return type and a vague translation, failing to mention that placing an order likely has side effects (e.g., actual purchasing), how interactive and ignoreWarning affect behavior, or what 'passes the order check' implies. The agent cannot assess side effects or safety.
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 not effectively concise; it wastes characters on a code-like signature and a Chinese phrase without explaining it. Important information is missing, so it is under-specified rather than 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?
This is a complex operation (placing an order) with no output schema and no parameter explanations. The description omits side effects, prerequisites, possible warnings, and the meaning of the boolean return. It is far from complete for an agent to use 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 is generic (args array, windowId) and does not document interactive or ignoreWarning. The description lists the parameter names in the signature but provides no meaning, defaults, or examples. It adds minimal value beyond the 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 states the verb 'place components order' and the resource context (sch_ManufactureData). It is not a tautology but is terse. The Chinese phrase '元件下单' adds a label but not depth. It does not distinguish from the sibling eda_sch_manufacture_data_place_smt_components_order or eda_pcb_manufacture_data_place_components_order.
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. The description only gives a signature and a return note, with no mention of prerequisites, typical use cases, or exclusions. The agent is left 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.
eda_sch_manufacture_data_place_smt_components_orderC
sch_ManufactureData.placeSmtComponentsOrder(interactive?: boolean, ignoreWarning?: boolean) -> Promise SMT 元件下单 returns: 是否通过下单检查
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 behavior, but it only states the return value meaning. It does not reveal whether the tool launches an interactive flow, suppresses warnings, mutates state, or triggers an actual order. The boolean parameters 'interactive' and 'ignoreWarning' are listed but their behavioral consequences are never 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 compact and includes a useful signature line, but it mixes English and Chinese without clear structure or spacing. It is under-specified rather than elegantly concise, and the return-value note is the only added semantic content beyond the name. It earns a middle score for being short but not well-organized or complete.
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 no output schema and no annotations, and the description fails to explain the tool's side effects, the meaning of its flags, or what the boolean return actually implies for downstream actions. For an ordering-related tool, an agent would need to know whether an order was placed, whether a dialog appears, and how to interpret failures. This context is missing, making the tool hard to invoke correctly or 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?
The schema's args array and windowId are generically described, but the description's function signature adds the parameter names and types (interactive?: boolean, ignoreWarning?: boolean), giving more concrete meaning than the generic array wrapper. However, it does not explain what these flags do semantically or how they affect the call, so the added value over the schema is limited. The high schema coverage keeps this at baseline 3.
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 provides a Chinese translation of the tool name ('SMT 元件下单') and states the return meaning ('是否通过下单检查'), so an agent can tell it relates to SMT component ordering in schematic manufacture data. However, it does not clarify whether the tool actually submits an order or merely runs a check, and it does not distinguish this from the sibling eda_sch_manufacture_data_place_components_order. The purpose is recognizable but somewhat ambiguous and not differentiated.
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 eda_sch_manufacture_data_place_components_order or eda_pcb_manufacture_data_place_smt_components_order. The description does not mention any conditions, prerequisites, or context that would steer an agent toward this specific variant. This leaves selection to inference 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.
eda_sch_manufacture_data_upload_bom_template_fileB
sch_ManufactureData.uploadBomTemplateFile(templateFile: File, template?: string) -> Promise<string | undefined> 上传 BOM 模板文件 returns: BOM 模板名称
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It only states the action and return type, but does not disclose side effects, prerequisites (e.g., file format, required permissions), or what happens if the template already exists. The optional 'template' parameter's role is also 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 brief and to the point, containing no filler. It is front-loaded with the signature and return value. However, the lack of any usage or parameter context means it could be slightly improved 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?
For a simple upload tool, the description provides the core action and return value, but it omits details about the optional template argument and any error conditions. Given the sibling tools, it is minimally adequate but not fully self-contained for an agent to use confidently without additional 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 a signature with parameter names and types but not their semantics beyond that. The 'template' parameter is optional and its purpose is unclear. The input schema only defines a generic 'args' array without individual parameter descriptions, so this is a genuine 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 action (upload) and the resource (BOM template file), and specifies the return value (BOM template name). It is unambiguous and distinct from sibling tools like get_bom_templates or delete_bom_template by its focus on uploading.
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. It does not mention that this is for adding a new template, nor does it reference related operations to distinguish them. The agent must infer usage from the function name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_net_get_all_netsC
sch_Net.getAllNets() -> Promise<Array> 获取所有网络的详细信息 remarks: ADD since EDA v4.2 returns: 所有网络的详细信息
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 conveys this is a read operation ('getAllNets') but does not disclose scope, whether the return is an empty array when no nets exist, performance characteristics, or which document/window context it operates on. For a get-all tool with zero annotation coverage, 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 brief, but brevity here borders on under-specification rather than conciseness. The lines '获取所有网络的详细信息', 'returns: 所有网络的详细信息', and the function signature all repeat essentially the same information. The ADD-since version note is the only genuinely useful detail, and the rest is redundant with 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?
With no output schema and no annotations, the description must explain return structure and invocation context, but it provides only a bare type reference (ISCH_NetInfo). It fails to clarify scope (current schematic vs current project vs all documents), which is essential given the sibling eda_sch_net_get_current_project_all_nets implies a project-scoped variant exists. An agent has insufficient information to invoke this 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 100%, so the schema documents both parameters (args and windowId). The description adds the return type Promise<Array<ISCH_NetInfo>> which references a type the agent may need to resolve, but it adds nothing about parameter semantics beyond what the schema provides. Baseline 3 applies since the schema does the heavy lifting.
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 it retrieves detailed information for all nets, with a clear verb+resource. However, it does not distinguish from closely related siblings like eda_sch_net_get_all_nets_name (which returns net names only) or eda_sch_net_get_current_project_all_nets (which scopes to the current project). An agent cannot tell which of these get-all-nets tools to pick.
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 on when to use this tool versus eda_sch_net_get_all_nets_name, eda_sch_net_get_current_project_all_nets, or eda_sch_net_get_net. The critical scope question — does 'all nets' mean the current schematic, current document, or entire project? — is left unanswered, which is exactly the ambiguity that distinguishes it from get_current_project_all_nets.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_net_get_all_nets_nameB
sch_Net.getAllNetsName() -> Promise<Array> 获取所有网络的网络名称 remarks: ADD since EDA v4.2 returns: 网络名称数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 the return type and the version in which the API was added, but it omits important context such as which window/document scope 'all nets' refers to, whether it is safe/read-only, and what happens when no nets 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 compact and front-loaded with the API signature and purpose. The supplementary version and return-type notes are useful, though the bilingual phrasing introduces slight 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 simple read-only, no-argument tool, the description provides the essential return type and signature. However, it does not clarify the scope of 'all nets' relative to sibling tools, and the lack of annotations leaves some behavioral context 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?
The function signature `getAllNetsName()` conveys that the underlying method takes no positional arguments, which helps an agent know the `args` array should be empty. The schema already describes `windowId`, so the description adds meaningful parameter information 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?
The description states the action clearly: it retrieves all network names via `sch_Net.getAllNetsName()` and specifies the return type as `Promise<Array<string>>` / a network-name array. This is specific enough to identify the tool's purpose, though it does not explicitly differentiate itself from sibling tools like `eda_sch_net_get_all_nets` or `eda_sch_net_get_current_project_all_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?
No guidance is given about when to use this tool versus alternatives. There are multiple net-related siblings (`eda_sch_net_get_all_nets`, `eda_sch_net_get_current_project_all_nets`, `eda_sch_net_get_net`), but the description does not mention scope, context, or exclusion conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_net_get_current_project_all_netsC
sch_Net.getCurrentProjectAllNets() -> Promise<Array> 获取当前工程下所有网络的详细信息 remarks: ADD since EDA v4.2 returns: 当前工程下所有网络的详细信息
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 discloses the return type and version (ADD since EDA v4.2), but does not state that it is a read-only operation, what happens if no project is open, whether it can fail, or any side effects. The minimal 'get' semantics imply read-only, but the description itself adds little behavioral context beyond the method signature.
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 contains redundancy: the 'returns' line repeats the same information as the main Chinese sentence. The mix of English signature and Chinese explanation is functional but not tightly structured. It is not bloated, but not every line 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 simple getter, the description covers the basic purpose and return type, and the schema covers all parameters. However, it lacks context about when to select this tool over sibling net-query tools, and does not explain prerequisites such as requiring an active project or schematic. These gaps leave the agent to infer important 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 description coverage is 100%: both 'args' and 'windowId' have descriptions in the schema, so the baseline is 3. The tool description itself adds no parameter-level detail, but the schema already documents the parameters adequately enough for an agent to know an args array and optional windowId are 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 clearly states the operation: '获取当前工程下所有网络的详细信息' (get detailed information of all nets in the current project), with a concrete verb and resource. It also gives the method signature and return type. However, it does not explicitly differentiate itself from closely related siblings such as eda_sch_net_get_all_nets or eda_sch_net_get_all_nets_name, 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 given about when to use this tool versus alternatives. The description does not mention that this tool is scope-limited to the current project while other net-related tools may operate on all nets or by name, nor does it describe any conditions such as requiring an open project or schematic document.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_net_get_netB
sch_Net.getNet(net: string) -> Promise<ISCH_NetInfo | undefined>
获取指定网络的详细信息
remarks: ADD since EDA v4.2
returns: 网络的详细信息, undefined 为不存在该网络
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description must carry behavioral disclosure. It does state that undefined is returned if the net does not exist, which is useful. However, it does not mention whether the operation is read-only (though implied by 'get'), whether an active schematic document is required, or any error handling beyond the undefined return. It adds minimal 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 concise, with the signature, a clear purpose statement, a version note, and a return description. It is front-loaded with the signature and purpose. The structure with 'remarks' and 'returns' is organized. A minor deduction because it could be slightly more compact, but it is efficient overall.
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 no output schema, so the description must explain the return value. It does state that detailed information is returned and undefined if not found, but it does not describe the ISCH_NetInfo structure or any prerequisites (e.g., active schematic document). For a simple getter, this is adequate but not comprehensive, given no annotations.
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 includes the signature 'net: string', revealing the parameter name and type, but does not explain how to pass it within the args array (the schema only has a generic args array and windowId). The schema's description for args says to follow official signature order, but the description itself does not clarify that net is required or how to format it. It adds some value but not enough to fully compensate for the lack of explicit 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 states the function retrieves detailed information for a specified net ('获取指定网络的详细信息') and provides the signature sch_Net.getNet(net: string). This clearly identifies the verb (get), resource (net), and specificity (single net). It does not explicitly contrast with sibling functions like eda_sch_net_get_all_nets, but the singular focus is 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?
No guidance is given on when to use this tool versus alternatives. There is no mention of when to prefer get_net over get_all_nets or get_all_nets_name, nor any conditions such as needing a specific net name. The description leaves this to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_netlist_get_netlistC
sch_Netlist.getNetlist(type?: ESYS_NetlistType) -> Promise 获取网表 returns: 网表数据 [已弃用]
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 mention '[已弃用]' (deprecated), which is valuable and signals the agent to prefer alternatives. However, it fails to disclose what the returned string contains (e.g., format, scope: current sheet vs. project), whether it depends on a currently open schematic, or why it is deprecated and which sibling should be used instead.
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-loads the signature, return type, and Chinese purpose in a compact form. The '[已弃用]' deprecation marker is clear. It loses one point for mixing signature syntax and Chinese without any plain-language explanation, but every line carries information and there is no padding.
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 deprecated tool with no annotations and no output schema, the description is incomplete. An agent cannot tell what netlist scope is returned, what format it has, what the optional type argument means, which document is targeted, or which non-deprecated sibling to call instead. The existence of multiple netlist-related siblings (`eda_sch_manufacture_data_get_netlist_file`, `eda_pcb_net_get_netlist`) makes this incompleteness harmful because the agent may mistake this tool for the correct one.
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 100% per context signals, but the schema only describes `args` as a JSON array and `windowId` as an optional window ID. The description's type signature mentions `type?: ESYS_NetlistType`, showing one optional enum-like parameter, but it does not explain what values `ESYS_NetlistType` accepts, what the 'default' behavior is when omitted, or how to pass it through `args`. With only placeholder schema items and no enum list, the description fails to compensate for the lack of actionable parameter 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 states the verb 'get' and resource 'netlist' in the signature line 'sch_Netlist.getNetlist(type?: ESYS_NetlistType) -> Promise<string>', and the Chinese '获取网表' (get netlist) clarifies the action. However, it does not explain what a netlist is, what format it takes (e.g., string content), or how it differs from the nearby sibling `eda_sch_manufacture_data_get_netlist_file` and `eda_pcb_net_get_netlist`. The clear resource and action elevate it above a tautology, but lack of differentiation keeps it at a 3.
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 offers no guidance on when to use this tool versus alternatives. Sibling tools like `eda_sch_manufacture_data_get_netlist_file`, `eda_sch_manufacture_data_get_simulation_netlist_file`, and `eda_pcb_net_get_netlist` exist, but the description does not mention them or state the intended use context (e.g., retrieving the current schematic netlist in-memory vs. generating a file export). There is also no mention of the `windowId` parameter or which document it applies to.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_netlist_set_netlistD
sch_Netlist.setNetlist(type: ESYS_NetlistType | undefined, netlist: string) -> Promise 更新网表
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 states 'update netlist' but provides no detail about side effects, whether the operation is reversible, what happens if the netlist is invalid, or whether it requires an active document. The signature shows Promise<void> but no further consequences are described.
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 it lacks meaningful content. Conciseness is positive only when the text is efficient and still informative; here it is under-specified, leaving critical details missing. The signature and single phrase do not earn their place because they do not aid in correct invocation.
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?
As a mutation tool with no annotations and no output schema, the description should explain return behavior, failure cases, and prerequisite conditions. It does none of these. An agent cannot determine how to construct the args correctly or anticipate the effect, making the definition inadequate for safe 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 schema has a generic args array and windowId, with 100% description coverage but no parameter-specific descriptions. The function signature mentions 'type: ESYS_NetlistType | undefined' and 'netlist: string', but the description does not explain what values are valid for type, what format netlist should take, or how windowId affects behavior. The description adds only the parameter names without semantic 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?
The description is essentially the raw function signature plus the phrase '更新网表' (update netlist). It identifies the verb and resource, but gives no explanation of what 'set netlist' accomplishes in the schematic context. It is barely more than the tool name itself and does not help distinguish it from siblings like eda_sch_netlist_get_netlist beyond the obvious get/set polarity.
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, what prerequisites exist (e.g., an open schematic), or when to prefer an alternative. The description is silent on any conditions or exclusions, leaving the agent to guess.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_arc_createC
sch_PrimitiveArc.create(startX: number, startY: number, referenceX: number, referenceY: number, endX: number, endY: number, color?: string | null, fillColor?: string | null, lineWidth?: number | null, lineType?: ESCH_PrimitiveLineType | null) -> Promise<ISCH_PrimitiveArc | undefined> 创建圆弧 returns: 圆弧图元对象
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 the tool returns an arc primitive object and takes a Promise, but it does not disclose side effects such as whether the created arc is immediately visible, whether the document needs to be active, what happens on invalid geometry, or whether the operation modifies the current schematic page. The 'returns' line is an output note, not a transparency 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 its compactness is not effective structure. It front-loads a long raw TypeScript signature that is mechanically redundant, then a two-character Chinese phrase '创建圆弧' and a return line. It earns a middling score because it is concise, but the structure does not prioritize useful prose 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?
Given the complexity of a 9-parameter arc creation tool with no annotations and no output schema, the description is severely incomplete. It does not explain the geometric meaning of the three points, the units, the semantics of optional styling parameters, or defaults. The all-caps '创建圆弧' is not enough information for an agent to safely invoke 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?
Schema description coverage is reported as 100%, but the schema's only description is '按官方签名顺序排列的JSON参数数组' (JSON parameter array in official signature order), which explains the transport wrapper, not the semantic meaning of startX/startY/referenceX/referenceY/endX/endY, color, fillColor, lineWidth, lineType. The description's signature lists the parameter names but does not explain coordinate meaning (e.g., does referenceX/referenceY define the control point or the center?) or the enum values of ESCH_PrimitiveLineType. Thus it fails to compensate for the semantic 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 name is descriptive ('eda_sch_primitive_arc_create') and the Chinese description states it creates an arc primitive. However, it lacks a clear English statement of what it does ('创建圆弧' is minimal), and does not meaningfully distinguish it from the many sibling create tools or the closely related eda_pcb_primitive_arc_create. It restates the name with little added information.
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 vs alternatives. The sibling list contains eda_sch_primitive_circle_create, eda_sch_primitive_line_create, eda_sch_primitive_wire_create, and the PCB equivalent eda_pcb_primitive_arc_create, but the description gives no context about which document type or context this applies to beyond the implied 'sch' prefix. No exclusions 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.
eda_sch_primitive_arc_deleteB
sch_PrimitiveArc.delete(primitiveIds: string | ISCH_PrimitiveArc | Array | Array) -> Promise 删除圆弧 returns: 删除操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the burden of behavioral disclosure. It only states that the tool deletes arcs and returns a boolean indicating success. It does not mention that deletion is permanent, what happens if some IDs are invalid, or any side effects like cascading deletion. The lack of such details is a significant gap 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 very concise, with the signature front-loaded and a short Chinese description. It avoids unnecessary words and is easy to scan. However, it is sparse, lacking any explanatory context beyond the basics, which slightly reduces its value despite the crisp 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 simple but the description is missing critical context. It does not explain how to retrieve primitive IDs, whether multiple arcs can be deleted in a single call (though the type suggests yes), or any error/partial-failure behavior. The absence of usage guidelines and behavioral details makes it incomplete for an agent to safely and effectively use the 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 provides the exact type signature for the primitiveIds parameter (string | ISCH_PrimitiveArc | Array<string> | Array<ISCH_PrimitiveArc>), which adds meaningful detail beyond the schema's generic 'args' array. The schema descriptions for args and windowId are generic, but the description clarifies the content and ordering of the first argument. This helps the agent construct valid calls.
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 (delete) and resource (arc) via '删除圆弧' and the method signature 'sch_PrimitiveArc.delete'. It is specific enough to distinguish from other primitive types, though it does not explicitly differentiate from sibling operations like modify or get. The verb+resource is clear, so this is above average.
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 eda_sch_primitive_arc_modify or how to obtain primitive IDs. There is no mention of prerequisites, context, or exclusions. The description leaves the agent without direction on appropriate invocation scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_arc_getC
sch_PrimitiveArc.get(primitiveIds: string) -> Promise<ISCH_PrimitiveArc | undefined>
获取圆弧
returns: 圆弧图元对象,undefined 表示获取失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral burden. It discloses the return type and that undefined indicates failure, which is useful. However, it doesn't mention side effects (expected none for a get), any permission requirements, or what happens if the primitive does not exist. The disclosure is 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?
The description is extremely short (a signature and a few Chinese phrases), which is concise but lacks structure. It doesn't front-load key information like parameters or return behavior in a clear way. It's under-specified rather than efficiently written.
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?
No output schema is present, so the description should explain the return value in detail. It mentions the type and undefined, but doesn't describe the ISCH_PrimitiveArc object structure. It also fails to explain what primitiveIds means or how to obtain it. For a simple get tool, this is insufficient for an agent to call it correctly without further 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?
Schema description coverage is 100% for both args and windowId, so the schema already explains them. The description adds only the signature line showing primitiveIds as the first parameter, but it doesn't elaborate on its format or purpose beyond the name. This meets the baseline for high 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 states the tool gets an arc primitive ('获取圆弧'), which is a clear verb+resource. However, it doesn't differentiate from sibling tools like eda_sch_primitive_arc_get_all or eda_sch_primitive_arc_get_all_primitive_id. The name implies a single get, but no explicit distinction is made.
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, when to use get_all instead, or any selection criteria. The agent is left to infer usage from the name and signature.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_arc_get_allB
sch_PrimitiveArc.getAll() -> Promise<Array> 获取所有圆弧 returns: 圆弧图元对象数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 states the return type (array of arc primitive objects) and the operation (getAll), implying a read-only side-effect-free behavior. However, it does not disclose details about windowId handling, whether it operates on the active document, or any 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 compact: an API signature line, a Chinese phrase meaning 'get all arcs', and a return type note. There is minor redundancy between the English signature and the Chinese return description, but no wasted words overall.
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 a simple getter, the description lacks context such as which document this applies to, whether windowId is needed, or what the structure of ISCH_PrimitiveArc is. No output schema is provided, and the description does not explain the return object structure beyond naming 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?
The input schema describes both parameters (args and windowId) with 100% coverage. The description adds no additional meaning about parameters, but since the schema already documents them, the baseline of 3 applies.
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 all arc primitives (获取所有圆弧) and returns an array of ISCH_PrimitiveArc objects. The verb/resource combination is specific, and the name aligns with the getter pattern. It does not explicitly differentiate from sibling get_all tools, but the resource (arc) 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 guidance on when to use this tool versus alternatives such as eda_sch_primitive_arc_get_all_primitive_id or other primitive getters. There is no mention of 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.
eda_sch_primitive_arc_get_all_primitive_idC
sch_PrimitiveArc.getAllPrimitiveId() -> Promise<Array> 获取所有圆弧的图元 ID returns: 圆弧的图元 ID 数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 state it returns a Promise<Array<string>>, revealing async behavior and return type. However, it does not mention the windowId parameter's scope, whether results are limited to the active document, error conditions, or any side effects. This is minimal disclosure for a getter with no 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 description is short and includes a method signature, which helps. However, it repeats the same information twice: '获取所有圆弧的图元 ID' and 'returns: 圆弧的图元 ID 数组' are essentially identical. The Chinese and English lines are redundant. It is not verbose, but the repetition adds little 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?
For a simple get-all-IDs function, the description states the action and return type, but it omits critical context: it does not mention the windowId parameter at all (though the schema covers it), does not explain whether IDs are scoped to a specific document, and provides no usage context or alternatives. Without an output schema or annotations, the description is incomplete for an agent to fully understand 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 coverage is 100% for the two parameters. The windowId parameter has a specific description ('target EDA window ID; omit to use current active window'), and args is described generically as a JSON array. The tool description adds no parameter information beyond what the schema already provides, so the baseline of 3 applies. It does not compensate for the generic args description, which could confuse an agent about whether any arguments 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 clearly states it retrieves all primitive IDs of arcs ('获取所有圆弧的图元 ID') and returns an array of strings. The verb 'get' and resource 'all primitive IDs of arcs' are specific, and it distinguishes from sibling tools like eda_sch_primitive_arc_get_all (which returns full objects) by explicitly saying IDs. However, it does not explicitly contrast with alternatives, hence 4.
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 on when to use this tool versus alternatives such as eda_sch_primitive_arc_get_all (full objects) or eda_sch_primitive_arc_get (single arc). The description does not mention that this is for retrieving only IDs, nor does it exclude other use cases. An agent must infer the appropriate scenario 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.
eda_sch_primitive_arc_modifyB
sch_PrimitiveArc.modify(primitiveId: string | ISCH_PrimitiveArc, property: { startX?: number; startY?: number; referenceX?: number; referenceY?: number; endX?: number; endY?: number; color?: string | null; fillColor?: string | null; lineWidth?: number | null; lineType?: ESCH_PrimitiveLineType | null }) -> Promise<ISCH_PrimitiveArc | undefined> 修改圆弧 returns: 圆弧图元对象
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 provides the return type `Promise<ISCH_PrimitiveArc | undefined>` and notes the return is an arc primitive object, but it does not explain side effects (e.g., mutating the schematic document), whether the target arc must already exist, or error behavior when a primitive is not found. This is a significant gap 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 appropriately compact and front-loaded: the signature appears first, followed by a succinct purpose statement and return note. It is not overly verbose, though there is minor redundancy between the signature's return type and the repeated 'returns: 圆弧图元对象' line.
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 core API contract—signature, purpose, and return—but lacks surrounding context needed for correct invocation: no mention of prerequisites (existing arc), no clarification of arc property semantics like `referenceX`/`referenceY` or `lineType`, and no guidance on window targeting or failure modes. Given the absence of annotations and output schema, this leaves some important 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 only describes the generic wrapper properties `args` and `windowId`, leaving the real function parameters undocumented. The description compensates by giving the full TypeScript signature, including the type of `primitiveId` and the complete `property` object with all modifiable fields and their types. This provides essential parameter structure, though individual field meanings are not explained in prose.
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 operation as '修改圆弧' (modify arc) and provides the specific method signature `sch_PrimitiveArc.modify(...)`, which identifies both the action and the resource. It is unambiguous but does not explicitly differentiate from sibling tools like `eda_sch_primitive_object_modify` or other primitive-specific modify 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 explicit guidance about when to use this tool versus alternatives such as `eda_sch_primitive_arc_create` or `eda_sch_primitive_object_modify`. However, the 'modify arc' description and the resource-specific naming imply that it should be used when modifying an existing arc primitive, so usage is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_attribute_createA
sch_PrimitiveAttribute.create() -> undefined
创建属性
remarks: 属性图元不支持新建,本接口调用将不会有任何效果
returns: undefined
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description fully discloses the behavior: '属性图元不支持新建' (primitive attribute does not support creation) and '本接口调用将不会有任何效果' (this interface call will have no effect). It also states the return value is 'undefined'. No annotations are provided, so the description carries the full burden and does so exceptionally well, being completely transparent about the no-op 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 concise, containing only the essential information: the function signature, the Chinese description of the no-op behavior, and the return type. It is well-structured with clear sections (remarks, returns) and avoids redundancy, though the first line is redundant with the title.
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 that performs no action, the description is complete: it states the effect (none), the return value (undefined), and the reason (unsupported). It does not explain why an agent might invoke it or warn against usage, but that is not essential for a no-op. The schema covers parameter details, so nothing critical 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 100% for the two parameters (args and windowId), and the schema already describes their purpose. The description adds no additional parameter semantics, so the baseline of 3 applies as the schema does all the work without needing further 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 states '创建属性' (create attribute) with the function signature 'sch_PrimitiveAttribute.create()', clearly identifying the resource and verb. However, it immediately clarifies that the call will have no effect ('本接口调用将不会有任何效果'), making the actual purpose a no-op. It does not differentiate from sibling create tools like eda_sch_primitive_attribute_create_net_label, but the core purpose is comprehensible.
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 or when to avoid it. It only states that the call has no effect, which implicitly suggests it should not be used, but there is no explicit direction or alternative recommendation. The description fails to offer any usage context or selection criteria relative to siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_attribute_create_net_labelC
sch_PrimitiveAttribute.createNetLabel(x: number, y: number, net: string) -> Promise<ISCH_PrimitiveAttribute | undefined> 创建网络标签 remarks: ADD since EDA v4 returns: 网络标签属性图元
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 return type (Promise<ISCH_PrimitiveAttribute | undefined>) and that it is ADD since EDA v4, but it does not explain side effects, coordinate system/units, whether the net must already exist, or what happens on failure (undefined). For a creation tool, 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 compact: a signature line, a short Chinese summary, and two remarks lines. It front-loads the essential call signature. The Chinese-only summary ('创建网络标签') is redundant with the English name but the signature and remarks add 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?
For a creation tool with no annotations and no output schema, the description is incomplete. It lacks coordinate/unit context, net existence requirements, error behavior, and any mention of the windowId parameter's role. The return type is mentioned but the meaning of 'undefined' is not explained.
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 100% for the two wrapper parameters (args array and windowId), but the actual function parameters (x, y, net) are only listed in the description signature without type details or semantics. The description adds the parameter names and order, which is useful, but it doesn't explain units, coordinate origin, or net name 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 states a specific verb ('create') and resource ('net label' / 网络标签) with a clear signature. It is distinguishable from siblings like eda_sch_primitive_attribute_create (generic attribute) and eda_sch_primitive_component_create_net_flag (net flag), though it doesn't explicitly contrast 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?
No guidance on when to use this tool versus alternatives like eda_sch_primitive_component_create_net_flag or eda_sch_primitive_attribute_create. The context implies it is for creating a net label primitive, but there are no explicit 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.
eda_sch_primitive_attribute_deleteA
sch_PrimitiveAttribute.delete() -> boolean
删除属性
remarks: 属性图元不支持删除,本接口调用将不会有任何效果
returns: false
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description fully discloses that the tool is a no-op, always returns false, and that attribute primitives do not support deletion. This goes well beyond the schema and provides the agent with clear expectations of behavior with no hidden 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 short but includes redundant information: the signature line duplicates the tool name, and 'returns: false' repeats the no-effect statement. The mixed Chinese/English structure is compact but could be clearer with a single concise explanatory 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?
For a tool that does nothing, the description is complete: it states the operation, the lack of support, and the return value. No output schema is needed, and an agent can decide not to call it based on this information 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?
The schema covers both parameters with descriptions ('args' and 'windowId'), and the description adds no parameter-specific information. Given the tool's no-op nature, parameter details are irrelevant, but the description does not clarify what to pass, so a baseline score of 3 is appropriate.
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 resource ('attribute') and the intent (delete), but immediately clarifies that the operation is not supported and the call has no effect. This distinguishes it from functional delete tools, though the verb 'delete' could be misleading without the clarification.
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 or which alternative to use instead. The 'no effect' remark implicitly warns the agent not to rely on it, but there is no direction toward a proper deletion method or any conditions for invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_attribute_getB
sch_PrimitiveAttribute.get(primitiveIds: string) -> Promise<ISCH_PrimitiveAttribute | undefined>
获取属性
returns: 属性图元对象,undefined 表示获取失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description is the only behavioral source. It usefully discloses that the call returns a Promise resolving to ISCH_PrimitiveAttribute or undefined on failure, which is meaningful behavioral information. However, it does not describe error behavior beyond undefined, prerequisites, or side effects, though for a getter these are limited.
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 short lines: signature, a plain-language purpose, and return/failure semantics. The most important identifying information is front-loaded and there is no redundant prose.
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 low-complexity getter this is workable: it gives the call signature, return type, and failure indication, and the schema covers the wrapper parameters. It is incomplete around how primitiveIds maps into args, where IDs come from, and how this differs from sibling getters, leaving some inference to the 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 schema already describes args as an ordered JSON array and windowId, so baseline is 3. The description adds the actual signature primitiveIds: string, indicating the first argument is a string, but it does not explain the ID format, whether multiple IDs are allowed, or how they are separated. It 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?
The description identifies the specific operation: sch_PrimitiveAttribute.get, fetching an attribute primitive by primitiveIds, and states the return type. It is clear about what the tool does, and the singular 'get' contrasts with get_all siblings, though it does not explicitly spell out the difference.
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 instead of related tools such as eda_sch_primitive_attribute_get_all or eda_sch_primitive_object_get. The signature implies fetching an attribute by primitive ID, but there is no explicit when/when-not guidance or prerequisite about obtaining primitiveIds.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_attribute_get_allB
sch_PrimitiveAttribute.getAll(parentPrimitiveId?: string) -> Promise<Array> 获取所有属性 remarks: 不传递父图元 ID 将拿到图页中的所有属性图元 returns: 属性图元对象数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 key behavior of the optional parameter (retrieves all page attributes when parentPrimitiveId is omitted), which is valuable. However, it doesn't explicitly state this is a read-only, non-destructive operation (though inferred from the getter name), nor does it mention any potential performance implications, pagination, or ordering. For a simple get-all, this is acceptable 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 brief—just a method signature, a one-line purpose, a remark, and a return type note. It is front-loaded with the purpose and provides essential detail in the remark. No fluff or repetition. The Chinese/English mix is understandable, and the structure is clean. A minor improvement would be to separate the purpose from the signature more clearly.
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 get-all tool, the description covers the critical scoping behavior (parent vs. page-level) and the return type. However, it does not specify the structure of ISCH_PrimitiveAttribute beyond the name, nor does it mention ordering, filtering, or potential error conditions. The lack of an output schema means the agent must infer the attribute object's fields from context. Considering the domain complexity, a bit more detail on the returned objects would improve completeness, but the core usage is clear.
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 only describes generic wrapper parameters (args array and windowId), not the actual domain parameter parentPrimitiveId. The description compensates by showing the method signature with its optional parameter and explaining the effect of omitting it. This adds significant meaning beyond the schema, which is otherwise opaque. Without the description, an agent would not know how to specify the parentPrimitiveId.
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 '获取所有属性' (get all attributes) and provides the method signature with the exact return type. The tool name is also self-explanatory. It distinguishes from the singular 'get' sibling (eda_sch_primitive_attribute_get) by the 'get_all' phrasing, though it doesn't explicitly contrast with the ID-only variant 'get_all_primitive_id'. Clear enough for an agent to know it retrieves full attribute objects.
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 contains a remark about the optional parentPrimitiveId behavior (not passing it yields all attributes in the page), but no explicit guidance on when to choose this tool over alternatives like eda_sch_primitive_attribute_get or eda_sch_primitive_attribute_get_all_primitive_id. The agent is left to infer the appropriate context from the name and signature. No exclusions or alternative recommendations are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_attribute_get_all_primitive_idB
sch_PrimitiveAttribute.getAllPrimitiveId(parentPrimitiveId?: string) -> Promise<Array> 获取所有属性的图元 ID remarks: 不传递父图元 ID 将拿到图页中的所有属性图元 returns: 属性的图元 ID 数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 the optional parameter, the default scope when omitted, and the returned array of strings. Yet it leaves the meaning of 'parent primitive' unclear and does not mention ordering, empty results, or error behavior.
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-loads the signature before the Chinese summary, remarks, and return note. It contains minor redundancy between the signature and the summary, but every section serves a distinct purpose and there is no padding.
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 getter with one optional parameter, the description covers base scope and return type, and no output schema exists to elaborate further. It lacks an explanation of what a parent primitive is and how this tool relates to attribute_get_all, so completeness is adequate 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?
The schema only provides generic args and windowId containers, so the description's signature is the main source of meaning for the parentPrimitiveId parameter and its optionality. However, it still doesn't explain what the parent primitive is or how the filter behaves when supplied, so semantic coverage 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 identifies the operation as retrieving all primitive IDs of attribute primitives via sch_PrimitiveAttribute.getAllPrimitiveId, and states the return type. It is distinguishable from sibling get_all_primitive_id tools by the explicit 'attribute' resource, though it doesn't contrast itself with eda_sch_primitive_attribute_get_all.
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 one concrete usage condition: omitting parentPrimitiveId returns all attribute primitives on the page. However, it does not state when to prefer this ID-only getter over the full-object getter or mention any alternatives, so usage 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.
eda_sch_primitive_attribute_modifyB
sch_PrimitiveAttribute.modify(primitiveId: string | ISCH_PrimitiveAttribute, property: { x?: number | null; y?: number | null; rotation?: number | null; color?: string | null; fontName?: string | null; fontSize?: number | null; bold?: boolean | null; italic?: boolean | null; underLine?: boolean | null; alignMode?: ESCH_PrimitiveTextAlignMode | null; fillColor?: string | null; key?: string; value?: string; keyVisible?: boolean | null; valueVisible?: boolean | null }) -> Promise<ISCH_PrimitiveAttribute | undefined> 修改属性 returns: 属性图元对象
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must carry the behavioral burden. It reveals that the tool modifies an attribute and returns an attribute object, but it does not disclose mutation implications, whether changes are reversible, when undefined is returned, whether the object is modified in place, or any permission/error considerations. For a mutation tool this 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?
The description is dense and front-loaded with the method name and signature, and the trailing '修改属性' / 'returns' lines are minimal. The long type signature is relevant and not padded with fluff, though it lacks human-readable structure and repeats the operation concept in the Chinese phrase.
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 no output schema, so the description must explain return behavior and usage context, but it only says 'returns: 属性图元对象' and omits the possible undefined result from the Promise signature. It also lacks examples, enum definitions, preconditions, and explanation of how to format the args array in practice, leaving an agent under-equipped for a mutation 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?
Although the schema has 100% generic description coverage, the actual parameter details are thin: 'args' and 'windowId' only. The description compensates by providing a full signature with primitiveId types and the complete property object shape (x, y, rotation, color, fontName, fontSize, bold, italic, underLine, alignMode, fillColor, key, value, keyVisible, valueVisible) including nullability. It does not, however, explain enum values, coordinate units, or the semantics of null, so it does not earn a 5.
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 operation via the method signature 'sch_PrimitiveAttribute.modify' and the Chinese phrase '修改属性' (modify properties), identifying a specific resource (primitive attribute) and action (modify). This distinguishes it from sibling tools like eda_sch_primitive_attribute_create, _delete, _get, and the more generic eda_sch_primitive_object_modify.
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 instead of the many sibling modify/create/get tools, nor any mention of preconditions or alternatives. The signature alone does not explain the selection scenario.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_bus_createC
sch_PrimitiveBus.create(busName: string, line: Array | Array<Array>, color?: string | null, lineWidth?: number | null, lineType?: ESCH_PrimitiveLineType | null) -> Promise<ISCH_PrimitiveBus | undefined> 创建总线 returns: 总线图元对象
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 provides a function signature and a terse statement that it creates a bus. It does not disclose side effects, error conditions, undo behavior, or any operational context beyond the signature.
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, consisting of a signature and two short phrases, but it lacks structure such as separate sections for description, parameters, and returns. It is not bloated, but it is also not well-organized.
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 is highly incomplete for a create operation. It does not explain the meaning of parameters (e.g., what 'line' represents), the coordinate system, allowed values for ESCH_PrimitiveLineType, or any requirements like an active document. There is no output schema, so the return type '总线图元对象' is too vague to convey the object structure.
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 supplies the full parameter list with names, types, and optionality (busName, line, color, lineWidth, lineType), which is not present in the input schema that only defines a generic 'args' array. This is essential for an agent to construct correct calls.
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 creates a bus primitive ('创建总线'), with a specific resource and action. It distinguishes from other primitive create tools by name and signature, though it does not explicitly contrast with siblings like eda_sch_primitive_arc_create or eda_sch_primitive_circle_create.
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 mention of prerequisites, such as needing an active schematic document, or situations where this tool is preferred over other primitive creation tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_bus_deleteC
sch_PrimitiveBus.delete(primitiveIds: string | ISCH_PrimitiveBus | Array | Array) -> Promise 删除总线 returns: 删除操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 is a destructive mutation, yet the description never states what happens to connected nets, whether the operation is reversible, or any failure conditions. The only behavior disclosed is the boolean return (success flag), which is already implied by the signature.
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 padding, but it is essentially a raw TypeScript signature dump plus a one-line tautology and a returns note. It is compact rather than genuinely concise prose, and the format is not agent-oriented.
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 no output schema and no annotations, and the tool is destructive. The description omits how to acquire primitiveIds, what the deletion impacts, and window targeting semantics. For a mutation tool with zero structured metadata, this is a significant 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 coverage is 100%, but the schema only describes args as a generic array, which is uninformative. The description compensates by listing the accepted types (string | ISCH_PrimitiveBus | Array<string> | Array<ISCH_PrimitiveBus>). This adds real value, though it never explains what ISCH_PrimitiveBus is or how to resolve primitive IDs, so it 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 Chinese '删除总线' (delete bus) plus the signature states the verb and resource, so an agent can tell this deletes bus primitives. However, it is largely a tautology of the name eda_sch_primitive_bus_delete and does not distinguish itself from sibling delete tools (e.g., eda_sch_primitive_arc_delete, eda_sch_primitive_object_delete) beyond the resource name itself.
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 on when to use this tool versus alternatives, no prerequisites, and no mention that IDs should first be obtained from get_all_primitive_id calls. An agent is left to infer usage entirely from the signature and name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_bus_getB
sch_PrimitiveBus.get(primitiveIds: string) -> Promise<ISCH_PrimitiveBus | undefined>
获取总线
returns: 总线图元对象,undefined 表示获取失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. It usefully states that `undefined` means fetch failure and that the operation returns a Promise, but it does not mention whether the operation is read-only, requires a specific window context, or has any 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-loads the method signature before the brief Chinese summary. It is efficient, though '获取总线' adds little beyond the signature and 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 simple getter with no output schema, the description provides the return type and failure semantics, which is helpful. However, it lacks parameter format details and does not position the tool among its many sibling primitives getters, leaving some ambiguity for an agent deciding when to call 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?
The schema already describes the two wrapper parameters with 100% coverage, so the baseline is 3. The description adds the official signature parameter name and type, `primitiveIds: string`, but does not explain what the string should contain, how multiple IDs are formatted, or how `windowId` affects the lookup.
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 get operation targeting the 'bus' resource and includes the method signature `sch_PrimitiveBus.get(primitiveIds: string)`, making it clear that the tool retrieves a bus primitive object. It does not explicitly distinguish itself from siblings like `eda_sch_primitive_bus_get_all`, but the singular return type and signature imply object-specific retrieval.
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 `eda_sch_primitive_bus_get_all` or other primitive getters. The only signal is the tool name and method signature, which is implied usage rather than explicit direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_bus_get_allB
sch_PrimitiveBus.getAll() -> Promise<Array> 获取所有总线 returns: 总线图元对象数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral burden. It states that the operation returns a Promise of an ISCH_PrimitiveBus array, which reasonably implies a read-only get-all behavior. However, it does not mention the operation's scope (active window vs specified windowId) or any edge-case behavior, so the disclosure is only partial.
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 front-loaded with the API signature and return type. The English/Chinese duplication is minor and does not significantly reduce 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 simple get-all operation, the return type is stated and the parameter schema is complete. Still, the description does not clarify that this returns full bus objects versus the ID-only sibling variant, nor does it state the document/window scope explicitly, leaving mild ambiguity for 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 100%, and the schema already explains the args array and windowId default behavior. The description adds no parameter-level detail, so the baseline score of 3 applies.
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 a get-all operation on bus primitives and states the return type as an array of ISCH_PrimitiveBus. It does not explicitly differentiate itself from sibling tools like eda_sch_primitive_bus_get_all_primitive_id, but the object-array return makes the core purpose understandable.
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 instead of eda_sch_primitive_bus_get, eda_sch_primitive_bus_get_all_primitive_id, or eda_sch_primitive_object_get_all. It also does not explain when to pass windowId or args, so an agent choosing among the bus/schematic siblings gets no decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_bus_get_all_primitive_idC
sch_PrimitiveBus.getAllPrimitiveId() -> Promise<Array> 获取所有总线的图元 ID returns: 总线的图元 ID 数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the behavioral burden. It only states the return type (Promise<Array<string>>) and that it fetches IDs, but does not disclose whether it is read-only, has side effects, performance implications, or any other behavioral traits. Minimal value beyond the function signature.
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, with no fluff. It front-loads the core purpose and return type. However, it is so brief that it omits necessary context, which slightly reduces effectiveness, but for conciseness alone it 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?
Given the absence of annotations and output schema, the description should provide more context about usage and parameters. It does not explain the wrapper parameters (args, windowId), nor does it offer any examples or clarification on when to use this over similar getters. Incomplete for an agent to invoke correctly without additional inference.
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 covers both parameters (args and windowId) with generic descriptions, but the tool description adds no specific meaning. It does not clarify that the original function takes no arguments (so args should be empty) or how windowId affects the result. Since the description does not compensate for the generic nature of the schema parameters, an agent may not know how to correctly pass arguments.
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 it gets all bus primitive IDs ('获取所有总线的图元 ID') and the return type. However, it does not differentiate from siblings like eda_sch_primitive_bus_get_all (which returns full objects) or eda_sch_primitive_bus_get (specific bus). The purpose is clear but not explicitly contrasted with 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 on when to use this tool vs alternatives. The name implies it's for retrieving IDs, but the description does not state conditions like 'use this when you only need IDs, not full objects' or 'prefer this over get_all for performance'. No exclusions or context provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_bus_modifyB
sch_PrimitiveBus.modify(primitiveId: string | ISCH_PrimitiveBus, property: { busName?: string; line?: Array | Array<Array>; color?: string | null; lineWidth?: number | null; lineType?: ESCH_PrimitiveLineType | null }) -> Promise<ISCH_PrimitiveBus | undefined> 修改总线 returns: 总线图元对象
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 says 'modify bus' and notes the return type, but does not disclose side effects, whether the modification is destructive, error conditions, or the possibility of returning undefined (implied by the signature). This is insufficient 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 short but packs a full signature, which is somewhat dense. The Chinese phrases '修改总线' and 'returns: 总线图元对象' are redundant with the signature and add little value. The structure is acceptable but could be more organized with separate sections for purpose and parameters.
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 signature covers parameter structure, but there is no explanation of how to format the args array, whether the modification is in-place or returns a new object, or how errors are handled. With no output schema, the return type is described but not its semantics. The tool's behavior in a typical workflow is not explained.
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 includes the exact TypeScript signature, naming each parameter (primitiveId, property) and their types, which is far more informative than the generic 'args' array in the schema. This helps an agent construct the correct argument array, though it does not elaborate on the meaning of each property field (busName, line, etc.).
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 that it modifies a bus primitive ('修改总线') and provides a full method signature with parameter types. It is distinct from other modify tools via the 'bus' naming, but it does not explicitly contrast with sibling modify tools for other primitive 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?
No guidance is given on when to use this tool versus other primitive modify tools (e.g., eda_sch_primitive_arc_modify). It does not mention prerequisites like a specific window or context, nor any conditions that would make this tool the correct choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_circle_createA
sch_PrimitiveCircle.create(centerX: number, centerY: number, radius: number, color?: string | null, fillColor?: string | null, lineWidth?: number | null, lineType?: ESCH_PrimitiveLineType | null, fillStyle?: ESCH_PrimitiveFillStyle | null) -> Promise<ISCH_PrimitiveCircle | undefined> 创建圆 returns: 圆图元对象
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 reveals the function signature and return type but does not disclose that it modifies the current schematic, may return undefined on failure, or requires an open document. It omits side effects and failure conditions, making it insufficiently transparent for an agent.
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, containing the function signature, a one-line purpose, and a return statement. It is not overly verbose and is well-structured, though the signature is placed first rather than a plain-language purpose, which slightly reduces front-loading.
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 no output schema, so the description should explain the return value in detail; it only says 'returns: circle primitive object' which is vague and doesn't address the 'undefined' case. It also fails to mention that coordinates likely use the document's current units, the need for an active schematic, or any error conditions. The description is inadequate for a tool that creates a primitive in a live document.
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 lists all function parameters with names, types, and optional markers, which goes beyond the generic 'args' array in the schema. It clarifies the order and structure of the required arguments, though it does not explain the meaning of each parameter (e.g., units for coordinates, color format).
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 purpose: it creates a circle primitive via the sch_PrimitiveCircle.create function, and the Chinese text '创建圆' confirms this. It distinguishes from siblings by being specific to circle creation, unlike arc, rectangle, or generic object creation 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 name and signature imply it's for creating a circle, but there is no explicit guidance on when to use this vs. modify/delete/get tools or the generic eda_sch_primitive_object_create. No mention of prerequisites like an active schematic document or 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.
eda_sch_primitive_circle_deleteB
sch_PrimitiveCircle.delete(primitiveIds: string | ISCH_PrimitiveCircle | Array | Array) -> Promise 删除圆 returns: 删除操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior. It only says 'delete circle' and returns a boolean; it does not mention that deletion is destructive, irreversible, or that it operates on the active schematic document. The windowId parameter is not explained in context, and no side effects or error behavior are described.
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: a signature line, a one-word action, and a return note. It front-loads the signature and avoids fluff, but the structure is a bit disjointed with mixed languages.
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 delete operation, but the description lacks essential context: which document it targets, whether it requires an open schematic, what happens if the primitive doesn't exist, and the irreversibility of the action. The output schema is absent, so the return note is useful, but the overall context 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 signature specifies the exact types for primitiveIds (string, ISCH_PrimitiveCircle, or arrays), which adds meaning beyond the schema's generic 'JSON parameter array'. This helps an agent construct the args correctly, though the schema description already covers the 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 action (delete) and the resource (circle) via the Chinese phrase '删除圆' and the method signature. It is specific to circle primitives and distinguishes from sibling delete tools by name and signature, though it does not explicitly mention 'schematic' in prose.
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 arc or bus delete. No exclusions, prerequisites, or context about which document or window it applies to is provided, 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.
eda_sch_primitive_circle_getB
sch_PrimitiveCircle.get(primitiveIds: string) -> Promise<ISCH_PrimitiveCircle | undefined>
获取圆
returns: 圆图元对象,undefined 表示获取失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the burden. It does disclose that the return is a circle primitive object and that `undefined` means failure, which is useful. However, it does not explicitly state read-only behavior, window-context requirements, or why a fetch might fail, though the operation name strongly implies a non-mutating lookup.
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 front-loaded with the signature, followed by a concise Chinese summary and return semantics. Minor duplication exists between the English return type and the Chinese 'returns' line, but overall it is compact 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?
For a simple getter this is mostly adequate: it gives the call signature, return type, and failure sentinel. It lacks an explanation of how `primitiveIds` should be supplied inside `args`, which window/document context applies, and how this tool differs from nearby primitive fetching tools, leaving some ambiguity 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 input schema only describes the generic `args` array and optional `windowId`, while the description adds the actual signature `primitiveIds: string`. This is helpful but thin: it does not explain the expected format of `primitiveIds`, whether multiple IDs are allowed, or whether the argument is required. Schema coverage is nominally 100%, so the description only modestly enriches the 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 a specific operation: get a circle primitive via `sch_PrimitiveCircle.get`, with a clear resource and return type. It is distinguishable from siblings primarily by the tool name and signature rather than an explicit statement, since it does not contrast itself with `eda_sch_primitive_circle_get_all` or the generic primitive-by-id 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 on when to use this tool versus alternatives such as `eda_sch_primitive_circle_get_all`, `eda_sch_primitive_get_primitive_by_primitive_id`, or other circle operations. The description only says what the function does, not the conditions that should lead an agent to select it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_circle_get_allC
sch_PrimitiveCircle.getAll() -> Promise<Array> 获取所有圆 returns: 圆图元对象数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 state a return type (Array<ISCH_PrimitiveCircle>) and the Chinese return description, which is useful. However, it discloses nothing about side effects (it's a getter so likely safe, but not stated), scope (current window? the windowId parameter suggests window targeting), pagination/limits, or whether it returns empty array vs throws. The description is a terse API doc line, not 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 compact: one code signature line, one Chinese phrase, one return description. It's brief but not padded. However, the code signature 'sch_PrimitiveCircle.getAll()' is redundant with the tool name and the mixed-language content could be clearer for an AI agent. Still, every line 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 no annotations and no output schema, the description is incomplete. It doesn't explain what 'circles' refers to (schematic primitive circles in the current document?), how windowId affects the result, what the args array is for (this getAll takes no args?), or any error behavior. For a getter with no schema on return, an agent would benefit from knowing scope and return shape. The name and code signature provide some context, but the description leaves too much implicit.
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 100%, so both parameters (args, windowId) are described in the schema. The description adds nothing about the parameters—'args' as a positional JSON array and 'windowId' for target window are only in the schema. Baseline 3 applies since the schema already covers the parameter meanings.
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 'sch_PrimitiveCircle.getAll()' and '获取所有圆' (get all circles), clearly indicating a get-all operation for circle primitives in the schematic. It returns '圆图元对象数组' (circle primitive object array). While it doesn't explicitly emphasize the 'no filtering' aspect, the verb 'getAll' and the return type make the purpose clear. Sibling tools like eda_sch_primitive_circle_get or eda_sch_primitive_circle_get_all_primitive_id are distinguishable by name, but the description doesn't explicitly differentiate from 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 lacks any guidance on when to use this tool versus alternatives. There's no mention of when to choose getAll vs get vs getAll_primitive_id, no context about whether it operates on the active document or all documents, and no exclusions or alternative tool references. The windowId parameter hints at document targeting but the description doesn't clarify its behavior.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_circle_get_all_primitive_idC
sch_PrimitiveCircle.getAllPrimitiveId() -> Promise<Array> 获取所有圆的图元 ID returns: 圆的图元 ID 数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 states the return type (Promise<Array<string>>) but does not disclose whether the operation is read-only, whether it requires a specific window, or if it has any side effects. The minimal wording gives the agent little beyond the function name itself.
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 but structurally mixed, combining a code-style signature with Chinese prose. It is not overly verbose, but the layout is not front-loaded with the most useful information. The function signature line is redundant with the name, and the Chinese text repeats the same idea. It is adequate but not elegantly 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 simple getter, the description lacks essential context: it does not specify the scope of 'all' (current schematic page vs. entire document), whether it requires an active window, or what the returned IDs can be used for. With no output schema or annotations, the description should provide more behavioral context to help the agent call 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 descriptions cover both parameters (args and windowId) at 100% coverage, so the description does not need to elaborate. However, the description adds no value on top of the schema; it does not clarify the purpose of args or how windowId affects behavior. This aligns with the baseline 3 for high 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 states a specific verb ('获取' - get) and resource ('圆的图元 ID' - circle primitive IDs), which clearly identifies the operation. It distinguishes itself from siblings that target other primitive types (arc, rectangle, etc.) by explicitly mentioning 'circle'. However, it lacks context about scope (current document vs. page), which is a minor gap.
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 that this is for circle primitives only, nor does it contrast with other primitive type tools. The description provides no conditions, exclusions, or references to sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_circle_modifyC
sch_PrimitiveCircle.modify(primitiveId: string | ISCH_PrimitiveCircle, property: { centerX?: number; centerY?: number; radius?: number; color?: string | null; fillColor?: string | null; lineWidth?: number | null; lineType?: ESCH_PrimitiveLineType | null; fillStyle?: ESCH_PrimitiveFillStyle | null }) -> Promise<ISCH_PrimitiveCircle | undefined> 修改圆 returns: 圆图元对象
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 states 'modify' and a return type, but does not disclose side effects (e.g., whether it changes existing data irreversibly), what happens if the primitive does not exist, whether partial updates are supported, or any permission/undo implications. For a mutation tool, 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 technically concise, consisting primarily of a code signature and two short Chinese phrases. It is not overly verbose, but it is not structured as readable natural language; the signature is front-loaded and may be cryptic to an agent. The 'returns' line is redundant given the signature already shows the return type. It earns a middle score—concise but not well-structured for agent comprehension.
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 no output schema and no annotations. The tool has multiple optional properties and a complex type signature, but the description does not explain how to obtain a valid primitiveId, how to pass the property object within args, what the return object looks like (beyond the type name), or what occurs when the primitive is not found. Combined with the lack of usage prerequisites, this is incomplete for an agent to call 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 100% description coverage for args (JSON array in official order) and windowId, so the baseline is 3. The description adds the full function signature, including property names, types, nullability, and the promise return type. However, it does not explain the meaning of each property (e.g., coordinate units, color format, line type enums) or how to structure the args array beyond the raw signature. It adds some value but does not fully compensate for the lack of detailed property 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 says '修改圆' (modify circle) and gives the function signature, making it clear the tool modifies a schematic circle primitive. It is a specific verb+resource. However, it does not explicitly differentiate itself from other modify tools (e.g., eda_sch_primitive_arc_modify), though the name and resource are unambiguous enough. Slight lack of explicit sibling distinction prevents 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 alternatives, no mention of prerequisites (like needing an existing circle primitiveId), and no statement about what distinguishes it from create/get/delete circle tools. The description simply restates the function signature without any usage context. This is below the minimum viable guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_component_createC
sch_PrimitiveComponent.create(component: { libraryType?: ELIB_LibraryType.DEVICE; libraryUuid: string; uuid: string } | ILIB_DeviceItem | ILIB_DeviceSearchItem | { libraryType: ELIB_LibraryType.SYMBOL; libraryUuid: string; uuid: string } | ILIB_SymbolItem | ILIB_SymbolSearchItem, x: number, y: number, subPartName?: string, rotation?: number, mirror?: boolean, addIntoBom?: boolean, addIntoPcb?: boolean) -> Promise<ISCH_PrimitiveComponent | undefined> 创建器件 returns: 器件图元对象
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry behavioral details. It only states the return type (Promise<ISCH_PrimitiveComponent | undefined>) and that it returns a component primitive object. It does not disclose whether the tool modifies the current schematic, whether it requires a selected page, or the effects of parameters like addIntoBom. These are critical for an agent to use it safely.
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, with a single functional line and a short return note. However, it lacks any front-loaded summary that would help an agent quickly grasp the key aspects. The function signature is long and technical, but not wasteful; yet it could be better structured with a clear description first.
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 complex creation tool with many parameters (component, x, y, subPartName, rotation, etc.) and no output schema. The description does not explain prerequisites, parameter ranges, or the meaning of the return value (e.g., what undefined indicates). With a rich sibling set of component creation tools, more detail is needed to avoid misuse.
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 only documents 'args' and 'windowId', with general descriptions. The schema coverage is 100% for the wrapper parameters, but the actual function parameters are hidden inside 'args' with no descriptions. The description's function signature lists parameter names and types, but does not explain semantics like rotation units or mirror behavior. The description adds some meaning via the signature but not enough to fully compensate for the opaque 'args' structure.
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 it creates a component primitive ('创建器件') and the method signature makes the resource clear. It is distinct from sibling component tools like create_cbb_symbol or create_net_flag, though it doesn't explicitly name those alternatives. The function signature is detailed, leaving no ambiguity about what it 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?
There are no explicit guidelines on when to use this tool versus others like eda_sch_primitive_component_create_cbb_symbol or place_component_with_mouse. The description does not mention constraints like needing an active schematic page or library access. The agent must infer from the name and signature that it's for creating a component from a library item.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_component_create_cbb_symbolB
sch_PrimitiveComponent.createCbbSymbol(cbbSymbol: { libraryUuid: string; cbbUuid: string; uuid?: string }, x: number, y: number, rotation?: number, mirror?: boolean) -> Promise<ISCH_PrimitiveCbbSymbolComponent | undefined> 创建复用模块符号 returns: 复用模块符号图元对象
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 it creates a component and returns the created object, but does not disclose effects like whether existing components are overwritten, whether the operation modifies the document undo stack, requires an open schematic document, or how errors (e.g. invalid libraryUuid) behave. The description is a raw TypeScript signature with a one-line Chinese summary; it adds minimal behavioral context beyond the signature itself.
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 compact: a signature plus a 5-character Chinese summary. It front-loads the signature, which is the most useful part. No wasted prose, but it is arguably under-specified rather than concise; still, every word earns its place and the structure is clear.
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 creation tool with no annotations, no output schema, and a generic args array, the description is incomplete. It doesn't state prerequisites (must have a schematic document open, must have a CBB library UUID and CBB UUID from a search), coordinate units, return shape beyond the type name, or failure modes. A sibling like eda_sch_primitive_component_place_cbb_schematic_page exists, and without more context an agent cannot reliably choose or call 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 description embeds the parameter list in the signature (cbbSymbol object, x, y, rotation, mirror), which repeats what the input schema's generic 'args' array does not. Schema coverage is 100%, but the schema only says 'JSON parameter array in official signature order' — it does not name or explain individual parameters. The description names the parameters but does not explain semantics like units for x/y (likely mils), rotation direction/units, or what 'mirror' refers to (mirror about which axis). It adds the parameter names and types, but not deeper 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 is an auto-generated function signature that clearly states the verb ('createCbbSymbol'), the resource ('复用模块符号', reusable module symbol), and the return type. The tool name is also explicit. It distinguishes itself from the sibling 'create' by specifying CBB symbol creation and from the broader CBB library tools. While the description is largely a signature, it does state the specific 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?
There is no guidance on when to use this tool versus alternatives like eda_sch_primitive_component_create or eda_sch_primitive_component_place_cbb_schematic_page. The description does not mention that CBB symbols require a libraryUuid/cbbUuid from a prior library search, nor does it distinguish this from placing an existing CBB symbol. The signature implies prerequisites but no explicit guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_component_create_net_flagA
sch_PrimitiveComponent.createNetFlag(identification: 'Power' | 'Ground' | 'AnalogGround' | 'ProtectGround', net: string, x: number, y: number, rotation?: number, mirror?: boolean) -> Promise<ISCH_PrimitiveComponent | undefined> 创建网络标识 returns: 器件图元对象
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 that the operation returns a Promise resolving to a component primitive or undefined, implying a create action, but it does not mention side effects, prerequisites (e.g., active schematic document), coordinate units, or error conditions. This is a basic level of 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 line function signature plus two short phrases; every piece earns its place. It is compact, immediately readable, and avoids verbose prose.
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 function signature provides the parameter contract and return type, but contextual details like when a net flag is applicable, what coordinate system is used, or what happens on failure are absent. Given the lack of annotations and output schema, the description is only partially complete for an agent to invoke it 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 only provides a generic JSON args array, while the description spells out all parameters (identification, net, x, y, rotation, mirror) with types, enums, and optional markers. This gives the agent complete semantic understanding 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?
The description explicitly states it creates a net flag via the function name and the Chinese phrase '创建网络标识'. It also identifies the resource as a component primitive object in the return type, distinguishing it clearly from other primitive creation tools like wire, arc, or text.
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 creating a net label or other schematic primitives. The sibling list contains many create operations, but the description does not clarify the specific scenario for a net flag.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_component_create_net_portC
sch_PrimitiveComponent.createNetPort(direction: 'IN' | 'OUT' | 'BI', net: string, x: number, y: number, rotation?: number, mirror?: boolean) -> Promise<ISCH_PrimitiveComponent | undefined> 创建网络端口 returns: 器件图元对象
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 the operation returns a Promise resolving to ISCH_PrimitiveComponent or undefined, implying possible failure (undefined). However, it does not state side effects (e.g., mutation of the component), error conditions, or behavioral nuances such as coordinate system or units. The return type hint is useful but insufficient for a create 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 concise, consisting of a single-line method signature and two short lines of Chinese text and return type. It is front-loaded with the signature, but the information is not structured for readability (e.g., no bullet points or paragraph). It is appropriately short, but the lack of organization slightly reduces its usability.
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 is incomplete for an agent to correctly invoke the tool. It does not explain what a net port is, the coordinate system or units for x/y, whether the component must already exist or be selected, or the meaning of the return value. With no output schema and no annotations, the description leaves significant gaps that could lead to incorrect calls.
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 only defines 'args' as an array of generic items with no property details, so the description's signature is the only source of parameter names, types, and optionality (direction: enum, net: string, x/y: number, rotation?/mirror?: optional). This adds meaning beyond the schema. However, it provides no semantic explanation of each parameter (e.g., what 'net' refers to, what x/y represent in the schematic), so the added value is limited to types and structure.
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 explicitly states the method name 'sch_PrimitiveComponent.createNetPort' and the Chinese text '创建网络端口' (create net port), clearly indicating the action of creating a net port on a schematic primitive component. It is distinguishable from sibling create tools (e.g., create_net_flag, create_short_circuit_flag) by the specific 'net_port' in the name, though it does not explicitly contrast 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?
No guidance is provided on when to use this tool versus alternatives. The description is purely the method signature and a one-line purpose; it does not mention prerequisites, context (e.g., whether a component must be selected), or scenarios where this tool is preferred over other primitive creation tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_component_create_short_circuit_flagC
sch_PrimitiveComponent.createShortCircuitFlag(x: number, y: number, rotation?: number, mirror?: boolean) -> Promise<ISCH_PrimitiveComponent | undefined> 创建短接标识 returns: 器件图元对象
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 the return type but does not disclose side effects (e.g., modification of the schematic document), required permissions, or whether the operation is reversible. For a creation tool, 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 two sentences: a function signature and a one-line Chinese purpose plus return type. It is concise and front-loaded with the signature. No wasted words, though the return type line is terse.
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 operates on a schematic document, but the description does not mention the required context (e.g., active window, target schematic) beyond the implicit windowId parameter. It lacks details on behavior, constraints, or interaction with other primitives. For a create operation in a complex EDA environment, the description is underspecified.
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 includes the function signature with parameters x, y, rotation, mirror, which the schema does not enumerate (the schema only shows an opaque args array). This adds meaning beyond the schema, but it does not explain units, coordinate system, or valid ranges for rotation/mirror. The added value is moderate.
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 verb+resource: '创建短接标识' (create short circuit flag) and provides the full function signature. It distinguishes from sibling creation tools like create_net_flag and create_net_port through the explicit 'short circuit flag' concept, though it does not explicitly contrast them. 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?
There is no guidance on when to use this tool versus similar creation tools (e.g., create_net_flag, create_net_port). The description does not mention any prerequisites, exclusions, or alternative tools. An agent must 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.
eda_sch_primitive_component_deleteC
sch_PrimitiveComponent.delete(primitiveIds: string | ISCH_PrimitiveComponent | Array | Array) -> Promise 删除器件 returns: 删除操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral disclosure burden. It does disclose the return type (Promise<boolean>) and its meaning ('删除操作是否成功' - whether deletion succeeded), which is useful. However, it omits critical behavioral details for a destructive mutation: what happens when deleting multiple IDs where some fail (partial failure semantics), whether deletion cascades to connected pins/wires, and whether the operation is reversible. For a delete tool with zero annotation coverage, 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 terse and front-loads the signature, which is an efficient structure. The Chinese explanation and return-value note add minimal but relevant information. However, the bilingual mixing (English signature, Chinese descriptions) could cause ambiguity for non-Chinese agents, and the brevity sacrifices informative content for compactness.
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 destructive operation with no annotations and no output schema, yet the description provides only a bare signature and a one-line return note. It omits the structure of the args array, the meaning of the primitiveIds parameter in practical terms, how windowId is used (only in schema), and failure/edge-case behavior. For a 2-parameter mutation tool without annotation or output-schema support, an agent cannot confidently construct a correct 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 schema reports 100% coverage, but the args parameter's items are empty {} objects, so the actual content is opaque. The description's signature partially compensates by declaring the parameter type (string | ISCH_PrimitiveComponent | Array<string> | Array<ISCH_PrimitiveComponent>), which tells the agent what kinds of values are accepted. However, it doesn't explain what ISCH_PrimitiveComponent is, how IDs are formatted, or how the args array maps to the signature parameters. The windowId parameter is only documented in the schema, not 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 clearly states the verb (delete) and resource (PrimitiveComponent) via the signature and the Chinese '删除器件' (delete component). It's evident this deletes schematic primitive components. However, it doesn't distinguish itself from the many sibling _delete tools (arc_delete, circle_delete, etc.) beyond the component-specific name, and the description essentially restates what the name already conveys.
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. Among the dozens of sibling primitive delete tools (eda_sch_primitive_arc_delete, eda_sch_primitive_bus_delete, eda_sch_primitive_pin_delete, etc.), nothing in the description tells the agent when component deletion is the right choice or what distinguishes it. The tool operates on schematic primitives of type component, but this is never stated as a selection rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_component_getC
sch_PrimitiveComponent.get(primitiveIds: string) -> Promise<ISCH_PrimitiveComponent | undefined>
获取器件
returns: 器件图元对象,undefined 表示获取失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description mentions that `undefined` indicates fetch failure, which is useful, but it omits other behavioral details such as side effects, error handling, or the structure of the returned object. With no annotations provided, the description carries the full burden and falls short.
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—three lines with a signature, a one-line Chinese purpose, and a return note. It is concise without unnecessary verbosity, though the mixing of code signature and natural language could be more 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 getter with no output schema and no annotations, the description is incomplete. It doesn't explain what a component primitive is, how to format primitiveIds, or what the returned object contains. An agent would struggle to use it correctly 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?
The description adds the parameter name 'primitiveIds' and type 'string' via the signature, which is not explicitly in the schema (which only has generic args array and windowId). However, it doesn't clarify the format (e.g., comma-separated, JSON array) or semantics of this parameter, so it only partially compensates for the generic 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 '获取器件' (get device) and provides a function signature indicating a getter, but it's vague about what a 'device' is and doesn't differentiate from siblings like eda_sch_primitive_component_get_all. The tool name makes the purpose clear, but the description adds little beyond that.
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 exclusions, prerequisites, or context that would help an agent choose this over other getters or operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_component_get_allB
sch_PrimitiveComponent.getAll(componentType?: ESCH_PrimitiveComponentType, allSchematicPages?: boolean) -> Promise<Array> 获取所有器件 returns: 器件图元对象数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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. The 'getAll' signature and '获取所有器件' summary make the read-only, list-returning nature clear. However, it does not disclose scope defaults, whether allSchematicPages is required for multi-page results, or possible errors/edge 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 compact and front-loaded with the official API signature, followed by a short Chinese summary and return type. It contains little wasted text, though a bit more structure or separation between signature, summary, and usage notes would improve scannability.
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 get-all operation with no required parameters, the description is minimally viable: it identifies the target resource and return type. But with no annotations and no output schema, it lacks context on the default scope (current schematic page vs. all pages), expected output shape beyond 'object array', and how to choose among the many related primitive-component 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 description provides the parameter names and types in the signature, including componentType and allSchematicPages, and the input schema documents argument ordering via the args array. But neither the description nor the schema explains valid enum values for componentType or the exact effect of allSchematicPages, so semantics remain partially inferred.
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 operation: getting all schematic primitive components and returning them as an array of component objects. The tool name and signature reinforce this, though it does not explicitly distinguish itself from sibling tools like component_get or component_get_all_primitive_id.
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 use this tool versus alternatives such as eda_sch_primitive_component_get, eda_sch_primitive_component_get_all_primitive_id, or eda_sch_primitive_object_get_all. The description only states what the tool does, not the conditions or context that should trigger its use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_component_get_all_pins_by_primitive_idC
sch_PrimitiveComponent.getAllPinsByPrimitiveId(primitiveId: string) -> Promise<Array | undefined> 获取器件关联的所有引脚 returns: 器件引脚图元数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavior fully. It mentions the return type (array of ISCH_PrimitiveComponentPin) but does not explain what a pin object contains, whether the array is ordered, or what happens if the primitiveId is invalid (returns undefined, but not the implications). It doesn't mention side effects (likely none) or error behavior. It adds a little beyond the schema (e.g., '获取器件关联的所有引脚') 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 brief, but it includes a full function signature, a Chinese sentence, and a return type description. It's reasonably concise, but it's not front-loaded with the most critical info; the signature is in code format and may be less readable. The Chinese part is redundant with the signature. It could be more structured with a clear summary first.
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 specific purpose (getting pins for a schematic component), the description is incomplete. It doesn't mention how to obtain the primitiveId, whether it relates to schematic or PCB (context helps), or what the returned pin array is used for. It lacks examples or guidance on error cases. With no output schema, the return type is stated but not the structure of the pins, which is important for an agent to use the results.
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 coverage is 100%, meaning both parameters (args and windowId) are documented, but the description adds minimal value. It mentions 'primitiveId' in the signature string, but the schema's args is a generic array of JSON parameters, and the description does not clarify the format or that a single primitiveId is expected. The windowId parameter is not explained in the description, but it's in the schema. The description adds some meaning by giving the signature, but not much 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?
The description clearly states the tool retrieves all pins associated with a component (primitive) by its ID. It identifies the specific resource (component pins) and the operation (get all), which distinguishes it from general primitive operations like eda_sch_primitive_get_primitive_by_primitive_id. However, it could more explicitly mention that it is specific to schematic components; the name and context imply this.
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 specify that it requires an EDA window context or that it is for schematic primitives only. There are sibling tools like eda_sch_primitive_pin_get_all that might be confused, but no differentiation is given. No context on prerequisites or use cases beyond the basic function.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_component_get_all_primitive_idC
sch_PrimitiveComponent.getAllPrimitiveId(componentType?: ESCH_PrimitiveComponentType, allSchematicPages?: boolean) -> Promise<Array> 获取所有器件的图元 ID returns: 器件的图元 ID 数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It only states that it returns an array of primitive ID strings and does not mention side effects, whether it is read-only, performance implications, or how the allSchematicPages parameter affects scope. The lack of any behavioral detail is a significant gap for a tool with no 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 description is brief and includes a signature, a Chinese purpose line, and a return type line. It is not overly verbose, but it lacks a clear front-loaded summary in a single language and mixes English and Chinese. The structure is acceptable but could be more organized and purposeful.
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 getter tool with no annotations and no output schema, the description should at least explain the scope of the query (current page vs all pages), the meaning of the optional parameters, and confirm it is a read-only operation. The current description only states the return type, which is insufficient for an agent to call it confidently in different 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?
The description includes the signature with parameter names and types (componentType?: ESCH_PrimitiveComponentType, allSchematicPages?: boolean) but does not explain their meaning or behavior. The input schema only provides generic 'args' and 'windowId' fields, so the description is the sole source for parameter understanding. It fails to clarify what componentType filters or what allSchematicPages does, leaving the agent guessing.
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 purpose: '获取所有器件的图元 ID' (get all component primitive IDs), with a specific verb and resource. It also provides the function signature and return type, which adds clarity. However, it does not explicitly differentiate from sibling tools like other get_all_primitive_id functions for different primitive types, relying on the tool name to convey that 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?
There is no guidance on when to use this tool versus alternatives such as eda_sch_primitive_component_get_all (which returns full objects) or other get_all_primitive_id variants. No context about scope (current page vs all pages) or typical use cases is provided, 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.
eda_sch_primitive_component_get_all_property_namesB
sch_PrimitiveComponent.getAllPropertyNames() -> Promise<Array> 获取所有器件的所有属性名称集合 returns: 所有器件的所有属性名称集合
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 the return type (Promise<Array<string>>) and that it is a getter, implying no side effects. However, it does not mention potential errors, performance implications, or whether the result is unique or sorted. For a simple read-only operation, this is adequate 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 very brief, consisting of a method signature and a short Chinese phrase. It is not verbose and gets to the point quickly. It loses a point because it omits any usage context, making it too terse for a full understanding, but it is appropriately sized 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?
Given the tool's simplicity and the presence of a schema covering parameters, the description is mostly complete. It specifies the return type and purpose. However, it does not explain the scope (e.g., applies to the current schematic document) or any constraints, and there is no output schema to detail the return format. An agent might need additional context to know that this operates on the active schematic, which is implied by the name but not stated.
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 already documents both parameters (args and windowId) with descriptions in Chinese, achieving 100% schema description coverage. The description adds no additional meaning about the parameters, so the baseline of 3 applies. It does not clarify how the 'args' array should be used for this method, which has no explicit parameters in the signature.
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 operation: it retrieves all property names of all components (获取所有器件的所有属性名称集合). It specifies the resource (components) and the returned data (property names). It is distinguishable from sibling tools like eda_sch_primitive_component_get_all which returns components, not property names. However, it does not explicitly contrast itself with alternatives, so it loses a point for not differentiating further.
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 when it is appropriate, what prerequisites exist (e.g., active schematic document), or when a different getter might be more suitable. The description only states what it does, not how to choose it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_component_modifyB
sch_PrimitiveComponent.modify(primitiveId: string | ISCH_PrimitiveComponent, property: { x?: number; y?: number; rotation?: number; mirror?: boolean; addIntoBom?: boolean; addIntoPcb?: boolean; designator?: string | null; name?: string | null; uniqueId?: string | null; manufacturer?: string | null; manufacturerId?: string | null; supplier?: string | null; supplierId?: string | null; otherProperty?: Record<string, string | number | boolean> }) -> Promise<ISCH_PrimitiveComponent | undefined> 修改器件 returns: 器件图元对象
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 that it modifies a device and returns a component primitive object, and the `Promise<... | undefined>` return type hints at possible failure. However, it does not disclose whether property updates are merged or replaced, whether null values delete properties, what undefined signifies, or any document-activity or side-effect 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 dense signature plus a short Chinese action phrase and return note. It contains no filler and front-loads the essential invocation details. It is efficient, though it could slightly restructure to separate the human-readable purpose from the technical signature.
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 output schema, the return type is useful, and the signature covers the major parameters. However, the description does not explain how to obtain a valid `primitiveId`, whether partial updates are supported, what `undefined` means, or what document/window context is required. This is adequate for a straightforward call but incomplete for reliable selection among many primitive-modification 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?
The input schema only exposes an opaque `args` array and `windowId`, so the description's full TypeScript signature adds critical parameter meaning. It enumerates `primitiveId` (string or ISCH_PrimitiveComponent) and all optional property fields with types, including `otherProperty`. It does not explain units or semantic relationships, but the property names are largely self-explanatory.
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 concrete operation through the full method signature `sch_PrimitiveComponent.modify(primitiveId, property)` and the Chinese '修改器件' (modify component). It clearly identifies the resource and action: modifying a schematic primitive component. It does not explicitly contrast with siblings like `eda_sch_primitive_object_modify`, but the name and signature are sufficient to differentiate it.
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 name sibling tools, mention prerequisites such as an open schematic document, or explain when `eda_sch_primitive_object_modify` or `eda_pcb_primitive_component_modify` might be more appropriate. An agent must infer usage entirely from the tool name and signature.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_component_place_cbb_schematic_pageC
sch_PrimitiveComponent.placeCbbSchematicPage(cbbSchematicPage: { libraryUuid: string; cbbUuid: string; uuid: string }, x: number, y: number, props?: { reimportWhenNameRepeated?: boolean }) -> Promise 放置复用模块原理图图页 returns: 放置操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 the return type (Promise<boolean>) but gives no indication of side effects, whether it mutates the schematic, requires a specific document to be active, or what happens on failure. The 'reimportWhenNameRepeated' property hints at behavior around name conflicts but is unexplained. The tool likely mutates the schematic, but this is not 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 extremely short – a single line of code signature plus two brief Chinese phrases. It is concise, but the structure is a raw API signature rather than a readable explanation. It front-loads the signature, which is efficient, but the lack of narrative context makes it less accessible. It earns a 3 because it is compact but not well-structured for agent comprehension.
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 placement operation with multiple parameters and no output schema, and annotations are absent. The description fails to explain prerequisite conditions (e.g., an active schematic page), the meaning and units of coordinates, the behavior of the props option, and potential error conditions or side effects. An agent cannot confidently call this tool correctly without additional knowledge. The return type is the only behavioral detail, leaving significant gaps for a non-trivial operation.
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 includes the full function signature with parameter names and types (e.g., cbbSchematicPage with libraryUuid, cbbUuid, uuid; x, y; props.reimportWhenNameRepeated). However, it only lists names and types without explaining their meaning, units, or roles. For instance, what are libraryUuid, cbbUuid, and uuid? What coordinate system do x and y use? What does reimportWhenNameRepeated actually do? The input schema only provides an 'args' array with no internal descriptions, so the description's signature is the only source, but it lacks semantic depth.
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 function signature and a Chinese phrase '放置复用模块原理图图页' (place reusable module schematic page), which clearly indicates the tool places a CBB schematic page onto the schematic. The verb 'place' and resource 'CBB schematic page' are explicit, distinguishing it from other placement tools like place_component_with_mouse. However, it doesn't elaborate on the exact context or what a CBB is, so it's clear but not fully detailed.
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 are many sibling placement tools (e.g., place_component_with_mouse, place_symbol_with_mouse), but no mention of when this specific tool is appropriate, when not to use it, or any prerequisites like an open schematic page. The only implicit signal is the name, which is insufficient for an agent to decide between options.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_component_place_component_with_mouseB
sch_PrimitiveComponent.placeComponentWithMouse(component: { libraryUuid: string; uuid: string } | ILIB_DeviceItem | ILIB_DeviceSearchItem, subPartName?: string) -> Promise 使用鼠标放置器件 remarks: 本接口模拟前端点击放置按钮,指定的器件将绑定到当前鼠标,并在用户后续点击时放置于画布
本接口的返回时机并不会等待用户的放置操作,一旦器件被绑定到鼠标,本接口将立即返回 true 的结果
returns: 是否找到器件
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 the tool binds the component to the mouse, returns immediately without waiting for user placement, and returns true only if the component is found. This is important non-obvious behavior that helps an agent understand the asynchronous nature of the 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 reasonably concise, with a clear signature, a short Chinese summary, and a remark section that adds crucial timing information. It is front-loaded with the action and returns details, and avoids 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 explains the return behavior and the mouse-binding mechanism, but omits important context: it does not mention prerequisites (e.g., an open schematic document), does not explain the windowId parameter, and does not discuss when to use this interactive placement versus alternatives. These omissions leave an agent with incomplete information for 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 input schema is a generic 'args' array with no item structure, so the description's function signature is the primary source of parameter meaning. It lists the component union type and optional subPartName, but does not explain how to obtain these values or what the types represent in detail. This partially compensates for the schema's lack of structure but leaves 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 states the action clearly: 'place component with mouse' and provides the exact function signature. However, it does not explicitly differentiate from the sibling tool 'place_symbol_with_mouse' beyond the name, leaving some ambiguity about when to choose one over the other.
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 like place_symbol_with_mouse or programmatic component creation. The description only explains what the tool does, not the context in which it should be selected.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_component_place_symbol_with_mouseB
sch_PrimitiveComponent.placeSymbolWithMouse(symbol: { libraryUuid: string; uuid: string } | ILIB_SymbolItem | ILIB_SymbolSearchItem, subPartName?: string, properties?: Record<string, boolean | number | string | undefined>) -> Promise 使用鼠标放置符号 remarks: ADD since API v0.2.26
本接口模拟前端点击放置按钮,指定的符号将绑定到当前鼠标,并在用户后续点击时放置于画布
本接口的返回时机并不会等待用户的放置操作,一旦符号被绑定到鼠标,本接口将立即返回 true 的结果
returns: 是否找到符号
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It does disclose the key non-obvious behavior: return timing is immediate (does not wait for placement) and returns true if the symbol is found. However, it omits details like failure modes when the symbol is not found, side effects on the editing session, and whether cancellation is possible. It gives useful transparency but is not thorough for a mutation with user interaction.
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 relatively concise, with the signature and key behavior in a short block. It front-loads the core purpose and then explains behavior. There is some redundancy between the two Chinese explanatory sentences, but overall it is efficient enough.
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 explains the return boolean and the interaction flow, but for an interactive tool it lacks important context: it doesn't state that the function is asynchronous (Promise), doesn't mention prerequisites like an open schematic, doesn't cover what happens if the user never clicks or if the mouse is already bound, and doesn't discuss recovery. Given no annotations or output schema, this is 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?
The input schema only exposes generic 'args' and 'windowId', but the description provides the actual function signature with parameter types (symbol, subPartName, properties). This adds meaningful context beyond the schema. However, it does not explain the semantics of subPartName or properties (e.g., valid values, defaults), so it is only partially helpful.
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 places a symbol using the mouse, and explains it simulates clicking the place button and binds the symbol to the cursor. This is a specific verb+resource. However, it does not explicitly distinguish from sibling placement tools like eda_sch_primitive_component_place_component_with_mouse or place_cbb_schematic_page, so while clear, 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?
No guidance is given on when to use this tool versus alternatives. It does not mention prerequisites (e.g., an active schematic document), nor does it state when another placement tool would be more appropriate. The behavioral notes explain how it works but not when to choose it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_component_set_net_flag_component_uuid_analog_groundB
sch_PrimitiveComponent.setNetFlagComponentUuid_AnalogGround(component: { libraryUuid: string; uuid: string } | ILIB_DeviceItem | ILIB_DeviceSearchItem) -> Promise 设置在扩展 API 中 AnalogGround 网络标识关联的器件 UUID returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 the tool mutates a net-flag/device association and that it returns a boolean success indicator ('returns: 操作是否成功'). It does not mention overwriting behavior, failure conditions, or side effects on existing associations, so it is only moderately 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 compact: one purpose sentence, a signature, and a return note. There is no fluff, though the signature and natural-language sentence repeat some information and there is no visual separation.
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 and no output schema, this description is thin. It lacks examples, selection criteria among sibling net-flag setters, parameter source guidance, and side-effect information, so an agent would have to guess how to build the component argument 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 input schema only provides a generic args array, so the description's type signature ({ libraryUuid: string; uuid: string } | ILIB_DeviceItem | ILIB_DeviceSearchItem) adds meaningful structure. However, it does not explain what libraryUuid and uuid refer to or how to obtain a valid ILIB_DeviceItem, leaving key semantic details 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 states a specific operation: setting the device UUID associated with the AnalogGround net flag ('设置在扩展 API 中 AnalogGround 网络标识关联的器件 UUID'). It gives a verb and resource, and the AnalogGround qualifier distinguishes it from sibling tools for ground, power, and protect_ground. It stops short of explaining what this association means in schematic terms, so not a full 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 given about when to call this tool versus its close siblings (set_net_flag_component_uuid_ground/power/protect_ground) or what prerequisites must be met. The only usage signal is the tool name and the phrase 'in the extension API,' which leave the decision to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_component_set_net_flag_component_uuid_groundC
sch_PrimitiveComponent.setNetFlagComponentUuid_Ground(component: { libraryUuid: string; uuid: string } | ILIB_DeviceItem | ILIB_DeviceSearchItem) -> Promise 设置在扩展 API 中 Ground 网络标识关联的器件 UUID returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 indicates the operation sets a value (mutation) and returns a boolean success flag, but it does not disclose side effects, required permissions, reversibility, or what happens if the flag is already set. The behavioral profile is minimal and 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 short and to the point, but it repeats the signature in a separate Chinese line ('设置在扩展 API 中 Ground 网络标识关联的器件 UUID') which adds little beyond the signature. It is not front-loaded with the most critical information for selection.
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 absence of annotations and output schema, the description is incomplete. It does not explain how to construct the args array (e.g., whether the component object is passed directly or wrapped), what ILIB_DeviceItem and ILIB_DeviceSearchItem are, or what the boolean return signifies beyond success. The tool is simple but still requires more context for 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 description explicitly types the 'component' parameter as { libraryUuid: string; uuid: string } | ILIB_DeviceItem | ILIB_DeviceSearchItem, which adds meaning beyond the generic 'args' array in the schema. However, it does not explain the semantics of libraryUuid and uuid, nor how to structure the args array (e.g., whether component is the only element). The windowId parameter is left 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 sets the device UUID associated with the Ground net flag on a schematic primitive component. The verb 'set' and the specific resource ('Ground net flag component UUID') make the purpose unambiguous, and it distinguishes itself from sibling tools like analog_ground, power, and protect_ground by naming 'Ground' 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?
The description provides no guidance on when to use this tool versus the sibling ground-flag setters (analog_ground, power, protect_ground), nor any context about prerequisites, selection, or alternatives. An agent has to infer usage solely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_component_set_net_flag_component_uuid_powerB
sch_PrimitiveComponent.setNetFlagComponentUuid_Power(component: { libraryUuid: string; uuid: string } | ILIB_DeviceItem | ILIB_DeviceSearchItem) -> Promise 设置在扩展 API 中 Power 网络标识关联的器件 UUID returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden. It discloses that the operation is a 'set' action and that it returns a boolean indicating success. However, it does not explain side effects, whether an existing association is replaced, prerequisite state of the component, permissions, or failure behavior. For a mutating tool this is a meaningful transparency 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 with the method signature, followed by a short Chinese purpose line and return clarification. There is slight redundancy between the signature and the prose, but no wasted or distracting content. It is appropriately sized for a simple API wrapper.
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 gives the essential purpose, parameter shape, and return value, making a basic call possible. However, with no annotations, a generic schema, many sibling variants, and no output schema, more context would be valuable: when to use this versus the ground/analog variants, what the boolean false means, and whether the component must already exist. It is minimally viable 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?
The schema only describes 'args' as a generic positional array, so the description adds real value by providing the component parameter's signature: { libraryUuid: string; uuid: string } | ILIB_DeviceItem | ILIB_DeviceSearchItem. It also clarifies the return type. This goes beyond the generic schema placeholder and helps an agent construct the call, though it leaves some details of the ILIB types to inference.
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: setting the component UUID associated with the Power net flag, with a specific method signature and a concise Chinese explanation. The tool name and description together make the resource and operation unambiguous. However, it does not explicitly distinguish this from the closely related ground/analog_ground/protect_ground 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?
No guidance is given about when to choose this tool over its siblings, such as eda_sch_primitive_component_set_net_flag_component_uuid_ground or analog_ground. The intended usage is only implied by the 'Power' in the name and description, with no explicit selection conditions or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_component_set_net_flag_component_uuid_protect_groundB
sch_PrimitiveComponent.setNetFlagComponentUuid_ProtectGround(component: { libraryUuid: string; uuid: string } | ILIB_DeviceItem | ILIB_DeviceSearchItem) -> Promise 设置在扩展 API 中 ProtectGround 网络标识关联的器件 UUID returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 this is a setter operation and that it returns a boolean success indication, but it does not state side effects, whether an existing UUID is overwritten, required permissions, or any effect on the canvas/document. A mutation tool with zero annotation coverage should clearly describe such impacts.
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 contains the essential signature, purpose, and return type without padding. It is not perfectly structured or front-loaded, and mixing the English signature with Chinese prose slightly reduces readability, but 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?
For a mutation-style tool with no annotations and no output schema, the description is underspecified. It lacks guidance on selecting among the many sibling net-flag setters, prerequisites like whether the component must already exist, and the operational consequence of setting the UUID. The return type is stated, but that alone is not enough contextual 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 input schema only describes a generic 'args' array, so the description adds real value by specifying the component parameter shape: { libraryUuid: string; uuid: string } | ILIB_DeviceItem | ILIB_DeviceSearchItem. It clarifies that the first argument is the component identifier and gives the string fields, though it does not elaborate on how to obtain or construct those 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 states a specific verb ('set') and resource ('ProtectGround 网络标识关联的器件 UUID'), making the action unambiguous. The full method signature plus Chinese explanation clearly conveys that this tool associates a device UUID with the ProtectGround net flag, and the name distinguishes it from sibling tools for ground, analog ground, and power.
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 explains what the tool does but gives no guidance on when to use it versus the sibling set_net_flag_component_uuid_* tools, nor any prerequisites such as requiring an existing component or net flag. There is no mention of exclusions, alternatives, or the conditions under which an agent should select this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_component_set_net_port_component_uuid_biC
sch_PrimitiveComponent.setNetPortComponentUuid_BI(component: { libraryUuid: string; uuid: string } | ILIB_DeviceItem | ILIB_DeviceSearchItem) -> Promise 设置在扩展 API 中 BI 网络端口关联的器件 UUID returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full disclosure burden. It reveals this is a mutation (a setter) and that it returns a boolean success flag, but discloses nothing about side effects, preconditions, failure behavior, or which object must already exist before calling. Minimal value beyond the raw signature.
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 line, which is efficient, but it front-loads a full function signature that largely duplicates the tool name and the schema, and the natural-language sentence is minimal. It is concise without being informative; the structure favors brevity over utility.
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, no output schema, and a large family of near-identical siblings, the description is incomplete. It does not define 'BI', explain the difference from the in/out net-port variants, describe the component param fields, or clarify the args-array construction. An agent lacks what it needs to invoke this correctly and distinguish it from alternatives.
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% (args and windowId are described at a high level). The description shows the component parameter's shape ({libraryUuid, uuid} | ILIB_DeviceItem | ILIB_DeviceSearchItem) but does not explain what libraryUuid or uuid represent or how to map the component into the opaque 'args' array. Baseline 3 applies since the schema documents the two parameters, but the description adds little semantic depth.
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 and resource (sets the device UUID associated with a BI network port) and is technically accurate. However, it fails to differentiate from a dense cluster of near-identical siblings (set_net_port_component_uuid_in, _out, and the set_net_flag_component_uuid_ground/power/analog_ground/protect_ground variants). It also uses the unexplained acronym 'BI' without defining it, leaving an agent unable to tell this from the in/out variants on purpose alone.
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 very similar siblings. Given eight+ near-identical set_net_port/set_net_flag tools, explicit when-to-use / when-not-to-use guidance is critical, and the description provides none. This is a serious gap for an agent that must select among lookalike tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_component_set_net_port_component_uuid_inB
sch_PrimitiveComponent.setNetPortComponentUuid_IN(component: { libraryUuid: string; uuid: string } | ILIB_DeviceItem | ILIB_DeviceSearchItem) -> Promise 设置在扩展 API 中 IN 网络端口关联的器件 UUID returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that the call returns a Promise<boolean> and that the boolean indicates whether the operation succeeded, and 'set' implies mutation. However, with no annotations, it does not explain side effects, prerequisites such as an existing net port component, or failure conditions. It provides the minimum return-semantics transparency but no deeper 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 compact: one signature, a one-line purpose, and return semantics, with the callable signature front-loaded. The English/Chinese duplication is minor and does not hurt clarity. Every sentence contributes useful 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?
For a mutation tool with no annotations and no output schema, the description is missing important context: valid object sources, sibling differentiation, behavior on overwrite, and error cases. The TypeScript signature helps, but an agent is left to infer prerequisites and exact effects. This is insufficient for reliable invocation in a large sibling-heavy API.
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 only offers generic args and windowId fields, while the description's signature adds the concrete component parameter shape: { libraryUuid: string; uuid: string } | ILIB_DeviceItem | ILIB_DeviceSearchItem. This meaningfully tells an agent what to place in the args array. It does not define the ILIB types, but it goes 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 states a concrete setter action ('setNetPortComponentUuid_IN') and the target resource: the device/component UUID associated with an IN network port. It is distinguishable from the _out/_bi sibling variants by the explicit 'IN' qualifier, though it never contrasts those siblings. A 5 is not warranted because the description inconsistently says 'device UUID' while the method name says 'ComponentUuid'.
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 about when to choose this tool over the nearly identical _out and _bi net-port setter siblings, nor are prerequisites or conditions for use stated. The only usage hint is the implicit 'IN' in the name and description. For a family of similar setters, this leaves selection up to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_component_set_net_port_component_uuid_outB
sch_PrimitiveComponent.setNetPortComponentUuid_OUT(component: { libraryUuid: string; uuid: string } | ILIB_DeviceItem | ILIB_DeviceSearchItem) -> Promise 设置在扩展 API 中 OUT 网络端口关联的器件 UUID returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 'set' and returns a boolean, but does not explain side effects (e.g., whether the schematic is mutated), overwriting behavior, failure modes, or permission requirements. The signature adds no behavioral context beyond the return type.
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—a single signature line plus a short Chinese explanation and a return note. It front-loads the signature and adds the key semantic phrase without excessive verbosity, though the return statement duplicates the Promise<boolean> type already in the signature.
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 operation, but the description omits essential context: preconditions (e.g., must the component already exist?), what happens on failure, and how it interacts with the OUT network port. It also doesn't mention related siblings (IN variant) or error handling. Given no annotations, this is a significant completeness 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 schema's args property is only a generic 'JSON parameter array' with no element detailsainer, while the description provides the exact signature: component can be a { libraryUuid, uuid } object or ILIB_DeviceItem/ILIB_DeviceSearchItem. This is essential parameter semantics that the schema alone lacks.
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 and resource: 'set' the 'device UUID associated with the OUT network port' on a sch_PrimitiveComponent. The OUT in both the tool name and the Chinese explanation distinguishes it from sibling tools like eda_sch_primitive_component_set_net_port_component_uuid_in, and the return type Promise<boolean> indicates success.
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 like the IN variant or other component operations. There are no preconditions, exclusions, or hints about required context (e.g., active document, component existence), 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.
eda_sch_primitive_get_primitive_by_primitive_idB
sch_Primitive.getPrimitiveByPrimitiveId(id: string) -> Promise<ISCH_Primitive | undefined> 获取指定 ID 的图元的所有属性 returns: 图元的所有属性
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 the function returns a Promise resolving to ISCH_Primitive or undefined, implying it returns undefined when not found. However, it does not state that this is a read-only operation, nor does it mention any side effects or dependencies like windowId. The return type is specified, but other behavioral aspects are omitted.
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, containing a code signature and a one-sentence explanation. It is front-loaded with the signature and is efficient, but it mixes languages (code signature and Chinese text) and does not structure the information in a clear prose form. Still, it is appropriately 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?
For a tool with no output schema and no annotations, the description should provide enough context to invoke it correctly. It does not explain how to pass the primitive ID (which goes into the args array), nor does it mention the windowId parameter or any prerequisites. The description is too thin to be fully usable by an agent without additional inference.
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 describes args as a JSON array in official signature order and windowId as optional. The description does not explain how to construct the args array (e.g., that it should contain the primitive ID as a string). Since schema coverage is 100%, the baseline is 3, but the description adds no value beyond what the schema already provides, and the critical parameter (id) is not explicitly explained.
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 'get', the resource (primitive by ID), and that it returns all properties of that primitive. It distinguishes itself from the plural variant (get_primitives_by_primitive_id) and the type variant (get_primitive_type_by_primitive_id) by specifying a single ID and all properties.
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 the plural or type variants. The description does not mention alternatives or any conditions for selection. An agent would have to infer 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.
eda_sch_primitive_get_primitives_bboxB
sch_Primitive.getPrimitivesBBox(primitiveIds: Array<string | ISCH_Primitive>) -> Promise<{ minX: number; minY: number; maxX: number; maxY: number } | undefined>
获取图元的 BBox
returns: 图元的 BBox,如若图元不存在或没有 BBox,将会返回 undefined 的结果
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden, but it does disclose key behavior: the return type and that missing primitives or primitives without a BBox yield undefined. The getter-style signature makes read-only behavior inferable. It does not cover coordinate units or error behavior, but for a simple read operation this is adequate.
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: signature, Chinese summary, and return condition. Each line contributes useful information, and the essential signature is front-loaded. Slight redundancy exists between the English signature and the Chinese restatement, but it is not wasteful.
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 no output schema, so embedding the return type and the undefined condition is valuable and partially compensates. Still missing are coordinate-system/units context, how to obtain primitive IDs, and an explicit explanation of how windowId scopes the call, making the definition 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?
The input schema only describes args as a positional JSON array, so the embedded signature adds meaningful semantics by naming the actual parameter primitiveIds and its accepted types Array<string | ISCH_Primitive>. The windowId parameter is adequately described by the schema, making this above the baseline.
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 full API signature making it clear the tool computes a bounding box for schematic primitives via primitiveIds and returns minX/minY/maxX/maxY. It is unambiguous about the verb and resource, and the Chinese gloss reinforces the meaning. It does not explicitly contrast with sibling tools like get_primitive_by_primitive_id, so it misses the top 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?
No guidance is given on when to use this tool versus related siblings such as eda_sch_primitive_get_primitive_by_primitive_id, get_primitives_by_primitive_id, or the PCB equivalent eda_pcb_primitive_get_primitives_bbox. The description states only what the tool does, leaving selection context entirely implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_get_primitives_by_primitive_idC
sch_Primitive.getPrimitivesByPrimitiveId(ids: Array) -> Promise<Array> 获取指定所有 ID 的图元的所有属性 returns: 所有图元的所有属性
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description must carry behavioral disclosure. It only mentions the return type (Promise<Array<ISCH_Primitive>>) and that all properties are returned, but does not describe potential errors (e.g., missing IDs), whether it is a read-only operation, or any side effects. This is minimal for a tool with no annotations.
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, consisting of a signature line and two short Chinese sentences. It is front-loaded with the function signature and provides the core purpose without unnecessary detail. However, it lacks a clear structure that separates purpose, usage, and returns.
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 absence of an output schema, the description should clarify the expected return structure and differentiate it from the singular getter. It does not mention how to handle multiple IDs in the args array, error cases, or whether the windowId is required. This leaves the agent with gaps in correctly invoking the 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 schema describes both args (a generic JSON parameter array in official signature order) and windowId (target EDA window), providing 100% coverage. The description adds the function signature, which clarifies that the main argument is an array of string IDs, but it does not explicitly explain how to map the ids into the args array (e.g., as the first element). This adds some meaning beyond the schema but leaves 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 clearly states that the tool retrieves all properties of primitives by their IDs ("获取指定所有 ID 的图元的所有属性"), and the function signature indicates it takes an array of string IDs. However, it does not explicitly contrast with the singular sibling tool (eda_sch_primitive_get_primitive_by_primitive_id), though the name and plural 'primitives' imply it handles multiple IDs.
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; it does not mention scenarios where the singular getter or other primitive retrieval tools would be more appropriate, nor does it list exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_get_primitive_type_by_primitive_idB
sch_Primitive.getPrimitiveTypeByPrimitiveId(id: string) -> Promise<ESCH_PrimitiveType | undefined> 获取指定 ID 的图元的图元类型 returns: 图元类型
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 states the operation and the return type (Promise<ESCH_PrimitiveType | undefined>), which indicates it may return undefined if the ID is not found. However, it does not explain what ESCH_PrimitiveType values are possible or what happens when the ID is invalid. The description is minimal but not misleading; it provides the core behavior of returning the type or undefined, which is a key transparency point.
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, two lines of Chinese text plus a return type note. It front-loads the method signature and purpose, which is efficient. There is no fluff, but the return type line is somewhat redundant with the signature's promise type. Overall, it is appropriately short 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?
For a simple getter that returns a primitive type, the description covers the main intent. However, it lacks details on the possible enum values of ESCH_PrimitiveType, which might be critical for an agent to interpret the result. It also doesn't clarify the difference between the 'args' array and direct 'id' parameter, which could lead to misuse. Given the complexity is low, this is adequate but not complete; an agent might need to guess the structure of the args array.
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 2 parameters: 'args' which is an array for positional arguments in official signature order, and 'windowId' which is a string. The description includes the signature line showing the 'id' parameter, but the schema property 'args' description says 'JSON参数数组按官方签名顺序排列', which implies the array contains the id. However, there is no explicit documentation of what the id is for or how it maps to the args array. The schema coverage is 100% for the two parameters, but the description adds minimal value beyond the signature.
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 function's purpose: retrieving the primitive type of a given primitive ID using the method sch_Primitive.getPrimitiveTypeByPrimitiveId(id). It specifies the resource (primitive type) and the action (get). It is distinct from siblings like eda_sch_primitive_get_primitive_by_primitive_id which returns the primitives themselves. However, it doesn't explicitly differentiate itself from the similar PCB version (eda_pcb_primitive_get_primitive_type_by_primitive_id), but the name itself carries that 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 does not provide any guidance on when to use this tool versus alternatives. It doesn't mention that it should be used to identify the type of a primitive before calling type-specific methods, nor does it exclude usage in favor of other getter functions. The only context is the function name and the operation itself, which implies usage but lacks explicit direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_object_createA
sch_PrimitiveObject.create(content: File | string, startX: number, startY: number, width?: number, height?: number, rotation?: number, mirror?: boolean, fileName?: string) -> Promise<ISCH_PrimitiveObject | undefined> 创建二进制内嵌对象 returns: 二进制内嵌对象图元对象
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the burden. It does disclose that the tool creates a binary embedded object and returns Promise<ISCH_PrimitiveObject | undefined>, including the possibility of undefined. However, it does not mention side effects, required editor state, coordinate units, or what failure/undefined actually means.
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 the signature, followed by a brief Chinese summary. There is minor redundancy because the signature already declares the return type and the 'returns' line repeats it.
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 output schema and no annotations, the description provides a fairly complete API contract: full signature, return type, and target-window parameter via schema. It still lacks important invocation context such as coordinate units, acceptable file/string payload details, and whether an active schematic document is required.
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 signature enumerates all parameters — content, startX, startY, width, height, rotation, mirror, fileName — with types and optionality, which is much more informative than the opaque args array in the schema. It does not fully explain units or content format for File | string, but the parameter names are largely self-explanatory.
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 ('创建二进制内嵌对象', create a binary embedded object) and the resource, backed by the explicit sch_PrimitiveObject.create signature. Sibling tools like eda_sch_primitive_object_modify/get_all/delete make the create intent 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?
No guidance is given about when to use this tool versus the many other schematic primitive creation tools. There are no prerequisites, exclusions, or alternative-selection hints provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_object_deleteB
sch_PrimitiveObject.delete(primitiveIds: string | ISCH_PrimitiveObject | Array | Array) -> Promise 删除二进制内嵌对象 returns: 删除操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description must disclose behavior. It states the delete action and return type (boolean indicating success), but does not mention irreversibility, side effects on related objects, or any prerequisites like an active schematic document. The minimal disclosure leaves behavioral risk unaddressed 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 very compact, containing the signature, a one-line purpose in Chinese, and a return note. It is front-loaded with the essential information and avoids redundancy. However, the mix of English and Chinese might reduce clarity for some agents, though it remains 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?
For a simple delete operation, the description covers the return value and purpose, but it omits important context such as the need for an active schematic document or how windowId affects the target. Since there is no output schema, the return type is stated, but edge cases and error conditions are not mentioned. The tool name implies schematic scope, but the description alone is not fully self-contained.
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 the exact function signature with parameter types (string | ISCH_PrimitiveObject | Array<string> | Array<ISCH_PrimitiveObject>) and order, which goes beyond the schema's generic 'args' array description. It clarifies that the first argument is primitiveIds and hints at the structure, though it does not explain ISCH_PrimitiveObject in detail.
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 ('delete') and resource ('binary embedded object'), and the function signature clarifies it operates on PrimitiveObject. The name itself distinguishes it from sibling delete tools for arcs, circles, etc., but the description does not explicitly contrast it with those alternatives, so it's clear but not fully differentiated.
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 other delete tools (e.g., eda_sch_primitive_arc_delete) or when to use the windowId parameter. No context is given about required preconditions or selection of the target window, 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.
eda_sch_primitive_object_getB
sch_PrimitiveObject.get(primitiveIds: string) -> Promise<ISCH_PrimitiveObject | undefined>
获取二进制内嵌对象
returns: 二进制内嵌对象图元对象,undefined 表示获取失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the return type and explicitly states that `undefined` means failure, which is useful behavioral context. However, with no annotations, it does not cover error behavior, window-targeting implications, or side-effect profile, so the disclosure is adequate 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?
The description is compact: a signature line, a one-line purpose, and a return note. It is front-loaded and free of filler, though it could be better structured if the Chinese purpose and English signature were unified.
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 getter, the description provides the signature, purpose, and failure sentinel, which is workable. But with no output schema and no annotations, and with the real parameter buried inside a generic `args` array, an example or explicit parameter format would be needed for fully confident 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 high, so the baseline is 3. The description adds the actual signature `primitiveIds: string`, which the generic `args` schema hides, but it does not explain the ID format (single string, comma-separated, JSON array), how to encode it into `args`, or how it interacts with `windowId`.
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 the exact API method (`sch_PrimitiveObject.get`) and clearly identifies the resource (`二进制内嵌对象`), making the tool's purpose apparent. It does not explicitly contrast with `eda_sch_primitive_object_get_all` or explain what a binary embedded object is, so it stops short of full 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?
The description gives no guidance on when to use this tool versus the nearby `get_all` variant or other primitive getters. There are no conditions, prerequisites, or exclusions, leaving the agent to infer usage solely from the `get` verb in the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_object_get_allC
sch_PrimitiveObject.getAll() -> Promise<Array> 获取所有二进制内嵌对象 returns: 二进制内嵌对象图元对象数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden for behavioral disclosure. It only states the return type and that it gets all binary embedded objects; it does not confirm whether the operation is read-only, whether it applies to the current window, or what the objects contain. This is minimal 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 short: a signature line, a Chinese purpose line, and a return-type line. It is front-loaded and has little filler, though the 'returns' line partly duplicates the signature.
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, no output schema, and only a terse bilingual description, the agent lacks information about the shape of ISCH_PrimitiveObject, how window selection affects results, and what to place in the generic 'args' array. This is not sufficient for fully confident 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 100%, with the schema describing both 'args' and 'windowId'. The description adds nothing about parameters, and the generic 'args' field remains opaque for this specific tool, meaning the agent still lacks concrete parameter detail 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?
The description clearly states the operation: 'sch_PrimitiveObject.getAll()' and '获取所有二进制内嵌对象' (get all binary embedded objects), with a return type of an array. It has a specific verb and resource, but does not explicitly distinguish itself from sibling tools such as eda_sch_primitive_object_get or eda_sch_primitive_object_get_all_primitive_id.
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. It does not mention that this returns full object data, how it differs from ID-only getters, or when a user would prefer get_all_primitive_id, so the agent must infer usage solely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_object_get_all_primitive_idB
sch_PrimitiveObject.getAllPrimitiveId() -> Promise<Array> 获取所有二进制内嵌对象的图元 ID returns: 二进制内嵌对象的图元 ID 数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the async return type and that the result is an array of primitive IDs, which is useful. With no annotations present, it does not explicitly state that the operation is read-only, nor does it explain scoping or empty-array behavior, but the 'get' semantics imply a safe lookup.
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 the call signature and return type. The Chinese summary and the 'returns' line are slightly redundant with each other, but the overall length is appropriate and contains 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?
For a simple getter with no output schema and no annotations, the description provides the return shape and function signature. However, it leaves gaps: what 'binary embedded object' means, whether the result is scoped to a specific window or schematic, and how this differs from eda_sch_primitive_object_get_all.
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 already covers the generic arguments, and the description adds the method signature `getAllPrimitiveId()`, indicating that no method-specific arguments are expected. This helps an agent know that `args` should be empty, which is meaningful beyond the generic 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 states a concrete retrieval verb and resource: it gets all primitive IDs of binary embedded objects, and the return type makes the intent clear. It does not explicitly distinguish itself from sibling tools like eda_sch_primitive_object_get_all, instead relying on the '_id' suffix in 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 instead of alternatives such as eda_sch_primitive_object_get_all, eda_sch_primitive_object_get, or the many other *_get_all_primitive_id tools. No exclusions, prerequisites, or selection criteria are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_object_modifyB
sch_PrimitiveObject.modify(primitiveId: string | ISCH_PrimitiveObject, property: { content?: File | string; startX?: number; startY?: number; width?: number; height?: number; rotation?: number; mirror?: boolean; fileName?: string }) -> Promise<ISCH_PrimitiveObject | undefined>
修改二进制内嵌对象
returns: 二进制内嵌对象图元对象,undefined 表示修改失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the return type and that `undefined` indicates modification failure, which is useful. However, with no annotations present, it carries the full burden and does not mention side effects, whether the modification is reversible, or any required permissions/context (e.g., active document). It adds some behavioral context but is 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 compact, presenting the signature and return semantics in a few lines. It is not bloated with unnecessary prose. The structure is a bit ad hoc (signature followed by Chinese notes) but still easily parseable.
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 the core operation and parameters but omits contextual details such as the requirement of a schematic document, how to obtain a valid `primitiveId`, and the `windowId` parameter (present in schema but absent from description). There is no output schema, so the return behavior description is helpful 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?
The description includes the full parameter list with types and optional flags, which goes well beyond the generic input schema (which only has an `args` array). It clarifies the shape of the `property` object. However, it does not explain the meaning of each field (e.g., startX, rotation), so some semantic ambiguity remains.
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 operation ('modify') and the resource ('二进制内嵌对象' / binary embedded object), so an agent can tell this is a modification tool for schematic primitive objects. It does not explicitly distinguish it from sibling modify tools (e.g., eda_sch_primitive_wire_modify), but the name and signature make the target clear.
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, such as needing a schematic document open or an existing primitive ID, nor any exclusion criteria compared to other primitive modify tools. The description is purely a function signature.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_pin_createC
sch_PrimitivePin.create(x: number, y: number, pinNumber: string, pinName?: string, rotation?: number, pinLength?: number, pinColor?: string | null, pinShape?: ESCH_PrimitivePinShape, pinType?: ESCH_PrimitivePinType) -> Promise<ISCH_PrimitivePin | undefined> 创建引脚 returns: 引脚图元对象
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 provides the return type (Promise<ISCH_PrimitivePin | undefined>) and a brief 'returns pin primitive object', but does not explain side effects (e.g., mutation of the schematic), error conditions, whether it can return undefined (and why), or any dependencies like active window/document. This is insufficient for a create 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 short and to the point: a signature followed by a one-line purpose and return note. There is no redundant text or verbose explanation, making it efficient 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?
The description lacks critical contextual details for a create operation: it does not mention that it operates on the current schematic document or requires a windowId (though the schema implies it), does not explain coordinate units or coordinate system, and only vaguely describes the return value. Given no output schema, the return should be more explicitly described. Overall, it is incomplete for an agent to call correctly without additional inference.
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 includes the full function signature with parameter names and types (x, y, pinNumber, etc.), which adds semantic meaning beyond the schema's opaque 'args' array description. However, it does not explain the meaning of each parameter (e.g., units for x/y, rotation degrees, pinShape enum values), so agents must infer details. The schema itself has 100% description coverage for the outer structure but not for the args content, so the description 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 it creates a pin (创建引脚) and includes the full function signature with parameter names, making the tool's action and resource unambiguous. It distinguishes itself from sibling create tools like eda_sch_primitive_arc_create by name and the specific sch_PrimitivePin.create signature, though it doesn't explicitly contrast with 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 pin operations (e.g., modify, delete) or other primitive creation tools. There is no mention of prerequisites like an open schematic document or whether this should be used only for creating new pins, 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.
eda_sch_primitive_pin_deleteB
sch_PrimitivePin.delete(primitiveIds: string | ISCH_PrimitivePin | Array | Array) -> Promise 删除引脚 returns: 删除操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 return type (Promise<boolean>, success of deletion), but does not mention that deletion is likely irreversible, what happens to connected schematic nets/wires, or whether object IDs vs object instances behave differently. For a destructive mutation, 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 compact and front-loads the full API signature before the brief Chinese summary. Every element earns its place, though the prose is minimal to the point of terseness.
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 delete tool with no annotations and no output schema, the description is too thin. It omits usage context, preconditions, effects beyond the deletion, and any guidance on valid inputs. An agent would have to infer most operational details from the tool name and sibling 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 only describes a generic 'args' array and windowId, so the description's official signature adds real value by naming the parameter (primitiveIds) and its accepted types. However, it does not explain the structure of ISCH_PrimitivePin, whether object instances vs IDs are preferred, or how to obtain valid pin IDs, leaving meaningful 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 clearly states the operation: '删除引脚' (delete pins) on sch_PrimitivePin, and the signature identifies the resource precisely. It is distinct from sibling tools like eda_sch_primitive_pin_create, eda_sch_primitive_pin_modify, and eda_sch_primitive_pin_get.
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 this tool should be used versus alternatives, no mention of prerequisites (e.g., obtaining pin IDs first via get_all_primitive_id), and no exclusions. The description only states what the tool does, not when it 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.
eda_sch_primitive_pin_getC
sch_PrimitivePin.get(primitiveIds: string) -> Promise<ISCH_PrimitivePin | ISCH_PrimitiveComponentPin | undefined>
获取引脚
returns: 引脚图元对象,undefined 表示获取失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 return type and that `undefined` indicates failure, which is useful. However, it does not explain what happens when multiple IDs are passed, whether the result is a single object or an array, or any side effects (though likely a read operation). The description is minimal and leaves important behavioral details unstated.
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 front-loaded with the signature and return type. The Chinese text adds a brief explanation of the return value. It is concise and to the point, though the mixed-language content and lack of formatting reduce clarity slightly.
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 (2 params, no output schema, no annotations), the description is incomplete. It does not explain how to construct the `args` array, what the `primitiveIds` parameter expects, or how the return value is structured. An agent would struggle to call this tool correctly without additional 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?
Schema description coverage is 100%, but the schema only describes the generic `args` array and `windowId`; it does not document the `primitiveIds` parameter itself. The description mentions `primitiveIds: string` in the signature, which adds some meaning, but it doesn't explain the format (e.g., comma-separated, JSON array, single ID). The description partially compensates for the schema's lack of parameter-specific 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 states a specific verb ('get') and resource ('sch_PrimitivePin'), and the return type is shown. It is distinguishable from sibling tools like eda_sch_primitive_pin_get_all and eda_sch_primitive_pin_get_all_primitive_id by the singular 'get' and the parameter name 'primitiveIds'. However, it doesn't explicitly contrast with those siblings, so it's clear but not fully differentiated.
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 on when to use this tool versus alternatives. The description does not mention that this is for retrieving a single pin primitive by ID, nor does it explain when to prefer eda_sch_primitive_pin_get_all or eda_sch_primitive_pin_get_all_primitive_id. The context is implied by the name and signature, but there is no explicit usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_pin_get_allC
sch_PrimitivePin.getAll() -> Promise<Array> 获取所有引脚 returns: 引脚图元对象数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 that the tool returns a Promise of pin primitive objects but does not state whether the operation is read-only, what scope 'all pins' refers to (e.g., current schematic page vs. document), or how the optional windowId affects behavior. These are meaningful gaps for an unannotated 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 compact, with three short statements and no filler. The signature is front-loaded and the return type is clearly indicated, though the structure is slightly fragmented across separate lines.
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 getter with no annotations and no output schema, the description is incomplete. It omits the operational scope (which window/document the pins come from), has no guidance on alternatives, and does not describe the shape or properties of the returned ISCH_PrimitivePin objects beyond the type 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?
Schema description coverage is 100% for the two parameters (args and windowId), so the baseline is 3. The description adds no parameter-level detail beyond the schema; it only shows an empty getAll() signature, which could slightly conflict with the existence of an args array but does not actively mislead.
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 '获取所有引脚' (get all pins) and the return type is given in the signature and returns line. It identifies the specific resource (pin primitives) and distinguishes from sibling get_all tools by specifying the pin type, though it doesn't explicitly differentiate from eda_sch_primitive_pin_get.
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 eda_sch_primitive_pin_get for a single pin or eda_sch_primitive_pin_get_all_primitive_id for ID-only retrieval. The description gives no context for selection among related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_pin_get_all_primitive_idC
sch_PrimitivePin.getAllPrimitiveId() -> Promise<Array> 获取所有引脚的图元 ID returns: 引脚的图元 ID 数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 the return type and that it returns an array of pin primitive IDs. It does not explicitly say whether the operation is read-only, whether it depends on the active window or the provided windowId, or how it handles empty results. The name implies a getter, but the description itself does not disclose side-effect-free behavior or any limitations.
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 brief, consisting of the function signature and a single line of Chinese explanation. It is not verbose and wastes no words. However, the brevity borders on under-specification, but for a simple getter it is acceptable. The structure is linear and front-loaded with the signature.
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, the description is incomplete. It does not clarify that the args parameter should be an empty array, does not mention that it operates on the current schematic or the window specified by windowId, and does not state whether the returned IDs are strings (though the signature indicates Array<string>). It also omits any error handling or edge-case behavior. The description is too minimal to fully guide 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 schema describes generic 'args' and 'windowId' parameters but does not explain what arguments this specific function expects. The description shows a function signature with empty parentheses, implying no arguments, but it does not explicitly state that the args array should be empty. It also does not explain how windowId relates to the function's operation. The description adds no semantic value beyond the schema's generic parameter 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 explicitly states the verb (获取 = get) and resource (所有引脚的图元 ID = all primitive IDs of pins), making it clear this tool retrieves primitive IDs for pin primitives. It also shows the function signature and return type (Promise<Array<string>>). The name and description together unambiguously distinguish this from sibling get_all_primitive_id tools for other primitive types (arc, bus, circle, etc.).
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 the many sibling tools that also fetch primitive IDs for other primitive types. It does not mention any prerequisites, selection criteria, or exclusions. An agent has no information about when this tool is appropriate over alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_pin_modifyC
sch_PrimitivePin.modify(primitiveId: string | ISCH_PrimitivePin | ISCH_PrimitiveComponentPin, property: { x?: number; y?: number; pinNumber?: string; pinName?: string; rotation?: number; pinLength?: number; pinColor?: string | null; pinShape?: ESCH_PrimitivePinShape; pinType?: ESCH_PrimitivePinType; noConnected?: boolean; otherProperty?: Record<string, string | number | boolean> }) -> Promise<ISCH_PrimitivePin | ISCH_PrimitiveComponentPin | undefined> 修改引脚 returns: 引脚图元对象
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior, but it only includes the return type and a generic 'returns pin primitive object'. It does not mention side effects, whether the pin must exist, error cases, or the meaning of the undefined return value. This is insufficient 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 extremely brief, consisting of a code signature and two short Chinese phrases. While concise, it lacks structure and explanatory text, making it more of a raw API dump than a helpful 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 is incomplete for an agent to use correctly. It lacks guidance on prerequisites, when to use this tool, how to interpret the return value beyond a generic object, and what fields in the property object are commonly used. Without output schema or behavioral notes, the tool is hard 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 description provides the full parameter signature with types and optional flags, which is valuable because the input schema only describes 'args' as an opaque array. However, it does not explain the semantics of individual properties like x, y, rotation, or pinNumber, so agents may not know valid units or 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 clearly indicates the tool modifies a schematic pin via the function signature and the Chinese phrase '修改引脚' (modify pin). The verb and resource are specific, but it does not differentiate from other pin tools like create, delete, or get, relying on the name for 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?
There is no guidance on when to use this tool versus alternatives. No conditions, prerequisites, or context about when modification is appropriate are provided, 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.
eda_sch_primitive_polygon_createB
sch_PrimitivePolygon.create(line: Array, color?: string | null, fillColor?: string | null, lineWidth?: number | null, lineType?: ESCH_PrimitiveLineType | null) -> Promise<ISCH_PrimitivePolygon | undefined> 创建多边形 returns: 多边形图元对象
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 only states that a polygon is created and returned. It does not explicitly disclose that this is a document-mutating write operation, what happens on failure (the Promise<... | undefined> return hints at no-result but offers no reason), or whether an active schematic document/window is required.
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 the most useful content, the full API signature, followed by a one-line gloss and return note. The Chinese '创建多边形' is somewhat redundant with the tool name, but it does not bloat the entry overall.
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 signature, an agent cannot confidently construct valid args: the format of 'line: Array<number>' (flat coordinates? pairs? units?) is undefined, the ESCH_PrimitiveLineType enum values are not listed, and there is no output schema or annotation to explain the ISCH_PrimitivePolygon return or failure behavior. The signature and minimal gloss are insufficient for 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 coverage is 100% with generic descriptions ('args' as an ordered JSON array, 'windowId' as target window), so the baseline is 3. The description adds real value beyond the schema by enumerating the exact inner signature — line, color, fillColor, lineWidth, lineType with types and optionality — which is essential since args.items is an untyped '{}'. However, it does not explain the semantics of the line coordinate array or lineType enum 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 states a specific action and resource — '创建多边形' plus the signature sch_PrimitivePolygon.create — so an agent can tell it creates a polygon primitive. It does not explicitly differentiate it from sibling creation tools (e.g., circle_create, rectangle_create, eda_pcb_math_polygon_create_polygon); the name's eda_sch_primitive prefix carries that 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?
No guidance is given about when to use this tool versus alternatives — no exclusions, prerequisites, or references to sibling tools. '创建多边形' only restates the function; against a sibling list with many similar primitive-create tools, an agent gets no selection help.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_polygon_deleteC
sch_PrimitivePolygon.delete(primitiveIds: string | ISCH_PrimitivePolygon | Array | Array) -> Promise 删除多边形 returns: 删除操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 only states the return type (boolean) and that it deletes a polygon. It does not mention that deletion is irreversible, that multiple polygons can be deleted (though the signature suggests array input), or any side effects like affecting connected nets or requiring the polygon to exist. The absence of these details leaves the agent unaware of critical operational 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 concise, with a single signature line and a one-line Chinese summary. It front-loads the essential information (function name, parameters, return type) without unnecessary elaboration. The bilingual content is efficient, though the English and Chinese repeat the same idea, which is slightly redundant 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?
Given no annotations and no output schema, the description is incomplete for a destructive operation. It fails to mention irreversibility, error handling (e.g., what happens if an ID is invalid), or that it targets the active window unless windowId is specified. It also doesn't clarify that the function can delete multiple polygons at once, which is a significant behavior. The description is too terse to fully equip an agent 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 description provides the full function signature, including the type union for primitiveIds (string, ISCH_PrimitivePolygon, or arrays thereof), which adds meaning beyond the generic 'args' schema description. However, it does not elaborate on the format or constraints of these values, and the windowId parameter is only explained in the schema. Overall, it partially compensates for the schema's generic 'args' field but leaves room for more explicit 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 the operation: 'sch_PrimitivePolygon.delete(...)' and '删除多边形' (delete polygon), with a return type. It names the specific resource (schematic polygon primitive) and distinguishes from siblings like create, modify, and get by its explicit delete verb and object type. However, it doesn't explicitly contrast with other delete tools (e.g., polygon_delete for PCB), though the 'sch' prefix provides implicit 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?
No explicit guidance on when to use this tool versus alternatives. The description does not mention prerequisites, such as needing a valid polygon ID or that it operates on the active window unless a windowId is provided. There is no 'when not to use' or reference to related tools for querying or creating polygons, 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.
eda_sch_primitive_polygon_getB
sch_PrimitivePolygon.get(primitiveIds: string) -> Promise<ISCH_PrimitivePolygon | undefined>
获取多边形
returns: 多边形图元对象,undefined 表示获取失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 does add useful behavior by stating `undefined` means fetch failure and that the result is a polygon primitive object, but it does not disclose error behavior, whether it operates on the current window, or any shape details of `ISCH_PrimitivePolygon`. The read-only nature is only implied by the word 'get'.
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 the signature, followed by a short Chinese summary and return semantics. There is some redundancy between the signature's return type and the separate `returns:` line, but the text is still appropriately sized and contains no 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?
For a simple getter, the signature and failure sentinel provide a minimally viable invocation contract. Yet with no output schema, no annotations, and no sibling guidance, the description leaves gaps around primitive ID format, return object contents, and when to select this tool over adjacent polygon getters.
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 the actual parameter name and type (`primitiveIds: string`) that the generic `args` array in the schema does not expose, which is valuable. However, it does not explain what the string should contain, whether multiple IDs are allowed, or whether it is required, so it only partially compensates for the schema's lack of per-parameter detail.
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 verb/resource pair: it gets a schematic polygon primitive, and the signature `Promise<ISCH_PrimitivePolygon | undefined>` makes the target concrete. However, it does not distinguish itself from close siblings such as `eda_sch_primitive_polygon_get_all` or generic getters like `eda_sch_primitive_get_primitive_by_primitive_id`, so it stops short of full sibling 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 versus alternatives, no mention of needing a primitive ID first, and no exclusion such as 'use get_all to retrieve multiple polygons.' The description is purely an API signature plus a one-line summary, so an agent cannot tell from this text which sibling is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_polygon_get_allC
sch_PrimitivePolygon.getAll() -> Promise<Array> 获取所有多边形 returns: 多边形图元对象数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden. It only gives the Promise<Array<ISCH_PrimitivePolygon>> signature and a one-line return description; it does not state read-only guarantees, window-scoping behavior, or what 'all' covers (active document, project, or workspace).
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 the code signature, followed by a concise Chinese summary. There is minor redundancy between the English signature and the Chinese return note, but it contains no 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?
With no output schema and no annotations, a bare return type is insufficient for an agent to fully understand the tool's behavior. Missing details include the structure of ISCH_PrimitivePolygon, how windowId affects results, and what 'all polygons' means in terms of document scope.
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 already provides full descriptions for args and windowId, so the description adds little beyond the baseline. The 'getAll()' signature implies the args array should be empty, but this is not explicit enough to meaningfully elevate the 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 names the specific operation ('sch_PrimitivePolygon.getAll()') and states it retrieves all polygon primitives ('获取所有多边形'), with the return type confirming the resource. It does not explicitly contrast with sibling tools like eda_sch_primitive_polygon_get_all_primitive_id, but the purpose is still 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?
No guidance is given about when to use this tool versus alternatives. An agent must infer from the name and sibling list that this returns full polygon objects rather than just primitive IDs, which is not explicitly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_polygon_get_all_primitive_idB
sch_PrimitivePolygon.getAllPrimitiveId() -> Promise<Array> 获取所有多边形的图元 ID returns: 多边形的图元 ID 数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 context. The `get` wording and `Promise<Array<string>>` return type signal a read-only, async lookup, and the return shape is disclosed. However, it does not explicitly state that nothing is modified, what scope 'all' refers to, or any empty/error behavior, so transparency is only partial.
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 front-loaded with the method signature and purpose. However, the final `returns: 多边形的图元 ID 数组` line is redundant with the signature and the preceding sentence, so not 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?
For a simple getter with no output schema, the description gives the essential return type, and the schema documents the optional `windowId`. Still, it leaves the scope of 'all' ambiguous and does not state when the active-window default applies, making it minimally adequate rather than 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?
The input schema already documents both parameters with high coverage: `args` is described as a JSON parameter array and `windowId` as the optional target window. The tool description adds no parameter-specific meaning, so the baseline score of 3 applies.
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 exact operation: retrieving all polygon primitive IDs, and it even includes the method signature with the return type. It is clearly about polygon primitive IDs rather than other primitive types, but it does not explicitly differentiate itself from adjacent tools like `eda_sch_primitive_polygon_get_all` or `eda_sch_primitive_object_get_all_primitive_id`.
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. It does not mention that `eda_sch_primitive_polygon_get_all` returns full polygon objects, or that sibling primitive-ID tools are the choice for other primitive types. Usage is only implied by the name and short description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_polygon_modifyB
sch_PrimitivePolygon.modify(primitiveId: string | ISCH_PrimitivePolygon, property: { line?: Array; color?: string | null; fillColor?: string | null; lineWidth?: number | null; lineType?: ESCH_PrimitiveLineType | null }) -> Promise<ISCH_PrimitivePolygon | undefined> 修改多边形 returns: 多边形图元对象
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that the operation modifies a polygon and returns a polygon primitive object (or undefined), which is helpful. But with no annotations, it does not explain side effects, what happens when the primitiveId is invalid, whether changes are reversible, or any required editor/document 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 essential API signature is packed into a single line with no wasted prose, plus a brief Chinese summary and return type. This is efficient, though the lack of natural-language front-loading slightly reduces scannability.
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 signature gives the agent the key parameters and return type, which is essential since the schema itself is vague. However, missing usage context, behavioral caveats, and parameter semantics such as the meaning of the line array leave notable gaps for an unannotated 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 input schema only provides a generic 'args' array and 'windowId', so the description carries the real parameter semantics. It lists primitiveId and the full property object with line, color, fillColor, lineWidth, and lineType types, adding substantial meaning beyond the schema, though it omits details like coordinate units or enum value meanings.
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 '修改多边形' (modify polygon) and includes the full method signature, clearly indicating it modifies a schematic polygon primitive. However, it does not explicitly differentiate this from sibling primitive-modify tools such as eda_sch_primitive_rectangle_modify or eda_sch_primitive_object_modify.
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, and no prerequisites or exclusions are stated. Among many sibling primitive modify tools, the agent is left to infer from the name alone that this is the polygon-specific modifier.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_rectangle_createC
sch_PrimitiveRectangle.create(topLeftX: number, topLeftY: number, width: number, height: number, cornerRadius?: number, rotation?: number, color?: string | null, fillColor?: string | null, lineWidth?: number | null, lineType?: ESCH_PrimitiveLineType | null, fillStyle?: ESCH_PrimitiveFillStyle | null) -> Promise<ISCH_PrimitiveRectangle | undefined> 创建矩形 returns: 矩形图元对象
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 return type (Promise<ISCH_PrimitiveRectangle | undefined>) but doesn't explain when undefined is returned, whether the rectangle is immediately visible, whether it requires an active schematic document, or what happens on failure. The mutation aspect is clear from 'create' but side effects and error conditions are not 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 and front-loads the signature, but it's mostly a raw API signature dump. The Chinese line '创建矩形' (create rectangle) and 'returns: 矩形图元对象' (returns: rectangle primitive object) add minimal value beyond the signature. It's not verbose, but it's not well-structured for an agent to quickly grasp usage.
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 creation tool with no annotations and no output schema, the description is incomplete. It doesn't explain the coordinate system, units, required document context, or failure behavior. The return type is mentioned but not what the object contains or when undefined is returned. An agent would need to infer too much to call this 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 description includes the full function signature with parameter names and types, which adds meaning beyond the generic input schema (which only has 'args' as an array). However, it doesn't explain the meaning of each parameter (e.g., coordinate system, units, what cornerRadius does, color format). The schema coverage is 100% but the schema itself is generic, so the signature helps but lacks semantic depth.
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 operation: creating a rectangle primitive in the schematic editor, with a full TypeScript signature listing all parameters and the return type. It distinguishes itself from sibling rectangle tools (delete/get/get_all/modify) by the verb 'create'. However, it doesn't explicitly state the domain (schematic) in prose, though the tool name and signature imply it.
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 on when to use this tool versus alternatives. It doesn't mention that this creates a rectangle in the schematic document, nor does it explain prerequisites like an open schematic document or active window. The windowId parameter is described in the schema but the description doesn't clarify when it's needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_rectangle_deleteC
sch_PrimitiveRectangle.delete(primitiveIds: string | ISCH_PrimitiveRectangle | Array | Array) -> Promise 删除矩形 returns: 删除操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 the return type (boolean indicating success) and the parameter types, but it does not mention side effects, undoability, or any required permissions. It does not clarify whether deletion is immediate or requires saving.
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 signature, a Chinese phrase, and return explanation. It is not overly verbose, but the bilingual aspect adds some redundancy. Structure is acceptable but could be improved by adding usage 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?
There is no output schema, so the description must explain the return (it does). However, it does not explain how to construct the args array or the role of windowId. It also lacks information about error conditions or what happens if the primitive does not exist. Incomplete for an agent to call 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 only provides a generic args array with no item descriptions, so the description compensates by specifying the primitiveIds parameter and its accepted types. However, it does not explain what ISCH_PrimitiveRectangle is or how to obtain IDs, nor does it mention the windowId parameter. Partial semantic 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 operation: delete a rectangle primitive, and gives the method signature. It is specific to rectangle primitives, distinguishing it from other primitive delete tools. However, it does not mention the schematic context explicitly, but that is implied by the tool name and signature.
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 eda_sch_primitive_object_delete. No context about prerequisites such as having an open document or selecting primitives. The only implied usage is when deleting rectangle primitives, which is not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_rectangle_getB
sch_PrimitiveRectangle.get(primitiveIds: string) -> Promise<ISCH_PrimitiveRectangle | undefined>
获取矩形
returns: 矩形图元对象,undefined 表示获取失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the behavioral disclosure burden. It does usefully state the return type and that `undefined` means retrieval failed, but it does not disclose whether the operation is read-only, how invalid or missing IDs behave beyond returning undefined, or which window/document context applies.
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 the method signature, followed by a minimal Chinese summary and return semantics. It contains no filler, though the signature and the '获取矩形' line are slightly 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?
For a simple getter, the description covers the essential input, return type, and failure signal, but it omits parameter format, usage context, and details of the returned rectangle object. With no output schema and no annotations, an agent would likely need additional information to invoke this correctly in non-trivial 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?
The schema's `args` property is a generic JSON array with no per-item description, so the description adds value by naming `primitiveIds: string`. However, it does not clarify whether `primitiveIds` accepts a single ID, comma-separated IDs, or an array, nor does it explain how the parameter should be ordered inside the `args` array.
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 verb and resource: '获取矩形' (get rectangle) and the API signature `sch_PrimitiveRectangle.get(primitiveIds: string)`, so an agent knows this fetches a rectangle primitive by ID. It does not explicitly contrast with siblings like `eda_sch_primitive_rectangle_get_all` or `eda_sch_primitive_object_get`, but the name and 'get' phrasing make the core purpose clear.
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 `get_all`, `get_all_primitive_id`, or `object_get`. There is no mention of prerequisites, target document, or the relationship to other rectangle primitive tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_rectangle_get_allB
sch_PrimitiveRectangle.getAll() -> Promise<Array> 获取所有矩形 returns: 矩形图元对象数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden; it usefully signals that the call is asynchronous (Promise), returns an array, and is a read/get operation. However, it does not state scope (current window/sheet/project), empty-array behavior, or any side-effect/error characteristics, leaving some behavioral unknowns.
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 definition is short and front-loads the API signature, but the Chinese sentence and the 'returns' line partly restate the same information. It is efficiently sized, with only minor bilingual 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 simple read-only getter this is nearly adequate: it names the return type and has full schema parameter descriptions. It lacks an explicit statement of the retrieval scope (e.g., active document/current schematic) and return item structure, and there is no output schema to fill that 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 schema descriptions cover the two generic params (args and windowId) fully at the wrapper level, so the baseline applies. The description adds no domain-specific parameter detail, and notably does not clarify that getAll() takes no positional args despite the generic 'args' array.
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 resource (schematic rectangle primitives), the operation (get all), and the return product (array of ISCH_PrimitiveRectangle). It is clear on its face though it does not explicitly contrast with sibling tools such as rectangle_get_all_primitive_id or primitive_object_get_all.
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 choose this over sibling primitives' get_all tools, the ID-only variant, or generic primitive_object_get_all. There is no mention of applicable document/window context. An agent must infer selection 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.
eda_sch_primitive_rectangle_get_all_primitive_idB
sch_PrimitiveRectangle.getAllPrimitiveId() -> Promise<Array> 获取所有矩形的图元 ID returns: 矩形的图元 ID 数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full behavioral burden. It includes the method signature and returns Promise<Array<string>>, and 'get' implies a read-only operation, but it does not state document/window scope, behavior when no rectangles exist, or whether any side effects occur. This is minimal but 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 very short and front-loaded: method signature, Chinese purpose, and return type in three compact lines. No filler is present, though the signature partly duplicates 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 simple getter, the return type and purpose are present and the schema explains windowId and args. However, with no annotations, no usage guidance, and no explicit scope qualification, the definition is 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?
Schema description coverage is 100%: both args and windowId have descriptions, so the baseline is 3. The tool description adds no parameter explanation and even shows an empty parameter list in the signature, leaving all semantic weight 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?
Description states a specific verb ('获取') and resource ('矩形的图元 ID') and explicitly says the return value is an array of rectangle primitive IDs. It is distinguishable from eda_sch_primitive_rectangle_get_all by focusing on IDs, though it does not explicitly name or contrast 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?
No guidance is given on when to use this tool versus alternatives such as eda_sch_primitive_rectangle_get_all or eda_sch_primitive_object_get_all_primitive_id. There are no prerequisites, exclusions, or context cues beyond the name itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_rectangle_modifyA
sch_PrimitiveRectangle.modify(primitiveId: string | ISCH_PrimitiveRectangle, property: { topLeftX?: number; topLeftY?: number; width?: number; height?: number; cornerRadius?: number; rotation?: number; color?: string | null; fillColor?: string | null; lineWidth?: number | null; lineType?: ESCH_PrimitiveLineType | null; fillStyle?: ESCH_PrimitiveFillStyle | null }) -> Promise<ISCH_PrimitiveRectangle | undefined> 修改矩形 returns: 矩形图元对象
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It does disclose the mutation effect and the Promise<ISCH_PrimitiveRectangle | undefined> return, indicating the rectangle may not be returned. However, it does not explain when undefined occurs, whether omitted properties are preserved or reset, or the units/coordinate semantics of the geometry fields.
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 definition is compact and front-loaded with the precise API signature. The Chinese "修改矩形" and "returns" line are somewhat redundant with the signature, but there is no wasteful prose.
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 signature provides most parameter and return information, but with no output schema and no annotations, important context is missing: coordinate units, behavior when the primitive does not exist, enum values for lineType/fillStyle, and any preconditions. It is usable but not fully self-contained for a complex 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 input schema only describes args as a generic JSON array, so the embedded signature is the essential source of parameter meaning. It enumerates primitiveId and all eleven optional rectangle properties with types and optional markers, enabling an agent to construct the argument array 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 clearly identifies the operation as modifying a rectangle via "sch_PrimitiveRectangle.modify" and "修改矩形". This unambiguously distinguishes it from sibling tools like rectangle create/get/delete and the generic eda_sch_primitive_object_modify.
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 choose this tool over alternatives, nor any exclusions or prerequisites. The description only states what the tool does, not the context in which it should be used.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_text_createB
sch_PrimitiveText.create(x: number, y: number, content: string, rotation?: number, textColor?: string | null, fontName?: string | null, fontSize?: number | null, bold?: boolean, italic?: boolean, underLine?: boolean, alignMode?: ESCH_PrimitiveTextAlignMode) -> Promise<ISCH_PrimitiveText | undefined> 创建文本 returns: 文本图元对象
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 discloses the return type (ISCH_PrimitiveText | undefined) and the possibility of an undefined result, which is useful. However, it does not describe mutation effects on the document, coordinate system/units for x/y, whether an active document is required, or what the returned object contains. The disclosure is partial.
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 dense signature dump plus two minimal Chinese lines. It is not overly verbose, and the signature is front-loaded, but most of the content is mechanical signature text rather than curated guidance. There is no wasted prose, yet the two human-written lines ('创建文本', 'returns: 文本图元对象') add little beyond what the signature already conveys.
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 an 11-parameter creation tool with no annotations and no output schema, so the description must do substantial work. It provides the full signature but omits coordinate units, active-document requirements, failure semantics beyond 'undefined', and the meaning of the returned object. For an agent to call this correctly it needs more context than is given.
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's args array contains empty items ({}), so the schema provides no parameter information. The description compensates by enumerating all 11 parameters with types and optionality markers in the signature. This adds genuine meaning beyond the schema. However, it does not explain semantics like units for x/y, what ESCH_PrimitiveTextAlignMode values exist, or the meaning of textColor format, so it is 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 states a specific verb (create) and resource (text primitive) via '创建文本' and the signature sch_PrimitiveText.create. It is clearly distinguished from sibling text tools (delete, get, modify, get_all) by the create verb. An agent can tell this is the creation tool 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?
No guidance on when to use this tool versus alternatives, and no exclusions or prerequisites. It does not mention that a schematic document must be active, or that x/y coordinates require a specific unit system. The when-to-use context is entirely absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_text_deleteC
sch_PrimitiveText.delete(primitiveIds: string | ISCH_PrimitiveText | Array | Array) -> Promise 删除文本 returns: 删除操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior. It states it returns a boolean for success, but it doesn't mention side effects like whether deletion is permanent, irreversible, or requires specific permissions. The description implies a mutation but gives no warning about undo or impact on connected nets. This is a gap for a delete 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 brief: a method signature and a two-character Chinese description plus return explanation. It's front-loaded with the signature, then the purpose. There is minimal fluff, though the signature is somewhat verbose for an AI agent, but it's acceptable for a technical 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 delete operation with no output schema and no annotations, the description lacks important context: e.g., what happens if the primitive doesn't exist, whether deletion is cascading, or if there are any restrictions (e.g., can't delete certain text objects). The return type is given but not the full success/failure semantics. Given the complexity of the schematic domain and the many sibling delete tools, this 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 coverage is 100% with an 'args' array and 'windowId' parameter described, but the description's method signature shows the primitiveIds parameter and its types, adding meaning beyond the generic arg array. However, it doesn't detail the format of ISCH_PrimitiveText objects or how to reference them. The description provides the parameter name and return type, but the schema already covers the overall structure.
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 '删除文本' (delete text), which is a specific verb and resource. The method signature shows it deletes primitive text by IDs, differentiating it from other primitive delete tools (e.g., arc, wire). However, it doesn't explicitly state that this is for schematic primitives, but the name 'eda_sch_primitive_text_delete' and sibling context make that clear 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?
No guidance on when to use this tool versus alternatives. Sibling tools like eda_sch_primitive_object_delete exist for generic primitive deletion, and text-specific tools like eda_sch_primitive_text_create and modify are present, but no routing or exclusions are provided. An agent has to infer that this is specifically for text primitives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_text_getB
sch_PrimitiveText.get(primitiveIds: string) -> Promise<ISCH_PrimitiveText | undefined>
获取文本
returns: 文本图元对象,undefined 表示获取失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It usefully states that `undefined` indicates failure and that the return is a `Promise<ISCH_PrimitiveText | undefined>`, making the async and failure semantics explicit. However, it does not disclose whether the operation is strictly read-only, whether it can throw, or what happens with invalid or nonexistent IDs.
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, with a signature line, a short Chinese purpose phrase, and a return semantic. There is minimal redundancy and the key return/failure information is included, though the bilingual formatting adds slight clutter.
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 getter, the return type and failure signal are stated, and no output schema exists to carry that information. But the description omits how the windowId/args interface works and gives no guidance on selecting this tool over closely related siblings, leaving the agent to resolve those gaps from the schema and 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 signature adds meaning by naming the argument `primitiveIds` and giving its type as `string`, which helps interpret the generic `args` array in the schema. However, it does not clarify how multiple IDs are represented or how `primitiveIds` maps into the `args` wrapper, and `windowId` is not mentioned in the description. Schema coverage is high, so a baseline of 3 is appropriate.
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 operation via the signature `sch_PrimitiveText.get(primitiveIds: string)` and the Chinese phrase "获取文本", identifying it as a getter for schematic text primitives. It is distinguishable from `eda_sch_primitive_text_get_all` by the singular/plural scope implied by the name, though it does not explicitly differentiate itself from generic getters like `eda_sch_primitive_get_primitive_by_primitive_id`.
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 `eda_sch_primitive_text_get_all` or `eda_sch_primitive_get_primitive_by_primitive_id`. The description does not state prerequisites, target scenarios, or exclusions, so the agent must infer usage entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_text_get_allB
sch_PrimitiveText.getAll() -> Promise<Array> 获取所有文本 returns: 文本图元对象数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 reveals that this is a read operation returning a Promise<Array<ISCH_PrimitiveText>>, which adds value, but it does not specify scope (e.g., current document, page, or window), behavior when no text exists, or whether filtering is applied.
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 the API signature and return type. There is minor redundancy between the signature, the Chinese one-liner, and the returns line, but no wasted sentences.
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 getter, the description provides the essential return type and operation, but it omits usage context and scope details. Since there are no annotations or output schema, the agent would benefit from knowing whether this targets the active window/page and how it compares to sibling getters.
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 already documents the generic args array and windowId, giving a baseline of 3. The description's signature `getAll()` adds meaning by indicating no positional arguments are needed, which helps disambiguate the generic args array.
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 a specific verb and resource: "获取所有文本" (get all text) and clarifies the return type as an array of text primitive objects. It is clearly a bulk getter for schematic text primitives, though it does not explicitly distinguish itself from sibling getters such as get vs get_all_primitive_id.
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 eda_sch_primitive_text_get, eda_sch_primitive_text_get_all_primitive_id, or eda_sch_primitive_object_get_all. The agent must 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.
eda_sch_primitive_text_get_all_primitive_idC
sch_PrimitiveText.getAllPrimitiveId() -> Promise<Array> 获取所有文本的图元 ID returns: 文本的图元 ID 数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 return type (Array<string>) and that it is a get operation, but does not mention side effects (none expected), required window context, error behavior, or whether it operates on the current schematic page. Minimal 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 extremely concise—a single line plus a returns note. It is front-loaded with the method signature and return type. The bilingual content (Chinese/English) may slightly reduce clarity for some agents, but it remains 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?
For a simple getter with no output schema, the description is mostly sufficient. It clearly states what is returned but does not explicitly mention scope (e.g., current schematic page) or that it returns all text primitives in the active document. This gap is minor given the tool's simplicity.
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 describes both parameters (args and windowId) with 100% coverage. The description adds no additional meaning for these parameters, and the method signature suggests no real parameters beyond the generic wrapper. Baseline 3 is appropriate.
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 verb (get) and resource (all primitive IDs of text), and the tool name itself specifies the primitive type. It does not explicitly differentiate from the many sibling get_all_primitive_id tools, but the name and description together leave no ambiguity about what it returns.
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 other get_all_primitive_id variants (arc, circle, pin, etc.). The description provides no context for selection, leaving the agent to rely solely on the naming convention.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_text_modifyC
sch_PrimitiveText.modify(primitiveId: string | ISCH_PrimitiveText, property: { x?: number; y?: number; content?: string; rotation?: number; textColor?: string | null; fontName?: string | null; fontSize?: number | null; bold?: boolean; italic?: boolean; underLine?: boolean; alignMode?: ESCH_PrimitiveTextAlignMode }) -> Promise<ISCH_PrimitiveText | undefined> 修改文本 returns: 文本图元对象
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden of behavioral disclosure. It reveals that the call returns Promise<ISCH_PrimitiveText | undefined> and modifies text properties, but it does not explain when undefined is returned, whether the change is persisted, what side effects occur on the schematic document, or any error/permission considerations. This is insufficient for a mutation tool with no annotation safety 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 signature is compact and front-loaded, but the natural-language lines are redundant: '修改文本' merely restates what the signature already says, and 'returns: 文本图元对象' duplicates the return type shown in the signature. It is not verbose, but not every line 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 complex mutation tool with no annotations and no output schema, the description is incomplete. It provides the API signature and return type but omits parameter-level semantics, usage guidance, failure behavior, and window/targeting context. An agent would need to make significant assumptions about units, enum values, and partial-update behavior before calling 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 input schema is generic (an args array and windowId only), so the description's TypeScript signature is the primary source of parameter meaning. It adds all property names, optionality, and types, which goes well beyond the schema. However, it still lacks semantic details like coordinate units, textColor format, alignMode enum values, or the meaning of null values, keeping it from a perfect 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 states a specific action ('modify') on a specific resource (sch_PrimitiveText) and lists the editable properties with types, so an agent can tell it is the text-modification tool. It does not explicitly differentiate it from related siblings like eda_sch_primitive_object_modify or the generic create/get/delete text tools, but the resource and method are clear 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?
The description gives no guidance on when to use this tool versus alternatives such as eda_sch_primitive_text_create, eda_sch_primitive_object_modify, or the generic modify tools. It implies 'modify an existing text primitive' from the signature, but there is no explicit context, prerequisite, or exclusion information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_wire_createB
sch_PrimitiveWire.create(line: Array | Array<Array>, net?: string, color?: string | null, lineWidth?: number | null, lineType?: ESCH_PrimitiveLineType | null) -> Promise<ISCH_PrimitiveWire | undefined> 创建导线 returns: 导线图元对象
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden of behavioral disclosure. It only states that it creates a wire and returns an object, but does not mention side effects, required conditions, failure behavior, or any mutation implications. This is minimal disclosure for a creation 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 brief and to the point: a signature and two short Chinese phrases. It avoids unnecessary words and is well-structured, though it could have used the space to include usage 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 description lacks important context such as the format of the `line` parameter (coordinate system, units), the target window/document requirements, and any constraints or defaults. For a creation tool with no output schema, this is incomplete for 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 description includes the full function signature with parameter names and types (line, net, color, lineWidth, lineType), which adds meaning beyond the generic `args` array in the schema. This gives an agent the correct parameter order and types, which is helpful despite the schema coverage being 100%.
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 '创建导线' (create wire) and includes the function signature, clearly indicating it creates a wire primitive. The name also unambiguously denotes a create operation, and it is differentiated from sibling get/modify/delete wire tools by its verb and resource, though it doesn't explicitly mention 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 given on when to use this tool versus alternatives such as modify or delete, and no prerequisites (e.g., active schematic document) are mentioned. The description lacks any context that would help an agent decide when to invoke it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_wire_deleteB
sch_PrimitiveWire.delete(primitiveIds: string | ISCH_PrimitiveWire | Array | Array) -> Promise 删除导线 returns: 删除操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden of behavioral disclosure. It does state that the operation returns a Promise<boolean> indicating deletion success, which is useful, but it does not disclose that the operation is destructive/irreversible, what happens with invalid or already-deleted primitive IDs, or whether connected wiring is affected.
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: the signature appears first, followed by a one-line Chinese summary and a return-value note. Every line carries useful information and there is 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?
For a simple delete operation, the signature plus return semantics provide a minimally viable invocation path, especially with `windowId` documented in the schema. However, the description lacks important context for a destructive action: no warning about irreversibility, no guidance on acquiring valid primitive IDs, and no statement about document/window scope. The definition is adequate 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?
The schema descriptions for `args` and `windowId` exist, but the `args` description is only the generic 'JSON parameter array in official signature order'. The description adds real semantic value by naming the first argument `primitiveIds` and specifying its accepted types: string, ISCH_PrimitiveWire, or arrays of either. It does not explain the shape of ISCH_PrimitiveWire, but that detail is also absent from 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 pairs the verb 'delete' with the resource '导线/wire' and includes the exact API signature, making it apparent that this removes schematic wire primitives. It is distinguishable from sibling create/get/modify wire tools primarily through the tool name and the action verb, but it does not explicitly contrast itself with those 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 when-to-use or when-not-to-use guidance is provided. There are no prerequisites mentioned, no note that primitive IDs must first be obtained via a getter like eda_sch_primitive_wire_get_all_primitive_id, and no alternatives are named. The intended usage is only implied by the delete verb.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_wire_getC
sch_PrimitiveWire.get(primitiveIds: string) -> Promise<ISCH_PrimitiveWire | undefined>
获取导线
returns: 导线图元对象,undefined 表示获取失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. It does add a useful return contract: Promise<ISCH_PrimitiveWire | undefined> and that undefined means retrieval failure. However, it does not explicitly confirm read-only status, and it omits behavior for invalid or missing primitiveIds.
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: a signature line, a one-line purpose, and a one-line return explanation, with no filler. The '获取导线' phrase is slightly redundant with the tool name, but overall the structure is efficient 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?
For a simple get-by-id tool following the standard primitive get/get_all/get_all_primitive_id sibling pattern, the description adequately states input and return semantics. However, with no output schema, the ISCH_PrimitiveWire object shape is undocumented, and the description does not hint at how to obtain primitiveIds (e.g., via the get_all_primitive_id 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 coverage is 100%, establishing a baseline of 3. The description adds some value by showing the official signature 'primitiveIds: string', which tells the agent what to place inside the generic args array, but it adds nothing else 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?
The description states a clear verb and resource ('获取导线' / get wire) and shows the signature sch_PrimitiveWire.get(primitiveIds), so an agent knows this fetches a wire primitive. However, it mostly restates the tool name and does not distinguish this from eda_sch_primitive_wire_get_all or the generic eda_sch_primitive_get_primitive_by_primitive_id.
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 about when to use this tool versus alternatives such as eda_sch_primitive_wire_get_all (when all wires are needed) or the generic get-by-id helpers. No context, exclusions, or alternative routing is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_wire_get_allA
sch_PrimitiveWire.getAll(net?: string | Array) -> Promise<Array> 获取所有导线 returns: 导线图元对象数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations available, the description carries the full behavioral burden. It states that the function returns a Promise of an array of `ISCH_PrimitiveWire` objects)Skip this is essentially a read-only retrieval operation implied by 'getAll', but it does not explicitly mention idempotency, potential side effects, or what happens if no wires exist. The description is adequate for a simple getter but lacks depth beyond the return type.
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 compact: a signature line, a one-sentence Chinese description, and a return type note. No filler or redundancy. The essential information is front-loaded in the signature, making it easy to scan and process.
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 no output schema, and the description only states the return type (array of wire primitives) without detailing the object structure or any examples. It also does not explicitly state which document or window it operates on beyond the optional `windowId` parameter described in the schema. For a simple get-all function, this is reasonable but not comprehensive – an agent might need to know what properties `ISCH_PrimitiveWire` contains to use the result effectively.
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 descriptions cover both `args` and `windowId`, providing 100% coverage. The description adds value by exposing the TypeScript signature `net?: string | Array<string>`, clarifying that the first argument is a net filter and its type. This is not apparent from the generic `args` array schema, so the description meaningfully enhances 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 action as '获取所有导线' (get all wires) and the function signature `sch_PrimitiveWire.getAll(net?)` specifies the resource and operation. This is specific and immediately distinguishes it from related tools like `eda_sch_primitive_wire_get` (single wire) and `eda_sch_primitive_wire_get_all_primitive_id` (IDs only). The verb+resource combination 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 gives no explicit guidance on when to use this tool versus alternatives. It does not mention exclusions, prerequisites, or the fact that `eda_sch_primitive_wire_get` should be used for a single wire. The only implied usage is via the function signature showing an optional `net` filter, but no concrete scenario or 'when not to use' is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_wire_get_all_primitive_idC
sch_PrimitiveWire.getAllPrimitiveId(net?: string | Array) -> Promise<Array> 获取所有导线的图元 ID returns: 导线的图元 ID 数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must fully disclose behavioral traits. It states the return type (array of strings) but does not explicitly confirm that this is a read-only operation or that no modifications occur. The signature suggests a getter, but the description offers no details on side effects, permissions, or error conditions. For a tool with zero annotation coverage, this is insufficient to confidently understand its behavior beyond the basic return.
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 mixes a code signature with Chinese text in a way that is not optimally structured. It front-loads the signature rather than a clear purpose statement. While it is not overly verbose, the structure could be improved by leading with the action and purpose, then detailing the optional filter. The conciseness is acceptable, but the organization detracts from readability.
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 includes the return type ('导线的图元 ID 数组') sufficient for a simple getter, but lacks examples, error handling, or context on when this is appropriate. It does not clarify the meaning of the IDs or how they might be used downstream. Given the simplicity of the operation and the presence of the return declaration, the description is minimally complete but could benefit from more context on usage or prerequisites.
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 an `args` array (with empty item schema) and `windowId`, and the description notes 100% schema coverage. The description's signature includes an optional `net` parameter, but it does not explain how this maps to the `args` array or provide any constraints or format. Since the schema already documents the parameters generically, the description adds marginal value and does not fully clarify parameter semantics, especially the mapping from `net` to `args`. Baseline 3 is appropriate given high schema coverage but limited added clarity.
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 purpose: '获取所有导线的图元 ID' (get all primitive IDs of wires). It identifies the resource (wires) and the action (get all IDs), and the function name reinforces this. However, it does not explicitly differentiate from sibling tools like eda_sch_primitive_polyline_get_all_primitive_id, though the resource type is distinct. A score of 4 reflects good clarity with minor lack of explicit sibling 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?
No guidance is provided on when to use this tool versus alternatives. It does not mention that it is specifically for wire primitives or that other primitive types have separate tools. The description simply states the function signature and return, without contextualizing when to invoke it or what distinguishes it from similar getters. This leaves the agent to infer usage from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_primitive_wire_modifyC
sch_PrimitiveWire.modify(primitiveId: string | ISCH_PrimitiveWire, property: { line?: Array | Array<Array>; net?: string; color?: string | null; lineWidth?: number | null; lineType?: ESCH_PrimitiveLineType | null }) -> Promise<ISCH_PrimitiveWire | undefined> 修改导线 returns: 导线图元对象
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 behavior. It does state the return type (Promise<ISCH_PrimitiveWire | undefined>) and the 'returns' line, but it does not explain side effects (e.g., the wire is changed in the document), error behavior on invalid primitiveId, or whether the modification is persisted or requires a save. The mutating nature is implied by 'modify' but not elaborated.
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, combining a precise signature and two short Chinese lines. It avoids fluff and front-loads the function name and parameters. The structure is slightly technical but efficient, earning a high score for 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?
For a modify operation with no annotations and no output schema, the description is insufficient. An agent needs to know how to obtain the primitiveId (e.g., via get_all), the coordinate system for 'line', accepted values for net/color/lineType, and whether windowId must be provided. The return statement is too vague, and no error or edge cases are covered.
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 only describes a generic 'args' array and windowId, so the description's TypeScript signature is the primary source for parameter structure. It names primitiveId and the property object with its fields and types, which adds meaning beyond the schema. However, it does not explain the semantics of the fields (e.g., what 'line' represents, units, valid net names, color formats), leaving significant gaps for an agent to use the tool 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 clearly states the verb 'modify' and the resource 'wire' via the function signature and the Chinese text '修改导线'. It also lists the modifiable properties (line, net, color, lineWidth, lineType), which makes the purpose specific. However, it does not explicitly distinguish itself from the generic sibling eda_sch_primitive_object_modify, relying on the name and signature to imply the wire-specific 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?
There is no guidance on when to use this tool versus alternatives such as eda_sch_primitive_object_modify, or when to use create/get/delete wire tools. The description provides only the function signature and a terse 'modify wire' statement, leaving the agent to infer context. No prerequisites or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_select_control_clear_selectedC
sch_SelectControl.clearSelected() -> boolean 清除选中 returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 the operation returns a boolean success flag, but it does not explain side effects (e.g., deselecting all primitives in the current schematic), scope, or whether the action can be undone.
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 short lines with no filler; the signature, Chinese action, and return description are each informative. However, the extreme brevity contributes to missing context scored elsewhere.
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-arg selection-clear operation, the combination of name, signature, and schema covers basic invocation (optional windowId). But it omits explicit confirmation that the selection is in the schematic editor, that args should be empty, and any preconditions.
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% at the property-description level, but the descriptions are generic boilerplate ('args' as a JSON parameter array). The method signature 'clearSelected()' adds the useful inference that no arguments are expected, though it does not explicitly state that args should be omitted or empty.
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 'clearSelected() -> boolean' and '清除选中' (clear selection), making the verb and resource clear. However, it largely restates the tool name and does not explicitly differentiate it from sibling select-control tools like get_selected_primitives or do_select_primitives.
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 only states the operation, with no mention of prerequisites, exclusions, or related sibling tools for selection manipulation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_select_control_do_cross_probe_selectD
sch_SelectControl.doCrossProbeSelect(components?: Array, pins?: Array, nets?: Array, highlight?: boolean, select?: boolean) -> boolean 进行交叉选择 returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, and the description offers no behavioral disclosure. It does not explain side effects, what gets selected or highlighted, whether it clears previous selections, or any requirements like an active document. The signature mentions highlight and select booleans, but their effects are left entirely to inference.
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, essentially a code signature plus a Chinese phrase and return note. While concise, it is unstructured and omits essential context. It reads as a raw API dump rather than a purpose-built 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?
With no annotations, no output schema, and multiple parameters, this description is far from complete. It fails to explain the operation's purpose, parameter semantics, return value meaning, side effects, or any prerequisites. An agent cannot safely invoke this tool based solely on the provided 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 description lists the parameter names and types (components, pins, nets as arrays of strings; highlight, select as booleans) via the method signature, which is helpful. However, it does not explain what these parameters represent (e.g., IDs, names, coordinate systems) or how they are used. The schema only documents the generic args array and windowId, so the description is the sole source for parameter meaning, and it 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 states the tool performs cross-probe selection (进行交叉选择), which is a specific verb and resource. However, it does not explain what cross-probe selection entails or how it differs from similar selection tools like do_select_primitives. The phrase is too vague to fully convey the 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?
No guidance is provided on when to use this tool versus alternatives. The description does not mention any prerequisites, target document types, or conditions that would make this the appropriate choice among the many select_control tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_select_control_do_select_primitivesB
sch_SelectControl.doSelectPrimitives(primitiveIds: string | Array) -> Promise 使用图元 ID 选中图元 returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 reports the signature and a Boolean success return; it does not state whether the selection replaces or augments the current selection, how invalid IDs are handled, or what side effects occur.
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 definition is compact and front-loaded: a signature line, a one-line purpose, and a return description. No filler or repetition; each line 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 simple selection call, the definition is minimally sufficient: it identifies the input, the target primitives, and the return type. However, without annotations or an output schema, it should also clarify selection behavior (replace vs. add) and error/window handling, which are meaningful 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's args field is a generic positional array, but the description adds the key semantic detail that the argument is primitiveIds with type string | Array<string>. This helps an agent construct the call correctly, though windowId semantics are only covered by 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 states the tool selects primitives by primitive ID and includes the API signature, so an agent can understand the core action. It does not explicitly contrast itself with sibling tools like do_cross_probe_select or clear_selected, so it falls just short of full sibling 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 about when to use this tool versus the other schematic select-control tools, such as cross-probe selection, clearing selection, or reading selected primitives. The intended usage is only implied by the name and the phrase 'select by primitive ID'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_select_control_get_all_selected_primitivesC
sch_SelectControl.getAllSelectedPrimitives() -> Promise<Array> 查询所有已选中图元的图元对象 returns: 所有已选中图元的图元对象
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior, but it only restates the method signature and return type. It doesn't mention that this is a read-only operation, what happens with an empty selection, or whether a schematic document must be active.
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 front-loaded with the exact API signature. The Chinese line and the 'returns' line are redundant, but the overall size 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?
Despite being a simple read tool, it sits among very similar selection tools with no output schema. The description fails to explain how it differs from `get_selected_primitives` or when to use the ID-returning variants, leaving an agent to guess.
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%, so the baseline is 3. The description adds no parameter-level explanation; `args` and `windowId` are already documented in the schema, and the description doesn't clarify what arguments should be passed for this particular method.
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 verb and resource: it queries all currently selected schematic primitives and returns them as ISCH_Primitive objects. It distinguishes itself from the sibling `_primitive_id` variants by specifying object return, though it doesn't explicitly contrast with `get_selected_primitives`.
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 the many similar selection-control tools. The description doesn't mention when `get_selected_primitives` or `get_all_selected_primitives_primitive_id` should be preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_select_control_get_all_selected_primitives_primitive_idC
sch_SelectControl.getAllSelectedPrimitives_PrimitiveId() -> Promise<Array> 查询所有已选中图元的图元 ID returns: 所有已选中图元的图元 ID
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry behavioral disclosure, but it only states the return type (Promise<Array<string>>) and the core action. It does not mention that this is a read-only operation, behavior when nothing is selected, potential errors, or whether a specific window/document is required beyond the optional windowId parameter.
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 brief, but it repeats the tool name essentially. It lacks a structured format (e.g., sections for purpose, usage, parameters) and includes redundant return-type information already visible in the name. It is acceptable but not well organized.
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 operates in a rich context with many sibling select-control getters, yet the description fails to distinguish it or explain edge cases (e.g., empty selection, active vs. specified window). Without this, an agent cannot reliably decide between this and similar tools or predict the result.
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 no parameter-specific information. The input schema provides generic boilerplate descriptions for 'args' and 'windowId' that are not tailored to this tool. The description does not clarify what arguments this method accepts (likely none besides windowId), 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 clearly states the action (query all selected primitives' IDs) and the resource (selected primitives). However, it does not explicitly differentiate from sibling tools like eda_sch_select_control_get_all_selected_primitives (which returns full primitive objects) or eda_sch_select_control_get_selected_primitives_primitive_id, leaving the distinction to the name alone.
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. The description does not mention the existence of sibling select-control getters or explain the difference between 'all selected' and 'selected' variants. An agent must infer usage from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_select_control_get_current_mouse_positionA
sch_SelectControl.getCurrentMousePosition() -> Promise<{ x: number; y: number } | undefined>
获取当前鼠标在画布上的位置
returns: 鼠标在画布上的位置,undefined 代表当前鼠标不在画布上
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 the function returns a Promise resolving to an object with x and y coordinates, or undefined if the mouse is not on the canvas. This is important behavioral information about the return value. However, it does not mention whether the operation has side effects, requires a specific active document, or could throw errors. Given that this is a simple getter, the disclosed behavior is reasonably 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 compact: a single line with the API signature, a one-sentence Chinese description of the operation, and a brief note on the return value semantics. Every element is necessary and front-loaded. No redundant or off-topic 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?
For a simple read-only getter with no output schema and no annotations, the description covers the essential aspects: what it does, what it returns, and the undefined case. It omits any explicit statement that this applies to the schematic editor, but the 'sch' in the name and the sibling context make that clear. Minor gaps like error behavior or document requirements are not critical for this tool's simplicity.
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 covers both parameters with generic descriptions (args array and windowId), giving 100% coverage. The tool's actual signature 'getCurrentMousePosition()' indicates it takes no arguments, so the args array is empty and windowId is optional. The description does not add tool-specific parameter details beyond what the schema already provides, which is acceptable per the baseline for high 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 operation: 'getCurrentMousePosition()' and in Chinese '获取当前鼠标在画布上的位置' (get the current mouse position on the canvas). It names the specific API and resource, and the 'sch' prefix differentiates it from PCB equivalents. The return type and undefined case are also provided, leaving no ambiguity about 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 gives no guidance on when to use this tool versus alternatives (e.g., the PCB counterpart 'eda_pcb_select_control_get_current_mouse_position'). It does not mention prerequisites, such as an active schematic editor or that the mouse must be over the canvas. The only contextual clue is the tool name itself, which is insufficient for explicit usage routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_select_control_get_selected_primitivesC
sch_SelectControl.getSelectedPrimitives() -> Promise<Array> 查询选中图元的所有参数 returns: 选中图元的所有参数 [已弃用]
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 disclose deprecation, which is valuable, but it does not explain what 'all parameters' means, whether it returns empty arrays when nothing is selected, or what the shape/scope of the result is. The redundant returns line adds no behavioral 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 repeats the same information three times ('sch_SelectControl.getSelectedPrimitives() -> Promise<Array<object>>', '查询选中图元的所有参数', 'returns: 选中图元的所有参数') before reaching the deprecation note, which is the only unique content. The structure wastes space on tautological restatements.
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 no output schema and no annotations, so the description should explain return semantics and deprecation alternatives. The deprecation marker is present, but the description remains incomplete for a read tool that an agent must choose among many selection-control 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 100%: both parameters (args and windowId) already have descriptions in the schema. The description adds no parameter-level meaning beyond the schema, so the baseline of 3 applies.
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 it queries all parameters of selected primitives via sch_SelectControl.getSelectedPrimitives(), which is a specific verb and resource. However, it doesn't differentiate from siblings like eda_sch_select_control_get_all_selected_primitives or eda_sch_select_control_get_selected_primitives_primitive_id, and the redundant Chinese lines add no distinguishing value.
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 use this tool versus siblings such as get_all_selected_primitives or get_selected_primitives_primitive_id. The '[已弃用]' (deprecated) marker is the only usage-relevant signal, and it is left to the agent to infer that it should be avoided in favor of alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_select_control_get_selected_primitives_primitive_idC
sch_SelectControl.getSelectedPrimitives_PrimitiveId() -> Promise<Array> 查询选中图元的图元 ID returns: 选中图元的图元 ID [已弃用]
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It does disclose the return type via the signature (Promise<Array<string>>) and the deprecation status, which is genuinely useful. But it does not state whether the operation is read-only, what happens when nothing is selected (empty array vs error), whether the windowId parameter affects scope, or why it is deprecated. This is thin behavior coverage 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 compact — signature, one functional sentence, one returns line, one deprecation tag. The deprecation marker is placed last, which is reasonable, and the signature is front-loaded. Minor redundancy: '查询选中图元的图元 ID' and 'returns: 选中图元的图元 ID' state essentially the same fact twice. Otherwise 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?
For a deprecated tool with no output schema and no annotations, the description omits critical context: there is no replacement tool named (especially problematic given three similar siblings), no explanation of the difference between this and get_selected_primitives/get_all_selected_primitives_primitive_id, and no behavior for empty selections. The return type is stated, but the tool's deprecation makes the missing migration guidance the most important omission.
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 100%: both args ('按官方签名顺序排列的JSON参数数组') and windowId ('目标EDA窗口ID;省略时使用当前活动窗口') are already documented in the schema, so per the baseline rules a 3 is appropriate. The signature showing '()' implies the args array should be empty, which is a small addition, but the description adds no explicit parameter guidance beyond what the schema 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 states a specific verb+resource: it queries the primitive IDs of selected schematic primitives ('查询选中图元的图元 ID'). The method signature 'sch_SelectControl.getSelectedPrimitives_PrimitiveId() -> Promise<Array<string>>' reinforces the return contract. However, it does not differentiate itself from closely named siblings like eda_sch_select_control_get_selected_primitives (objects vs IDs) or eda_sch_select_control_get_all_selected_primitives_primitive_id, leaving the agent to infer the distinction from naming convention alone.
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 its siblings. It does flag the tool as deprecated ('[已弃用]'), which is a negative usage signal, but it never names a replacement or explains the scope difference between 'selected' and 'all selected' variants. An agent cannot determine whether to pick this tool or one of the three near-identical selection-query siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_simulation_engine_push_dataC
sch_SimulationEngine.pushData(eventType: ESCH_DynamicSimulationEnginePushEventType | ESCH_SpiceSimulationEnginePushEventType, props: Record<string, any>) -> void 向仿真内核发送数据
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It only states 'send data to simulation kernel' without revealing side effects, required event types, synchronization behavior, or any operational details. This is minimal disclosure for a mutating push 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 very concise: a signature and a one-liner, with no fluff. It is front-loaded with the function signature. However, it could be improved by including more useful 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?
The description is incomplete for a tool with no output schema and no annotations. It lacks details on acceptable event types, props structure, and any operational constraints. An agent would struggle to invoke it correctly without additional knowledge of the simulation engine's push interface.
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 provides descriptions for both parameters (args and windowId) with 100% coverage. The description itself adds no parameter semantics beyond the signature, so it does not enhance understanding. Baseline 3 is appropriate given 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 gives a specific function signature 'sch_SimulationEngine.pushData' and a one-liner '向仿真内核发送数据' (send data to simulation kernel). This clearly states the verb and resource, but it does not explicitly differentiate from the sibling tool eda_sch_event_add_simulation_engine_pull_event_listener, which is about pulling data. The purpose is clear, though differentiation is implicit.
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 vs alternatives. The description does not mention prerequisites, conditions, or when a push operation is appropriate versus other simulation tools. It also doesn't reference the pull event listener sibling or any other related tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sch_utils_split_linesC
sch_Utils.splitLines(lines: Array<number | Array>) -> Array<Array<number | Array>> | undefined 拆分多段线
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 expose the return type including the possibility of 'undefined', but it does not state whether the operation is pure, whether it mutates anything, what undefined means, how errors behave, or what role 'windowId' plays. This is partial but insufficient 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 short and front-loaded with the signature, but the Chinese phrase '拆分多段线' is largely redundant with the name 'splitLines'. It is concise but under-specified for a geometry utility with a recursive type, so the brevity does not adequately serve the agent.
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 low-level utility with a complex input type and no output schema, yet the description provides only a type signature and a one-line Chinese phrase. It lacks examples, explanation of the polyline format, return value semantics, and window/context requirements, making it incomplete 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?
The signature adds the parameter name 'lines' and its recursive type, but the actual schema only provides a generic 'args' array with empty items, and 'windowId' is generic. The description does not explain the meaning of numbers vs nested arrays, coordinate ordering, units, or how to construct the args array. The schema's 100% coverage is superficial because the 'args' description is a generic wrapper, not real 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 states a clear verb and resource: 'splitLines' / '拆分多段线' (split polyline), and provides the function signature and return type. However, it does not explain what splitting a polyline means in this context, what a polyline's representation implies, or how this differs from related geometry utilities like eda_pcb_math_polygon_split_polygon.
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 instead of alternatives, no mention of prerequisites (e.g., open schematic, active window), and no exclusions. The description only names the operation, 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.
eda_sys_client_url_requestC
sys_ClientUrl.request(url: string, method?: 'GET' | 'POST' | 'HEAD' | 'PUT' | 'DELETE' | 'PATCH', data?: string | Blob | FormData | URLSearchParams, options?: { headers?: { [header: string]: any }; integrity?: string }, succeedCallFn?: (data: Response) => void | Promise) -> Promise 发起即时请求 returns: Fetch 的返回结果
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description carries the full burden. It only states that it returns a Fetch result, which is already implied by the signature. It does not disclose potential side effects, async behavior, network failures, CORS restrictions, or any limitations. Minimal 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 compact, consisting of a single-line signature and a brief Chinese phrase. It is front-loaded with the signature, but the lack of explanatory structure or sections makes it less scannable and does not help an agent quickly grasp semantics beyond the types.
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 multiple parameters and no output schema, the description is incomplete. It does not explain the return value structure (beyond 'Fetch result'), error handling, or how to construct the 'data' or 'options' objects. An agent would likely need additional documentation to invoke 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 description includes the full function signature with all parameters and their types (url, method, data, options, succeedCallFn), which significantly exceeds the input schema that only describes an 'args' array and 'windowId'. However, it lacks natural-language explanations of what each parameter does beyond names, so it falls short of a 5.
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 verb ('发起即时请求' / initiate immediate request) and the resource (a client URL request via sys_ClientUrl.request). It is distinct from siblings like websocket or iframe tools, though it doesn't explicitly name any alternative. The signature makes the intent 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?
No guidance on when to use this tool versus alternatives, no mention of prerequisites, context, or exclusions. It simply states the action without any use-case context or conditions for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_dialog_create_design_portalB
sys_Dialog.createDesignPortal() -> IDesignPortal 创建组件化弹出窗口的通信入口 remarks: 返回一个 IDesignPortal 对象,扩展结合 lc-editor-design-react 的 VirtualRender / 虚拟机组件使用。 所有通信(发消息 + 收事件)均封装在对象内部。 returns: 实现 IDesignPortal 的通信对象
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 reveal that the object encapsulates all communication (sending messages and receiving events), and that it returns an IDesignPortal object. However, it does not disclose side effects (e.g., whether it opens a dialog), prerequisites (like requiring a specific window), or the object's lifecycle. This is a moderate level of transparency for a factory-like 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 structured with a signature, remarks, and returns section. It front-loads the purpose and includes necessary context about usage with VirtualRender. However, the use of technical jargon and the omission of parameter details slightly reduce clarity, but it is still efficiently written.
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 no output schema, so the description should explain the returned IDesignPortal object in detail for an agent to use it effectively. It only says it's a communication object without describing its methods or how to interact with it. Additionally, it does not explain the 'args' parameter structure or the 'windowId' semantics beyond the schema. For a tool that creates a complex object, this level of detail is insufficient.
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 100%, with both 'args' and 'windowId' documented. The tool description itself does not add any parameter semantics beyond what the schema provides; it focuses on the return object. Since the schema already covers parameters, the description's lack of additional parameter detail is acceptable, resulting in a baseline score of 3.
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 creates a communication portal for componentized popup windows, using a specific verb ('create') and resource ('design portal'). It is distinct from sibling dialog tools like show_confirmation_message or show_input_dialog, which display messages rather than creating a communication object. However, the term 'design portal' is somewhat technical and may not immediately convey its purpose to an agent without domain knowledge.
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 mentions that the returned object is used with VirtualRender/virtual machine components, giving some context on how to use it. However, it does not explicitly state when to use this tool versus alternatives like eda_sys_dialog_insert_script_to_dialog, nor does it provide any exclusions or prerequisites. An agent would not know whether to pick this over other dialog tools without further information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_dialog_insert_script_to_dialogC
sys_Dialog.insertScriptToDialog(dialogId: string, scriptFunction: (...args: Array) => void | Promise, ...args: Array) -> void 向指定原生弹窗注入函数
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior. It only states the operation and return type (void). It omits side effects, execution context, error conditions, or any implications of injecting a function into a native dialog (e.g., whether the function persists, cleanup, or thread/context details).
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 (a signature and one-line Chinese explanation). It's front-loaded with the signature but lacks any structured breakdown. While concise, it sacrifices necessary detail for a tool with complex parameter semantics.
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 that injects executable functions, the description is incomplete. It doesn't explain how to pass a function in the args array, the purpose of windowId, how to obtain a dialogId, or the expected behavior (e.g., when the function is invoked). No output schema exists, so the description should cover return behavior but doesn't.
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% with both parameters described, but the description adds the function signature which clarifies that 'args' should be an ordered array matching dialogId, scriptFunction, and then function arguments. However, it doesn't explain how to serialize a function in JSON, making the mapping incomplete for an agent.
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 ('inject a function into the specified native dialog') and provides the full function signature, making the purpose specific and distinguishable from sibling dialog tools (e.g., showing dialogs vs. injecting scripts). It's not overly detailed but sufficient to identify the 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?
No guidance is given on when to use this tool versus the other dialog-related siblings (e.g., show_confirmation_message, show_input_dialog). It doesn't mention prerequisites like the dialog being open or how to reference a dialog created by other tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_dialog_show_confirmation_messageB
sys_Dialog.showConfirmationMessage(content: string, title?: string, mainButtonTitle?: string, buttonTitle?: string, callbackFn?: (mainButtonClicked: boolean) => void) -> void 弹出确认窗口 remarks: 显示一个拥有确认和取消按钮的窗口
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 mentions displaying a confirmation window but does not disclose whether the call is blocking, how the callback is handled, or any side effects. The signature hints at behavior 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 brief and front-loads the signature, followed by a minimal Chinese remark. It is efficient, though the remark is somewhat redundant with the signature.
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 confirmation dialog, the description covers the core parameters via the signature PowerShell. The schema defines windowId. However, details like callback timing or return behavior are not explained, leaving some ambiguity 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 input schema only defines an 'args' array, opaque without context. The description provides the full function signature with parameter names and types, which is essential for constructing the args array correctly. It adds significant meaning 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?
The description states it shows a confirmation window with confirm and cancel buttons, and includes the function signature. It is clear what the tool does, but it does not explicitly differentiate itself from sibling dialog tools like show_information_message or show_input_dialog.
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 conditions, exclusions, or contextual advice are provided beyond the basic description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_dialog_show_information_messageB
sys_Dialog.showInformationMessage(content: string, title?: string, buttonTitle?: string) -> void 弹出消息窗口 remarks: 显示一个文字消息窗口
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for behavioral disclosure. It only states that it pops up a message window and shows text, but does not disclose whether the dialog is modal, whether it blocks the caller, any return behavior (void), or how it interacts with the active window. This is a significant gap for a UI interaction 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, combining a technical signature with brief Chinese explanations. However, the Chinese phrases '弹出消息窗口' and '显示一个文字消息窗口' are largely redundant with the signature's meaning, adding minor extra cost without significant value. Still, it is tightly packed and front-loads the most useful information (signature).
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 is adequate for a simple display tool, providing the input parameters and return type (void). However, it does not clarify how the 'args' array should be structured in practice (beyond the signature), nor does it differentiate from similar message/dialog tools in the sibling list (e.g., eda_sys_message_box_show_information_message). Given no annotations or output schema, the description should have included at least a note on intended usage or caveats, which it lacks.
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 lists the function signature 'content: string, title?: string, buttonTitle?: string', providing parameter names, types, and order. This is far more informative than the generic schema description for 'args' (a JSON array in official signature order). The windowId parameter is explained in the schema as targeting a specific EDA window. The description adds essential meaning beyond the schema's minimal 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's action: it shows an information message dialog via 'showInformationMessage', with Chinese text '弹出消息窗口' (pop up message window) and remarks '显示一个文字消息窗口' (show a text message window). The verb and resource are specific and match the name. However, it does not explicitly differentiate from similar siblings like eda_sys_dialog_show_confirmation_message or eda_sys_message_box_show_information_message, so it lacks explicit sibling 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?
No usage guidance is provided. The description does not mention when to use this tool versus alternatives (e.g., confirmation dialog, input dialog) or any prerequisites/conditions. The function signature and Chinese descriptions only state what it does, not when or why to choose it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_dialog_show_input_dialogB
sys_Dialog.showInputDialog(beforeContent?: string, afterContent?: string, title?: string, type?: 'color' | 'date' | 'datetime-local' | 'email' | 'mouth' | 'number' | 'password' | 'tel' | 'text' | 'time' | 'url' | 'week', value?: string | number, otherProperty?: { max?: number; maxlength?: number; min?: number; minlength?: number; multiple?: boolean; pattern?: RegExp; placeholder?: string; readonly?: boolean; step?: number }, callbackFn?: (value: any) => void) -> void
弹出输入窗口
returns: 用户输入的值,始终为 string 类型,除非用户点击了 取消 按钮
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 discloses the return value ('用户输入的值,始终为 string 类型,除非用户点击了 取消 按钮') but the cancel behavior is ambiguous: it does not say whether the callback still fires, what value is passed on cancel, or whether the function itself (which returns void) provides any fallback. It also omits modality and whether the dialog is blocking. The typo 'mouth' for 'month' further muddles the type list.
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 block containing the signature, a brief Chinese purpose sentence, and a return note. It is concise with no redundant filler, though the structure is slightly odd (signature first, then purpose). Every part contributes useful 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?
There is no output schema, so the description must explain return behavior. It does note the return type and special cancel case, but the ambiguity around cancellation and the callback mechanism leaves the agent unclear about how to retrieve the result. The many optional parameters are listed but not exemplified, and the typo undermines trust.
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 only exposes a generic args array, so the signature in the description is crucial for understanding parameter order, types, and optionality. The description adds meaning by listing all parameters with their types and defaults, though it does not explain semantics like 'beforeContent' vs 'afterContent' beyond what their names imply.
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 pops up an input window ('弹出输入窗口'), with a verb and resource that distinguish it from sibling message boxes and select dialogs. The function signature reinforces the purpose 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 context is clear—this is for showing a free-form input dialog—but there is no explicit guidance on when to choose this over sibling dialogs like show_select_dialog or show_confirmation_message. The use case is implied by the name and description rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_dialog_show_select_dialogB
sys_Dialog.showSelectDialog(options: Array | Array<{ value: string; displayContent: string }>, beforeContent?: string, afterContent?: string, title?: string, defaultOption?: string, multiple?: false, callbackFn?: (value: string) => void | Promise) -> void
弹出选择窗口
returns: 用户选择的值,对应传入的 options 中的 value 字段
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
It discloses that a dialog is shown and returns the selected value, and the callbackFn parameter hints at an asynchronous option. However, it does not explain behaviors like what happens on cancel, whether the dialog is modal, or how multiple selections affect the return (though multiple defaults to false). With no annotations, the description partially carries the burden but leaves key behavioral details 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 structured signature followed by a brief Chinese statement and return note. It is compact and front-loaded with the most important technical details, though the Chinese phrase could be integrated more clearly.
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 signature lists parameters, it does not explain the meaning of many of them (e.g., beforeContent, afterContent, defaultOption) or edge cases (e.g., cancel behavior, multiple selection return type). With no output schema and no annotations, an agent would need to guess several behaviors, making it incomplete 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?
The description provides the full function signature with parameter names and types (e.g., options can be strings or objects with value/displayContent, plus title, defaultOption, callbackFn). This adds substantial meaning beyond the schema's generic 'args array' description. It clarifies what each parameter is and how to pass them, even if some semantics like beforeContent/afterContent are not explained.
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 explicitly states '弹出选择窗口' (pop-up selection window), and the function signature shows it takes options and returns a selected value. This clearly distinguishes it from other dialog tools like show_confirmation_message or show_input_dialog, though it could be more explicit about the 'select one from a list' behavior.
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 sibling dialog tools, such as when a selection from a list is needed vs. a simple confirmation or input. 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.
eda_sys_environment_get_editor_complied_dateC
sys_Environment.getEditorCompliedDate() -> string 获取编辑器编译日期 returns: 编辑器编译日期
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 merely states that the tool returns a string and translates the name, but does not mention that it is a safe read-only operation, whether it depends on any environment state, the return format (e.g., date pattern), or any potential side effects. The minimal information leaves an agent guessing about the exact behavior.
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 contains redundancy: the Chinese phrase '获取编辑器编译日期' and the 'returns' line essentially repeat the same information. The signature line 'sys_Environment.getEditorCompliedDate() -> string' is arguably unnecessary since the tool name already conveys the function call. The structure is not harmful but could be tightened, so it does not achieve a 4.
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 getter with no output schema, but the description is still too thin. It does not explain what the returned string represents (e.g., a formatted date, a timestamp, or a version string) nor the expected format. It also omits any mention of the optional parameters (args, windowId) and whether they are needed for this particular operation. An agent would have to make assumptions about the return value and parameter usage, making this 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 100% description coverage for its parameters (args and windowId), so the baseline is 3. The tool description adds no additional meaning about these parameters; it does not explain how they affect the call or what the args array should contain. Since the schema already documents the parameters clearly, the description does not need to compensate.
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 'get' and resource 'editor compiled date' clearly, making the tool's purpose unambiguous. It also provides a Chinese translation and return type, but does not differentiate it from other environment getter tools like get_editor_current_version. Since the name itself is self-explanatory)Skip, this earns a 4 rather than 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 provides no guidance on when to use this tool versus alternatives. It does not mention any conditions, prerequisites, or context in which the editor compiled date is needed. The only hint is the generic nature of a getter, but no explicit 'use when' or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_environment_get_editor_current_versionC
sys_Environment.getEditorCurrentVersion(onlySemantic?: boolean) -> string 获取编辑器当前版本 returns: 编辑器当前版本
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description bears the full burden. It only states the function and return, without disclosing side effects, error handling, or version format. The signature line adds a hint of the parameter but no behavioral 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 concise, with three lines that are efficient and front-loaded. No filler, but 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?
With no output schema, the description should clarify the return format and the effect of onlySemantic. It only repeats 'editor current version', which is not informative. The tool is simple, but the description fails to explain expected output or parameter semantics adequately.
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 describes args and windowId generically; the description adds the function signature with onlySemantic, but does not explain its meaning or usage. This partially compensates for the schema's lack of detail on the actual parameter, but remains shallow.
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 verb and resource: '获取编辑器当前版本' (get editor current version). It distinguishes itself from siblings like get_editor_complied_date and get_user_info by the resource targeted, but 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?
There is no guidance on when to use this tool versus other environment getters. No exclusions, alternatives, or contextual conditions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_environment_get_user_infoC
sys_Environment.getUserInfo() -> { username?: string; nickname?: string; avatar?: string; uuid?: string; customerCode?: string } 获取用户信息 returns: 用户信息
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 return shape but does not state whether the tool can fail (e.g., when not logged in), whether fields are optional or may be absent, whether it requires a specific window/context, or whether it has side effects. The description is minimal and leaves important behavioral context unstated.
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-loads the API signature and return type. The Chinese '获取用户信息' and 'returns: 用户信息' are somewhat redundant with the English text, but the overall structure is compact and scannable. It earns its place without excessive verbosity.
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 getter with no output schema and no annotations, the description is thin. It lists return fields but does not explain when fields may be undefined, whether authentication is required, or how the result should be interpreted. Given the tool's simplicity, this is a clear gap in 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 100%, so the schema already documents the two parameters (args array and windowId). The description adds no parameter-level meaning beyond the schema. Baseline 3 is appropriate because the schema carries the parameter documentation burden.
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 and resource: 'sys_Environment.getUserInfo()' retrieves user information, listing the exact fields returned (username, nickname, avatar, uuid, customerCode). It is clear this is a read-only getter for user info, and the name itself distinguishes it from sibling environment tools like version checks or mode checks.
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. The sibling list includes many environment-related tools (e.g., is_client, is_online_mode, get_editor_current_version), but the description does not explain when user info is needed or contrast it with those. The agent must 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.
eda_sys_environment_is_clientC
sys_Environment.isClient() -> boolean 是否处于客户端环境 returns: 是否处于客户端环境
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 state the return type ('-> boolean'), which is minimal useful information, but it never defines what 'client environment' means, what true/false signify, whether the result depends on the windowId, or whether any side effects exist. The repeated phrase adds nothing behavioral.
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 the signature line is front-loaded, which is good. But the Chinese purpose line and the 'returns:' line are identical ('是否处于客户端环境'), creating redundancy that wastes one of the only three lines. It is compact but not efficiently 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?
The tool is simple and the boolean return is stated, but in a context where roughly eight sibling environment predicates exist, the description fails to pin down what 'client' means relative to 'web' or 'online', so an agent could select the wrong predicate. No output schema exists and annotations are absent, so the description needed to carry more context than it 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?
Schema coverage is 100%, so args and windowId are already documented in the schema. The signature line 'sys_Environment.isClient()' is the main value-add, implying the wrapped method takes no arguments and thus the args array should typically be empty. This is a mild semantic hint beyond the schema but nothing substantive.
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 predicate check on the current environment ('是否处于客户端环境' = whether in client environment) and exposes the underlying API signature 'sys_Environment.isClient() -> boolean', which adds a small amount of value beyond the name. However, it largely just translates the tool name, and with siblings like is_web, is_online_mode, and is_offline_mode present, it does not clarify what 'client environment' means or how it differs from those.
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 invoke this tool versus any of the many sibling environment predicates (is_web, is_online_mode, is_offline_mode, is_jlcedapro_edition, etc.). An agent has no way to decide which environment check fits its goal, and there are no exclusions or selection conditions stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_environment_is_easy_edapro_editionC
sys_Environment.isEasyEDAProEdition() -> boolean 是否为 EasyEDA Pro 版本 returns: 是否为 EasyEDA Pro 版本
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description bears full responsibility for disclosing behavioral traits. It only states the return type and semantic intent; it does not mention side effects, read-only nature, or any conditions under which the result is true/false, leaving the agent without important 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 very short and free of fluff, but it is essentially a restatement of the tool name and signature. It lacks a structured explanation that front-loads meaningful context, though it is not 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 simple boolean check, the description provides only the bare minimum. It does not explain what 'EasyEDA Pro edition' means, how it relates to sibling environment checks, or under what circumstances it returns true/false. This incompleteness is significant given the many similar 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 describes both parameters (args and windowId), but the description implies the underlying function takes no arguments (empty parentheses in signature). This creates ambiguity about whether args should be passed, and the description adds no clarification about the generic wrapper 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 returns a boolean indicating whether the environment is the EasyEDA Pro edition. However, it does not differentiate from sibling tools like is_jlcedapro_edition or is_pro_private_edition, so it lacks explicit 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 gives no guidance on when to use this tool versus the many other environment-check siblings. It merely restates the function signature and its Chinese meaning, with no mention of alternatives or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_environment_is_half_offline_modeD
sys_Environment.isHalfOfflineMode() -> boolean 是否为半离线模式 returns: 是否为半离线模式
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 merely states the return type and repeats the name. It does not disclose whether this is a safe read-only operation, what 'half offline mode' implies, or any side effects. For a query with no annotation coverage, this is a critical 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 extremely short but redundant: the Chinese phrase '是否为半离线模式' appears twice, and the signature line adds no explanatory value. It is under-specified rather than concise, lacking any structured explanation.
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 output schema and no annotations, the description must explain the tool's role in context. It fails to define 'half offline mode', differentiate it from the many is_* siblings, or given any scenario where an agent would need this. An agent cannot make an informed 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 100%, with the args array and windowId both documented in the schema. The description adds nothing about parameters, so the baseline of 3 is appropriate since the schema already carries the 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 is essentially a restatement of the tool name ('sys_Environment.isHalfOfflineMode() -> boolean' and '是否为半离线模式'). It adds only the return type (boolean), which the name implies. It does not explain what 'half offline mode' means, leaving the purpose ambiguous beyond the literal translation.
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 zero guidance on when to use this tool versus the many sibling environment predicates like is_offline_mode, is_online_mode, or is_client. No mention of conditions, alternatives, or exclusions. An agent has no basis to decide whether this is the right query.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_environment_is_jlcedapro_editionC
sys_Environment.isJLCEDAProEdition() -> boolean 是否为 嘉立创EDA 专业版本 returns: 是否为嘉立创EDA 专业版本
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 repeats the return type and meaning, and never explicitly states that this is a side-effect-free read-only query or describes error behavior or environment prerequisites.
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 the signature, but the English and Chinese lines are repetitive: the same predicate and return meaning appear three times. It could be reduced to a single sentence without losing 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?
For a simple boolean environment check, the core purpose and return type are present, which is mostly adequate. However, the lack of usage guidance, explicit read-only framing, or a note that no arguments are expected leaves meaningful gaps in an otherwise minimal description.
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%, so the generic args and windowId parameters are documented. The description adds no parameter-level meaning and does not clarify that the function signature implies zero arguments, leaving the agent to interpret the generic 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 returns a boolean indicating whether the environment is JLC EDA Pro edition, which distinguishes it from siblings like eda_sys_environment_is_easy_edapro_edition and is_pro_private_edition. However, it largely restates the tool name and relies on the implied 'is' rather than an explicit action 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?
No guidance is given about when to call this tool versus the many sibling environment checks such as is_easy_edapro_edition, is_offline_mode, or is_web. The agent is left to infer selection criteria 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.
eda_sys_environment_is_offline_modeC
sys_Environment.isOfflineMode() -> boolean 是否为全离线模式 returns: 是否为全离线模式
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of explaining behavior. It only reveals the return type (boolean) and otherwise repeats the name; it does not state that the call is read-only, stateless, requires no window context, or what true/false implies operationally.
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 front-loads the signature, but it repeats the same idea three times (English signature, Chinese phrase, Chinese return description). It is concise, yet some redundancy could have been replaced with more substantive 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?
For a simple zero-argument boolean query, the description is minimally sufficient: an agent can call it with no args and read the boolean result. However, it lacks guidance on how this mode check fits with the online/half-offline siblings and provides no background on what full offline mode means, leaving the selection context 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 input schema only has generic 'args' and 'windowId' fields, but the description's signature '()' clarifies that the underlying API takes no arguments. This is valuable because it prevents the agent from inventing parameters for a conceptually zero-argument predicate.
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 returns whether the environment is in full offline mode, and the signature 'sys_Environment.isOfflineMode() -> boolean' plus the Chinese '全离线模式' adds a 'full' qualifier that somewhat distinguishes it from siblings like is_half_offline_mode. However, it largely restates the tool name and gives no richer explanation of what 'offline mode' means or when this predicate matters.
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 about when to use this tool instead of eda_sys_environment_is_online_mode or eda_sys_environment_is_half_offline_mode. Given three closely related sibling predicates, the absence of any selection context leaves the agent to guess which one fits the scenario.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_environment_is_online_modeB
sys_Environment.isOnlineMode() -> boolean 是否为在线模式 returns: 是否为在线模式
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations and no output schema, the description carries the disclosure burden and does state that the method returns a boolean indicating online-mode status. This is minimally adequate for a simple read-only predicate, but it does not define what 'online mode' means, how it relates to offline/half-offline modes, or whether any runtime conditions can affect 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 short and front-loads the method signature, which is helpful. However, the Chinese phrase `是否为在线模式` appears twice, making the content somewhat redundant, and the structure is just a terse signature plus a duplicated translation.
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 environment predicate with no required parameters, the signature and return hint are enough to invoke the call correctly. However, the description omits any context about when online mode matters, what distinguishes it from sibling mode checks, and what the returned boolean should be used for.
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 100%, with the schema already documenting `args` and `windowId`. The description adds no additional parameter meaning, so the baseline of 3 applies because the structured schema is doing the heavy lifting.
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 as a boolean query for whether the environment is in online mode, with the method signature `sys_Environment.isOnlineMode() -> boolean` and the Chinese phrase `是否为在线模式`. It does not explicitly distinguish itself from sibling predicates like `eda_sys_environment_is_offline_mode` or `eda_sys_environment_is_half_offline_mode`, but 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?
There is no guidance on when to use this tool versus related environment predicates such as `_is_offline_mode`, `_is_half_offline_mode`, `_is_client`, or `_is_web`. The agent must infer usage entirely from the tool name and the generic 'environment' domain.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_environment_is_pro_private_editionB
sys_Environment.isProPrivateEdition() -> boolean 是否为私有化部署版本 returns: 是否为私有化部署版本
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral burden. It does disclose that the tool returns a boolean and what that boolean represents. However, it does not explicitly state that the call is read-only, side-effect-free, or universally available, though 'isProPrivateEdition' implies a pure predicate.
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 front-loaded with the signature, which is good. However, the Chinese phrase '是否为私有化部署版本' appears twice, making the description slightly redundant rather than fully earning every 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?
For a simple no-argument boolean predicate, the description is largely complete: it states the return type and the meaning of the result. It lacks richer context such as when this check matters, but the tool's simplicity reduces the need for that.
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 already describes both generic parameters, so the baseline is 3. The description adds value by showing the official signature with empty parentheses, indicating the function takes no positional arguments and that 'args' should be empty.
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 this is a boolean query for whether the environment is a private deployment, via both the method signature and the Chinese phrase '是否为私有化部署版本'. It is specific and unambiguous, though it does not explicitly contrast itself with the many sibling environment-check tools like is_offline_mode or is_web.
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 about when to call this tool versus its environment-checking siblings. There is no mention of intended use cases, exclusions, or alternatives, leaving the agent to infer usage solely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_environment_is_webC
sys_Environment.isWeb() -> boolean 是否处于浏览器环境 returns: 是否处于浏览器环境
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 the return type (boolean) and the semantic meaning (whether in browser environment), but doesn't disclose edge cases, what 'web' means in contrast to 'client', or any side effects. For a simple read-only check, this is minimal but 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 very short and front-loaded with the function signature and return type. The Chinese text repeats the same meaning as the signature, which is slightly redundant, but the overall size is appropriate for a simple boolean check 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 simple environment check, the description is mostly complete, but it lacks context about the distinction between 'web' and 'client' environments, which is relevant given sibling tools like eda_sys_environment_is_client. No output schema exists, so the return value description ('boolean') is helpful but could be more explicit about what true/false means in practical terms.
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 100%, so the schema already documents the two parameters (args array and windowId). The description adds no parameter-specific meaning beyond the schema. Baseline 3 is appropriate since the schema covers the 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 a specific verb and resource: 'sys_Environment.isWeb() -> boolean' and '是否处于浏览器环境' (whether in browser environment). It clearly indicates this is a boolean environment check. It doesn't explicitly differentiate from siblings like eda_sys_environment_is_client, but the name and description make the purpose clear 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?
No guidance on when to use this tool versus alternatives like eda_sys_environment_is_client, eda_sys_environment_is_offline_mode, etc. The description only states what it does, not when to prefer it. There is no mention of exclusions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_environment_set_keep_project_has_only_one_boardB
sys_Environment.setKeepProjectHasOnlyOneBoard(status?: boolean) -> Promise 设置环境:保持工程仅拥有一个板子 remarks: Board、Schematic、PCB 均保持唯一
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 indicates a Promise<void> return and the intended effect, but it does not disclose side effects, whether the setting is persistent, what happens to existing multiple boards, or whether this is a reversible 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 compact: a signature, a one-line purpose, and a clarifying remark. Every element earns its place and nothing redundant is included.
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 setter with one optional boolean and no output schema, the description is mostly adequate. However, it lacks clarification of the status parameter's meaning and any behavioral caveats, which an agent would benefit from when deciding how to invoke 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 input schema only exposes a generic args array and windowId, so the signature in the description adds crucial meaning: status is an optional boolean. This is real value beyond the schema, though the description does not explain what true versus false explicitly does.
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 and resource: it sets an environment flag so that a project keeps only one board, with the remark clarifying that Board, Schematic, and PCB remain unique. This is clear and distinct from the many getter-style environment tools in the sibling list, though it does not explicitly name an alternative.
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 use this tool versus alternatives, or what circumstances call for enabling versus disabling this behavior. The description only states what the tool 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.
eda_sys_external_api_registerB
sys_ExternalApi.register(namespace: string, apiName: string, callFn: (...args: any[]) => any | Promise, help?: ISYS_ExternalApiHelp) -> void 注册一个上层接口
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 gives the signature and a brief Chinese phrase, omitting side effects, error behavior, or what happens on duplicate registration. It does not contradict annotations (since none exist), but it offers minimal behavioral insight.
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 line with the signature and a short Chinese phrase. It is concise and front-loaded with the signature, but it lacks structured explanations or separation of concepts. It is efficient but could be better organized.
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 registration tool, the description provides the signature but not enough context for an agent to use it correctly. It does not explain what namespace and apiName should represent, how to provide a valid callFn, or what the help object contains. The sibling unregister tool exists, but no cross-referencing is given. The absence of an output schema is acceptable for a void function, but the missing usage details make 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 coverage is 100%, but the schema's descriptions are generic ('按官方签名顺序排列的JSON参数数组'). The description adds the actual function signature parameters (namespace, apiName, callFn, help) and their types, which clarifies what should go into the args array. However, it does not explain how to construct the args array beyond the order or the semantics of each parameter in 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 registers an external API (注册一个上层接口) and provides the full function signature. It distinguishes from the sibling eda_sys_external_api_unregister by name and purpose, though it does not explicitly name the sibling.
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, nor any prerequisites or exclusions. The description simply states what it does without context on when it should be invoked.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_external_api_unregisterB
sys_ExternalApi.unregister(namespace: string, apiName: string) -> boolean 注销指定接口 returns: 是否成功注销
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full behavioral burden. It discloses the action and that a boolean is returned ('returns: 是否成功注销'), but it does not explain side effects, prerequisites, failure behavior, idempotency, or what happens if the API was not previously registered.
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 the signature is front-loaded. There is slight redundancy between the English 'returns' and the Chinese 'returns: 是否成功注销', but there is no wasted or misleading 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?
For a simple two-argument unregister call, the signature plus schema is mostly usable. However, the description never clarifies that both args are required, what the success boolean means beyond a literal flag, or how this operation relates to a prior registration. No output schema exists to compensate.
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's args property is just an untyped JSON array, but the description gives the actual parameter names, types, and order (namespace: string, apiName: string). This adds essential meaning beyond the schema, though it does not elaborate on the intended values of namespace and apiName.
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 quotes the exact API signature 'sys_ExternalApi.unregister(namespace: string, apiName: string) -> boolean' and says '注销指定接口' (unregister the specified interface), so the verb and resource are clear. It does not explicitly contrast with sibling tools such as eda_sys_external_api_register, which keeps it from a full 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, what conditions must hold before calling it, or how it relates to registration and sibling tools. The intended usage is only implied by the tool name and the unregister action.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_file_manager_extract_lib_infoC
sys_FileManager.extractLibInfo(data: File | Array) -> Promise 提取文件内的库配置信息 returns: 库配置信息
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 reveals the accepted input (File or Array<File>) and that it returns library config info, but says nothing about error behavior, whether the file must exist in the project, what happens with unsupported file types, or the structure of the returned config. For a tool with zero annotation coverage 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 very short and front-loads the signature and purpose. It is not wasteful, but it is so terse that it reads more like an under-specification than deliberate conciseness, lacking any context beyond the bare statement of intent.
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 output schema and no annotations, the description must carry the full load, but it omits the return value structure, failure modes, and usage context. For a tool that accepts a file or list of files and returns extracted config data, an agent has enough to guess the intent but not enough to anticipate errors or interpret the result 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's args parameter is a generic JSON array with empty item definitions, so the description's signature line 'data: File | Array<File>' adds real value by clarifying what the first positional argument is. However, it does not explain how the JSON array maps to the signature, nor the role of windowId beyond the schema's own note. The description partially compensates for the opaque args 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 verb ('extract') and resource ('library configuration information from files'), and the signature makes the input type explicit. It is reasonably distinct from its sibling eda_sys_file_manager_extract_project_info by naming the resource (lib vs project), though it never explicitly differentiates itself.
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 on when to use this tool versus alternatives. The sibling eda_sys_file_manager_extract_project_info does something analogous but for projects, and there is no statement about when one applies over the other, nor any prerequisites about the file needing to be loaded or saved.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_file_manager_extract_project_infoC
sys_FileManager.extractProjectInfo(data: File) -> Promise 提取文件内的工程配置信息 returns: 工程配置信息
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry full behavioral disclosure. It only states that it extracts project config info and returns it, but does not mention side effects, permissions, errors, or what 'project config' specifically includes. The behavior is essentially opaque beyond the basic 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 extremely concise, almost minimal, containing only a signature and a translation. While there is zero waste, it lacks substantive content. It is not front-loaded with any usage hints or clarifications; it is merely a restatement of the tool's obvious function.
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 (file extraction) and the presence of many sibling extract tools, the description is insufficient. There is no mention of supported file types, differences from extract_lib_info, error behavior, or what specific project configuration data is returned. An agent would likely struggle to decide when this tool is appropriate.
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%, so the parameters are already documented. The description adds nothing about parameters beyond the schema. It does not explain the expected structure of the File input or the output format. Baseline of 3 is appropriate given the high 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 states a specific action: extract project configuration information from a file. This is clear and distinct from generic operations. However, it does not distinguish from the sibling tool eda_sys_file_manager_extract_lib_info, so an agent could confuse which to use for a given file type.
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 extract_lib_info or other file manager extractors. The description is just the function signature and a literal translation, with no context about input requirements, prerequisites, or scenarios where it is the correct choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_file_manager_get_cbb_file_by_cbb_uuidB
sys_FileManager.getCbbFileByCbbUuid(cbbUuid: string, libraryUuid?: string, props?: { fileName?: string; password?: string; fileType?: 'epro' | 'epro2'; templateSchematicUuid?: string; templatePcbUuid?: string }) -> Promise<File | undefined>
使用复用模块 UUID 获取复用模块文件
returns: 复用模块文件数据,undefined 表示数据获取失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries full burden. It discloses that undefined indicates data fetch failure, and the return type is Promise<File | undefined>. However, it does not mention any other behavior, such as whether the operation is read-only, if authentication is required, or what happens with password-protected files (the 'password' prop suggests this possibility but is unexplained). The description is insufficient for a get operation, especially with no annotations.
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, containing a signature, a short Chinese line, and a return note. It is not overly verbose and is to the point. The structure is logical: signature first, then purpose, then return behavior. However, it could be improved by adding a brief explanation of parameters or usage context, but it is still acceptable.
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 (multiple parameters including a nested props object) and the lack of annotations and output schema, the description is incomplete. It does not explain the purpose of 'libraryUuid', the behavior of 'props' (especially password and fileType), or how to construct the 'args' array (though the signature implies order). There is no differentiation from other file getter tools. The description leaves significant gaps for an agent to correctly invoke the 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 schema only describes 'args' and 'windowId' with minimal descriptions, while the actual function parameters (cbbUuid, libraryUuid, props) are embedded in the signature. The signature provides types and optionality but does not explain the meaning of 'libraryUuid' or the various properties in 'props' (fileName, password, fileType, templateSchematicUuid, templatePcbUuid). The description includes the signature, which gives some semantics, but not enough for an agent to know how to set these correctly. Since the schema does not cover the inner parameters, the description must compensate, but it only lists types and 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 purpose: '使用复用模块 UUID 获取复用模块文件' (use reusable module UUID to get reusable module file). The name itself is specific (get_cbb_file_by_cbb_uuid) and the signature confirms the resource type (CBB file). It distinguishes from sibling tools like get_device_file_by_device_uuid or get_symbol_file_by_symbol_uuid by explicitly targeting CBB files.
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. The usage is implied by the tool's name and description (if you need a CBB file, use this), but there is no mention of exclusions, alternatives, or scenarios. No 'when-not' information is given. Since the tool is clearly for CBB files, the usage is somewhat implicit, but the description could benefit from stating it is for CBB files only and not for other file types.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_file_manager_get_device_file_by_device_uuidA
sys_FileManager.getDeviceFileByDeviceUuid(deviceUuid: string | Array, libraryUuid?: string, fileType?: 'elibz' | 'elibz2') -> Promise<File | undefined>
使用器件 UUID 获取器件文件
returns: 器件文件数据,undefined 表示数据获取失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description notes the return type Promise<File | undefined> and that undefined indicates failure. No annotations are provided, so the description carries the full burden. It does not mention side effects, permissions, or other behaviors beyond the return value.
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 brief, consisting of the function signature and a one-line purpose, plus a returns note. It is concise and does not waste 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 simple get tool, the description provides the essential info: what it does, parameter types, and return value semantics. It lacks guidance on usage context or alternatives, but given the simplicity, it is mostly complete. However, it doesn't explain the File object structure or any prerequisites.
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 includes the function signature (deviceUuid: string | Array<string>, libraryUuid?: string, fileType?: 'elibz' | 'elibz2') which adds significant meaning beyond the schema. The schema only describes args as a JSON array in official order; it gives no details on the individual parameters. The description provides types and optionality.
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 explicitly states '使用器件 UUID 获取器件文件' (get device file by device UUID) and includes the function signature with parameter types. This clearly identifies the tool's purpose and distinguishes it from sibling tools that get other file types (footprint, symbol, etc.).
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 explicitly state when to use this tool over alternatives. It is implied that it is for device files when you have a device UUID, but there is no mention of other tools or conditions. So it's only implied usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_file_manager_get_document_fileC
sys_FileManager.getDocumentFile(fileName?: string, password?: string, fileType?: 'epro' | 'epro2') -> Promise<File | undefined>
获取文档文件
returns: 文档文件数据,undefined 表示当前未打开文档或数据获取失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 does disclose that the return value can be undefined when no document is open or data retrieval fails, which is useful. However, it does not mention side effects (likely none), error behavior, or any state changes, leaving gaps for a read 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 concise, with the signature leading, followed by a brief Chinese phrase and a returns note. It is front-loaded with the essential operation and avoids unnecessary verbosity, though the dual-language layout may reduce clarity for some users.
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 optional parameters and no output schema or annotations, the description is incomplete. It does not explain the meaning of the parameters, when to use it relative to other file tools, or the structure of the returned File object. The undefined-case note is helpful but insufficient for an agent to invoke it correctly in varied 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?
The description includes the function signature listing parameter names and types (fileName, password, fileType) but provides no explanation of their meaning or usage. The input schema only describes an args array and windowId, so the description must compensate, but it does not clarify what password or fileType control or how they affect the result.
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 verb and resource ('获取文档文件' meaning 'get document file') and includes the function signature. It clarifies the operation targets the current document via the return note about 'no document currently open'. However, it does not differentiate from sibling file-manager tools like get_project_file or get_schematic_file, which also retrieve files.
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. Given the many similar file retrieval tools in the sibling list, the description fails to specify when this one is appropriate or how it differs. There is no mention of prerequisites, context, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_file_manager_get_document_footprint_sourcesB
sys_FileManager.getDocumentFootprintSources() -> Promise<Array<{ footprintUuid: string; documentSource: string }>> 获取文档封装源码 returns: 文档封装源码数据,数据获取失败将返回空数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries some burden and does disclose that failures return an empty array and that the result is an array of footprintUuid/documentSource objects. However, it does not mention side effects, permissions, document context, or how windowId/args affect execution.
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-loads the method signature, Chinese summary, and return behavior with no filler. The duplication between the code signature and the Chinese summary is minor, but overall it is appropriately sized.
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?
Because there is no output schema, the description usefully provides the return type and failure behavior. However, it omits when to use this tool, what footprint sources semantically represent, and how the target document is selected, leaving moderate gaps for an unannotated getter.
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 100%, so the baseline is 3, and the schema already documents args and windowId. The description adds no parameter-level meaning and even shows a parameterless method signature, which could be mildly confusing but not contradictory.
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 verb and resource ('get document footprint sources') and includes a concrete return type of footprintUuid/documentSource pairs. This makes it reasonably distinct from sibling file-manager getters, though it does not explicitly contrast with 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?
There is no guidance on when to use this tool versus the many sibling file-manager getters such as get_document_source or get_footprint_file_by_footprint_uuid. The description only provides a method signature and return behavior, leaving selection to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_file_manager_get_document_sourceB
sys_FileManager.getDocumentSource() -> Promise<string | undefined>
获取文档源码
returns: 文档源码数据,undefined 表示当前未打开文档或数据获取失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 disclose the critical undefined return case (no document open or failure), which is valuable. However, it does not state whether the operation is read-only (it appears so) or any side effects, nor does it clarify the nature of the returned 'document source' beyond being a string. It adds some useful context but lacks depth for an unannotated 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, consisting of a function signature line and two short sentences. It is front-loaded with the return type and quickly explains the undefined case. No unnecessary verbiage. It could be more structured (e.g., separate usage notes), but it is efficiently short.
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 there is no output schema, the description adequately explains the return value and the undefined case. However, it lacks context about when to use this tool (e.g., to get the source of the active document) and does not elaborate on the meaning or format of the document source. For a simple getter with two optional parameters, it is reasonably complete but leaves room for interpretation regarding the actual content returned.
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 100% (both args and windowId are described). The description adds no parameter-specific information beyond what the schema already provides. Since the schema already explains that args is a positional JSON array and windowId targets a specific window, the baseline of 3 applies; the description does not enhance 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 retrieves the document source ('获取文档源码') and specifies the return type. The name itself is descriptive and distinguishes it from sibling file-manager tools like set_document_source, so the purpose is clear. However, it could be more explicit about what 'document source' means (e.g., source code of schematic/PCB), but the core action 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?
There is no guidance on when to use this tool versus alternatives (e.g., get_document_file, get_schematic_file). It doesn't mention that it operates on the currently open document or the role of windowId. No exclusions or conditions are provided, leaving the agent to infer usage from the name and schema alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_file_manager_get_footprint_file_by_footprint_uuidB
sys_FileManager.getFootprintFileByFootprintUuid(footprintUuid: string | Array, libraryUuid?: string, fileType?: 'elibz' | 'elibz2') -> Promise<File | undefined>
使用封装 UUID 获取封装文件
returns: 封装文件数据,undefined 表示数据获取失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the return type (Promise<File | undefined>) and states that undefined indicates failure, which is useful. However, with no annotations, it doesn't mention side effects, permission requirements, or error handling details beyond the failure signal. The disclosure is minimal but present.
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 brief and front-loaded with the signature, followed by a concise Chinese summary and return note. It is efficient with no redundant text, though it could benefit from a more structured breakdown of parameters.
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 getter, the description provides the essential function signature and return behavior, but lacks explanations of optional parameters and any constraints (e.g., valid fileType values). Since there is no output schema, the agent must infer these details, leaving the description slightly 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 function signature provides parameter names and types (footprintUuid, libraryUuid?, fileType?) but no descriptions of their meanings or usage. The schema only describes args as a generic JSON array without explaining individual parameters, so the description fails to clarify what libraryUuid and fileType represent or how they affect the result.
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 footprint file using a footprint UUID, with a function signature that names the resource and action. It is not a tautology and distinguishes itself from other file getters by its specific focus on footprint files, though it doesn't explicitly contrast with 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 provided on when to use this tool versus alternative getters like eda_sys_file_manager_get_cbb_file_by_cbb_uuid or eda_sys_file_manager_get_symbol_file_by_symbol_uuid. There are no conditions, exclusions, or context hints for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_file_manager_get_panel_library_file_by_panel_library_uuidB
sys_FileManager.getPanelLibraryFileByPanelLibraryUuid(panelLibraryUuid: string | Array, libraryUuid?: string, fileType?: 'elibz' | 'elibz2') -> Promise<File | undefined>
使用面板库 UUID 获取面板库文件
returns: 面板库文件数据,undefined 表示数据获取失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the burden of behavioral disclosure. It does state that the result is a Promise resolving to File or undefined, and explicitly notes that undefined means failure — useful transparency for a getter. However, it does not describe possible thrown errors, the contents of the returned File, or any prerequisites.
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 the signature, followed by a one-line Chinese summary and return semantics. It earns its space, though the signature partially repeats 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 simple retrieval tool, the description covers the essential parameters, return type, and failure indicator. The lack of usage guidance and output schema details is a minor gap, but an agent can reasonably invoke the tool correctly from the given signature and return note.
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 only describes a generic args array and windowId, so the description is the primary source of parameter meaning. It provides the full method signature with parameter names, types, optionality markers, and the fileType enum, which meaningfully compensates for the schema's lack of detailed parameter definitions.
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 and resource: fetching a panel library file by panel library UUID, and documents the return type. It is unambiguous, but it does not explicitly differentiate itself from sibling file-getters like get_symbol_file_by_symbol_uuid or eda_lib_panel_library_get, so it stops short of 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?
No guidance is given about when to use this tool versus alternatives, nor are any related tools mentioned. The description provides the signature and return behavior but leaves the agent to infer the appropriate invocation context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_file_manager_get_project_fileB
sys_FileManager.getProjectFile(fileName?: string, password?: string, fileType?: 'epro' | 'epro2') -> Promise<File | undefined>
获取工程文件
returns: 工程文件数据,undefined 表示当前未打开工程或数据获取失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full transparency burden. It does disclose the return type `File | undefined` and explains that `undefined` means either no project is open or data retrieval failed. However, it does not mention side effects, permissions, what the `File` object contains, or whether this varies by file type.
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 contains no filler: one signature line and one returns line. It could be slightly better organized as prose with explicit parameter explanations, but it is appropriately sized for the information it conveys.
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 no output schema, the description is minimally sufficient: it gives the signature, parameter types, and failure semantics. It is missing context about when to choose this over the UUID-based sibling, the meaning of `password`, and the shape of the returned `File`.
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 only describes a generic `args` array and `windowId`, so the signature in the description adds real value: parameter names, optionality, types, and the `'epro' | 'epro2'` enum. This is enough to construct a call in the correct order, even though deeper semantics (e.g., what `password` unlocks) are not explained.
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 get operation for a project file via the API signature and Chinese '获取工程文件'. It is specific about the resource, but it does not explicitly distinguish itself from the very similar sibling `eda_sys_file_manager_get_project_file_by_project_uuid` or other file-manager getters.
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 related alternatives such as `get_project_file_by_project_uuid`, `get_document_file`, or `get_schematic_file`. The description only says 'get project file' and provides no exclusions or selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_file_manager_get_project_file_by_project_uuidA
sys_FileManager.getProjectFileByProjectUuid(projectUuid: string, fileName?: string, password?: string, fileType?: 'epro' | 'epro2') -> Promise<File | undefined>
使用工程 UUID 获取工程文件
returns: 工程文件数据,undefined 表示当前未打开工程或数据获取失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 it discloses the key behavioral trait: the Promise resolves to undefined when no project is open or data retrieval fails. It also reveals that the call is asynchronous and that fileName, password, and fileType are optional, which is useful operational 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 dense and well-structured: a signature, a one-line purpose statement, and a return-value note. Every line earns its place and there is 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 gives the signature and failure semantics, which is adequate for a simple lookup, but with no output schema it does not describe the shape of the returned File object. It also does not show an example of how to populate the args array or state explicit preconditions beyond the implied 'project open' condition. These gaps leave the agent with some inference work.
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 only describes an opaque args array and windowId, so the signature embedded in the description is essential. It names projectUuid, fileName, password, and fileType, and enumerates the fileType values 'epro' and 'epro2', adding meaning the schema does not provide. It stops short of explaining the semantics of password or fileName, but the names and types are sufficient for constructing a call.
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 operation: get a project file using a project UUID, and includes the full method signature. It is specific about the resource and lookup key, though it does not explicitly contrast itself with sibling getters like eda_sys_file_manager_get_project_file or get_document_file.
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 retrieving project files when a project UUID is available, but it gives no guidance on when to prefer this tool over the many other file-manager getter siblings, nor does it mention exclusions or prerequisites. The only usage signal is the phrase '使用工程 UUID'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_file_manager_get_schematic_fileB
sys_FileManager.getSchematicFile(fileName?: string, password?: string, fileType?: 'epro' | 'epro2') -> Promise<File | undefined>
获取原理图文件
returns: 原理图文件数据,undefined 表示当前未打开原理图图页或数据获取失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 discloses the return behavior: returns File | undefined, and explains that undefined means no schematic page is open or data fetch failed. It does not mention side effects, permissions, or whether this is read-only, but the function name and 'get' imply a read operation. The description adds the failure semantics, which is useful, but lacks depth on what 'File' contains or any prerequisites.
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: a signature line, a short Chinese summary, and a return note. It is front-loaded with the signature and summary. The bilingual content is slightly redundant (the signature and summary repeat the same information), but overall it is efficient and scannable.
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 getter with two optional parameters and no output schema, the description covers the basic call shape and return semantics. It lacks details about the File object structure, the meaning of password, and how fileType affects the result. Given the tool's low complexity, this is adequate but not 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 100% for the two top-level parameters (args and windowId), but the args array items are untyped ({}), so the actual parameters fileName, password, and fileType are only visible in the description's signature line. The description does add meaning by listing the parameter names, types, and defaults, which is valuable beyond the schema. However, it does not explain the semantics of each parameter (e.g., what password is for, what fileType values mean), so it 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 states a specific verb and resource: 'getSchematicFile' retrieves a schematic file, with a Chinese summary '获取原理图文件' (get schematic file). It is distinguishable from siblings like eda_sys_file_manager_get_document_file or eda_sys_file_manager_get_project_file because it targets schematic files specifically. However, it does not explicitly contrast with those siblings, so it loses a point.
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: call this when you need the schematic file data, optionally with a filename, password, and file type. It does not explicitly state when not to use it or name alternatives like eda_sys_file_manager_get_document_file. The return note ('undefined' means no schematic page open or fetch failed) gives some context for interpreting results, 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.
eda_sys_file_manager_get_symbol_file_by_symbol_uuidC
sys_FileManager.getSymbolFileBySymbolUuid(symbolUuid: string | Array, libraryUuid?: string, fileType?: 'elibz' | 'elibz2') -> Promise<File | undefined>
使用符号 UUID 获取符号文件
returns: 符号文件数据,undefined 表示数据获取失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It does state the return type (File | undefined) and that undefined means failure, but does not disclose potential side effects, whether the file is fetched locally or from a remote source, or any required permissions or context. This is insufficient for a data retrieval 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 compact, with the function signature and a brief purpose. It is front-loaded with the signature. There is some repetition of the tool name in the signature, but it is not verbose. The description is efficient and does not waste 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 (multiple parameters, optional ones, a defined return type) and lack of annotations, the description is incomplete. It omits details on how to provide the symbolUuid (e.g., as string or array, formatting), the meaning of libraryUuid, and the fileType options. The agent needs more information to call it correctly, and the schema does not compensate fully.
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 100% description coverage, meaning the 'args' and 'windowId' parameters are described in the schema (though generic). The description adds the function signature showing the parameter names and types, which helps interpret the args array. However, it does not clarify the semantics of each parameter beyond the signature, and the schema's description is generic, so a baseline of 3 is appropriate.
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 it uses a symbol UUID to get a symbol file, and the name makes the resource clear. However, 'getSymbolFileBySymbolUuid' is somewhat redundant with the name, and the description lacks detail on what a symbol file is or its content. It does distinguish from siblings like get_device_file_by_device_uuid by specifying symbol, but not deeply.
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 other file manager getters, such as when handling symbols versus footprints or other entities. The description provides no context on typical use cases, prerequisites, or alternatives. The agent must infer from the name and sibling names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_file_manager_import_project_by_project_fileC
sys_FileManager.importProjectByProjectFile(projectFile: File, fileType?: 'JLCEDA' | 'JLCEDA Pro' | 'EasyEDA' | 'EasyEDA Pro' | 'Allegro' | 'OrCAD' | 'EAGLE' | 'KiCad' | 'PADS' | 'LTspice', props?: { importOption?: ESYS_ImportProjectImportOption; schematicObjectStyle?: ESYS_ImportProjectSchematicObjectStyle; associateFootprint?: boolean; associate3DModel?: boolean; importFootprintNotesLayer?: boolean }, saveTo?: { operation: 'New Project'; newProjectOwnerTeamUuid: IDMT_TeamItem['uuid']; newProjectOwnerFolderUuid?: IDMT_FolderItem['uuid']; newProjectName?: string; newProjectFriendlyName?: string; newProjectDescription?: string; newProjectCollaborationMode?: EDMT_ProjectCollaborationMode } | { operation: 'Existing Project'; existingProjectUuid: IDMT_BriefProjectItem['uuid'] } | { operation: 'Offline Client Local Path'; folderPath: string }, librariesImportSetting?: { ownerTeamUuid: IDMT_TeamItem['uuid']; deviceClassification?: Array; symbolClassification?: Array; footprintClassification?: Array; createDeviceForSingleSymbol?: boolean; updateExistingLibrariesWithTheSameName?: boolean }) -> Promise<IDMT_BriefProjectItem | undefined> 使用工程文件导入工程 remarks: 暂不支持提取库的相关配置,如果需求提取库,将会按照默认配置提取 returns: 导入的工程的简略工程属性
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry behavioral disclosure. It includes a remark about not supporting library config extraction and defaulting to default config, which is useful. It also states the return type. However, it does not explain side effects (e.g., whether it creates or modifies projects), required permissions, or error conditions. The saveTo parameter implies multiple behaviors but they are not elaborated.
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 long TypeScript signature, which is not concise or front-loaded. The essential purpose is buried after a wall of code, and the structure is not optimized for quick parsing by an agent. The useful purpose phrase appears only after the signature.
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 optional parameters and nested objects), the description lacks explanations of parameter semantics, preconditions, error handling, and when the promise resolves to undefined. It depends entirely on external type definitions and does not provide enough context for an agent to invoke 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 input schema is generic (args array, windowId), but the description includes the full function signature with typed parameters, enum values for fileType, and detailed option objects (props, saveTo, librariesImportSetting). This adds substantial semantic meaning beyond the schema, though it relies on external type definitions.
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 contains the Chinese phrase '使用工程文件导入工程' which clearly states the action (import) and resource (project file). The tool name itself also conveys the purpose. However, it does not explicitly differentiate from sibling tools like extract_project_info or get_project_file, though the verb 'import' is 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?
There is no guidance on when to use this tool versus alternatives. The description provides no context about appropriate scenarios, exclusions, or prerequisites. It only presents the function signature without explaining when to invoke it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_file_manager_set_document_sourceC
sys_FileManager.setDocumentSource(source: string) -> Promise
修改文档源码
returns: 是否修改成功,如果输入的文档源码格式错误,将返回 false 的结果
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 it modifies document source and returns a boolean, false on format error. It does not disclose potential side effects (e.g., overwriting the current source, unsaved changes being lost), permission requirements, or whether the document must be open in a specific window. This is insufficient 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 compact: a signature line, a one-line purpose, and a return-value note. It is front-loaded with the signature and avoids extraneous text. The Chinese phrasing is terse but clear, and every sentence conveys something. It loses one point because the return-value sentence is somewhat redundant with the signature's `Promise<boolean>`.
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 and no output schema, the description should explain what 'document source' means, how to construct the `args` array, and any side effects or prerequisites. It only covers the return value partially (false on format error). The lack of usage guidance and parameter detail makes it incomplete for an agent to call correctly without 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 100% (both `args` and `windowId` have descriptions), so the baseline is 3. The description adds the signature `setDocumentSource(source: string)` which clarifies the first `args` element is a string, and the return value semantics. However, it does not explain how the `args` array maps to the signature or what format the source string must be (e.g., raw JSON vs. encoded). It provides marginal value but doesn't fully compensate for the opaque generic items type.
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 '修改文档源码' (modify document source) with the function signature `setDocumentSource(source: string)`, giving a verb and resource. It distinguishes from sibling `get_document_source` by the set/rest verb pair, though it doesn't explicitly name alternatives. The scope (which document) is implied by the `windowId` parameter but not explicitly stated.
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 related tools like `eda_lib_symbol_update_document_source` or `eda_lib_footprint_update_document_source`. No prerequisites, target document selection, or exclusions are mentioned. The description only states the action and return value, 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.
eda_sys_file_system_create_directory_in_file_systemA
sys_FileSystem.createDirectoryInFileSystem(folderPath: string) -> Promise 在文件系统内创建文件夹 remarks: 支持递归创建多层目录
注意 1:本接口仅客户端有效,在浏览器环境内调用将始终 throw Error
注意 2:本接口需要使用者启用扩展的外部交互权限,如若未启用将始终 throw Error
ADD since EDA v3.2.166 returns: 创建操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It discloses that recursive creation is supported, that browser calls will always throw, that missing permission will always throw, and that the return value indicates success. It does not cover edge cases like behavior when the folder already exists, but the disclosed traits go well 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 compact and front-loads the signature and main purpose. The numbered notes are well structured and each line conveys useful information. There is minor redundancy between the signature English and the Chinese one-liner, but no wasted 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?
For a low-complexity create-directory tool with no output schema or annotations, the description is quite complete: it includes return type, error conditions, prerequisites, and recursion semantics. It stops short of stating behavior when the directory exists or path qualification rules, but these are minor gaps given the tool's simplicity.
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 only describes generic args and windowId, with empty item schema, so the description is essential. It documents the actual parameter folderPath as a string and clarifies that multi-level paths are accepted via recursion support. This adds meaningful semantic detail 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?
The description clearly states the operation: "创建文件夹" (create folder) in the file system, and includes the full method signature. It does not explicitly differentiate from the similar sibling tool eda_dmt_folder_create_folder, which also creates folders, so it misses a chance to disambiguate context, but the verb and resource are specific and clear.
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 context: it is only valid in the client environment and will throw in a browser, and it requires the external interaction permission to be enabled. These are clear when-to-use / when-not-to-use conditions. However, it does not suggest alternatives or distinguish from sibling folder-creation tools, so it lacks the full guidance of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_file_system_create_object_urlB
sys_FileSystem.createObjectURL(blob: Blob | File) -> string 创建 ObjectURL remarks: 创建一个指向传入 Blob / File 对象的 ObjectURL
ADD since EDA v3.2.162 returns: ObjectURL 字符串
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior. It only states that it creates an ObjectURL pointing to the given blob, with no mention of memory management, lifetime, or the need to revoke. The sibling revoke tool implies a lifecycle, but this is not disclosed here.
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 structured with signature, Chinese description, remarks, version, and returns. However, the description and remarks are repetitive, and the version note is not essential for usage. It is compact but could be more 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 provides the return type and basic purpose, but lacks details about URL lifetime, revocation requirements, or any constraints. Given the simple nature and existence of a revoke sibling, the description is adequate but not 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's args property only says it is a JSON parameter array in official order, without item types. The tool description compensates by providing the full signature including the Blob | File parameter type. This adds meaningful semantic detail 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?
The description clearly states the tool creates an ObjectURL from a Blob or File, with a specific signature and purpose. It differentiates from the sibling eda_sys_file_system_revoke_object_url by its create action, 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 no guidance on when to use this tool versus alternatives. It does not mention that the created URL should be revoked later, nor does it suggest any specific use cases. The usage context is entirely implied by the tool's name and signature.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_file_system_delete_file_in_file_systemB
sys_FileSystem.deleteFileInFileSystem(uri: string, force?: boolean) -> Promise
删除文件系统内的文件
remarks: 注意 1:本接口仅客户端有效,在浏览器环境内调用将始终 throw Error
注意 2:本接口需要使用者启用扩展的外部交互权限,如若未启用将始终 throw Error
returns: 删除操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose two guaranteed failure modes (browser environment throws Error, missing external interaction permission throws Error) and the boolean return meaning. However, it does not disclose that deletion is destructive and likely irreversible, and the behavior of the `force` parameter is left unexplained, so the transparency is partial.
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: signature, a one-line purpose, two critical caveats, and the return meaning. Every element earns its place. The only minor waste is redundancy between the tool name and the Chinese purpose sentence, which restates the same 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?
For a mutating tool with no annotations and no output schema, the description covers the essential failure conditions and the return semantics, which is adequate. The clear gaps are the meaning of the `force` parameter, any warning that deletion is permanent/irreversible, and what URI format to pass. These are material enough that the description is 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 signature adds the parameter identity (`uri: string`, `force?: boolean`) that the opaque `args` array (items: {}) fails to provide, which is genuine value beyond the schema. But the description stops at names and types: it never explains what `force` controls or what URI format/location is expected, leaving the agent to guess at meaningful invocation 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 signature `sys_FileSystem.deleteFileInFileSystem(uri: string, force?: boolean) -> Promise<boolean>` plus '删除文件系统内的文件' clearly identifies a specific verb (delete) and resource (a file in the file system). The operation is unambiguous and distinct from sibling file-system tools. However, the prose sentence largely translates the tool name itself, and the description does no explicit sibling differentiation work.
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 two remarks state explicit preconditions: the interface only works in the client (browser calls always throw) and requires the external interaction permission (otherwise always throws). This is useful invocation context, but there is no guidance on when to prefer this tool over alternatives or what the fallback options are among the many sibling file-system tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_file_system_exists_path_in_file_systemA
sys_FileSystem.existsPathInFileSystem(uri: string) -> Promise
检查文件系统内的文件或目录是否存在
remarks: 注意 1:本接口仅客户端有效,在浏览器环境内调用将始终 throw Error
注意 2:本接口需要使用者启用扩展的外部交互权限,如若未启用将始终 throw Error
ADD since EDA v3.2.167 returns: 文件或目录是否存在
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 it throws an error in browser environments and if the extension lacks external interaction permission. It also specifies the return type (Promise<boolean>). This covers key behavioral traits beyond the basic function purpose.
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 structured with a signature line, purpose, and numbered remarks. It is front-loaded with the essential purpose and constraints, and is not excessively long. The bullet-style remarks are 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?
For a simple existence check with no output schema, the description is fairly complete: it covers the two failure modes and the return type. However, it does not explicitly explain how the uri parameter maps to the args array, which could lead to invocation errors. Given the simplicity, it is nearly complete but has a small gap in parameter usage 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?
The input schema has 100% description coverage (both args and windowId have descriptions), so baseline is 3. The description adds the signature line with uri: string, which clarifies the expected type, but does not explain how to pass the uri within the args array or mention windowId. It provides marginal added value over 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 states the tool checks if a file or directory exists in the file system, with a specific verb ('检查存在') and resource. It is distinct from sibling tools like list_files or read_file, and the name itself makes 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 important usage constraints (client-only, requires external interaction permission) but does not compare with alternatives or state when to use this tool over other file system operations. The purpose is so specific that usage context is implied, but no explicit guidance on alternatives is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_file_system_get_documents_pathA
sys_FileSystem.getDocumentsPath() -> Promise
获取文档目录路径
remarks: 返回的路径中,结尾不包含斜杠 /(或反斜杠 \)
注意 1:本接口仅客户端有效,在浏览器环境内调用将始终 throw Error
注意 2:本接口需要使用者启用扩展的外部交互权限,如若未启用将始终 throw Error
returns: 文档目录路径
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It explicitly discloses that the returned path has no trailing slash, that browser calls always throw, and that missing external interaction permission always throws, which is strong transparency for a simple getter.
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 well-organized with a signature line, purpose, remark, and two numbered notes. It has minor redundancy—the 'returns' line repeats the purpose—but overall 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?
For a zero-required-parameter getter with no annotations and no output schema, the description covers the key facts: return value, trailing-slash behavior, client-only restriction, and permission requirement. The wrapper parameters are adequately covered by the schema, so the tool is largely complete for 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 100%, so the baseline is 3. The description's signature shows no parameters, while the schema defines args and windowId as wrapper-level fields; the description adds no further parameter meaning beyond what the schema already states.
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 method signature and purpose: get the documents directory path. This is a specific verb+resource combo that distinguishes it from sibling path tools like get_libraries_paths or get_projects_paths, though it does not explicitly contrast with 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?
There is no explicit when-to-use or when-not-to-use guidance, and no alternative tools are named. The notes about client-only execution and permission requirements are constraints, not selection criteria, so an agent must infer usage from the purpose alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_file_system_get_eda_pathA
sys_FileSystem.getEdaPath() -> Promise
获取 EDA 文档目录路径
remarks: 返回的路径中,结尾不包含斜杠 /(或反斜杠 \)
注意 1:本接口仅客户端有效,在浏览器环境内调用将始终 throw Error
注意 2:本接口需要使用者启用扩展的外部交互权限,如若未启用将始终 throw Error
returns: EDA 文档目录路径
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full behavioral responsibility. It clearly discloses that the call returns a Promise<string>, the path format (no trailing slash), and two conditions that will always throw an Error (browser environment, missing external interaction permission). These are critical, non-obvious behaviors that an agent must know before invocation.
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 the purpose, then presents remarks and notes in a structured, scannable format. It is slightly longer than strictly necessary (three notes), but each sentence carries relevant information about return format or error conditions, so nothing is 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?
For a simple getter with a well-defined return type and two parameters covered in the schema, the description covers the essential behavioral constraints (error conditions) and return format. It does not mention alternative tools, but the simplicity of the operation makes it sufficient for an agent to call 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 input schema already covers both parameters (args and windowId) with 100% coverage, so the baseline is 3. The description adds no additional parameter semantics beyond the schema, which is acceptable but does not enhance understanding of how to use the 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 a clear verb (获取/Get) and resource (EDA 文档目录路径/EDA document directory path), making the tool's purpose unmistakable. It is distinct from sibling tools like get_documents_path or get_libraries_paths due to the specific 'get_eda_path' naming and the explicit return description.
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 guidance on when to choose this tool over alternatives or when not to use it. It only mentions environmental constraints (client-only, requires permission) but does not help an agent decide between this and the several other file-system path getters in the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_file_system_get_extension_fileB
sys_FileSystem.getExtensionFile(uri: string) -> Promise<File | undefined> 获取扩展内的文件 returns: File 格式文件
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 restates the signature and return type; it does not disclose whether the operation is read-only, what URI scope is valid, how the returned File is materialized, or what happens if the file is missing. The `undefined` in the type hint is a minor implicit behavior.
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-loads the method signature and purpose in three short lines. The `returns` line slightly duplicates the return type already present in the signature, but overall it is tidy 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 file-retrieval tool with no annotations and no output schema, an agent would need more context: what URI scope is allowed, error behavior, and how to consume the returned File object. The description provides only a skeletal call contract and leaves significant operational details implicit.
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 only provides a generic `args` array description, so the signature adds meaningful parameter semantics by specifying a single `uri: string` parameter and its order. It still does not describe URI format, path rules, or acceptable values, which keeps it from a 5.
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 concrete operation '获取扩展内的文件' (get file within extension) and provides the full signature `sys_FileSystem.getExtensionFile(uri: string) -> Promise<File | undefined>`, naming both the resource and the return type. It does not explicitly contrast with sibling file-system helpers, so it stops 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 related alternatives like read_file_from_file_system, list_files_of_file_system, or the file dialogs. The signature implies a URI argument, but the description gives no context, exclusions, or alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_file_system_get_libraries_pathsB
sys_FileSystem.getLibrariesPaths() -> Promise<Array>
获取库目录路径
remarks: 注意 1:本接口仅全离线客户端有效,在浏览器环境内调用将始终 throw Error
注意 2:本接口需要使用者启用扩展的外部交互权限,如若未启用将始终 throw Error
returns: 库目录路径数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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. The description does add meaningful behavioral context: it explicitly states the tool throws an Error in browser environments and throws when the external interaction permission is not enabled. It also mentions the return type (Array<string>). However, it doesn't disclose side effects (there appear to be none, which is implied by 'get'), performance implications, or what the paths look like. The error conditions are the most valuable behavioral disclosures and they are present, so a 3 is fair.
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: a one-line purpose statement plus two numbered 'remarks' covering critical error conditions and a 'returns' line. Each sentence earns its place. The structure is front-loaded with the purpose then the operational constraints. It could be slightly tighter (the code signature is redundant with the name) but overall it's efficient and the critical usage conditions are clearly highlighted.
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 no-parameter getter tool, the description covers the essential operational constraints: offline-only, permission requirement, and return type. The input schema covers the wrapper parameters. However, the description doesn't clarify the shape/format of the returned paths (absolute vs relative, platform-specific formatting) or explain the 'args' parameter usage (whether it should be empty). Given the tool is simple and the schema is rich, this is adequate but not complete; a 3 reflects that an agent can call it correctly but may not fully understand the return value format.
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 100% description coverage: 'args' is described as ordered JSON parameter array and 'windowId' as target EDA window ID. The tool actually takes no real parameters (the method signature shows no args — just the wrapper params args and windowId). The description doesn't add any parameter-level semantics beyond the schema, but with 100% schema coverage the baseline is 3. The 'args' array is generic and the description doesn't clarify what arguments go in it (it appears the underlying method takes none), which is a minor gap. Baseline 3 is appropriate.
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 gets library directory paths (获取库目录路径) and includes the method signature. This is clear about the resource (library directories) and the action (get paths), though it doesn't explicitly differentiate from very similar siblings like get_projects_paths or get_documents_path. Given the name itself contains 'get_libraries_paths' and the description restates this, it's clear but relies somewhat on the name. A 4 is appropriate because the verb+resource is clear and the signature adds specificity; distinguishing from sibling path-getters is left to 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?
The 'remarks' section provides explicit when-to-use conditions: it only works in fully-offline clients and throws an Error in browser environments, and requires the extension's external interaction permission to be enabled or it will always throw. This is useful environment/scoping guidance. However, it doesn't mention when to prefer this tool over alternatives like eda_sys_file_system_get_projects_paths or eda_sys_file_system_get_documents_path, which are sibling tools with the same pattern. The usage guidance covers prerequisites but not alternative selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_file_system_get_projects_pathsA
sys_FileSystem.getProjectsPaths() -> Promise<Array>
获取工程目录路径
remarks: 注意 1:本接口仅半、全离线客户端有效,在浏览器环境内调用将始终 throw Error
注意 2:本接口需要使用者启用扩展的外部交互权限,如若未启用将始终 throw Error
returns: 工程目录路径数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It discloses that it always throws an Error in browser environments and when external interaction permission is not enabled, and it states the return type. This is strong behavioral context, though it does not mention potential edge cases like empty arrays or path format.
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: a one-line signature, a one-line purpose, two precise notes on failure conditions, and a return type. 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?
For a simple getter with no output schema, the description covers the essential details: return type, failure conditions, and purpose. It does not elaborate on the exact meaning of 'project directory paths' or how the paths are structured, but this is likely self-evident from the name and the function signature. Overall, the description is sufficient for 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 description does not mention parameters at all. However, the input schema has descriptions for both args and windowId (coverage 100%), and the function signature shows no parameters (getProjectsPaths()), so the description need not compensate. The generic schema descriptions are sufficient for an agent to understand the parameters, but no additional detail is provided.
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 and resource: '获取工程目录路径' (get project directory paths), and includes the full function signature with return type (Promise<Array<string>>). This clearly differentiates it from other file system functions by specifying it returns project paths specifically.
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 lists two conditions under which the tool will throw an Error (browser environment, missing external interaction permission), which gives clear guidance on when it is safe to invoke. However, it does not mention any alternative tool for getting paths in other environments, so it lacks explicit exclusionary guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_file_system_list_files_of_file_systemA
sys_FileSystem.listFilesOfFileSystem(folderPath: string, recursive?: boolean) -> Promise<Array>
查看文件系统路径下的文件列表
remarks: 注意 1:本接口仅客户端有效,在浏览器环境内调用将始终 throw Error
注意 2:本接口需要使用者启用扩展的外部交互权限,如若未启用将始终 throw Error
returns: 当前目录下的文件列表
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 important failure behavior (throws in browser, throws without permission) and the return type (Promise of file-list array), but does not explain edge cases like invalid paths or whether the operation is read-only, which is implied by 'list'.
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 well-structured with a signature line, a one-sentence purpose, labeled remarks, and a returns line. There is minor redundancy between the Chinese purpose line and the returns line, but no wasted words overall.
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 purpose, key prerequisites, and return type, but because there is no output schema, the structure of ISYS_FileSystemFileList is unexplained. It also lacks details on path conventions, error handling for nonexistent directories, and recursive behavior, which an agent would need for fully 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?
The schema only exposes a generic 'args' array, so the description adds real value by giving the official signature 'folderPath: string, recursive?: boolean'. However, it does not elaborate on path format rules or the exact meaning of 'recursive', leaving some semantics to inference.
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 operation: listing files under a file system path ('查看文件系统路径下的文件列表') and provides the exact method signature. It is unambiguous and distinct from sibling file-system actions like reading, saving, or deleting files, 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?
The remarks explicitly state two critical usage conditions: this tool only works in the client environment and always throws in browser contexts, and it requires the extension's external interaction permission to be enabled. This gives clear prerequisite guidance, though it does not describe when to prefer this over sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_file_system_open_read_file_dialogC
sys_FileSystem.openReadFileDialog(filenameExtensions?: string | Array, multiFiles?: true) -> Promise<Array | undefined> 打开读入文件窗口 returns: File 格式文件数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 return type (Promise<Array<File> | undefined>) and that it opens a dialog, but does not mention whether this requires user interaction, whether it blocks, what happens on cancel (undefined), or any side effects. The behavior of returning undefined on cancel is implied by the type but not 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 short and includes the signature, which is useful, but the Chinese description '打开读入文件窗口' is terse and the return type line is somewhat redundant with the signature. It is compact but not optimally structured for an agent.
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 and no output schema, the description should explain more about the dialog behavior, cancellation, and file format. The signature provides some info, but an agent lacks guidance on how to handle undefined results or what file extensions to pass. Sibling tools like open_read_file_path_dialog suggest a family of similar tools, but no differentiation is provided.
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 100% for the two parameters (args and windowId), but the description adds the actual signature with parameter names (filenameExtensions, multiFiles) and types. This adds meaning beyond the generic schema, but doesn't explain semantics like what filenameExtensions should look like or how multiFiles affects behavior.
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 ('open') and resource ('read file dialog'), and includes the signature with parameters and return type. It is clear this opens a file picker dialog. However, it doesn't explicitly differentiate from sibling tools like open_read_file_path_dialog or open_read_folder_dialog, though the name and signature partially do.
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 on when to use this tool versus alternatives such as open_read_file_path_dialog or open_read_folder_dialog. The description only says '打开读入文件窗口' (open read file window) with no context about when to choose it over siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_file_system_open_read_file_path_dialogA
sys_FileSystem.openReadFilePathDialog(filenameExtensions?: string | Array, multiFiles?: true) -> Promise<Array>
打开读取文件路径窗口
remarks: 注意:本接口仅客户端有效,在浏览器环境内调用将始终 throw Error
returns: 文件路径数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 two important behaviors: the call throws an error in a browser environment, and it returns a `Promise<Array<string>>` (file path array). It does not mention possible user cancellation or side effects, but the core behavioral traits are 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 compact and well-optimized: it opens with the exact signature, then gives a one-line purpose, followed by the environment constraint and return type. Every sentence adds value, and the critical client-only warning is clearly marked with 'remarks'.
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 purpose, parameters, return type, and the critical environment limitationdictating when it can be called. It does not explicitly mention `windowId`, but that parameter is adequately described in the schema. The only notable omission is the lack of information about user cancellation or the dialog's modal nature, but this is a minor gap given the rest of the 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 input schema only provides an opaque `args` array with a boilerplate description, leaving the actual parameters undocumented. The tool description compensates by revealing the exact signature: `filenameExtensions?: string | Array<string>, multiFiles?: true`. This is essential for correctly constructing the `args` array and is far more informative than 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 states the verb (open) and resource (read file path dialog). It also includes the full function signature, making the purpose unambiguous. However, it does not differentiate itself from the sibling tool `eda_sys_file_system_open_read_file_dialog`, which could lead to confusion.
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 states a critical usage constraint: '本接口仅客户端有效,在浏览器环境内调用将始终 throw Error' (only valid on client, throws in browser). This gives a clear condition for when NOT to use it. However, it provides no guidance on when to prefer this over the sibling `open_read_file_dialog`, so the agent is left to infer the distinction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_file_system_open_read_folder_dialogC
sys_FileSystem.openReadFolderDialog() -> Promise<Array<{ relativePath: string; file: File }>> 打开读入文件夹窗口 returns: 读取到的所有文件及其路径信息
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 mentions that a dialog is opened and files are returned, but does not disclose that the dialog is modal, that the user must interact with it, what happens on cancellation, or whether the operation is read-only. For a UI-driven operation, this is a significant gap in 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 concise and front-loads the core purpose. It includes the method signature, a one-line Chinese description, and a return type annotation. There is no fluff, but it could be more structured with explicit headings. Overall, it 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?
For a simple dialog opener, the description covers the basic purpose and return type. However, it lacks details on user interaction, cancellation behavior, the meaning of relativePath (relative to what), and whether subfolders are included. Without an output schema or annotations, more context is needed for an agent to call this correctly and interpret the result. The description is minimally adequate but leaves these 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 100% description coverage for its two parameters (args and windowId), so the schema already explains them. The description adds no extra meaning about what the args array should contain for this specific function (e.g., whether any arguments are needed). It does not compensate for any gaps, but given full schema coverage, a baseline of 3 is appropriate.
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 clearly: 'Open read folder dialog' and indicates the return type (array of files with relative paths). It is distinct from the sibling tools like open_read_file_dialog and open_read_folder_path_dialog by focusing on opening a folder and reading files. However, it does not explicitly differentiate itself from those siblings, which are similarly named.
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 the alternatives (open_read_file_dialog, open_read_file_path_dialog, open_read_folder_path_dialog). There is no mention of use cases, prerequisites, or exclusions. The agent is left 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.
eda_sys_file_system_open_read_folder_path_dialogB
sys_FileSystem.openReadFolderPathDialog() -> Promise<string | undefined>
打开读取目录路径窗口
remarks: 注意:本接口仅客户端有效,在浏览器环境内调用将始终 throw Error
returns: 目录路径
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description discloses the critical environment limitation (throws in browser) and the return type (Promise<string | undefined>). However, it doesn't explain behavior on cancel (implied by undefined) or any other edge cases, 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 concise, front-loading the signature and key information in a few lines. The remarks are relevant and the structure is clean, with no unnecessary 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?
For a simple dialog tool with only two optional parameters and no output schema, the description covers the essential aspects: what it does, environment constraints, and return type. The missing explanation of parameter purpose is compensated by the schema descriptions.
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 100% for both parameters, so the schema fully documents them. The tool description adds no parameter-specific details, meeting the baseline expectation of 3 without exceeding 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 states the verb 'open' and resource 'read folder path dialog', and includes the method signature and Chinese description. It clearly indicates the tool opens a directory path picker, though it doesn't explicitly differentiate it from sibling dialog 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 on when to use this tool versus similar dialogs (e.g., open_read_file_dialog or open_read_folder_dialog). The only usage note is the client-only restriction, which is a constraint but not an alternative selector.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_file_system_read_file_from_file_systemA
sys_FileSystem.readFileFromFileSystem(uri: string) -> Promise<File | undefined>
从文件系统读取文件
remarks: 注意 1:本接口仅客户端有效,在浏览器环境内调用将始终 throw Error
注意 2:本接口需要使用者启用扩展的外部交互权限,如若未启用将始终 throw Error
returns: File 格式文件
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 honestly reveals that the tool will throw an Error in browser environments and if permissions are not enabled, which is significant. It also notes the return type as File, which adds transparency, though it doesn't detail error handling for other failure modes (e.g., file not found).
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 a clear function signature, a one-line summary, and two important remarks as bullet points. It front-loads the signature and purpose before constraints, making it easy to scan. The remarks are essential and not 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?
Given the tool has no output schema and no annotations, the description provides the necessary constraints (client-only, permission requirement) and return type. It lacks details on error handling for edge cases like invalid URI or file not found, but the constraints are the most critical contextual information. This is adequate for an agent to call 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 100% coverage and describes the args array as JSON parameters per the official signature order, and windowId as the target EDA window ID. The description adds the uri parameter type (string) and the function signature, which aligns with the args. However, it does not explain how the uri should be formatted (e.g., absolute path, file URI scheme). With high schema coverage, a 3 is appropriate.
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 reads a file from the file system via a URI, with the function signature included. It distinguishes this from sibling tools like save_file, list_files, and open_read_file_dialog, though it does not explicitly name them. The Chinese description (从文件系统读取文件) reinforces the 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 provides critical usage constraints: it only works on the client side, not in a browser, and requires the user to enable external interaction permissions. This is strong contextual guidance for when to use this tool, though it does not explicitly mention alternatives or when not to use it beyond those constraints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_file_system_revoke_object_urlC
sys_FileSystem.revokeObjectURL(url: string) -> void 吊销 ObjectURL remarks: 吊销指定的 ObjectURL
ADD since EDA v3.2.162
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 only states the action without mentioning side effects (e.g., the URL becomes invalid, resources are freed, behavior for invalid URLs).
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 front-loaded with the signature, but it includes redundant lines ('吊销 ObjectURL' and 'remarks: 吊销指定的 ObjectURL') and version metadata that add little 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?
For a resource-revocation tool with no annotations or output schema, the description should explain the lifecycle context (e.g., URLs created by create_object_url should be revoked here) and failure behavior. These are 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?
The signature line 'revokeObjectURL(url: string)' adds the specific parameter name and type, which the generic args array in the schema does not provide. It does not explain where the URL comes from, but the core parameter semantics are covered.
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 specific action 'revokeObjectURL' and its object ('吊销 ObjectURL'), making the tool's purpose unambiguous. It does not explicitly name the sibling create_object_url, but the revoke/create contrast is clear from the 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?
No guidance is given on when to use this tool, such as pairing it with create_object_url to release URLs, or any caveats. The description only says it revokes a URL and provides no when-not-to-use or alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_file_system_save_fileB
sys_FileSystem.saveFile(fileData: File | Blob, fileName?: string) -> Promise 保存文件 remarks: 调用浏览器下载接口或 Electron 保存文件接口,将传入的文件流保存到本地
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the disclosure burden. It does reveal the underlying mechanism (browser download or Electron save interface) and the local-destination result, which is useful. However, it omits behavioral details such as whether a save dialog appears, whether existing files are overwritten, or any error conditions.
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: a signature line, a short Chinese phrase, and a one-line remark. It conveys the core purpose and mechanism without waste, though the '保存文件' phrase is slightly redundant with the function 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 simple save operation, the signature and local-save remark provide a usable baseline. However, the description lacks guidance on when to choose this over the sibling save-to-file-system tool, and does not mention dialog behavior or failure modes. The Promise<void> return type partially compensates for the missing 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 signature 'fileData: File | Blob, fileName?: string' adds real meaning beyond the generic 'args' array in the schema. It supplies parameter names, types, and optionality. The windowId parameter is only covered by the schema, but it is already clearly described there.
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 function: 'sys_FileSystem.saveFile(...)' and explains it saves an incoming file stream to the local machine. This is a specific verb+resource combination, but it does not explicitly distinguish itself from the similarly named sibling 'eda_sys_file_system_save_file_to_file_system'.
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. The remark about calling 'browser download interface or Electron save file interface' hints at context, but there is no explicit mention of conditions, exclusions, or the more appropriate sibling for saving to a specific file system path.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_file_system_save_file_to_file_systemA
sys_FileSystem.saveFileToFileSystem(uri: string, fileData: File | Blob, fileName?: string, force?: boolean) -> Promise
向文件系统写入文件
remarks: 注意 1:本接口仅客户端有效,在浏览器环境内调用将始终 throw Error
注意 2:本接口需要使用者启用扩展的外部交互权限,如若未启用将始终 throw Error
returns: 写入操作是否成功,如若不允许覆盖但文件已存在将返回 false 的结果
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 critical behavioral traits: client-only (throws in browser), requires external interaction permission (throws if not enabled), and returns false if file exists and force is false. This is substantial behavioral disclosure beyond the basic function signature.
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 the function signature, followed by two critical remarks and a return value note. Every sentence carries meaningful information. The Chinese text is concise and the structure is logical.
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 (file system write with permissions and environment constraints), the description covers the essential context: environment limitation, permission requirement, and overwrite behavior. It doesn't explain the return value format beyond boolean, but the signature already states Promise<boolean>. The description is complete enough for an agent to call 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 input schema has 100% description coverage (args array and windowId are described). The description adds the function signature with parameter names and types (uri: string, fileData: File | Blob, fileName?: string, force?: boolean), which helps map the args array. However, it doesn't explain the semantics of each parameter beyond the signature, and the schema already covers the args structure.
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 ('saveFileToFileSystem') and resource ('向文件系统写入文件' - write file to file system), and includes the full function signature with parameter types. It clearly distinguishes this from sibling tools like eda_sys_file_system_read_file_from_file_system and eda_sys_file_system_save_file, 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 provides clear context: it's client-only (browser will throw), requires external interaction permission (otherwise throws), and explains the force/overwrite behavior. It doesn't explicitly state when to use this vs alternatives like eda_sys_file_system_save_file, but the constraints are clearly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_font_manager_add_fontC
sys_FontManager.addFont(fontName: string) -> Promise 添加字体到字体列表 returns: 添加操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral disclosure burden. It only states the return value (boolean success). It does not disclose what happens when the font already exists, whether fonts are persisted, what side effects occur, what a valid fontName is, or failure conditions. For a mutation tool with zero annotation coverage, 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 compact with no filler — a signature line plus two short Chinese sentences for purpose and return value. Information is front-loaded. Some redundancy exists (the signature and the Chinese purpose line repeat each other), but nothing is wasted.
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, no output schema, and only a generic args array in the schema, the description must compensate but does not. It omits what fontName should be, side effects of adding a font, error/duplicate behavior, and persistence semantics. An agent cannot confidently invoke this tool correctly based on the 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 coverage is 100% for the top-level args/windowId parameters, so the baseline is 3. The signature line adds marginal value by revealing that args[0] is a string fontName, but it does not explain what format fontName should take (path, family name, URL) or how windowId relates to this operation. The description adds only slightly 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?
The description states a specific verb and resource ('添加字体到字体列表' — add font to font list) and includes the full signature with return type. It can be distinguished from sibling tools like eda_sys_font_manager_delete_font and eda_sys_font_manager_get_fonts_list, though it relies heavily on the tool name itself.
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 about when to use this tool versus alternatives, no mention of the sibling font manager tools (delete_font, get_fonts_list), and no prerequisites stated. An agent gets no help choosing this over other font operations or knowing when it applies.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_font_manager_delete_fontB
sys_FontManager.deleteFont(fontName: string) -> Promise 删除字体列表内的指定字体 returns: 删除操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full burden of behavioral disclosure. It states the return is a boolean indicating success, but does not reveal whether the operation is irreversible, what happens if the font does not exist, or if any permissions are needed. The destructive nature is implied by 'delete' but not explicitly addressed.
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 brief: a signature line plus a short Chinese sentence. It is front-loaded with the signature and contains no wasted words, making it efficient. It could be slightly more organized, but overall it 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?
This simple delete operation is covered in terms of action and return, but lacks usage context, prerequisites, and behavioral details like error handling. Without annotations, the description should compensate, but it does not fully. It is adequate for a minimal tool yet leaves gaps an agent might need.
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 descriptions cover both args (JSON array in official order) and windowId (target EDA window), giving 100% coverage. The description adds no additional meaning beyond echoing the signature; it does not explain what fontName should be, e.g., whether it matches the font list display name. Baseline 3 applies since schema handles the 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 states '删除字体列表内的指定字体' (delete the specified font from the font list) along with the method signature 'deleteFont(fontName: string)', giving a specific verb and resource. This clearly distinguishes it from sibling tools like add_font and get_fonts_list, leaving no ambiguity about its 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?
No guidance is provided on when to use this tool versus alternatives. It does not mention contexts where deletion is appropriate, prerequisites like the font needing to exist, or any exclusions. An agent gets no advice on selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_font_manager_get_fonts_listA
sys_FontManager.getFontsList() -> Promise<Array> 获取当前已经配置的字体列表 returns: 字体列表
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the behavioral transparency burden. It discloses the operation and the return type, which helps, and 'get' implies a read-only action. However, it does not mention side effects, empty-list behavior, failure cases, or scoping details, leaving some behavior implicit.
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 the signature, followed by a short Chinese purpose statement and return note. The 'returns: 字体列表' line is slightly redundant with the previous sentence, but overall it is appropriately sized 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?
For a simple getter with no required parameters and no output schema, the description covers the key information: operation, return type, and return meaning. It could be more explicit about the expected content of 'args' and the meaning of 'configured', but it is largely sufficient for 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 coverage is 100%, so baseline is acceptable, but the description adds useful meaning: the signature 'getFontsList()' shows the underlying method takes no arguments, which informs how to fill the generic 'args' array. It does not elaborate on the wrapper's 'windowId' parameter, but that is already described 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 states the operation: get the currently configured font list. The signature 'sys_FontManager.getFontsList()' plus the Chinese text '获取当前已经配置的字体列表' provides a specific verb and resource, and the return type 'Array<string>' clarifies what is produced. It is easily distinguishable from sibling font tools like add/delete.
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 establishes clear context: use this tool when you need the list of configured fonts. It does not explicitly name alternatives or exclusion conditions, but the sibling names (add_font/delete_font) make the intended use reasonably obvious. The lack of an explicit 'when not to use' statement is the only gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_format_conversion_convert_altium_designer_libraries_to_easy_edamulti_filesC
sys_FormatConversion.convertAltiumDesignerLibrariesToEasyEDAMultiFiles(file: File | Array) -> Promise<Array> 转换 Altium Designer 库到多个嘉立创库文件(每个器件一个文件) returns: 多个嘉立创库文件
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 it converts and returns multiple files, but doesn't mention side effects, file format requirements, whether files are written to disk or returned as objects, or any limitations. Minimal 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 concise with no fluff, but it's not well-structured. It includes the signature line and a brief Chinese explanation. It's effective but lacks clear formatting like bullets or sections.
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 is incomplete for a conversion tool. It doesn't explain the input file format, output file creation details, error handling, or any prerequisites. Without an output schema or annotations, the agent lacks critical information to call 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 description includes the signature with the file parameter type (File | Array<File>), which adds meaning beyond the schema's generic 'args' array description. However, it doesn't explain how to map this to the args wrapper or the windowId parameter, so the added value is 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 states a specific action (convert Altium Designer libraries) and resource (to multiple EasyEDA/JLC library files). The name itself distinguishes it from the single-file variant and DISA variants, though the description doesn't explicitly contrast them. It's clear 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?
No guidance is provided on when to use this tool versus the single-file or DISA alternatives. The description doesn't mention any conditions or exclusions, 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.
eda_sys_format_conversion_convert_altium_designer_libraries_to_easy_edasingle_fileA
sys_FormatConversion.convertAltiumDesignerLibrariesToEasyEDASingleFile(file: File | Array) -> Promise<File | undefined> 转换 Altium Designer 库到单个嘉立创库文件 returns: 嘉立创库文件
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 reveals the return type (Promise<File | undefined>) and input flexibility (single File or array), but does not discuss side effects, error cases, or whether the original files are modified. It is not misleading, but it leaves gaps in behavioral understanding.
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 brief, containing a function signature, a one-line Chinese description, and a return note. It is front-loaded with the core functionality and avoids unnecessary fluff. The structure is efficient, though the Chinese and signature are 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 description covers the core purpose, input types, and return type. It implies that multiple input files are merged into a single output library, which is consistent with the 'single_file' suffix. It does not detail error handling or format constraints, but these are not critical for a straightforward conversion 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 function signature clarifies that the args array should contain the file(s) as the first parameter, specifying the type as File or Array<File>. The schema's description of args is generic ('JSON parameter array in official signature order'), so the tool description adds meaningful semantic detail that the schema lacks.
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 explicitly states the operation: converting Altium Designer libraries into a single EasyEDA (JLC) library file. It also distinguishes from siblings via the 'single_file' suffix, which contrasts with the 'multi_files' sibling. The purpose is clear 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 no guidance on when to use this tool versus its alternatives (e.g., the multi-files conversion or DISA conversions). It lacks any mention of conditions, prerequisites, or exclusions, leaving the agent to infer usage context 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.
eda_sys_format_conversion_convert_disa_libraries_to_easy_edamulti_filesA
sys_FormatConversion.convertDisaLibrariesToEasyEDAMultiFiles(file: File | Array) -> Promise<Array> 转换 T/DISA 4001 库到多个嘉立创库文件(每个器件一个文件) returns: 多个嘉立创库文件
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description provides the function signature and return type, but with no annotations available, it carries the full burden of behavioral disclosure. It does not mention side effects, error handling, whether the files are written to disk or returned in memory, or any requirements on the input files.
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 includes the function signature plus a brief Chinese explanation. It is front-loaded with the core action and has no filler. A slightly more explicit breakdown of parameters would improve structure, but it is already 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 basic input and output, and the schema describes the standard windowId argument. However, there is no output schema and no information about error cases, supported input variations, or specifics about the returned file objects. It is adequate for a simple conversion but leaves some 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 only describes generic 'args' and 'windowId' placeholderswest. The description adds the real parameter name 'file' and its type (File or Array<File>), which is essential for constructing the args array. This is valuable context beyond the schema's generic 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 ('convert'), the source format (T/DISA 4001 libraries), and the output (multiple JLC library files, one per device). This distinguishes it from the sibling tool that converts to a single file, so an agent can easily tell them apart.
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 when multiple output files are wanted, but it does not explicitly state when to use this tool versus the alternative single-file conversion tool. There are no exclusions or 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.
eda_sys_format_conversion_convert_disa_libraries_to_easy_edasingle_fileB
sys_FormatConversion.convertDisaLibrariesToEasyEDASingleFile(file: File | Array) -> Promise<File | undefined> 转换 T/DISA 4001 库到单个嘉立创库文件 returns: 嘉立创库文件
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the behavioral disclosure burden. It only gives a one-line purpose and return type; it does not state whether input files are modified, what an undefined return means, or whether file system access or permissions are needed.
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, front-loading the signature and purpose with no fluff. The mixing of English and Chinese is a minor readability issue, and the 'returns' line is redundant with the signature's return type, but overall it is appropriately sized.
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, no output schema, and a sparse description, the tool definition is incomplete for confident use. It does not explain how files are passed, how multiple files are handled, when undefined is returned, or any required editor/window context, making it hard 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?
The input schema describes only the wrapper parameters (args and windowId), while the actual file parameter appears only in the description's signature. The args array has an empty item schema, so the agent must infer that args[0] is the file; the description adds some meaning via the signature but does not explain the File type or how to supply 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 states a specific verb and resource: converting T/DISA 4001 libraries to a single JLC library file. The 'single' qualifier distinguishes it from the sibling multi-file conversion tool, and the signature clarifies the input and return 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?
There is no guidance on when to use this tool versus the multi-file variant or other conversion tools. No conditions, prerequisites, or exclusions are provided, leaving the agent to guess based on the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_help_helpA
sys_Help.help(namespace?: string, className?: string, methodName?: string) -> Promise<ISYS_HelpData | Record<string, any> | ISYS_HelpClassSummary | ISYS_HelpMethodDetail> 查询 Help 信息(渐进式) returns: 渐进式查询结果:
无参:返回
{ eda: { className: [方法列表] }, external: { namespace: { apiName: 标题 } } }总览;仅
namespace:返回该命名空间下各分组及其方法列表;namespace+className:返回该分组内所有方法摘要;三个参数齐全:返回单方法的完整详情(入参、出参、返回值)
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the behavioral burden. It clearly identifies this as a query/read operation and discloses the varying return shapes for each invocation mode, which is valuable behavioral context beyond the signature. It does not discuss error cases or side-effect guarantees, but for a metadata help tool this is a minor 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 well-structured: a signature line, a one-line purpose, then a bulleted list mapping parameter combinations to return shapes. Every sentence contributes directly to correct invocation, 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 that there is no output schema, the description compensates thoroughly by specifying the return structure at every parameter depth. The tool is simple enough that the signature, parameter semantics, and return-shape bullets give an agent everything needed to invoke 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?
Although the schema describes only a generic args array and windowId, the description adds essential semantics by naming the three positional parameters (namespace, className, methodName), giving their order through the signature, and explaining how each combination changes the result. This goes well beyond the schema's generic '按官方签名顺序排列的JSON参数数组' 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 ('查询 Help 信息' / query Help information) and a clear resource (Help metadata), with a progressive query model. It is not a tautology and materially explains what the tool returns. However, it does not explicitly differentiate itself from help-like siblings such as easyeda_api_describe or easyeda_api_catalog.
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 each parameter combination (no args, namespace only, namespace+className, all three), which effectively tells the agent how to progressively drill down. It does not, however, state exclusions or explicitly compare against alternative help/introspection tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_i18n_add_language_changed_event_listenerB
sys_I18n.addLanguageChangedEventListener(id: string, callFn: (newLanguage: string, lastLanguage: string) => void | Promise, onlyOnce: boolean) -> void 新增语言切换事件监听
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does reveal the callback parameters (newLanguage, lastLanguage), the `onlyOnce` flag, and a void return. However, it does not explain the lifecycle behavior, what `onlyOnce` precisely controls, what happens if the id already exists, or whether the callback may be invoked asynchronously.
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 lines: a full signature and a one-sentence Chinese summary. It is concise, front-loaded with the call contract, and contains no filler. The only minor issue is that the Chinese phrase mostly restates the tool name rather than adding new 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?
For a simple listener registration, the signature is enough to construct an args array, but important context is missing: the semantics of `onlyOnce`, whether ids must be unique, how to later remove this listener, and what happens on duplicate registration. No output schema or annotations exist to compensate.
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 only describes `args` as a generic array, so the description's signature is the sole source of parameter meaning: `id`, `callFn`, and `onlyOnce` with types and callback signature. It adds substantial value beyond the schema, though individual parameter semantics are left to inference from 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 gives an exact signature and the phrase '新增语言切换事件监听' (add language switch event listener), clearly identifying the verb (add), resource (language-changed event listener), and i18n domain. This distinguishes it from the many other event-listener siblings, though it relies heavily on the name and a terse translation rather than explanatory prose.
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 checking `eda_sys_i18n_is_event_listener_already_exist` or removing via `eda_sys_i18n_remove_event_listener`. There is no mention of prerequisites, id uniqueness, or scenarios where a language-change listener is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_i18n_get_all_supported_languagesC
sys_I18n.getAllSupportedLanguages() -> Array 查询所有支持的语言 returns: 所有支持的语言列表
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 reveals the return type (Array<string>); it does not state that the call is side-effect-free, whether it requires an active window or workspace, whether language codes or display names are returned, or any error behavior. For an unannotated tool this is a meaningful 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: a signature line, a one-line purpose statement, and a return note. It is front-loaded and free of filler, though the return line is mildly redundant with the purpose line and mixes API signature with natural-language Chinese without a clean separation.
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 no-argument getter with schema-covered parameters, the description is minimally adequate: it names the resource, the scope, and the return shape. It lacks usage guidance and behavioral specifics, but given the tool's low complexity it does not leave an 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?
Schema description coverage is 100%, so the schema already documents both parameters (args and windowId) adequately. The description adds nothing about the parameters beyond the signature showing no arguments are expected, so the baseline of 3 applies.
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 purpose — querying all supported languages — and includes the JS signature with the return type Array<string>. It is easily distinguishable from siblings like eda_sys_i18n_get_current_language and eda_sys_i18n_is_language_supported by the name alone, though the description itself does not explicitly contrast 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?
No guidance is given on when to use this tool versus alternatives such as eda_sys_i18n_get_current_language or eda_sys_i18n_is_language_supported. There are no exclusions, prerequisites, or context cues beyond the implicit fact that it is a no-argument getter that any agent would likely infer from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_i18n_get_current_languageB
sys_I18n.getCurrentLanguage() -> Promise
获取当前语言环境
remarks: 能够获取到的语言受 EDA 当前支持语言限制,其它 API 支持的语言需要显式指定 language 参数才能使用
returns: 语言
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 a useful caution: the language returned is limited to those supported by EDA, and other APIs may require explicit 'language' parameters. This clarifies behavioral scope. However, it does not explicitly state that this is a read-only operation or describe any error conditions, return format specifics, or side effects. The 'Promise<string>' signature partially implies a read operation, but the description could be more 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 very short (three lines) and avoids redundancy, though the signature line 'sys_I18n.getCurrentLanguage()' might be considered redundant with the name. It efficiently states purpose, a key remark, and return type. No waste, but the structure could be improved by front-loading the most essential usage 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?
For a simple getter with no output schema, the description is mostly adequate. It states the return type (Promise<string>) and a limitation. However, it lacks details on the return value format (e.g., language code vs. name), and it doesn't explain the optional 'windowId' parameter beyond what the schema already provides. While the schema covers parameter semantics, the description could still clarify the intended use case. Overall, it is complete enough for an experienced user but not fully self-contained.
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 100% (both 'args' and 'windowId' have descriptions). The description adds no parameter-specific meaning, only repeating the function signature without args. Since the schema already documents the parameters, the baseline score of 3 is appropriate; the description doesn't enhance understanding 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?
The description clearly states the tool's purpose: '获取当前语言环境' (get current language environment). This specifies a clear verb and resource, distinguishing it from related i18n tools like 'get_all_supported_languages' even though it doesn't explicitly differentiate itself. The function signature reinforces the 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 no guidance on when to use this tool versus alternatives. It does not mention sibling tools such as 'eda_sys_i18n_get_all_supported_languages' or 'eda_sys_i18n_is_language_supported', nor does it describe scenarios where this tool is appropriate or inappropriate. The only contextual clue is the remark, which hints at limitations but not usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_i18n_import_multilingualA
sys_I18n.importMultilingual(language: string, source: TSYS_LanguageKeyValuePairs) -> boolean
导入多语言
remarks: 注意:本接口仅扩展有效,在独立脚本环境内调用将始终 throw Error
returns: 导入是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses a key behavioral trait: it throws an error in standalone scripts, and returns a boolean indicating success. However, it does not describe potential side effects like overwriting existing translations or persistence behavior. Since no annotations are provided, the description carries the full burden, and it partially covers this by noting the throw condition and return type, but misses other important behaviors.
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, consisting of a signature, a short Chinese description, a remark, and a returns line. It is front-loaded with the signature, making it efficient. The Chinese phrase '导入多语言' is somewhat redundant with the signature's 'importMultilingual', but overall the structure is compact and well-organized.
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 output schema and no annotations, the description needs to cover return type and key behaviors. It does state the return type (boolean) and the critical failure mode (throws in standalone). However, it lacks details on parameter constraints, side effects, and how the source data is structured. Given the tool's complexity and the absence of other metadata, it is 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?
The signature in the description defines the parameters as 'language: string' and 'source: TSYS_LanguageKeyValuePairs', adding meaning beyond the generic schema that only has an args array. This clarifies the expected arguments, though it does not explain the structure of TSYS_LanguageKeyValuePairs or the expected language code format, which would be useful. Given the schema coverage is effectively nil for actual parameters, this is a valuable addition.
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 'import' and the resource 'multilingual' via the signature and Chinese phrase '导入多语言'. It conveys the action precisely, but does not differentiate from sibling tools like eda_sys_i18n_import_multilingual_language and eda_sys_i18n_import_multilingual_namespace, which may have overlapping purposes. Thus, it's clear but lacks sibling 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?
The remarks provide a specific condition: '本接口仅扩展有效,在独立脚本环境内调用将始终 throw Error', indicating it only works in extension environments and will throw an error in standalone scripts. This is useful usage guidance, but it does not mention alternatives or when to prefer this tool over similar siblings. Therefore, it gives clear context but no exclusions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_i18n_import_multilingual_languageB
sys_I18n.importMultilingualLanguage(namespace: string, language: string, source: TSYS_LanguageKeyValuePairs) -> boolean 导入多语言:指定命名空间和语言 returns: 导入是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It mentions that the tool imports multilingual data and returns success, but it does not specify side effects such as whether existing languages are overwritten, whether namespace/language must already exist, or any permission/authorization requirements. For a state-changing operation, this lack of 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 concise: one line with the signature and two short lines of Chinese explaining the purpose and return. It gets to the point quickly with no redundant prose. A small deduction because the return type is stated twice (in the signature and in 'returns: 导入是否成功'), which is slightly redundant but not harmful.
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/import tool with no output schema and no annotations, the description is incomplete. It does not explain the source data format (TSYS_LanguageKeyValuePairs) beyond the type name, nor document failure modes, idempotency, or interaction with the current language. An agent lacks enough context to confidently invoke this tool correctly, especially regarding the exact structure of the source argument.
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 includes the exact function signature with parameter types (namespace: string, language: string, source: TSYS_LanguageKeyValuePairs), which clarifies the meaning of the opaque 'args' array in the schema. The schema only describes args as a JSON array in official order, so the description adds crucial semantic detail about each positional element. It does not, however, describe the structure or expected values for TSYS_LanguageKeyValuePairs.
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: it imports multilingual language data by specifying a namespace and language, returning a boolean success indicator. The verb 'importMultilingualLanguage' and the resource are specificholistic, and the tool is distinct from siblings focused on reading language info or managing listeners. However, it doesn't explicitly contrast with the closely related sibling tools like eda_sys_i18n_import_multilingual, which slightly reduces 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?
The description provides no guidance on when to use this tool versus the sibling i18n import tools (e.g., eda_sys_i18n_import_multilingual, eda_sys_i18n_import_multilingual_namespace). It does not state conditions, prerequisites, or alternatives. An agent would have to infer usage solely from the name and signature, which is insufficient for correct selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_i18n_import_multilingual_namespaceC
sys_I18n.importMultilingualNamespace(namespace: string, source: ISYS_MultilingualLanguagesData) -> boolean 导入多语言:指定命名空间 returns: 导入是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 only mentions the return type (boolean) and that it imports, implying a mutation, but does not disclose side effects, reversibility, permissions, or failure behavior. This is a significant gap for an import 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 concise, consisting of a signature, a brief Chinese phrase, and a return note. It is well-structured and front-loads the essential information, though it could benefit from a sentence about usage 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?
For a mutation tool with no annotations and no output schema, the description is incomplete. It lacks usage guidance, parameter details, error handling, and behavioral side effects. An agent would need to make significant assumptions to call this correctly, especially regarding the source data structure and what 'success' means.
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 the parameter names and types (namespace: string, source: ISYS_MultilingualLanguagesData) which adds value beyond the schema's generic args array. However, it does not explain the meaning or structure of the source parameter, leaving the agent to infer the expected data shape. The schema coverage is high for the outer properties but the inner parameters are 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 states the tool imports multilingual data for a specified namespace, with the signature showing the parameters. It is clear and specific, but does not explicitly differentiate from sibling i18n tools like eda_sys_i18n_import_multilingual, relying on the name and the word 'namespace'.
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 on when to use this tool versus other i18n tools. It does not mention prerequisites, typical scenarios, or when to choose an alternative. The description is purely functional.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_i18n_is_event_listener_already_existD
sys_I18n.isEventListenerAlreadyExist(id: string) -> boolean 查询事件监听是否存在 returns: 事件监听是否存在
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 not disclose any side effects, prerequisites, error handling, or return-value nuances. It only repeats the return type from the signature, adding no transparency about behavior beyond a trivial boolean 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 extremely short, which is concise, but it is under-specified. It includes a signature, a one-line description, and a returns line, but the structure is not front-loaded with essential context, and the parameter mismatch undermines its utility. It is concise but not well-structured for an agent.
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 simple nature but the existence of many siblings, the description is incomplete. It does not explain what kind of event listener (i18n-specific), how to use the parameters, or any context about the windowId. With no output schema, it should clarify the return value semantics, but it only repeats 'whether exists'. The description is far from complete for an agent to use 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 description shows a signature with 'id: string', but the actual schema uses an 'args' array and a 'windowId' parameter. This is misleading and does not explain how the id maps to the args array. The schema descriptions cover the parameters, so the description adds no value and introduces confusion.
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 purpose: query whether an event listener exists, and provides a function signature with return type. It uses a specific verb and resource, though it does not differentiate from the many sibling tools with similar names. The Chinese phrase adds a direct statement of functionality.
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 are multiple sibling tools with identical purposes for different modules (e.g., eda_pcb_event_is_event_listener_already_exist, eda_sch_event_is_event_listener_already_exist), but the description does not mention its i18n-specific scope or any selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_i18n_is_language_supportedC
sys_I18n.isLanguageSupported(language: string) -> boolean 检查语言是否受支持 returns: 是否受支持
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 does not describe error behavior for invalid or unsupported language codes, case sensitivity, or whether the function performs exact matching. It only states the signature and return type, which is superficial.
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 brief and to the point, with the function signature front-loaded and the purpose stated clearly in Chinese. It conveys the essential purpose without filler. It could be slightly improved by separating the signature from the explanation, but overall it is 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?
For a simple predicate function with one logical parameter, the description is minimally adequate: it identifies the operation and return type. However, there is no output schema and no mention of what a 'supported language' means exactly, which would help an agent call the tool with confidence. The tool is simple enough that this is a minor gap rather than a critical one.
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 declares both 'args' (array) and 'windowId' (string) but provides no descriptions for individual parameters beyond their types. Since schema coverage is reported as 100%, the baseline is high. The description names the 'language' parameter and its expected type, which meaningfully compenates for the schema's lack of per-parameter 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 states the tool's purpose: checking whether a language is supported by the i18n system, and it returns a boolean. The name 'is_language_supported' and the description align, and the tool is distinguishable from siblings like get_all_supported_languages and get_current_language. However, the description is terse and does not explicitly differentiate it from those related i18n 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 on when to use this tool versus alternatives such as eda_sys_i18n_get_all_supported_languages. There is no mention of prerequisites, typical use cases, or when not to use it. The description is purely a function signature and return type statement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_i18n_remove_event_listenerC
sys_I18n.removeEventListener(id: string) -> boolean 移除事件监听 returns: 是否移除指定事件监听
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 states that the function removes an event listener and returns a boolean indicating whether removal succeeded. It does not disclose side effects, what happens for an invalid or nonexistent id, or that this is a mutating unregistration operation beyond what the name already implies.
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 compact: a signature line, a two-character Chinese verb phrase, and a returns line. There is no filler and the key information appears early. It sacrifices context for brevity, but as a structure it is 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?
For a simple 2-parameter tool with no output schema and no annotations, the description provides minimal operational context. It omits the relationship to the listener-add counterpart, the meaning of the id, and error behavior. An agent could call it if it already understands the i18n listener lifecycle, but the description alone does not make that 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 100%, so the baseline is 3. The description adds a signature line showing a single id:string argument, but does not explain that args[0] should contain that id or that the id comes from a previously added listener. This is adequate but not enriching.
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 operation ('removeEventListener' / '移除事件监听') and the signature, but it is essentially a restatement of the tool name plus a return type. It does not specify which event listener type is being removed (e.g., i18n language-changed listener) or how it differs from other remove_event_listener tools in the sibling list, aside from the namespace prefix.
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 that it pairs with eda_sys_i18n_add_language_changed_event_listener or reference eda_sys_i18n_is_event_listener_already_exist for checking existence. An agent must infer usage purely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_i18n_textA
sys_I18n.text(tag: string, namespace?: string, language?: string, ...args: Array) -> string
输出语言文本
remarks: 可以使用 ${1} 格式的占位符表示参数;
语言优先级:当前显示语言 > 系统默认语言 > 数据集中第一个搜索到的包含该文本标签的语言 > 文本标签(tag) returns: 语言文本
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses placeholder syntax, language resolution priority, and fallback to the tag itself, which are key behaviors. However, it doesn't mention error cases or behavior when the tag is missing from all languages.
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 informative, using a signature line and concise remarks. It front-loads the purpose and includes essential details without 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?
For a simple getter tool, the description covers the function signature, placeholder usage, language priority, and return type. Missing an explicit example or error behavior, but overall sufficient for 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 only shows args and windowId, but the description explains the actual function parameters (tag, namespace, language, args) and their order/types. This adds critical meaning beyond the schema, though windowId is not explained in the description (schema covers 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 clearly states the tool retrieves localized language text via a function signature and explains output type. It distinguishes itself from sibling i18n tools (e.g., eda_sys_i18n_get_current_language) by focusing on text retrieval for a tag, though it doesn't 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?
The description implies use when needing localized text for a tag, but doesn't explicitly state when to avoid it or contrast with other i18n tools. The language priority explanation provides some usage context, but no direct alternatives or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_iframe_close_iframeA
sys_IFrame.closeIFrame(id?: string) -> Promise 关闭内联框架窗口 remarks: 关闭指定 ID 的内联框架窗口
注意:本接口仅扩展有效,在独立脚本环境内调用将始终 throw Error
returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the full burden and does well by disclosing the extension-only restriction, the guaranteed throw in standalone environments, and a Promise<boolean> return value. It does not elaborate on what happens if the target iframe does not exist or how close differs from hide, but the key behavioral risks 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?
The description is compact and labeled with signature, remarks, note, and return sections, making it easy to scan. The 'remarks' line largely restates the main verb phrase, a minor redundancy, but no sentence is gratuitous.
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 close operation, the description includes the essential context: what it closes, the optional id behavior, the environment limitation, and the return type. Since no output schema exists, mentioning Promise<boolean> is valuable and sufficient for an agent to assess the 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 schema already describes windowId as the target EDA window ID with active-window fallback, and the description adds that the underlying API takes an optional id. However, the relationship between the generic 'args' array and the described id parameter is not clarified, leaving some ambiguity for callers.
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: '关闭内联框架窗口' (close the inline frame window), and includes the API signature closeIFrame(id?: string). This gives the agent a specific verb and resource. It does not explicitly differentiate between closing and hiding an iframe relative to sibling tools like eda_sys_iframe_hide_iframe, so it stops 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 provides an explicit environment constraint: this interface is only valid in extensions and will always throw an Error in standalone script environments. That is useful when-not guidance. However, it does not discuss when to prefer this tool over related siblings such as hide_iframe or show_iframe.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_iframe_hide_iframeA
sys_IFrame.hideIFrame(id?: string) -> Promise
隐藏内联框架窗口
remarks: 本接口为结果导向的:
如若未找到指定内联框架窗口,接口将会返回 false;
如若在执行操作前该内联框架窗口已处于隐藏状态,接口将会返回 true
注意:本接口仅扩展有效,在独立脚本环境内调用将始终 throw Error
returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 explicitly states result-oriented behavior: returns false if the target is not found, true if already hidden, and throws Error in standalone script environments. This is valuable context that an agent needs to interpret the boolean return and anticipate failure modes. It does not describe visual side effects, but the core behavioral traits are 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 well-structured: it leads with the API signature, then a concise purpose statement, followed by bullet-pointed behavioral remarks and a usage note. It is not overly verbose and the important information (return semantics, extension-only limitation) is presented clearly. Some redundancy exists between the signature and the Chinese summary, but overall it is 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?
Given the tool has only two parameters, no output schema, and no annotations, the description covers the essential operational details: return value meaning, edge cases (not found, already hidden), and environment restrictions. It does not explain what 'hide' visually entails or whether the action is reversible, but these are less critical for correct invocation. The description is sufficiently complete for an agent to use 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 100% for both parameters (args and windowId), so the baseline is 3. The description's signature line (id?: string) aligns with the schema but adds no additional semantic detail beyond what the schema already provides. The schema's explanation of windowId (target EDA window ID; omit for active window) is adequate, and the description does not compensate with extra 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 action (hide) and resource (inline frame window) via '隐藏内联框架窗口'. It is specific, but does not explicitly differentiate from sibling tools like close_iframe or show_iframe; the distinction relies on the tool name and the verb in the description. Purpose is unambiguous, but sibling differentiation is implicit.
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 eda_sys_iframe_close_iframe or eda_sys_iframe_show_iframe. The note about extension-only validity is a constraint, but it does not help an agent choose between hide, show, or close. The description lacks any when-to-use or when-not-to-use context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_iframe_is_iframe_already_existB
sys_IFrame.isIFrameAlreadyExist(id: string) -> Promise
内联框架是否已存在
remarks: 注意:本接口仅扩展有效,在独立脚本环境内调用将始终 throw Error
ADD since EDA v4.2 returns: 是否存在
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 does disclose meaningful behavior: it throws Error when called outside an extension environment ('本接口仅扩展有效,在独立脚本环境内调用将始终 throw Error') and states the return type (Promise<boolean>, 'returns: 是否存在'). It also notes the 'since EDA v4.2' availability. However, it doesn't clarify edge-case semantics such as whether a nonexistent/invalid id returns false versus throwing.
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 with no redundant sentences, but the mixed-language layout (English signature, Chinese purpose, Chinese remark) creates a fragmented structure. The crucial 'throws Error in standalone scripts' warning is reasonably placed after the purpose. Slight redundancy exists between the signature's `Promise<boolean>`, the 'returns' line, and the purpose line, which all convey existence semantics.
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 boolean-check tool with 2 parameters and no output schema, the description is mostly adequate: it covers the return type, the single id parameter via signature, and the standalone-environment failure mode. Remaining gaps are minor for this complexity level—the args-to-id mapping is only implicit, and windowId is documented solely in the schema rather than the description, but nothing critical prevents a competent agent from calling 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 100%, so the baseline is 3. The schema already explains windowId ('目标EDA窗口ID;省略时使用当前活动窗口'). The description adds some value by embedding the signature showing that args holds a single positional `id: string`, which clarifies what goes inside the opaque `args` array. Yet neither source explains how args relates to windowId invocation or the id format, so the description only marginally supplements 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 purpose is clear: the signature `sys_IFrame.isIFrameAlreadyExist(id: string) -> Promise<boolean>` combined with the Chinese line '内联框架是否已存在' (whether the inline iframe already exists) states a specific resource and check action. It's inherently distinguishable from its iframe siblings (open/show/hide/close), though the description never explicitly names them, so differentiation relies on the reader inferring that a check tool differs from action 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 offers no guidance on when to use this tool versus the sibling iframe tools (open_iframe, show_iframe, hide_iframe, close_iframe). There's no hint that it should be called before opening an iframe to avoid duplicates, and no exclusions. The only contextual note is the '扩展有效/throws Error' remark, which is an environment constraint rather than usage routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_iframe_open_iframeA
sys_IFrame.openIFrame(htmlFileName: string, width?: number, height?: number, id?: string, props?: { maximizeButton?: boolean; minimizeButton?: boolean; minimizeStyle?: 'collapsed' | 'constricted'; buttonCallbackFn?: (button: 'close' | 'minimize' | 'maximize') => void | Promise; onBeforeCloseCallFn?: () => boolean | undefined | Promise<boolean | undefined>; grayscaleMask?: boolean; title?: string; x?: number; y?: number }) -> Promise 打开内联框架窗口 remarks: 本接口仅扩展包允许调用,用户需要在扩展包内包含用于内联的 HTML 文件;
本接口调用后将会打开一个 Dialog 窗口,该 Dialog 窗口的标题为 HTML 文件的 <title>,标题栏有关闭按钮;
正文部分为内联框架,width 和 height 均为正文部分内联框架的宽高;
内联框架需要展示 htmlFileName 的内容,该 HTML 从扩展包内获取,并已在安装时被存储至 IndexedDB 中
注意:本接口仅扩展有效,在独立脚本环境内调用将始终 throw Error
returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses that a Dialog opens, title comes from HTML <title>, title bar has close button, width/height refer to the iframe body, HTML is sourced from extension package and IndexedDB, and standalone calls throw. This is strong but not exhaustive; e.g., modal behavior and effect on existing iframes are not 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 TypeScript signature is front-loaded, followed by a concise Chinese purpose and well-organized remarks. The content is necessary and mostly non-redundant, though the long props type makes it somewhat heavyweight.
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 explains core workflow, constraints, and error behavior well, but leaves gaps for a tool with this many parameters. It does not explain how to map signature arguments into the schema's args array, nor the semantics of several optional props, and there is no output schema to clarify return behavior beyond a boolean.
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 includes the full function signature with types and optionality, which goes beyond the generic schema wrapper (args array, windowId). However, meanings of many props (maximizeButton, minimizeStyle, buttonCallbackFn, onBeforeCloseCallFn, grayscaleMask, x/y) are not explained, leaving ambiguity for an agent to set them 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 clearly states that the tool opens an inline frame window (Dialog) containing HTML content. It gives a specific action (openIFrame) and resource (htmlFileName), but does not explicitly differentiate from siblings like show_iframe, hide_iframe, or close_iframe.
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 constraints: only callable from extension packages, requires the HTML file to be included in the extension, and always throws Error in standalone script environments. However, it does not compare with alternative iframe tools or state when to prefer open over show.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_iframe_show_iframeA
sys_IFrame.showIFrame(id?: string) -> Promise
显示内联框架窗口
remarks: 本接口为结果导向的:
如若未找到指定内联框架窗口,接口将会返回 false;
如若在执行操作前该内联框架窗口已处于显示状态,接口将会返回 true
注意:本接口仅扩展有效,在独立脚本环境内调用将始终 throw Error
returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses key behaviors beyond what annotations (none) provide: result-oriented semantics (returns false if not found, true if already displayed), and the critical constraint that it only works in extension context, otherwise always throws. This is excellent transparency for a simple 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 well-structured with signature, purpose, remarks, note, and returns. While it has multiple sections, each serves a purpose; it's not overly verbose and information is front-loaded with the signature.
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 explains return values and error conditions, and highlights the extension-only constraint. Given no output schema and no annotations, it covers the essential context for correct invocation. Missing details like the exact meaning of 'args' are minor since the schema covers 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?
The input schema already covers both parameters with descriptions (100% coverage), so baseline is 3. The description adds the signature `id?: string` but doesn't clarify the relationship between `id` and `windowId` or the `args` array, so no additional semantic value is provided.
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 '显示内联框架窗口' (display inline frame window) with a specific resource. The signature and return type are included. However, it doesn't differentiate from sibling tools like open_iframe or hide_iframe, leaving the agent to infer the 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 no guidance on when to use this tool versus alternatives such as open_iframe or create_iframe. It only explains the result-oriented behavior and extension-only constraint, but doesn't mention when to choose this over siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_loading_and_progress_bar_destroy_loadingC
sys_LoadingAndProgressBar.destroyLoading() -> void 销毁无进度加载覆盖
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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, and it only restates that a loading overlay is destroyed. It does not explain window scoping via windowId, idempotency, what happens when no loading overlay is shown, or any error/return behavior. Little value is added beyond what the tool name already implies.
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 at two short lines with no wasted prose and the meaningful content (the Chinese purpose statement) is front-loaded. Minor deduction because the signature line is partially redundant with 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 2 parameters, no annotations, and no output schema, the description is too sparse to be self-sufficient. It fails to clarify when to choose this over destroy_progress_bar, and does not reference the complementary show_loading tool, leaving the agent to navigate a large sibling list without 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 100%, with both args and windowId documented in the schema. The description adds no parameter-level meaning, but per the high-coverage baseline this is acceptable at 3.
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 Chinese phrase '销毁无进度加载覆盖' states a specific action (destroy) and resource (a no-progress loading overlay), and the '无进度' qualifier helps distinguish it from the sibling destroy_progress_bar. However, the signature line 'sys_LoadingAndProgressBar.destroyLoading() -> void' largely restates the tool name, and the description is terse rather than fully explanatory.
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 explicit when-to-use guidance or exclusions. It never mentions that this tool pairs with show_loading, nor that destroy_progress_bar is the counterpart for progress-bar variants in the same sys_loading_and_progress_bar family. The 'no-progress' hint is implicit at best and leaves the agent to infer the selection logic.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_loading_and_progress_bar_destroy_progress_barC
sys_LoadingAndProgressBar.destroyProgressBar() -> void 销毁进度条
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 only says the progress bar is destroyed and the method returns void. It does not disclose whether destruction is idempotent, what happens if no progress bar exists, whether the operation affects the active window or a specified one, or what side effects the call may have.
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 text is compact and logically ordered: method signature first, then Chinese gloss. However, the extreme brevity crosses from concise into under-specified, leaving out usage and behavioral context that an agent would need for confident invocation.
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 UI operation with no annotations and no output schema, the description is too thin. It does not explain window targeting, the relationship to loading indicators, or expected behavior when no progress bar is present, leaving the agent without enough context to use the tool reliably.
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 explicit signature `destroyProgressBar()` meaningfully clarifies that the underlying API takes zero positional arguments, which helps an agent interpret the generic `args` array in the schema as needing to be empty. The schema's windowId parameter is already self-explanatory, so the description adds useful disambiguation beyond the 100% 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 merely restates the tool name: '销毁进度条' is a direct translation of 'destroy_progress_bar', and the method signature `destroyProgressBar()` says the same thing in API form. It identifies a clear action, but adds no semantic information beyond what the name already provides, so it functions as a tautology rather than a clarifying definition.
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 `eda_sys_loading_and_progress_bar_destroy_loading`, nor when a progress bar should be destroyed. Nothing is misleading, but no practical usage context is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_loading_and_progress_bar_show_loadingA
sys_LoadingAndProgressBar.showLoading() -> void 显示无进度加载覆盖 remarks: 没有进度指示,但会存在与进度条一致的灰色覆盖,阻止用户进一步操作
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. It does disclose the gray overlay and that it blocks further user operations. However, it does not mention that the overlay persists until `destroy_loading` is called, nor does it explain stacking or per-window behavior, leaving a significant side-effect 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 extremely compact: a signature line, a one-line purpose statement, and a behavioral remark. It is front-loaded with the core action and contains 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?
The description omits critical cleanup information—there is no mention that the loading overlay must be removed via `destroy_loading`. Since there are no annotations and no output schema, the description should have provided this pairing guidance to prevent an agent from leaving the UI permanently blocked.
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 100%, and the parameter descriptions are generic (e.g., `args` is a JSON array in official signature order). The tool description adds no parameter-specific meaning, so with high coverage the baseline of 3 applies.
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 shows a loading overlay without progress ('显示无进度加载覆盖') and explicitly notes it has no progress indicator, distinguishing it from the sibling `show_progress_bar` tool. The verb-resource pair is specific and the scope of behavior 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 implies usage context: block user interaction while an operation runs without showing progress. However, it does not explicitly state when to prefer this over `show_progress_bar`, nor does it mention the matching `destroy_loading` tool or any when-not conditions. The guidance is 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.
eda_sys_loading_and_progress_bar_show_progress_barB
sys_LoadingAndProgressBar.showProgressBar(progress?: number, title?: string) -> void
显示进度条或设置进度条进度
remarks: 当进度达到 100 时,进度条将自动销毁
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 auto-destroy behavior at progress 100 (a useful side effect) but does not mention potential blocking, whether it replaces an existing bar, or any UI constraints. It provides the key behavior but not a complete picture.
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, starting with the signature, then a one-line purpose, then a critical remark. Every element earns its place; no fluff. It is well-structured and front-loaded with the most identifying 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?
For a simple UI tool, the description is mostly sufficient: it tells how to show or update a progress bar and the auto-destroy caveat. But it lacks context about related tools (destroy_progress_bar for early removal) and whether a prior show is required. Given no annotations or output schema, 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 provides the actual parameter names and types (progress?: number, title?: string) beyond the generic args array in the schema. This clarifies how to construct the args array, which is valuable given the schema only says 'JSON parameter array'. However, it doesn't explain units for progress or intended usage of title, so some semantic detail is missing.
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 shows a progress bar or updates its progress, with the exact function signature. It distinguishes itself from sibling destroy and loading tools by the verb and resource, though it doesn't explicitly name them. The purpose is unambiguous and tied to a specific action.
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 destroy_progress_bar or show_loading. The description only explains what it does, not when to prefer it over alternatives or any prerequisites (e.g., whether a progress bar must already exist to update it). This leaves 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.
eda_sys_log_addB
sys_Log.add(message: string, type?: ESYS_LogType) -> void 添加日志条目
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral details itself. It only states the operation and that it returns void; it does not mention side effects, whether entries are persisted/visible to the user, failure behavior, or any permission requirements. 'Add' implies mutation, but that is not enough for 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 compact and front-loaded, containing only the signature and a one-line purpose statement. There is no filler, and every part 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?
For a simple logging utility, the signature and purpose provide the minimum needed to call it with a basic message argument. Still, there are clear gaps: no enum values for ESYS_LogType, no explanation of the windowId parameter, and no behavioral information such as whether the log is shown to the user or only stored.
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 meaningful parameter detail through the signature 'message: string, type?: ESYS_LogType', clarifying that message is required and type is optional in positional order. This goes beyond the generic 'args' array and windowId descriptions in the schema. However, valid ESYS_LogType values are not enumerated, so the semantics are 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 verb and resource: '添加日志条目' (add log entry) and includes the full signature. Although it doesn't explicitly cross-reference sibling tools, the action 'add' is readily distinguishable from the related log tools clear, export, find, and sort.
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 intended usage is implied by the name and description: use this tool when you need to add a log entry. However, there is no explicit guidance about when to choose this tool over alternatives, no prerequisites, and no caveats about log visibility or persistence.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_log_clearC
sys_Log.clear() -> void 清空日志
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It reveals the return type is void and that logs are cleared, but it does not state whether clearing is irreversible, whether it applies to the active window or all logs, or what side effects may occur.
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: an API signature followed by a one-line Chinese explanation. It has no filler, though it is somewhat too sparse to be genuinely helpful.
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 no output schema, the description should explain the concrete effect, scope, and consequences more fully. It gives a return type and a basic action, but leaves important context such as whether the clear affects only the active window or all logs to inference.
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 100%, so the args array and windowId parameters are already documented. The description adds no extra parameter meaning, but since the schema covers both parameters, the baseline 3 is appropriate.
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 clearly: 'sys_Log.clear() -> void / 清空日志' means clear logs. It is unambiguous about what the tool does, though it does not explicitly contrast itself with sibling log tools like eda_sys_log_add, eda_sys_log_find, or eda_sys_log_export.
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 use this tool, what clearing the logs accomplishes, or when to avoid it. The intended usage is only implied by the tool name and the concise description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_log_exportC
sys_Log.export(types?: ESYS_LogType | Array) -> void 导出日志
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 gives the signature and the Chinese phrase '导出日志' (export logs), without disclosing side effects (e.g., writes to a file, console output), whether it is read-only, or any other behavioral traits. The void return is implied by the signature but not elaborated.
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, consisting of the signature and a two-character Chinese phrase. It is efficient in word count but under-specified; the signature is front-loaded but lacks explanatory content. It is not overly verbose, but the brevity borders on incomplete rather than 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?
Without annotations or an output schema, the description is the only source of context. It does not explain what 'export' entails (e.g., destination, return behavior), how to specify log types, or any effects on the system. For a tool with a side-effectful action like export, this is insufficient.
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% (both 'args' and 'windowId' have descriptions), so the baseline is 3. The description adds the types parameter signature (ESYS_LogType or array) but does not explain how it maps to the 'args' array or provide format details beyond the schema. It adds minimal value over 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 states the verb 'export' and the resource 'logs', and the signature clarifies it takes an optional types parameter. It is distinguishable from siblings like eda_sys_log_add, eda_sys_log_clear, and eda_sys_log_find by the export action, though it doesn't explicitly contrast with 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?
There is no guidance on when to use this tool versus alternative log-related tools (add, clear, find, sort). The description simply states it exports logs, with no mention of 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.
eda_sys_log_findB
sys_Log.find(message: string | Array<string | { text: string; attr?: { id?: string; path?: string; sheet?: string; pcbid?: string; type?: string } }>, types?: ESYS_LogType | Array) -> Promise<Array> 查找条目 remarks: 如果日志面板处于打开状态,查找操作会同时在前端展现 returns: 符合查找条件的日志条目数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 disclose one behavioral trait (if the log panel is open, the search result appears in the frontend) and states the return type, but it does not indicate whether the operation is read-only, whether it has side effects beyond the display remark, or how the matching algorithm behaves (exact, substring, regex). For a tool with no safety annotations, 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 compact: a signature line, a short Chinese label, a remark, and a return statement. The signature is front-loaded, giving immediate orientation. There is minimal redundancy, although the '查找条目' label largely restates the signature. It is concise without sacrificing the most critical type 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 absence of annotations and an output schema, the description should be self-sufficient. It provides the signature and one display side-effect, but omits essential information: what a log entry looks like, how message matching works (exact vs. partial, case sensitivity, escaping), the meaning of ESYS_LogType values, and the role of the windowId parameter from the schema. An agent would be unable to construct a well-formed query or predict results 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 input schema only provides generic 'args' and 'windowId' containers, so the description's signature is the primary source of parameter meaning. It adds the full type structure for the first argument (string or array of strings/objects with text and optional attr) and marks the second argument as optional. This is valuable beyond the schema, though it stops short of explaining the semantics of the filter (e.g., what fields are matched) or the possible values of ESYS_LogType.
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 contains a clear signature 'sys_Log.find(...)' plus the Chinese term '查找条目' (find entries) and a return type of matching log entries. This identifies the resource (system log) and operation (find/search) distinctly from siblings like eda_sys_log_add, _clear, _export, and _sort. It falls short of a 5 because it relies mostly on the signature rather than a plain-language statement of purpose, and does not explicitly contrast with sibling log 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 the many sibling log tools (add, clear, export, sort) or other search tools. The only contextual clue is the remark about frontend display when the log panel is open, which is a behavior hint, not a usage directive. No conditions, exclusions, or alternatives are described.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_log_sortB
sys_Log.sort(types?: ESYS_LogType | Array) -> Promise<Array> 筛选并获取日志条目 remarks: 如果日志面板处于打开状态,筛选操作会同时在前端展现 returns: 符合筛选条件的日志条目数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 state that the filtering operation also updates the front-end if the log panel is open and that it returns a Promise of log lines, but it does not mention permissions, side effects beyond the UI, or read-only status. The provided remarks add some transparency but are 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 compact and well-structured: it leads with the signature, gives a one-line purpose, then adds relevant remarks and return information. 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?
For a simple filter/read tool, the description covers the purpose, the main parameter, the return type, and a notable UI side effect. However, it omits guidance on when to use this versus log-find alternatives, does not enumerate log types, and lacks annotation support, leaving some gaps for agent decision-making.
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's args parameter is generic, but the description's signature reveals the actual semantic parameter: optional ESYS_LogType or an array of them. It does not enumerate possible ESYS_LogType values or explain how windowId interacts with filtering, though windowId is documented in the schema. This adds moderate value over 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 provides a concrete TypeScript signature and the Chinese summary '筛选并获取日志条目' (filter and retrieve log entries), making the tool's purpose clear. It differentiates from siblings like eda_sys_log_add, eda_sys_log_clear, and eda_sys_log_export through the notion of filtering, though it does not 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?
There is no guidance on when to use this tool versus alternatives such as eda_sys_log_find or get_console_logs. The only contextual note describes the front-end behavior when the log panel is open, which is useful but does not help an agent choose between sibling log tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_math_bbox_intersectsC
sys_Math.bboxIntersects(bbox1: ISYS_MathBBox, bbox2: ISYS_MathBBox) -> boolean 快速判断两个 BBox 是否相交 returns: 是否相交
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden of behavioral disclosure. It only states the function signature and return type, without revealing edge-case behavior (e.g., whether touching edges count as intersecting), error conditions, or any side effects. The description adds no behavioral context beyond what the name and signature already imply.
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 a single sentence of purpose and a return note. It is well-structured with the signature first, then the Chinese summary. No redundancy or filler is present. It earns a high score for 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?
For a simple pure function, the description is incomplete from an agent's perspective. It lacks usage guidance, behavior details, and does not explain the windowId parameter's relevance. The description does not clarify how to format the bbox arguments or what to expect on errors, leaving gaps that an agent would need to resolve elsewhere.
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 covers both parameters (args and windowId) with descriptions, and the function signature provides the parameter names and types (bbox1, bbox2: ISYS_MathBBox). This adds meaningful semantics beyond the generic 'args' array description. However, the description does not detail how to construct ISYS_MathBBox objects or the exact ordering of arguments, so it does not fully compensate for the schema's generic array.
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 function's purpose: to quickly determine whether two bounding boxes intersect. It specifies a verb ('判断') and the resource ('两个 BBox'), and the signature clarifies the operation. However, it does not explicitly differentiate this tool from sibling math tools like eda_sys_math_intersects, which also deals with intersection detection.
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. The description does not mention any conditions or scenarios where bboxIntersects is preferable to other math tools (e.g., eda_sys_math_intersects for general shapes). It leaves the agent to infer usage entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_math_calculate_areaA
sys_Math.calculateArea(polygon: TSYS_MathPolygonInput) -> number 计算多边形面积 returns: 面积(单个多边形为绝对面积,多边形组为净面积)
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description states what the call returns and the difference between absolute and net area depending on input shape. This adds behavioral context beyond a bare 'calculate area' statement. It does not discuss units or side effects, but the pure math nature and return semantics cover the main 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?
Three short lines with no filler: signature, purpose, and return semantics. The most important selection information appears first.
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 calculation tool with no output schema or annotations, the description covers invocation target and result semantics. Minor gaps remain around units and the exact shape of TSYS_MathPolygonInput, but these are not critical for selecting and invoking the tool in typical 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 schema only provides a generic args array; the description's signature adds the actual parameter name and type polygon: TSYS_MathPolygonInput and clarifies that the input can be a single polygon or polygon group. It does not document the internal structure of TSYS_MathPolygonInput, but it meaningfully supplements the otherwise generic 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 names the exact API function and states '计算多边形面积' (calculate polygon area), a concrete verb+resource action. It also differentiates from sibling math operations such as eda_sys_math_calculate_perimeter by specifying area and the absolute-vs-net return behavior.
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 clear context that this tool is for polygon area computation and explicitly gives return behavior for single versus grouped polygons. It does not explicitly name alternative tools or exclusion conditions, so it misses the top tier, but use is readily inferable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_math_calculate_perimeterC
sys_Math.calculatePerimeter(polygon: TSYS_MathPolygonInput) -> number 计算多边形周长 returns: 周长
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 implies a pure read-only calculation by saying 'calculatePerimeter' and 'returns: 周长', but it does not explicitly state that no document state is modified, nor does it mention edge cases, failures, or whether the polygon must be closed. The description adds minimal behavioral context beyond the function 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 compact and front-loaded with the signature, followed by a one-line Chinese summary and return type. There is no filler or repetition, though the brevity comes at the cost of missing semantic 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?
For a tool with no output schema and an opaque args array, the description is insufficiently complete. It omits the required shape of TSYS_MathPolygonInput, the expected units of the returned perimeter, and any assumptions about polygon closure or coordinate order. An agent would likely need external documentation to call 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 description names the argument as 'polygon: TSYS_MathPolygonInput', which adds the type name not visible in the generic args array schema. However, it does not explain the structure of TSYS_MathPolygonInput (e.g., whether points are coordinate pairs or an array of vertices), so an agent still lacks the information needed to construct the parameter correctly. Schema coverage is nominally 100%, so the baseline of 3 applies.
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 in Chinese ('计算多边形周长') and gives the exact signature with return type number. The name and description identify perimeter calculation, distinguishing it from sibling tools like eda_sys_math_calculate_area, though it does not explicitly call out the sibling 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?
No guidance is provided on when to use this tool versus alternatives such as eda_sys_math_calculate_area or eda_sys_math_get_bbox. The usage is only implicit from the tool name and one-line description, with no conditions, prerequisites, or exclusions stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_math_containsA
sys_Math.contains(polygon1: TSYS_MathPolygonInput, polygon2: TSYS_MathPolygonInput) -> boolean 判断 polygon1 是否完全包含 polygon2 returns: polygon1 是否完全包含 polygon2
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 does state the core behavior: a boolean containment test with polygon1 as the container and polygon2 as the candidate. But it does not clarify edge cases such as boundary touching, error behavior, or explicitly confirm that the operation is side-effect-free.
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 front-loads the signature, which is good. However, the final 'returns: ...' line is a near-duplicate of the preceding '判断 ...' line, so not every sentence earns its place. Minor redundancy keeps it from being exemplary.
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 math predicate, the description covers the core action and return type, which is adequate for initial selection. It is incomplete on how to represent TSYS_MathPolygonInput within the args array and does not address containment edge cases, though the low complexity limits the severity of these 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 only provides a generic 'args' array and optional windowId, so the description's signature adds crucial meaning: parameter names, types, and order-dependent roles. The explanation that polygon1 must contain polygon2 gives the order semantic relevance, although the internal structure of TSYS_MathPolygonInput is not defined here.
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 the exact function signature and states '判断 polygon1 是否完全包含 polygon2', using a specific verb and both polygon arguments. This clearly distinguishes the tool from siblings such as contains_point, intersects, and intersection, which address different geometric relationships.
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 intended use is implied clearly: use this when a boolean answer is needed for whether one polygon fully contains another. However, the description does not explicitly name any sibling alternatives or state when not to use this tool, so the routing decision is left mostly to inference from the name and semantics.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_math_contains_pointB
sys_Math.containsPoint(polygon: TSYS_MathPolygonInput, point: ISYS_MathPoint) -> boolean 判断点是否在多边形内部 returns: 是否在多边形内部
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are none provided, so the description carries the full burden. It states the function signature and return type (boolean) but lacks details on edge cases such as points on the polygon boundary, coordinate system, or error handling. The line 'returns: 是否在多边形内部' clarifies the return meaning. However, it does not disclose any side effects (unlikely for a math function) or performance characteristics. For a pure geometry check, this is adequate 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?
The description is concise, with the signature on the first line, a one-line Chinese explanation, and a return explanation. It is front-loaded with the most important information. There is no fluff. However, it repeats the function name in the signature, which is somewhat redundant, and the Chinese text is not translated, potentially inaccessible to non-Chinese agents, but that's a language issue not a structure issue.
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 geometry predicate, the description covers the essential purpose and parameters. But given that there is no output schema, it should clarify the return value semantics (e.g., true if inside, false otherwise) which it does. However, it lacks context on the input structures: what is a polygon represented as? What are the coordinate units? Without this, an agent might struggle to construct valid arguments. Given the complexity of polygon inputs, this is 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 100% but the schema only shows an 'args' array with generic 'items' and no per-parameter descriptions. The description includes the signature with parameter names and types (TSYS_MathPolygonInput, ISYS_MathPoint), which provides more meaning than the schema alone. However, it does not explain the structure of these input objects (e.g., coordinate format, units), which could be critical. Since coverage is high but the schema is thin, the description adds some value but not enough for complex inputs.
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 '判断点是否在多边形内部' (determine if point is inside polygon) with a clear signature showing the polygon and point parameters. It distinguishes from siblings like eda_sys_math_contains (which likely checks containment of shapes) by specifying point-in-polygon. The name itself is also explicit. However, it doesn't explicitly differentiate from the sibling eda_sys_math_contains, which may cause some ambiguity for agents not familiar with the domain.
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 sibling set includes eda_sys_math_contains, eda_sys_math_intersection, and eda_sys_math_intersects, which could overlap in some contexts. The description does not explain when point-in-polygon is the right operation or mention any prerequisites (e.g., polygon format, coordinate system).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_math_distance_to_pointB
sys_Math.distanceToPoint(polygon: TSYS_MathPolygonInput, point: ISYS_MathPoint) -> number
计算点到多边形边界的最短距离
returns: 最短距离,如点在多边形内部则返回 0
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 states the input types and the return behavior for interior points, but it does not explain the coordinate system (e.g., mm or mil), whether the polygon must be closed, or how boundary points are treated (e.g., if the point lies exactly on the boundary, is the distance 0 or a small epsilon?). It also does not mention any potential errors or edge cases beyond the interior point case.
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: a single line for the function signature, one line for the Chinese label, and two lines for the return value. It is front-loaded with the essential information (what it does and the return). It could be slightly more structured, but it is efficient 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?
Given no output schema and minimal schema detail on the input objects, the description lacks enough context for an agent to correctly construct the arguments. It does not specify the units, the coordinate system, or the required properties of the polygon and point objects. The return type is mentioned ('number'), but the formatting (e.g., precision) is not clarified. Overall, it is insufficient for a complex geometric operation.
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 100%, but the schema only describes the wrapper parameters (args array and windowId) without detailing the internal structure of the polygon and point objects. The description adds the formal types (TSYS_MathPolygonInput, ISYS_MathPoint) but does not explain their fields or expected formats. Given the high coverage baseline, a score of 3 is appropriate – it 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?
The description clearly states the operation: computing the shortest distance from a point to a polygon boundary, with the specific function name and signature. The return value and the special case of a point inside the polygon returning 0 are explicitly described, leaving no ambiguity about 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 for geometric distance calculations but does not explicitly state when to prefer this over sibling tools like eda_sys_math_contains_point or eda_sys_math_intersects. There is no discussion of alternatives or exclusions, leaving the context of use implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_math_get_bboxC
sys_Math.getBBox(polygon: TSYS_MathPolygonInput) -> ISYS_MathBBox 获取多边形的最小外接矩形(BBox) returns: BBox
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 the operation is a 'get' (implying non-destructive) but does not disclose any behavioral traits such as side effects, validation requirements, or error conditions. The return type is only named as 'BBox' without describing its structure or units.
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 concise: a signature line, a one-line purpose in Chinese, and a return type. Every element is functional, no filler or redundancy. It is appropriately brief for a simple operation.
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 an output schema and annotations, the description should provide more context for correct invocation. It does not explain the polygon input format, coordinate system, or what the BBox return contains. An agent would struggle to construct a valid call without 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?
The description includes the function signature with parameter name and type ('polygon: TSYS_MathPolygonInput'), but the input schema only describes 'args' as a generic array without detailing the polygon structure. The description does not explain what fields TSYS_MathPolygonInput contains, its units, or how to encode it in the args array, leaving the agent with incomplete 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 clearly states the operation: '获取多边形的最小外接矩形(BBox)' (get the minimum bounding rectangle of a polygon), with a function signature that specifies input and output types. It distinguishes from other bbox tools (e.g., primitive-level bbox) by being polygon-specific, 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 on when to use this tool versus other math or bbox-related siblings. The description implies usage for polygon bbox computation, but does not state prerequisites, exclusions, or alternative tools, 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.
eda_sys_math_get_centroidB
sys_Math.getCentroid(polygon: TSYS_MathPolygonInput) -> ISYS_MathPoint 计算多边形质心 returns: 质心坐标
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 does disclose the full call contract (input type TSYS_MathPolygonInput, output type ISYS_MathPoint) and makes clear this is a pure calculation with no side effects. However, it adds no behavioral context about coordinate units (mm/mil), polygon validity requirements, or edge cases (degenerate/self-intersecting polygons). The transparency is adequate for a stateless math function 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 definition is appropriately tiny and the signature is front-loaded, which an agent can scan quickly. However, the two Chinese lines ('calculate polygon centroid' and 'returns: centroid coordinates') largely restate what the signature and tool name already convey, so not every sentence earns its place. Acceptable size, mild 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 low-complexity pure math utility, the signature provides the essential call contract and return type. But the structure of TSYS_MathPolygonInput is undocumented in both the schema (empty items {}) and the description, and there is no output schema describing ISYS_MathPoint, nor any mention of coordinate units. An agent could invoke it at a high level but would have to guess the polygon argument shape.
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% so the baseline is 3, but the schema's 'args' description is generic ('JSON parameter array in official signature order') with empty items ({}). The description's signature line compensates by naming the actual argument type (TSYS_MathPolygonInput) and return type (ISYS_MathPoint), adding real meaning beyond the schema. It still doesn't document the polygon's internal structure, but the type naming is valuable.
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 operation — '计算多边形质心' (calculate polygon centroid) — on a clear resource (polygon), and the embedded signature specifies the return type ISYS_MathPoint. Among the eda_sys_math_* siblings (get_bbox, calculate_area, calculate_perimeter, contains, etc.), centroid computation is clearly distinct, though the description never explicitly names a sibling to differentiate from.
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 math tools (get_bbox, calculate_area, distance_to_point, eda_pcb_math_polygon_* operations), an agent gets no selection criteria, no prerequisites (e.g., closed/valid polygon), and no exclusions. The description is purely a statement of what the function does.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_math_intersectionB
sys_Math.intersection(polygon1: TSYS_MathPolygonInput, polygon2: TSYS_MathPolygonInput) -> TSYS_MathPolygonGroup 计算两个多边形的交集 returns: 交集结果的多边形组,空数组表示无交集
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 discloses the return type (TSYS_MathPolygonGroup) and the empty-array behavior for no intersection, which is useful. However, it does not disclose potential side effects (likely none, as a pure math function), error conditions, or coordinate system assumptions. The description adds some behavioral context beyond the signature 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 compact: a signature line, a one-line Chinese explanation, and a return note. It is front-loaded with the operation and return type. The only minor issue is that the return note is redundant with the signature's return type, but it adds the empty-array semantics, so it 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 pure math function with no output schema and no annotations, the description gives the essential operation and return behavior. However, it lacks details about the expected format of TSYS_MathPolygonInput (e.g., how polygons are represented: vertex arrays, holes, etc.), which an agent would need to construct valid arguments. It also doesn't mention whether the result is a group of polygons (e.g., disjoint intersection pieces), which is implied by the return type but not explained. Given the complexity of polygon geometry, 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?
Schema description coverage is 100% for the two top-level parameters (args and windowId), but the actual function parameters (polygon1, polygon2) are only named in the description's signature line. The description does not explain the structure of TSYS_MathPolygonInput or how to format the args array. It adds the parameter names and types, which is helpful, but the schema's 'args' description is generic ('JSON参数数组按官方签名顺序排列'), so the description partially compensates but leaves the polygon input structure 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 states a specific verb ('计算' = calculate) and resource ('两个多边形的交集' = intersection of two polygons), and includes the function signature with parameter types and return type. It clearly distinguishes from siblings like eda_sys_math_union, eda_sys_math_subtract, and eda_sys_math_intersects by naming the exact operation. However, it doesn't explicitly contrast with sibling tools, so it doesn't fully earn 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: it takes two polygons and returns their intersection. It does not explicitly state when to use this tool versus alternatives like eda_sys_math_intersects (which likely tests boolean intersection) or eda_sys_math_union. There is no explicit when/when-not guidance, but the operation is clear enough that an agent can infer when it applies.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_math_intersectsA
sys_Math.intersects(polygon1: TSYS_MathPolygonInput, polygon2: TSYS_MathPolygonInput) -> boolean 判断两个多边形是否相交 remarks: 判断两个多边形的区域是否有任何重叠(包括包含、部分相交、边界接触) returns: 是否相交
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden and it does so well by spelling out the exact semantics: any overlap including containment, partial intersection, and touching counts as true. It also states the return type. It stops short of explicitly saying the call has no side effects, but the predicate nature makes that clear.
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 short lines: signature, purpose, remarks, and return. Every sentence earns its place, and the most identifying 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?
The definition is complete enough for the predicate's core semantics and return value, which is appropriate for a simple math query. Its main gap is that TSYS_MathPolygonInput is never described, so an agent still must infer how to construct the polygon arguments, and there is no guidance on edge cases like empty or invalid polygons.
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 only exposes a generic args array with empty items, so the signature line in the description is essential: it gives the parameter names, order, and types (polygon1, polygon2: TSYS_MathPolygonInput). The description does not detail the TSYS_MathPolygonInput structure, but it adds meaning well 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?
The description opens with the full method signature and a plain-language statement '判断两个多边形是否相交' (determine whether two polygons intersect). It names the specific operation (intersects), the resource type (polygons), and the boolean result, which clearly separates it from sibling math tools like bbox_intersects and contains.
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 context is implied by the description and the remarks, which define what counts as an intersection (overlap, containment, partial intersection, boundary contact). However, there is no explicit when-to-use guidance or mention of alternatives such as contains, intersection, or bbox_intersects.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_math_rotateA
sys_Math.rotate(polygon: TSYS_MathPolygonInput, angle: number, centerX?: number, centerY?: number) -> Array 旋转多边形 returns: 旋转后的离散点数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral burden. It does disclose that rotation returns an array of discrete points, but it does not clarify angle units, rotation direction, default center behavior, or whether the input polygon is mutated.
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 the signature, with minimal redundancy. The Chinese phrase and returns line partially restate the signature, but the overall size is appropriate 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?
The signature and return type provide a useful baseline, but with no annotations, no output schema, and a generic args schema, the description should also clarify angle units, default center behavior, and the structure of TSYS_MathPolygonInput. Without these, an agent may invoke the tool with correct types but produce unintended geometry.
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 only offers a generic args array, but the description adds the exact parameter names, types, order, and optionality for polygon, angle, centerX, and centerY. This is essential for correctly constructing a call, though the shape of TSYS_MathPolygonInput and angle units are not explained.
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 operation: rotating a polygon, and provides the full function signature with parameters and return type. This identifies both the action and the resource, and the name distinguishes it from sibling math 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 on when to use this tool instead of related math operations. The sibling list includes tools like scale, translate, union, and intersection, but the description does not mention alternatives or selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_math_scaleC
sys_Math.scale(polygon: TSYS_MathPolygonInput, scaleX: number, scaleY?: number, centerX?: number, centerY?: number) -> Array 缩放多边形 returns: 缩放后的离散点数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 return type ('缩放后的离散点数组') but does not state whether the operation mutates the input, has side effects, or requires an active document. Essential 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 compact: a signature, a one-line purpose, and a return note. It is front-loaded with the most critical technical detail and contains 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?
For a math utility, the description gives the essential operation and return shape, but lacks usage context and parameter semantics. Without an output schema or annotations, it is only minimally complete for guiding 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 schema only describes an args array, so the description's function signature adds meaningful type and ordering information. However, it does not explain the semantics of scaleX, scaleY, centerX, or centerY (e.g., center is the scaling pivot, scaleY defaults to scaleX). Names imply meaning but are not explicit.
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 a specific verb and resource: '缩放多边形' (scale polygon) and provides a full function signature. The name and description together clearly distinguish it from sibling math operations like rotate and translate.
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 on when to use this tool versus alternatives. It does not mention prerequisites, whether it operates on the current document, or when the caller should prefer this over other math utilities.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_math_subtractA
sys_Math.subtract(polygon1: TSYS_MathPolygonInput, polygon2: TSYS_MathPolygonInput) -> TSYS_MathPolygonGroup 计算两个多边形的差集(polygon1 - polygon2) returns: 差集结果的多边形组,保留外环与孔洞的归属关系
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 discloses the return type (TSYS_MathPolygonGroup) and the key output behavior that outer-ring/hole ownership is preserved, which is not visible from the schema. It also characterizes the tool as a calculation rather than a mutation.
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 compact lines: signature, operation, and return behavior. Every sentence contributes, and the most important semantic detail (polygon1 - polygon2) 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?
For a pure math utility with no annotations or output schema, the description covers purpose, argument order, and basic return semantics. It is incomplete on the structure of TSYS_MathPolygonInput/TSYS_MathPolygonGroup and on edge cases such as empty results, which an agent would need to reliably construct a valid 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 schema only exposes a generic args array, so the description adds real value by giving the official signature with named, ordered parameters polygon1 and polygon2. However, TSYS_MathPolygonInput is never explained, and the description does not describe how polygon objects should be structured, so an agent still has to infer the polygon representation.
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 explicitly names the operation (sys_Math.subtract), the resource (two polygons), and the formula polygon1 - polygon2. This makes it immediately distinguishable from sibling set operations such as union, intersection, and xor even without opening schemas.
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 Chinese sentence '计算两个多边形的差集(polygon1 - polygon2)' gives a clear semantic context for when to invoke this tool: when the remaining area of polygon1 after removing polygon2 is needed. It does not explicitly name alternatives or exclusions, but the operation is concrete enough that an agent can route correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_math_translateB
sys_Math.translate(polygon: TSYS_MathPolygonInput, dx: number, dy: number) -> Array 平移多边形 returns: 平移后的离散点数组
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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, but it only states that the result is an array of translated discrete points. It does not clarify whether the input polygon is mutated, what coordinate units apply, or how the output point ordering relates to the input.
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 the function signature, followed by a short semantic label and return note. There is minor redundancy between the signature return type and the returns line, but no 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?
No annotations, no output schema, and only a terse signature leave significant gaps: input polygon structure, coordinate system/units, side-effect behavior, and usage context. An agent would have to infer too much to invoke this tool 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 signature adds parameter names, order, and types beyond the generic args array schema, which helps construct the call. However, it does not explain TSYS_MathPolygonInput, the meaning/units of dx and dy, or reconcile the schema's zero required fields with the seemingly mandatory polygon, dx, and dy.
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 operation ('translate'), the resource ('polygon'), and the transformation parameters (dx, dy), with a return type of point array. This clearly distinguishes it from math siblings like rotate, scale, or calculate_area.
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 intended use is implied by the signature and the Chinese '平移多边形' (translate polygon), so an agent can infer when to use it. However, no explicit when-to-use, preconditions, or alternatives such as rotate/scale are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_math_unionB
sys_Math.union(polygon1: TSYS_MathPolygonInput, polygon2: TSYS_MathPolygonInput) -> TSYS_MathPolygonGroup 计算两个多边形的并集 returns: 并集结果的多边形组,保留外环与孔洞的归属关系
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 that union preserves outer-ring/hole ownership relationships, which is useful, but it doesn't state whether inputs are mutated, whether the operation is pure/destructive, what happens with overlapping holes, or anything about error cases. It does not contradict anything but leaves 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?
Three short lines — signature, one-line Chinese purpose, one-line return note. No filler. It is compact and the return behavior is usefully appended. Slightly disorganized mixing signature/description/returns, but overall 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?
Given no annotations, no output schema, and opaque polygon input types, the description leaves the agent without guidance on how to construct polygon inputs or interpret the returned group beyond 'preserves outer ring and hole ownership.' For a math utility among many siblings, this is adequate but not 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 100%, but the schema parameter descriptions are generic — 'args' is a JSON parameter array with empty item schema, so the description's signature line (polygon1: TSYS_MathPolygonInput, polygon2: TSYS_MathPolygonInput) is actually the primary source of parameter meaning. It adds the type information, but doesn't explain how to structure polygon points, coordinate format, or required fields of those inputs. The baseline 3 applies because the description does help but the nested input structure is still 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 states a clear operation — computing the union of two polygons — with a specific resource (TSYS_MathPolygonInput types) and even describes what the result preserves (outer ring and hole ownership). It is distinct from sibling math operations like intersection, subtract, or xor, 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 usage — when you need to merge two polygons — but gives no explicit guidance on when to choose union over intersection/subtract/xor. There is no mention of prerequisites, coordinate system considerations, or edge cases. The context is clear enough for a math operation, 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.
eda_sys_math_xorA
sys_Math.xor(polygon1: TSYS_MathPolygonInput, polygon2: TSYS_MathPolygonInput) -> TSYS_MathPolygonGroup 计算两个多边形的对称差集(异或) returns: 对称差集结果的多边形组,保留外环与孔洞的归属关系
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 a useful behavioral detail: the returned polygon group preserves outer-ring/hole attribution. It does not mention whether input polygons are mutated, coordinate system requirements, or error behavior, but the core computational semantics are clear for a pure math function.
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: a signature line, a one-line operation definition, and a return-value note. Every element contributes information, and the most identifying details (name, inputs, operation) are 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 operation and return semantics are covered, and the return type is specified. However, the input format of TSYS_MathPolygonInput is not explained, and the schema offers no nested structure for the polygon arguments, so an agent may lack enough information to construct valid inputs. The windowId parameter also goes unmentioned.
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 only provides a generic args array and windowId, so the description adds significant meaning by including the full signature (polygon1/TSYS_MathPolygonInput, polygon2/TSYS_MathPolygonInput), naming the actual parameters, their order, and types. It does not elaborate on the internal structure of TSYS_MathPolygonInput, 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 leads with the exact function signature and states '计算两个多边形的对称差集(异或)' (computes the symmetric difference/XOR of two polygons), naming a specific operation and resource. This clearly differentiates it from sibling math tools like union, intersection, and subtract 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?
It provides a clear context: use this tool when the symmetric difference (XOR) of two polygons is needed. However, it does not explicitly contrast with alternatives such as eda_sys_math_intersection, eda_sys_math_union, or eda_sys_math_subtract, nor 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.
eda_sys_message_box_show_confirmation_messageB
sys_MessageBox.showConfirmationMessage(content: string, title?: string, mainButtonTitle?: string, buttonTitle?: string, callbackFn?: (mainButtonClicked: boolean) => void) -> void 显示确认框 remarks: 显示一个拥有确认和取消按钮的确认框 [已弃用]
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 states the dialog has confirm and cancel buttons but does not explain whether it is modal, whether it blocks execution, or how the callbackFn parameter is invoked. The deprecation note is useful but 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?
The description is concise, comprising a signature and a brief remark. It is structured with the core purpose stated first. There is no wasted text, though the deprecation marker is embedded without additional explanation.
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 is thin for a tool with multiple parameters and a callback. It lacks information about return behavior, asynchronous handling, and how windowId interacts with the dialog. It also fails to mention the existence of the sibling dialog tool, which could be a better choice given deprecation.
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 includes the full function signature with parameter names and types (content, title, mainButtonTitle, buttonTitle, callbackFn). This is valuable because the input schema only provides a generic 'args' array without individual parameter details. The signature helps an agent understand the order and nature of arguments, though it does not explain each parameter's 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 that this tool displays a confirmation dialog with confirm and cancel buttons ('显示一个拥有确认和取消按钮的确认框'). The verb 'show' and resource 'confirmation message' are specific enough. However, it does not differentiate from the sibling tool eda_sys_dialog_show_confirmation_message, which likely serves the same 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?
No guidance is given on when to use this tool versus the similar eda_sys_dialog_show_confirmation_message. The deprecation tag '[已弃用]' implies it should be avoided, but no alternative is suggested. The description provides no context for choosing this tool over others.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_message_box_show_information_messageB
sys_MessageBox.showInformationMessage(content: string, title?: string, buttonTitle?: string) -> void 显示消息框 remarks: 显示一个文字消息提示框 [已弃用]
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 is marked '[已弃用]' (deprecated), which is critical behavioral information, but the description does not say what that means for the agent: whether it still works, what the replacement is, or what happens on invocation. It also does not mention whether this requires a visible window, whether it blocks execution, or what the return value is. The signature shows '-> void' which helps, but the deprecation is the standout 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 short, which is good, but it is not well structured: it is a single paragraph mixing a signature, Chinese remarks, an English remark, and a deprecation tag. The '[已弃用]' marker is buried at the end rather than front-loaded. Every line earns its place, but the structure is haphazard rather than deliberately organized.
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 deprecated tool with no annotations and no output schema, the description is incomplete. An agent cannot tell whether the tool is still safe to use, what the deprecation means, or how this differs from the many sibling message/dialog tools. Given the low complexity of the tool, the description should at minimum provide a replacement pointer and a clear usage statement.
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 100% for the two top-level parameters, but the args array is untyped ('items': {}). The description does not explain the content/title/buttonTitle semantics beyond the signature line, which is terse and in code form. The deprecation marker in the description slightly adds context, but the description mostly restates what the schema already shows, so baseline 3 is appropriate.
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 and resource: show an information message box with content, title, and button. The signature line makes the purpose clear. However, it does not distinguish itself from the sibling tools eda_sys_message_box_show_confirmation_message, eda_sys_dialog_show_information_message, or eda_sys_message_show_toast_message, which all overlap in the message-display space, so it falls short of full sibling 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?
The description implies when to use this tool: when you need to display a text message box. The signature and remarks '显示一个文字消息提示框' provide context. However, there is no explicit guidance on when NOT to use it or which alternative to pick among the many message/dialog/toast sibling tools, and the deprecation notice is not explained.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_message_bus_create_private_message_busA
sys_MessageBus.createPrivateMessageBus() -> void 创建私有消息总线 remarks: 一般无需调用该方法,在进行监听或发送消息时会自动创建私有消息总线
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the disclosure burden. It reveals the method returns void and that creation is automatically triggered by listen/send operations, making an explicit call usually redundant. It does not describe behavior when the bus already exists, but the most important behavioral caveat is 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 compact: a signature line, a one-line Chinese purpose, and one essential usage remark. It is front-loaded and contains no filler; the mild duplication between the signature and the Chinese purpose is negligible.
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 void method with no output schema, the description covers the purpose and the key system behavior (automatic creation during listen/send). It does not elaborate on when explicit creation might be needed or the bus lifecycle, but these are minor given the tool's simplicity and the prominent 'generally no need' caveat.
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 signature `createPrivateMessageBus()` clearly shows the method takes no parameters, which prevents the agent from supplying arguments through the generic `args` array. The input schema only gives generic wrapper descriptions, so the empty-paren signature in the description adds meaningful semantic 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 operation explicitly: `sys_MessageBus.createPrivateMessageBus() -> void` and '创建私有消息总线' (create private message bus). It is specific enough to distinguish from sibling publish/subscribe/remove message-bus operations, though it does not name an alternative tool.
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 remark directly tells the agent when not to call this tool: it is generally unnecessary because private message buses are automatically created during listening or sending. It does not specify a scenario where an explicit call is required, so it falls just short of fully explicit when/alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_message_bus_publishB
sys_MessageBus.publish(topic: string, message: any) -> void 私有消息总线:发布消息 remarks: 将消息广播给每一个 Subscriber
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 two useful behaviors: the publish broadcasts to every subscriber, and the return type is void. However, it says nothing about message persistence, delivery guarantees, or behavior when no subscribers exist — meaningful gaps for a messaging 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 description is compact — a signature line, a one-line Chinese purpose statement, and a short remark. It is front-loaded with the signature and communicates the core purpose efficiently without 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?
For a simple same-signature publish tool with void return and no output schema, the description covers the essentials: both parameters and the broadcast effect. But with no annotations and no usage guidance, an agent has a thin understanding of the broader private message-bus system (how to create the bus, how subscribers attach, visibility scope), which matters when many bus siblings exist.
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 code signature 'publish(topic: string, message: any)' adds semantic depth beyond the schema's opaque 'args' array, revealing that the first positional argument is a string topic and the second is an arbitrary message value. This complements the schema's '按官方签名顺序排列' phrasing and helps an agent construct the array 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 states a clear verb+resource: 发布消息 (publish message) on the 私有消息总线 (private message bus), and the remarks clarify the broadcast behavior (broadcast to every Subscriber). It implicitly distinguishes from the public-bus sibling via 私有/private, though it doesn't name eda_sys_message_bus_publish_public 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 on when to use this tool vs alternatives. With siblings like eda_sys_message_bus_publish_public, eda_sys_message_bus_push, and eda_sys_message_bus_pull, the description offers no when-to-use or when-not-to-use instructions, no visibility-scope explanation, and no noted difference between publishing on a private vs public bus.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_message_bus_publish_publicC
sys_MessageBus.publishPublic(topic: string, message: any) -> void 公共消息总线:发布消息 remarks: 将消息广播给每一个 Subscriber
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 states the broadcast action and the signature. It doesn't disclose side effects, whether the message is delivered asynchronously, error handling, or any prerequisites like having a subscriber. This is minimal for a publish 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 very short, with the signature front-loaded and the purpose in Chinese. It's not verbose and every line earns its place, but it could be more structured (e.g., separate sections for usage and notes).
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 many sibling message bus tools, this description doesn't clarify when to use publishPublic vs publish or pushPublic. It also omits guidance on constructing the args array properly (beyond the schema) and doesn't mention the windowId parameter or any cross-window behavior. The void return and potential error conditions are unaddressed. For a simple function it's minimal but not sufficient for an agent to use it 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 already describes both parameters (args array and windowId) with high coverage. The description adds the function signature (topic: string, message: any) and return type void, which provides some type information. However, it doesn't explain the meaning of topic or message, or how to construct the args array for this specific function, though the schema's '按官方签名顺序排列' covers ordering.
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 publishes a message to the public message bus and broadcasts to all subscribers, which is a clear verb+resource. It names the specific API method and its signature. However, it doesn't explicitly differentiate from sibling tools like eda_sys_message_bus_publish, though the word 'public' implies a 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?
No explicit guidance on when to use this tool versus alternatives. It doesn't mention private vs public buses, or when to choose publish over push/pull. The Chinese remark only explains the broadcast behavior, not usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_message_bus_pullB
sys_MessageBus.pull(topic: string, callbackFn: (message: any) => void) -> ISYS_MessageBusTask 私有消息总线:拉消息 remarks: 每次只能拉一个消息 returns: 消息总线任务
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden and does provide some useful disclosures: it operates on the private bus, pulls only one message per invocation, and returns a message bus task. It does not disclose whether pulling consumes/removes the message, whether it can block, how the callback is invoked, or what happens when the bus is empty. These are meaningful gaps for a pull 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 compact and front-loads the function signature, followed by short remarks and return info. There is minimal fluff and no redundant explanation. The mixed-language label '私有消息总线:拉消息' is slightly redundant with the name, but overall the structure is 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?
Given the large sibling family of message-bus tools and the absence of both annotations and an output schema, the description is under-specified. It does not clarify the relationship to pull_public, pull_async, push, publish, or subscribe, nor does it explain the returned task, callback invocation rules, or empty-bus behavior. An agent would need additional information to use it confidently in non-trivial 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?
The schema only exposes a generic args array and a windowId, so it does not document the actual topic and callbackFn parameters. The description compensates by giving the exact signature with types: topic: string and callbackFn: (message: any) => void. This is genuine added value beyond the structured schema, though callback semantics and return-value details remain thin.
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 operation—pulling a message from the private message bus—and adds a concrete behavioral detail: only one message is pulled per call. The 'private' qualifier helps distinguish it from public-bus siblings. It falls short of a 5 because it never explicitly contrasts with eda_sys_message_bus_pull_public or the async variants.
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 private-bus qualifier implies this tool is for private message bus consumption, and the one-message-per-call remark sets an expectation. However, it gives no explicit guidance about when to choose this over pull_public, pull_async, subscribe, or other message-bus siblings. Usage context is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_message_bus_pull_asyncC
sys_MessageBus.pullAsync(topic: string) -> Promise
私有消息总线:拉消息 Promise 版本
remarks: 每次只能拉一个消息,可以使用 await 等待消息拉取
returns: 拉取到的消息
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 it is a Promise-based async operation and that only one message is pulled per call, but omits error behavior, whether messages are consumed (destructive), timeouts, or what happens when the queue is empty. This is a significant gap for a pull 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 brief and structured with a signature, a Chinese purpose line, remarks, and returns section. Every line adds some value, though the Chinese text is partially redundant with the signature.
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 pull tool, the description leaves out critical operational details: how to pass the topic via the args array, what the return value looks like (type 'any'), and behavior on empty queue or errors. The lack of an output schema and annotations heightens the need for these 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?
The description provides the signature with a 'topic' parameter, which adds meaning beyond the generic 'args' array in the schema. However, it doesn't explicitly clarify that the topic should be placed as the first element of the args array, leaving potential ambiguity for an agent constructing the call.
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 this is the async/private message bus pull operation ('私有消息总线:拉消息 Promise 版本'), with a concrete signature. It distinguishes from public variants by name and description, though it doesn't explicitly contrast with the sync private version (eda_sys_message_bus_pull).
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 on when to use this tool vs. alternatives (e.g., sync pull, public pull). The remarks mention only that it pulls one message at a time and can be awaited, but there is no context about prerequisites or when the public variants would be preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_message_bus_pull_async_publicB
sys_MessageBus.pullAsyncPublic(topic: string) -> Promise
公共消息总线:拉消息 Promise 版本
remarks: 每次只能拉一个消息,可以使用 await 等待消息拉取
returns: 拉取到的消息
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 only one message can be pulled per call and that it is awaitable (Promise-based). However, it does not explain behavior when the queue is empty, potential blocking semantics, or error conditions, leaving some key 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 concise, with the signature front-loaded and brief remarks and returns sections. It contains no unnecessary fluffhol. The mixed Chinese/English format is somewhat messy but does not harm 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 simple message-pull tool with no output schema Citation needed, the description provides the return value ('拉取到的消息') and the await behavior. However, it lacks details like timeout behavior, return type structure, and error handling, which an agent may need to invoke it correctly in edge cases. Overall, it is acceptable for a basic operation 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?
The schema already describes the generic 'args' array and 'windowId' with reasonable coverage. The description adds the signature 'topic: string' for the first parameter, giving the parameter a name and type, but does not explain what topics are valid or how the topic argument is passed in the args array. This adds some value beyond the schema but leaves the exact mapping 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 explicitly names the operation ('pullAsyncPublic'), states it is the 'Promise version' of pulling messages from the public message bus, and includes the function signature. This distinguishes it from synchronous/private variants among the many message bus siblings. However, it does not fully describe the action in plain terms beyond the 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?
No guidance is given on when to use this tool instead of related tools like eda_sys_message_bus_pull_async or eda_sys_message_bus_pull_public. The remarks only describe how to use it (await, one message at a time) but not when it is the appropriate choice. Alternatives are not mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_message_bus_pull_publicC
sys_MessageBus.pullPublic(topic: string, callbackFn: (message: any) => void) -> ISYS_MessageBusTask 公共消息总线:拉消息 remarks: 每次只能拉一个消息 returns: 消息总线任务
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. It does disclose one useful constraint (remarks: 每次只能拉一个消息 — only one message per call) and the return type ISYS_MessageBusTask. But it does not state whether the call is blocking, whether the message is consumed on pull, what happens when the bus is empty, or how the returned task is used — material gaps given the existence of a near-sibling pull_async_public.
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?
Four compact labeled lines — signature, purpose, remark, returns — with no filler, and the behavioral remark is placed early. The mixed Chinese/English is slightly noisy but the structure is efficient and every line 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 sits among roughly 17 message-bus siblings with no annotations and no output schema, yet the description never clarifies the sync-vs-async distinction, consumption semantics, or what ISYS_MessageBusTask represents. An agent could plausibly confuse this with eda_sys_message_bus_pull_async_public or eda_sys_message_bus_pull, so the description is not complete enough for 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?
Schema coverage is 100%, so the baseline is 3, but the description's signature line adds real value by fixing the positional order and types ('topic: string, callbackFn: (message: any) => void'), which is exactly what an agent needs to build the ordered args array. It does not explain topic format or callback lifecycle, so it stops short of a 5.
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 signature line 'sys_MessageBus.pullPublic(topic: string, callbackFn: ...)' and the Chinese summary '公共消息总线:拉消息' (public message bus: pull message) state a specific verb and resource. However, among the large cluster of message-bus siblings (pull, pull_async, pull_async_public, subscribe_public), it never distinguishes itself from eda_sys_message_bus_pull or eda_sys_message_bus_pull_async_public.
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 choose this tool over its alternatives, no exclusions, and no mention of the sync/async or private/public decision points. The only usage hint is the name and the one-line purpose, leaving the agent to infer the selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_message_bus_pushB
sys_MessageBus.push(topic: string, message: any) -> void 私有消息总线:推消息 remarks: 每个消息只有一个 Puller 可以收到
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With zero annotations, the description carries the full burden and it does add one genuine behavioral disclosure: the remark '每个消息只有一个 Puller 可以收到' (each message is received by only one Puller), which reveals point-to-point rather than broadcast delivery semantics. However, it omits other relevant behavior such as what happens when no puller is subscribed, whether the operation blocks or queues, and it declares no side-effect or safety profile for what is evidently a write 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?
Three compact lines with no fluff: signature first, then a one-line purpose, then a one-line behavioral remark. The front-loading is good and every sentence earns its place. Minor deduction for mixing Chinese and English, which slightly reduces parseability for an English-centric agent.
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 void-returning push operation, the description covers the action, the bus scope, and the consumption semantic, which is close to adequate. But given no output schema and no annotations, the agent is left to infer prerequisites (e.g., whether a private bus must exist via create_private_message_bus), the private/public distinction, and delivery behavior when no puller is waiting — gaps within a very large sibling family.
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?
Although schema coverage is reported at 100%, the schema only describes the generic wrapper params (`args` array in 'official signature order', `windowId`). The real domain parameters `topic: string` and `message: any` appear only in the description's signature line, and the ordering convention lets an agent map args[0]→topic, args[1]→message. This is meaningful semantics the schema alone cannot provide.
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 and resource: '私有消息总线:推消息' (private message bus: push message), backed by a concrete signature `sys_MessageBus.push(topic: string, message: any) -> void`. The '私有' (private) qualifier implicitly distinguishes it from sibling `eda_sys_message_bus_push_public`, though it never names that sibling explicitly and part of the description is in Chinese.
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 when-to-use or when-not-to-use guidance. The 'private' label hints at the private-vs-public split, but the message-bus sibling family is huge (publish, subscribe, pull, rpc_call, push_public, etc.) and the description never explains how push relates to publish, when the private bus must be created first, or which alternative to choose. The single-puller remark is a behavioral note, not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_message_bus_push_publicB
sys_MessageBus.pushPublic(topic: string, message: any) -> void 公共消息总线:推消息 remarks: 每个消息只有一个 Puller 可以收到
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It does add one useful delivery semantic: '每个消息只有一个 Puller 可以收到' (each message can be received by only one Puller). It also exposes the void return. However, it does not disclose side effects, error behavior, persistence, whether delivery is asynchronous, or what happens if no Puller 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 compact and mostly front-loaded: the signature is immediately useful, and the remarks line adds a valuable behavioral constraint. There is some redundancy between the code-style signature and the Chinese one-line summary, but no wasted or misleading 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?
For a simple two-parameter push operation with no output schema, an agent can likely invoke it correctly from the signature alone. However, the description does not explain the public/private message-bus family, how a Puller is registered, or the practical consequences of pushing. It is minimally adequate but leaves important surrounding context unexplained.
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 only describes args as an ordered JSON array, but the description's signature supplies the actual parameter names and types: topic: string and message: any. This is essential for correctly constructing the args array. The windowId parameter is left to the schema, but schema coverage is already high, so the description adds meaningful value without needing to duplicate everything.
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 operation as 'sys_MessageBus.pushPublic(topic: string, message: any) -> void' and adds the Chinese gloss '公共消息总线:推消息', meaning 'public message bus: push message'. This identifies a specific verb and resource. It does not explicitly contrast with siblings like eda_sys_message_bus_push or eda_sys_message_bus_publish_public, but the 'public' qualifier provides basic 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 versus the many related message-bus siblings such as push, publish, pull, or subscribe variants. The only contextual hint is 'public' and the remark about one Puller, but the description never states conditions, exclusions, or alternatives. The agent is left to infer when this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_message_bus_remove_private_message_busB
sys_MessageBus.removePrivateMessageBus() -> void 移除私有消息总线 remarks: 一般无需调用该方法,除非你知道自己在做什么
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 behavior. The warning signals risk, but it does not state what happens to the bus, its messages, or subscribers after removal, nor whether the operation is reversible. For a destructive operation, this is a significant transparency 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 with the method signature, followed by a concise warning. It avoids fluff, though the Chinese phrase largely restates the English name. It earns its place but could have used the saved space for behavioral 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?
For an internal, potentially destructive message-bus API with no annotations and no output schema, the description is incomplete. It does not explain the lifecycle of a private message bus, why removal is usually unnecessary, or what consequences follow, making it hard for an agent to judge when or whether invocation is actually correct.
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 signature `removePrivateMessageBus()` implies the method takes no meaningful arguments, which is useful, but the description does not elaborate on `args` or `windowId`. Schema coverage is 100%, so the baseline applies; the description adds little beyond what the schema already exposes.
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 as removing a private message bus via the method signature and the Chinese phrase "移除私有消息总线". This is a specific verb+resource pair that distinguishes it from sibling bus operations like create/publish/subscribe, though it does not explain what a private message bus is.
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 remark "一般无需调用该方法,除非你知道自己在做什么" explicitly tells the agent this is normally not needed and should only be used with strong justification. However, it does not name alternatives, such as create_private_message_bus, or describe a concrete scenario where removal would be appropriate, leaving usage guidance partially implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_message_bus_rpc_callC
sys_MessageBus.rpcCall(topic: string, message?: any, timeout?: number) -> Promise 私有消息总线:调用 RPC 服务 returns: RPC 服务返回
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 reveals a Promise return but says nothing about side effects, error behavior, timeout semantics, unknown topics, or whether the call blocks. The trailing line 'returns: RPC 服务返回' is a tautology and adds no behavioral insight.
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 definition is compact, but the machine-oriented signature leads ahead of the human-readable purpose, and the 'returns' line partly duplicates what the signature already communicates. It's short without being optimally front-loaded for an agent's comprehension.
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 generic RPC-call tool with no output schema and no annotations, this is incomplete. It doesn't enumerate available topics, describe the shape of the resolved value, or specify error and timeout behavior — all of which an agent needs to invoke it correctly and interpret results.
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%, so the baseline is 3. The signature does add value by naming the elements inside the args array (topic, message, timeout) and their order, which an agent needs to build the array correctly. However, it doesn't explain what a valid topic is, the message format, or timeout units, keeping it at baseline.
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 provides the concrete signature sys_MessageBus.rpcCall(topic, message, timeout) and states the operation: 调用 RPC 服务 (call RPC service) on a private message bus. The 私有/private qualifier distinguishes it from the sibling eda_sys_message_bus_rpc_call_public. It names a specific verb and resource, though the prose is terse and leans heavily on the signature.
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 the many message-bus siblings (rpc_call_public, publish, push, pull, subscribe, pull_async). There are no preconditions, exclusions, or context explaining why an agent should choose an RPC call over other bus operations, so the agent must infer 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.
eda_sys_message_bus_rpc_call_publicC
sys_MessageBus.rpcCallPublic(topic: string, message?: any, timeout?: number) -> Promise 公共消息总线:调用 RPC 服务 returns: RPC 服务返回
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 operation type (RPC call) and that it resolves to the RPC service return value, but it omits timeout behavior (despite a timeout parameter), error handling, whether the topic must pre-exist, and whether the call blocks. These are significant unknowns for a messaging API 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 description is compact — a signature line, a one-line Chinese purpose, and a returns clause. It earns its place but the bilingual mix (Chinese purpose, English signature) adds parsing friction, and the purpose line is placed after the signature rather than front-loaded. It is not wasteful, but structure could be improved for an English-reading agent.
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 generic RPC invocation tool with no output schema and no annotations, the description is incomplete. It does not cover timeout semantics (despite exposing a timeout parameter), error propagation, topic existence requirements, or even what the resolved return value typically looks like. In a large sibling ecosystem, this leaves too much to guesswork.
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% and the schema documents both parameters at a structural level: 'args' as a positional JSON array and 'windowId' as an optional target. The description adds real value by showing the official signature (topic, message, timeout), which clarifies the positional order of elements in 'args' — something the schema alone does not convey. This pushes it slightly above the baseline.
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 the tool as calling an RPC service on the public message bus and states the return value, which conveys the basic purpose. However, it does not distinguish itself from nearly identical siblings like eda_sys_message_bus_rpc_call (likely the private version) or eda_sys_message_bus_rpc_service_public. The 'public' qualifier hints at a distinction but the description never spells it out, leaving sibling differentiation to inference.
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 the many message-bus siblings (publish_public, pull_public, subscribe_public, rpc_call, rpc_service_public). It does not explain what an RPC call is for relative to publish/subscribe patterns, nor when the public variant is preferable over the private one. An agent would struggle to route the call correctly among the sibling set.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_message_bus_rpc_serviceC
sys_MessageBus.rpcService(topic: string, callbackFn: (...args: Array) => any | Promise) -> void 私有消息总线:注册 RPC 服务
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 only notes that it's a private message bus, implying scope, but does not explain the side effects of registration, whether it can be overwritten, what the callback receives, or any other behavioral nuances. This is insufficient for an AI to understand the operation's impact.
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 brief (two lines), which is concise, but it lacks structured explanation. It front-loads the signature but does not organize the information in a way that aids understanding. The terseness 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?
For a tool that registers an RPC service, the description should explain the topic parameter, the expected callback behavior, and how it relates to other message bus operations. None of this is provided. With no output schema, it also fails to describe the return value beyond the void signature. The description is inadequate for proper 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?
The schema has 100% coverage for its two parameters (args and windowId). The description does not add meaning beyond the schema; it only provides a low-level signature. Since the schema already explains that args is a JSON array in official signature order, the description adds no extra value, so a baseline of 3 is appropriate.
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: 'register RPC service' (注册 RPC 服务) on a private message bus, which is a specific verb+resource. It distinguishes itself from sibling message bus tools by indicating it is for registering a service, though it doesn't 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 message bus operations (e.g., publish, subscribe, rpc_call). The description does not mention any conditions, exclusions, or alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_message_bus_rpc_service_publicC
sys_MessageBus.rpcServicePublic(topic: string, callbackFn: (...args: Array) => any | Promise) -> void 公共消息总线:注册 RPC 服务
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 that the tool registers an RPC service, but it does not explain what the callback receives, what it should return, what happens on duplicate topics, or how the registered service is used by RPC callers. The signature hints at Promise support, but the semantics remain undocumented.
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 the signature, followed by a one-line purpose. Every element earns its place and there is no padding. It would benefit from a brief behavioral note, but as written it is clean 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?
For a callback-registration tool with no annotations and no output schema, the description is incomplete. An agent cannot confidently implement the callback function because the RPC request/response flow is not explained. The description should clarify how args reach the callback, what the callback should return, and whether the service persists across windows or sessions.
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 only describes 'args' as a JSON array in official signature order, so the description's signature line adds real meaning by naming topic and callbackFn and giving their types. However, it does not explain the intended callback contract, such as what arguments are passed or how a returned value/Promise is used. This is adequate but not fully compensated.
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 verb and resource: it registers an RPC service on the public message bus. The Chinese summary ('公共消息总线:注册 RPC 服务') reinforces the purpose. It does not explicitly contrast itself with the sibling eda_sys_message_bus_rpc_service, though the word 'public' helps differentiate.
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 siblings such as eda_sys_message_bus_rpc_service, eda_sys_message_bus_subscribe_public, or eda_sys_message_bus_rpc_call_public. There are no exclusions, prerequisites, or alternative routing hints, so an agent must 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.
eda_sys_message_bus_subscribeA
sys_MessageBus.subscribe(topic: string, callbackFn: (message: any) => void) -> ISYS_MessageBusTask 私有消息总线:订阅消息 remarks: 持久性订阅消息 returns: 消息总线任务
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 the subscription is persistent and that it returns a message bus task, which hints at handle-based management. However, it does not explain cleanup, whether the bus must already exist, or callback invocation semantics.
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-loads the essential signature before the Chinese summary. The 'remarks' and 'returns' fragments add useful info without padding, though the structure is slightly terse.
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 subscribe action, persistence, and return type, but omits important operational context such as whether a private message bus must be created beforehand, how to unsubscribe using the returned task, and topic requirements. Given the absence of annotations and output schema, these gaps are material.
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 only provides a generic args array, but the description's function signature explicitly defines the two parameters (topic: string, callbackFn: (message: any) => void) and their order. This meaningfully compensates for the schema's opacity.
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 ('subscribe'), the resource ('private message bus'), and includes the full function signature. The '私有消息总线' and '持久性订阅消息' qualifiers distinguish it from sibling tools like eda_sys_message_bus_subscribe_public and eda_sys_message_bus_subscribe_once.
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: it is a private, persistent subscription, from which an agent can infer it is not for public buses or one-time subscriptions. However, it does not explicitly name alternatives or state when-not-to-use conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_message_bus_subscribe_onceB
sys_MessageBus.subscribeOnce(topic: string, callbackFn: (message: any) => void) -> ISYS_MessageBusTask 私有消息总线:订阅单次消息 returns: 消息总线任务
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 does disclose the once-only delivery semantics, the private scope, and the ISYS_MessageBusTask return type. However, it never explains what the returned task is for (e.g., cancellation), how callbacks are delivered, or lifecycle implications of 'once'.
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 short lines with zero padding, but the English signature, Chinese purpose line, and 'returns' line partially restate one another. The bilingual mixing ('returns: 消息总线任务') adds noise, though the overall length 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?
For a tool with four message-bus subscribe siblings, no output schema, and no annotations, the description covers the core (purpose, args mapping, return type) but omits the meaning of the returned task, windowId usage guidance, and any behavior that would let an agent distinguish persistent vs once-only subscriptions beyond the name itself.
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?
Although schema coverage is 100%, the schema's args field is a generic array with empty item schemas ('按官方签名顺序排列的JSON参数数组'), giving no per-parameter meaning. The description's official signature — topic: string, callbackFn: (message: any) => void — is the only place an agent learns what belongs in args, adding real 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?
The description states a specific verb and resource: subscribing once on the private message bus ('订阅单次消息'), and the included signature clarifies topic + callback semantics. The '私有' (private) and '单次' (once) qualifiers differentiate it from sibling variants like subscribe_public and persistent subscribe, though not by 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 given on when to choose this tool over its near-siblings eda_sys_message_bus_subscribe, subscribe_public, or subscribe_once_public. The windowsId parameter's role in targeting a specific EDA window is also left entirely to the generic schema text, and no exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_message_bus_subscribe_once_publicC
sys_MessageBus.subscribeOncePublic(topic: string, callbackFn: (message: any) => void) -> ISYS_MessageBusTask 公共消息总线:订阅单次消息 returns: 消息总线任务
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. It states that the subscription is one-time ('订阅单次消息'), which is useful, and that it returns a message bus task (ISYS_MessageBusTask). However, it does not disclose whether the subscription auto-unsubscribes after the first message, what happens if the topic is missing, whether the callback can be cleaned up, scope of 'public' (global vs per-window), or any side effects. The return type is mentioned but not elaborated.
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: a C-style signature, a one-line Chinese summary, and a return type. It earns space by being compact, but the structure is front-loaded with a signature that duplicates the tool name and misses key behavioral details. It is not bloated, but it is under-specified rather than efficiently complete.
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 subscription tool with no annotations and no output schema, the description is insufficiently complete. It does not explain the lifecycle of the one-time subscription, whether the returned task can be used to cancel, how the callback is delivered, or how to use windowId correctly. The sibling set includes closely related subscribe/publish/pull variants, making this lack of context more damaging.
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% for the wrapper fields (args, windowId), but the real parameters are inside args, which has generic items with an empty schema. The description does list the official signature containing topic and callbackFn, which adds meaning, but it does not explain the expected types or format of each argument beyond the signature string. The callback semantics (message: any) are implied but no guidance on how to serialize or pass a function through args is given.
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 specific operation: subscribe once to a public message bus topic (sys_MessageBus.subscribeOncePublic), and includes a Chinese line clarifying it's a public message bus for single-message subscription. It is distinguishable from siblings like subscribe, subscribe_public, and subscribe_once by name and the 'public' and 'once' qualifiers, though it does not explicitly contrast with those 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?
There is no guidance on when to use this tool versus subscribe_public, subscribe_once, pull, or rpc_call variants. The description does not explain when a one-time subscription is preferable, how long the subscription lasts, or whether it should be used over a persistent subscription or a pull. Agents must infer usage entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_message_bus_subscribe_publicB
sys_MessageBus.subscribePublic(topic: string, callbackFn: (message: any) => void) -> ISYS_MessageBusTask 公共消息总线:订阅消息 remarks: 持久性订阅消息 returns: 消息总线任务
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 persistence and a returned ISYS_MessageBusTask, but does not explain what 'public' means, whether/how to unsubscribe, callback invocation semantics, or side effects of subscribing. Critical behavioral context for a subscription tool 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 compact and front-loads the essential signature before the Chinese summary, remarks, and returns. It is a bit fragmented by labels, but every line carries useful information and there is 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?
Without annotations or an output schema, the description is incomplete for reliable use: it does not explain how to construct the args array from the signature, how to handle the returned task, how to unsubscribe, or what distinguishes public subscriptions. An agent would struggle to invoke this correctly among its many 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?
The schema only provides a generic args array and windowId, but the description adds the real parameter signature: `topic: string` and `callbackFn: (message: any) => void`. This compensates for the opaque schema and gives the agent meaningful guidance on what to place in the args array.
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 '公共消息总线:订阅消息' (public message bus: subscribe to messages) and gives the exact signature `subscribePublic(topic: string, callbackFn: ...)`. The remark '持久性订阅消息' (persistent subscription) distinguishes it from one-shot variants like subscribe_once_public. Verb, resource, and scope are all explicit.
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 message-bus siblings (subscribe, subscribe_once, publish_public, rpc_call_public, etc.). There are no conditions, exclusions, or alternative tool references, leaving the agent to guess based on the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_message_remove_follow_mouse_tipC
sys_Message.removeFollowMouseTip(tip?: string) -> Promise 移除跟随鼠标的提示 remarks: 移除当前或指定的跟随鼠标的提示
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries full burden. It discloses that the tool removes a tip and that it can target 'current or specified' tip, but does not explain what happens if no tip exists, whether it's a no-op, or what Promise<void> resolution means. The remark adds only slight clarity by restating the removal semantics.
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 core description is one line plus a remark. It is short, but the API signature line is redundant with the schema and the Chinese text duplicates the English. It earns a 3 because it is not bloated, but the structure leans on a code signature rather than a natural language explanation.
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 removal utility with no output schema, the description is mostly adequate. The gap is that it doesn't clarify whether the tool is a no-op when no tip exists, and the optional parameter semantics are sparse. With sibling tools clearly showing the paired show function, an agent could infer usage, but explicit 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?
The description mentions 'current or specified' which maps to the optional 'tip' parameter, and the schema covers 100% of parameters with descriptions. The windowId is standard across siblings and is explained as targeting the active window. The description adds the semantic distinction of current vs specified tip, which is useful.
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 'remove' and the resource 'follow-mouse tip', which is clear enough to know the basic action. However, it doesn't distinguish much from the sibling eda_sys_message_show_follow_mouse_tip beyond the obvious inverse relationship, and the API signature is shown as primary content.
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. The description only says 'removes the current or specified follow-mouse tip' with no context about when a tip would exist, whether to pair with the show function, or when omitting the tip parameter is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_message_show_follow_mouse_tipB
sys_Message.showFollowMouseTip(tip: string, msTimeout?: number) -> Promise 展示跟随鼠标的提示 remarks: 同一时间只能展示一条提示,如果展示新的提示,则之前的提示将被自动移除
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 that only one tip can exist at a time and that showing a new one removes the previous, which is useful. However, it omits side effects like asynchronous completion, window targeting, or whether the tip blocks interaction, 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 brief and front-loaded with the signature and essential remark. It wastes no words, though the Chinese phrasing is terse and could integrate the remark more organically.
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 two-parameter signature and no output schema, an agent needs to know how to construct the `args` array and what each parameter does. The description does not explain parameter ordering, the role of `windowId`, or return behavior beyond Promise<void>. This is inadequate for 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 only describes generic `args` and `windowId` properties; the description provides the crucial signature (tip: string, msTimeout?: number), which compensates for the lack of item-level schema detail. Still, it neither explains the meaning of `msTimeout` (units, default, applicability) nor how `windowId` maps to the tool's behavior.
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 as showing a tooltip that follows the mouse cursor, with a specific function signature and a concise purpose statement. It is distinct from message-removal and toast tools, 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?
The description offers no guidance on when to use this tool versus sibling message tools like eda_sys_message_show_toast_message or eda_sys_message_remove_follow_mouse_tip. It only states the mutual-exclusion behavior but does not explain what scenarios warrant a follow-mouse tip or how it differs from other feedback mechanisms.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_message_show_toast_messageC
sys_Message.showToastMessage(message: string, messageType?: ESYS_ToastMessageType, timer?: number, bottomPanel?: ESYS_BottomPanelTab, buttonTitle?: string, buttonCallbackFn?: string) -> void 显示吐司消息
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 does reveal that the function returns void, but it does not describe where the toast appears, whether it is transient, whether it requires a specific window, or what happens with optional callback parameters. This is minimal beyond the stated purpose.
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: a single signature line plus a short Chinese purpose phrase. It is front-loaded and contains no filler, though it is arguably too terse to serve as full documentation.
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 toast-display tool, the signature plus '显示吐司消息' provides a minimally viable invocation path: supply a message string and optionally the listed parameters. However, with no annotations, no output schema, and no explanation of enum-like types or sibling alternatives, an agent may still mis-select or mis-configure the 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?
Schema description coverage is 100%, but the schema only describes 'args' as a positional JSON array and 'windowId' generically. The description adds the official signature with parameter names, types, and order, which is useful; however, it does not explain the meaning or allowed values of esoteric types like ESYS_ToastMessageType or ESYS_BottomPanelTab.
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 and resource: 'sys_Message.showToastMessage...' and '显示吐司消息' clearly indicates displaying a toast message. It does not explicitly differentiate itself from the sibling eda_sys_toast_message_show_message, so it stops short of full sibling 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?
No guidance is given for when to use this tool versus alternatives such as eda_sys_dialog_show_confirmation_message, eda_sys_message_show_follow_mouse_tip, or the near-duplicate eda_sys_toast_message_show_message. The intended context must be inferred entirely from the tool name and the phrase '显示吐司消息'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_panel_control_close_bottom_panelB
sys_PanelControl.closeBottomPanel() -> void 关闭底部面板
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 states that it closes the bottom panel, without mentioning any side effects, reversibility, state dependencies (e.g., what happens if already closed), or whether it requires specific window focus. This is minimal coverage for a mutation-like 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 extremely concise, consisting of the signature and a short Chinese phrase. It contains no fluff or repetition, and the key information (what it does) is front-loaded. This is an efficient use of space for a simple 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 simple UI action with no output schema and straightforward parameters, the description is adequate to understand the primary action. However, it lacks any context about when to use it relative to siblings or any edge-case behavior, which could confuse an agent trying to select it appropriately among many panel-control 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 100%, as both parameters (args and windowId) have descriptions. The description itself adds no extra meaning about these parameters, so the baseline of 3 is appropriate since the schema already documents them adequately.
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 'closeBottomPanel() -> void' and its Chinese equivalent '关闭底部面板' (close the bottom panel), specifying the verb and resource. It is unambiguous about what the tool does, though it does not explicitly differentiate from sibling tools with similar names like close_left_panel or open_bottom_panel beyond the resource name itself.
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 open_bottom_panel, close_left_panel, or toggle_bottom_panel_lock_state. No context is provided about typical scenarios, prerequisites, or exclusions, leaving the agent to infer usage solely from the tool name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_panel_control_close_left_panelC
sys_PanelControl.closeLeftPanel() -> void 关闭左侧面板
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 behavioral disclosure. Beyond the signature and 'close left panel' phrase, it does not disclose side effects, whether the call is a no-op if the panel is already closed, or any error behavior. The '-> void' return is minimal but not 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?
The description is short and contains no filler, but the two lines essentially restate the same information in code-signature and Chinese forms. It is not verbose, yet it is under-structured and provides little 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 simple UI action, the description is minimally adequate: the schema covers window targeting and the operation is clear. However, it lacks any context about panel state, prerequisites, or effects, which would help an agent use it 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 100%, with descriptions for both 'args' and 'windowId'. The description adds no parameter-level meaning, and 'args' remains a generic array, but the schema already documents the target window behavior adequately.
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 and resource: '关闭左侧面板' / 'closeLeftPanel()', making it clear the tool closes the left panel. It is not confused with a generic operation, though it does not explicitly differentiate itself from sibling open/close panel 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 no guidance about when to use this tool versus alternatives such as closing the bottom/right panel or opening the left panel. Usage is only implied by the name and Chinese phrase, not explicitly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_panel_control_close_right_panelC
sys_PanelControl.closeRightPanel() -> void 关闭右侧面板
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 'close right panel' without mentioning any side effects, prerequisites, or impacts on UI state. This is minimal and fails to inform the agent about what happens beyond the 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 extremely brief, consisting only of a function signature and a one-line Chinese translation. While it is concise, it lacks structure and informative content, making it feel more like a placeholder than a useful guide.
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, the description is still incomplete. It does not explain the purpose of the args parameter, the behavior when windowId is omitted, or any expected outcomes. The lack of output schema is fine, but the description fails to cover essential behavioral 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 100%, and the schema already describes both parameters (args array and windowId). The description adds no additional meaning beyond the schema, so the baseline of 3 is appropriate.
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 (close) and the resource (right panel), which is clear and distinct from sibling tools like close_left_panel and close_bottom_panel. However, it provides no additional context beyond the function signature and Chinese translation, so it doesn't fully elaborate on the 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?
No guidance is given on when to use this tool versus alternatives like open_right_panel or toggle_right_panel_lock_state. The description simply states the action without any contextual direction, 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.
eda_sys_panel_control_is_bottom_panel_lockedB
sys_PanelControl.isBottomPanelLocked() -> Promise 查询底部面板是否已锁定 returns: 是否已锁定
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden, but it only restates the function signature and return type. It doesn't disclose whether locking is a user-visible UI state vs a programmatic lock, whether it reads the active window by default, or any side effects/errors. The return type Promise<boolean> is actually presented as an inline signature, which is some value, but the Chinese description adds only the query semantics.
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?
It is short, but it mixes formatting: code signature plus Chinese explanation plus a redundant 'returns: 是否已锁定' line. It loses focus by showing the internal method signature rather than plain tool semantics, though it remains 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?
For a simple read-only state query, the essential purpose is conveyed, and the schema documents the only meaningful parameter (windowId). However, it lacks clarity about what 'locked' means, what the return value is beyond a type name, and whether windowId defaults to the active window (which is stated in the schema, not the description).
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 100% and both parameters are simple (args array and windowId string). The description doesn't describe the args array contents or windowId behavior beyond the schema, but with zero required parameters the schema covers the shape; baseline 3 applies.
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 and resource: it queries (查询) whether the bottom panel is locked (是否已锁定), matching the tool name. It distinguishes from siblings that open/close/toggle panels, and from the left/right panel lock queries, 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 makes the tool's purpose (querying lock state) clear, which implies when to use it, but it provides no explicit guidance about when not to use it or which alternative to prefer. The windowId parameter semantics (omit for active window) are in the schema, not the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_panel_control_is_left_panel_lockedA
sys_PanelControl.isLeftPanelLocked() -> Promise 查询左侧面板是否已锁定 returns: 是否已锁定
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must convey the behavioral profile. It does state this is an asynchronous query returning a boolean (`Promise<boolean>`), which implies a read-only operation. However, it does not explicitly say there are no side effects, nor describe behavior when no window is specified or the panel state cannot be determined.
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-loads the canonical signature before the Chinese explanation. The only minor redundancy is that the final 'returns' line restates what the first two lines already express, but overall there is no significant fluff or missing structural 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 simple getter with no output schema, the description covers the essential contract: operation, return type, and return meaning. It is reasonably complete given the low complexity, though it would be marginally better with a note that calling it has no side effects and that `windowId` is optional via the 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 input schema already covers both parameters: `args` is described as an ordered JSON parameter array and `windowId` is described as the target EDA window with a default. The description adds the useful fact that the underlying API signature takes no positional arguments, but it does not explain how `args` or `windowId` should be populated for this specific 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 queries whether the left panel is locked, with the exact API signature `isLeftPanelLocked() -> Promise<boolean>`. It identifies both the verb and the resource, and the explicit 'left panel' wording distinguishes it from the sibling tools `is_bottom_panel_locked` and `is_right_panel_locked`.
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 about when to use this tool versus alternatives such as the bottom/right panel lock checkers or the panel toggle/lock-state tools. The usage is only implied by the name and the phrase '查询左侧面板是否已锁定', so an agent gets 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.
eda_sys_panel_control_is_right_panel_lockedA
sys_PanelControl.isRightPanelLocked() -> Promise 查询右侧面板是否已锁定 returns: 是否已锁定
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the behavioral disclosure burden. It discloses the return type (Promise<boolean>) and the read-only nature of the operation through the verb '查询' (query). For a simple state getter, this is reasonably transparent, though it does not mention error behavior.
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 the method signature, followed by the Chinese purpose and return meaning. There is minor redundancy between '查询右侧面板是否已锁定' and 'returns: 是否已锁定', but it contains no unnecessary sentences.
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 boolean getter, the description covers the core behavior, the async return type, and the return meaning, while the schema covers the parameters. It lacks explicit guidance about choosing this over sibling panel-state tools, but the operation is simple enough that an agent can invoke 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?
Schema description coverage is 100%: args is described as the ordered JSON argument array, and windowId is described as the target EDA window with omission falling back to the active window. The description adds no parameter-level detail beyond the schema, so it sits at the baseline.
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 the specific operation (sys_PanelControl.isRightPanelLocked()) and its meaning: '查询右侧面板是否已锁定' (query whether the right panel is locked), with a boolean return. It clearly identifies the right panel, distinguishing it from sibling tools like is_left_panel_locked and is_bottom_panel_locked. Not tautological or 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?
The description gives no explicit when-to-use or when-not-to-use guidance, and does not reference sibling lock-control tools such as toggle_right_panel_lock_state. The intended use is implied by the name and 'query right panel locked', but alternatives are not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_panel_control_open_bottom_panelC
sys_PanelControl.openBottomPanel(tab?: ESYS_BottomPanelTab) -> void 打开底部面板
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 restates that the bottom panel is opened and that the function returns void, without mentioning side effects, whether opening is idempotent, or any impact on other UI state.
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 the signature. The Chinese phrase is largely redundant with the tool name, but it does not add bloat; the main weakness is missing information rather than unnecessary 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?
For a simple UI panel-opening tool, the description is nearly adequate. However, the meaning and valid values of `ESYS_BottomPanelTab` are undefined, and there is no annotation or output schema to compensate, so an agent could not confidently invoke the optional tab parameter 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 coverage is high and the schema describes the generic args array and windowId. The description adds the official signature including the optional `tab?: ESYS_BottomPanelTab`, which is useful, but it does not explain possible values for the tab parameter or how to construct the args array.
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: open the bottom panel, with the exact function signature and a Chinese translation. It is specific about the target resource (bottom panel) and distinguishes itself from sibling tools that open or close left/right panels, though it does not explicitly name those 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?
There is no guidance on when this tool should be used versus close_bottom_panel, toggle lock state, or open_left/right_panel. The description simply states the action without 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.
eda_sys_panel_control_open_left_panelC
sys_PanelControl.openLeftPanel(tab?: ESYS_LeftPanelTab) -> void 打开左侧面板
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose any behavioral traits beyond the basic action. It doesn't mention idempotency, side effects, whether a window must be active, or any state changes. The description is minimal and lacks transparency beyond the literal 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 extremely short and to the point, which is appropriate for a simple UI action. However, it is almost too minimal, lacking any structure like sections or examples. It's concise but not structured in a way that aids understanding beyond the bare minimum.
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 panel control tool, the description provides only the action and signature. It lacks information about when to use it, what the tab parameter options are, or any behavioral notes. Given the lack of annotations and output schema, the description is incomplete for an agent to fully understand the tool's context and side effects.
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 descriptions are generic (args as 'JSON parameter array' and windowId as target window), and the description adds the function signature showing the optional 'tab' parameter of type ESYS_LeftPanelTab. However, it doesn't explain what values tab can take or what the array contains, leaving parameter semantics vague. Schema coverage is 100% but the descriptions are not detailed.
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 function signature and the Chinese phrase '打开左侧面板' (open left panel), indicating a specific verb and resource. It distinguishes from siblings like open_right_panel or close_left_panel by naming the left panel. However, it doesn't explicitly mention the optional tab parameter, so it's clear but slightly incomplete.
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 conditions, prerequisites, or when not to use it. The description is purely a statement of action without any contextual usage advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_panel_control_open_right_panelC
sys_PanelControl.openRightPanel(tab?: ESYS_RightPanelTab) -> void 打开右侧面板
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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. The description only repeats the function name and signature, offering no information about side effects, prerequisites, or the nature of the operation (e.g., whether it is a UI-only action). It does not add meaningful behavioral context beyond the tool's 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 very concise, consisting of a single line with the action and the signature. It is front-loaded with the action and includes the essential parameter information. No fluff 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?
For a simple UI action with no output schema, the description minimally satisfies the need to know what the tool does, but it lacks usage context, side effects, or any guidance for an agent selecting among the many panel control siblings. It is barely sufficient for direct invocation but poor for decision-making.
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% with descriptions for 'args' and 'windowId'. The description adds the function signature revealing an optional 'tab' parameter of type ESYS_RightPanelTab, which provides some semantic guidance about how to pass arguments. However, it does not explain the possible enum values or the tab's effect, so the added value is limited but present.
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 'open right panel' and includes a function signature. It is specific about the resource (right panel) and the verb (open). However, it does not differentiate from sibling tools like close_right_panel or toggle_right_panel_lock_state, though the name itself is sufficiently 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?
There is no guidance on when to use this tool versus alternatives. The description simply states what it does without mentioning contexts, exclusions, or when a different panel control tool would be more appropriate. No alternatives are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_panel_control_toggle_bottom_panel_lock_stateC
sys_PanelControl.toggleBottomPanelLockState(state?: boolean) -> void 切换底部面板锁定状态
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 shows a function signature and a terse phrase, without explaining side effects, whether it sets or toggles the lock state, any permissions needed, or the fact that it returns void. The description adds no behavioral context beyond what the name and signature imply.
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, essentially a single line with the signature and a translation. It is not verbose, but it lacks structure and explanation. It is adequately sized for a simple tool but omits critical details about parameter usage, making it under-specified rather than efficiently 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 absence of an output schema and the presence of an optional boolean parameter, the description should explain how to provide the parameter (e.g., whether 'args' should contain a single boolean). It does not. The generic 'args' description in the schema is not function-specific, so an agent would struggle to correctly invoke this tool without additional knowledge. The description is incomplete for practical 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 coverage is 100% with descriptions for both 'args' and 'windowId', but those descriptions are generic. The description includes the function signature showing an optional boolean parameter, but it does not explain how to encode that into the 'args' array or what the boolean represents beyond the name. Since the schema already documents the parameters, the description adds marginal value and does not compensate for the missing semantics of the boolean.
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 includes the function signature 'toggleBottomPanelLockState(state?: boolean)' and the Chinese phrase '切换底部面板锁定状态' which clarifies the purpose as toggling the bottom panel lock state. The verb 'toggle' and resource 'bottom panel lock state' are explicit. However, it does not clarify the semantics of the optional 'state' parameter (whether it sets the state directly or toggles when omitted), which is a slight gap for an agent.
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 like toggle_left_panel_lock_state, toggle_right_panel_lock_state, or open/close bottom panel. The description does not mention any exclusions or alternative conditions, leaving the agent to infer context 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.
eda_sys_panel_control_toggle_left_panel_lock_stateC
sys_PanelControl.toggleLeftPanelLockState(state?: boolean) -> void 切换左侧面板锁定状态
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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, but it mostly restates the toggling action already present in the tool name. It does add the optional boolean parameter and void return type, yet it does not explain what the boolean means, whether the action is reversible, or what observable UI effect occurs beyond toggling lock state.
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 the exact API signature, followed by a concise Chinese phrase. Every element earns its place, though the Chinese line is largely redundant with the English signature.
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 no output schema, the description leaves important operational details unexplained: the meaning of the optional state argument, the behavior when the argument is omitted, and whether any return value or side effects should be expected beyond void. The schema covers windowId, but the semantic gaps make this incomplete for an agent choosing and invoking the tool 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 only provides a generic 'args' array, while the description adds 'state?: boolean', which is useful type-level information. However, it does not clarify the meaning of true/false or how the optional state interacts with the toggle semantics. Since schema coverage is reported as 100%, a baseline of 3 is appropriate.
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 ('toggleLeftPanelLockState', '切换左侧面板锁定状态') and resource ('left panel lock state'). The verb+resource pairing is specific enough to distinguish it from siblings like open/close left panel or toggle bottom/right lock state, though it never names those 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 given on when to use this tool versus alternatives such as is_left_panel_locked, open_left_panel, or the bottom/right lock toggles. The intended context is only implied by the tool name and description; there are no explicit conditions, exclusions, or prerequisite checks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_panel_control_toggle_right_panel_lock_stateC
sys_PanelControl.toggleRightPanelLockState(state?: boolean) -> void 切换右侧面板锁定状态
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden of disclosing behavior. It only states the bare action and does not mention that this is a mutating UI operation, what happens when the optional state parameter is omitted, whether anything is returned (the signature says void), or any side effects. No behavioral context is disclosed at all.
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 short for a simple tool and the signature line is useful, but the structure is minimal and the Chinese sentence duplicates the name. It is concise yet under-specified, offering no behavioral or semantic elaboration.
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 UI-state mutation with no annotations and no output schema, the description is incomplete. It fails to explain what locking the right panel means, what the optional boolean does (e.g., true to lock, false to unlock, omitted to toggle), or any resulting UI behavior. An agent cannot predict the outcome of calling this tool with or without the state 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?
The schema's args field is described generically as a JSON parameter array, and windowId is already well documented. The description's signature `state?: boolean` adds the crucial detail that the args array should contain a single optional boolean, which clarifies how to call the function for the main parameter. This goes beyond what the schema provides for args.
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 restates the tool name verbatim in both English signature and Chinese ('toggle right panel lock state' / '切换右侧面板锁定状态'). It does not explain what 'lock state' means or what effect toggling it has, so it adds no information beyond what the name already conveys.
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 siblings such as eda_sys_panel_control_is_right_panel_locked, open_right_panel, close_right_panel, or the left/bottom lock-toggle variants. The appropriate context is only implied by the tool's name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_setting_get_jlccolor_silk_enabledA
sys_Setting.getJLCColorSilkEnabled() -> Promise
获取是否启用嘉立创彩色丝印工艺
deprecated: 临时接口(插入图片 PCB 迁移打通流程用):等统一设置接口落地后删除替换,请尽快迁移,勿在新功能中继续依赖
remarks: ADD since EDA v5
returns: 是否启用;读取失败返回 false
[已弃用]
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 discloses that the function returns a boolean, that it returns false on read failure, and that it is deprecated (a behavioral trait). While it does not explicitly state 'no side effects', the nature of a getter and the read-failure note imply read-only behavior. The deprecation and version info (since EDA v5) add useful context, making this adequate though not exhaustive.
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 structured with the method signature, a one-line purpose, deprecation note, remarks, and returns. It is fairly concise but includes some redundancy (e.g., the deprecated note appears twice, once in text and once as a label). It is well-organized with clear sections, though the length is slightly more than necessary for such 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?
For a simple getter with no actual parameters (the wrapper only adds args/windowId for the execution environment), the description is complete: it states the return type, failure behavior, deprecation status, and version. No output schema exists, but the return type is explicitly given. The context is sufficient for an agent to call it correctly without ambiguity.
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 100% description coverage for its two parameters (args and windowId). The description does not mention these parameters at all, but per the rubric, when schema coverage is high, the baseline is 3 even with no param info in the description. The description adds no additional meaning beyond the schema, so the baseline score of 3 is appropriate.
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: '获取是否启用嘉立创彩色丝印工艺' (get whether JLC color silk screen process is enabled). It includes the method signature and return type (Promise<boolean>), which precisely defines the action and output. While it does not explicitly differentiate from siblings, the specific resource and verb are unambiguous, and no similar sibling exists in the list.
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 context for when this tool is relevant: it is a temporary interface for the PCB migration flow and is deprecated, urging migration and discouraging new dependencies. However, it does not name an alternative tool or specify when NOT to use it beyond the deprecation note. The guidance is partial – it says 'do not use in new features' but lacks a replacement reference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_setting_restore_defaultA
sys_Setting.restoreDefault() -> Promise 全局恢复默认设置 remarks: 将所有 EDA 设置恢复到默认状态,本操作将会丢失所有设置项,在调用时请特别注意 returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and explicitly discloses the destructive side effect: '本操作将会丢失所有设置项' (this operation will lose all settings) and returns a boolean success value. It does not explicitly say 'irreversible' or mention permissions, but the prominent data-loss warning is sufficient 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 definition is compact and front-loads the API signature and core purpose. There is some redundancy between '全局恢复默认设置' and the remark restating restore-all-defaults, but the data-loss warning and return type each earn their 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 destructive action with no required parameters and no output schema, the description provides the purpose, global scope, destructive consequence, and boolean return type. It lacks explicit irreversibility phrasing, but an agent can safely invoke it with the information given.
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%: both 'args' and 'windowId' have descriptions, so the baseline applies. The signature 'restoreDefault()' hints that the args array should be empty, but the description does not otherwise explain parameters; the schema carries the load.
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 (restore), resource (all EDA settings), and global scope. Phrases like '全局恢复默认设置' and '将所有 EDA 设置恢复到默认状态' unambiguously define the operation and distinguish it from setting-specific getters/modifiers.
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 or alternative guidance is provided. The only usage-related note is a caution to be careful because all settings will be lost; there is no statement about user confirmation, prerequisites, or when a more targeted setting operation should be preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_shortcut_key_getA
sys_ShortcutKey.get(id: string) -> ISYS_ShortcutKeyDataWithUserDefinedShortcutKey | undefined 获取快捷键数据 remarks: 本接口允许获取其它扩展的快捷键数据,仅需按格式拼接快捷键 ID
本接口无法获取系统快捷键数据
注意:本接口仅扩展有效,在独立脚本环境内调用将始终 throw Error
ADD since EDA v4.2 returns: 获取到的快捷键数据
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 return type (including undefined), the limitation of not retrieving system shortcuts, the requirement to be in an extension context, and the error thrown in standalone scripts. This is strong behavioral disclosure for a read-only getter, though it doesn't mention permissions or side effects (which are likely none).
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 well-structured with a signature, purpose, remarks, and notes. It is front-loaded with the signature and purpose. Some redundancy exists (e.g., 'returns' line repeats the purpose), but overall it is concise and organized for quick scanning.
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 essential operational context: extension-only, cannot access system shortcuts, error behavior, and return type. The main gap is the ID concatenation format, which is critical for correct invocation. Without this detail, an agent may construct the args incorrectly. The absence of an output schema means the return structure is only partially described, but the signature provides the type.
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 100% coverage for args and windowId, but the descriptions are generic. The tool description mentions 'id: string' and says to concatenate the ID according to format, but does not specify the actual format or how to map the id into the args array. This adds marginal value over the schema, which already describes the array structure, but leaves ambiguity about the ID format.
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 it retrieves shortcut key data by ID, and the signature clarifies the return type. It also notes that it cannot fetch system shortcut data, which helps differentiate from related tools. However, it doesn't explicitly name sibling tools like eda_sys_shortcut_key_get_all or eda_sys_shortcut_key_get_shortcut_keys, so the distinction is implied rather than explicit.
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 context: it works only in extensions, cannot get system shortcuts, and throws in standalone scripts. It implies usage when you have a specific extension shortcut ID, but it does not explicitly state when to choose this tool over alternatives or provide a 'when not to use' clause. No direct comparison to sibling getter tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_shortcut_key_get_allA
sys_ShortcutKey.getAll() -> Record<string, ISYS_ShortcutKeyDataWithUserDefinedShortcutKey> 获取所有快捷键数据 remarks: 本接口将会获取本扩展的所有快捷键数据
本接口无法获取系统快捷键数据
注意:本接口仅扩展有效,在独立脚本环境内调用将始终 throw Error
ADD since EDA v4.2 returns: 获取到的快捷键数据
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 transparently warns about the standalone-script throw, the extension-only constraint, and the inability to fetch system shortcut data. This is meaningful beyond the schema, though it does not elaborate on the structure of the returned record or explicitly state that the operation is side-effect-free.
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 reasonably concise and organized with labels (remarks, note, since, returns) and front-loads the signature before the Chinese explanation. There is minor redundancy between the opening line and the remarks, but the unique constraints about system shortcut keys and extension-only usage justify their 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 zero-argument read tool with no output schema and no annotations, the description covers the essentials: what is returned (all extension shortcut key data), what is excluded (system shortcut keys), and the critical environment caveat (throws in standalone scripts). The main gap is the lack of field-level documentation for the ISYS_ShortcutKeyDataWithUserDefinedShortcutKey type, but the type name gives some semantic clues.
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%, but the schema only describes generic wrapper arguments (args and windowId). The description adds value by showing the official signature 'sys_ShortcutKey.getAll()', which implies that the args array should be empty and no positional parameters are expected. It does not explicitly document the wrapper parameters, but the signature is a useful hint.
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 operation and resource: 'sys_ShortcutKey.getAll()' returning 'Record<string, ISYS_ShortcutKeyDataWithUserDefinedShortcutKey>' and '获取所有快捷键数据' (get all shortcut key data). It also scopes the resource to '本扩展的所有快捷键数据' (all shortcut keys of this extension) and explicitly excludes system shortcut keys, which helps differentiate it from sibling shortcut-key tools. However, it never names sibling alternatives like get_shortcut_keys, so full sibling discrimination is left to the reader.
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 when-not conditions: '本接口无法获取系统快捷键数据' (cannot get system shortcut keys) and '本接口仅扩展有效,在独立脚本环境内调用将始终 throw Error' (only valid in extensions; standalone scripts always throw). These are explicit exclusions, but no alternative tools are named for those cases, so it stops 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.
eda_sys_shortcut_key_get_shortcut_keysB
sys_ShortcutKey.getShortcutKeys(includeSystem?: boolean) -> Promise<Array<{ shortcutKey: TSYS_ShortcutKeys; title: string; documentType: Array; scene: Array }>> 查询快捷键列表 deprecated: since EDA v4.2 returns: 快捷键列表 [已弃用]
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 does state the deprecation status and the return type (Promise of an array with detailed fields), which is useful. However, it does not explicitly state that the operation is read-only, or any side effects, errors, or permission requirements. The signature implies a getter, but that is not confirmed. The deprecation is a behavioral trait, but lacks context on 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?
The description is reasonably concise, consisting of a signature, a one-line Chinese summary, a deprecation note, and a return description. However, there is redundancy: the return type appears both in the signature and in the 'returns' line, and deprecation is mentioned twice (in English and Chinese). The structure is acceptable, with the signature front-loaded, but could be tightened.
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 read-only getter, the description provides the signature, return structure, and deprecation status, which covers basic usage. However, it lacks critical context: it does not explain the meaning of 'includeSystem', does not mention any replacement tool (important for a deprecated API), and does not clarify whether this is the only way to get shortcut keys or if siblings are preferable. The absence of an output schema means the description's return type is essential, and it is provided. Overall, it is sufficient for a simple call 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?
The schema only has generic 'args' and 'windowId' parameters. The description adds the actual signature with 'includeSystem?: boolean', which clarifies the expected argument structure. However, it does not explain what 'includeSystem' does (e.g., whether it includes system-defined shortcuts). The schema already describes 'windowId' as optional for the current window, so the description adds minimal value for that parameter. The note that 'args' follows official signature order 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 that the tool queries the shortcut key list ('查询快捷键列表') and includes the full method signature with return type. It identifies the specific action (getShortcutKeys) and resource (shortcut keys), but does not explicitly differentiate from sibling tools like eda_sys_shortcut_key_get or eda_sys_shortcut_key_get_all, which may also return shortcut key lists. The deprecation note is extra but doesn't clarify selection criteria.
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 mentions that it is deprecated since EDA v4.2, which implies it should not be used, but does not suggest a replacement or explain when it might still be applicable. An agent has no basis to decide between this and the sibling shortcut key tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_shortcut_key_registerA
sys_ShortcutKey.register(id: string, props: ISYS_ShortcutKeyDataWithCallFn) -> boolean
注册快捷键
remarks: 此处注册快捷键时传入的 shortcutKey 仅为默认快捷键,用户可以在设置中修改
如若该快捷键与系统快捷键冲突,系统快捷键将会优先生效
如果需要修改已注册的快捷键信息,可以直接调用本接口,并在 props 中传入完整的需要修改的快捷键数据
本接口无法修改系统快捷键
注意:本接口仅扩展有效,在独立脚本环境内调用将始终 throw Error
ADD since EDA v4.2 returns: 注册是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must carry full burden. It discloses key behaviors: default shortcut can be overridden by user, system shortcuts take precedence, can modify registered shortcuts, not for system shortcuts, only works in extension context, throws error otherwise. This is strong 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?
Description is compact, includes signature, remarks, and returns, but is somewhat dense. It front-loads the purpose and provides important caveats, though could be better organized with headers.
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 output schema, the description explains return value (boolean success) and critical constraints. It lacks details on the props structure, but schema covers it, and the key behavioral caveats are present.
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 has 100% coverage for args and windowId, but description doesn't detail the parameters beyond the signature. It adds that props contains shortcut key data, but the schema already describes the structure. Baseline 3 is appropriate.
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 registers a shortcut key, with signature details and remarks explaining behavior. It distinguishes from sibling tools like get/unregister by naming the operation, though not explicitly compared to 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 provides context on when to use it (for registering or modifying shortcut keys) but does not explicitly mention when not to use it or alternatives. It implies usage for extensions only, which is a key constraint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_shortcut_key_register_shortcut_keyC
sys_ShortcutKey.registerShortcutKey(shortcutKey: TSYS_ShortcutKeys, title: string, callbackFn: (shortcutKey: TSYS_ShortcutKeys) => void | Promise, documentType?: Array, scene?: Array) -> Promise 注册快捷键 deprecated: since EDA v4.2 returns: 注册操作是否成功 [已弃用]
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 disclosure burden. It does mention the function is deprecated and returns a Promise<boolean> indicating success, but it omits side effects, prerequisites, callback semantics beyond the signature, and any failure behaviors. This is insufficient for a mutation-like registration call.
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—essentially a single signature line with brief Chinese notes. It is not verbose, but it lacks a front-loaded natural language summary or structured formatting. The deprecated note is placed at the end, which is not ideal for quick scanning.
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 deprecated function without an output schema, the description should at least point to a replacement or explain the context of parameters like documentType and scene. It does not, nor does it describe the intended usage or any limitations. The agent would still need to consult external documentation to understand key types and the callback 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 description includes the full function signature (shortcutKey, title, callbackFn, documentType, scene) which clarifies the structure of the 'args' array. This goes beyond the schema's generic 'JSON array' description and helps the agent understand the expected parameter order and types, though it does not explain the enums or callback details in depth.
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 indicates the action (register a shortcut key) and the resource (shortcut keys), and the Chinese phrase '注册快捷键' confirms this. However, it does not distinguish itself from the sibling tool eda_sys_shortcut_key_register, which has a nearly identical purpose, leaving ambiguity about which one to choose.
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 mentions 'deprecated: since EDA v4.2' which implies it may not be the recommended choice, but it does not suggest a replacement or explain any conditions. There is no context for appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_shortcut_key_unregisterA
sys_ShortcutKey.unregister(id: string) -> boolean 反注册快捷键 remarks: 本接口允许反注册其它扩展的快捷键,仅需按格式拼接快捷键 ID
本接口无法反注册系统快捷键
注意:本接口仅扩展有效,在独立脚本环境内调用将始终 throw Error
ADD since EDA v4.2 returns: 反注册是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the full behavioral burden and does so well: it discloses the boolean return, the throw-on-standalone-script failure mode, the extension-only constraint, and the system-shortcut limitation. This goes beyond a bare operation statement and gives an agent reliable expectations for side effects and errors.
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 the signature and operation, then ordered remarks, constraints, errors, version, and return. Each line earns its place, though the bilingual redundancy ('反注册快捷键' plus the signature) and version note are slightly extra.
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 small unregister operation with no output schema, the description covers return value, error behavior, scope, and constraints. The remaining gap is the exact shortcut-ID format, and there is no example, so an agent may still need external information to construct a valid id.
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 only exposes generic args/windowId wrappers, but the description adds the meaningful `id: string` signature and says the ID must be concatenated according to a format. The exact concatenation format is not specified, so it does not fully compensate for the schema's opacity, but it adds substantive parameter 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 operation ('sys_ShortcutKey.unregister(id: string) -> boolean', '反注册快捷键') and scopes it to unregistering extension shortcuts while explicitly excluding system shortcuts. It does not, however, name or contrast any sibling tool such as eda_sys_shortcut_key_unregister_shortcut_key, so an agent must infer the difference.
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 remarks give concrete when-to-use context: it can unregister other extensions' shortcuts and cannot unregister system shortcuts. It also warns that it is only valid in an extension context and throws in standalone scripts. It stops short of naming an alternative for system-shortcut unregistration, 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.
eda_sys_shortcut_key_unregister_shortcut_keyC
sys_ShortcutKey.unregisterShortcutKey(shortcutKey: TSYS_ShortcutKeys) -> Promise 反注册快捷键 deprecated: since EDA v4.2 returns: 反注册操作是否成功 [已弃用]
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must convey behavioral traits. It mentions 'deprecated: since EDA v4.2' and the return type (boolean), but doesn't disclose side effects (e.g., whether it throws errors, requires authentication, or what happens if the shortcut key doesn't exist). The deprecation warning 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 brief and includes a deprecated note, but it mixes English and Chinese, and the deprecated note is placed at the end. It is somewhat unstructured, with the returns line in Chinese and the deprecated note in brackets. It could be more front-loaded with the deprecation warning.
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 is deprecated, the description should strongly warn against usage and suggest alternatives, but it doesn't. It also lacks details on the parameter structure (what shortcutKey is) and error handling. For a deprecated function, this is a significant 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 100% for the two parameters, but the 'args' parameter is described only as '按官方签名顺序排列的JSON参数数组' (JSON parameter array in official signature order). The description doesn't explain what elements the args array should contain (e.g., the shortcut key identifier), leaving the agent to infer. The 'windowId' parameter is clear, but 'args' is underspecified.
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 (unregister shortcut key) and the resource (ShortcutKey), with a Chinese translation. However, it doesn't mention the parameter or provide context on what unregistering implies. It is distinguishable from siblings like 'register_shortcut_key' and 'get_shortcut_keys' by the verb, but the purpose is not fully 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?
There is no guidance on when to use this tool versus alternatives. It doesn't specify prerequisites (e.g., the shortcut key must have been registered previously), nor does it explain the effect of unregistering. The deprecated note implicitly says don't use it, but there's no alternative suggested.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_storage_clear_extension_all_user_configsA
sys_Storage.clearExtensionAllUserConfigs() -> Promise 清除扩展所有用户配置 remarks: 此举会删除当前扩展的所有用户配置信息,请谨慎操作
注意:本接口仅扩展有效,在独立脚本环境内调用将始终 throw Error
returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 the action deletes all user configs, warns to operate with caution, and notes that it throws in non-extension environments. However, it does not clarify what the returned boolean means (true for success? false for failure?) or whether the action is irreversible, which is a minor 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 includes the function signature, purpose, a caution remark, and an environment-specific warning. It is front-loaded with the essential action and warning, though it briefly repeats the signature and Chinese translation, which is slightly redundant but not harmful.
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 clear-all operation, the description provides the key context: what is deleted, a caution, the environment limitation, and the return type. It does not explain the boolean return semantics or how to restore configs, but for a simple clear action this is acceptable. The absence of annotations is partially offset by the descriptive remarks.
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 100% for the two wrapper parameters (args, windowId), but the description adds no meaning beyond that. It leaves ambiguous what the args array should contain (the function signature shows no parameters, so likely an empty array is required). The description does not compensate for this ambiguity, so baseline 3 is appropriate.
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 operation: '清除扩展所有用户配置' (clear all user configs for the extension) along with the function signature. It distinguishes itself from sibling storage tools by emphasizing 'all', but does not explicitly contrast with delete_extension_user_config.
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 environmental constraint ('仅扩展有效,在独立脚本环境内调用将始终 throw Error') which is useful, but it does not mention when to use this vs. the other storage tools (e.g., delete_extension_user_config for a single config). Usage context is implied by the purpose rather than explicitly stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_storage_delete_extension_user_configA
sys_Storage.deleteExtensionUserConfig(key: string) -> Promise
删除扩展用户配置
remarks: 注意:本接口仅扩展有效,在独立脚本环境内调用将始终 throw Error
returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral disclosure burden. It reveals the Promise<boolean> return type, explains the boolean indicates operation success, and warns that invoking in a standalone script always throws Error. This is valuable beyond the tool name, though it does not mention what happens if the key does not 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 compact, with each line serving a purpose: the API signature, the Chinese action, a critical environment remark, and the return value meaning. No filler is present, though mixing English signature with Chinese notes slightly reduces polish.
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 return type, meaning of the boolean, and a key failure mode (standalone script throws). It does not explain what 'extension user config' is, how the key parameter should be supplied in the args array, or how this differs from deleting all configs, making it only moderately complete for a simple deletion tool with no 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 description adds the signature 'key: string' which gives the parameter name and type, but offers no explanation of what the key represents or whether it is required. The input schema only describes generic wrapper arguments ('args' array and 'windowId'), so even with high schema coverage, the key parameter remains semantically 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 states a specific action 'deleteExtensionUserConfig' and translates it as '删除扩展用户配置' (delete extension user config), identifying both verb and resource. This naturally distinguishes it from sibling storage operations like get/set/clear, especially the plural 'all_user_configs' 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 a clear environment constraint: it is only valid for extensions and will throw Error in a standalone script environment. However, it does not explicitly state when to prefer this tool over alternatives such as set_extension_user_config or clear_extension_all_user_configs, leaving the selection partly to the agent's inference from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_storage_get_extension_all_user_configsB
sys_Storage.getExtensionAllUserConfigs() -> Record<string, any>
获取扩展所有用户配置
remarks: 注意:本接口仅扩展有效,在独立脚本环境内调用将始终 throw Error
returns: 扩展所有用户配置信息
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must carry the burden. It discloses the error behavior in standalone scripts and states the return type, but it does not address other behavioral aspects such as whether configs are per-window, what happens if no configs exist, or any side effects. For a getter this is acceptable 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 short and front-loaded with the signature, summary, remarks, and returns. There is minor redundancy between the summary and returns, but no fluff and the critical extension-only constraint is prominently placed.
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 getter with no output schema, the description gives the essential return type and the critical extension-only constraint. However, it does not explain the shape of the returned config data or how windowId affects results, so an agent has some 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 100% for both params (args and windowId). The description adds the underlying signature with no parameters, hinting that args should be an empty array, but it does not explicitly instruct this. Baseline 3 is appropriate since the schema does most of the work.
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 '获取扩展所有用户配置' (get all extension user configurations) and provides the API signature and return type. This clearly identifies a get-all operation, and the 'all' in both name and description distinguishes it from singular get/set/clear 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?
The remark explicitly says the API is only valid for extensions and throws Error in standalone scripts, which is a clear when-not-to-use condition. However, it does not explain when to prefer this tool over the singular get_extension_user_config or mention any alternatives, leaving usage partly implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_storage_get_extension_user_configA
sys_Storage.getExtensionUserConfig(key: string) -> any | undefined
获取扩展用户配置
remarks: 注意:本接口仅扩展有效,在独立脚本环境内调用将始终 throw Error
returns: 配置项对应的值,不存在将返回 undefined
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 explicitly discloses that the tool throws an Error in standalone script environments and returns `undefined` when the configuration item does not exist. These are meaningful behavioral traits beyond what the schema alone provides, though it does not discuss side effects (likely none for a getter).
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 well-organized with labeled sections: signature, one-line summary, remarks, and returns. Every line earns its place; there is no filler or repetition of schema content. It could be slightly more natural-language oriented, but overall it is appropriately sized.
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 getter with no output schema and no annotations, the description provides the essential return type (`any | undefined`), the missing-key behavior, and the environment restriction that causes an exception. An agent has enough information to decide whether to call it and what to do with the result. A concrete example or a note about the shape of stored values would push it higher, but they are not essential 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?
Schema description coverage is 100%, but the `args` items are untyped `{}`, so the description's signature `key: string` supplies critical type information for constructing the argument array. Combined with the schema's note that args follow the official signature order, an agent can confidently map the first argument to a string key. The optional `windowId` parameter is adequately described in the schema itself.
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 the exact API signature `sys_Storage.getExtensionUserConfig(key: string) -> any | undefined` and the Chinese summary `获取扩展用户配置` (get extension user configuration), which clearly identifies a getter for a single configuration value by key. This implicitly distinguishes it from sibling `get_extension_all_user_configs` by showing the key parameter, though it does not name the alternative 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?
The remarks provide decisive usage context: `本接口仅扩展有效,在独立脚本环境内调用将始终 throw Error` (only valid in extensions; calling in a standalone script environment will always throw). This tells the agent when NOT to use the tool. However, it does not mention when to prefer this tool over related storage siblings like `get_extension_all_user_configs` or `set_extension_user_config`.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_storage_set_extension_all_user_configsA
sys_Storage.setExtensionAllUserConfigs(configs: Record<string, any>) -> Promise 设置扩展所有用户配置 remarks: 此举会覆盖当前扩展的所有用户配置信息,请谨慎操作
注意:本接口仅扩展有效,在独立脚本环境内调用将始终 throw Error
returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden and does well: it explicitly warns that the call overwrites all current extension user configs, advises caution, states that standalone calls throw, and discloses the boolean return value. This goes well beyond a bare 'set' statement.
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: signature, purpose, warning, environment note, and return note. Each sentence adds operational value, though the English signature and Chinese description are 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?
For a destructive storage operation with no output schema, the description covers the essential context: what gets overwritten, that it requires an extension context, and what the return boolean means. It does not detail config schema or sibling routing, but it is sufficient for safe invocation of the core operation.
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 only provides a generic args array and windowId, while the description adds the actual signature configs: Record<string, any> and Promise<boolean>. This clarifies the primary parameter type, but it leaves the expected structure of configs and the mapping of the single configs parameter to the args array 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 clearly states the operation: setting all extension user configs via sys_Storage.setExtensionAllUserConfigs, and the Chinese translation reinforces it. The 'all user configs' scope differentiates it from the singular set_extension_user_config sibling, though no sibling is explicitly named.
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 useful when-not-to-use condition: it only works in an extension context and will always throw in a standalone script environment. However, it does not mention alternatives such as set_extension_user_config for single keys or clear_extension_all_user_configs, so sibling selection guidance is limited.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_storage_set_extension_user_configA
sys_Storage.setExtensionUserConfig(key: string, value: any) -> Promise 设置扩展用户配置 remarks: 新建扩展用户配置也使用本接口,在设置时如果不存在将会自动新建
注意:本接口仅扩展有效,在独立脚本环境内调用将始终 throw Error
returns: 操作是否成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 the Promise<boolean> return type, the create-if-absent side effect, the extension-only restriction, and the unconditional throw in standalone scripts. This gives an agent a clear picture of side effects and 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 compact and front-loaded: signature first, core behavior second, then the two caveats in short labeled remarks. Every sentence carries information and there is 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?
For a simple single-key setter, this is complete: the agent knows what it does, what it returns, when it creates, when it throws, and how to pass parameters. No output schema exists, but the Promise<boolean> return is explicitly stated.
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 JSON schema only exposes a generic args array, but the description supplies the official signature with key as string and value as any, adding ordering and meaning that the schema lacks. It does not further constrain value, but value is intentionally any, so no extra detail 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 opens with the exact API signature, `sys_Storage.setExtensionUserConfig(key: string, value: any)`, and clearly states it sets an extension user config. The singular setExtensionUserConfig plus the auto-create remark distinguishes it from storage siblings like delete/get/clear and from set_extension_all_user_configs.
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 explicitly says the same interface is used to create a new config when one does not exist, giving a clear when-to-use signal. It also warns that calls in a standalone script environment will always throw, which is a useful exclusion, though it does not explicitly name sibling get/delete/clear tools as alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_timer_clear_interval_timerA
sys_Timer.clearIntervalTimer(id: string) -> boolean 清除指定循环定时器 returns: 定时器是否清除成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the burden of behavioral disclosure. It clearly states the action ('clear') and specifies the return value ('whether the timer was cleared successfully'), which is useful. However, it does not disclose behavior for invalid or unknown ids, idempotency, whether the callback is guaranteed stopped, or any side effects beyond the boolean.
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 lines: signature, Chinese action statement, and return semantics. There is no filler, and the purpose appears immediately. It earns its 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?
For a low-complexity two-parameter timer utility, the description covers what the tool does and what it returns. It is still thin on lifecycle context: it does not state that the id must come from a previously created interval timer, and it does not explain error behavior or how windowId affects the timer being cleared. An agent would need to infer these details from sibling 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 input schema treats args as a generic JSON array, but the description adds a concrete signature 'sys_Timer.clearIntervalTimer(id: string) -> boolean', giving the primary parameter a name and type. This materially clarifies what goes inside the args array. The windowId parameter is left to the schema, which already documents it well.
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: '清除指定循环定时器' ('clears the specified interval timer'). It identifies the exact object type (interval timer) and operation, and because sibling tools include clear_timeout_timer and set_interval_timer, the interval-timer wording helps distinguish it. The signature line also makes the method and id parameter explicit.
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 clearing recurring interval timers but does not explicitly say when to use it versus eda_sys_timer_clear_timeout_timer or that the id should come from eda_sys_timer_set_interval_timer. There is no when-not-to-use or alternative routing. This is minimal implied guidance, not explicit usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_timer_clear_timeout_timerC
sys_Timer.clearTimeoutTimer(id: string) -> boolean 清除指定单次定时器 returns: 定时器是否清除成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 the return type (boolean) and that the timer is cleared, but doesn't disclose what happens if the timer doesn't exist, whether the operation is idempotent, or whether any side effects occur. The description adds minimal behavior beyond the signature.
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 plus a return line—and front-loads the action. No unnecessary filler, though the signature line somewhat duplicates 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 timer-clearing tool with a sibling set-timeout tool, the description is incomplete. It doesn't explain how to obtain the timer id, what 'clear success' means in practical terms, or how this interacts with the windowId parameter. The description is minimal enough that an agent could call it without fully understanding the 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 100%, so the schema documents the parameters. The description mentions '指定' (specified) and 'id: string' in the signature, which aligns with the args array, but the description doesn't add much beyond the schema. The windowId parameter is documented 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 states '清除指定单次定时器' (clear the specified one-shot timer), which identifies the resource and action. However, it doesn't mention the 'boolean' return beyond the signature and doesn't clearly distinguish from sibling tools like eda_sys_timer_clear_interval_timer beyond the '单次' vs 'interval' 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 no guidance on when to use this tool vs alternatives. Sibling tools include eda_sys_timer_set_timeout_timer and eda_sys_timer_set_interval_timer, and the description doesn't clarify that this clears a timeout timer specifically, nor when an agent should choose it over eda_sys_timer_clear_interval_timer.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_timer_set_interval_timerB
sys_Timer.setIntervalTimer(id: string, timeout: number, callFn: (...args: any) => void, ...args: any) -> boolean 设置循环定时器 remarks: 如果遇到 ID 重复的定时器,则之前设置的定时器将被清除 returns: 定时器是否设置成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description carries the full burden. It discloses that duplicate IDs will clear the previously set timer and that it returns a boolean success flag. However, it does not mention the callback behavior (e.g., whether it receives args), the units of the timeout, or that the timer is window-scoped via the `windowId` parameter. Some behavioral detail is present, but more could be 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 brief and front-loaded with the signature, followed by the purpose and important remarks. No unnecessary prose. It earns a high score for efficiency, though it could be slightly more organized (e.g., separating remarks clearly). Overall, it is well-structured for a short 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?
For a timer-setting tool, the description covers the signature, duplicate-ID behavior, and return value, which is sufficient for basic invocation. It lacks details on how to clear the timer (though a sibling exists) and the exact meaning of `timeout` (units). Given the tool's simplicity and the presence of a clear sibling for clearing, this is reasonably complete, but not exhaustive.
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 the full signature `sys_Timer.setIntervalTimer(id: string, timeout: number, callFn: (...args: any) => void, ...args: any)` which clarifies the content of the `args` array in the input schema (which only says 'JSON parameter array in official signature order'). This adds substantial meaning beyond the schema, though it does not elaborate on the semantics of each parameter (e.g., what id represents, timeout units). A slight deduction for not explaining parameter meaning beyond 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 tool sets a recurring interval timer ('设置循环定时器') and provides the full function signature. It is clear about the verb and resource, but it does not explicitly distinguish itself from the sibling `eda_sys_timer_set_timeout_timer` (one-shot timer), which would be useful for an agent choosing between 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?
No explicit guidance on when to use this tool versus alternatives like timeout timers or clearing timers. The name and remarks imply usage, but there is no stated context such as 'use for periodic tasks' or 'use instead of set_timeout_timer for repeating actions'. An agent must infer the use case 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.
eda_sys_timer_set_timeout_timerA
sys_Timer.setTimeoutTimer(id: string, timeout: number, callFn: (...args: any) => void, ...args: any) -> boolean 设置单次定时器 remarks: 如果遇到 ID 重复的定时器,则之前设置的定时器将被清除 returns: 定时器是否设置成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It usefully discloses that a duplicate ID clears the previously set timer and that the return value indicates whether setting succeeded. It does not discuss lifecycle details such as timeout units or cancellation, but the most important non-obvious side effect is 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 compact and well-structured: signature first, then a one-line Chinese summary, then remarks and return semantics. Every sentence earns its place, 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?
The description covers the basic call shape, duplicate-ID behavior, and return value, which is good for a simple timer tool. However, it omits the timeout unit, does not explain how a function-valued `callFn` is passed through the JSON `args` array, and does not reference `eda_sys_timer_clear_timeout_timer` for cancellation. These gaps make it less than fully actionable in an MCP 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 input schema only provides a generic `args` array, but the description supplies the actual parameter order and types: `id: string, timeout: number, callFn: (...args: any) => void, ...args: any`. This is meaningful value beyond the schema. It does not explain timeout units or how to represent the `callFn` function inside a JSON args array, which is 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 clearly states the tool sets a single-shot timer (`设置单次定时器`) and provides the full function signature `sys_Timer.setTimeoutTimer(id: string, timeout: number, callFn: ...) -> boolean`. This is specific enough to distinguish it from the interval-timer sibling, though it does not explicitly name or differentiate from `eda_sys_timer_set_interval_timer`.
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 `单次定时器` implies this tool is for one-time delayed execution, which gives the agent a contextual signal about when to use it. However, it does not explicitly state when not to use it or mention the interval-timer/clear-timer alternatives, leaving usage guidance to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_toast_message_show_messageB
sys_ToastMessage.showMessage(message: string, messageType?: ESYS_ToastMessageType, timer?: number, bottomPanel?: ESYS_BottomPanelTab, buttonTitle?: string, buttonCallbackFn?: string) -> void 显示吐司消息 [已弃用]
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden; it usefully discloses that the function returns void and is deprecated. However, it does not describe any side effects, display behavior, dismissal mechanics, or UI context requirements beyond the raw signature.
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 contains no filler: the signature, the plain-language purpose, and the deprecation flag all earn their place. It would be slightly better if the plain-language purpose led the description instead of following the signature.
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 a six-parameter API, the description supplies only the raw signature and deprecation note. Missing enum values, timer units, callback semantics, and any replacement tool leave an agent unable to call it with full confidence, despite the schema's high-level coverage.
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 only describes `args` as an opaque JSON array in official signature order plus `windowId`, so the signature in the description adds genuine meaning: parameter names, types, optionality, and order. It still omits allowed values for ESYS_ToastMessageType/ESYS_BottomPanelTab and the expected format for buttonCallbackFn.
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 operation as '显示吐司消息' (show a toast message) and includes the official API signature, so an agent can identify the resource and action. It does not explicitly differentiate from sibling toast/dialog 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?
No guidance is given for when to use this tool versus alternatives. The '[已弃用]' deprecation marker hints that it should probably be avoided, but it names no replacement or selection criteria, and sibling tools like eda_sys_message_show_toast_message could serve a similar role.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_tool_netlist_comparisonC
sys_Tool.netlistComparison(netlist1: string | { projectUuid: string; documentUuid: string } | File, netlist2: string | { projectUuid: string; documentUuid: string } | File) -> Promise<Array<{ type: 'Net' | 'Component'; object: string; netlist1Name: Array; netlist2Name: Array }>> 网表对比 returns: 网表对比结果
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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, but it only provides a function signature and a short return label. It does not state whether the operation is read-only, what side effects occur, how errors are handled, or what role the active window/windowId plays. The return type is exposed but its meaning is not elaborated, leaving a significant transparency 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 with the type signature, containing no filler prose. The final 'returns: 网表对比结果' is somewhat redundant with the arrow return type, but the overall length is minimal and every other element carries information. It could be more human-readable, but it is appropriately terse.
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 effectively empty generic schema, no annotations, and no output schema, the description needed to explain how to supply netlists and how to interpret the returned differences. It offers only type signatures and a Chinese label, leaving the agent without guidance on input formats, output semantics, or windowId usage. This is insufficient for a two-input comparison 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 signature adds real parameter structure beyond the generic `args` array with empty `items {}`, namely the union types for netlist1/netlist2 and the output element shape. However, it does not explain what a string netlist represents (raw content, path, or reference), what the File type refers to, or how projectUuid/documentUuid identify sources. Thus the description partially compensates for the sparse schema but leaves key 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 function name and the Chinese label '网表对比' (netlist comparison) plus the typed signature make the purpose inferable: comparing two netlists and returning per-object name differences. It is distinguishable from sibling pcb/schematic comparison tools by the netlist resource. However, it never fully states in plain language that it compares two netlists and reports differences, relying instead on the name and terse 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?
There is no guidance on when to use this tool versus eda_sys_tool_schematic_comparison, eda_sys_tool_pcb_comparison, or the netlist getter tools like eda_sch_netlist_get_netlist. No selection conditions, prerequisites, or exclusions are mentioned. An agent must infer usage solely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_tool_pcb_comparisonC
sys_Tool.pcbComparison(pcb1: string | { projectUuid: string; pcbUuid: string } | File, pcb2: string | { projectUuid: string; pcbUuid: string } | File, options?: { valUnit?: ESYS_Unit.MIL | ESYS_Unit.MILLIMETER | ESYS_Unit.INCH | ESYS_Unit.CENTIMETER; deviation?: number; comparisonSize?: number }) -> Promise
PCB 对比
remarks: ADD since EDA v4.2
returns: PCB 对比响应:success = true 时 data 为对比结果;success = false 时 error 包含错误码与信息
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 states the return type (Promise<ISYS_PcbComparisonResponse>) and success/error handling, but does not disclose whether the operation is read-only, has side effects, requires specific permissions, or any behavioral traits like rate limits or state changes. The version note (ADD since EDA v4.2) is not behavioral.
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 signature front-loaded and only a few extra lines for version and return notes. There is minimal fluff, but the Chinese text may reduce clarity for non-Chinese readers. Structurally it is 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 complex (multiple input types, options, and a non-trivial response), yet the description only provides the signature and a high-level success/error note. It does not explain what the comparison result contains, how options affect behavior, or any operational context. With no output schema, this is a significant 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 adds the full type signature for pcb1, pcb2, and options with enums and types, which the generic input schema (only args array and windowId) does not provide. However, it only lists parameter names and types without explaining expected values, units, or the meaning of options like deviation or comparisonSize. This partially compensates for the schema's low coverage but lacks semantic depth.
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 performs PCB comparison (PCB 对比) with a specific function name pcbComparison. It distinguishes from sibling comparison tools (netlist, schematic) by naming 'PCB', though it doesn't explicitly contrast with them. The verb-resource pairing is clear.
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 alternative comparison tools like eda_sys_tool_netlist_comparison or eda_sys_tool_schematic_comparison. There is no mention of prerequisites, typical scenarios, or conditions that would make this tool the right choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_tool_schematic_comparisonC
sys_Tool.schematicComparison(schematic1: string | { projectUuid: string; schematicUuid: string } | File, schematic2: string | { projectUuid: string; schematicUuid: string } | File) -> Promise 原理图对比 returns: 原理图对比结果
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 of behavioral disclosure. It states the return type is a promise and result, but does not disclose side effects (e.g., whether it modifies documents, requires active window, or opens UI). It does not specify if it is read-only or if it performs analysis only. The description is minimal and does not explain destructive or mutating behavior, which is risky for a tool that might change state.
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 (two lines), and while concision is good, it omits essential information. It includes the function signature, which is partially duplicative of the input schema but not fully explanatory. The Chinese label '原理图对比' is redundant with the tool name. The description is under-specified rather than efficiently concise, as it does not earn its place by adding 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?
Given the complexity of three possible input types for each schematic and no output schema, the description is incomplete. It does not explain what the comparison result contains, or how to handle input types (e.g., file paths vs project references). The sibling tools for netlist and PCB comparison suggest a family, but without cross-referencing, the agent lacks sufficient context to invoke 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?
Schema coverage is 100%, but the 'args' parameter is an array of unspecified items with description '按官方签名顺序排列的JSON参数数组' (JSON parameter array in official signature order). The description provides no additional details on the structure of each element, which is critical because the signature indicates two schematics each can be string, object, or File. Without field-level details, the agent cannot know how to construct the args array 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 states '原理图对比' (schematic comparison) and returns '原理图对比结果', which indicates comparing two schematics. However, it does not specify what aspects are compared (e.g., netlist, primitives, layout) or how it differs from sibling tools like eda_sys_tool_netlist_comparison and eda_pcb_tool_pcb_comparison. The purpose is clear but not differentiated strongly.
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 specify when to use this tool versus the similarly named netlist comparison or pcb comparison. It lacks context about typical use cases, prerequisites (like open projects/schematics), or when to prefer alternatives. The agent would have to infer that this is for full schematic comparison, not just netlists or PCBs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_unit_get_frontend_data_unitB
sys_Unit.getFrontendDataUnit() -> Promise<ESYS_Unit | undefined> 获取 EDA 前端数据单位跨度 remarks: 此处指的是前端用户可以切换的单位,需要同时兼容原理图和 PCB 画布 returns: 单位
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must fully disclose behavior. It states the return type (Promise<ESYS_Unit | undefined>) and cross-canvas compatibility, but does not mention that this is a read-only operation, any side effects, prerequisites (e.g., whether a windowId is needed), or error conditions. Significant behavioral 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 signature, purpose, remarks, and returns in a compact layout. It is front-loaded with the signature and includes the key compatibility context. Could be slightly cleaner (mixed language, redundant 'returns' line), but overall 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?
No output schema exists, so the description should clarify the return structure. It only says 'returns: 单位' without detailing the ESYS_Unit type or the possible undefined case. It also doesn't explain how windowId affects the result or mention exceptions. For a simple getter, this is moderate but 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 100% (both `args` and `windowId` have descriptions), so the baseline is 3. The tool description adds no further meaning about parameters; it only repeats the generic 'official signature order' for args and the windowId usage already captured 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 verb ('获取' - get) and resource ('前端数据单位' - frontend data unit), and the remark clarifies it refers to the user-switchable unit used across both schematic and PCB canvases. This distinguishes it from the sibling unit conversion tools, though the term '跨度' (span) is slightly ambiguous.
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 remark '需要同时兼容原理图和 PCB 画布' implies this tool is the general getter for the current unit in any canvas, providing some context. However, it lacks explicit guidance on when to use this tool versus the conversion tools (e.g., eda_sys_unit_inch_to_mm), and no when-not 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.
eda_sys_unit_inch_to_milA
sys_Unit.inchToMil(inch: number, numberOfDecimals?: number) -> number 单位转换:英寸到密尔 returns: 输出密尔数
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 exposes the signature, optional decimal parameter, and return unit, but it does not explain how numberOfDecimals behaves, what the default precision is, or whether rounding occurs. The core conversion behavior is clear, but the optional behavior is under-specified.
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 compact: a full signature, a one-line purpose, and a return statement. There is no filler, and the essential 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?
For a simple pure conversion function, the description gives enough to call it correctly: input units, output units, signature, and return type. The main gap is the lack of detail about the optional numberOfDecimals parameter, but the low complexity and absence of side effects keep the completeness high.
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's args array is generic, so the description adds essential meaning by giving the official signature 'inch: number, numberOfDecimals?: number'. This tells the agent the first argument is the inch value and the second is optional, though it does not define the exact default or precision behavior of numberOfDecimals.
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 this converts inches to mils via the method signature and the Chinese '单位转换:英寸到密尔' plus '输出密尔数'. This precisely distinguishes it from the many sibling unit-conversion tools, such as inch_to_mm or mil_to_inch.
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 by the clear inch-to-mil conversion semantics, but there is no explicit statement about when to choose this tool over the sibling conversion utilities. For a pure conversion function, the intent is reasonably inferable, but no alternatives or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_unit_inch_to_mmA
sys_Unit.inchToMm(inch: number, numberOfDecimals?: number) -> number 单位转换:英寸到毫米 returns: 输出毫米数
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description reveals only that it converts inches to millimeters and returns a number. It does not disclose behavior regarding the numberOfDecimals parameter, default rounding, precision limits, or whether the windowId parameter affects execution. With no annotations to fill this gap, the description carries the full burden and falls short.
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 brief and front-loaded with the signature orienting the agent immediately. The Chinese text and 'returns' line are redundant but not harmful; it earns high marks for not wasting words, though the inclusion of the signature might be seen as slightly redundant with 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 simple conversion tool, the description is nearly adequate, but it omits details about the optional numberOfDecimals parameter's effect (e.g., rounding, default precision) and does not mention the windowId parameter present in the schema. An agent might make incorrect assumptions about the optional parameter's 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?
The description includes the function signature with parameter names, types, and the return type, which the schema's args array does not specify. It clarifies that 'inch' is a number and 'numberOfDecimals' is optional, adding meaningful detail beyond the generic 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 converts inches to millimeters, with a specific function signature and output type. It is unambiguous and easily distinguished from sibling unit conversion tools like eda_sys_unit_inch_to_mil or eda_sys_unit_mm_to_inch.
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 via the conversion context but does not explicitly state when to use this tool versus other unit converters. There's no mention of scenarios or exclusions, but the simple nature of the task makes the intended use fairly obvious.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_unit_mil_to_inchA
sys_Unit.milToInch(mil: number, numberOfDecimals?: number) -> number 单位转换:密尔到英寸 returns: 输出英寸数
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It states the return value ('returns: 输出英寸数') and the conversion behavior, which is helpful. However, it does not explain what numberOfDecimals does, rounding behavior, or confirm that this is a pure calculation with no 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 compact: a signature, a one-line purpose, and a one-line return note. It is front-loaded and contains no filler or redundant prose.
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 pure conversion tool, the description is nearly sufficient and covers the core purpose and return. However, it omits an explanation of the optional decimal parameter and does not position the tool relative to its sibling converters, leaving a small but real 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 schema only exposes an opaque 'args' array, so the description's signature adds parameter names, types, and order. That is useful, but it does not explain the meaning of numberOfDecimals beyond its name, and the schema coverage baseline is already high.
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 explicitly states the conversion direction ('单位转换:密尔到英寸' / mil to inch) and provides the exact function signature. This clearly distinguishes it from sibling converters like eda_sys_unit_inch_to_mil and eda_sys_unit_mil_to_mm.
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 the other unit-conversion siblings, and no context or exclusions are provided. It is a bare description of what the function does, 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.
eda_sys_unit_mil_to_mmA
sys_Unit.milToMm(mil: number, numberOfDecimals?: number) -> number 单位转换:密尔到毫米 returns: 输出毫米数
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the core behavior (converts mils to millimeters) and the return type (number), but gives no detail on how numberOfDecimals affects the result, rounding behavior, or handling of invalid inputs. With no annotations to provide safety or side-effect information, this minimal behavioral disclosure is adequate for a pure conversion 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 terse: one signature line followed by two short Chinese phrases. It front-loads the essential function signature, avoids any redundant content, and every part 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 low-complexity unit conversion, the signature and return type cover most needs. An agent can infer the argument order from the signature and the schema note about 'official signature order'. The description does not explicitly clarify how to pass parameters or what numberOfDecimals does, but these are minor gaps for such a simple 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 input schema only describes a generic 'args' array and windowId, providing no semantics for the actual parameters. The description adds the typed signature (mil as number, numberOfDecimals as optional number), which is essential for constructing the args array correctly. It does not fully explain the meaning of numberOfDecimals, but the parameter name and optional marker give meaningful context 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?
The description provides the exact function signature 'sys_Unit.milToMm(mil: number, numberOfDecimals?: number) -> number' and states the conversion in Chinese ('单位转换:密尔到毫米', meaning mil to mm), which clearly identifies the tool's action and resource. It is distinguishable from sibling unit conversion tools by the explicit unit pair in both the name and description, though the Chinese phrasing may reduce clarity for non-Chinese-reading agents.
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 eda_sys_unit_inch_to_mm or eda_sys_unit_mm_to_mil. The description does not mention any conditions, prerequisites, or exclusions, leaving the agent to infer usage solely from the name and signature.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_unit_mm_to_inchA
sys_Unit.mmToInch(mm: number, numberOfDecimals?: number) -> number 单位转换:毫米到英寸 returns: 输出英寸数
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 reveals that the tool takes a number and returns a number, and the signature indicates a pure conversion function. However, it does not explicitly state that the operation has no side effects on any document, nor does it describe rounding behavior, decimal handling, or error cases. For a simple math utility this is a minor gap, but 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 compact and front-loaded with the conversion direction and signature. There is minor redundancy between the signature's '-> number' and the separate 'returns: 输出英寸数' line, but no wasted words overall. It is easy to scan and understand 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?
For a simple unit conversion without an output schema or annotations, the description covers the core facts: conversion direction, parameters, and return type. However, it omits details about the windowId parameter (which appears in the schema), precision behavior, and the fact that this is a side-effect-free utility. These omissions are notable but not critical given the tool's simplicity.
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's args array has empty items ({}), so the actual parameters mm and numberOfDecimals are not described in the schema at all. The description compensates by providing the complete signature with parameter names, types, and optionality. It does not elaborate on the meaning of numberOfDecimals beyond its name, but it adds essential information that the schema omits.
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 explicitly states '单位转换:毫米到英寸' (unit conversion: millimeters to inches) and provides the exact function signature sys_Unit.mmToInch(mm: number, numberOfDecimals?: number) -> number. This clearly distinguishes it from sibling tools like eda_sys_unit_inch_to_mm or eda_sys_unit_mil_to_mm by specifying the exact conversion direction.
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 a millimeters-to-inches conversion is needed) through its stated purpose, but it offers no explicit guidance about alternatives or exclusions. It does not compare itself to the many sibling unit-conversion tools, leaving the agent to infer usage from the name and conversion direction rather than being directly told.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_unit_mm_to_milA
sys_Unit.mmToMil(mm: number, numberOfDecimals?: number) -> number 单位转换:毫米到密尔 returns: 输出密尔数
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 conveys that the tool is a pure conversion returning a number, which is adequate for a simple utility. It does not explain rounding behavior or the exact effect of numberOfDecimals, but the operation itself is transparent enough from the signature.
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 the function signature, followed by the conversion intent and return value. There is slight redundancy between the signature's '-> number' and the explicit 'returns: 输出密尔数', but no wasted or irrelevant 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?
For a low-complexity conversion tool with no annotations and no output schema, the description supplies the essential calling information: parameter names, types, order, optionality, and return unit. The only minor gap is the lack of explicit explanation of how numberOfDecimals affects the result.
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?
Although the context reports 100% schema coverage, the args array items are empty, so the actual parameter semantics rely on the description. The signature adds meaningful meaning by giving parameter names, types, order, and the optional marker for numberOfDecimals, which the schema alone does not provide.
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 operation: converting millimeters to mils, reinforced by both the signature 'sys_Unit.mmToMil(mm: number, numberOfDecimals?: number) -> number' and the Chinese phrase '单位转换:毫米到密尔'. It is distinct from the broader sibling family because it names the exact conversion direction, though it does not explicitly reference 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?
The description implies usage: use this tool when converting a millimeter value to mils. However, it provides no explicit guidance about when to choose this tool over sibling unit-conversion tools such as eda_sys_unit_inch_to_mm or eda_sys_unit_mil_to_mm.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_web_socket_closeA
sys_WebSocket.close(id: string, code?: number, reason?: string, extensionUuid?: string) -> void
关闭 WebSocket 连接
remarks: 注意:本接口需要使用者启用扩展的外部交互权限,如若未启用将始终 throw Error
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the burden. It usefully discloses an important auth failure mode (`未启用将始终 throw Error`) and the void return, but it does not explain what happens to the connection state, whether closing is reversible, or how invalid or missing ids are handled.
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 compact lines: the canonical signature, a one-line Chinese purpose statement, and a critical permission caveat. No filler or repeated schema 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?
For a simple close operation with no output schema, the description covers the core call and the main prerequisite. However, with no annotations and no explicit lifecycle context or failure semantics beyond the permission error, an agent cannot fully predict behavior in edge 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?
Schema description coverage is 100%, setting the baseline at 3. The signature adds the names, types, and optionality of the arguments inside the opaque `args` array, which the schema alone does not enumerate, but it gives no semantic meaning for `code`, `reason`, or `extensionUuid` beyond their 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 gives the exact API signature `sys_WebSocket.close(id, code?, reason?, extensionUuid?)` and states in Chinese that it closes a WebSocket connection (`关闭 WebSocket 连接`). The action is a specific verb plus resource, and it is unambiguous against the closely related sibling tools `eda_sys_web_socket_register` and `eda_sys_web_socket_send`.
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 the sibling register/send tools or about the WebSocket lifecycle. The permission warning is a prerequisite, not usage direction, so an agent is left to infer from the name that this is the counterpart to `eda_sys_web_socket_register` and `eda_sys_web_socket_send`.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_web_socket_registerA
sys_WebSocket.register(id: string, serviceUri: string, receiveMessageCallFn?: (event: MessageEvent) => void | Promise, connectedCallFn?: () => void | Promise, protocols?: string | Array) -> void 注册 WebSocket 连接 remarks: 可以用来执行前检测 WebSocket 连接是否正常,但需要注意 不要尝试相同 ID 不同参数的连接,这会造成混乱: 如果存在指定 ID 且处于活跃状态中的 WebSocket 连接,那么其余参数的变更将不会被应用
注意:本接口需要使用者启用扩展的外部交互权限,如若未启用将始终 throw Error
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 permission requirement (external interaction permission) and that it will throw an Error if not enabled. It also warns about the same-ID behavior where parameter changes are ignored if a connection is already active. These are critical behavioral details for safe invocation.
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 mix of signature and remarks. It's reasonably concise, front-loads the signature, and then gives important caveats. The length is justified by the need to convey the same-ID warning and permission requirement. 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 action, parameters, a key use case (testing connection), the permission requirement, and the same-ID pitfall. It lacks details about callback signatures and protocol usage, but these are standard WebSocket concepts. For a registration tool without an output schema, this is sufficiently complete 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?
The input schema has 100% coverage with 'args' and 'windowId' descriptions, but the 'args' description only states it's a JSON array in signature order. The description provides the full function signature with parameter names and types, which adds some meaning beyond the schema. However, it doesn't explain the purpose of each parameter (e.g., what id represents, how callbacks are used). This is adequate but not deep.
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 registers a WebSocket connection with specific parameters (id, serviceUri, callbacks, protocols). It names the resource and verb explicitly, and the signature clarifies what the tool does. However, it doesn't explicitly contrast with the sibling close/send tools, relying on the name and 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 remarks provide usage context: it can be used to test connection health before execution, and warns against reusing the same ID with different parameters. It doesn't explicitly say 'use this instead of eda_sys_web_socket_close or send', but the purpose is clear. The guidance is helpful but not exhaustive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_web_socket_sendA
sys_WebSocket.send(id: string, data: string | Blob | BufferSource, extensionUuid?: string) -> void
向 WebSocket 服务器发送数据
remarks: 注意:本接口需要使用者启用扩展的外部交互权限,如若未启用将始终 throw Error
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 a critical failure mode (throws Error without permission), which is valuable. It also conveys the void return and accepted data types via the signature. This exceeds minimal disclosure, though it could add details about connection state requirements 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 compact: a signature line and two short sentences, with the critical permission warning placed right after the action. Every sentence adds value, and the structure is front-loaded with the most important 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?
For a WebSocket send operation with no annotations, the description covers the essential purpose, signature, and a key prerequisite. It omits details like connection status prerequisites or error handling beyond throwing, but the void return type is indicated)Skip. Overall, it provides enough for an agent to invoke the call correctly 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 includes the full signature with parameter names, types, and optionality (id, data, extensionUuid?), which adds meaning beyond the schema's generic 'args' array. The schema only lists 'args' and 'windowId' with minimal descriptions, so the signature is essential for understanding correct parameter ordering and types. This compensates well for the schema's sparse detail.
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 clearly: '向 WebSocket 服务器发送数据' (send data to WebSocket server), and provides the full function signature. It differentiates from sibling WebSocket tools like close and register by naming the send operation explicitly, though it does not name those siblings directly.
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 key usage condition: the extension must have external interaction permission enabled, otherwise the call always throws an Error. However, it does not explicitly describe when to use this tool versus alternatives (e.g., register/close), nor does it provide exclusions. The permission prerequisite is useful but not a full routing guide.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_window_add_event_listenerA
sys_Window.addEventListener(type: ESYS_WindowEventType, listener: (ev: any) => any, options?: { capture?: boolean; once?: boolean; passive?: boolean; signal?: AbortSignal }) -> ISYS_WindowEventListenerRemovableObject | undefined
新增事件监听
returns: 事件监听方法,用于移除事件监听,如若为 undefined 则表示创建事件监听失败
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description carries the full burden. It discloses that the return value is an 'ISYS_WindowEventListenerRemovableObject' used to remove the listener, and that `undefined` indicates failure. This gives some behavioral context (the operation may fail, and the returned object is for removal). However, it does not mention whether adding a listener is idempotent, what happens if the listener already exists, or any side effects beyond registration. Partial 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 not well-structured: it leads with a raw signature, then a one-line Chinese statement, then a 'returns' line. It is not front-loaded with a clear purpose statement; the signature itself is informative but the layout is messy and mixes code with prose. It is relatively short but could be organized more clearly.
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 is fairly complete for a listener registration: it gives the signature, return type, and failure semantics. However, it does not enumerate the possible event types (ESYS_WindowEventType values) or explain the options in detail (though they are standard). It also does not mention the corresponding removal tool (eda_sys_window_remove_event_listener) or clarify whether the same listener can be added multiple times. These gaps could confuse an agent, especially since there is no 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 provides only generic descriptions: 'args' is '按官方签名顺序排列的JSON参数数组' (JSON parameter array in official signature order) and 'windowId' is explained. The description adds significant meaning by showing the exact signature: type, listener, and options, including types and structure. This goes beyond the schema's vague 'args' description, enabling the agent to construct the array correctly. Schema coverage is 100%, but the description enriches 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 clearly states the action: adding an event listener to a window via 'sys_Window.addEventListener' and the Chinese '新增事件监听' (add event listener). It specifies the resource (window) and the verb (add), and the signature includes the event type and listener callback. This distinguishes it from sibling event-listener tools that target different scopes (e.g., eda_sch_event_add_mouse_event_listener for schematic, eda_pcb_event_add_* for 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?
There is no explicit guidance on when to use this tool versus alternatives. The description does not mention that other event-listener tools exist for other scopes, nor does it state when to use this one (e.g., 'for window-level events'). The purpose is implied by the name and signature, but no when/when-not or alternative comparison is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_window_get_current_themeB
sys_Window.getCurrentTheme() -> Promise 获取当前主题 remarks: 获取当前 EDA 主题,浅色 或 深色 returns: 当前主题
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 discloses that the tool returns the current theme and specifies the possible values (light/dark). However, it doesn't mention whether this is a read-only operation, whether it can fail, or any side effects. For a simple getter, this is adequate 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 concise, with the core purpose front-loaded and the remarks/returns sections adding relevant detail. It's appropriately sized for a simple getter tool, though the Chinese text is somewhat repetitive ('获取当前主题' appears twice).
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 getter with no output schema, the description covers the return type and possible values. It doesn't explain the windowId parameter's effect on the result or whether the theme is per-window or global, which could matter for correct invocation. Overall adequate but with minor 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 100%, so the schema already documents both parameters (args and windowId). The description adds no parameter-specific meaning beyond what the schema provides. Baseline 3 is appropriate.
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 and resource: '获取当前主题' (get current theme) and clarifies the return type as ESYS_Theme with possible values 浅色 (light) or 深色 (dark). This is clear and distinct from siblings, though it doesn't explicitly name a sibling alternative.
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 context: it retrieves the current EDA theme, which is a read-only query. It doesn't explicitly state when to use this vs alternatives, but among the sibling tools, none are theme-related, so the context is fairly clear. 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.
eda_sys_window_get_url_anchorC
sys_Window.getUrlAnchor() -> string 获取 URL 锚点 returns: URL 锚点值
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 states only the return type (string) and that the return value is the URL anchor value, which is essentially a restatement of the purpose. It omits what an anchor is (the # fragment), edge-case behavior when no anchor exists, and how the windowId parameter affects which window's anchor is read.
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 lines with the signature and purpose front-loaded. There is minor redundancy from bilingual duplication ('获取 URL 锚点' and 'returns: URL 锚点值' convey nearly the same information), but it is appropriately sized for a trivial getter with no wasted sentences.
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 low-complexity read tool with no output schema, the description does state the return type and value, and the schema fully documents the parameters. However, with no annotations and no output schema, it leaves gaps: it never defines what constitutes a URL anchor, describes edge cases, or notes whether any window context is required. Close to 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 100% (both args and windowId are documented in the schema), so the baseline is 3. The description's signature 'sys_Window.getUrlAnchor()' hints that the underlying API takes no positional arguments, implying the args array should be empty, which adds slight value beyond the schema, but this requires inference.
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: '获取 URL 锚点' (get URL anchor) with the explicit method signature 'sys_Window.getUrlAnchor() -> string'. This is clear and specific enough to be distinguished from the sibling eda_sys_window_get_url_param, since it names the anchor rather than a parameter, though it stops short of explicitly differentiating itself.
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. It does not mention when to prefer it over get_url_param, get_viewport_size, or other window getters, and gives no conditions, prerequisites, or exclusions. The usage context must be inferred entirely from the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_window_get_url_paramB
sys_Window.getUrlParam(key: string) -> string | null 获取 URL 参数 returns: 参数值
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 does reveal that the return type is string | null, which is valuable because it indicates a possible null return when the parameter is absent. However, it does not mention whether the tool can throw errors, how it handles missing keys beyond returning null, or any side effects. The return type hint adds some transparency but not extensive behavior 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 extremely brief, comprising a signature and two short Chinese lines. It is concise with no redundant content, though it could be better structured—for example, a clear description in English and a usage note would improve clarity. The brevity is efficient, but it 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?
The tool is simple with only one functional parameter (key). The description states the return type and that it returns the parameter value, which covers the output expectations. However, it does not provide an example, explain what constitutes a valid 'key', or clarify how the args array should be populated beyond the schema. Given the low complexity and full schema descriptions, the description is minimally adequate but lacks illustrative detail.
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 100% for both parameters; the args array is described as 'JSON parameter array in official signature order' and windowId as 'target EDA window ID; omit for current active window'. The description adds a function signature showing key: string, which helps map the conceptual key to the args array, but it does not elaborate beyond that. Since the schema already documents the parameters adequately, a baseline of 3 is appropriate.
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 it gets a URL parameter and returns the parameter value. The verb 'get' and the resource 'URL parameter' are specific, and the tool name clearly indicates its function. It is distinguishable from siblings like eda_sys_window_get_url_anchor and eda_sys_window_get_viewport_size, though it does not explicitly contrast 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?
There is no guidance on when to use this tool versus alternatives, nor any mention of context such as needing a query string or that it is a read-only getter. The description simply states what it does without any usage rules, prerequisites, or exclusions. An agent would have to infer the appropriate context from the name and schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_window_get_viewport_sizeB
sys_Window.getViewportSize() -> { width: number; height: number } 获取页面当前视口大小 remarks: ADD since EDA v3.2.162 returns: 视口宽高(单位:像素)
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description must disclose behavior. It mentions the return format and that it returns a value, which implies a read-only operation. However, it doesn't state whether it can fail or any side effects, but for a getter, the behavior is fairly apparent.
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 function signature and return type front-loaded, and additional remarks in Chinese. It's efficient, though it mixes English and Chinese which might be less ideal, but it's 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?
For a simple getter with no output schema and 2 optional params, the description is mostly complete. It could clarify that the viewport is for the current active window by default, and whether 'args' is required. But it's adequate for basic 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 coverage is 100% for both parameters: 'args' and 'windowId' are described. The description adds little beyond that, but the schema is sufficient for agent use. The description doesn't explicitly explain the args array, but the schema covers 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 clearly states that the tool gets the current viewport size, with a specific return type and unit (pixels). It distinguishes from many other window tools, though not explicitly from siblings, but the verb and resource are clear.
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 viewport dimensions, and the windowId parameter implies it can target a specific window. No explicit exclusions or when-not-to-use cases, but it's a simple getter where context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_window_hide_start_page_quick_start_itemsA
sys_Window.hideStartPageQuickStartItems(items: Array) -> Promise 隐藏开始页快速启动选项 remarks: 隐藏开始页快速启动模块中的指定项
注意 1:本接口需要使用者启用扩展的外部交互权限,如若未启用将始终 throw Error
注意 2:本接口为私有化部署版本专用接口,如若在其它版本调用将始终 throw Error
ADD since EDA v3.2.162
returns: 是否全部隐藏成功(若存在未知项或已隐藏的项则返回 false)
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 clearly discloses critical behavioral traits: requires extended external interaction permission (otherwise throws), only works in private deployment version (otherwise throws), and specifies return semantics (false if any item unknown or already hidden). This is rich 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 well-structured with clear sections: signature, remarks, warnings, version, and returns. It is front-loaded with the main purpose and signature. Each section adds necessary value: warnings are crucial for agent behavior, and the returns clarification is helpful. Slightly verbose but 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 (requires permission and private deployment, has specific return conditions), the description provides all necessary context: signature, permission requirements, deployment constraints, and return value semantics. The schema covers parameters, and the output schema is absent but the description explains the boolean return. No critical missing information that an agent needs to call 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 covers 100% of parameters, but the description adds critical semantics for the 'items' parameter by clarifying it refers to ESYS_StartPageQuickStartItem objects and explaining the return behavior based on item states. The description also effectively documents the 'windowId' parameter in the signature, though the schema already covers 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 clearly states the verb 'hide' and resource 'start page quick start items', and includes the signature with parameter types. It differentiates from the sibling 'eda_sys_window_hide_start_page_support_float_bar_items' by targeting quick start items specifically, though it doesn't explicitly name the sibling.
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 context (hiding specific items from the start page quick start module) but doesn't specify when to use this versus alternatives, nor does it mention prerequisites beyond the permission and private deployment notes. It provides no explicit 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.
eda_sys_window_hide_start_page_support_float_bar_itemsA
sys_Window.hideStartPageSupportFloatBarItems() -> Promise 隐藏开始页支持信息悬浮组件 remarks: 隐藏开始页右侧悬浮组件(微信、客服、电话、反馈)
注意 1:本接口需要使用者启用扩展的外部交互权限,如若未启用将始终 throw Error
注意 2:本接口为私有化部署版本专用接口,如若在其它版本调用将始终 throw Error
ADD since EDA v3.2.162 returns: 是否隐藏成功
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description carries full responsibility for behavioral disclosure. It clearly states that the interface throws an Error if the extension's external interaction permission is not enabled, and throws an Error if called on non-private deployment versions. It also mentions the return value (boolean indicating success). This is strong transparency for a mutation-like UI operation, though it doesn't describe side effects beyond the hiding 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 well-structured with bullet-pointed notes, front-loading the core action and details. It includes code-like signature and remarks succinctly. Slightly verbose with the Chinese translation, but every part serves an informational purpose. It could be trimmed but remains 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?
For a UI-hiding tool with two optional parameters and a boolean return, the description covers essential behavior: prerequisites (permission, version), return semantics, and targeted components. It lacks details about side effects or whether the action is persistent, but given the tool's simplicity and the schema's coverage, it's largely complete 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?
The input schema has 100% coverage for its two parameters: 'args' and 'windowId', with descriptions. The description doesn't add much beyond the schema, as it doesn't elaborate on the 'args' format or the specific behavior for 'windowId'. Baseline of 3 applies because schema is complete, but the description could clarify parameter usage (e.g., how to specify windowId) which isn't critical.
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 (hide floating support bar items on the start page) and identifies the specific components (WeChat, customer service, phone, feedback). It adds context beyond the name by specifying 'right-side floating components'. However, it doesn't explicitly distinguish from siblings like 'hide_start_page_quick_start_items', which is a similar hide-operation on the same page, so it could be clearer on 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?
The description provides some context by listing the specific components hidden, but doesn't explicitly state when to use this tool versus alternatives, nor does it mention any prerequisites beyond the extension permission and private deployment version. There's no explicit 'when not to use' or comparison with sibling tools like 'hide_start_page_quick_start_items', so the agent must 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.
eda_sys_window_openC
sys_Window.open(url: string, target?: ESYS_WindowOpenTarget) -> void 打开资源窗口
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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. The description only states the function signature and a brief Chinese phrase '打开资源窗口' (open resource window). It does not disclose side effects, whether it navigates the current window, opens a new tab, requires authentication, or what happens on failure. For a tool that opens a window, 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 very short, essentially a signature and a one-line Chinese summary. It is concise but under-specified. The signature is front-loaded, which is good, but the Chinese phrase adds minimal value and the description lacks any additional context that would help an agent. It is not verbose, but it is too sparse to be considered 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 (opening a window with a URL and target), the description is incomplete. There is no output schema, no annotations, and no explanation of the return value or side effects. The description does not clarify what 'resource window' means, what URL formats are accepted, or how the target parameter behaves. An agent would likely need to guess or consult external 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?
Schema description coverage is 100%, so the schema already documents the two parameters: args (JSON array in official signature order) and windowId (target EDA window ID, optional). The description adds the function signature showing url and target parameters, which helps map to the args array, but it does not explain the ESYS_WindowOpenTarget enum values or the expected format of the url. Baseline 3 is appropriate since the schema does the heavy lifting.
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 ('open') and resource ('resource window'), and includes the function signature with parameters. It is clear that this tool opens a resource window with a URL. However, it does not explicitly differentiate from sibling tools like eda_sys_window_open_ui, which also involves opening a window/UI, so it loses a point for lack of sibling 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?
The description provides no guidance on when to use this tool versus alternatives. It does not mention any exclusions, prerequisites, or conditions. The sibling list includes eda_sys_window_open_ui and other window-related tools, but the description does not clarify the distinction, 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.
eda_sys_window_open_uiC
sys_Window.openUI(uiName: string, args?: Record<string, any>) -> Promise 打开 UI 窗口 remarks: 非公开接口使用提醒:本接口按原样提供,不提供参数的额外文档,参数可能在任何版本出现破坏性更改并不另行通知
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden. It warns that the interface is provided as-is and parameters may break, but it does not describe side effects, what 'opening' does to the current window, permission requirements, or failure behavior beyond returning a Promise.
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 the signature and one-line purpose, followed by a short caveat. It is appropriately sized, though the mixed language and terse framing keep it from being exemplary.
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 does not explain how to populate the positional `args` array with `uiName`, does not clarify the relationship to the `windowId` field, gives no example, and provides no side-effect or return-behavior detail. The `Promise<void>` return is disclosed, but the overall context is incomplete for a tool with no annotations and no 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 100%, so the baseline is 3. The description adds the function signature, but it introduces ambiguity: it says `args` is a `Record<string, any>` while the schema defines `args` as an array, and the `uiName` parameter appears only in the description, not in the schema. This 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 provides a concrete function signature `sys_Window.openUI(uiName: string, args?: Record<string, any>)` and states in Chinese that it opens a UI window ('打开 UI 窗口'). The verb and resource are clear. It does not explicitly distinguish itself from sibling window tools like `eda_sys_window_open`, so it stops 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 given on when to use this tool versus alternatives, and no sibling tool is mentioned. The remark only warns that the interface is non-public and may change without notice, which is a stability caveat, not a usage guideline.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_window_remove_event_listenerC
sys_Window.removeEventListener(removableObject: ISYS_WindowEventListenerRemovableObject) -> void 移除事件监听
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 only repeats that the tool removes an event listener and returns void; it does not say what happens to the listener object, whether removal is idempotent, whether removal from a non-active window is supported, or what errors might occur. This is minimal behavioral information for a mutating 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 extremely short but redundant: the Chinese phrase '移除事件监听' simply restates 'removeEventListener' from the signature. While concise, neither sentence earns its place by adding operational context, and the duplication reduces structural quality.
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 no output schema, the description is incomplete. It does not explain the required removableObject parameter's origin, the meaning of windowId in this context, or how this tool relates to its sibling event-listener tools. An agent would struggle to call it correctly beyond guessing from the 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 already documents windowId clearly and has 100% coverage at a basic level. The description's signature adds value by revealing the first parameter's name and type (removableObject: ISYS_WindowEventListenerRemovableObject), which the generic args array in the schema does not convey. However, it does not explain what this object is or how to acquire 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 states the action clearly: remove an event listener from the system window, and provides the exact API signature with the resource (sys_Window). The tool name and signature make the domain clear, though it does not explicitly differentiate itself from other remove_event_listener siblings such as eda_dmt_event_remove_event_listener or eda_sch_event_remove_event_listener.
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 about when to use this tool versus the many sibling event-listener removal tools, nor does it explain that it pairs with eda_sys_window_add_event_listener or how to obtain the removableObject. There is no exclusion or alternative mentioned, leaving the agent to infer the usage scope from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_window_url_push_stateC
sys_Window.urlPushState(url: string) -> void 追加新的 URL 历史记录栈信息
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
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 states that it adds a new URL history entry, but does not mention side effects like navigation behavior, whether it changes the browser URL, impact on back/forward buttons, or if it requires a specific window context. The description essentially restates the function name without additional insight into its operational 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 with a single signature line and one sentence of Chinese text. It is not bloated, but it is under-specified: it lacks any contextual framing or differentiation from similar tools. It is minimal but not necessarily well-structured for an agent, as it does not front-load the most decision-relevant information (e.g., when to use push vs replace).
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 push-state operation, the description is minimally adequate, but it does not explain the behavioral implications (e.g., how it affects navigation history, whether it triggers a page load, or how it interacts with windowId). Given there is no output schema and no annotations, more context would be expected to fully guide an agent, especially to differentiate from the replace_state sibling.
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 100%, with both args (JSON parameter array in official signature order) and windowId (target window ID, optional) documented in the schema. The description adds no extra semantic detail about the url parameter or how it should be formatted, but the schema already provides adequate coverage. Baseline 3 is appropriate when schema handles 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 states the operation clearly: 'sys_Window.urlPushState(url: string) -> void' and '追加新的 URL 历史记录栈信息' (add new URL history stack info). It names the specific action (push new history entry) and the resource (window URL history). However, it does not explicitly distinguish it from the sibling eda_sys_window_url_replace_state, which would clarify the difference between push and replace.
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 that push should be used when you want to add a new history entry (enabling back navigation) as opposed to replace_state which overwrites the current entry. No usage context, prerequisites, or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eda_sys_window_url_replace_stateC
sys_Window.urlReplaceState(url: string) -> void 修改当前的 URL 历史记录栈信息
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | 按官方签名顺序排列的JSON参数数组 | |
| windowId | No | 目标EDA窗口ID;省略时使用当前活动窗口 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden of behavioral disclosure. It only says 'modify URL history stack info', which is vague. It does not explain that it replaces the current entry without adding a new one, nor does it mention side effects like navigation or page reload, or any error conditions. This is insufficient 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 very short, which is concise, but the Chinese sentence is vague and does not convey the precise behavior. The signature is front-loaded, which is helpful, but the rest adds little. It is not overly verbose, so it earns a middle score.
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 no output schema, the description omits critical details: how to structure the args array, the distinction from push_state, and the exact effect on the browser history. The optional windowId parameter is also not explained in the description. An agent would struggle to invoke this correctly without additional 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?
The description includes the function signature 'url: string', which adds the type and order of the primary parameter. However, it does not clarify how the url should be passed inside the 'args' array defined in the schema. The schema descriptions are generic ('JSON parameter array in official signature order'), so the description only partially compensates. Since schema coverage is 100%, a baseline of 3 is appropriate.
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 as 'modify the current URL history stack information', which is a clear verb-resource pair, but it does not explicitly state that this replaces the current entry rather than adding a new one. The tool name includes 'replace_state', which hints at the behavior, but the description itself is ambiguous and does not differentiate from the sibling push_state tool. This is more than a tautology but lacks 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 description provides no guidance on when to use this tool versus alternatives such as eda_sys_window_url_push_state. It does not mention any context or exclusions, leaving the agent to infer the appropriate use case from the name alone. This is a clear gap for a tool with a close sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_console_logsA
获取嘉立创EDA浏览器控制台日志。可独立调用;若当前尚未建立控制台监听,会自动连接浏览器并启动监听。支持按类型/关键词过滤,可指定返回条数,可选择获取后清空。
| Name | Required | Description | Default |
|---|---|---|---|
| clear | No | 获取后是否清空日志缓存,默认false | |
| count | No | 返回最近N条日志,默认50条 | |
| filter | No | 过滤关键词,匹配日志类型或内容(如 error、warn、某个函数名) | |
| browserPath | No | 浏览器可执行文件的绝对路径(如 Edge、Chrome),不传则自动检测 |
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 it adds valuable behavioral context: it discloses that the tool can be invoked independently, that it may auto-connect to the browser and start monitoring if no listener is active, and that it can optionally clear the log cache after retrieval. It does not discuss whether starting a listener has side effects or interrupts existing listeners, but for a diagnostic tool the disclosed behaviors are reasonable.
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 core purpose first, then the auto-connect behavior, then the filtering/count/clear options. It is informative and not bloated, though it could be slightly improved by separating the filtering features from the side-effectful auto-connect clauses.
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 explains the tool's triggering behavior and parameter options, which is generally sufficient for an optional-parameter diagnostic tool. However, there is no output schema, so the return format of the logs is not documented, and the description does not clarify whether logs are returned as a list of strings, objects, or with timestamps. Since the tool is likely to be used for debugging, describing the result format would add value.
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 100%, so the schema already documents all four parameters (clear, count, filter, browserPath) with descriptions. The tool description adds no semantic detail beyond the schema, and while it restates the filtering and count capabilities in prose, it does not add format constraints or examples. A baseline 3 is appropriate since the schema carries the parameter 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 Chinese description names a specific verb and resource — retrieving the JLC EDA browser console logs — and distinguishes it from sibling logging tools like eda_sys_log_find (which searches the extension log) and eda_sys_log_export (which exports it). It also specifies that this tool can be invoked standalone and will auto-connect the browser and start listening if no console listener exists yet, making its 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 clearly states when to use the tool (to fetch browser console logs, standalone) and the supporting behaviors it triggers (auto-connect, start listener). However, it does not explicitly explain when not to use it or name alternatives such as eda_sys_log_find/eda_sys_log_export for extension logs, which would be useful to disambiguate the console-log scope.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
import_pluginA
导入插件到嘉立创EDA并开启浏览器控制台监听。插件文件通常位于项目的 build/dist 目录下,后缀为 .eext。调用前请先确认 pluginPath 指向该目录下的 .eext 文件。自动打开浏览器访问立创EDA,如果未登录会弹出扫码登录页面等待用户扫码,登录后自动执行:高级→扩展管理器→上传插件文件→导入。登录状态会缓存,下次无需重复登录。导入后可通过 get_console_logs 获取控制台输出。
| Name | Required | Description | Default |
|---|---|---|---|
| pluginPath | Yes | 插件文件的绝对路径 | |
| browserPath | No | 浏览器可执行文件的绝对路径(如 Edge、Chrome),不传则自动检测 |
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, and it does so well. It discloses that the tool auto-opens a browser, that it will block/wait for a user to scan a QR code if not logged in, that login state is cached for subsequent calls, and that it performs a specific GUI-driven import sequence. These are exactly the non-obvious behaviors an agent needs to anticipate. The only slight gap is that it doesn't state what the return/response looks like on success or 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 longer than typical but appropriately so for a multi-step tool that opens a browser and requires login handling. The core purpose is front-loaded, followed by file-path guidance, then the automation sequence, login caching, and follow-up. Each sentence earns its place by adding operational detail an agent needs. Slightly verbose but efficient for the complexity involved.
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 tool with no output schema and no annotations, the description is unusually complete: it covers the target, file location conventions, browser auto-launch, QR login flow with caching, the exact UI automation steps, and a pointer to the companion log tool. The main omission is the absence of any statement about the return value or failure/success signaling, which would round out the picture 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 coverage is 100%, so the schema already documents both parameters (absolute path for pluginPath, optional browserPath with auto-detect). The description adds genuine value beyond the schema by specifying the expected file conventions (.eext suffix, build/dist location) and explicitly instructing the agent to verify pluginPath targets a .eext file before invoking. This is useful, actionable context that the schema alone does not provide.
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-plus-resource statement (导入插件到嘉立创EDA并开启浏览器控制台监听 – import plugin to JLC EDA and enable console listening) that states the action precisely. It goes further to describe the exact automated click path (高级→扩展管理器→上传插件文件→导入), so an agent understands exactly what will happen. It also references get_console_logs as the follow-up sibling, giving context that distinguishes this import action from log retrieval.
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: before calling, confirm pluginPath points to the .eext file in the build/dist directory, and notes the workflow (auto-open browser, QR login if needed, cached login state). It points to get_console_logs for retrieving output after import, which is a meaningful usage hint. However, it never states explicit when-to-use vs when-not-to-use conditions or excludes alternatives; the guidance is implied by the workflow rather than stated as routing logic.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
769 tool updates
v2.0.0- First observed
dev_plugin - First observed
easyeda_api_call - First observed
easyeda_api_catalog - First observed
easyeda_api_describe - First observed
easyeda_api_search - First observed
easyeda_bridge_status - First observed
easyeda_select_window - First observed
eda_dmt_board_copy_board - First observed
eda_dmt_board_create_board - First observed
eda_dmt_board_delete_board - First observed
eda_dmt_board_get_all_boards_info - First observed
eda_dmt_board_get_board_info - First observed
eda_dmt_board_get_current_board_info - First observed
eda_dmt_board_modify_board_name - First observed
eda_dmt_editor_control_activate_document - First observed
eda_dmt_editor_control_activate_split_screen - First observed
eda_dmt_editor_control_close_document - First observed
eda_dmt_editor_control_create_split_screen - First observed
eda_dmt_editor_control_generate_indicator_markers - First observed
eda_dmt_editor_control_get_current_rendered_area_image - First observed
eda_dmt_editor_control_get_split_screen_id_by_tab_id - First observed
eda_dmt_editor_control_get_split_screen_tree - First observed
eda_dmt_editor_control_get_tabs_by_split_screen_id - First observed
eda_dmt_editor_control_merge_all_document_from_split_screen - First observed
eda_dmt_editor_control_move_document_to_split_screen - First observed
eda_dmt_editor_control_open_document - First observed
eda_dmt_editor_control_open_library_document - First observed
eda_dmt_editor_control_remove_indicator_markers - First observed
eda_dmt_editor_control_tile_all_document_to_split_screen - First observed
eda_dmt_editor_control_zoom - First observed
eda_dmt_editor_control_zoom_to - First observed
eda_dmt_editor_control_zoom_to_all_primitives - First observed
eda_dmt_editor_control_zoom_to_region - First observed
eda_dmt_editor_control_zoom_to_selected_primitives - First observed
eda_dmt_event_add_editor_tab_event_listener - First observed
eda_dmt_event_is_event_listener_already_exist - First observed
eda_dmt_event_remove_event_listener - First observed
eda_dmt_folder_create_folder - First observed
eda_dmt_folder_delete_folder - First observed
eda_dmt_folder_get_all_folders_uuid - First observed
eda_dmt_folder_get_folder_info - First observed
eda_dmt_folder_modify_folder_description - First observed
eda_dmt_folder_modify_folder_name - First observed
eda_dmt_folder_move_folder_to_folder - First observed
eda_dmt_panel_copy_panel - First observed
eda_dmt_panel_create_panel - First observed
eda_dmt_panel_delete_panel - First observed
eda_dmt_panel_get_all_panels_info - First observed
eda_dmt_panel_get_current_panel_info - First observed
eda_dmt_panel_get_panel_info - First observed
eda_dmt_panel_modify_panel_name - First observed
eda_dmt_pcb_copy_pcb - First observed
eda_dmt_pcb_create_pcb - First observed
eda_dmt_pcb_delete_pcb - First observed
eda_dmt_pcb_get_all_pcbs_info - First observed
eda_dmt_pcb_get_current_pcb_info - First observed
eda_dmt_pcb_get_pcb_info - First observed
eda_dmt_pcb_modify_pcb_name - First observed
eda_dmt_project_copy_project - First observed
eda_dmt_project_create_project - First observed
eda_dmt_project_delete_project - First observed
eda_dmt_project_get_all_projects_uuid - First observed
eda_dmt_project_get_current_project_info - First observed
eda_dmt_project_get_project_info - First observed
eda_dmt_project_modify_project_collaboration_mode - First observed
eda_dmt_project_modify_project_description - First observed
eda_dmt_project_modify_project_friendly_name - First observed
eda_dmt_project_move_project - First observed
eda_dmt_project_move_project_to_folder - First observed
eda_dmt_project_open_project - First observed
eda_dmt_schematic_copy_schematic - First observed
eda_dmt_schematic_copy_schematic_page - First observed
eda_dmt_schematic_create_schematic - First observed
eda_dmt_schematic_create_schematic_page - First observed
eda_dmt_schematic_delete_schematic - First observed
eda_dmt_schematic_delete_schematic_page - First observed
eda_dmt_schematic_get_all_schematic_pages_info - First observed
eda_dmt_schematic_get_all_schematics_info - First observed
eda_dmt_schematic_get_current_schematic_all_schematic_pages_info - First observed
eda_dmt_schematic_get_current_schematic_info - First observed
eda_dmt_schematic_get_current_schematic_page_info - First observed
eda_dmt_schematic_get_schematic_info - First observed
eda_dmt_schematic_get_schematic_page_info - First observed
eda_dmt_schematic_modify_schematic_name - First observed
eda_dmt_schematic_modify_schematic_page_name - First observed
eda_dmt_schematic_modify_schematic_page_title_block - First observed
eda_dmt_schematic_reorder_schematic_pages - First observed
eda_dmt_select_control_get_current_document_info - First observed
eda_dmt_team_get_all_involved_team_info - First observed
eda_dmt_team_get_all_teams_info - First observed
eda_dmt_team_get_current_team_info - First observed
eda_dmt_workspace_get_all_workspaces_info - First observed
eda_dmt_workspace_get_current_workspace_info - First observed
eda_dmt_workspace_toggle_to_workspace - First observed
eda_lib_3_dmodel_copy - First observed
eda_lib_3_dmodel_create - First observed
eda_lib_3_dmodel_delete - First observed
eda_lib_3_dmodel_get - First observed
eda_lib_3_dmodel_modify - First observed
eda_lib_3_dmodel_search - First observed
eda_lib_cbb_copy - First observed
eda_lib_cbb_create - First observed
eda_lib_cbb_delete - First observed
eda_lib_cbb_get - First observed
eda_lib_cbb_modify - First observed
eda_lib_cbb_open_project_in_editor - First observed
eda_lib_cbb_open_symbol_in_editor - First observed
eda_lib_cbb_search - First observed
eda_lib_classification_create_primary - First observed
eda_lib_classification_create_secondary - First observed
eda_lib_classification_delete_by_index - First observed
eda_lib_classification_delete_by_uuid - First observed
eda_lib_classification_get_all_classification_tree - First observed
eda_lib_classification_get_index_by_name - First observed
eda_lib_classification_get_name_by_index - First observed
eda_lib_classification_get_name_by_uuid - First observed
eda_lib_device_copy - First observed
eda_lib_device_create - First observed
eda_lib_device_delete - First observed
eda_lib_device_get - First observed
eda_lib_device_get_by_lcsc_ids - First observed
eda_lib_device_modify - First observed
eda_lib_device_search - First observed
eda_lib_device_search_by_properties - First observed
eda_lib_footprint_copy - First observed
eda_lib_footprint_create - First observed
eda_lib_footprint_delete - First observed
eda_lib_footprint_get - First observed
eda_lib_footprint_get_render_image - First observed
eda_lib_footprint_modify - First observed
eda_lib_footprint_open_in_editor - First observed
eda_lib_footprint_search - First observed
eda_lib_footprint_search_by_properties - First observed
eda_lib_footprint_update_document_source - First observed
eda_lib_libraries_list_get_all_libraries_list - First observed
eda_lib_libraries_list_get_favorite_library_uuid - First observed
eda_lib_libraries_list_get_personal_library_uuid - First observed
eda_lib_libraries_list_get_project_library_uuid - First observed
eda_lib_libraries_list_get_system_library_uuid - First observed
eda_lib_libraries_list_register_extend_library - First observed
eda_lib_panel_library_copy - First observed
eda_lib_panel_library_create - First observed
eda_lib_panel_library_delete - First observed
eda_lib_panel_library_get - First observed
eda_lib_panel_library_modify - First observed
eda_lib_panel_library_open_in_editor - First observed
eda_lib_panel_library_search - First observed
eda_lib_select_control_get_selected_library_row_info - First observed
eda_lib_simulation_model_copy - First observed
eda_lib_simulation_model_create - First observed
eda_lib_simulation_model_delete - First observed
eda_lib_simulation_model_get - First observed
eda_lib_simulation_model_modify - First observed
eda_lib_simulation_model_search - First observed
eda_lib_symbol_copy - First observed
eda_lib_symbol_create - First observed
eda_lib_symbol_delete - First observed
eda_lib_symbol_get - First observed
eda_lib_symbol_get_render_image - First observed
eda_lib_symbol_modify - First observed
eda_lib_symbol_open_in_editor - First observed
eda_lib_symbol_search - First observed
eda_lib_symbol_search_by_properties - First observed
eda_lib_symbol_update_document_source - First observed
eda_pcb_document_auto_layout - First observed
eda_pcb_document_auto_routing - First observed
eda_pcb_document_clear_routing - First observed
eda_pcb_document_convert_canvas_origin_to_data_origin - First observed
eda_pcb_document_convert_data_origin_to_canvas_origin - First observed
eda_pcb_document_get_calculating_ratline_status - First observed
eda_pcb_document_get_canvas_origin - First observed
eda_pcb_document_get_canvas_update_calculation_status - First observed
eda_pcb_document_get_current_filter_configuration - First observed
eda_pcb_document_get_primitive_at_point - First observed
eda_pcb_document_get_primitives_in_region - First observed
eda_pcb_document_import_auto_layout_json_file - First observed
eda_pcb_document_import_auto_route_json_file - First observed
eda_pcb_document_import_auto_route_ses_file - First observed
eda_pcb_document_import_changes - First observed
eda_pcb_document_navigate_to_coordinates - First observed
eda_pcb_document_navigate_to_region - First observed
eda_pcb_document_save - First observed
eda_pcb_document_set_canvas_origin - First observed
eda_pcb_document_start_calculating_ratline - First observed
eda_pcb_document_start_canvas_update_calculation - First observed
eda_pcb_document_stop_calculating_ratline - First observed
eda_pcb_document_stop_canvas_update_calculation - First observed
eda_pcb_document_trigger_canvas_update_calculation - First observed
eda_pcb_document_zoom_to_board_outline - First observed
eda_pcb_drc_add_net_to_equal_length_net_group - First observed
eda_pcb_drc_add_net_to_net_class - First observed
eda_pcb_drc_add_pad_pair_to_pad_pair_group - First observed
eda_pcb_drc_check - First observed
eda_pcb_drc_create_differential_pair - First observed
eda_pcb_drc_create_equal_length_net_group - First observed
eda_pcb_drc_create_net_class - First observed
eda_pcb_drc_create_pad_pair_group - First observed
eda_pcb_drc_delete_differential_pair - First observed
eda_pcb_drc_delete_equal_length_net_group - First observed
eda_pcb_drc_delete_net_class - First observed
eda_pcb_drc_delete_pad_pair_group - First observed
eda_pcb_drc_delete_rule_configuration - First observed
eda_pcb_drc_get_all_differential_pairs - First observed
eda_pcb_drc_get_all_equal_length_net_groups - First observed
eda_pcb_drc_get_all_net_classes - First observed
eda_pcb_drc_get_all_pad_pair_groups - First observed
eda_pcb_drc_get_all_rule_configurations - First observed
eda_pcb_drc_get_current_rule_configuration - First observed
eda_pcb_drc_get_current_rule_configuration_name - First observed
eda_pcb_drc_get_default_rule_configuration_name - First observed
eda_pcb_drc_get_net_by_net_rules - First observed
eda_pcb_drc_get_net_rules - First observed
eda_pcb_drc_get_pad_pair_group_min_wire_length - First observed
eda_pcb_drc_get_real_time_drc_status - First observed
eda_pcb_drc_get_region_rules - First observed
eda_pcb_drc_get_rule_configuration - First observed
eda_pcb_drc_modify_differential_pair_name - First observed
eda_pcb_drc_modify_differential_pair_negative_net - First observed
eda_pcb_drc_modify_differential_pair_positive_net - First observed
eda_pcb_drc_modify_equal_length_net_group_name - First observed
eda_pcb_drc_modify_net_class_name - First observed
eda_pcb_drc_modify_pad_pair_group_name - First observed
eda_pcb_drc_overwrite_current_rule_configuration - First observed
eda_pcb_drc_overwrite_net_by_net_rules - First observed
eda_pcb_drc_overwrite_net_rules - First observed
eda_pcb_drc_overwrite_region_rules - First observed
eda_pcb_drc_remove_net_from_equal_length_net_group - First observed
eda_pcb_drc_remove_net_from_net_class - First observed
eda_pcb_drc_remove_pad_pair_from_pad_pair_group - First observed
eda_pcb_drc_rename_rule_configuration - First observed
eda_pcb_drc_save_rule_configuration - First observed
eda_pcb_drc_set_as_default_rule_configuration - First observed
eda_pcb_drc_start_real_time_drc - First observed
eda_pcb_drc_stop_real_time_drc - First observed
eda_pcb_event_add_cross_probe_select_event_listener - First observed
eda_pcb_event_add_image_event_listener - First observed
eda_pcb_event_add_mouse_event_listener - First observed
eda_pcb_event_add_net_event_listener - First observed
eda_pcb_event_add_primitive_event_listener - First observed
eda_pcb_event_add_ray_tracer_engine_render_progress_event_listener - First observed
eda_pcb_event_add_ray_tracer_engine3_dview_camera_change_event_listener - First observed
eda_pcb_event_add_ray_tracer_engine3_dview_click_material_event_listener - First observed
eda_pcb_event_add_real_time_drc_result_event_listener - First observed
eda_pcb_event_is_event_listener_already_exist - First observed
eda_pcb_event_remove_event_listener - First observed
eda_pcb_image_tool_process_image - First observed
eda_pcb_image_tool_start_place_true_color_picture - First observed
eda_pcb_image_tool_start_place_vector_image - First observed
eda_pcb_layer_add_custom_layer - First observed
eda_pcb_layer_delete_physical_stacking_configuration - First observed
eda_pcb_layer_get_all_layers - First observed
eda_pcb_layer_get_all_physical_stacking_configurations - First observed
eda_pcb_layer_get_current_layer - First observed
eda_pcb_layer_get_current_physical_stacking_configuration - First observed
eda_pcb_layer_get_current_physical_stacking_configuration_name - First observed
eda_pcb_layer_get_default_physical_stacking_configuration_name - First observed
eda_pcb_layer_get_physical_stacking_configuration - First observed
eda_pcb_layer_get_the_number_of_copper_layers - First observed
eda_pcb_layer_lock_layer - First observed
eda_pcb_layer_modify_layer - First observed
eda_pcb_layer_overwrite_current_physical_stacking_configuration - First observed
eda_pcb_layer_remove_layer - First observed
eda_pcb_layer_rename_physical_stacking_configuration - First observed
eda_pcb_layer_save_physical_stacking_configuration - First observed
eda_pcb_layer_select_layer - First observed
eda_pcb_layer_set_as_default_physical_stacking_configuration - First observed
eda_pcb_layer_set_inactive_layer_display_mode - First observed
eda_pcb_layer_set_inactive_layer_transparency - First observed
eda_pcb_layer_set_layer_color_configuration - First observed
eda_pcb_layer_set_layer_invisible - First observed
eda_pcb_layer_set_layer_visible - First observed
eda_pcb_layer_set_pcb_type - First observed
eda_pcb_layer_set_the_number_of_copper_layers - First observed
eda_pcb_layer_unlock_layer - First observed
eda_pcb_manufacture_data_delete_bom_template - First observed
eda_pcb_manufacture_data_get_altium_designer_file - First observed
eda_pcb_manufacture_data_get_auto_layout_json_file - First observed
eda_pcb_manufacture_data_get_auto_route_json_file - First observed
eda_pcb_manufacture_data_get_auto_route_json_file_for_jrouter - First observed
eda_pcb_manufacture_data_get_bom_file - First observed
eda_pcb_manufacture_data_get_bom_template_file - First observed
eda_pcb_manufacture_data_get_bom_templates - First observed
eda_pcb_manufacture_data_get_dsn_file - First observed
eda_pcb_manufacture_data_get_dxf_file - First observed
eda_pcb_manufacture_data_get_flying_probe_test_file - First observed
eda_pcb_manufacture_data_get_gerber_file - First observed
eda_pcb_manufacture_data_get_idx_file - First observed
eda_pcb_manufacture_data_get_interactive_bom_file - First observed
eda_pcb_manufacture_data_get_ipc_d356_afile - First observed
eda_pcb_manufacture_data_get_ipc2581_cfile - First observed
eda_pcb_manufacture_data_get_manufacture_data - First observed
eda_pcb_manufacture_data_get_netlist_file - First observed
eda_pcb_manufacture_data_get_open_database_double_plus_file - First observed
eda_pcb_manufacture_data_get_pads_file - First observed
eda_pcb_manufacture_data_get_pcb_info_file - First observed
eda_pcb_manufacture_data_get_pdf_file - First observed
eda_pcb_manufacture_data_get_pick_and_place_file - First observed
eda_pcb_manufacture_data_get_test_point_file - First observed
eda_pcb_manufacture_data_get3_dfile - First observed
eda_pcb_manufacture_data_get3_dshell_file - First observed
eda_pcb_manufacture_data_place_components_order - First observed
eda_pcb_manufacture_data_place_pcb_order - First observed
eda_pcb_manufacture_data_place_smt_components_order - First observed
eda_pcb_manufacture_data_place3_dshell_order - First observed
eda_pcb_manufacture_data_upload_bom_template_file - First observed
eda_pcb_math_polygon_calculate_bbox_height - First observed
eda_pcb_math_polygon_calculate_height - First observed
eda_pcb_math_polygon_calculate_width - First observed
eda_pcb_math_polygon_convert_image_to_complex_polygon - First observed
eda_pcb_math_polygon_create_complex_polygon - First observed
eda_pcb_math_polygon_create_polygon - First observed
eda_pcb_math_polygon_discretize - First observed
eda_pcb_math_polygon_split_polygon - First observed
eda_pcb_math_polygon_trace_image - First observed
eda_pcb_net_get_all_net_name - First observed
eda_pcb_net_get_all_nets - First observed
eda_pcb_net_get_all_nets_name - First observed
eda_pcb_net_get_all_primitives_by_net - First observed
eda_pcb_net_get_net - First observed
eda_pcb_net_get_net_color - First observed
eda_pcb_net_get_net_length - First observed
eda_pcb_net_get_netlist - First observed
eda_pcb_net_highlight_net - First observed
eda_pcb_net_select_net - First observed
eda_pcb_net_set_net_color - First observed
eda_pcb_net_set_netlist - First observed
eda_pcb_net_unhighlight_all_nets - First observed
eda_pcb_net_unhighlight_net - First observed
eda_pcb_net_unselect_all_nets - First observed
eda_pcb_net_unselect_net - First observed
eda_pcb_primitive_arc_create - First observed
eda_pcb_primitive_arc_delete - First observed
eda_pcb_primitive_arc_get - First observed
eda_pcb_primitive_arc_get_all - First observed
eda_pcb_primitive_arc_get_all_primitive_id - First observed
eda_pcb_primitive_arc_modify - First observed
eda_pcb_primitive_attribute_create - First observed
eda_pcb_primitive_attribute_delete - First observed
eda_pcb_primitive_attribute_get - First observed
eda_pcb_primitive_attribute_get_all - First observed
eda_pcb_primitive_attribute_get_all_primitive_id - First observed
eda_pcb_primitive_attribute_modify - First observed
eda_pcb_primitive_component_create - First observed
eda_pcb_primitive_component_delete - First observed
eda_pcb_primitive_component_get - First observed
eda_pcb_primitive_component_get_all - First observed
eda_pcb_primitive_component_get_all_pins_by_primitive_id - First observed
eda_pcb_primitive_component_get_all_primitive_id - First observed
eda_pcb_primitive_component_get_all_property_names - First observed
eda_pcb_primitive_component_modify - First observed
eda_pcb_primitive_component_place_cbb_pcb - First observed
eda_pcb_primitive_component_place_component_with_mouse - First observed
eda_pcb_primitive_component_place_footprint_with_mouse - First observed
eda_pcb_primitive_dimension_create - First observed
eda_pcb_primitive_dimension_delete - First observed
eda_pcb_primitive_dimension_get - First observed
eda_pcb_primitive_dimension_get_all - First observed
eda_pcb_primitive_dimension_get_all_primitive_id - First observed
eda_pcb_primitive_dimension_modify - First observed
eda_pcb_primitive_fill_create - First observed
eda_pcb_primitive_fill_delete - First observed
eda_pcb_primitive_fill_get - First observed
eda_pcb_primitive_fill_get_all - First observed
eda_pcb_primitive_fill_get_all_primitive_id - First observed
eda_pcb_primitive_fill_modify - First observed
eda_pcb_primitive_get_primitive_board_line - First observed
eda_pcb_primitive_get_primitive_by_primitive_id - First observed
eda_pcb_primitive_get_primitive_type_by_primitive_id - First observed
eda_pcb_primitive_get_primitives_bbox - First observed
eda_pcb_primitive_get_primitives_by_primitive_id - First observed
eda_pcb_primitive_image_create - First observed
eda_pcb_primitive_image_delete - First observed
eda_pcb_primitive_image_get - First observed
eda_pcb_primitive_image_get_all - First observed
eda_pcb_primitive_image_get_all_primitive_id - First observed
eda_pcb_primitive_image_modify - First observed
eda_pcb_primitive_line_create - First observed
eda_pcb_primitive_line_delete - First observed
eda_pcb_primitive_line_get - First observed
eda_pcb_primitive_line_get_all - First observed
eda_pcb_primitive_line_get_all_primitive_id - First observed
eda_pcb_primitive_line_modify - First observed
eda_pcb_primitive_object_create - First observed
eda_pcb_primitive_object_delete - First observed
eda_pcb_primitive_object_get - First observed
eda_pcb_primitive_object_get_all - First observed
eda_pcb_primitive_object_get_all_primitive_id - First observed
eda_pcb_primitive_object_modify - First observed
eda_pcb_primitive_pad_create - First observed
eda_pcb_primitive_pad_delete - First observed
eda_pcb_primitive_pad_get - First observed
eda_pcb_primitive_pad_get_all - First observed
eda_pcb_primitive_pad_get_all_primitive_id - First observed
eda_pcb_primitive_pad_modify - First observed
eda_pcb_primitive_polyline_create - First observed
eda_pcb_primitive_polyline_delete - First observed
eda_pcb_primitive_polyline_get - First observed
eda_pcb_primitive_polyline_get_all - First observed
eda_pcb_primitive_polyline_get_all_primitive_id - First observed
eda_pcb_primitive_polyline_modify - First observed
eda_pcb_primitive_pour_create - First observed
eda_pcb_primitive_pour_delete - First observed
eda_pcb_primitive_pour_get - First observed
eda_pcb_primitive_pour_get_all - First observed
eda_pcb_primitive_pour_get_all_primitive_id - First observed
eda_pcb_primitive_pour_modify - First observed
eda_pcb_primitive_pour_rebuild_copper_regions - First observed
eda_pcb_primitive_poured_create - First observed
eda_pcb_primitive_poured_delete - First observed
eda_pcb_primitive_poured_get - First observed
eda_pcb_primitive_poured_get_all - First observed
eda_pcb_primitive_poured_get_all_primitive_id - First observed
eda_pcb_primitive_poured_modify - First observed
eda_pcb_primitive_region_create - First observed
eda_pcb_primitive_region_delete - First observed
eda_pcb_primitive_region_get - First observed
eda_pcb_primitive_region_get_all - First observed
eda_pcb_primitive_region_get_all_primitive_id - First observed
eda_pcb_primitive_region_modify - First observed
eda_pcb_primitive_string_create - First observed
eda_pcb_primitive_string_delete - First observed
eda_pcb_primitive_string_get - First observed
eda_pcb_primitive_string_get_all - First observed
eda_pcb_primitive_string_get_all_primitive_id - First observed
eda_pcb_primitive_string_modify - First observed
eda_pcb_primitive_via_create - First observed
eda_pcb_primitive_via_delete - First observed
eda_pcb_primitive_via_get - First observed
eda_pcb_primitive_via_get_all - First observed
eda_pcb_primitive_via_get_all_primitive_id - First observed
eda_pcb_primitive_via_modify - First observed
eda_pcb_ray_tracer_engine_dispose - First observed
eda_pcb_ray_tracer_engine_get_light_configurations - First observed
eda_pcb_ray_tracer_engine_get_render_configurations - First observed
eda_pcb_ray_tracer_engine_init - First observed
eda_pcb_ray_tracer_engine_pause_render - First observed
eda_pcb_ray_tracer_engine_set_render_configurations - First observed
eda_pcb_select_control_clear_selected - First observed
eda_pcb_select_control_do_cross_probe_select - First observed
eda_pcb_select_control_do_cross_probe_select_by_object - First observed
eda_pcb_select_control_do_select_primitives - First observed
eda_pcb_select_control_get_all_selected_primitives - First observed
eda_pcb_select_control_get_all_selected_primitives_primitive_id - First observed
eda_pcb_select_control_get_current_mouse_position - First observed
eda_pcb_select_control_get_selected_primitives - First observed
eda_pnl_document_save - First observed
eda_sch_document_auto_layout - First observed
eda_sch_document_auto_routing - First observed
eda_sch_document_get_current_filter_configuration - First observed
eda_sch_document_get_primitive_at_point - First observed
eda_sch_document_get_primitives_in_region - First observed
eda_sch_document_import_changes - First observed
eda_sch_document_navigate_to_coordinates - First observed
eda_sch_document_navigate_to_region - First observed
eda_sch_document_save - First observed
eda_sch_drc_check - First observed
eda_sch_event_add_mouse_event_listener - First observed
eda_sch_event_add_primitive_event_listener - First observed
eda_sch_event_add_simulation_engine_pull_event_listener - First observed
eda_sch_event_is_event_listener_already_exist - First observed
eda_sch_event_remove_event_listener - First observed
eda_sch_manufacture_data_delete_bom_template - First observed
eda_sch_manufacture_data_get_assembly_variants_configs - First observed
eda_sch_manufacture_data_get_bom_file - First observed
eda_sch_manufacture_data_get_bom_template_file - First observed
eda_sch_manufacture_data_get_bom_templates - First observed
eda_sch_manufacture_data_get_export_document_file - First observed
eda_sch_manufacture_data_get_netlist_file - First observed
eda_sch_manufacture_data_get_pdf_file - First observed
eda_sch_manufacture_data_get_png_file - First observed
eda_sch_manufacture_data_get_simulation_netlist_file - First observed
eda_sch_manufacture_data_get_svg_file - First observed
eda_sch_manufacture_data_place_components_order - First observed
eda_sch_manufacture_data_place_smt_components_order - First observed
eda_sch_manufacture_data_upload_bom_template_file - First observed
eda_sch_net_get_all_nets - First observed
eda_sch_net_get_all_nets_name - First observed
eda_sch_net_get_current_project_all_nets - First observed
eda_sch_net_get_net - First observed
eda_sch_netlist_get_netlist - First observed
eda_sch_netlist_set_netlist - First observed
eda_sch_primitive_arc_create - First observed
eda_sch_primitive_arc_delete - First observed
eda_sch_primitive_arc_get - First observed
eda_sch_primitive_arc_get_all - First observed
eda_sch_primitive_arc_get_all_primitive_id - First observed
eda_sch_primitive_arc_modify - First observed
eda_sch_primitive_attribute_create - First observed
eda_sch_primitive_attribute_create_net_label - First observed
eda_sch_primitive_attribute_delete - First observed
eda_sch_primitive_attribute_get - First observed
eda_sch_primitive_attribute_get_all - First observed
eda_sch_primitive_attribute_get_all_primitive_id - First observed
eda_sch_primitive_attribute_modify - First observed
eda_sch_primitive_bus_create - First observed
eda_sch_primitive_bus_delete - First observed
eda_sch_primitive_bus_get - First observed
eda_sch_primitive_bus_get_all - First observed
eda_sch_primitive_bus_get_all_primitive_id - First observed
eda_sch_primitive_bus_modify - First observed
eda_sch_primitive_circle_create - First observed
eda_sch_primitive_circle_delete - First observed
eda_sch_primitive_circle_get - First observed
eda_sch_primitive_circle_get_all - First observed
eda_sch_primitive_circle_get_all_primitive_id - First observed
eda_sch_primitive_circle_modify - First observed
eda_sch_primitive_component_create - First observed
eda_sch_primitive_component_create_cbb_symbol - First observed
eda_sch_primitive_component_create_net_flag - First observed
eda_sch_primitive_component_create_net_port - First observed
eda_sch_primitive_component_create_short_circuit_flag - First observed
eda_sch_primitive_component_delete - First observed
eda_sch_primitive_component_get - First observed
eda_sch_primitive_component_get_all - First observed
eda_sch_primitive_component_get_all_pins_by_primitive_id - First observed
eda_sch_primitive_component_get_all_primitive_id - First observed
eda_sch_primitive_component_get_all_property_names - First observed
eda_sch_primitive_component_modify - First observed
eda_sch_primitive_component_place_cbb_schematic_page - First observed
eda_sch_primitive_component_place_component_with_mouse - First observed
eda_sch_primitive_component_place_symbol_with_mouse - First observed
eda_sch_primitive_component_set_net_flag_component_uuid_analog_ground - First observed
eda_sch_primitive_component_set_net_flag_component_uuid_ground - First observed
eda_sch_primitive_component_set_net_flag_component_uuid_power - First observed
eda_sch_primitive_component_set_net_flag_component_uuid_protect_ground - First observed
eda_sch_primitive_component_set_net_port_component_uuid_bi - First observed
eda_sch_primitive_component_set_net_port_component_uuid_in - First observed
eda_sch_primitive_component_set_net_port_component_uuid_out - First observed
eda_sch_primitive_get_primitive_by_primitive_id - First observed
eda_sch_primitive_get_primitive_type_by_primitive_id - First observed
eda_sch_primitive_get_primitives_bbox - First observed
eda_sch_primitive_get_primitives_by_primitive_id - First observed
eda_sch_primitive_object_create - First observed
eda_sch_primitive_object_delete - First observed
eda_sch_primitive_object_get - First observed
eda_sch_primitive_object_get_all - First observed
eda_sch_primitive_object_get_all_primitive_id - First observed
eda_sch_primitive_object_modify - First observed
eda_sch_primitive_pin_create - First observed
eda_sch_primitive_pin_delete - First observed
eda_sch_primitive_pin_get - First observed
eda_sch_primitive_pin_get_all - First observed
eda_sch_primitive_pin_get_all_primitive_id - First observed
eda_sch_primitive_pin_modify - First observed
eda_sch_primitive_polygon_create - First observed
eda_sch_primitive_polygon_delete - First observed
eda_sch_primitive_polygon_get - First observed
eda_sch_primitive_polygon_get_all - First observed
eda_sch_primitive_polygon_get_all_primitive_id - First observed
eda_sch_primitive_polygon_modify - First observed
eda_sch_primitive_rectangle_create - First observed
eda_sch_primitive_rectangle_delete - First observed
eda_sch_primitive_rectangle_get - First observed
eda_sch_primitive_rectangle_get_all - First observed
eda_sch_primitive_rectangle_get_all_primitive_id - First observed
eda_sch_primitive_rectangle_modify - First observed
eda_sch_primitive_text_create - First observed
eda_sch_primitive_text_delete - First observed
eda_sch_primitive_text_get - First observed
eda_sch_primitive_text_get_all - First observed
eda_sch_primitive_text_get_all_primitive_id - First observed
eda_sch_primitive_text_modify - First observed
eda_sch_primitive_wire_create - First observed
eda_sch_primitive_wire_delete - First observed
eda_sch_primitive_wire_get - First observed
eda_sch_primitive_wire_get_all - First observed
eda_sch_primitive_wire_get_all_primitive_id - First observed
eda_sch_primitive_wire_modify - First observed
eda_sch_select_control_clear_selected - First observed
eda_sch_select_control_do_cross_probe_select - First observed
eda_sch_select_control_do_select_primitives - First observed
eda_sch_select_control_get_all_selected_primitives - First observed
eda_sch_select_control_get_all_selected_primitives_primitive_id - First observed
eda_sch_select_control_get_current_mouse_position - First observed
eda_sch_select_control_get_selected_primitives - First observed
eda_sch_select_control_get_selected_primitives_primitive_id - First observed
eda_sch_simulation_engine_push_data - First observed
eda_sch_utils_split_lines - First observed
eda_sys_client_url_request - First observed
eda_sys_dialog_create_design_portal - First observed
eda_sys_dialog_insert_script_to_dialog - First observed
eda_sys_dialog_show_confirmation_message - First observed
eda_sys_dialog_show_information_message - First observed
eda_sys_dialog_show_input_dialog - First observed
eda_sys_dialog_show_select_dialog - First observed
eda_sys_environment_get_editor_complied_date - First observed
eda_sys_environment_get_editor_current_version - First observed
eda_sys_environment_get_user_info - First observed
eda_sys_environment_is_client - First observed
eda_sys_environment_is_easy_edapro_edition - First observed
eda_sys_environment_is_half_offline_mode - First observed
eda_sys_environment_is_jlcedapro_edition - First observed
eda_sys_environment_is_offline_mode - First observed
eda_sys_environment_is_online_mode - First observed
eda_sys_environment_is_pro_private_edition - First observed
eda_sys_environment_is_web - First observed
eda_sys_environment_set_keep_project_has_only_one_board - First observed
eda_sys_external_api_register - First observed
eda_sys_external_api_unregister - First observed
eda_sys_file_manager_extract_lib_info - First observed
eda_sys_file_manager_extract_project_info - First observed
eda_sys_file_manager_get_cbb_file_by_cbb_uuid - First observed
eda_sys_file_manager_get_device_file_by_device_uuid - First observed
eda_sys_file_manager_get_document_file - First observed
eda_sys_file_manager_get_document_footprint_sources - First observed
eda_sys_file_manager_get_document_source - First observed
eda_sys_file_manager_get_footprint_file_by_footprint_uuid - First observed
eda_sys_file_manager_get_panel_library_file_by_panel_library_uuid - First observed
eda_sys_file_manager_get_project_file - First observed
eda_sys_file_manager_get_project_file_by_project_uuid - First observed
eda_sys_file_manager_get_schematic_file - First observed
eda_sys_file_manager_get_symbol_file_by_symbol_uuid - First observed
eda_sys_file_manager_import_project_by_project_file - First observed
eda_sys_file_manager_set_document_source - First observed
eda_sys_file_system_create_directory_in_file_system - First observed
eda_sys_file_system_create_object_url - First observed
eda_sys_file_system_delete_file_in_file_system - First observed
eda_sys_file_system_exists_path_in_file_system - First observed
eda_sys_file_system_get_documents_path - First observed
eda_sys_file_system_get_eda_path - First observed
eda_sys_file_system_get_extension_file - First observed
eda_sys_file_system_get_libraries_paths - First observed
eda_sys_file_system_get_projects_paths - First observed
eda_sys_file_system_list_files_of_file_system - First observed
eda_sys_file_system_open_read_file_dialog - First observed
eda_sys_file_system_open_read_file_path_dialog - First observed
eda_sys_file_system_open_read_folder_dialog - First observed
eda_sys_file_system_open_read_folder_path_dialog - First observed
eda_sys_file_system_read_file_from_file_system - First observed
eda_sys_file_system_revoke_object_url - First observed
eda_sys_file_system_save_file - First observed
eda_sys_file_system_save_file_to_file_system - First observed
eda_sys_font_manager_add_font - First observed
eda_sys_font_manager_delete_font - First observed
eda_sys_font_manager_get_fonts_list - First observed
eda_sys_format_conversion_convert_altium_designer_libraries_to_easy_edamulti_files - First observed
eda_sys_format_conversion_convert_altium_designer_libraries_to_easy_edasingle_file - First observed
eda_sys_format_conversion_convert_disa_libraries_to_easy_edamulti_files - First observed
eda_sys_format_conversion_convert_disa_libraries_to_easy_edasingle_file - First observed
eda_sys_header_menu_insert_header_menus - First observed
eda_sys_header_menu_insert_system_header_menu_item - First observed
eda_sys_header_menu_insert_system_header_menus - First observed
eda_sys_header_menu_remove_header_menus - First observed
eda_sys_header_menu_remove_system_header_menu_item - First observed
eda_sys_header_menu_replace_header_menus - First observed
eda_sys_help_help - First observed
eda_sys_i18n_add_language_changed_event_listener - First observed
eda_sys_i18n_get_all_supported_languages - First observed
eda_sys_i18n_get_current_language - First observed
eda_sys_i18n_import_multilingual - First observed
eda_sys_i18n_import_multilingual_language - First observed
eda_sys_i18n_import_multilingual_namespace - First observed
eda_sys_i18n_is_event_listener_already_exist - First observed
eda_sys_i18n_is_language_supported - First observed
eda_sys_i18n_remove_event_listener - First observed
eda_sys_i18n_text - First observed
eda_sys_iframe_close_iframe - First observed
eda_sys_iframe_hide_iframe - First observed
eda_sys_iframe_is_iframe_already_exist - First observed
eda_sys_iframe_open_iframe - First observed
eda_sys_iframe_show_iframe - First observed
eda_sys_loading_and_progress_bar_destroy_loading - First observed
eda_sys_loading_and_progress_bar_destroy_progress_bar - First observed
eda_sys_loading_and_progress_bar_show_loading - First observed
eda_sys_loading_and_progress_bar_show_progress_bar - First observed
eda_sys_log_add - First observed
eda_sys_log_clear - First observed
eda_sys_log_export - First observed
eda_sys_log_find - First observed
eda_sys_log_sort - First observed
eda_sys_math_bbox_intersects - First observed
eda_sys_math_calculate_area - First observed
eda_sys_math_calculate_perimeter - First observed
eda_sys_math_contains - First observed
eda_sys_math_contains_point - First observed
eda_sys_math_distance_to_point - First observed
eda_sys_math_get_bbox - First observed
eda_sys_math_get_centroid - First observed
eda_sys_math_intersection - First observed
eda_sys_math_intersects - First observed
eda_sys_math_rotate - First observed
eda_sys_math_scale - First observed
eda_sys_math_subtract - First observed
eda_sys_math_translate - First observed
eda_sys_math_union - First observed
eda_sys_math_xor - First observed
eda_sys_message_box_show_confirmation_message - First observed
eda_sys_message_box_show_information_message - First observed
eda_sys_message_bus_create_private_message_bus - First observed
eda_sys_message_bus_publish - First observed
eda_sys_message_bus_publish_public - First observed
eda_sys_message_bus_pull - First observed
eda_sys_message_bus_pull_async - First observed
eda_sys_message_bus_pull_async_public - First observed
eda_sys_message_bus_pull_public - First observed
eda_sys_message_bus_push - First observed
eda_sys_message_bus_push_public - First observed
eda_sys_message_bus_remove_private_message_bus - First observed
eda_sys_message_bus_rpc_call - First observed
eda_sys_message_bus_rpc_call_public - First observed
eda_sys_message_bus_rpc_service - First observed
eda_sys_message_bus_rpc_service_public - First observed
eda_sys_message_bus_subscribe - First observed
eda_sys_message_bus_subscribe_once - First observed
eda_sys_message_bus_subscribe_once_public - First observed
eda_sys_message_bus_subscribe_public - First observed
eda_sys_message_remove_follow_mouse_tip - First observed
eda_sys_message_show_follow_mouse_tip - First observed
eda_sys_message_show_toast_message - First observed
eda_sys_panel_control_close_bottom_panel - First observed
eda_sys_panel_control_close_left_panel - First observed
eda_sys_panel_control_close_right_panel - First observed
eda_sys_panel_control_is_bottom_panel_locked - First observed
eda_sys_panel_control_is_left_panel_locked - First observed
eda_sys_panel_control_is_right_panel_locked - First observed
eda_sys_panel_control_open_bottom_panel - First observed
eda_sys_panel_control_open_left_panel - First observed
eda_sys_panel_control_open_right_panel - First observed
eda_sys_panel_control_toggle_bottom_panel_lock_state - First observed
eda_sys_panel_control_toggle_left_panel_lock_state - First observed
eda_sys_panel_control_toggle_right_panel_lock_state - First observed
eda_sys_right_click_menu_change_menu - First observed
eda_sys_setting_get_jlccolor_silk_enabled - First observed
eda_sys_setting_restore_default - First observed
eda_sys_shortcut_key_get - First observed
eda_sys_shortcut_key_get_all - First observed
eda_sys_shortcut_key_get_shortcut_keys - First observed
eda_sys_shortcut_key_register - First observed
eda_sys_shortcut_key_register_shortcut_key - First observed
eda_sys_shortcut_key_unregister - First observed
eda_sys_shortcut_key_unregister_shortcut_key - First observed
eda_sys_storage_clear_extension_all_user_configs - First observed
eda_sys_storage_delete_extension_user_config - First observed
eda_sys_storage_get_extension_all_user_configs - First observed
eda_sys_storage_get_extension_user_config - First observed
eda_sys_storage_set_extension_all_user_configs - First observed
eda_sys_storage_set_extension_user_config - First observed
eda_sys_timer_clear_interval_timer - First observed
eda_sys_timer_clear_timeout_timer - First observed
eda_sys_timer_set_interval_timer - First observed
eda_sys_timer_set_timeout_timer - First observed
eda_sys_toast_message_show_message - First observed
eda_sys_tool_netlist_comparison - First observed
eda_sys_tool_pcb_comparison - First observed
eda_sys_tool_schematic_comparison - First observed
eda_sys_unit_get_frontend_data_unit - First observed
eda_sys_unit_inch_to_mil - First observed
eda_sys_unit_inch_to_mm - First observed
eda_sys_unit_mil_to_inch - First observed
eda_sys_unit_mil_to_mm - First observed
eda_sys_unit_mm_to_inch - First observed
eda_sys_unit_mm_to_mil - First observed
eda_sys_web_socket_close - First observed
eda_sys_web_socket_register - First observed
eda_sys_web_socket_send - First observed
eda_sys_window_add_event_listener - First observed
eda_sys_window_get_current_theme - First observed
eda_sys_window_get_url_anchor - First observed
eda_sys_window_get_url_param - First observed
eda_sys_window_get_viewport_size - First observed
eda_sys_window_hide_start_page_quick_start_items - First observed
eda_sys_window_hide_start_page_support_float_bar_items - First observed
eda_sys_window_open - First observed
eda_sys_window_open_ui - First observed
eda_sys_window_remove_event_listener - First observed
eda_sys_window_url_push_state - First observed
eda_sys_window_url_replace_state - First observed
get_console_logs - First observed
import_plugin
TDQS
Scored across 769 tools
The strict eda_<domain>_<module>_<action>_<object> hierarchy makes the vast majority of tools structurally distinguishable, but overlapping pairs exist—deprecated tools alongside near-identical replacements (e.g., eda_sys_dialog_show_confirmation_message and eda_sys_message_box_show_confirmation_message, eda_pcb_net_get_all_net_name vs eda_pcb_net_get_all_nets_name) create real misselection risk. Several descriptions are also copy-pasted incorrectly across primitive tools (e.g., a line tool documented as '折线' and an attribute tool documented as '修改文本'), further undermining the agent's ability to disambiguate.
The overwhelming majority of tools follow a consistent snake_case pattern of eda_<domain>_<module>_<action>_<object>, which is highly predictable across domains. Minor deviations: the meta-tools (easyeda_api_search, import_plugin, get_console_logs, dev_plugin) use a different prefix or none at all, and at least one method breaks convention with camelCase (getAllSelectedPrimitives_PrimitiveId) alongside snake_case equivalents.
769 tools is an extreme count—15x the rubric's 50+ threshold—and places an enormous context-window and navigation burden on any agent. While the count faithfully mirrors the official EasyEDA Pro API surface, such a monolithic server should be split into focused servers (schematic, PCB, library, system) to be usable in practice.
The surface is exceptionally complete, covering the full EDA lifecycle: project/document/folder/team management, schematic and PCB primitives with full CRUD, DRC rules (net classes, differential pairs, configurations), layer management, library operations (symbols, footprints, devices, CBBs, 3D models, simulation models), manufacturing file exports (Gerber, BOM, PDF, DXF, ODB++), event listeners, and system utilities (math, units, file system, message bus). No significant gaps are apparent in the provided subset.
Maintenance
Related MCP Connectors
MCP server to assist with JxBrowser development.
Live browser debugging for AI assistants — DOM, console, network via MCP.
Your org's AI agents, tasks, runs, search, and brain files as MCP tools and resources.
Give any MCP-compatible AI assistant a builder for live, hosted web tools and workflows.
Related MCP Servers
- AlicenseBqualityCmaintenanceEnables MCP clients to control JLCPCB EDA (嘉立创 EDA) for PCB and schematic design operations through a bridge and plugin architecture.38MIT
- AlicenseBqualityCmaintenanceEnables MCP clients to control EasyEDA Pro for schematic and PCB design through natural language, bridging the EasyEDA API without external AI or API keys.49MIT
- AlicenseNot gradedqualityBmaintenanceEnables MCP clients like Claude Code to control a running EasyEDA Pro instance for PCB design automation, including DRC checks, project management, and script execution via a bridge server.7 npmMIT
- FlicenseBqualityBmaintenanceConnects Jia Li Chuang EDA / EasyEDA Pro schematics to MCP clients, enabling AI-driven schematic editing, reading, and analysis.19-