Skip to main content
Glama
lazyq666

Illustrator MCP Unified

by lazyq666

Illustrator MCP Unified

这是一个根据 ie3jp/illustrator-mcp-server 和 ajfonthemove/illustrator-mcp 制作的 MCP,当前工具数量 77。

经过我自己的测试,在本机 macOS(Apple Silicon)+ Adobe Illustrator 2026(30.2.1) 上运行良好,可以在后台静默完成任务,不需要保持 Illustrator 在前台。

PS:如果你无法使用,可以自己用你的 AI 修复看看。

本项目以 ie3jp/illustrator-mcp-server 的 67 个工具为基础,参考 ajfonthemove/illustrator-mcp 的通用脚本入口思路,增加后台执行、任务恢复和批量制卡能力。通用脚本入口重新实现,并统一到同一个执行器中。

可以做什么

  • 读取和编辑 Illustrator 文档、图层、路径、文字、图片,保存和导出作品。

  • 默认后台执行,不主动把 Illustrator 切到前台,不通过模拟鼠标键盘完成任务。

  • 通过 run_script 运行可信的 ExtendScript,补充专用工具没有覆盖的操作。

  • 按模板批量制卡:复制完整图层、替换蒙版内图片、导入可编辑 PDF 字稿、生成名称渐变衬边。

  • 保存后重新打开文件检查结构,导出预览供 AI 和用户检查。

  • 多个调用共用任务占用记录,避免同时修改文档;超时后保留记录,不盲目重跑。

工具清单见 docs/TOOLS.md。

Related MCP server: indesign-mcp-server

安装

需要 Node.js 22.12 或更高版本、macOS,以及已经安装的 Adobe Illustrator。当前公开版本以 macOS 为验证范围;没有验证 Windows 的后台行为。

在终端执行:

git clone https://github.com/lazyq666/illustrator-mcp-unified.git
cd illustrator-mcp-unified
npm ci
npm run build
npm run verify
npm run configure

build 把源码生成可运行程序;verify 检查 MCP 连接、77 个工具和后台配置,不修改 Illustrator 文档。configure 根据这台电脑的实际路径生成连接配置,也不会修改你的个人设置。

如果安装了多个 Illustrator 版本,可明确选择:

npm run configure -- --app "/Applications/Adobe Illustrator 2026/Adobe Illustrator.app"

连接 Codex

生成的 generated/codex-config.toml 是需要合并到 Codex 配置中的 MCP 条目。保留其他设置;已有同名条目时先备份再替换,避免重复添加。

也可以把 generated/安装到Codex的提示词.txt 发给 Codex,让它按实际路径完成配置和配套 skill 安装。

配置后重新连接 MCP。开始操作前,先手动打开 Illustrator;首次连接时,macOS 可能要求允许客户端自动化控制 Illustrator。

连接其他 MCP 客户端

使用生成的 generated/mcp-config.json,将其中的 mcpServers 条目合并到支持本地 stdio MCP 的客户端配置中。stdio 是由客户端直接启动本机程序的连接方式,不需要部署服务器或填写 API Key。

配置结构如下,实际使用时优先复制生成的文件:

{
  "mcpServers": {
    "illustrator-mcp-server": {
      "command": "/absolute/path/to/node",
      "args": ["/absolute/path/to/illustrator-mcp-unified/dist/index.js"],
      "env": {
        "ILLUSTRATOR_MCP_BACKGROUND": "1",
        "ILLUSTRATOR_MCP_STATE_DIR": "/absolute/path/to/illustrator-mcp-unified/var",
        "ILLUSTRATOR_MCP_APP_PATH": "/Applications/Adobe Illustrator 2026/Adobe Illustrator.app",
        "ILLUSTRATOR_MCP_KEEP_AWAKE": "1"
      }
    }
  }
}

为兼容配套 skill,连接条目保留 illustrator-mcp-server 这个名称。原来的同名 MCP 和 illustrator-bridge 应停用,避免 AI 混用多个 Illustrator 入口。

移动项目文件夹后,重新运行 npm run configure 并更新客户端配置。该版本通过 GitHub 源码分发,尚未发布到 npm。

使用与配套 skill

连接后可以这样告诉 AI:

先检查统一 Illustrator MCP 的运行状态,确认后台模式正常,再读取当前文档的图层结构。不要切换 Illustrator 到前台。

get_runtime_status 的预期值:

字段

预期

version

1.8.0-local.1

revision

20261016.1

background

true

computer_use_fallback

false

state_directory

配置中指定的 var 目录

execution、batch

空闲时均为 null

可选制卡 skill 位于 skill-template/illustrator-batch-cards。请安装 configure 生成的 generated/illustrator-batch-cards,它已填入本机状态目录,原始模板中的占位符不能直接使用。

该 skill 要求每次文档操作前检查版本和后台状态。检查不符就停止并提示,不自动切换其他 MCP、Computer Use 或终端脚本。批量任务返回 ready_for_visual_review 只表示结构检查通过,仍需查看导出的预览。

后台运行的范围

  • Illustrator 必须已经打开,macOS 用户会话保持登录。屏幕可以锁定,但电脑不能进入系统休眠。

  • 执行时默认临时阻止空闲休眠,允许熄屏和锁屏;合盖、手动休眠、退出登录和退出 Illustrator 会影响任务。

  • 依赖弹窗、菜单或剪贴板的操作可能被后台策略拒绝,不会自动转为电脑操作。

  • run_script 面向可信脚本,包含后台策略和语法检查,但不是隔离恶意代码的安全沙箱。

  • 批量制卡需要先检查并整理实际模板。字体、链接素材、特殊效果和不同 Illustrator 版本都可能影响结果。

  • 任务超时不等于 Illustrator 已经停止。先读状态和日志;recover_execution 仅在有完成证据时释放占用记录,不会取消或重跑任务。

测试与开发

npm run check

当前源码包含 225 个自动测试,另有 MCP 连接和工具数量检查。开发过程中在上述本机环境验证过后台保存、重开、导出、两张卡的批量生成,以及锁屏期间继续执行。这些测试不代表 77 个工具、所有模板和所有 Illustrator 版本均已完整验证。

请勿提交 generated/、var/、个人客户端配置或作品素材;这些本机文件已经加入 .gitignore。

来源与许可

本仓库使用 MIT License。更多版本来源见 NOTICE.md。这是个人使用与分享的社区项目,与 Adobe 没有官方隶属关系。

Available Tools

77 tools
align_objectsAlign ObjectsC

Align and/or distribute multiple objects by their UUIDs

ParametersJSON Schema
NameRequiredDescriptionDefault
uuidsYesUUIDs of objects to align (minimum 2)
alignmentNoAlignment direction
referenceNoAlign relative to selection bounding box or active artboardselection
distributeNoDistribute objects evenly
coordinate_systemNoCoordinate system. Auto-detected from document by default (CMYK/print → document, RGB/web → artboard-web). artboard-web: origin at active artboard top-left, Y-down. document: Illustrator native coords, origin at bottom-left, Y-up. Call get_document_info to check which system is active.

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=false, idempotentHint=false, and destructiveHint=false, so the agent knows this mutates the document without destroying content. The description adds nothing beyond 'by their UUIDs' – it does not explain what state changes occur, whether prior selection matters, or how the operation interacts with the active artboard.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no wasted words. It is appropriately sized for the tool, though 'and/or' is a small ambiguity that a slightly more explicit phrasing could resolve.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, and annotations cover the safety profile, so the burden shifts to the description to convey behavior. For a mutation tool this is minimally adequate: the rich schema covers parameters, but nothing states required document state or how results manifest.

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

Parameters3/5

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

Schema description coverage is 100%, so all five parameters (including enums and the coordinate_system nuance) are already documented in the schema. The description only restates the UUID input concept, adding no syntax or format detail 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.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (align/distribute) and resource (multiple objects), identified via UUIDs. This distinguishes it from siblings like select_objects or modify_object, though it does not explicitly name an alternative. The two behaviors (align and distribute) are named but not separated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this versus alternatives such as modify_object or select_objects, and no prerequisites (e.g., needing an active document or pre-existing selection). The 'and/or' leaves the agent to infer whether alignment and distribution are mutually exclusive or combinable.

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

apply_graphic_styleApply Graphic StyleB

Apply a graphic style to objects. Runs without activating Illustrator in default background mode; never invokes Computer Use.

ParametersJSON Schema
NameRequiredDescriptionDefault
mergeNotrue = merge with existing appearance, false = replace
uuidsYesUUIDs of target objects
style_nameYesName of the graphic style to apply

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare the mutation profile (readOnly=false, destructive=false, non-idempotent). The description adds genuinely useful execution context — background mode with no Illustrator activation and no Computer Use invocation — but says nothing about what happens to existing appearances or whether target UUIDs must be selected/visible.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with zero waste; the core purpose is front-loaded and the execution-mode note follows as supporting context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a three-parameter mutation tool with no output schema, the definition covers the purpose but omits how the style is identified, what the response looks like, and any failure conditions (e.g., unknown style name or invalid UUIDs).

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

Parameters3/5

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

Schema description coverage is 100%, so merge/uuids/style_name are fully documented in the schema itself. The description adds no parameter-level meaning beyond that, which makes the baseline 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Apply a graphic style to objects'), which distinguishes it from sibling apply_text_style by the resource. It does not, however, explicitly name the sibling it differs from or clarify how it relates to list_graphic_styles.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this versus alternatives such as apply_text_style or run_script, and no stated precondition (e.g., that the style name must already exist, discoverable via list_graphic_styles). The agent must infer the workflow entirely.

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

apply_text_styleApply Text StyleA

Apply a character or paragraph style to a text frame. Runs without activating Illustrator in default background mode; never invokes Computer Use.

ParametersJSON Schema
NameRequiredDescriptionDefault
uuidYesUUID of the text frame
style_nameYesName of the style
style_typeYesType of style to apply
clear_overridesNoClear existing formatting overrides before applying

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false). The description adds genuinely non-redundant behavioral context: it runs without activating Illustrator in default background mode and never uses Computer Use, which tells an agent this is safe to run headlessly. It does not, however, disclose what clear_overrides destroys or how failures surface.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with the core purpose front-loaded and no filler. The second sentence is somewhat tangential to purpose but still carries useful execution-mode information, so it earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Parameters and annotations are fully specified, but with no output schema the description never indicates what a successful call returns, whether the operation is reversible (an 'undo' sibling exists), or how to recover from a failed application. Adequate but with clear gaps for a mutating tool.

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

Parameters3/5

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

Schema description coverage is 100% with all four parameters documented, including the style_type enum, so the schema carries the full parameter burden. The description adds no format or constraint detail beyond it, matching the baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Apply a character or paragraph style to a text frame') and the style_type enum narrows it precisely. This distinguishes it from siblings like apply_graphic_style and list_text_styles without the agent needing to open a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the verb (apply an existing style to a text frame) but there is no explicit when-to-use guidance, no mention of how to discover valid style names (e.g. list_text_styles), and no statement of when to prefer apply_graphic_style instead.

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

assign_color_profileAssign Color ProfileA
Destructive

Assign (tag) a color profile to the document. WARNING: This only changes the profile tag — it does NOT convert color values (ICC conversion). For full conversion, use Edit > Convert to Profile in Illustrator. Runs without activating Illustrator in default background mode; never invokes Computer Use.

ParametersJSON Schema
NameRequiredDescriptionDefault
profileYesColor profile name or path

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and readOnlyHint=false, so the safety profile is covered. The description adds real value beyond them by clarifying the effect is tag-only with no ICC conversion, plus a note on background execution. It still doesn't explain why the op is destructive or whether the change is reversible.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The action is front-loaded, followed by a clearly-marked warning and the alternative, so an agent reading only the first sentence grasps the tool. The closing note about not invoking Computer Use is slightly meta but does not bury the key content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter mutation with no output schema, the description supplies purpose, the key caveat, and the alternative. It is largely complete; the only minor gap is the absence of any note on reversibility or required context, which the destructiveHint hints at but does not explain.

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

Parameters3/5

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

Schema coverage is 100% and the single 'profile' parameter is documented as 'Color profile name or path'. The description adds no syntax, format, or naming detail beyond the schema, so the baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Assign (tag) a color profile to the document') and immediately disambiguates it from the similarly-named conversion operation. An agent can tell it apart from siblings like replace_color or manage_swatches without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Clearly states the boundary of the tool ('only changes the profile tag — it does NOT convert color values') and points to the alternative for full conversion. However, the alternative named is an Illustrator UI path rather than a sibling MCP tool, so routing among the listed tools is not fully resolved.

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

batch_cardsA
Destructive

Start a detached background card job from a saved normalized AI template and confirmed content. Creates a new output, copies linked images into Links, clones complete layers, replaces named text/images, imports optional PDF name paths and builds backing. Saves each card, removes template copies, reopens for structural checks and exports previews. No image downscaling or UI fallback. Return is job acceptance, not completion; poll get_batch_status and visually inspect previews. One simple card template per source document; verify the template first.

ParametersJSON Schema
NameRequiredDescriptionDefault
cardsYes
gap_ptNo
columnsNo
output_pathYesNew .ai path; existing outputs are refused
template_pathYesSaved, normalized AI template; original file is preserved
template_artboardNo
expected_sublayersNo

TDQS

A4.1/5.0
Behavior5/5

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

With destructiveHint=true, openWorldHint=false already declared, the description adds substantial context: it is a detached/async job whose return is acceptance not completion, it makes no image downscaling and has no UI fallback, it removes template copies, and it reopens documents for structural checks. This goes well beyond what the annotations convey and is highly actionable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose is front-loaded in the first sentence and every sentence carries operational information. It is dense and slightly run-on in the middle process narration, but nothing is filler and nothing important is buried.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex, mutation-heavy, async tool with no output schema and sparse parameter documentation, the description covers the critical unknowns: async behavior, next-step polling, template verification prerequisite, and preview inspection. It falls short only on the un-narrated layout parameters.

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

Parameters3/5

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

Schema description coverage is only 29%, so the description must carry more weight. It conceptually explains cards (text/image replacement), name_art PDF path import and backing construction, but says nothing about columns, gap_pt, template_artboard, expected_sublayers, or aligned_image_pairs, leaving several parameters undocumented in both places.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence gives a specific verb and resource ('Start a detached background card job from a saved normalized AI template and confirmed content'), which is far more precise than the bare name 'batch_cards'. It implicitly separates itself from validate_cards (template must be verified first) and get_batch_status (poll after), though it never states the card-generation vs. validation boundary outright.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states a clear precondition ('verify the template first', 'One simple card template per source document') and a clear follow-up ('poll get_batch_status and visually inspect previews'). It names sibling tools for the surrounding workflow, but does not discuss when this tool is the wrong choice or what alternatives exist for other card scenarios.

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

build_name_backingB
Destructive

Duplicate an editable name face behind itself, apply a template gradient or explicit RGB stops, and attach a live Offset Path effect. Preserves face holes and separate face/backing objects. Bounds and thickness are native document points; visual review is still required.

ParametersJSON Schema
NameRequiredDescriptionDefault
styleYes
face_nameYes
document_pathYes
root_layer_pathYes

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already flag destructiveHint=true and readOnlyHint=false, so safety is covered. The description adds genuinely non-obvious behaviour: face holes are preserved, face and backing remain separate objects, and 'visual review is still required' warns the agent that output may not look correct. It still omits whether the source face is modified or what the tool returns.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three dense sentences, front-loaded with the operation and followed by the two actionable caveats. No filler; the only mild dilution is the middle sentence, which could be merged into the parameter clause.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema and no annotation-level detail on mutation semantics, so the description must be self-sufficient. It covers behaviour well but leaves a 4-required-parameter, nested-object schema largely opaque, which is thin for a destructive compound operation.

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

Parameters3/5

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

Schema coverage is 0%, so the description carries the full load. It meaningfully explains the gradient_name-vs-stops fork and that bounds/thickness (offset_pt) are in native document points, but document_path, root_layer_path, face_name, backing_name and angle get no explanation at all.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific compound verb+resource: duplicate a name face, apply a gradient, attach an Offset Path effect. An agent can tell it apart from generic siblings like duplicate_objects or duplicate_layer_tree. It stops short of explicitly naming which sibling to prefer when the goal is simpler.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use or when-not-to-use guidance and no named alternative (create_gradient, duplicate_objects, apply_graphic_style are all plausible neighbours). The only routing hint is the implicit 'template gradient or explicit RGB stops' fork, which is about parameters, not tool selection.

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

check_contrastCheck ContrastA
Read-onlyIdempotent

Check WCAG color contrast ratios. Manual mode: provide two colors. Auto mode: detect overlapping foreground/background pairs in the document. Note: GrayColor uses ink-quantity interpretation (0=white, 100=black), which differs from the API reference.

ParametersJSON Schema
NameRequiredDescriptionDefault
color1NoFirst color (manual mode)
color2NoSecond color (manual mode)
auto_detectNoAuto-detect overlapping foreground/background color pairs in the document

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, openWorldHint=false, so the safety profile is covered. The description adds an edge-case note about GrayColor's ink-quantity interpretation differing from the API reference, which is valuable domain-specific behavioral context, but does not cover return values or failure modes. With annotations already covering safety, a 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with the core purpose, then modes, then an important caveat. Zero waste; every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given readOnly annotations, 100% schema coverage, and no output schema, the description covers the purpose, modes, and a non-obvious edge case (GrayColor). It's complete enough for an agent to call correctly, though it could mention output format or how WCAG thresholds are reported.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all parameters, including nested color objects with types (cmyk/rgb/gray). The description implies the manual mode requires two color objects, but does not add meaning beyond the schema for individual color properties. Baseline 3 is correct when schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: check WCAG color contrast ratios. It distinguishes two operating modes (manual vs auto), which is useful. However, it doesn't differentiate itself from siblings like get_colors or preflight_check, which might relate to color/compliance checks, so sibling differentiation is absent.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly describes two usage modes: manual mode requires providing two colors, auto mode detects overlapping pairs. This tells the agent when to use each mode, though it doesn't state when to use this tool versus alternatives like get_colors or preflight_check.

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

check_text_consistencyCheck Text ConsistencyA
Read-onlyIdempotent

Analyze text frames for dummy/placeholder text and known notation variation patterns (katakana long vowel, fullwidth/halfwidth, wave dash/tilde). Returns all text contents for LLM-driven deeper analysis of inconsistencies, typos, and version mismatches. Note: AI analysis may miss errors and does not replace a human text review.

ParametersJSON Schema
NameRequiredDescriptionDefault
artboard_indexNoFilter by artboard index (0-based)
coordinate_systemNoCoordinate system. Auto-detected from document by default (CMYK/print → document, RGB/web → artboard-web). artboard-web: origin at active artboard top-left, Y-down. document: Illustrator native coords, origin at bottom-left, Y-up. Call get_document_info to check which system is active.

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already establish read-only, idempotent, non-destructive behavior, so the bar is lower, and the description still adds real value: it discloses that it returns all text contents, that deeper analysis is LLM-driven, and that the AI analysis may miss errors and does not replace human review. That caveat is exactly the kind of trust-calibration context annotations cannot express. It omits scope/pagination details, so not a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences with the core capability front-loaded and the limitation note placed last where it belongs. The phrase 'for LLM-driven deeper analysis' is slightly meta but still earns its place by setting expectations about output.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description correctly carries the burden of describing the return ('Returns all text contents') and the reliability caveat. What is missing is scope clarity — whether the scan covers the whole document or only the filtered artboard — which matters given the artboard_index filter.

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

Parameters3/5

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

Schema description coverage is 100%, so both artboard_index and coordinate_system are fully documented in the schema, including the auto-detection rule and the pointer to get_document_info. The description adds no parameter-level meaning beyond that, making the baseline 3 correct.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource ('Analyze text frames') plus the concrete detection targets (dummy/placeholder text, katakana long vowel, fullwidth/halfwidth, wave dash/tilde), which is far more informative than the title. It stops short of explicitly distinguishing itself from close siblings like list_text_frames or get_text_frame_detail, which an agent might also consider for text inspection.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: the reader infers this is a pre-handoff QA/consistency check on document text. There is no explicit when-to-use, no statement of when to prefer this over list_text_frames or get_text_frame_detail, and no mention of prerequisites or scope (whole document vs. active artboard).

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

close_documentClose DocumentA
Destructive

Close the active Illustrator document. Runs without activating Illustrator in default background mode; never invokes Computer Use.

ParametersJSON Schema
NameRequiredDescriptionDefault
saveNoWhether to save before closing (default: false)

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true and readOnlyHint=false, so the agent knows this is a risky mutation. The description adds useful execution context (background mode, never invokes Computer Use), but omits the critical consequence that unsaved changes are lost given save defaults to false.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, purpose front-loaded, no filler. The execution-mode note is compact and earns its place for an agent operating in headless contexts.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With annotations covering the destructive profile and the schema covering the save flag, the description only needs to add operational context, which it does via the background-mode note. Minor gap: it never states what happens to unsaved work when save is omitted.

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

Parameters3/5

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

Schema coverage is 100% and the single 'save' parameter is fully documented there, including its default. The description adds no syntax or behavior detail beyond the schema, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Close the active Illustrator document'), which is unambiguous and clearly separable from siblings like save_document, create_document, or open_document. No ambiguity about scope ('active' document).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this versus save_document or delete_objects, and no mention that closing discards unsaved state unless save=true. The one implicit context is that it assumes an active document exists, which is never stated.

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

convert_coordinateConvert CoordinateA
Read-onlyIdempotent

Convert a point between artboard and document coordinate systems in the active document.

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesDestination coordinate system
fromYesSource coordinate system
pointYesPoint to convert

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description adds only the 'active document' scoping context; it says nothing about out-of-bounds points, whether units matter, or precision/rounding behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One sentence, no filler, scoping detail front-loaded. Nothing could be removed without losing information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple, annotation-covered pure function the description is nearly adequate, but with no output schema it never states what is returned (a converted {x, y} point, and in which units/frame). Nested point object handling is also left entirely to the schema.

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

Parameters3/5

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

Schema description coverage is 100% and both enum parameters are self-documented ('Source coordinate system', 'Destination coordinate system'), so the baseline of 3 applies. The description's only parameter-relevant signal is that 'from'/'to' must be the two named systems, which the enum already conveys.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb (convert) plus a precise resource (a point between artboard and document coordinate systems) and scope (the active document). No sibling tool performs coordinate translation, and the description makes the transformation direction explicit via 'between ... and ...'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied rather than stated: an agent can infer this is for translating coordinates when crossing the artboard/document boundary, and 'in the active document' hints at a precondition. However, there is no explicit when-to-use trigger, no statement that this is the only supported conversion path, and no note about needing an open document with artboards.

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

convert_to_outlinesConvert to OutlinesB
Destructive

Convert text to outlines. Runs without activating Illustrator in default background mode; never invokes Computer Use.

ParametersJSON Schema
NameRequiredDescriptionDefault
targetYesTarget: "selection" (selected), "all" (all text), or layer name

TDQS

B3.3/5.0
Behavior3/5

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

The description adds execution-mode context ("runs without activating Illustrator in default background mode; never invokes Computer Use") that annotations do not cover. But for a tool annotated destructiveHint=true and idempotentHint=false, it never says what is destroyed: the text loses editability and the conversion is not reversible. That is the most important behavioral fact and it 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, core action front-loaded, and the runtime caveat second. No filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

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 carries the return-value burden and stays silent on it. For a destructive, non-idempotent operation on a single required target, it should at least note irreversibility or the undo path (a sibling `undo` exists).

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

Parameters3/5

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

Schema description coverage is 100% and the single target parameter is fully documented in the schema, including the "selection"/"all"/layer-name semantics. The description adds nothing about the parameter, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ("Convert text to outlines"), which is unambiguous and matches the title. However, it does not distinguish itself from the many other text-related siblings (list_text_frames, apply_text_style, create_path_text) or explain what "outlines" means operationally (text becomes vector paths).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance, no prerequisites, and no mention of when this is preferable to run_script or other text manipulation tools. The two sentences address execution mechanics, not selection criteria.

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

create_crop_marksCreate Crop Marks (トンボ)A

Create crop marks (トンボ / trim marks) on the active artboard or selected objects. By default, creates marks for the artboard and expands the artboard to include all marks. With use_selection=true, creates marks for the currently selected object(s) without modifying the artboard. Automatically selects Japanese-style (日本式) or Western-style crop marks based on locale. Runs without activating Illustrator in default background mode; never invokes Computer Use.

ParametersJSON Schema
NameRequiredDescriptionDefault
styleNoCrop mark style. "japanese" = double-line marks with 3mm bleed indication (日本式トンボ). "western" = single-line marks (西洋式トンボ). "auto" = detect from locale parameter or Illustrator locale.auto
localeNoUser locale (e.g. "ja", "ja-JP", "en-US", "de-DE"). Used to auto-detect crop mark style when style is "auto". Japanese locales (ja*) → Japanese marks, others → Western marks. If omitted, falls back to Illustrator's own locale setting.
use_selectionNoIf true, create crop marks for the currently selected object(s) instead of the artboard. The artboard will NOT be modified. If false (default), creates marks for the artboard and expands it to fit.
artboard_indexNoTarget artboard index (0-based). Defaults to the currently active artboard. Ignored when use_selection is true.

TDQS

A4.4/5.0
Behavior5/5

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

Annotations only cover the safety profile (readOnlyHint=false, destructiveHint=false); the description goes further by disclosing that the default path expands the artboard to include all marks (a side effect the annotations do not reveal) and that use_selection leaves the artboard untouched. It also adds runtime context ('runs without activating Illustrator in default background mode; never invokes Computer Use'), which materially affects how an agent should call it.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four tightly packed sentences, front-loaded with the artifact and its scope before the mode-dependent behavior. Every sentence carries distinct information (default vs selection behavior, style auto-detection, background execution).

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 4-param creation tool with no output schema, the description covers scope, side effects, and execution mode adequately. It does not describe what the tool returns or any confirmation of created marks, which is a minor gap given there is no output schema to rely on.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema fully documents all four parameters. The description largely restates what the schema already says about use_selection and style, adding only the artboard-expansion consequence. 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.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Create crop marks (トンボ / trim marks)') and names the two scopes it operates on (active artboard or selected objects). No sibling tool does crop marks, so it is unambiguously distinguishable from the surrounding create_*/get_* set.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Clearly contrasts default behavior ('creates marks for the artboard') against use_selection=true ('creates marks for the currently selected object(s) without modifying the artboard'), giving the agent a decision rule. It stops short of naming an alternative sibling or an explicit when-not-to-use, so it is not a 5.

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

create_documentCreate DocumentB

Create a new Illustrator document. Runs without activating Illustrator in default background mode; never invokes Computer Use.

ParametersJSON Schema
NameRequiredDescriptionDefault
widthNoDocument width in points (default: A4 width 595.28pt)
heightNoDocument height in points (default: A4 height 841.89pt)
color_modeNoColor mode (default: rgb)rgb

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already specify openWorldHint=false and destructiveHint=false, covering safety. The description adds operational detail: it runs in default background mode and never invokes Computer Use, which is useful context about execution environment. However, it doesn't disclose whether the new document becomes active or how defaults are applied.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences with no wasted words, front-loading the core purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity of a 3-parameter creation tool with full schema coverage and annotations, the description is adequate but could mention what happens on success (e.g., returns document reference) or interaction with existing documents. No output schema exists, so return behavior is unknown.

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

Parameters3/5

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

Schema coverage is 100%, so parameters width, height, and color_mode are fully documented in the schema. The description adds no additional parameter information, 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.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb+resource: 'Create a new Illustrator document.' This distinguishes it from sibling creation tools like create_rectangle or create_text_frame. It does not explicitly differentiate from open_document, but the resource 'document' is specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 siblings like open_document or set_workflow. The description only states what it does, not the context for use.

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

create_ellipseCreate EllipseB

Create an ellipse. Runs without activating Illustrator in default background mode; never invokes Computer Use.

ParametersJSON Schema
NameRequiredDescriptionDefault
xYesBounding box top-left X coordinate
yYesBounding box top-left Y coordinate
fillNoFill color
nameNoObject name
widthYesWidth
heightYesHeight
strokeNoStroke settings
layer_nameNoTarget layer name
coordinate_systemNoCoordinate system. Auto-detected from document by default (CMYK/print → document, RGB/web → artboard-web). artboard-web: origin at active artboard top-left, Y-down. document: Illustrator native coords, origin at bottom-left, Y-up. Call get_document_info to check which system is active.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=false, so the mutation/safety profile is covered. The description adds operational context about execution mode (background mode, no Computer Use), which is genuine added value, but says nothing about which document/artboard receives the object, layer defaults, or whether it fails without an open document.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with the action ('Create an ellipse') before the execution-mode note. Nothing is padded, though the second sentence reads as server-wide boilerplate that could be trimmed or replaced with tool-specific behavior.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 9-parameter creation tool with nested color objects and no output schema, the description is minimally viable: the rich schema lets the agent construct the call, but the description omits how the created ellipse is identified/returned for follow-up operations and whether a target document must already be open.

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

Parameters3/5

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

Schema description coverage is 100%, including a well-documented coordinate_system enum with auto-detection rules, so the schema does the heavy lifting and the baseline is 3. The description adds no parameter-level meaning (no note on fill/stroke defaults, layer_name behavior, or units) beyond what the schema already says.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Create an ellipse'), matching the name precisely and clearly placing it among the sibling create_* tools (create_rectangle, create_line, create_path). It does not, however, explicitly differentiate itself from those siblings or state what shape/scope is produced.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 versus create_rectangle, create_path, or create_line, nor any prerequisites (e.g., an open document, active artboard) or conditions under which it should not be used. The agent is left 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.

create_gradientCreate GradientA

Create a gradient in the document and optionally apply it to objects. Runs without activating Illustrator in default background mode; never invokes Computer Use.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesGradient name
typeNolinear
angleNoGradient angle (for linear). Note: may not take effect due to a long-standing Illustrator bug (since 2008).
stopsYesGradient stops (minimum 2)
apply_to_uuidsNoUUIDs of objects to apply this gradient as fill

TDQS

A3.6/5.0
Behavior4/5

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

Annotations cover the safety profile (readOnlyHint=false marking a write, destructiveHint=false), lowering the bar, and the description adds genuinely useful runtime context: it runs in background mode without activating Illustrator. It still omits mutation-specific behavior such as duplicate-name handling (relevant given idempotentHint=false) and whether applying overwrites existing fills.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences with the core action front-loaded. The execution-mode clause is a little tangential but compact and non-redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 5-parameter mutation tool with no output schema, the description covers purpose and execution but says nothing about the return value or where the created gradient lands (swatch library vs document), leaving the agent to infer the outcome.

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

Parameters3/5

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

Schema description coverage is 80%, so the schema does the heavy lifting on name, type, angle, stops and apply_to_uuids. The description adds no parameter-level meaning (e.g., stop ordering or how apply_to_uuids interacts with the created gradient), so the baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Create') and resource ('a gradient in the document') plus its optional secondary effect ('apply it to objects'). No sibling tool creates gradients, so it is trivially distinguishable from the rectangle/ellipse/path creation tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no when-to-use or when-not-to-use guidance, and names no alternative (e.g., manage_swatches for existing gradients). An agent gets the operation but no routing context.

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

create_lineCreate LineB

Create a line. Runs without activating Illustrator in default background mode; never invokes Computer Use.

ParametersJSON Schema
NameRequiredDescriptionDefault
x1YesStart point X coordinate
x2YesEnd point X coordinate
y1YesStart point Y coordinate
y2YesEnd point Y coordinate
nameNoObject name
strokeNoStroke settings
layer_nameNoTarget layer name
coordinate_systemNoCoordinate system. Auto-detected from document by default (CMYK/print → document, RGB/web → artboard-web). artboard-web: origin at active artboard top-left, Y-down. document: Illustrator native coords, origin at bottom-left, Y-up. Call get_document_info to check which system is active.

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnly=false, destructive=false, and non-idempotent, so the safety profile is partly covered. The description adds genuinely new behavioral context about running in default background mode without activating Illustrator or invoking Computer Use, but omits whether it modifies the active document or what it appends to.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tightly packed sentences with the core action front-loaded and zero filler. Nothing is redundant and the execution-mode note is kept brief.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The rich schema fully covers all 8 parameters and there is no output schema to explain, so return values need no mention. Still, for a document-mutating creation tool the description leaves out prerequisites and interaction with the target document/layer, leaving modest gaps.

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

Parameters3/5

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

Schema description coverage is 100%, with x1/y1/x2/y2, the nested stroke object, and the coordinate_system enum all documented inline. The description adds no meaning beyond that, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ("Create a line"), which cleanly distinguishes it from the shape siblings create_rectangle and create_ellipse. However it never contrasts itself against create_path, which also draws geometry, so the boundary is 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.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use create_line versus alternatives such as create_path or the other create_* shape tools, and no stated prerequisites (e.g. whether a document must be open). The second sentence describes execution mode, not usage context.

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

create_pathCreate PathB

Create a custom path. Runs without activating Illustrator in default background mode; never invokes Computer Use.

ParametersJSON Schema
NameRequiredDescriptionDefault
fillNoFill color
nameNoObject name
closedNoWhether to close the path
strokeNoStroke settings
anchorsYesArray of anchor points
layer_nameNoTarget layer name
coordinate_systemNoCoordinate system. Auto-detected from document by default (CMYK/print → document, RGB/web → artboard-web). artboard-web: origin at active artboard top-left, Y-down. document: Illustrator native coords, origin at bottom-left, Y-up. Call get_document_info to check which system is active.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false and destructiveHint=false, telling the agent this is a non-destructive write. The description adds a genuine non-annotation detail (background mode, no Computer Use), but omits mutation specifics such as which document/layer is affected and whether the action is undoable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with the core action front-loaded and no filler. The second sentence is somewhat tangential (execution environment) but short and plausibly useful to an agent deciding how to invoke it.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 7 parameters, nested anchor objects, and no output schema, an agent has enough from the schema to construct the call. However the description does not say what is returned, whether the path is created on the active document or layer, or how it interacts with layer_name, leaving moderate gaps for a creation tool.

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

Parameters3/5

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

Schema description coverage is 100%, with anchors, fill, stroke, coordinate_system and layer_name all documented in the schema, including the enum's auto-detection logic. The description contributes nothing 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.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Create a custom path'), which clearly reads as freeform anchor-based drawing. It does not distinguish itself from the sibling creation tools (create_rectangle, create_ellipse, create_line, create_path_text), so an agent must infer that 'custom path' means arbitrary anchors rather than a primitive.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance and no mention of alternatives such as create_line, create_rectangle, or import_svg_as_editable for arbitrary geometry. The only extra sentence is about execution mode, not about tool selection or prerequisites.

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

create_path_textCreate Path TextB

Create a text frame that flows along a path. Runs without activating Illustrator in default background mode; never invokes Computer Use.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoObject name
contentsYesText contents
font_nameNoFont name (partial match, e.g. "Arial"). Use list_fonts to find exact PostScript names.
font_sizeNoFont size (pt)
path_uuidYesUUID of the path to place text along
layer_nameNoTarget layer name

TDQS

B3.2/5.0
Behavior3/5

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

Annotations declare readOnlyHint=false, openWorldHint=false, idempotentHint=false, destructiveHint=false, so the mutation profile is covered. The description adds genuine execution context ('background mode', 'never invokes Computer Use'), but says nothing about whether an existing path text is replaced or how failures on a bad path_uuid behave.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, purpose first, no padding or repetition of the title. The second sentence is meta rather than domain behavior, but it is brief and does carry information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a creation tool with no output schema, the definition is adequate but thin: it never says what the call yields (e.g., a new text-frame handle/name) or what happens on an invalid path_uuid. The background-mode note helps, but the create-side contract is left to the schema.

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

Parameters3/5

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

Schema description coverage is 100%, so all six parameters are already documented, including the useful cross-reference to list_fonts in font_name. The description adds no parameter-level meaning beyond the schema, which is the expected baseline at full coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb and resource ('Create a text frame that flows along a path'), which implicitly separates it from the sibling create_text_frame. It stops short of naming that sibling explicitly, so the differentiation is inferable 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.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this instead of create_text_frame or create_path, and no prerequisites stated (e.g., that path_uuid must reference an existing path item, obtainable via get_path_items). 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.

create_rectangleCreate RectangleB

Create a rectangle. Runs without activating Illustrator in default background mode; never invokes Computer Use.

ParametersJSON Schema
NameRequiredDescriptionDefault
xYesTop-left X coordinate
yYesTop-left Y coordinate
fillNoFill color
nameNoObject name
widthYesWidth
heightYesHeight
strokeNoStroke settings
layer_nameNoTarget layer name
corner_radiusNoCorner radius
coordinate_systemNoCoordinate system. Auto-detected from document by default (CMYK/print → document, RGB/web → artboard-web). artboard-web: origin at active artboard top-left, Y-down. document: Illustrator native coords, origin at bottom-left, Y-up. Call get_document_info to check which system is active.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, and idempotentHint=false, so the safety profile is covered. The description does add genuinely new context by disclosing the non-activating background execution path and that Computer Use is never invoked, but it says nothing about the resulting object's state (selection, layer placement) or 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short, front-loaded sentences with no filler; the purpose leads and the execution-mode caveat follows. The second sentence is somewhat narrow in focus but does earn its place as non-obvious behavior.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 10-parameter mutation tool with nested fill/stroke objects and no output schema, the description is thin: it omits defaults (corner_radius=0), layer targeting behavior, and what is returned or selected after creation. The very rich schema and existing annotations compensate substantially, keeping this at a minimum-viable 3.

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

Parameters3/5

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

Schema description coverage is 100%, including a rich explanation of coordinate_system and the nested fill/stroke color variants, so the schema carries the parameter burden. The description adds no parameter-level meaning beyond that baseline, so a 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb+resource ('Create a rectangle'), which is unambiguous. However, it offers no differentiation from the numerous sibling creation tools (create_ellipse, create_line, create_path, create_text_frame), so the agent must rely on the name alone to choose among them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no preconditions (e.g., a document must be open, a target layer must exist), and no mention of alternatives. The only contextual sentence concerns execution mode, not selection between tools.

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

create_text_frameCreate Text FrameB

Create a text frame. Runs without activating Illustrator in default background mode; never invokes Computer Use.

ParametersJSON Schema
NameRequiredDescriptionDefault
xYesX coordinate
yYesY coordinate
fillNoText color
kindNoText frame type (point or area)point
nameNoObject name
widthNoArea text width
heightNoArea text height
contentsYesText contents. Use \n for line breaks (automatically converted to CR for Illustrator).
font_nameNoFont name (partial match, e.g. "Arial", "Helvetica"). Use list_fonts to find exact PostScript names.
font_sizeNoFont size (pt)
layer_nameNoTarget layer name
coordinate_systemNoCoordinate system. Auto-detected from document by default (CMYK/print → document, RGB/web → artboard-web). artboard-web: origin at active artboard top-left, Y-down. document: Illustrator native coords, origin at bottom-left, Y-up. Call get_document_info to check which system is active.

TDQS

B3.1/5.0
Behavior4/5

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

Annotations already declare the write/non-idempotent/non-destructive profile, so the bar is lower. The description adds genuinely new context beyond annotations: it runs in background mode without activating Illustrator and never invokes Computer Use, which tells the agent this call will not hijack the user's UI session. It stops short of describing return behavior or how the new frame is identified.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with the purpose front-loaded and no filler. The second clause is slightly redundant ('without activating Illustrator' vs 'never invokes Computer Use'), which keeps it from a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 12-parameter creation tool with no output schema, the definition covers purpose and execution mode but omits selection guidance against sibling creators and says nothing about what is returned (e.g., the new frame's id/name). The annotation set is minimal, so the description leaves gaps an agent must infer.

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

Parameters3/5

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

Schema description coverage is 100% and the schema is unusually rich (coordinate_system, contents, font_name, fill variants all documented). The description adds no parameter meaning whatsoever and no cross-parameter relationships (e.g., width/height only applying to 'area' kind), so baseline 3 is correct.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description says 'Create a text frame,' which names a concrete verb and resource rather than a vague process, so it is more than empty noise. However it essentially restates the tool name/title, and it does not differentiate from adjacent creation tools such as create_path_text, create_rectangle, or create_path. No scope or output is characterized.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to use this tool versus alternatives (create_path_text, create_rectangle, etc.), no prerequisites, and no conditions. The only sentence beyond the purpose describes execution mode, which is behavioral 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.

delete_objectsDelete ObjectsA
Destructive

Delete one or more objects by UUID (get UUIDs from find_objects / get_layers / get_selection). Locked objects are skipped unless force_unlock is true. Reversible with the undo tool. To delete a whole layer use manage_layers instead. Runs without activating Illustrator in default background mode; never invokes Computer Use.

ParametersJSON Schema
NameRequiredDescriptionDefault
uuidsYesUUIDs of objects to delete
force_unlockNoUnlock locked objects before deleting them (default: false = skip locked objects with an error)

TDQS

A4.9/5.0
Behavior5/5

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

Beyond the destructiveHint=true annotation it discloses concrete behavior: locked objects are skipped unless force_unlock is set, the operation is reversible via the undo tool, and it runs without activating Illustrator (no Computer Use). Those are exactly the operational details annotations cannot express.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four short sentences, front-loaded with the core action and identifier, then constraints, then alternatives, then execution mode. No filler and nothing repeated from the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive two-parameter mutation with no output schema, everything needed to call it safely is present: identifier sourcing, lock handling, reversibility, execution environment, and the layer-wide alternative.

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

Parameters4/5

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

Schema coverage is 100%, so both parameters are already documented, but the description still adds meaning by explaining the interaction between them: force_unlock exists specifically to override the locked-object skip. Slightly above the baseline 3 because it clarifies conditional behavior rather than restating field names.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource with the identifier type ('Delete one or more objects by UUID'), and distinguishes itself from layer-level deletion by naming manage_layers. An agent can pick this out from siblings like duplicate_objects or select_objects immediately.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly routes the agent for UUID discovery (find_objects / get_layers / get_selection), states the locked-object condition, names an alternative for a different scope (manage_layers), and points to the undo path. When-to-use and when-to-use-something-else are both covered.

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

duplicate_layer_treeB
Destructive

Copy a complete layer hierarchy into a new parent layer in the specified open document, preserving item order, clipping groups and child layer state. Native document coordinates in points. Refuses a duplicate target parent.

ParametersJSON Schema
NameRequiredDescriptionDefault
offset_xNo
offset_yNo
document_pathYes
source_layer_pathsYes
target_parent_nameYes

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false and destructiveHint=true, so the safety profile is covered. The description adds real value beyond that: preservation of item order, clipping groups and child layer state, plus a disclosed refusal condition for duplicate targets. Auth requirements and document-side effects remain undocumented, keeping it short of a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with the core action and with no filler. The trailing coordinate/refusal notes are compact, though the coordinate remark is only loosely tied to the actual parameters.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutating tool with no output schema and five parameters at 0% schema coverage, the description gives good preservation semantics but insufficient parameter documentation. An agent knows the intent yet lacks format guidance for the path and offset inputs.

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

Parameters2/5

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

Schema description coverage is 0%, so the description carries the full burden and largely fails it. It vaguely gestures at the target parent and "native document coordinates in points," but leaves offset_x/offset_y, the document_path format, and the nested-array structure of source_layer_paths entirely unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ("Copy") and resource ("a complete layer hierarchy") and states where it lands ("into a new parent layer in the specified open document"). It implicitly separates itself from sibling duplicate_objects by scoping to layer hierarchy rather than objects, though it never names that sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied rather than stated: "in the specified open document" signals the document must be open, and "Refuses a duplicate target parent" hints at a precondition. No explicit when-to-use or when-to-prefer-duplicate_objects guidance is provided, so the agent must infer the routing.

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

duplicate_objectsDuplicate ObjectsB

Duplicate one or more objects, optionally offsetting the copies. Runs without activating Illustrator in default background mode; never invokes Computer Use.

ParametersJSON Schema
NameRequiredDescriptionDefault
uuidsYesUUIDs of objects to duplicate
offsetNoOffset for duplicated objects
target_layerNoLayer name to place duplicates in
coordinate_systemNoCoordinate system. Auto-detected from document by default (CMYK/print → document, RGB/web → artboard-web). artboard-web: origin at active artboard top-left, Y-down. document: Illustrator native coords, origin at bottom-left, Y-up. Call get_document_info to check which system is active.

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare the safety profile (readOnly=false, destructive=false, idempotent=false), so the description only needs to add context. It does add genuinely useful execution context: the operation runs in background mode without activating Illustrator and never uses Computer Use. It omits other relevant behavior such as whether the originals remain selected, whether duplicates inherit the source layer, or what 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, purpose front-loaded, zero filler or restatement of the title. Every clause contributes either the core action or distinct execution context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no output schema and full schema coverage, the description is minimally adequate: it says what happens and how it executes. It leaves out sibling differentiation (duplicate_layer_tree), post-condition state (selection/layer of the new copies), and error expectations when a UUID is invalid or the target layer does not exist.

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

Parameters4/5

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

Schema description coverage is 100% with four well-documented parameters, including the coordinate_system enum with a full explanatory note and a pointer to get_document_info. The description repeats only the 'optionally offsetting' idea already implied by the offset parameter, adding no new semantic detail, but the baseline for full schema coverage is 3 and the nested-object/enum documentation here is unusually thorough.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Duplicate one or more objects') plus an optional behavioral nuance (offsetting the copies). It does not, however, distinguish itself from the closely related sibling 'duplicate_layer_tree', so an agent cannot immediately tell which duplicator applies to its case.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use or when-not-to-use guidance, and no mention of the obvious alternative 'duplicate_layer_tree' or of 'move_to_layer' for repositioning. The agent must infer scope 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.

exportExportA
Idempotent

Export objects, groups, artboards, or selection. Use target "artboard:all" to batch-export every artboard in one call. For single PNG/JPG exports, the exported image is returned as base64 in the response — you can view it directly without reading the file from disk ("artboard:all" returns file paths only). Runs without activating Illustrator in default background mode; never invokes Computer Use.

ParametersJSON Schema
NameRequiredDescriptionDefault
scaleNoScale factor
formatYesExport format
targetYesUUID, "artboard:<index>", "artboard:all" (batch-export every artboard; filenames get "_<n>-<artboardName>" suffixes), or "selection". When exporting a UUID target as PNG/JPG, a temporary document is created internally (selection state may change).
output_pathNoOutput file path. If omitted, auto-generates in the same directory as the document (or ~/Desktop for unsaved documents)
svg_optionsNoSVG export options
raster_optionsNoRaster export options

TDQS

A4/5.0
Behavior5/5

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

Beyond the annotations (which only declare the safety profile), the description discloses execution mode ('runs without activating Illustrator in default background mode; never invokes Computer Use') and the crucial return-shape difference: single PNG/JPG come back as base64 in the response while artboard:all returns file paths only. That is exactly the behavioral context an agent needs and cannot get from the structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences, all front-loaded and substantive: purpose, batch target, return format, execution mode. Every sentence earns its place, with only minor overlap with the schema's own artboard:all note.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 6-parameter tool with nested option objects and no output schema, the description supplies the missing return-value semantics (base64 vs. file paths) and execution context. It leaves output_path behavior and the temp-document side effect to the schema, which is acceptable, but a note on permissions or error cases would round it out.

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

Parameters4/5

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

Schema description coverage is 100%, so the baseline is 3, but the description adds meaning for the target/format interaction (base64 image returned for single PNG/JPG, paths only for artboard:all) that helps the agent pick parameter values. The artboard:all filename-suffix detail is redundant with the schema, keeping this below a 5.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Export) and enumerates the resources it operates on: objects, groups, artboards, selection. It's immediately clear what the tool does. It does not, however, differentiate itself from the sibling export_pdf, leaving the agent to infer which export path to take.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives a conditional for one target value ('Use target "artboard:all" to batch-export every artboard in one call') and explains when base64 vs. file-path returns occur. But it never states when to prefer this tool over export_pdf or other siblings, and gives no prerequisites or exclusions. Usage is implied rather than prescribed.

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

export_pdfExport PDFB
Idempotent

Export print-ready PDF. Runs without activating Illustrator in default background mode; never invokes Computer Use. The exported PDF should be verified by a human before final submission.

ParametersJSON Schema
NameRequiredDescriptionDefault
presetNoPDF preset name (e.g. "[PDF/X-4:2008]")
optionsNoPDF export options
output_pathNoOutput file path. If omitted, auto-generates in the same directory as the document (or ~/Desktop for unsaved documents)

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already declare idempotent=true, destructive=false, and readOnly=false, so the safety profile is covered. The description adds genuinely non-obvious behavioral context: it runs without activating Illustrator, never invokes Computer Use, and its output needs human verification. It does not cover file overwrite behavior or failure modes, keeping it short of a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences with the core action front-loaded and no filler. The final human-verification warning is slightly advisory but earns its place as a workflow constraint for a print-ready deliverable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With three parameters, a nested options object, and no output schema, the description is minimally adequate: it says what the tool produces but not what is returned (e.g. the resulting file path) or what happens when output_path already exists. It is sufficient to invoke correctly but leaves the agent guessing about results and side effects.

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

Parameters3/5

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

Schema description coverage is 100%, including the nested options object with per-field descriptions, so the schema carries the full parameter burden. The description adds no meaning about preset, options, or output_path beyond what the schema states, making the baseline 3 correct.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb+resource ("Export print-ready PDF") and clarifies the output is print-ready, which is meaningful. However, it never differentiates itself from the sibling tool "export" or from preflight_check/validate_cards, leaving the agent to guess when this PDF-specific export is preferred.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as the generic "export" sibling. The only routing-adjacent statement is about execution mode (background, no Computer Use), which describes how it runs rather than when to pick it.

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

extract_design_tokensExtract Design TokensA
Read-onlyIdempotent

Extract colors, typography, and spacing from the document as design tokens in CSS custom properties, JSON, or Tailwind format

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNoOutput formatcss
output_pathNoFile path to save the output (e.g. "/path/to/tokens.json"). If omitted, returns text only.

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so the safety profile is covered. The description adds that output can be a file artifact, which is useful, but it doesn't disclose return structure, whether extraction is lossy, or how output_path interacts with permissions. Adds some value on top of annotations but not rich context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence that names the extraction targets before the output choices, with no filler or redundant clauses. Every phrase earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only, single-purpose extraction tool with no output schema, the description covers the core inputs and output shape adequately. A bit more on what the emitted token set contains (or how output_path omission behaves) would close the remaining gap, but nothing critical is missing.

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

Parameters3/5

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

Schema description coverage is 100%, so the enum values and output_path semantics are already fully documented. The description restates the three formats, which duplicates the enum rather than adding syntax or behavior detail. 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.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Extract) and resource (design tokens) and enumerates exactly what it pulls: colors, typography, and spacing. An agent can distinguish it from get_colors or list_text_styles, which return raw primitives rather than consolidated tokens. No sibling is named, so differentiation is implicit 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.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Listing the three output formats (CSS custom properties, JSON, Tailwind) implies the use case of porting design values into a code-consumable artifact. However, it never says when to prefer this over get_colors/export, or any exclusions, so guidance remains inferred rather than stated.

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

find_objectsFind ObjectsC
Read-onlyIdempotent

Search for objects by specified criteria

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoObject name (partial match)
typeNoObject type
font_nameNoFont name (partial match)
font_sizeNoFont size range
fill_colorNoSearch by fill color. Tolerance defaults to 5 per channel (0-255 for RGB, 0-100 for CMYK). Set tolerance: 0 for exact match.
layer_nameNoLayer name
stroke_colorNoSearch by stroke color. Tolerance defaults to 5 per channel (0-255 for RGB, 0-100 for CMYK). Set tolerance: 0 for exact match.
artboard_indexNoArtboard index (0-based integer)
coordinate_systemNoCoordinate system. Auto-detected from document by default (CMYK/print → document, RGB/web → artboard-web). artboard-web: origin at active artboard top-left, Y-down. document: Illustrator native coords, origin at bottom-left, Y-up. Call get_document_info to check which system is active.

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description adds nothing beyond that — no note on result size, scoping to active document, or behavior when no criteria are supplied, which is real context for a search tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no wasted words. It is efficient, though the terseness is a symptom of under-specification rather than admirable restraint.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 9 parameters, nested color objects, two enums, and no output schema, the definition should say something about the returned shape (objects, ids, or full details) and how criteria combine. Neither is addressed, so the definition is incomplete for the tool's complexity.

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

Parameters3/5

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

Schema description coverage is 100%, including detailed tolerance and coordinate-system semantics, so the schema carries the full burden. The description adds no parameter meaning beyond the schema, which lands at the baseline of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (search/find) and resource (objects) with the scoping notion of criteria-based lookup. It is clear on its own, but it offers no differentiation from siblings that also retrieve object collections such as get_groups, get_layers, or select_objects.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 versus the many other listing/retrieval siblings, no statement of prerequisites, and no mention of whether criteria are AND-combined or what happens with zero criteria. The agent must infer everything from the schema.

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

get_artboardsGet ArtboardsC
Read-onlyIdempotent

Get all artboard information

ParametersJSON Schema
NameRequiredDescriptionDefault
indexNoGet a specific artboard by index (0-based integer)
coordinate_systemNoCoordinate system. Auto-detected from document by default (CMYK/print → document, RGB/web → artboard-web). artboard-web: origin at active artboard top-left, Y-down. document: Illustrator native coords, origin at bottom-left, Y-up. Call get_document_info to check which system is active.

TDQS

C2.5/5.0
Behavior2/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is fully covered. The description adds nothing beyond that — no note on return volume, ordering, or pagination for a list-all call.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single five-word sentence with no waste, but it errs toward under-specification rather than useful brevity — there is essentially no content to front-load.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

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 what 'artboard information' means, since that phrasing implies a return shape the agent cannot otherwise predict. It also fails to resolve the all-vs-index tension, leaving the tool under-described for its scope.

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

Parameters3/5

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

Schema coverage is 100%, including a detailed coordinate_system description, so the schema carries all parameter meaning. The description contributes zero additional parameter context, which matches the baseline 3 for fully-covered schemas.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a verb and resource (get artboards information), which is minimally clear, but 'all' is misleading given an index parameter exists for fetching a single artboard, and nothing distinguishes it from the sibling manage_artboards.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this versus manage_artboards or get_document_structure. The schema hints that get_document_info is relevant for the coordinate system, but the description itself never routes the agent.

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

get_batch_statusA
Read-only

Read a background card job and its per-card progress, prepared plan, log and preview paths. ready_for_visual_review means structural checks passed, not visual approval. Never automatically restart failed or unconfirmed jobs.

ParametersJSON Schema
NameRequiredDescriptionDefault
job_idYes

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered; the description goes further by listing the returned artifacts and, crucially, decoding a status value ('ready_for_visual_review means structural checks passed, not visual approval') and forbidding auto-restart of failed jobs. That is real context beyond structured fields, though it says nothing about polling cadence or job retention.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three compact sentences, front-loaded with the read action and return contents, then the status-semantics caveat and the restart warning. Every sentence carries content, though the first sentence is a dense packed list rather than a clean statement of intent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the return-value burden and does it reasonably: progress, plan, log and preview paths plus the meaning of the key status flag. What remains thin is the input side (how to obtain a valid job_id) and any note on long-running or partial jobs.

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

Parameters3/5

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

One parameter with 0% schema description coverage, so the burden falls on the description, which only indirectly covers job_id via 'Read a background card job' — it never says the id is the UUID returned by batch_cards or what happens on an unknown/expired id. Marginal compensation for the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Read) and resource (a background card job) and enumerates what it surfaces: per-card progress, prepared plan, log and preview paths. Against siblings like batch_cards, validate_cards and get_runtime_status, an agent can tell what this returns without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied — poll this after starting a card job — but no alternative is named and no when-not condition is given, aside from a behavioral prohibition ('Never automatically restart failed or unconfirmed jobs'). That prohibition is guidance about how to act on the result, not about choosing 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.

get_colorsGet ColorsB
Read-onlyIdempotent

Get all color information used in the document

ParametersJSON Schema
NameRequiredDescriptionDefault
include_swatchesNoInclude swatch list
include_diagnosticsNoInclude print diagnostics: gradient color space validation, ink coverage per color, color model mismatch warnings
include_used_colorsNoInclude used color collection

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered without description help. The description adds only the 'used in the document' scoping qualifier; it does not mention that output composition varies by the three include flags or note that swatches may be returned even when unused.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler. The core verb and scope appear immediately, which is ideal for a low-complexity read tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple three-optional-flag read tool with full schema coverage and no output schema, the definition is minimally adequate but leaves the agent guessing about what the return payload contains and how the include flags shape it. Given the absence of an output schema, a sentence about the return shape would have been warranted.

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

Parameters3/5

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

Schema description coverage is 100%, so all three boolean flags (include_swatches, include_diagnostics, include_used_colors) are already documented with defaults in the schema. The description mentions 'color information' generically but does not explain the print-diagnostics or swatch toggles, so it adds nothing beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb (Get) and resource (color information) with a clear scope qualifier ('used in the document'), so an agent knows it returns document color data rather than swatch management. It does not distinguish itself from adjacent siblings like manage_swatches, list_graphic_styles, check_contrast, or replace_color.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 manage_swatches, list_graphic_styles, or check_contrast, nor any exclusion such as 'swatches only, not used colors'. The agent must infer usage purely from the name and sibling list.

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

get_document_infoGet Document InfoC
Read-onlyIdempotent

Get document metadata

ParametersJSON Schema
NameRequiredDescriptionDefault
coordinate_systemNoCoordinate system. Auto-detected from document by default (CMYK/print → document, RGB/web → artboard-web). artboard-web: origin at active artboard top-left, Y-down. document: Illustrator native coords, origin at bottom-left, Y-up. Call get_document_info to check which system is active.

TDQS

C2.2/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds nothing beyond that — no indication of what metadata is returned, whether it is cached, or what fields it exposes.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three words is not conciseness but under-specification; the sentence does not earn its place because it carries no information beyond the tool name and title. Compare the calibration low example where 'Process' scored 2 for the same reason.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description is the only place an agent could learn what this call returns, yet it explains nothing about the returned metadata shape or contents. For a zero-argument utility that other tools reference, this leaves a notable gap.

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

Parameters3/5

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

Schema description coverage is 100%, and the single optional coordinate_system parameter is thoroughly documented in the schema itself (enum values, auto-detection behavior, origin semantics). The description contributes nothing to parameter meaning, but per the high-coverage baseline a 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get document metadata' essentially restates the tool name and title ('Get Document Info') without adding specificity. It does not distinguish this tool from close siblings like get_document_structure, get_runtime_status, or get_artboards, so an agent cannot tell what kind of metadata is returned.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no alternatives named, and no conditions described. Interestingly, the input schema for the sibling parameter mentions calling get_document_info to check the active coordinate system, but that routing hint appears in another tool's schema rather than in this description.

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

get_document_structureGet Document StructureC
Read-onlyIdempotent

Get tree structure of layers, groups, and objects

ParametersJSON Schema
NameRequiredDescriptionDefault
depthNoMaximum traversal depth (unlimited if omitted)
artboard_indexNoFilter by artboard index (0-based integer)
coordinate_systemNoCoordinate system. Auto-detected from document by default (CMYK/print → document, RGB/web → artboard-web). artboard-web: origin at active artboard top-left, Y-down. document: Illustrator native coords, origin at bottom-left, Y-up. Call get_document_info to check which system is active.

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive, and closed-world, so the safety profile is covered. The description adds no behavioral context beyond the purpose line — nothing about output size on large documents, truncation, or cost of traversing deep trees.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence with no filler. It is efficient, though arguably terse for a tool that returns a nested document tree and could use one clause about scope.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only enumeration tool the description is minimally adequate. No output schema exists, so the description could have clarified the returned tree shape, but the absence of behavioral gaps is smaller given the annotations and full parameter coverage.

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

Parameters3/5

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

Schema description coverage is 100% and the parameter docs are detailed (depth semantics, artboard index, coordinate systems with an informative get_document_info pointer). The description adds nothing about parameters, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Get) and resource (tree structure of layers, groups, and objects), which is more than a tautology. However, it does not distinguish itself from close siblings like get_layers, get_groups, or get_document_info, leaving the agent to infer that this tool returns the combined hierarchy.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description offers no when-to-use, when-not-to-use, or alternative-tool guidance. With siblings such as get_layers, get_groups, and find_objects available, an agent gets no signal about when this combined tree view is preferable.

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

get_effectsGet EffectsC
Read-onlyIdempotent

Get effect and appearance information

ParametersJSON Schema
NameRequiredDescriptionDefault
targetNoFilter by UUID for a specific object
selection_onlyNoSelected objects only
coordinate_systemNoCoordinate system. Auto-detected from document by default (CMYK/print → document, RGB/web → artboard-web). artboard-web: origin at active artboard top-left, Y-down. document: Illustrator native coords, origin at bottom-left, Y-up. Call get_document_info to check which system is active.

TDQS

C2.4/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered without the description. The description adds no behavioral context beyond that — no indication of whether it requires a selection, how large the result may be, or whether it errors when no target is given.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is only six words with no punctuation or structure, which is under-specification rather than effective conciseness. There is no front-loaded scope or qualifier to make the brevity useful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

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 beyond the safety profile, so the description should carry the burden of explaining return content and scope, which it does not. For a query tool with a filtering parameter and a coordinate-system mode, the agent has no idea what a result set looks like or how it relates to the current selection.

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

Parameters3/5

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

Schema description coverage is 100%, including a detailed enum explanation for coordinate_system, so the schema does the heavy lifting and the baseline is 3. The description adds nothing about target, selection_only, or coordinate_system beyond what the schema already states.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a verb ('Get') and a resource area ('effect and appearance information'), so the agent knows this is a read for styling/effects data. However, 'effects' and 'appearance' are broad, undefined terms, and the description gives no differentiation from nearby siblings such as list_graphic_styles, get_overprint_info, or get_separation_info. It is adequate but leaves the agent guessing exactly what 'effects' covers.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no statement of what scope it reads (whole document vs. selection vs. a single object), and no mention of any alternative tool. The agent must infer usage entirely 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.

get_groupsGet GroupsB
Read-onlyIdempotent

Get structure of groups, clipping masks, and compound paths

ParametersJSON Schema
NameRequiredDescriptionDefault
depthNoMaximum traversal depth
layer_nameNoFilter by layer name (all layers if omitted)
coordinate_systemNoCoordinate system. Auto-detected from document by default (CMYK/print → document, RGB/web → artboard-web). artboard-web: origin at active artboard top-left, Y-down. document: Illustrator native coords, origin at bottom-left, Y-up. Call get_document_info to check which system is active.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and closed-world, so the safety profile is fully covered. The description adds one useful behavioral fact — that the result covers clipping masks and compound paths, not just plain groups — but says nothing about traversal depth defaults, output shape, or 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence with no filler, and the retrieval scope is front-loaded. It is efficient, though arguably so terse that key routing information was cut rather than compressed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

All three parameters are optional, the schema fully documents them, and annotations cover the safety profile, so the definition is callable as-is. Still, with no output schema, the description leaves the return structure and the distinction from get_document_structure/get_layers unstated.

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

Parameters3/5

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

Schema description coverage is 100%, and the coordinate_system parameter in particular carries a detailed explanation, so the schema does the heavy lifting here. The description adds no syntax, filtering, or depth semantics beyond what the schema already documents, which is the baseline 3 case.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb ('Get') and a concrete resource ('structure of groups, clipping masks, and compound paths'), so an agent knows it retrieves group hierarchy data. It does not, however, distinguish itself from nearby siblings like get_document_structure, get_layers, or get_path_items, which could plausibly return overlapping information.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to reach for this tool versus get_document_structure, get_layers, or ungroup_objects, and no stated prerequisites or exclusions. The agent must infer usage purely from the name and the retrieval scope implied by the sentence.

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

get_guidelinesGet GuidelinesC
Read-onlyIdempotent

Get guide information

ParametersJSON Schema
NameRequiredDescriptionDefault
coordinate_systemNoCoordinate system. Auto-detected from document by default (CMYK/print → document, RGB/web → artboard-web). artboard-web: origin at active artboard top-left, Y-down. document: Illustrator native coords, origin at bottom-left, Y-up. Call get_document_info to check which system is active.

TDQS

C2/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is fully covered structurally. The description adds nothing beyond the name — no scoping behavior, no indication of what is returned or how guides relate to artboards/coordinate systems, which the parameter schema hints at but the description never connects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is short and front-loaded, but the brevity comes from under-specification rather than efficiency. The one sentence is too thin to earn its place as a tool description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a low-complexity read tool, so the bar is not high, and annotations plus a well-documented single parameter cover most structural needs. However, the description leaves the fundamental question — what data about which guides, and in what coordinate context — unanswered, and there is no output schema to compensate.

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

Parameters3/5

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

Schema description coverage is 100% and the single optional coordinate_system enum is documented in detail, including auto-detection rules and a cross-reference to get_document_info. With the schema carrying the full burden, the baseline of 3 applies; the description contributes no additional parameter meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

"Get guide information" essentially restates the tool name and title. It never clarifies what a "guide" is in this context (Illustrator ruler/guide objects vs. style/brand guidelines), leaving the agent to infer from siblings like get_document_info. The verb is specific but the resource is ambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance, no prerequisites, no mention of alternatives such as get_document_info, get_document_structure, or get_artboards. Nothing tells the agent under what circumstances this tool is the right call.

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

get_imagesGet ImagesC
Read-onlyIdempotent

Get embedded and linked image information

ParametersJSON Schema
NameRequiredDescriptionDefault
coordinate_systemNoCoordinate system. Auto-detected from document by default (CMYK/print → document, RGB/web → artboard-web). artboard-web: origin at active artboard top-left, Y-down. document: Illustrator native coords, origin at bottom-left, Y-up. Call get_document_info to check which system is active.
include_print_infoNoInclude print diagnostics: color space mismatch flag, scale factor (%). Only available for embedded raster images.

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description adds nothing beyond that: it does not say what information is returned, whether the coordinate system matters, or what include_print_info diagnostics reveal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single seven-word phrase with no filler, and the subject matter is front-loaded. It is efficient, though it reads as an under-specified fragment rather than a complete statement of behavior.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

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 carries the burden of explaining what 'image information' actually contains — dimensions, placement, link status, color space, etc. It never does, and it also omits any note that include_print_info only applies to embedded raster images, leaving the agent unable to predict the response.

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

Parameters3/5

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

Schema description coverage is 100%, and the coordinate_system enum and include_print_info flag are thoroughly documented in the schema, including the get_document_info cross-reference. Baseline 3 is appropriate since the description contributes no additional parameter meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Get) and resource (embedded and linked image information), so the agent knows it retrieves image metadata rather than modifying images. It does not explicitly differentiate itself from siblings like manage_linked_images or find_objects, but the resource scope is clear enough to route correctly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance, no prerequisites, and no mention of the obvious alternative (manage_linked_images) for linked-image operations. The agent must infer that this is a read/inspection step 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.

get_layersGet LayersB
Read-onlyIdempotent

Get layer structure as a tree

ParametersJSON Schema
NameRequiredDescriptionDefault
include_itemsNoInclude items within each layer
coordinate_systemNoCoordinate system. Auto-detected from document by default (CMYK/print → document, RGB/web → artboard-web). artboard-web: origin at active artboard top-left, Y-down. document: Illustrator native coords, origin at bottom-left, Y-up. Call get_document_info to check which system is active.
include_sublayersNoInclude sublayers

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare the full safety profile (readOnlyHint=true, idempotentHint=true, destructiveHint=false, openWorldHint=false), so the description carries a lighter burden. It adds only the 'tree' output shape, which is useful but thin; with no output schema it could have disclosed the node shape, depth, or handling of hidden/locked layers.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler, which is efficient. It is arguably under-specified rather than concise, but nothing in the text wastes the agent's attention.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only tool with three optional, fully documented parameters and annotations covering safety, the description is minimally sufficient. The remaining gap is the return structure: with no output schema, 'as a tree' does not tell the agent what fields a layer node contains or how include_items/include_sublayers change the shape.

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

Parameters3/5

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

Schema description coverage is 100%, and the coordinate_system parameter is documented in exceptional detail in the schema (enums, auto-detection rule, axis orientation, cross-reference to get_document_info). The description adds nothing beyond the schema, so the baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a clear verb and resource ('Get layer structure') plus the output shape ('as a tree'), so the agent knows it returns a hierarchical view rather than a flat list. It does not distinguish itself from overlapping siblings such as get_document_structure, get_groups, or manage_layers, leaving the choice to inference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 get_document_structure, get_groups, or manage_layers, and no mention of prerequisites or conditions. The only implied usage is 'when you need layer structure', which the name already conveys.

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

get_overprint_infoGet Overprint InfoA
Read-onlyIdempotent

Get overprint settings with K100/rich black detection and intent classification

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare the safety profile (readOnly, idempotent, non-destructive, closed-world), so the description only needs to add context beyond that. It usefully discloses that the tool performs analysis (K100/rich black detection and intent classification) rather than merely echoing raw flag values, which is substantive behavioral information not present in any structured field.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One sentence, front-loaded with the verb and resource, with zero filler. It is tight and appropriately sized for a zero-argument query tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no input parameters, no output schema, and full annotation coverage, the description only needs to say what the tool returns and why it is useful. It conveys the analysis performed but leaves the meaning of 'intent classification' and the shape of the result unstated, a minor gap given the absence of an output schema.

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

Parameters4/5

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

The tool takes zero parameters, so there is no schema surface for the description to compensate for. The baseline of 4 applies; nothing is contradicted or left ambiguous.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description pairs a specific verb ('Get') with a specific resource ('overprint settings') and adds what is computed ('K100/rich black detection and intent classification'). It is clearly distinct from neighbors like get_separation_info or preflight_check, though it never explicitly names which sibling it is not.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use context, no prerequisites, and no mention of alternatives such as get_separation_info or preflight_check, which an agent might reasonably confuse with this one. 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.

get_path_itemsGet Path ItemsB
Read-onlyIdempotent

Get path and shape data. Note: fill/stroke do not include per-attribute opacity; use the item-level opacity field for transparency.

ParametersJSON Schema
NameRequiredDescriptionDefault
layer_nameNoFilter by layer name
include_pointsNoInclude anchor point details
selection_onlyNoGet selected paths only
coordinate_systemNoCoordinate system. Auto-detected from document by default (CMYK/print → document, RGB/web → artboard-web). artboard-web: origin at active artboard top-left, Y-down. document: Illustrator native coords, origin at bottom-left, Y-up. Call get_document_info to check which system is active.

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds a genuinely useful output-semantics caveat (fill/stroke exclude per-attribute opacity; use item-level opacity instead), which is value beyond annotations, but it says nothing about the shape of returned data, pagination, or cost.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, purpose front-loaded and the caveat immediately after. No filler, redundancy, or repetition of schema/annotation content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

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 carry more of the return-value burden for a data-extraction tool. The opacity note is a helpful hint but the description does not convey the structure of the returned path/shape data, leaving an agent to infer the response shape.

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

Parameters3/5

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

Schema description coverage is 100%, including a detailed enum explanation for coordinate_system, so the schema carries the parameter burden. The description adds no parameter-level meaning of its own, which matches the baseline 3 when the schema already documents everything.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb+resource ('Get path and shape data'), which is more specific than a bare restatement of the name. However, it offers no differentiation from siblings like find_objects, get_layers, get_document_structure, or get_groups, so an agent cannot easily tell which extraction tool to pick from purpose alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no prerequisites, and no mention of alternatives. The only guidance is an output caveat about opacity, not a condition for selecting this tool over neighbors like find_objects or get_layers.

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

get_runtime_statusB
Read-only

Read background policy and cross-process execution ownership without sending a script to Illustrator. An uncertain execution must not be replayed. No Computer Use.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already declare readOnly, non-destructive, closed-world, so the bar is lower. The description nevertheless adds genuine behavioral context: no script is dispatched to Illustrator, no Computer Use, and the important constraint that uncertain executions must not be replayed. It omits return-format detail, but the safety profile is well covered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is short and front-loads the core action, but it reads as three disconnected fragments ('No Computer Use' especially) with choppy structure. It is concise without being cleanly organized.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no parameters, the description carries the burden of conveying what state is returned, but it never explains the shape or meaning of the returned policy/ownership information. Adequate for a no-param read tool, but the return behavior is left unstated.

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

Parameters4/5

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

The tool takes zero parameters, so the baseline is 4 and there is nothing for the description to disambiguate. No parameter guidance is required.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a verb (Read) and two resources (background policy, cross-process execution ownership), and distinguishes itself from run_script via 'without sending a script to Illustrator.' However, the phrasing is abstract and jargon-heavy, and it does not map cleanly onto the tool name 'get_runtime_status,' leaving the actual purpose somewhat opaque.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It implies usage through 'without sending a script to Illustrator' and the caution 'An uncertain execution must not be replayed,' suggesting this is a pre-check tool. But it names no explicit alternative (e.g., recover_execution, a sibling clearly in scope) and gives no clear when-to-call conditions.

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

get_selectionGet SelectionB
Read-onlyIdempotent

Get detailed information about the currently selected objects

ParametersJSON Schema
NameRequiredDescriptionDefault
coordinate_systemNoCoordinate system. Auto-detected from document by default (CMYK/print → document, RGB/web → artboard-web). artboard-web: origin at active artboard top-left, Y-down. document: Illustrator native coords, origin at bottom-left, Y-up. Call get_document_info to check which system is active.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds one genuinely behavioral fact: the result depends on external live selection state (the 'currently selected' objects), but says nothing about return shape or behavior when nothing is selected.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with zero filler. It is efficient, though 'detailed information' is vague enough that the brevity shades into under-specification.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

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 is the only place return values could be characterized, and 'detailed information' leaves the agent guessing what fields come back. For a one-parameter read tool this is passable but leaves a real gap.

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

Parameters3/5

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

Schema description coverage is 100%, and the coordinate_system parameter is documented in the schema far beyond anything in the description (enum values, auto-detection rules, Y-axis conventions). Baseline 3 applies; the description contributes nothing additional.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clear specific verb+resource: 'Get detailed information about the currently selected objects'. It is the only sibling concerned with the live selection (versus select_objects, find_objects, get_document_structure), but it never names or contrasts those siblings explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use, prerequisites, or alternatives are stated. An agent must infer that this reads the active Illustrator selection rather than querying objects by criteria; nothing routes it away from find_objects or select_objects.

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

get_separation_infoGet Separation InfoA
Read-onlyIdempotent

Get color separation information: CMYK process plates and spot color plates with usage counts

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description adds what is returned (plate types plus usage counts), but says nothing about output format, cost, or scope limits, which keeps it at an adequate rather than rich level.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence that names the operation and then enumerates the returned data. Every clause earns its place, with no filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, read-only, idempotent getter with no output schema, the description carries the burden of telling the agent what comes back, and it does so at a high level (process plates, spot plates, usage counts). Only the exact return shape and any pagination/limits are unstated, which is a minor gap given the simplicity.

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

Parameters4/5

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

The tool takes zero parameters, which is the baseline-4 case; there is nothing for the description to disambiguate. The description correctly implies the call is context-driven (operates on the current document) without needing parameter detail.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Get) and resource (color separation information) and enumerates the returned content: CMYK process plates and spot color plates with usage counts. This clearly separates it from siblings like get_colors (color inventory) and get_overprint_info (overprint settings), 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.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no when-to-use guidance, no prerequisites, and does not point to or away from related siblings such as get_colors, get_overprint_info, or preflight_check. Usage is only inferable from the content it returns; an agent gets no explicit routing signal.

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

get_symbolsGet SymbolsC
Read-onlyIdempotent

Get symbol definitions and instances

ParametersJSON Schema
NameRequiredDescriptionDefault
coordinate_systemNoCoordinate system. Auto-detected from document by default (CMYK/print → document, RGB/web → artboard-web). artboard-web: origin at active artboard top-left, Y-down. document: Illustrator native coords, origin at bottom-left, Y-up. Call get_document_info to check which system is active.

TDQS

C2.6/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=false, so the safety profile is fully covered. The description adds nothing beyond that — no note on what is returned, whether definitions and instances are combined or separate, or whether results are document-scoped.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The phrase is front-loaded and free of waste, but it is underspecified rather than genuinely concise — it is short only because it omits scope and return information an agent needs.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

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 carry the burden of describing what comes back; it only vaguely signals 'definitions and instances'. The single well-documented parameter and strong annotations keep this from being inadequate, but the return behavior remains under-explained.

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

Parameters3/5

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

Schema description coverage is 100% and the single optional coordinate_system parameter has a thorough enum explanation in the schema itself. The description contributes no additional parameter meaning, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a verb ('Get') and a resource ('symbol definitions and instances'), which is more than a tautology of the title. However, it never clarifies scope (all document symbols vs. selection) or what a 'symbol' means in this context, so an agent cannot confidently distinguish it from siblings like place_symbol without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no mention of prerequisites, and no reference to alternatives such as find_objects or place_symbol. The agent is left 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.

get_text_frame_detailGet Text Frame DetailA
Read-onlyIdempotent

Get detailed text frame attributes including per-character runs (font, tracking, akiLeft/akiRight, tsume, proportionalMetrics), kerning pairs with manual kerning values (1/1000 em), and paragraph attributes. Returns cssHints for web/CSS reproduction. Note: paragraph leading/autoLeading may return 0 in some ExtendScript versions due to missing API support.

ParametersJSON Schema
NameRequiredDescriptionDefault
uuidYesUUID of the target text frame
coordinate_systemNoCoordinate system. Auto-detected from document by default (CMYK/print → document, RGB/web → artboard-web). artboard-web: origin at active artboard top-left, Y-down. document: Illustrator native coords, origin at bottom-left, Y-up. Call get_document_info to check which system is active.

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint, idempotentHint, destructiveHint=false), so the bar is lower; the description adds real value with the version-dependent caveat that paragraph leading/autoLeading may return 0 in some ExtendScript versions. It also discloses the unit convention for kerning values (1/1000 em), which prevents misreading the output.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core purpose, followed by a compact enumeration of returned sections and two caveats; no filler sentences. It is somewhat dense, but every clause (attribute groups, unit convention, version caveat) conveys information an agent needs.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description usefully pre-describes the return shape (runs, kerning pairs, paragraph attributes, cssHints) and flags a known data-quality caveat. It leaves minor gaps, such as how to source the uuid and what happens on a missing/invalid frame, but is largely sufficient for a read-only two-parameter tool.

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

Parameters3/5

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

Schema description coverage is 100% and the coordinate_system enum is fully explained inline, including its default auto-detection rule, so the schema carries the parameter burden. The description adds nothing about uuid or coordinate_system; the '1/1000 em' note describes returned data rather than an input. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Get detailed text frame attributes') and enumerates the payload (per-character runs, kerning pairs, paragraph attributes, cssHints), which separates it from the coarse-grained list_text_frames sibling by granularity. It never names that sibling explicitly, so an agent must infer the list-vs-detail split.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description contains no when-to-use or when-not-to-use guidance, no prerequisites for obtaining the uuid, and no routing to alternatives such as list_text_frames or check_text_consistency. The only operative instruction ('Call get_document_info to check which system is active') lives 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.

group_objectsGroup ObjectsB

Group multiple objects into a single group. The first UUID in the array becomes the bottommost item, the last becomes the topmost. Runs without activating Illustrator in default background mode; never invokes Computer Use.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoName for the new group
uuidsYesUUIDs of objects to group. Order matters: first=bottom, last=top in layer panel.
clippedNoCreate as clipping group. The last UUID becomes the clip path (topmost). Example: [content-uuid, mask-uuid] — mask-uuid clips content-uuid.

TDQS

B3.4/5.0
Behavior4/5

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

Annotations cover the safety profile (readOnly=false, destructive=false, idempotent=false), so the description is free to add operational context — and it does, disclosing the stacking-order semantics and that execution happens in background mode without invoking Computer Use. It stops short of saying what happens to the source objects' layer membership or whether a new group object 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences with the core action front-loaded and no filler. The ordering sentence is mildly redundant with the schema, but the background-mode caveat is genuinely load-bearing context for an agent choosing between this and run_script.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no output schema, the description covers ordering and execution mode but omits what the caller gets back (a new group UUID?) and any side effects on layer membership of the grouped objects. Adequate but with a clear gap for a write operation.

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

Parameters3/5

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

Schema description coverage is 100%, so the ordering rule and the clipped/mask behavior are already documented in the schema. The description's ordering sentence largely restates the uuids schema text, adding no new syntax or constraints beyond it. Baseline 3 applies 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.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Group multiple objects into a single group'), which is unambiguous. It does not explicitly contrast itself with the nearest siblings (ungroup_objects, duplicate_objects, set_z_order), though the name makes the inverse relationship obvious.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance and no prerequisites are given. It never says how this differs from set_z_order, duplicate_objects, or manage_layers, nor does it say what state the objects must be in (selected, same layer, ungrouped) before calling.

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

import_pdf_as_pathsA
Destructive

Open a prepared outlined vector PDF and copy actual paths into an open target document, retaining compound paths and holes. No clipboard, linked PDF or raster substitute. Rejects source PDFs already open by the user. Bounds use native document points.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
pdf_pathYes
fit_boundsNo
group_nameYes
document_pathYes
target_layer_pathYes

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and readOnlyHint=false, and the description adds real behavioral context beyond them: compound paths and holes are retained, open source PDFs are rejected, and coordinates are in native document points. It does not say whether the write is reversible or what happens to pre-existing target content, but the added detail is substantive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four tight sentences, front-loaded with the core action, then constraints and units. No filler or restatement of the tool name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive, multi-parameter import into an existing document, the description covers the mechanical result well but leaves gaps: no mention of required open-document state as a prerequisite, no undo/permission expectations, and several parameters undocumented. Adequate but not complete.

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

Parameters2/5

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

Schema description coverage is 0% across 6 parameters, so the description carries the full documentation burden. It clarifies that fit_bounds are in native document points and that pdf_path must be an outlined vector PDF, but page, group_name, target_layer_path, and document_path semantics are never explained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: copy actual vector paths from a prepared outlined PDF into an open target document. It also carves out a distinct niche versus siblings like place_image (raster) and import_svg_as_editable (SVG), so an agent can differentiate without opening other schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear preconditions ('prepared outlined vector PDF', target document must be open) and exclusions ('No clipboard, linked PDF or raster substitute', rejects source PDFs already open). It stops short of naming the alternative tool to use for raster or linked placement, so the routing guidance is implicit rather than explicit.

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

import_svg_as_editableImport SVG as EditableA

Import an SVG file into the active document as editable Illustrator paths/text/groups (NOT as a linked image). Internally opens the SVG as a temporary document, duplicates its contents into the target document, then closes the source. Use this instead of place_image for SVG. Runs without activating Illustrator in default background mode; never invokes Computer Use.

ParametersJSON Schema
NameRequiredDescriptionDefault
xNoX position of the imported content (top-left of bounding box). Ignored when fit_to_artboard is true.
yNoY position of the imported content (top-left of bounding box). Ignored when fit_to_artboard is true.
nameNoName to assign to the root group (only when group=true and multiple items are imported).
groupNoWrap imported items in a single GroupItem (default: true). Set false to keep items flat in the target layer.
paddingNoPadding in points from the artboard edges when fit_to_artboard is true.
file_pathYesAbsolute path to the .svg or .svgz file
layer_nameNoTarget layer name in the active document. Created if missing.
fit_to_artboardNoScale and center the imported content to fit the active artboard (default: false).
coordinate_systemNoCoordinate system. Auto-detected from document by default (CMYK/print → document, RGB/web → artboard-web). artboard-web: origin at active artboard top-left, Y-down. document: Illustrator native coords, origin at bottom-left, Y-up. Call get_document_info to check which system is active.

TDQS

A4.7/5.0
Behavior5/5

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

Annotations mark this as a non-read-only, non-idempotent mutation but say nothing about mechanism. The description adds real behavioral context: it opens the SVG as a temporary document, duplicates contents, and closes the source, plus runs without activating Illustrator by default and never invokes Computer Use. This is far beyond what the structured fields convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences: purpose/outcome first, then the internal mechanism, then the sibling alternative and invocation constraints. Every sentence earns its place and the most decision-relevant facts are front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, but for this mutation tool the description covers purpose, mechanism, alternative, and execution environment. Parameters are fully covered by the schema, so nothing an agent needs to invoke it correctly is missing.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all nine parameters (including the coordinate_system enum and fit_to_artboard semantics). The description adds no per-parameter detail, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Import), resource (SVG file), and crucial outcome qualifier (editable Illustrator paths/text/groups, NOT a linked image). It explicitly distinguishes the 'editable' behavior from place_image, so an agent can route correctly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Directly names the alternative and the condition: 'Use this instead of place_image for SVG.' It also clarifies that it works in background mode without invoking Computer Use, removing ambiguity about invocation style.

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

list_fontsList FontsA
Read-onlyIdempotent

List fonts available in Illustrator. Does not require an open document.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax fonts to return (default 100)
filterNoFilter by family or name (case-insensitive partial match)

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is fully covered by structured data. The description adds a genuinely non-annotated operational fact — that the call works without an open document — which changes how an agent sequences it relative to document-dependent tools.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with zero filler, and the core purpose is front-loaded before the operational note. Nothing could be removed without losing information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

A zero-required-parameter, read-only enumeration tool with full schema coverage and complete annotations needs little more than this. The only minor gap is that no return shape is described and there is no output schema, so an agent cannot anticipate the result format (e.g., truncation behavior under the limit).

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

Parameters3/5

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

Schema description coverage is 100%: both limit and filter are documented in the schema with their semantics and default. The description adds no additional parameter meaning, so this is the expected baseline 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.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (List) and resource (fonts) scoped to Illustrator, which is unambiguous and distinguishable from other 'list_*' siblings like list_text_styles and list_graphic_styles. It does not explicitly name or contrast a sibling, which would be needed for a 5, but no sibling overlaps its resource.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied rather than stated: 'List fonts available in Illustrator' plus the note that no open document is required tells the agent this can be called as a standalone query. There is no guidance on when to prefer this over alternatives or how the limit/filter options should be used to scope the call.

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

list_graphic_stylesList Graphic StylesB
Read-onlyIdempotent

List all graphic styles in the active document.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world behavior, so the safety profile is fully covered. The description contributes only the 'active document' scope constraint and says nothing about return format, ordering, or cost — adequate but not additive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler; every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a trivial zero-arg read tool with annotations covering safety, this is nearly sufficient, but there is no output schema and the description never indicates what a 'graphic style' entry contains (name, id, index), leaving the return shape unknown to the agent.

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

Parameters4/5

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

The tool takes zero parameters, so there is nothing for the description to clarify and the baseline of 4 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb ('List') plus resource ('graphic styles') and scope ('in the active document') make the operation immediately clear. It does not, however, distinguish itself from the sibling list_text_styles or explain why an agent would pick this over get_document_structure.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no when-to-use guidance, no prerequisites, and no mention of alternatives such as list_text_styles or apply_graphic_style. Usage is only inferable from the verb.

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

list_text_framesList Text FramesB
Read-onlyIdempotent

List text frames with summary-level information. Supports reading-order sort, pagination, and a lightweight contents-only mode.

ParametersJSON Schema
NameRequiredDescriptionDefault
sortNoSort order. "reading-order" sorts by artboardIndex asc → y asc → x asc (rows within ~5pt tolerance are treated as the same line)
limitNoMaximum number of items to return (for pagination). Applied after sort.
offsetNoNumber of items to skip (for pagination). Applied after sort.
layer_nameNoFilter by layer name
contents_onlyNoWhen true, return only uuid, contents, and artboardIndex (no position/font/style info). Useful for text proofreading.
artboard_indexNoFilter by artboard index (0-based integer)
coordinate_systemNoCoordinate system. Auto-detected from document by default (CMYK/print → document, RGB/web → artboard-web). artboard-web: origin at active artboard top-left, Y-down. document: Illustrator native coords, origin at bottom-left, Y-up. Call get_document_info to check which system is active.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already establish the full safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lowered. The description adds useful context about the returned granularity ('summary-level') and the lean contents-only mode, but says nothing about default return fields or result size.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two compact sentences with the purpose front-loaded and no filler. The capability sentence is slightly list-like but still earns its place by flagging the sort and contents-only modes.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries some burden for describing return shape, and 'summary-level information' is vague about which fields come back in the default mode. Annotations cover the safety profile, so the remaining gap is moderate rather than severe.

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

Parameters3/5

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

Schema description coverage is 100% and every parameter, including both enums and the coordinate-system auto-detection rule, is documented in the schema itself. The description only echoes sort, pagination, and contents-only mode, adding no syntax or default-value detail beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('List text frames') plus the scope of data returned ('summary-level information'). That scope phrase implicitly separates it from get_text_frame_detail, but it never names the sibling, so the distinction is left to inference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The second sentence lists capabilities (sort, pagination, contents-only mode) rather than conditions for choosing this tool. Nothing says when to prefer this over get_text_frame_detail or find_objects, and there are no exclusions.

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

list_text_stylesList Text StylesA
Read-onlyIdempotent

List all character and paragraph styles in the active document.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered elsewhere. The description adds only the 'active document' scoping detail and says nothing about return shape or whether style definitions (not just names) are included; with annotations doing the heavy lifting, a 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single declarative sentence with no filler, front-loading the verb and the resource. Nothing in it is redundant with the title or annotations.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a no-parameter, read-only listing tool with no output schema, stating the resource and its scope is enough for an agent to call it correctly. Minor gap: it does not say what identifiers or detail level each listed style carries, which would matter for chaining into apply_text_style.

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

Parameters4/5

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

The tool takes zero parameters and the schema is an empty object, so there is no parameter semantics to explain. Baseline of 4 applies; the description correctly does not invent parameter discussion.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb ('List') plus a precisely bounded resource ('character and paragraph styles in the active document'), which implicitly separates it from siblings like list_graphic_styles and list_fonts. It stops short of explicitly naming those alternatives, so the differentiation is inferential 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.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no when-to-use guidance, no prerequisites, and no pointer to related tools (apply_text_style, list_graphic_styles). The 'active document' scope is the only contextual constraint, and it is a statement of scope rather than usage advice.

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

manage_artboardsManage ArtboardsB
Destructive

Add, remove, resize, rename, fit, or rearrange artboards. Runs without activating Illustrator in default background mode; never invokes Computer Use.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoNew name for rename action
rectNoPosition and size for add/resize (document coordinates)
indexNoTarget artboard index (0-based). Required for remove/resize/rename/fit_to_art. Note: the last remaining artboard cannot be removed.
actionYesAction to perform
layoutNoArtboard layout for rearrange
spacingNoSpacing in points for rearrange
rows_or_colsNoNumber of rows or columns for rearrange

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false, idempotentHint=false, and openWorldHint=false, so the safety profile is covered structurally. The description adds genuinely new context ('runs without activating Illustrator in default background mode; never invokes Computer Use'), but it never says which sub-action is destructive, that removal is irreversible, or how a failed run is recovered. Useful but partial, so a 3.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the operation list, no filler or repetition of the title. The second sentence is slightly tangential but carries real execution-mode information, so it earns its place; structure is efficient overall.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a 6-action tool with 7 parameters, a nested rect object, and no output schema, so the description carries a lot of coordination burden. The action enum and schema fields cover most per-action needs, but the description gives no mapping of which parameters belong to which action, no statement of what each action returns, and no routing to get_artboards for inspection. Adequate but with clear gaps.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents every parameter, including the per-action conditional requirement on index and the constraints on rows_or_cols. The description adds no parameter-level meaning beyond the schema, making the baseline 3 correct.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb ('Add, remove, resize, rename, fit, or rearrange') applied to a concrete resource ('artboards'), and the enumerated operations match the action enum. This clearly separates it from the sibling read-only get_artboards. It stops short of naming that sibling or otherwise explicitly disambiguating, keeping it at a 4.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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_artboards or create_document, and no stated prerequisites. The condition that index is required for four of the six actions exists only in the schema, not in the description, so an agent gets no usage framing here.

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

manage_datasetsManage Variables & DatasetsB

List variables/datasets, apply or create datasets, bind variables to objects, import CSV/XML. CSV headers are auto-bound to objects with matching names. Runs without activating Illustrator in default background mode; never invokes Computer Use.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYesAction to perform
file_pathNoFile path (XML for import/export, CSV for import_csv)
object_nameNoObject name to bind variable to (for bind_variable)
dataset_nameNoDataset name (for apply_dataset, create_dataset)
variable_nameNoVariable name (for bind_variable)
dataset_name_prefixNoPrefix for auto-generated dataset names (for import_csv). If omitted, first column value is used.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false and destructiveHint=false, so the write profile is covered. The description usefully adds that CSV headers auto-bind to matching object names and that it runs in background mode without invoking Computer Use, but it never warns that create/apply/bind actions mutate 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with the operation list and no filler. The execution-mode note is placed last where it belongs, though the opening list slightly duplicates the action enum.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an eight-action multiplexer with no output schema, the description maps only the main operations and leaves 'export' unmentioned and per-action prerequisites unstated. Annotations carry the safety profile, but the agent gets only a partial action map.

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

Parameters3/5

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

Schema description coverage is 100% and the 'dataset_name_prefix' note ('If omitted, first column value is used') already lives in the schema. The description's CSV auto-binding sentence adds marginal value but mostly restates schema-level behavior, so a baseline 3 fits.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states specific verbs and resources ('List variables/datasets, apply or create datasets, bind variables to objects, import CSV/XML'), so the domain is unmistakable. It covers most of the action enum but omits 'export', and it does not distinguish itself from overlapping siblings like 'export'/'import' by name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance and no exclusions. With sibling tools literally named 'export' and 'import' that overlap with this tool's import/export actions, the agent receives no help deciding which entry point to pick.

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

manage_layersManage LayersB
Destructive

Add, rename, show/hide, lock/unlock, reorder, or delete layers

ParametersJSON Schema
NameRequiredDescriptionDefault
aboveNoFor add: create above this layer name
actionYesLayer operation to perform
new_nameNoNew name (required for rename action)
positionNoTarget position for reorder (0 = topmost)
layer_nameNoTarget layer name (for add: new layer name)

TDQS

B3.1/5.0
Behavior2/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false, idempotentHint=false, and openWorldHint=false. The description adds no behavioral context beyond restating the action list, such as which operations are destructive, what delete removes, or whether layer changes 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no redundant or filler text. Every word contributes to summarizing the tool's operations.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The schema fully documents parameters and annotations cover the safety profile, so the description is minimally adequate for invocation. However, it gives no guidance on choosing this multi-action tool over related siblings or on action-specific behavior, leaving a clear contextual gap.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all five parameters, including action-specific requirements like new_name for rename and above for add. The description adds no parameter syntax or action-to-parameter mapping beyond what the schema provides, making the baseline 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the resource (layers) and enumerates specific operations, so the tool's purpose is immediately clear. However, it does not distinguish this management tool from sibling read/list or move-layer tools such as get_layers or move_to_layer, which the rubric requires 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.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description lists available actions but does not state when to use this tool versus alternatives like get_layers, move_to_layer, or duplicate_layer_tree. Usage is only implied by the action list, and there are 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.

manage_linked_imagesManage Linked ImagesA
Destructive

Relink or embed a placed (linked) image. embed converts PlacedItem to RasterItem — the original UUID becomes invalid and a new UUID for the RasterItem is returned. Runs without activating Illustrator in default background mode; never invokes Computer Use.

ParametersJSON Schema
NameRequiredDescriptionDefault
uuidYesUUID of the placed (linked) image
actionYesAction to perform
new_pathNoNew file path (required for relink)

TDQS

A4.3/5.0
Behavior5/5

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

Annotations already flag destructiveness, but the description goes further: it states that embed converts a PlacedItem to a RasterItem, that the original UUID becomes invalid, and that a new UUID is returned. It also discloses runtime behavior (background mode, no Illustrator activation, no Computer Use), which is context annotations cannot express.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three dense sentences with zero filler; the core action is front-loaded, followed by the destructive identity-change consequence, then the runtime note. Every sentence carries information an agent needs.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description compensates by explaining the returned UUID and the invalidation of the original one, plus the execution-mode caveat. For a 3-parameter destructive mutation tool this covers what an agent must know before calling.

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

Parameters3/5

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

Schema description coverage is 100%, so uuid, action, and new_path are already documented in the schema, including the 'required for relink' constraint. The description adds little parameter-level detail beyond that, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb pair (relink/embed) and a precise resource (placed/linked image), and it is clearly distinct from neighboring tools such as place_image, replace_masked_image, and get_images. An agent can identify the operation without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explains the effect of the 'embed' action but gives no explicit condition for choosing 'relink' over 'embed', nor any prerequisite/when-not guidance (e.g., when a relink is preferable to re-placing). Usage is implied by the action semantics rather than stated.

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

manage_swatchesManage SwatchesA
Destructive

Add, update, or delete swatches in the active document. Runs without activating Illustrator in default background mode; never invokes Computer Use.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesSwatch name
colorNoColor for add/update (required for add)
actionYesAction to perform

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false, and idempotentHint=false, so the safety profile is covered. The description adds genuinely new context beyond the annotations: it runs without activating Illustrator in background mode and never invokes Computer Use, which is useful execution-model disclosure. It stops short of stating permissions or what deletion does to in-use swatches.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences with the operation set front-loaded and the execution-model note following. Every sentence earns its place, with no redundancy, though it is borderline terse for a mutation tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 3-parameter mutation tool with a fully described schema and no output schema, the description covers the actions and the execution model adequately. Remaining gaps (permissions, effect on in-use swatches, response shape) are minor against the destructiveHint annotation and complete schema.

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

Parameters3/5

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

Schema description coverage is 100%, so all three parameters and the color union are documented in the schema itself. The description adds no syntax, format, or constraint detail beyond what the schema already 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.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb set (add/update/delete) and resource (swatches in the active document), which an agent can map directly to the action enum. It does not, however, differentiate itself from related siblings like replace_color or get_colors, so ambiguity remains about when swatch manipulation is the right primitive.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description enumerates the operations available but gives no explicit when-to-use guidance, no conditions for choosing add vs update vs delete, and no pointer to alternatives such as replace_color for restyling existing artwork. Usage is implied only through the action enum.

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

modify_objectModify ObjectB
Destructive

Modify properties of an existing object. Runs without activating Illustrator in default background mode; never invokes Computer Use.

ParametersJSON Schema
NameRequiredDescriptionDefault
uuidYesUUID of the target object
propertiesYesProperties to modify
coordinate_systemNoCoordinate system. Auto-detected from document by default (CMYK/print → document, RGB/web → artboard-web). artboard-web: origin at active artboard top-left, Y-down. document: Illustrator native coords, origin at bottom-left, Y-up. Call get_document_info to check which system is active.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false and idempotentHint=false, so the mutation risk and non-idempotency are covered structurally. The description adds genuinely new operational context — background execution without activating Illustrator and no Computer Use invocation — but does not disclose what is destroyed or how partial failures behave.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the purpose, with no wasted wording. The execution-mode clause is secondary but relevant enough to justify its place for a destructive tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a broad mutation tool with fully documented parameters and clear destructive annotations, the essentials are recoverable from structured fields. The description is nonetheless thin on when to prefer it over other mutating siblings and on failure/mutation scope, which matters given the many parallel mutation tools.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents uuid, the nested property object (fill, stroke, rotation_mode, etc.), and coordinate_system semantics thoroughly. The description adds no parameter-level meaning beyond that, which is the expected baseline 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.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

"Modify properties of an existing object" gives a specific verb and resource, so the agent knows this is an in-place mutation of an existing object rather than a creation or deletion. However, it does not differentiate from siblings that also mutate object attributes (replace_color, move_to_layer, apply_graphic_style, set_z_order), leaving the agent to guess which mutation path applies.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to use this tool versus alternatives, nor any prerequisite (e.g., the object must already exist, how to obtain the uuid, that find_objects or get_selection should precede it). The second sentence addresses execution mode, not usage conditions.

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

move_to_layerMove to LayerA

Move one or more objects to a different layer. Runs without activating Illustrator in default background mode; never invokes Computer Use.

ParametersJSON Schema
NameRequiredDescriptionDefault
uuidsYesUUIDs of objects to move
positionNobeginning = front of layer, end = back of layerbeginning
target_layerYesTarget layer name

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false, and openWorldHint=false. The description adds useful behavioral context beyond annotations: it runs in default background mode without activating Illustrator and never invokes Computer Use.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences with purpose front-loaded. Every sentence adds value: the first states what the tool does, and the second adds non-obvious runtime behavior.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no output schema and annotations that already cover safety hints, the description is largely complete. It conveys execution mode, though it could mention layer prerequisites or error behavior.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents uuids, position, and target_layer. The description does not add syntax, format, or constraint details beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: move one or more objects to a different layer. Scope is clear, but it does not explicitly distinguish itself from related siblings such as manage_layers or set_z_order.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 prerequisites or exclusions stated. The purpose implies usage, but the description contains no explicit routing or context guidance.

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

open_documentOpen DocumentA

Open an Illustrator document from a file path. Runs without activating Illustrator in default background mode; never invokes Computer Use.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesAbsolute file path to open (.ai, .eps, .pdf, .svg, etc.)
color_spaceNoForce color space conversion on open. Omit to keep original.

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare this is not read-only and not idempotent, and the description adds genuinely new operational context: it runs in background mode without activating Illustrator and never invokes Computer Use. That tells the agent about UI side effects and execution environment. It does not mention what happens on an already-open file, unsaved changes, or file-not-found handling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short, front-loaded sentences with zero filler: the first states the action, the second states the execution mode. Nothing is redundant with the title or schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and annotations covering the safety profile, the description supplies the key missing runtime context (background, no Computer Use) needed to call this in an automation loop. It is nearly complete; only error/modal behavior on open remains undisclosed.

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

Parameters3/5

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

Schema description coverage is 100%, so both 'path' (with accepted extensions) and 'color_space' (enum, omit to preserve original) are fully documented in the schema. The description adds no parameter-level meaning beyond what is already there, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Open) and resource (Illustrator document) plus the input source (a file path), which cleanly separates it from create_document, close_document, and save_document. It stops short of naming a sibling tool or contrasting with the import tools (import_svg_as_editable, import_pdf_as_paths), so it is 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.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: 'from a file path' tells the agent this is for existing documents rather than new ones, and background mode hints it is safe for headless automation. There is no explicit when-to-use/when-not-to-use statement or reference to an alternative such as create_document or an import tool.

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

place_color_chipsPlace Color ChipsA

Extract all unique colors from the document and place color chip swatches with labels outside the artboard

ParametersJSON Schema
NameRequiredDescriptionDefault
positionNoPlace chips to the right or below the artboardright
chip_sizeNoChip size in points (default: 30)
layer_nameNoLayer name for color chipsColor Chips
include_infoNoInclude color value labels next to chips
artboard_indexNoTarget artboard (default: active artboard)
coordinate_systemNoCoordinate system. Auto-detected from document by default (CMYK/print → document, RGB/web → artboard-web). artboard-web: origin at active artboard top-left, Y-down. document: Illustrator native coords, origin at bottom-left, Y-up. Call get_document_info to check which system is active.

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false and idempotentHint=false, so the write profile is covered. The description adds real behavioral context beyond the schema: it creates NEW objects placed OUTSIDE the artboard, with labels, i.e. it mutates the document by adding a swatch layer rather than altering existing artwork. It stops short of stating that repeat calls would create duplicate chip layers.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with the extraction action first and placement behavior second. No filler, no redundancy; every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a document-mutating placement tool with six well-covered params and no output schema, the description conveys what gets created and where. It could mention what the call returns (e.g., layer/object references) or that re-running duplicates chips, but it is sufficient for correct invocation.

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

Parameters3/5

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

Schema description coverage is 100% and each parameter (position, chip_size, layer_name, include_info, artboard_index, coordinate_system) is fully documented in the schema, so the baseline is 3. The description only loosely echoes 'labels' and 'outside the artboard,' adding no format or syntax detail beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific compound verb (extract + place) on a concrete resource (unique colors as labeled chip swatches), and implicitly distinguishes itself from the sibling get_colors, which only reads colors. An agent can tell this tool produces visual swatch artifacts rather than just returning color data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The use case (inventorying a document's palette as visible chips) is implied by 'extract all unique colors... place chip swatches,' but there is no explicit when-to-use, when-not, or named alternative (e.g., get_colors for a data-only read). Guidance is inferable rather than stated.

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

place_imagePlace ImageA

Place a raster or PDF image file (PNG, JPG, TIFF, PSD, PDF, etc.) into the document as a linked or embedded image. SVG is NOT supported here because PlacedItems produces a non-editable linked artwork — use import_svg_as_editable instead to bring SVG content in as editable paths/text. Runs without activating Illustrator in default background mode; never invokes Computer Use.

ParametersJSON Schema
NameRequiredDescriptionDefault
xNoX position
yNoY position
nameNoObject name
embedNoEmbed the image instead of linking (default: false)
file_pathYesAbsolute path to the image file
layer_nameNoTarget layer name
coordinate_systemNoCoordinate system. Auto-detected from document by default (CMYK/print → document, RGB/web → artboard-web). artboard-web: origin at active artboard top-left, Y-down. document: Illustrator native coords, origin at bottom-left, Y-up. Call get_document_info to check which system is active.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare the non-destructive, non-idempotent, closed-world profile. The description adds genuine execution context beyond that: it runs in background mode without activating Illustrator and never invokes Computer Use, which matters for an agent reasoning about side effects and environment.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences with the core action front-loaded, followed by the exclusion, then the execution caveat. No filler; every clause carries information the agent needs.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 7-param placement tool with no output schema, the description covers format support, linked/embedded behavior, the SVG exclusion, and execution mode. It stops short of describing what is returned or how the placed item is identified afterward, which is a minor residual gap.

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

Parameters3/5

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

Schema coverage is 100%, so the schema already documents all seven parameters (including the embed default and coordinate_system enum). The description only restates the linked/embedded distinction conceptually and adds no syntax or format detail beyond what the schema provides, so it sits at the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (place) and resource (raster or PDF image) with concrete format examples (PNG, JPG, TIFF, PSD, PDF). It explicitly differentiates itself from the sibling import_svg_as_editable by naming the resource type it does not handle, so an agent can distinguish it without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit when-not ('SVG is NOT supported here') and routes the agent to the named alternative (import_svg_as_editable) with the reason why. The linked-vs-embedded option is also surfaced, so the calling conditions are clear.

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

place_style_guidePlace Style GuideB

Place a visual style guide (color chips, font samples, spacing indicators) outside the artboard

ParametersJSON Schema
NameRequiredDescriptionDefault
positionNoPlace style guide to the right or below the artboardright
layer_nameNoLayer name for the style guideStyle Guide
artboard_indexNoTarget artboard (default: active artboard)
coordinate_systemNoCoordinate system. Auto-detected from document by default (CMYK/print → document, RGB/web → artboard-web). artboard-web: origin at active artboard top-left, Y-down. document: Illustrator native coords, origin at bottom-left, Y-up. Call get_document_info to check which system is active.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare this is a non-read-only, non-destructive, non-idempotent write, so the safety profile is covered. The description usefully adds the spatial constraint that the guide is placed outside the artboard, but says nothing about whether it creates a new layer/group, what happens on repeat invocation, or how it interacts with an existing style guide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with zero filler; the verb and resource come first and the parenthetical detail is compact. It is efficient rather than padded, and nothing redundant is present.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

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 carry the burden of describing the result, and it does not say what is actually created (layer, group, artboard?) or what the tool returns. For a mutating placement tool with four optional parameters, this leaves a real gap, though the thorough schema mitigates it.

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

Parameters3/5

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

Schema description coverage is 100% and the position enum ('right'/'bottom'), layer_name, artboard_index, and coordinate_system are all well documented in the schema itself. The description only loosely implies the placement options via 'outside the artboard' and adds no syntax or default information beyond the structured fields.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a concrete verb ('Place') and resource ('visual style guide'), and even enumerates its contents (color chips, font samples, spacing indicators) plus its location outside the artboard. It does not distinguish itself from the closely related sibling place_color_chips, which an agent could easily confuse it with, 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.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as place_color_chips or extract_design_tokens that overlap in purpose. The agent is left to infer the scenario 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.

place_symbolPlace SymbolA

Place a new symbol instance or replace the symbol definition of an existing instance. Runs without activating Illustrator in default background mode; never invokes Computer Use.

ParametersJSON Schema
NameRequiredDescriptionDefault
xNoX position (for place action)
yNoY position (for place action)
uuidNoUUID of existing symbol item (for replace action)
actionYesplace = new instance, replace = swap symbol definition
symbol_nameYesSymbol name to place or new symbol name for replace
coordinate_systemNoCoordinate system. Auto-detected from document by default (CMYK/print → document, RGB/web → artboard-web). artboard-web: origin at active artboard top-left, Y-down. document: Illustrator native coords, origin at bottom-left, Y-up. Call get_document_info to check which system is active.

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, idempotentHint=false and destructiveHint=false, so the safety profile is structured. The description adds genuine value beyond them by disclosing execution mode ('runs without activating Illustrator in default background mode; never invokes Computer Use'). It does not explain consequences of the replace action (e.g. whether replacing a definition affects other instances) or reversibility, which matters for a non-idempotent mutation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences: capability first, execution-environment note second. Nothing is wasted, though the second sentence is somewhat tangential to tool selection compared with missing when-to-use guidance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 6-parameter, 100%-covered schema with annotations and no output schema, the description covers the dual mode and the non-GUI execution model adequately. Remaining gaps (mutation effects of replace, return/confirmation behavior) are minor given that structured fields cover safety and coordinates.

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

Parameters3/5

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

Schema description coverage is 100% with clear enum documentation and detailed coordinate_system semantics, so the schema carries the parameter burden. The description adds no parameter detail beyond what the schema already states, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Place a new symbol instance or replace the symbol definition of an existing instance') and even disambiguates the two internal modes, place vs replace. It does not distinguish itself from nearby siblings such as apply_graphic_style or get_symbols, 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.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The action enum ('place = new instance, replace = swap symbol definition') implies the two use cases, and the second sentence clarifies the execution environment. However, there is no explicit guidance on when to choose this tool over alternatives like run_script or apply_graphic_style, nor any prerequisites (e.g. requiring an open document or an existing symbol).

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

preflight_checkPreflight CheckA
Read-onlyIdempotent

Run pre-press quality checks. Note: This check is not exhaustive — it does not replace a human final review. GrayColor uses ink-quantity interpretation (0=white/no ink, 100=black/full ink), which differs from the API reference.

ParametersJSON Schema
NameRequiredDescriptionDefault
min_dpiNoMinimum acceptable DPI for images (default: 300)
coordinate_systemNoCoordinate system. Auto-detected from document by default (CMYK/print → document, RGB/web → artboard-web). artboard-web: origin at active artboard top-left, Y-down. document: Illustrator native coords, origin at bottom-left, Y-up. Call get_document_info to check which system is active.
target_pdf_profileNoTarget PDF/X profile for compliance checks. x1a: no transparency/RGB, fonts embedded. x4: allows transparency, recommends ICC profile.

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare this as a safe, idempotent, non-destructive read, so safety is covered. The description adds real value beyond that by disclosing a limitation (not exhaustive) and a semantic quirk (GrayColor ink-quantity interpretation differing from the API reference) that an agent would otherwise get wrong.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, with the core purpose front-loaded before the caveats. Every sentence carries weight; the GrayColor note is dense but cryptically worded without the surrounding context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description would ideally hint at what the check returns or how findings are reported, and it does not. For a read-only tool with fully documented optional params, the limitation caveats help, but the gap on return/finding semantics leaves it only adequate.

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

Parameters3/5

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

Schema description coverage is 100%, so all three parameters (min_dpi, coordinate_system, target_pdf_profile) are fully documented in the schema with defaults, enums, and meanings. The description adds no parameter-level detail, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Run pre-press quality checks'), which is clearly distinct from sibling checks like check_contrast or check_text_consistency. However, it never names those siblings or scopes what 'pre-press quality checks' actually encompasses, so differentiation 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.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The caveat that the check 'is not exhaustive' and 'does not replace a human final review' gives useful when-not-to-rely guidance, but there is no explicit when-to-use framing or pointer to any alternative tool. 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.

recover_executionA

Recover an uncertain execution only after a valid native completion receipt or a recognized legacy native compile failure. Requires the exact execution_id from get_runtime_status. Archives the evidence, releases only that lock, and never sends a script, cancels, or retries Illustrator work. Refuses running or unproven timeout states.

ParametersJSON Schema
NameRequiredDescriptionDefault
execution_idYes

TDQS

A4.9/5.0
Behavior5/5

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

Without relying on annotations, the description discloses consequential behavior: it archives evidence, releases only the target lock, never sends a script/cancels/retries Illustrator work, and refuses certain states. This goes well beyond the generic destructive/read-only hints in the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three dense sentences, front-loaded with the precondition, then the requirement, then the side-effects and refusals. No filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter tool with no output schema, the description covers preconditions, provenance of the id, side effects, and explicit non-actions. An agent has everything needed to call it correctly or avoid calling it.

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

Parameters4/5

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

Schema coverage is 0%, so the description must carry parameter meaning. It states the execution_id must be exact and come from get_runtime_status, adding provenance context the schema doesn't. It doesn't describe the UUID format, but the schema's pattern covers that.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (recover) and resource (an uncertain execution) with the exact precondition that gates it. Distinguishes itself from siblings like get_runtime_status and run_script by specifying what it will not do (send a script, cancel, retry).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use (only after a valid native completion receipt or recognized legacy native compile failure) and when not to (refuses running or unproven timeout states). Points the agent to get_runtime_status as the source of the required execution_id.

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

replace_colorReplace ColorA
Destructive

Find and replace colors across the document or within a specific layer. Limitations: SpotColor and GrayColor matching not supported. Cross-colorspace matching (e.g. RGB→CMYK) not possible — from_color and to_color must use the same color type as the target objects.

ParametersJSON Schema
NameRequiredDescriptionDefault
scopeNoLayer name to limit replacement scope (default: entire document)
targetNoWhich color attributes to replaceboth
to_colorYesReplacement color (required)
toleranceNoColor matching tolerance per channel (0 = exact match, 100 = match any)
from_colorYesColor to find (required)

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false, and non-idempotent behavior. The description adds important constraints beyond annotations: unsupported color types and the same-color-type requirement. It stops short of explaining what happens to existing objects or undo behavior, but the added limitations are meaningful.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tightly written sentences: purpose first, then limitations. Every clause adds actionable information with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive mutation tool whose safety profile is covered by annotations, the description provides the key operational constraints. It could mention the return value or matching/replacement count, but no output schema is defined and the core invocation requirements are covered.

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

Parameters4/5

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

Schema coverage is 100%, so the schema carries the parameter details. The description still adds valuable meaning by specifying that from_color and to_color must use the same color type as target objects and that cross-colorspace matching is impossible, which is not encoded in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Find and replace colors') and qualifies the scope ('across the document or within a specific layer'). It is clearly distinguishable from color-reading siblings like get_colors and manage_swatches.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives the scope of operation and explicitly lists conditions where the tool will not work (SpotColor/GrayColor, cross-colorspace). However, it does not name an alternative tool or say when to prefer this over other available tools, so it falls short of full routing guidance.

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

replace_masked_imageA
Destructive

Replace a named raster inside its existing clipping group while preserving the image rectangle and stacking. Explicitly choose linked or embedded. Rejects rotated/sheared/mirrored images and aspect mismatches before replacement; use a template-specific script for them.

ParametersJSON Schema
NameRequiredDescriptionDefault
embedYes
file_pathYes
item_nameYes
document_pathYes
root_layer_pathYes
require_clippingNo

TDQS

A4.1/5.0
Behavior4/5

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

Annotations declare destructiveHint=true and readOnlyHint=false, so the mutation profile is already covered; the description adds real value on top by disclosing what is preserved (image rectangle, stacking), the linked-vs-embedded decision, and pre-replacement validation that rejects rotated/sheared/mirrored or aspect-mismatched inputs. It stops short of saying what happens to the original raster data or whether the operation is reversible.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with the core action, then the linked/embedded choice, then the rejection rules. Dense but every clause carries information; no filler. Slightly compressed phrasing ('use a template-specific script for them') costs a little clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 6-parameter destructive mutation with no output schema, the description covers the action, the preservation semantics, the input-mode choice, and the validation gates. What is missing is the meaning of document_path/root_layer_path and any note on failure behavior, but the core is adequate.

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

Parameters3/5

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

Schema description coverage is 0% across 6 parameters, so the description carries the full burden. It supplies meaning for item_name ('named raster'), embed ('explicitly choose linked or embedded'), require_clipping (implicitly via 'inside its existing clipping group') and file_path, but document_path and root_layer_path — the required path parameters — are never explained. Partial compensation only.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (replace) and a precise resource (a named raster inside its existing clipping group), and adds the constraint that the image rectangle and stacking are preserved. This distinguishes it from siblings like place_image and manage_linked_images, which create or manage rather than swap in place.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit exclusions (rotated/sheared/mirrored images, aspect mismatches) and routes those cases to 'a template-specific script', which is genuine when-not guidance. It does not, however, contrast with nearby siblings such as place_image or manage_linked_images, so the agent must infer when this tool is preferred over them.

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

resize_for_variationResize for VariationA

Create size variations from a source artboard. Duplicates all objects and scales/repositions them proportionally to fit target sizes. Limitations: no text reflow, effects/strokes scale with objects but may need manual adjustment, proportional placement only (not smart layout).

ParametersJSON Schema
NameRequiredDescriptionDefault
scale_modeNoHow to scale objects: proportional (fit within, maintain aspect), fit_width, or fit_heightproportional
target_sizesYesTarget sizes for variations
coordinate_systemNoCoordinate system. Auto-detected from document by default (CMYK/print → document, RGB/web → artboard-web). artboard-web: origin at active artboard top-left, Y-down. document: Illustrator native coords, origin at bottom-left, Y-up. Call get_document_info to check which system is active.
source_artboard_indexYesSource artboard index to duplicate from (0-based)

TDQS

A3.8/5.0
Behavior4/5

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

With annotations covering the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=false), the description adds genuinely useful context beyond them: no text reflow, effects/strokes scale but may need manual adjustment, and proportional placement only. It still omits whether new artboards are created in the document and any repeat-invocation behavior (idempotentHint is already false, so re-running semantics are unclear).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences with the core action front-loaded and caveats grouped into a single Limitations clause. Nothing is repeated across sentences, though the limitations sentence is dense enough that it could be split for readability without adding bulk.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no output schema, the description covers the transform semantics and its caveats well, but omits key operational facts an agent needs: where resulting variations land (new artboards? layer placement?), the maxItems=10 constraint on target_sizes, and the auto-detected coordinate_system behavior that affects placement. The annotations carry safety but these gaps remain.

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

Parameters3/5

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

Schema description coverage is 100%, so all four parameters, including the scale_mode and coordinate_system enums, are already documented in the schema. The description only echoes the proportional behavior implied by scale_mode and adds no format, default, or interaction detail beyond the schema. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource ('Create size variations from a source artboard') and immediately explains the mechanism ('Duplicates all objects and scales/repositions them proportionally to fit target sizes'). An agent can distinguish this from sibling tools like duplicate_objects or manage_artboards without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The limitations block implicitly scopes usage (proportional only, no smart layout, no text reflow), which helps an agent judge fit. However, it never names an alternative tool or states an explicit when-to-use/when-not-to-use condition relative to siblings such as duplicate_layer_tree or manage_artboards. Usage is implied rather than directed.

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

run_scriptA
Destructive

Run trusted ExtendScript directly in the shared background executor. Supply script or an existing UTF-8 .jsx script_path, not both. Use ES3-compatible syntax (no E4X or preprocessor directives); quote reserved property names. Syntax is checked before native execution. Return plain data with return; params contains JSON input. JSON compatibility is provided. UI, clipboard and dynamic script requests are rejected in background mode. This is not a security sandbox. Use batch_cards for long jobs; never replay an unconfirmed timeout.

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsNo
scriptNo
script_pathNo
document_pathNo
timeout_secondsNo

TDQS

A4.4/5.0
Behavior5/5

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

Very rich behavioral disclosure: syntax checked before execution, return values with return;, params as JSON input, UI/clipboard/dynamic requests rejected in background mode, explicitly not a sandbox, and timeout replay warning. Adds substantial context well beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Dense but front-loaded with the core action, then constraints. Some sentences are terse but every one adds a distinct constraint; minor density cost.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given a complex, destructive, open-ended execution tool with no output schema, the description covers execution contract, input format, restrictions, and safety caveats well. Lacks explicit handling for document_path and timeout_seconds details.

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

Parameters5/5

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

Schema coverage is 0% with 5 params, so the description carries full burden and does well: clarifies script vs script_path exclusivity, params as JSON input, and return; semantics. document_path and timeout_seconds are implied only loosely, but coverage is strong.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource: runs ExtendScript in a shared background executor. Distinguishes from batch_cards by pointing to it for long jobs, though it doesn't fully differentiate from other execution siblings like recover_execution.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Clear guidance: supply either script or script_path, not both; use batch_cards for long jobs; never replay an unconfirmed timeout. Lacks explicit when-not-to-use beyond the batch_cards pointer.

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

save_documentSave DocumentA
Idempotent

Save the active Illustrator document. Runs without activating Illustrator in default background mode; never invokes Computer Use.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNosave = overwrite, save_as = save to new pathsave
pathNoFile path for save_as mode. If omitted, auto-generates in the same directory as the document (or ~/Desktop for unsaved documents)

TDQS

A3.8/5.0
Behavior4/5

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

Adds genuinely useful behavioral context beyond annotations: it runs without activating Illustrator in background mode and never invokes Computer Use, which tells the agent about side effects on the user's UI/environment. It does not disclose the overwrite consequence of 'save' mode, which slightly tensions with destructiveHint=false, though not enough to call a contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with the core action, with the execution-mode caveat second. No filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-required-parameter tool with full schema coverage and no output schema, the description covers the action and execution environment. It could mention return behavior (e.g., the resolved save path) or error cases for unsaved documents, but nothing essential is missing.

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

Parameters3/5

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

Schema description coverage is 100%, so both parameters (mode, path) are already fully documented in the schema, including the auto-generation fallback for path. The description adds no parameter meaning beyond that, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Save the active Illustrator document'), which is unambiguous. It doesn't explicitly differentiate from close_document, export, or export_pdf, but the scope is clear enough for an agent to identify the tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: the 'save' vs 'save_as' distinction lives in the schema enum description, not the tool description, and there is no guidance on when to use this instead of export/export_pdf. No prerequisites or when-not conditions are stated.

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

select_objectsSelect ObjectsB
Idempotent

Select objects by UUID. Pass an empty array to deselect all. Selected objects can then be manipulated interactively in Illustrator.

ParametersJSON Schema
NameRequiredDescriptionDefault
uuidsYesArray of object UUIDs to select. Pass empty array [] to deselect all.

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds the deselect behavior and the downstream interactivity consequence, but does not say whether a new call replaces the existing selection or whether the selection persists beyond the session.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with the core action and no filler. The empty-array rule slightly duplicates the schema text, keeping it just short of maximally tight.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter, non-destructive, no-output tool this is close to adequate, but it omits the important semantic of whether passing UUIDs replaces or extends the current selection. That gap matters for correctly chaining selection with modify_object or delete_objects.

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

Parameters3/5

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

There is a single parameter with 100% schema description coverage, so the baseline is 3. The description restates the schema's empty-array-means-deselect rule but adds no format, ordering, or validation detail beyond it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Select objects by UUID', which is unambiguous about what the tool operates on. It does not, however, distinguish itself from adjacent siblings such as find_objects or get_selection, leaving the agent to infer the boundary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage by noting that selected objects 'can then be manipulated interactively', which hints at sequencing after a selection step. It never states when to prefer this over alternatives like find_objects or get_selection, and gives no prerequisites or exclusions.

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

set_illustrator_versionSet Illustrator VersionA
Idempotent

Set which Illustrator version to target when multiple versions are installed. Specify a version year (e.g. "2024", "2025"). If Illustrator is already running, connects to the running instance regardless of version. If not running, launches the specified version. Use clear: true to reset to default behavior (connect to any running Illustrator).

ParametersJSON Schema
NameRequiredDescriptionDefault
clearNoReset to default behavior (connect to any running Illustrator).
versionNoIllustrator version year (e.g. "2024", "2025").

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare it non-read-only, idempotent, and non-destructive, so safety is covered. The description adds real runtime behavior: it connects to an already-running instance regardless of the requested version, and otherwise launches the specified version — exactly the kind of side-effect detail annotations cannot express.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four short sentences, each carrying distinct information: purpose, format, running-instance branch, and reset flag. Nothing is padded and the core purpose leads.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no required parameters, the description covers behavior, format, and the reset path adequately. It stops short of stating what happens if the requested version is not installed, a minor but real gap for a tool whose whole job is version selection.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3; the description goes further by giving an expected format example ('2024', '2025') and explaining the effective semantics of 'version' (ignored when an instance is already running) and of 'clear' (restores connect-to-any behavior).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('set which Illustrator version to target') and immediately scopes it with the condition 'when multiple versions are installed.' No sibling tool overlaps with version targeting, so differentiation is easy.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Clearly explains when the tool matters — multiple installs — and describes the connect-vs-launch branch plus the reset case. It does not enumerate alternatives, but there are no competing siblings for this capability.

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

set_workflowSet WorkflowA
Idempotent

Set the session-level workflow and default coordinate system. Call this after confirming the user's intent (web, print, or video). Once set, all tools that omit coordinate_system will use the session default. Use clear: true to reset to auto-detection from document (CMYK/print → document coords, RGB/web → artboard-web).

ParametersJSON Schema
NameRequiredDescriptionDefault
clearNoReset session to default behavior (auto-detect from document).
workflowNoThe workflow type. Determines the default coordinate system.
coordinate_systemNoExplicit coordinate system override. If provided with workflow, overrides the workflow-derived default.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare the mutation/idempotency profile (readOnlyHint=false, idempotentHint=true, destructiveHint=false). The description adds genuine behavioral context beyond them: the session-wide side effect that "all tools that omit coordinate_system will use the session default" and the exact auto-detection mapping for clear. It does not state persistence across sessions/restarts, so it is strong 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences, front-loaded with the core action, then the call trigger, then the reset mechanism. Each sentence carries distinct information with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

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 carry the behavioral burden, and it does: purpose, call timing, session-level propagation effect, and reset semantics are all covered for a 3-param optional settings tool.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3. The description goes beyond the schema by explaining the net effect of clear:true and spelling out the auto-detection mapping (CMYK/print → document coords, RGB/web → artboard-web), which the enum descriptions do not provide.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ("Set the session-level workflow and default coordinate system") and conveys the session-wide scope, which implicitly distinguishes it from the per-call convert_coordinate sibling. However, it never names a sibling explicitly, so it stops short of the strongest differentiation mark.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives a clear trigger ("Call this after confirming the user's intent (web, print, or video)") and a reset condition via clear:true. It does not state when NOT to use it or point to convert_coordinate as the per-call alternative, so no explicit exclusions are present.

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

set_z_orderSet Z-OrderB

Change the stacking order of an object. Runs without activating Illustrator in default background mode; never invokes Computer Use.

ParametersJSON Schema
NameRequiredDescriptionDefault
uuidYesUUID of the object
commandYesStacking order command

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=false and openWorldHint=false, and the description is consistent with them. It adds a genuinely useful behavioral fact not covered by annotations: the change runs in default background mode without activating Illustrator or invoking Computer Use, which tells the agent this is a safe headless mutation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with the purpose front-loaded and no filler. The second sentence is environment-specific but earns its place by preventing the agent from assuming UI automation is involved.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter mutation with annotations covering the safety profile and no output schema, the essentials are present. However, it omits scope details an agent would want: whether the stacking change is confined to the object's layer/group, whether it is reversible via the undo sibling, and what happens on an unknown UUID.

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

Parameters3/5

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

Schema description coverage is 100% with both parameters documented and the command enum fully enumerated, so the schema carries the semantic load. The description adds no extra meaning about UUID resolution or what each stacking command does relative to siblings/groups, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb ("Change") and resource ("stacking order of an object"), so the agent immediately knows what operation is performed. No sibling tool deals with z-order, so it is inherently differentiated, though the description never names that contrast explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no prerequisites (e.g. object must exist by UUID), and no mention of the undo sibling for reversal. The only context given is about execution mode, which is behavioral rather than selection guidance.

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

undoUndo / RedoB
Destructive

Undo or redo actions in Illustrator. Runs without activating Illustrator in default background mode; never invokes Computer Use.

ParametersJSON Schema
NameRequiredDescriptionDefault
countNoNumber of times to undo/redo (max 20)
actionNoundo

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false, and idempotentHint=false, so the safety profile is covered. The description adds genuinely useful operational context (runs in background mode, never invokes Computer Use), but says nothing about reversibility, undo-stack limits, or what gets destroyed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences with the core action front-loaded. The second sentence earns its place by clarifying execution mode, though it is somewhat tangential to the primary purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter mutation tool with no output schema, the description covers purpose and execution mode but omits behavior at boundaries (what happens after 20 undos, whether redo history is cleared) and does not clarify the action parameter's default direction.

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

Parameters3/5

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

Schema coverage is 50%: count is documented in the schema, but action's enum values (undo/redo) are undocumented there. The description mentions 'undo or redo actions,' which partly compensates by implying the action values, but adds nothing about count or defaults.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb pair (undo/redo) and the resource (actions in Illustrator), so an agent can immediately tell what it does. It does not, however, differentiate itself from other execution-related siblings like recover_execution or run_script, which is the only thing keeping it from a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use undo versus redo, nor any alternative tool named. The second sentence describes execution mechanics rather than selection criteria, leaving usage entirely implied.

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

ungroup_objectsUngroup ObjectsA
Destructive

Ungroup a group, releasing its children to the parent layer. Runs without activating Illustrator in default background mode; never invokes Computer Use.

ParametersJSON Schema
NameRequiredDescriptionDefault
uuidYesUUID of the group to ungroup

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, idempotentHint=false, and readOnlyHint=false, so the safety profile is covered. The description adds genuinely useful context beyond that: where children are re-parented ('to the parent layer') and that it runs headlessly without activating Illustrator or invoking Computer Use.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two compact sentences with the core effect front-loaded and the execution-mode note second. No wasted words, though the Computer Use remark is a somewhat meta aside.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter mutation tool, the description plus annotations (destructive/not-idempotent) and the fully documented schema give an agent enough to invoke it correctly, including the non-obvious re-parenting behavior. No output schema exists, so return format need not be described.

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

Parameters3/5

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

Schema description coverage is 100% and the single uuid parameter is fully documented in the schema ('UUID of the group to ungroup'). The description adds nothing about parameter format or constraints, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Ungroup a group') and clarifies the effect with 'releasing its children to the parent layer,' which is more than a restatement of the name. It is clearly the inverse of the sibling group_objects, though it never names that sibling explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance, no preconditions (e.g. that the target must be a group), and no reference to alternatives or the inverse group_objects tool. The second sentence addresses execution mode, not usage selection.

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

validate_cardsB
Destructive

Independently reopen a saved, closed AI output, check card/layer/text/image/path correspondence, and optionally export artboard previews without the clipboard. This tool does not perform visual judgment. Use the prepared plan from get_batch_status so packaged link paths match.

ParametersJSON Schema
NameRequiredDescriptionDefault
cardsYes
output_pathYes
preview_directoryNo
expected_sublayersNo

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true and openWorldHint=false, lowering the bar. The description adds useful boundary context ('does not perform visual judgment', 'without the clipboard'), but it never explains the destructive aspect (e.g. that reopening can alter the current document state), which is the main behavioral risk an agent should know.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three compact sentences with the primary action front-loaded and the prerequisite stated last. It is reasonably sized for the tool's complexity, with only mild density in the opening clause.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive, 4-parameter tool with a fully undocumented nested schema and no output schema, the description leaves major gaps: no parameter guidance, no explanation of the destructive behavior, and no statement of what the validation returns or how to act on it.

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

Parameters2/5

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

Schema description coverage is 0% across 4 parameters including nested card structures, so the description must carry the burden. It only obliquely hints at cards correspondence and artboard preview export, clarifying neither the required output_path/cards nor the optional preview_directory/expected_sublayers.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific multi-part verb (reopen, check correspondence, optionally export previews) on a clear resource (a saved, closed AI output). It is distinguishable from siblings batch_cards and get_batch_status, though the sentence is dense and bundles several operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives explicit context and a prerequisite: 'Use the prepared plan from get_batch_status so packaged link paths match,' which tells the agent the correct sequencing. It stops short of stating when NOT to use it versus batch_cards, 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.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 77 tool updatesv1.8.0-local.1
    • First observedalign_objects
    • First observedapply_graphic_style
    • First observedapply_text_style
    • First observedassign_color_profile
    • First observedbatch_cards
    • First observedbuild_name_backing
    • First observedcheck_contrast
    • First observedcheck_text_consistency
    • First observedclose_document
    • First observedconvert_coordinate
    • First observedconvert_to_outlines
    • First observedcreate_crop_marks
    • First observedcreate_document
    • First observedcreate_ellipse
    • First observedcreate_gradient
    • First observedcreate_line
    • First observedcreate_path
    • First observedcreate_path_text
    • First observedcreate_rectangle
    • First observedcreate_text_frame
    • First observeddelete_objects
    • First observedduplicate_layer_tree
    • First observedduplicate_objects
    • First observedexport
    • First observedexport_pdf
    • First observedextract_design_tokens
    • First observedfind_objects
    • First observedget_artboards
    • First observedget_batch_status
    • First observedget_colors
    • First observedget_document_info
    • First observedget_document_structure
    • First observedget_effects
    • First observedget_groups
    • First observedget_guidelines
    • First observedget_images
    • First observedget_layers
    • First observedget_overprint_info
    • First observedget_path_items
    • First observedget_runtime_status
    • First observedget_selection
    • First observedget_separation_info
    • First observedget_symbols
    • First observedget_text_frame_detail
    • First observedgroup_objects
    • First observedimport_pdf_as_paths
    • First observedimport_svg_as_editable
    • First observedlist_fonts
    • First observedlist_graphic_styles
    • First observedlist_text_frames
    • First observedlist_text_styles
    • First observedmanage_artboards
    • First observedmanage_datasets
    • First observedmanage_layers
    • First observedmanage_linked_images
    • First observedmanage_swatches
    • First observedmodify_object
    • First observedmove_to_layer
    • First observedopen_document
    • First observedplace_color_chips
    • First observedplace_image
    • First observedplace_style_guide
    • First observedplace_symbol
    • First observedpreflight_check
    • First observedrecover_execution
    • First observedreplace_color
    • First observedreplace_masked_image
    • First observedresize_for_variation
    • First observedrun_script
    • First observedsave_document
    • First observedselect_objects
    • First observedset_illustrator_version
    • First observedset_workflow
    • First observedset_z_order
    • First observedundo
    • First observedungroup_objects
    • First observedvalidate_cards

TDQS

B3.1/5.0

Scored across 77 tools

Disambiguation3/5

Several tools overlap in purpose, particularly the document/layer/group inspection tools (get_document_structure, get_layers, get_groups) and color analysis tools (get_colors, extract_design_tokens). The detailed descriptions help, but with 77 tools an agent may still struggle to choose the right one for a given task.

Naming Consistency5/5

All tool names use consistent snake_case with a clear verb_noun or verb-noun-phrase pattern (e.g., create_rectangle, get_document_info, manage_layers). There are minor noun-only names like export and undo, but the overall convention is predictable and readable.

Tool Count2/5

77 tools is far beyond the typical 3-15 range and exceeds the 25+ threshold for being too many. While Illustrator is a complex domain, many tools are granular and could be consolidated, and the sheer number increases the risk of misselection.

Completeness4/5

The surface covers a broad range: document lifecycle, drawing primitives, text, color, layers, export, prepress, and batch workflows. Some operations (e.g., pathfinder boolean ops, explicit rotate/scale transforms) are missing, but agents can work around minor gaps.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    MCP server for reading, manipulating, and exporting Adobe Illustrator design data via ExtendScript/JSX. 26 tools for text, colors, paths, layers, effects, images, symbols extraction, object creation/modification, SVG/PNG/JPG/PDF export, and pre-press preflight checks. macOS only.
    613 npm
    164
    MIT
  • A
    license
    C
    quality
    B
    maintenance
    Enables AI assistants to automate Adobe InDesign publishing workflows, including document creation, text formatting, image placement, PDF export, and more via 35+ professional tools.
    36
    55
    MIT