Skip to main content
Glama
zhanglongxiao111

indesign-cli MCP Server

🎨 indesign-cli

中文 | English

让 AI Agent 直接操作 Adobe InDesign 的命令行工具。

indesign-cli 把 InDesign 的自动化能力包装成 Agent 友好的 CLI:Agent 可以查询工具、执行 JSX 脚本、调用排版能力、验证导出文件,并按需配合项目级 Skill 使用。

当前 Node-backed registry 固定包含 150 个 InDesign 工具,CLI 还叠加 server.*session.*script.runexport.verifytool.batchfeedback.report 等原生命令和项目插件工具。实时可见能力以 tool domains / tool list 输出为准,覆盖文档、页面、跨页、母版、图层、文本、图片、基础图形、样式、导出、Book、Presentation、模板槽位、脚本执行和环境检查。

如果你正在做 AI 生成画册、建筑汇报、品牌手册、版式模板、HTML 转 InDesign 这类项目,它可以让 Agent 不再靠“猜坐标”和“手搓脚本”工作,而是通过稳定的命令和结构化返回值操作真实 InDesign。

✨ 这个项目解决什么问题?

Adobe InDesign 很强,但对 AI Agent 来说并不好用:

  • 工具能力多,Agent 不知道该调用哪个。

  • JSX 脚本可以执行,但调试、传参、返回值和错误处理都很散。

  • MCP 工具很多,直接塞进上下文会占用大量 token。

  • 真实导出物是否成功,不能只靠“命令没报错”判断。

indesign-cli 做的事情很简单:把真实 InDesign 自动化能力变成 Agent 更容易使用的一组命令。

它的关键价值之一是 省 token:Agent 不需要一次性读取上百个工具的完整描述,可以先看 tool domains 的摘要,再用 tool searchtool listtool schema 按需加载当前任务需要的工具说明。输出默认是紧凑单行 JSON,需要人工查看时加 --pretty

它不是一个给人类手动排版的 CLI,也不是一个新的排版引擎。它更像是 AI 项目和 InDesign 之间的稳定桥梁。

Related MCP server: InDesign UXP MCP Server

🚀 快速安装

一个离线 Setup 就够了。 CLI、Node、winax 和 HTML 插件全部打包在里面,本机不需要装 Node 或 npm,也不需要编译任何原生模块。

你只需要:

  • Windows

  • Adobe InDesign 桌面版:推荐 2024-2026;CLI 会尝试连接 2022-2026、CC 版本和通用 InDesign.Application COM 入口,实际可用版本取决于本机 COM 注册

InDesign 需要和命令行运行在同一个 Windows 用户会话中。

下载:

  • 外部 / 开源用户:到 GitHub Releases 下载 indesign-cli-agent-setup.exe

  • 事务所内部工位和无人值守 Agent:从公司 NAS 取同一个 Setup。

# 1. 运行 Setup,装到 %LOCALAPPDATA%,不需要管理员权限
.\indesign-cli-agent-setup.exe

# 2. 重开一个终端 —— PATH 注册只对新开的进程生效

# 3. 验证;第二条命令能列出工具才说明 HTML 能力可用
indesign-cli-agent server health --deep --connect-indesign
indesign-cli-agent tool list --domain html

server health 返回 ok: truedata.indesign_com.checkedtrue,说明真实 InDesign COM 链路已经通了。

外部用户请关闭遥测。 成品 EXE 的共享遥测默认写入 SA 事务所内网 NAS:外网环境不可达、写入会静默失败,但仍建议显式关闭 $env:INDESIGN_CLI_TELEMETRY="off"。详见 反馈与遥测

已经装过的机器用 indesign-cli-agent install 就地更新或修复,不必重新下载 Setup。

Setup 首次把轻量启动器和完整 runtime 安装到 %LOCALAPPDATA%\indesign-cli。后续 indesign-cli-agent <indesign-cli 参数...> 只读取 state\current-runtime.json 并启动 runtime\<version>\cli\indesign-cli.exe;embedded runtime 只用于 Setup 的首次离线落地,不作为日常执行目录。

%LOCALAPPDATA%\indesign-cli\
  bin\indesign-cli-agent.exe
  runtime\<version>\{cli,node,server,plugins\html-indesign}
  state\current-runtime.json
  tmp\

日常更新读取 NAS 优先、GitHub 兜底的 runtime-latest.json(schema v2),下载并校验 runtime ZIP,在 staging 中检查 CLI、Node、winax、builtin HTML 插件和系统 Edge 后原子切换。成功后只保留当前 runtime;失败时删除新 staging 并继续使用旧 runtime。日常更新不替换 bin\indesign-cli-agent.exe;启动器自身需要升级时重新运行新版 Setup。

0.4.2 迁移时不做旧协议桥接,由公司 Agent 从 NAS 重新运行最新版 Setup。Skill 仍由公司现有渠道独立发布,本 CLI 不自动安装 Skill。

发行构建(维护者)

发行脚本会依次构建持久的 PyInstaller onedir CLI、轻量启动器、包含 Node/winax/HTML 插件生产依赖的 runtime ZIP,以及单个完整离线 Setup:

python scripts\build_agent_bootstrapper.py `
  --node-root "C:\Program Files\nodejs" `
  --node-modules .\node_modules `
  --html-plugin-tgz <sa-html-indesign-<插件版本>.tgz> `
  --version <运行时版本> `
  --nas-url "\\<文件服务器主机名>\<共享>\tools\indesign-cli\runtime-windows-x64-<运行时版本>.zip" `
  --github-url "https://github.com/zhanglongxiao111/indesign-cli/releases/download/v<运行时版本>/runtime-windows-x64-<运行时版本>.zip"

先加 --dry-run 可只校验输入并查看三段 PyInstaller 命令。外部 runtime-latest.json 是 ZIP 完整性事实源,写入真实 SHA-256。ZIP 和 Setup 内的 runtime-metadata.json 只用于离线身份/组件校验,其 SHA 字段固定为 64 个 0:归档无法在自身内部保存自己的最终摘要,否则写入摘要本身会再次改变摘要。

构建完成后,使用固定内网发布脚本先空跑再正式切换:

python scripts\publish_agent_runtime.py --release-dir .\dist-agent --dry-run
python scripts\publish_agent_runtime.py --release-dir .\dist-agent

脚本会校验版本和 SHA-256,归档到 NAS releases/<version>/,并把 runtime-latest.json 作为最后一步原子切换。不要手工覆盖 NAS 当前清单。

🧠 独立发布 Agent Skill

如果你希望某个项目里的 Agent 自动知道如何制作 HTML/InDesign 演示文稿并使用 indesign-cli,需要通过公司 Agent 渠道发布完整 Skill 目录。

Skill 的唯一发布源在仓库中:

skills/indesign-cli/

把整个目录复制到目标项目,不能只复制 SKILL.md,否则会丢失 references、作者包脚本、起步模板和展示元数据:

D:\AI\your-project\.codex\skills\indesign-cli\

无论用哪种方式安装,发布的都只有程序本身,不携带、不安装也不修改 Skill。CLI 不提供自动复制 Skill 的命令;公司 Agent 渠道直接从上述仓库目录独立发布 Skill。

🧩 插件接入

indesign-cli 支持项目级插件,让上层项目把自己的高层能力接入统一工具目录。比如 HTML-to-InDesign 项目注册 html 域,Agent 再通过同一套 tool list/schema/call 使用它。

从源码安装时补装 html-indesign

用 Setup 装的用户不需要这一步html 域已经内置。只有从源码(pip install -e .)跑的开发者需要手动补上:

git clone https://github.com/zhanglongxiao111/html-indesign.git
cd html-indesign

# --ignore-scripts 很重要:生产依赖里有 playwright,不加会去下载几百 MB 浏览器,
# 而这个插件用的是系统 Edge,那些浏览器根本用不上。成品运行环境也是这么装的。
npm install --omit=dev --ignore-scripts

indesign-cli plugin install .
indesign-cli plugin validate .
indesign-cli tool list --domain html

最后一条能列出 html.authoring_linthtml.buildhtml.reverse_export 等工具,说明 HTML → InDesign 能力已经接上。

插件记录写在当前目录.indesign-cli\plugins\,也就是按项目安装。换一个项目目录要重新跑一次 plugin install

插件工具不会默认挤进 Agent 上下文。Agent 仍然先看 domain 摘要,再按需读取具体 schema。

🛠️ 常用能力

🔎 查询可用工具

indesign-cli tool domains
indesign-cli tool search --query "pdf"
indesign-cli tool list --domain template
indesign-cli tool schema template.populate_template_slots

Agent 可以先查有哪些工具,再只读取需要的 schema,减少上下文浪费。

🧭 反馈与遥测

CLI 提供 feedback 域,用来在 Agent 遇到工具缺口、文档不清、错误信息不可操作或 schema 难用时留下结构化反馈:

indesign-cli feedback report --code TOOL_GAP --note "缺少批量替换段落样式的直接工具" --tool style.apply_paragraph_style
indesign-cli tool schema feedback.report

通过 indesign-cli-agent 成品 EXE 运行时(0.4.1 起),共享遥测默认写入公司(SA 事务所)内网 NAS 根目录。公网/外部用户请设置 INDESIGN_CLI_TELEMETRY=off 关闭遥测;未关闭时事件会尝试写入 SA 内网收集点(外网环境不可达,写入静默失败,但建议显式关闭)。pip/源码安装仍保持显式 opt-in,需要自行配置:

# 指向你自己的收集目录,本地路径或 UNC 共享都可以
$env:INDESIGN_CLI_TELEMETRY_DIR="D:\indesign-cli-telemetry"

CLI 会直接写入该根目录下的 sessions/YYYY-MM-DD/*.jsonlstate/*.jsonreports/ 预留给后续聚合结果。记录字段为白名单元数据:session_idorigin_keycwd_hash、可选 Agent 线程/运行 ID、工具 id/source、成功失败、错误码、耗时、参数键名、反馈 code/note 和最近调用摘要;0.4.2 起为便于内部排障,还记录真实工作目录(cwd)、机器名(host)和路径类参数值(arg_paths,仅键名以 path/file/dir/folder 结尾的字符串参数)。

不会记录:非路径参数值、脚本内容、文档正文内容。可用配置:

变量

作用

INDESIGN_CLI_TELEMETRY_DIR

共享遥测根目录;agent EXE 默认注入公司 NAS 路径,pip/源码安装未设置时不写共享遥测

INDESIGN_CLI_TELEMETRY=off

完全关闭遥测

INDESIGN_CLI_SESSION_ID

显式指定完整 telemetry session

INDESIGN_CLI_AGENT_THREAD_ID

上层 Agent 线程 ID,由运行时注入

INDESIGN_CLI_AGENT_RUN_ID

上层 Agent 单次运行 ID,由运行时注入

INDESIGN_CLI_TELEMETRY_IDLE_HOURS

默认 session 空闲切分阈值,默认 8 小时

🧰 能力覆盖

当前 indesign-cli 的 InDesign 内置工具来自 src/tools/index.js registry,并由 src/core/indesign-tool-registry.json artifact 单向投影给 Python CLI。Node-backed 工具基线是 classic 114 / internal 30 / advanced 6,合计 150;internal 工具在 CLI 中显示为 source: hidden_handler,MCP 不直接暴露。

CLI 工具目录由三类来源合并:

  • Node-backed artifact:来自 src/core/indesign-tool-registry.json

  • CLI primitives:server.*session.*script.runexport.verifytool.batchfeedback.report

  • 项目插件:通过 plugin install/list/validate/doctor 动态接入

这些能力覆盖 InDesign 绝大部分常用自动化功能,以及大多数 Agent 自动化场景:

  • 文档、页面、跨页、母版、图层

  • 文本框、表格、图片、基础图形、页面对象

  • 段落样式、字符样式、对象样式、色板

  • PDF / IDML / 图片导出与产物验证

  • Book、Presentation、模板槽位和高级模板填充

  • JSX 脚本执行、session 线索和环境检查

这些能力通过 CLI 分域查询,不会一次性占满 Agent 上下文。

🧱 Registry 与 artifact

新增或修改内置 InDesign 工具时,不再编辑 src/handlers/src/types/;这两个目录以及旧 src/core/InDesignMCPServer.js 已在终态架构中删除。标准路径是:

  1. 修改对应 src/tools/<domain>/ tool-module,让工具定义、schema、contract、handler 和 CLI id 共置。

  2. 在域 index.js 聚合;新域再接入全局 src/tools/index.js

  3. 生成并校验 artifact:

node src\core\artifact.js --write
node src\core\artifact.js --check

CLI 的 Node-backed 工具目录只读 artifact。artifact 缺失或 registry_hash 不匹配会硬失败,避免 Python 侧重新猜测 domain、schema 或隐藏工具。

📜 执行 JSX 脚本

indesign-cli --pretty script run test\workspace\probe.jsx

适合测试真实 InDesign 行为、创建文档、检查对象、执行复杂排版逻辑。

复杂构建或导出可能超过默认等待时间,可以显式加长脚本通道超时(script run 默认 300 秒;tool call 默认 30 秒):

indesign-cli --pretty script run test\workspace\build.jsx --timeout-ms 900000

短脚本也可以从 stdin 输入:

Get-Content test\workspace\probe.jsx | indesign-cli --pretty script run --stdin

📦 验证导出物

indesign-cli export verify output\deck.pdf

用于确认 PDF、IDML 等文件真的生成成功,而不是只看命令是否结束。

export_images 当前只声明并支持 JPEG。传入 PNG/TIFF 会返回 ARTIFACT_FORMAT_UNSUPPORTED,避免生成误导性的 .jpg 产物。

🛡️ 文档关闭安全

document.close_document 默认不会在多文档场景关闭 activeDocument。如果确实要关闭本轮创建的测试文档,参数必须显式包含 expectedDocumentNameforceActiveDocument:true;如需丢弃未保存修改,还必须传 allowDiscard:true

🧩 使用模板槽位

indesign-cli tool call template.list_template_blueprints --args-file args.json
indesign-cli tool call template.inspect_template_blueprint --args-file args.json
indesign-cli tool call template.create_page_with_template --args-file args.json
indesign-cli tool call template.populate_template_slots --args-file args.json

适合让 Agent 基于母版、脚本标签和槽位名生成稳定页面。

📚 Book / Presentation 工具

indesign-cli 也包含 Book 和 Presentation 相关能力,例如:

  • 创建和管理 InDesign Book

  • 导出 Book

  • 创建演示型文档

  • 添加封面页、章节页、全幅图片页、图片网格页

这些能力可以通过 tool domainstool listtool schema 查询。

🚨 常见错误码速查

所有命令(含参数拼写错误)都返回统一 JSON envelope(schema_version: 2),失败时看 error.codeerror.messageerror.hint。高频错误码:

错误码

含义

典型处置

BAD_CLI_ARGS

命令行参数缺失或拼错

error.details.usage,或跑对应 --help

ARGS_REQUIRED / ARGS_FILE_NOT_FOUND / ARGS_JSON_INVALID / ARGS_NOT_OBJECT

工具参数缺失或 JSON 无效

--args-file 传 UTF-8 JSON 文件,或 --args - 走 stdin

ARGS_UNKNOWN_KEY

参数名拼错

error.details.allowed 修正键名

TOOL_NOT_FOUND / DOMAIN_NOT_FOUND

工具或域不存在

tool domains,再 tool search --query <关键词>

MISSING_ARGUMENT

缺必填参数

tool schema <tool_id> 查看必填项

BAD_TIMEOUT / TIMEOUT

超时参数非法 / 执行超时

超时值范围 1-3600 秒;TIMEOUT 后先跑 session doctor 再重试

BATCH_PLAN_* / BATCH_STEP_INVALID / BATCH_STEP_FAILED

batch plan 格式或步骤失败

error.details.expected_step 修正 plan

MCP_START_FAILED / MCP_TOOL_FAILED / INDESIGN_SCRIPT_FAILED

Node 后端或 InDesign 脚本失败

server health 排查;看 error.details.result

NO_ACTIVE_DOCUMENT

没有打开的文档

先打开或创建文档

ARTIFACT_*

导出物验证失败

确认导出成功、路径正确、产物非旧文件

SERVER_ROOT_* / NPM_*

环境或依赖问题

见上文"常见环境问题排查"

UNEXPECTED_ERROR

CLI 未预期异常

error.details(含异常类型和位置)反馈

🧪 示例工作流

一个典型 Agent 流程可能是:

indesign-cli server health --deep --connect-indesign
indesign-cli tool domains
indesign-cli tool search --query "template"
indesign-cli tool schema template.populate_template_slots
indesign-cli tool explain template.populate_template_slots
indesign-cli script run test\workspace\build.jsx
indesign-cli session doctor
indesign-cli export verify output\presentation.pdf

Agent 负责生成脚本和参数,indesign-cli 负责把它们安全地送进真实 InDesign,并返回结构化结果。

💡 适合谁使用?

适合:

  • 想让 AI Agent 自动操作 InDesign 的开发者

  • 正在做 HTML / JSON / 模板到 InDesign 的转换项目

  • 需要自动生成设计汇报、画册、排版文档的团队

  • 希望用脚本验证真实 InDesign 输出的 Agent 工作流

不适合:

  • 只想手动点按钮排版的普通 InDesign 用户

  • 不安装 Adobe InDesign 的纯后端环境

  • 希望用它替代浏览器、LaTeX 或其他排版引擎的场景

🔧 本地开发

这条路给要改源码、做二次开发或在 CI 里跑的人。和 Setup 不同,它要求本机自备 Node.js 18+Python 3.10+,并且会现场编译 winax

git clone https://github.com/zhanglongxiao111/indesign-cli.git
cd indesign-cli
pip install -e .
indesign-cli server setup
indesign-cli --pretty server health --deep --connect-indesign

server setup 会装上 InDesign 自动化所需的 Node 依赖,包括 winaxserver health 返回 ok: truedata.indesign_com.checkedtrue,说明真实 InDesign COM 链路已完成只读探针。

从源码跑不带 html——内置 HTML 插件只随成品运行环境分发。补装办法见 插件接入

常见环境问题排查

server health 的输出包含当前 runtime 根目录/版本/组件、builtin HTML 插件、系统 Edge,以及工具链诊断。排查环境问题先看这份输出。

ModuleNotFoundError: No module named 'cli_anything'

命令入口 indesign-cli.exe 和 Python 用户包目录不一致,常见于沙箱或受控 Agent 运行时重定向了 APPDATA / USERPROFILE。检查用户包目录:

python -c "import site; print(site.getuserbase()); print(site.getusersitepackages())"

如果指向临时目录,把 PYTHONUSERBASE 固定到真实用户目录或稳定短路径,再重新安装。

winax 编译失败(如 error C1083

server setup 需要用 MSVC 编译原生模块 winax,在超长路径(深层临时目录)下容易失败。解决方式是把 server 目录固定到稳定短路径:

# 1. 定位当前 server 目录
python -c "from cli_anything.indesign.core.runtime import resolve_server_root; print(resolve_server_root())"
# 2. 把整个目录复制到短路径,例如 D:\indesign-cli-server
# 3. 指向它并重装依赖
setx INDESIGN_CLI_SERVER_ROOT "D:\indesign-cli-server"
indesign-cli server setup

INDESIGN_CLI_SERVER_ROOT 必须指向包含 package.jsonsrc/index.jssrc/advanced/index.js 的目录。这也是推荐的预构建模式:winax 构建一次,多个会话和受控环境复用,不必每次临时编译。

npm 不可用(Volta / nvm shim 损坏)

server setup 会先探测 PATH 上的 npm;探测失败时自动回退到 Node 自带的 npm-cli.js。两者都不可用时报 NPM_NOT_AVAILABLE,需要先修复本机 Node / npm 安装。

运行测试

git diff --check
node src\core\artifact.js --check
node scripts\check_architecture.mjs
node tests\architecture\registry.test.mjs
node scripts\validate_schemas.js
node scripts\check_duplicates.mjs
node tests\index.js --required
python -m pytest agent-harness\cli_anything\indesign\tests -q

📁 项目结构

.
├─ agent-harness/   # Python CLI、CLI 测试
├─ src/core/        # MCP server 工厂、router、runtime、artifact、会话与脚本执行
├─ src/tools/       # domain tool-module;schema、contract、handler、CLI id 共置
├─ scripts/         # 维护脚本和检查脚本
├─ tests/           # 测试和真实 InDesign E2E
├─ docs/            # 设计文档、计划、协作记录
├─ skills/          # 可手动复制到其他项目的 Agent Skill 和预览资产
├─ pyproject.toml   # pip 安装入口
└─ AGENTS.md        # 项目级 Agent 协作规则

🗺️ 下一步方向

项目后续会重点完善:

  • 更稳定的 HTML / 语义模板到 InDesign 转换链路

  • 更好用的模板槽位协议

  • 更适合 Agent 的排版检查和导出验证

  • 更完善的示例项目和真实 E2E 场景

📄 License

MIT

Available Tools

114 tools
add_item_to_groupB

Add a page item to an existing group

ParametersJSON Schema
NameRequiredDescriptionDefault
itemIndexYesIndex of the page item to add to the group
pageIndexYesIndex of the page containing the group and item
groupIndexYesIndex of the group to add the item to

TDQS

B3/5.0
Behavior2/5

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

No annotations are provided, and the description only says 'Add' without detailing side effects, index assumptions, error handling, or whether the item must not already be in the group.

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 description is a single concise sentence, but it is essentially a tautology of the tool name. It could be improved by adding structure without increasing length significantly.

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?

Given no output schema or annotations, the description lacks important context for a mutation tool: what happens if the group doesn't exist, if indices are invalid, or if the item is already in the group. The agent is left with 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 coverage is 100%, so baseline is 3. The description adds no additional meaning beyond the parameter names and types 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?

Description clearly states verb 'Add' and resource 'page item to an existing group', distinguishing it from sibling tools like 'create_group' or 'remove_item_from_group'.

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 tool versus alternatives such as 'create_group_from_items' or 'remove_item_from_group'. The description does not mention prerequisites or context.

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

add_pageC

Add a new page to the document

ParametersJSON Schema
NameRequiredDescriptionDefault
positionNoAT_END
referencePageNoReference page index (for BEFORE/AFTER positioning)

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are present, and the description only says 'add'. It fails to disclose side effects (e.g., page numbering impact), prerequisites, or constraints, leaving behavioral transparency minimal.

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 description is a single short sentence, which is concise but too sparse. It could include more details without sacrificing brevity.

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 tool with two parameters and no output schema or annotations, the description is insufficient. It omits how parameters affect behavior and lacks necessary context for safe invocation.

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 coverage is 50% (only referencePage has a description). The description adds no explanation of how position and referencePage interact, leaving meaning incomplete for the AI agent.

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 'Add a new page to the document' clearly states the action and resource. It distinguishes the tool from sibling operations like delete, duplicate, and move pages.

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 provided on when to use this tool over alternatives like adding a spread or inserting from a master page. The description lacks context for decision-making.

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

adjust_page_layoutC

Adjust page layout with new dimensions and margins

ParametersJSON Schema
NameRequiredDescriptionDefault
widthNoPage width (e.g., "600px", "8.5in")
heightNoPage height (e.g., "800px", "11in")
bleedTopNoTop bleed (e.g., "3mm")
pageIndexYesPage index
topMarginNoTop margin (e.g., "20mm")
leftMarginNoLeft margin (e.g., "20mm")
bleedBottomNoBottom bleed (e.g., "3mm")
bleedInsideNoInside bleed (e.g., "3mm")
rightMarginNoRight margin (e.g., "20mm")
bleedOutsideNoOutside bleed (e.g., "3mm")
bottomMarginNoBottom margin (e.g., "20mm")

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. It only states 'adjust' without detailing side effects, prerequisites, or permissions. Minimal transparency for a mutation tool with 11 parameters.

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?

Single sentence, no wasted words. Efficient but could be improved with more structure or detail without losing conciseness.

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 tool with 11 parameters and no output schema, the description is too brief. Lacks explanation of return values, prerequisites, or integration with other 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 baseline is 3. The description's 'dimensions and margins' summarizes parameters but adds no new semantics beyond the detailed schema examples.

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 clearly states the tool adjusts page layout with new dimensions and margins, distinguishing it from sibling tools like resize_page which may only handle size. It is specific with verb and resource but does not explicitly differentiate from all siblings.

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 tool versus alternatives like set_page_properties or resize_page. The description implies usage for page layout changes but lacks explicit context or exclusions.

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

apply_character_styleB

Apply a character style to text

ParametersJSON Schema
NameRequiredDescriptionDefault
endIndexNoEnd character index (-1 for all)
styleNameYesCharacter style name
frameIndexNoText frame index (0-based)
startIndexNoStart character index

TDQS

B3.2/5.0
Behavior2/5

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

Without annotations, the description carries full behavioral disclosure burden but only says 'apply' without indicating effects on existing formatting, reversibility, or requirements.

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

Conciseness5/5

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

Single sentence with no wasted words, effectively front-loaded.

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?

Description lacks explanation of how parameters like startIndex, endIndex, and frameIndex work together, leaving the agent to infer usage from schema alone.

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 description adds no new parameter details, so 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?

The description clearly states the action (apply) and resource (character style) on text, differentiating from sibling tools like apply_paragraph_style and apply_object_style.

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 tool versus similar alternatives like apply_paragraph_style, nor any prerequisites or constraints.

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

apply_colorC

Apply color to an object

ParametersJSON Schema
NameRequiredDescriptionDefault
colorNameYesColor swatch name
colorTypeNoFILL
frameIndexNoTarget frame or page item index
targetTypeNotext
objectIndexYesObject index

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full burden of behavioral disclosure. It only states 'apply color,' implying a mutation, but does not disclose permissions, side effects, reversibility, or that it modifies existing colors. The description is insufficient for a mutation tool.

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

Conciseness3/5

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

The description is a single sentence, making it concise. However, it sacrifices informativeness for brevity. Every word is necessary, but the overall value is low due to lack of detail. It is not verbose, but could be improved with more context.

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 5 parameters, no output schema, and no annotations, the description is far from complete. It does not explain the role of objectIndex, frameIndex, or targetType, nor the result of applying color. The tool's complexity demands a richer description to ensure correct invocation.

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?

The input schema covers 60% of parameters with descriptions, but these descriptions are minimal (e.g., 'Color swatch name', 'Object index'). The tool description adds no additional meaning or context to the parameters. For parameters like colorType and targetType, which lack schema descriptions, the description fails to clarify their purpose.

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 'Apply color to an object,' which clearly indicates the action (apply color) and the resource (object). However, it does not differentiate from sibling tools like apply_object_style or set_page_item_properties, which could also involve color. The verb is specific enough, but the lack of distinction lowers it slightly.

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 provided on when to use this tool versus alternatives such as apply_object_style or set_page_item_properties. There are no usage conditions, prerequisites, or examples given, leaving the agent without context for selection.

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

apply_master_spreadB

Apply a master spread to pages

ParametersJSON Schema
NameRequiredDescriptionDefault
pageRangeNoPage range (e.g., "1-5", "all")all
masterNameYesMaster spread name to apply

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose any behavioral traits beyond the obvious. For instance, whether applying a master spread overrides existing content, or if authentication is needed, is not addressed.

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

Conciseness4/5

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

The description is extremely concise (6 words) and front-loaded. While effective for a simple tool, it could include more context without losing conciseness.

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 simple parameter set and no output schema, the description is adequate but lacks details about error handling, behavior on repeated apply, or interaction with other page-related 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 coverage is 100% with clear parameter descriptions (page range and master name). The tool description adds no additional meaning beyond the schema, so it meets the baseline of 3 without exceeding it.

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 'Apply a master spread to pages' clearly states the action (apply) and the resource (master spread) and target (pages). It is specific and distinguishable from sibling tools like 'apply_character_style' or 'apply_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?

The description provides no guidance on when to use this tool versus alternatives such as 'create_master_spread' or 'detach_master_items'. No prerequisites or exclusions are mentioned, leaving the agent to infer usage context.

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

apply_object_styleB

Apply an object style to a page item

ParametersJSON Schema
NameRequiredDescriptionDefault
itemTypeNorectangle
itemIndexNoItem index
styleNameYesObject style name

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description bears full responsibility for behavioral disclosure. It only states the action without detailing side effects, error handling, required permissions, 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?

The description is a single concise sentence without extraneous information. It efficiently conveys the core purpose but could benefit from slight elaboration on context or parameters without becoming verbose.

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?

Given the tool's complexity as a document design operation with many sibling tools, the description is incomplete. It does not explain what 'apply an object style' entails, whether the page item must pre-exist, or what changes occur. No output schema exists to compensate.

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

Parameters2/5

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

The description adds no meaning beyond the input schema. With 67% schema description coverage, the description does not elaborate on parameter usage, constraints, or relationships. For example, it does not clarify the role of 'itemType' or 'itemIndex' in identifying the target page item.

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 'Apply an object style to a page item' clearly specifies the verb (apply) and resource (object style to page item). It distinguishes from sibling tools like 'apply_character_style' or 'apply_paragraph_style' by explicitly mentioning 'object style'.

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 does not provide explicit guidance on when to use this tool versus alternatives. While the name and description imply it is for object styles, there is no mention of prerequisites, exclusions, or comparison with other apply-style tools.

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

apply_paragraph_styleC

Apply a paragraph style to text

ParametersJSON Schema
NameRequiredDescriptionDefault
styleNameYesParagraph style name
frameIndexNoText frame index
paragraphIndexNoParagraph index within the frame (0-based)

TDQS

C2.8/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. It only states the basic action without disclosing side effects, requirements (e.g., open document, existing text frame), or behavior.

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?

Extremely concise (4 words), but at the expense of completeness. Barely provides utility.

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 tool with 3 parameters and no output schema, the description is incomplete—missing return value info, error conditions, and usage context.

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 baseline is 3. The description adds no extra meaning beyond the schema's parameter descriptions.

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 clearly states the action ('apply') and the resource ('paragraph style to text'), but does not differentiate from sibling tools like apply_character_style or apply_object_style.

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 tool vs alternatives, nor any prerequisites or context for usage.

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

clear_sessionA

Clear all session data including page dimensions and document information

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior2/5

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

With no annotations, the description carries the full burden. It only states it clears session data but does not disclose whether this action is destructive, irreversible, or affects open documents. Lacks details on side effects or required permissions.

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?

Single sentence, no filler. Every word earns its place. Highly efficient.

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 parameterless tool with no output schema, the description captures the core function. However, it lacks contextual guidance about when to use it or what happens afterward. A slight addition about typical use cases would make it complete.

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?

No parameters exist, so schema coverage is 100%. Baseline of 4 is appropriate; description adds no parameter info, but none is needed.

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?

Description explicitly states it clears session data, specifically 'page dimensions and document information'. Verb 'clear' is specific, and the resource 'session data' is well-defined. Distinguishes from sibling tools like close_document or get_session_info.

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 tool versus alternatives. Does not specify prerequisites, contextual cues, or when not to use it. For example, it does not indicate if it should be used before starting a new document or after saving.

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

close_documentA

Close a document only when the target is unambiguous. Modified documents require allowDiscard.

ParametersJSON Schema
NameRequiredDescriptionDefault
allowDiscardNoExplicitly discard unsaved changes when closing the target document
forceActiveDocumentNoExplicitly close the active document even when multiple documents are open
expectedDocumentNameNoOptional document name to close when multiple documents are open

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations provided, the description must fully disclose behavior. It mentions the need for allowDiscard when modified, implying a destructive action, but does not clarify whether the operation fails or prompts without it, nor does it describe any prerequisites or side effects.

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

Conciseness5/5

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

The description is extremely concise with two sentences that front-load the core action. Every word serves a purpose, and there is no redundant or extraneous 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?

Given the three parameters and no output schema, the description is brief. It covers the key condition for using allowDiscard but does not explain how to resolve target ambiguity or handle failure cases. The schema fills in parameter details, but the description could be more complete for a tool with no annotations.

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 baseline is 3. The description adds value by tying allowDiscard to the condition of modified documents, but does not elaborate on forceActiveDocument or expectedDocumentName, leaving their semantics mostly to 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 clearly states the action 'Close a document' and adds specificity with conditions about target unambiguity and modified documents. It directly identifies the tool's purpose and distinguishes it from sibling tools like open_document or save_document.

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 provides usage guidance by noting that the target must be unambiguous and that modified documents require allowDiscard. However, it does not explicitly specify when to use this tool versus alternatives or when to avoid it, leaving some ambiguity for the agent.

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

create_character_styleC

Create a character style

ParametersJSON Schema
NameRequiredDescriptionDefault
boldNoBold text
nameYesStyle name
italicNoItalic text
fontSizeNoFont size in points
textColorNoText colorBlack
underlineNoUnderline text
fontFamilyNoFont family (use format: FontName\tStyle)Arial\tRegular

TDQS

C2.9/5.0
Behavior2/5

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

No annotations exist, and the description fails to disclose behavioral traits such as whether duplicate names cause error, whether a document must be open, or any side effects beyond creation.

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

Conciseness4/5

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

The description is a single, efficient sentence with no wasted words. It is appropriately short for a simple creation tool, though it could benefit from slight expansion.

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?

The tool has no output schema and no annotations, yet the description does not explain what is returned (e.g., style ID, success message). This is a significant gap 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?

All 7 parameters have descriptions in the schema (100% coverage). The description adds no extra meaning beyond the schema, so a baseline score of 3 is appropriate.

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

Purpose4/5

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

The description clearly states the verb+resource: creating a character style. However, it does not differentiate from sibling tools like create_paragraph_style or apply_character_style, but the name itself is sufficiently specific.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives (e.g., apply_character_style, create_paragraph_style). The description gives no context about prerequisites or typical scenarios.

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

create_color_swatchC

Create a color swatch

ParametersJSON Schema
NameRequiredDescriptionDefault
redYesRed value (0-255)
blueYesBlue value (0-255)
nameYesSwatch name
greenYesGreen value (0-255)
colorTypeNoPROCESS

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It only states 'Create a color swatch', which implies a non-destructive addition, but does not specify prerequisites, side effects, error conditions, or how the tool interacts with the document state. This leaves significant gaps for an agent to safely invoke the tool.

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

Conciseness3/5

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

The description is extremely concise, consisting of a single phrase. While efficient, it sacrifices useful context. It is front-loaded with the main action, but lacks any supporting details.

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?

Given the tool has five parameters, no output schema, and no annotations, the description is insufficient to provide a complete understanding. It does not cover the semantics of colorType, the context of creating a swatch within an InDesign document, or any expected return values. This leaves agents underinformed.

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?

The description adds no information about parameters beyond what is already in the input schema. The schema covers 4 out of 5 parameters with descriptions, but the description does not clarify the meaning or usage of any parameter, nor does it compensate for the missing description of the colorType parameter.

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?

Description clearly states the action (create) and resource (color swatch), which is a specific verb+resource pairing. It distinguishes from sibling tools that create other objects (e.g., create_rectangle, create_character_style) by its target. However, it lacks any context about what a color swatch is in the application, which slightly reduces clarity for agents unfamiliar with the domain.

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

Usage Guidelines2/5

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

No usage guidelines provided. There is no mention of when to use this tool versus alternatives like apply_color or list_color_swatches. Agents are left to infer based on the tool name alone, which is insufficient.

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

create_documentC

Create a new document

ParametersJSON Schema
NameRequiredDescriptionDefault
pagesNoNumber of pages
widthNoDocument width in mm
heightNoDocument height in mm
bleedTopNoTop bleed in mm
marginTopNoTop margin in mm
marginLeftNoLeft margin in mm
bleedBottomNoBottom bleed in mm
bleedInsideNoInside bleed in mm
facingPagesNoEnable facing pages
marginRightNoRight margin in mm
bleedOutsideNoOutside bleed in mm
marginBottomNoBottom margin in mm
pageOrientationNoPORTRAIT

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits. It merely states 'Create' without mentioning side effects (e.g., whether it overwrites, requires permissions, or returns a document reference). This is insufficient for safe usage.

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

Conciseness4/5

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

The description is a single concise sentence with no superfluous words. However, it could be slightly more structured by mentioning the tool's primary function and key parameters briefly.

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?

Given the tool has 13 parameters and no output schema, the description is too bare. It omits crucial context such as return values, document activation behavior, or initial state, making it incomplete for complex use.

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?

Input schema has high coverage (92% described properties), so baseline is 3. The description adds no extra meaning beyond what the schema provides; it does not prioritize key parameters or explain 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 clearly states the tool creates a new document, which is specific verb+resource. However, it does not differentiate from sibling tools like 'open_document' or 'save_document' which have different purposes.

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 provided on when to use this tool versus alternatives such as 'open_document' or 'save_document'. The description lacks context on prerequisites (e.g., existing session) or when creation is appropriate.

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

create_document_sectionC

Create a new section in the document

ParametersJSON Schema
NameRequiredDescriptionDefault
startPageYesPage to start section on
startNumberNoStarting page number
sectionPrefixNoSection prefix
numberingStyleNoNumbering styleARABIC

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries full burden for behavioral disclosure. It only states 'create' without indicating whether the operation is destructive, what permissions are needed, or side effects (e.g., impact on existing sections). No behavioral traits beyond the verb are revealed.

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

Conciseness4/5

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

The description is a single clear sentence with no redundancy. It is front-loaded. However, it could be slightly more informative without losing conciseness, e.g., by mentioning the purpose of a section in document structure.

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?

Given the complexity (4 parameters, required startPage, enum options) and absence of output schema, the description is insufficient. It does not explain what a 'section' is, how it interacts with the document, or what the tool returns. The agent lacks essential context for correct usage.

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?

All four parameters are described in the input schema (100% coverage). The description adds no extra meaning beyond the schema, matching the baseline. It does not elaborate on how parameters like 'numberingStyle' affect the section behavior.

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 clearly states the tool's function: creating a new section in the document. It uses a specific verb-resource pair ('create section') and is distinct from sibling tools like 'create_document' or 'create_layer'. However, it could further clarify what a 'section' entails (e.g., page numbering, prefix, style).

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 provided on when to use this tool versus alternatives (e.g., modifying existing sections via other tools, or using page properties). The description lacks context for when this tool is appropriate, leaving the agent without decision support.

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

create_ellipseB

Create an ellipse on the active page

ParametersJSON Schema
NameRequiredDescriptionDefault
xYesX position in mm
yYesY position in mm
widthYesWidth in mm
heightYesHeight in mm
fillColorNoFill color (RGB hex or swatch name)
strokeColorNoStroke color
strokeWidthNoStroke width in points

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, and the description only states the basic action. It fails to disclose behavioral traits such as whether the ellipse replaces existing items, requires an active document, or any side effects.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no waste. It efficiently conveys the core purpose.

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 7 parameters, no output schema, and no annotations, the description is incomplete. It does not explain return values, side effects, or the context of the ellipse creation (e.g., which layer it lands 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 coverage is 100%, so baseline is 3. The description adds no additional meaning beyond what the schema already provides (e.g., coordinate units are already in descriptions).

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 clearly states the action ('create') and the resource ('ellipse') with context ('on the active page'), effectively distinguishing it from sibling tools like create_rectangle or create_polygon.

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 tool vs alternatives, no prerequisites, and no exclusion criteria. The description lacks any usage context.

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

create_groupC

Create a group from currently selected items

ParametersJSON Schema
NameRequiredDescriptionDefault
pageIndexYesIndex of the page where the group will be created

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description should disclose behavioral traits. It fails to mention that the group is created on a specified page (pageIndex parameter), what happens to selected items, or any side effects. This is insufficient transparency.

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

Conciseness4/5

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

The description is very concise (one sentence), which is good, but it sacrifices important details that could aid selection and invocation. Still, it is appropriately front-loaded.

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?

Given the one parameter and no output schema, the description should still explain core aspects like what 'currently selected items' means and the return behavior. It lacks these, making it incomplete.

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?

The schema already provides a description for the single parameter 'pageIndex' (100% coverage). The tool description adds no additional meaning beyond that, meeting the baseline but not exceeding 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?

The description clearly states the action ('Create a group') and the scope ('from currently selected items'), but does not differentiate from the similar sibling 'create_group_from_items', which could cause confusion.

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 tool versus alternatives like 'add_item_to_group' or 'create_group_from_items'. No prerequisites or usage context provided.

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

create_group_from_itemsA

Create a group from specific page items by their indices

ParametersJSON Schema
NameRequiredDescriptionDefault
pageIndexYesIndex of the page containing the items
itemIndicesYesArray of item indices to group together

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full burden of behavioral disclosure. It states the tool creates a group but does not disclose side effects such as whether the original items are removed or if the group becomes the new selection. The description is insufficient for a mutation operation.

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

Conciseness5/5

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

A single, clear sentence with no extraneous words. It presents the core functionality efficiently without repeating information already in the schema.

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 two parameters and no output schema, the description is functional but lacks completeness. It does not specify that items must be on the same page or the behavior if indices are invalid. Additional context would improve usability.

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 both parameters. The description adds 'specific page items' as context but does not provide additional semantic meaning beyond what the schema offers. Baseline score of 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?

The description clearly states the action (create), the object (group), and the method (from specific page items by their indices). It effectively distinguishes this tool from the sibling 'create_group' which likely creates an empty group.

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 implicitly suggests usage for grouping existing items by index, but it does not provide explicit guidance on when to use this tool versus alternatives like 'create_group' or 'add_item_to_group'. No exclusions or prerequisites are mentioned.

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

create_layerC

Create a new layer

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesLayer name
colorNoLayer color (RGB values as comma-separated string or UI color name)BLUE
lockedNoLayer locked state
visibleNoLayer visibility

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose side effects, permissions, or atomicity. It fails to mention any behavioral traits beyond creation, such as whether duplicate names are allowed or if the layer becomes active.

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

Conciseness4/5

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

The description is extremely short (4 words), which is concise but lacks structure. It effectively conveys the core action without redundancy, albeit at the expense of detail.

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?

Given no output schema, no annotations, and 4 parameters, the description is too brief. It does not explain what the tool returns, how it interacts with existing layers, or the effect of default values.

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 baseline is 3. The description adds no additional meaning beyond the schema definitions for parameters like 'name', 'color', 'locked', and 'visible'.

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 the verb 'create' and the resource 'layer', making the primary action clear. It is specific enough to distinguish from sibling tools like 'create_rectangle' or 'create_text_frame'.

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 like 'set_active_layer' or when prerequisites (e.g., a document must exist) are needed. The description provides no usage context.

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

create_master_guidesC

Create guides on a master spread

ParametersJSON Schema
NameRequiredDescriptionDefault
layerNameNoLayer name to create guides on
rowGutterNoRow gutter in mm
fitMarginsNoFit guides to margins
guideColorNoGuide color (RGB values as comma-separated string or UI color name)BLUE
masterNameYesMaster spread name
columnGutterNoColumn gutter in mm
numberOfRowsNoNumber of rows
removeExistingNoRemove existing guides
numberOfColumnsNoNumber of columns

TDQS

C2.8/5.0
Behavior2/5

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

No annotations provided, and the description does not disclose any behavioral traits such as side effects (e.g., removing existing guides, fitting to margins) or prerequisites. The schema parameters imply behaviors but are not summarized.

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?

Extremely brief (one sentence), which is concise but at the expense of informative content. It earns its place but could be more helpful without becoming verbose.

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?

Given the tool's complexity (9 parameters, no output schema), the description is insufficient. It does not explain what the tool returns (if anything), how the guides are created, or how parameters interact. Agent would need to infer everything from parameter descriptions.

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 baseline is 3. The description adds no additional meaning beyond the schema; it merely states the tool's purpose without elaborating on parameter roles or default effects.

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?

Specifies action 'create guides' on target 'master spread', distinguishing it from siblings like 'create_page_guides' and 'create_spread_guides'. However, it does not detail what type of guides (e.g., row/column grid) are created, so it lacks full specificity.

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 tool versus alternatives. With sibling tools like 'create_page_guides' and 'create_spread_guides', the description should explicitly differentiate usage contexts but does not.

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

create_master_rectangleB

Create a rectangle on a master spread

ParametersJSON Schema
NameRequiredDescriptionDefault
xYesX position in mm
yYesY position in mm
widthYesWidth in mm
heightYesHeight in mm
fillColorNoFill color (RGB hex or swatch name)
masterNameYesMaster spread name
strokeColorNoStroke color
strokeWidthNoStroke width in points
cornerRadiusNoCorner radius in mm

TDQS

B3/5.0
Behavior2/5

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

No annotations exist, and the description does not disclose behavioral traits such as what happens if the master spread does not exist, whether it adds to the current master, or any side effects.

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

Conciseness3/5

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

The description is very concise (one sentence) but lacks structure or additional context. It is minimally informative.

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?

Given the tool has 9 parameters and no output schema, the description fails to explain return values, error conditions, or behavior. It is insufficient for complete understanding.

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?

The input schema has 100% parameter description coverage, so the schema already explains each parameter. The description adds no extra semantic meaning, earning the baseline score of 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?

The description clearly states the action (create) and the target resource (rectangle on a master spread), differentiating it from sibling tools like 'create_rectangle' which operates on regular spreads.

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 provided on when to use this tool versus alternatives (e.g., create_rectangle, create_master_text_frame). The description does not indicate prerequisites or context.

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

create_master_spreadC

Create a new master spread

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesMaster spread name
baseNameNoBase name for the master spread
pageColorNoPage color (RGB values as comma-separated string or UI color name)
namePrefixNoName prefix for the master spread
showMasterItemsNoShow master items on document pages

TDQS

C2.3/5.0
Behavior2/5

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

No annotations are provided, and the description fails to disclose any behavioral traits such as destructive effects, required permissions, or side effects. The description only states the action without informing the agent about potential impacts or safety considerations.

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?

The description is very short (one sentence) but lacks substance. While it is concise, it fails to provide useful information that justifies its brevity. It is under-specified rather than efficiently concise.

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

Completeness1/5

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

Given the tool has 5 parameters, no output schema, and no annotations, the description is woefully incomplete. It does not explain what a master spread is, how the parameters interact, what the return value is, or whether any prerequisites (e.g., existing document) are needed. The agent would have to rely solely on parameter names and descriptions.

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?

The input schema has 100% coverage with descriptions for all 5 parameters, so the schema already documents parameters. The description does not add any extra meaning or context beyond what is in the schema, meeting the baseline expectation.

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 'Create a new master spread' restates the tool name without adding any additional context. While it conveys the basic verb and resource, it does not differentiate the tool's purpose from similar siblings like 'apply_master_spread' or 'duplicate_master_spread' beyond the literal meaning.

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 provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, context, or cases where other tools (e.g., 'apply_master_spread' or 'duplicate_master_spread') would be more appropriate.

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

create_master_text_frameB

Create a text frame on a master spread

ParametersJSON Schema
NameRequiredDescriptionDefault
xNoX position in mm
yNoY position in mm
widthNoWidth in mm
heightNoHeight in mm
contentYesText content for the frame
fontSizeNoFont size in points
alignmentNoLEFT_ALIGN
textColorNoText color (RGB hex or name)Black
fontFamilyNoFont family nameHelvetica Neue
masterNameYesMaster spread name
isPrimaryTextFrameNoSet as primary text frame

TDQS

B3.1/5.0
Behavior2/5

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

No annotations exist, so the description must carry the full burden. It discloses the action but fails to mention side effects (e.g., overwriting existing frames, primary frame implications), required permissions, or error conditions.

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

Conciseness4/5

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

The description is a single, concise sentence with no redundancy. However, it could be slightly expanded to include key behavioral details without losing conciseness.

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?

Given 11 parameters, no output schema, and no annotations, the description is too minimal. It omits information about coordinate system, return value, and the effect of isPrimaryTextFrame, making it incomplete for a complex 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 coverage is high (91%), so the baseline is 3. The description does not add extra meaning beyond the schema; it repeats 'text frame on master spread' but no parameter-specific elaboration.

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 explicitly states 'Create a text frame on a master spread', clearly distinguishing it from the sibling 'create_text_frame' which operates on regular pages. The verb and resource are specific.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like create_text_frame, nor are prerequisites (e.g., master spread existence) mentioned. Lacks explicit context for selection.

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

create_object_styleC

Create an object style for consistent formatting

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesObject style name
fillColorNoFill color (swatch name)
strokeColorNoStroke color (swatch name)
cornerRadiusNoCorner radius in mm
strokeWeightNoStroke weight in points
transparencyNoTransparency percentage (0-100)

TDQS

C2.8/5.0
Behavior1/5

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

No annotations are provided, and the description only says 'Create', giving no information about behavior like overwriting existing styles, error handling, or side effects. This is insufficient for a creation tool.

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

Conciseness3/5

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

The description is a single sentence, concise but under-informative. It wastes no words but lacks necessary details for a tool with 6 parameters.

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?

Given no output schema, no annotations, and 6 parameters, the description is too brief. It does not explain the object style concept, return value, or relationship to other style 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 coverage is 100%, and parameter descriptions exist in the schema (e.g., 'Object style name', 'Fill color (swatch name)'). The tool description adds no additional semantic value beyond what the schema provides, meeting 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?

The description clearly states the verb 'Create' and the resource 'object style' with the purpose 'for consistent formatting'. It distinguishes itself from siblings like apply_object_style and other create_* 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?

No guidance is provided on when to use this tool versus alternatives such as create_paragraph_style or create_character_style. There is no mention of prerequisites or conditions.

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

create_page_guidesC

Create guides on a page

ParametersJSON Schema
NameRequiredDescriptionDefault
layerNameNoLayer name to create guides on
pageIndexYesPage index
rowGutterNoRow gutter in mm
fitMarginsNoFit guides to margins
guideColorNoGuide color (RGB values as comma-separated string or UI color name)BLUE
columnGutterNoColumn gutter in mm
numberOfRowsNoNumber of rows
removeExistingNoRemove existing guides
numberOfColumnsNoNumber of columns

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits such as mutability, authorization needs, or side effects (e.g., removing existing guides via the 'removeExisting' parameter). The description solely states creation without context.

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 description is extremely concise (one sentence). However, it sacrifices important details for brevity. It is not front-loaded with critical differentiation or usage context.

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?

Given 9 parameters, no output schema, and no annotations, the description is insufficiently complete. It does not explain what guides are, how parameters affect output, or what the tool's return value is. An agent would lack crucial information 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?

The input schema has 100% description coverage, so the schema already documents all parameters. The description adds no additional meaning beyond the schema. Baseline score 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 'Create guides on a page' clearly states the action and resource. However, it does not differentiate from sibling tools like 'create_master_guides' or 'create_spread_guides', which are semantically distinct. The name itself provides some differentiation, but the description should explicitly clarify scope.

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 usage guidance is provided. The description does not indicate when to use this tool versus alternatives like 'create_spread_guides' or 'create_master_guides'. The agent has no context for selection.

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

create_paragraph_styleC

Create a paragraph style

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesStyle name
leadingNoLine spacing in points
fontSizeNoFont size in points
alignmentNoLEFT_ALIGN
textColorNoText colorBlack
fontFamilyNoFont family (use format: FontName\tStyle)Arial\tRegular
spaceAfterNoSpace after paragraph in points
spaceBeforeNoSpace before paragraph in points

TDQS

C2.5/5.0
Behavior2/5

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

The description does not disclose any behavioral traits beyond the action, such as document mutation, side effects, or required permissions. With no annotations, the description lacks transparency.

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 description is extremely concise at one sentence, but it lacks necessary detail. It is not verbose, but the brevity comes at the cost of completeness.

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?

Given the 8 parameters and no output schema or annotations, the description is incomplete. It does not explain the outcome, required document state, or how parameters relate to the result.

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 88%, so the baseline is 3. The description adds no additional meaning beyond the schema parameter names and descriptions. It does not explain usage or provide examples.

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 'Create a paragraph style', which clearly identifies the action and resource. However, it does not distinguish from sibling tools like create_character_style or create_object_style, leaving ambiguity about the specific use 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?

No guidance is provided on when to use this tool versus alternatives, nor any prerequisites (e.g., open document). The description merely states the action without context.

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

create_polygonC

Create a polygon on the active page

ParametersJSON Schema
NameRequiredDescriptionDefault
xYesX position in mm
yYesY position in mm
sidesNoNumber of sides
widthYesWidth in mm
heightYesHeight in mm
fillColorNoFill color (RGB hex or swatch name)
strokeColorNoStroke color
strokeWidthNoStroke width in points

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, description must disclose behavioral traits. It only says 'create', which implies a write operation, but omits details like whether it replaces selection, how it interacts with layers, or if it validates parameters.

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?

Extremely concise single sentence with no fluff. Could include more detail without sacrificing brevity, but it's appropriately sized for minimal info.

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?

Lacks explanation of return value or success indicators. With 8 parameters and no output schema, the description should clarify what happens after creation (e.g., element becomes selected, returns ID). Incomplete for a shape 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 coverage is 100%, so parameters are well-documented structurally. The description adds no extra semantic context beyond the schema, meeting the baseline for this dimension.

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?

Clearly states the tool creates a polygon on the active page, distinguishing it from siblings like create_rectangle or create_ellipse. However, it could be more specific about the shape's configurable nature (sides, dimensions).

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 tool vs alternatives (e.g., when to choose polygon over rectangle). No exclusions or prerequisites mentioned.

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

create_rectangleB

Create a rectangle on the active page

ParametersJSON Schema
NameRequiredDescriptionDefault
xYesX position in mm
yYesY position in mm
widthYesWidth in mm
heightYesHeight in mm
fillColorNoFill color (RGB hex or swatch name)
strokeColorNoStroke color
strokeWidthNoStroke width in points
cornerRadiusNoCorner radius in mm

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided. The description does not disclose side effects (e.g., selection behavior), required permissions, coordinate system origin, or default units beyond what schema infers.

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?

Single, clear sentence with no extraneous words. Efficiently communicates the tool's core function.

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?

Minimal description lacks behavioral details like default units, coordinate system, or interaction with active layer. Adequate for a simple creation tool but could be improved.

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 description adds no additional meaning. Baseline 3 is appropriate as the schema already documents each parameter adequately.

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 'Create a rectangle on the active page' specifies a clear verb (Create), resource (rectangle), and location (active page). It distinguishes from sibling tools like create_ellipse and create_polygon.

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 tool versus alternatives such as create_ellipse or create_master_rectangle. No contextual hints about prerequisites or scenarios.

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

create_spread_guidesC

Create guides on a spread

ParametersJSON Schema
NameRequiredDescriptionDefault
layerNameNoLayer name to create guides on
rowGutterNoRow gutter in mm
fitMarginsNoFit guides to margins
guideColorNoGuide color (RGB values as comma-separated string or UI color name)BLUE
spreadIndexYesSpread index
columnGutterNoColumn gutter in mm
numberOfRowsNoNumber of rows
removeExistingNoRemove existing guides
numberOfColumnsNoNumber of columns

TDQS

C2.3/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It does not mention that guides are created on a spread, whether existing guides can be removed (despite a parameter for it), or any side effects like overwriting. The description is insufficient for safe usage.

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?

The description is extremely concise (one short phrase), but this results in underspecification. Important information is missing, so the brevity is not beneficial.

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

Completeness1/5

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

Given 9 parameters, no output schema, and no annotations, the description is far too minimal. It provides no context on how to use parameters like rowGutter, columnGutter, fitMargins, etc. The tool is complex, but the description does not 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 coverage is 100%, so the parameters are already documented. The description adds no meaning beyond the schema, but the baseline of 3 is appropriate since the schema covers all parameters.

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 the verb 'create' and resource 'guides on a spread', which is moderately clear. However, it does not specify what type of guides (e.g., column/row guides) and does not differentiate from sibling tools like create_master_guides or create_page_guides.

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 provided on when to use this tool versus alternatives. Sibling tools exist for creating guides on master pages or individual pages, but the description offers no context or exclusions.

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

create_tableB

Create a table on the active page

ParametersJSON Schema
NameRequiredDescriptionDefault
xNoX position in mm
yNoY position in mm
rowsYesNumber of rows
widthNoTable width in mm
heightNoTable height in mm
columnsYesNumber of columns
headerRowsNoNumber of header rows
headerColumnsNoNumber of header columns

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, and the description lacks behavioral details beyond the basic action. It does not disclose side effects, error conditions, or what changes occur to the page.

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

Conciseness4/5

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

The description is a single concise sentence, which is efficient. However, it could be slightly more structured to include key context (e.g., placement).

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 tool with 8 parameters and no output schema, the description is too minimal. Missing details about required active document, table dimensions constraints, and default behavior when certain parameters are 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%, so the baseline is 3. The description adds no additional meaning beyond what the schema already provides for parameters like rows, columns, and dimensions.

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 clearly states the action ('Create') and resource ('table') with a location ('on the active page'). It is specific and distinct from sibling tools like create_rectangle or create_text_frame.

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 tool versus alternatives such as populate_table or edit_text_frame. No context on prerequisites (e.g., active document) or exclusions.

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

create_text_frameB

Create a text frame on the active page

ParametersJSON Schema
NameRequiredDescriptionDefault
xNoX position in mm
yNoY position in mm
widthNoWidth in mm
heightNoHeight in mm
contentYesText content for the frame
fontNameNoFont name (use format: FontName\tStyle)Arial\tRegular
fontSizeNoFont size in points
alignmentNoLEFT
textColorNoText color (RGB hex or name)Black
characterStyleNoCharacter style name to apply during creation
paragraphStyleNoParagraph style name to apply during creation

TDQS

B3/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. Only mentions 'on the active page', but lacks details on behavior like layer selection, return value, or error conditions.

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

Conciseness3/5

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

Very concise, one sentence, but too brief for an 11-parameter tool. Lacks structure or grouping of parameters.

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?

Incomplete for the complexity. No output schema, no annotations, and the description lacks details about behavior, return value, and edge cases.

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 high (91%), so the description adds minimal value. It doesn't elaborate on parameters beyond what the schema already 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?

Clearly states it creates a text frame on the active page. Verb 'create' and resource 'text frame' are specific. Distinguishes from siblings like create_rectangle and create_master_text_frame.

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 tool vs alternatives like edit_text_frame or place_file_on_page. No mention of prerequisites or context.

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

delete_all_page_layout_snapshotsB

Delete all layout snapshots for a page

ParametersJSON Schema
NameRequiredDescriptionDefault
pageIndexYesPage index

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of disclosure. It only states the operation ('Delete all layout snapshots for a page') without mentioning irreversibility, permissions required, or side effects. The destructive nature is implied but not clarified.

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 sentence with zero wasted words. It is front-loaded with the action and resource, which is appropriate for a tool with one parameter. Every word is necessary.

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 tool's simplicity (one parameter, no output schema) and high schema coverage, the description is adequate but minimal. It lacks context about the effect (e.g., permanent deletion) and expected result, which would enhance completeness for an agent.

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% (the parameter 'pageIndex' is described as 'Page index'). The description adds no additional meaning beyond the schema, so baseline score 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 'Delete all layout snapshots for a page' uses a specific verb ('Delete all') and resource ('layout snapshots for a page'), clearly distinguishing it from the sibling 'delete_page_layout_snapshot' (singular). The scope 'all' is explicit, making the purpose unambiguous.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like 'delete_page_layout_snapshot'. There are no statements about prerequisites, typical use cases, or exclusions, leaving the agent without context for selection.

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

delete_master_spreadC

Delete a master spread

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesMaster spread name to delete
masterIndexNoMaster spread index to delete

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of disclosing behavioral traits. It only states 'Delete a master spread' without addressing effects (e.g., what happens to associated page items, reversibility, or permission requirements), which is insufficient for a mutation operation.

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

Conciseness4/5

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

The description is extremely concise at one sentence. While it is not verbose, it omits potentially helpful context. For a simple tool, this brevity is acceptable and earns a high score for conciseness, though it could be slightly more informative without losing conciseness.

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?

Given the lack of annotations and output schema, the description should explain more. It does not clarify the relationship between the two parameters (name required, masterIndex optional) or provide context about master spreads. This leaves gaps for an agent deciding how to invoke the 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%, so the baseline is 3. The tool description adds no additional meaning beyond the schema descriptions. The schema already explains each parameter's purpose clearly ('Master spread name to delete', 'Master spread index to delete'), making the tool description adequate but not enhancing.

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 clearly states the verb 'Delete' and resource 'master spread', which is specific and distinguishable from sibling tools like delete_spread. However, it does not explicitly differentiate from other master spread operations like duplicate_master_spread or apply_master_spread, lacking a slight edge 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?

No guidance is provided on when to use this tool versus alternatives (e.g., delete_spread, duplicate_master_spread). There is no indication of prerequisites or context, leaving the agent to infer usage from the name alone.

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

delete_pageB

Delete a page from the document

ParametersJSON Schema
NameRequiredDescriptionDefault
pageIndexYesIndex of the page to delete

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description carries full burden. It fails to disclose key behaviors: whether deletion is irreversible, what happens to content on the page, permission requirements, or index base (0 or 1).

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 sentence with no wasted words, but could be expanded slightly to include critical context without losing conciseness.

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 simple one-parameter tool with no output schema, the description omits important context like effects on document structure, constraints, and error conditions, making it insufficiently complete.

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 description does not add extra meaning beyond the parameter schema. It does not clarify index base or constraint information, but 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?

The description 'Delete a page from the document' uses a specific verb and resource, clearly distinguishing it from sibling tools like add_page, duplicate_page, and delete_page_item.

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 provides no guidance on when to use this tool versus alternatives, no prerequisites (e.g., page must exist, cannot delete last page), and no context about typical use cases.

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

delete_page_itemC

Delete a page item

ParametersJSON Schema
NameRequiredDescriptionDefault
itemIndexYesIndex of the page item to delete
pageIndexYesIndex of the page containing the item

TDQS

C2.8/5.0
Behavior2/5

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

No annotations exist, so description should disclose behavioral traits. It only says 'delete' without specifying side effects like index shifting or undo capability.

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?

Extremely short but not informative; acceptable minimalism but misses opportunity for added context.

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?

Given no annotations or output schema, the description should provide more context about behavior and return value, leaving significant 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 covers 100% of parameters with descriptions, so description adds no extra meaning. Baseline score 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 clearly states the action (delete) and resource (page item), but does not differentiate from sibling tools like delete_page or duplicate_page_item.

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 tool versus alternatives; no prerequisites or exclusion criteria provided.

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

delete_page_layout_snapshotB

Delete the layout snapshot for a page

ParametersJSON Schema
NameRequiredDescriptionDefault
pageIndexYesPage index

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are present, so the description must convey behavioral traits. It merely states 'Delete' without mentioning that the operation is destructive, irreversible, or requires specific permissions. The parameter 'pageIndex' is not clarified (e.g., 0-based indexing).

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 sentence that directly states the tool's function with no extraneous words. It is front-loaded and efficient.

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?

Given the simplicity of the tool (1 param, no output schema), the description is minimal but lacks completeness. It does not explain what a layout snapshot is, the effect of deletion, or success/failure behavior. Compare to sibling 'snapshot_page_layout' which likely creates snapshots.

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% (the parameter 'pageIndex' has a brief description 'Page index'). The tool description adds no additional meaning beyond the schema. 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?

The description clearly states the action 'Delete' and the resource 'layout snapshot for a page'. It distinguishes from sibling tools like 'snapshot_page_layout' (create) and 'delete_all_page_layout_snapshots' (delete all).

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 provided on when to use this tool vs alternatives (e.g., 'delete_all_page_layout_snapshots'). The description lacks context about prerequisites, side effects, or typical use cases.

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

delete_spreadC

Delete a spread

ParametersJSON Schema
NameRequiredDescriptionDefault
spreadIndexYesSpread index to delete

TDQS

C2.3/5.0
Behavior2/5

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

Without annotations, the description must disclose behavioral traits, but it only states the action 'delete'. It does not mention side effects, such as whether deleting a spread also removes its contents or any constraints.

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 description is extremely concise, but lacks structure and substance. It could have included additional useful information without sacrificing brevity.

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?

Given the tool name and sibling tools, the description is insufficient. It does not explain what a spread is or any prerequisites, making it inadequate for an agent to confidently invoke the 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 coverage is 100% with a description for the single parameter. The description adds no extra meaning beyond the schema; it does not clarify indexing details like zero-based numbering or valid range.

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 'Delete a spread' is a tautology, merely restating the tool name. It does not specify what a spread is or how it differs from sibling tools like 'delete_master_spread' or 'delete_page'.

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 provided on when to use this tool versus alternatives such as 'delete_page' or 'delete_master_spread'. The description lacks any contextual usage hints.

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

detach_master_itemsC

Detach master page items from a page

ParametersJSON Schema
NameRequiredDescriptionDefault
itemIndexNoMaster item index to detach (optional, detaches all if not specified)
pageIndexYesPage index

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It implies a destructive action but does not detail reversibility, impact on other pages, or what happens when no itemIndex is specified (this is only in the schema). The description lacks essential behavioral context.

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

Conciseness3/5

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

The description is a single sentence with no redundancy, but it is too brief and misses key details. It is sufficiently concise but at the expense of completeness.

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?

Given no output schema and no annotations, the description is insufficiently complete. It does not explain what happens after detachment, return values, or success indicators. For a tool that modifies page items, more context is needed.

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%, with both parameters documented. The description adds no additional meaning beyond the schema; the main description does not even mention the optionality of itemIndex. Baseline score of 3 is appropriate as 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?

The description clearly states the verb 'detach', the resource 'master page items', and the target 'from a page', effectively distinguishing it from sibling tools like 'apply_master_spread' or 'remove_master_override'. However, it could be more explicit about the effect (e.g., making items independent page items).

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 tool versus alternatives like 'remove_master_override' or when not to use it. The description provides no context about prerequisites or scenarios.

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

duplicate_master_spreadC

Duplicate a master spread

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesMaster spread name to duplicate
newNameYesName for the duplicated master spread
positionNoAT_END
masterIndexNoMaster spread index to duplicate
referenceMasterNoReference master spread index for BEFORE/AFTER placement

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations and a minimal description, the tool lacks disclosure of side effects, required permissions, or what happens beyond duplication. For a mutation tool, this is insufficient.

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

Conciseness4/5

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

The description is very short and to the point, but could benefit from a bit more context without becoming wordy. It is not verbose.

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?

Given 5 parameters, no output schema, and a minimal description, the tool lacks important contextual information such as expected behavior for duplicate positioning or prerequisites like master spread existence.

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 already explains most parameters. The description adds no extra context for parameters, thus meets the baseline for high 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 'Duplicate a master spread' clearly states the action and resource. It is specific enough to distinguish from sibling tools like delete_master_spread or create_master_spread, but does not elaborate on scope or behavior.

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 tool versus alternatives such as duplicate_spread or duplicate_page. No prerequisites or context provided.

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

duplicate_pageC

Duplicate a page

ParametersJSON Schema
NameRequiredDescriptionDefault
positionNoAT_END
pageIndexYesPage index to duplicate
referencePageIndexNoReference page index (for BEFORE/AFTER positioning)

TDQS

C2.4/5.0
Behavior1/5

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

No annotations are provided, so the description must disclose behavioral traits. It only states 'Duplicate a page' without explaining side effects, content copying, permissions, or whether the original page is modified. This is a serious gap.

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?

The description is only three words, which is too minimal. It lacks front-loading of critical information and fails to provide structure or elaboration.

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?

Given the complexity of duplicating a page (which may involve copying content, assets, and positioning), the description is woefully incomplete. No output schema is present, and the description does not explain return values or 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 coverage is 67% (2 of 3 parameters have descriptions). The description adds no additional meaning beyond the schema, so the baseline of 3 is appropriate.

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

Purpose4/5

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

The description states 'Duplicate a page,' which clearly identifies the action and resource. However, it does not distinguish from sibling tools like duplicate_spread or duplicate_master_spread, but the name itself provides that differentiation.

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 tool versus alternatives. There is no mention of prerequisites, context, or exclusions, leaving the agent to infer usage from the name alone.

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

duplicate_page_itemC

Duplicate a page item

ParametersJSON Schema
NameRequiredDescriptionDefault
xYesX coordinate for the duplicate
yYesY coordinate for the duplicate
itemIndexYesIndex of the page item to duplicate
pageIndexYesIndex of the page containing the item

TDQS

C2.8/5.0
Behavior2/5

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

The description lacks any behavioral details beyond the obvious duplication function. Since no annotations are provided, the description should compensate by disclosing actions like whether the original item remains, if permissions are required, or any side effects. It does not, leaving the agent without crucial context.

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 description is extremely concise (one sentence), but it is too minimal to be informative. While brevity is valued, the description could include essential details (like coordinate placement) without becoming verbose. It earns a middle score for not being wasteful but failing to offer meaningful content.

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?

Given the tool's complexity (4 required parameters, no output schema), the description is incomplete. It does not explain what the function returns (e.g., index of the new duplicate) or provide context about the duplication behavior. With many sibling duplication tools, more context is needed for correct 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?

The input schema provides full coverage (100%) with descriptions for all four parameters. The description adds no additional semantic value beyond what is already in the schema. Baseline score of 3 is appropriate as the schema carries the explanatory burden.

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 clearly states the verb 'duplicate' and resource 'page item', making the basic purpose obvious. However, it does not differentiate from sibling tools like 'duplicate_page' or 'duplicate_spread', which also perform duplication but on different objects. A more specific description (e.g., 'Duplicate a page item and place it at the given coordinates') would enhance clarity.

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 provided on when to use this tool versus alternatives. For example, it does not explain scenarios where duplicating a page item is appropriate compared to using 'duplicate_page' or 'duplicate_spread'. There is no mention of prerequisites or when not to use it.

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

duplicate_spreadC

Duplicate a spread

ParametersJSON Schema
NameRequiredDescriptionDefault
positionNoAT_END
spreadIndexYesSpread index to duplicate
referenceSpreadIndexNoReference spread index (for BEFORE/AFTER positioning)

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits, but it only states the action. It does not explain whether the duplication creates a new spread in the same document, what content is duplicated, or any side effects such as master page inheritance.

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

Conciseness4/5

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

The description is extremely concise, consisting of a single sentence. While there is no wasted text, it is overly minimal for a tool with multiple parameters and sibling tools, bordering on under-specification.

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?

Given the tool's complexity (3 parameters, no output schema, sibling tools), the description fails to provide essential context such as how positioning works, the impact on the document, or the return value. It is insufficient for an agent to confidently invoke the tool correctly.

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?

The input schema provides descriptions for 2 of 3 parameters (67% coverage). The description adds no additional meaning beyond what the schema states, so it meets the baseline but does not enhance understanding of parameter relationships or usage.

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 'Duplicate a spread' clearly states the action and resource, but does not differentiate from sibling tools such as duplicate_master_spread or duplicate_page, which could lead to confusion about which duplication tool to use.

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 provided on when to use this tool versus alternatives. There is no mention of prerequisites, document scope, or conditions that make duplicate_spread the appropriate choice.

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

edit_text_frameC

Edit an existing text frame

ParametersJSON Schema
NameRequiredDescriptionDefault
contentNoNew text content
fontNameNoFont name
fontSizeNoFont size in points
alignmentNo
textColorNoText color (RGB hex or name)
frameIndexYesIndex of the text frame to edit

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description bears the full burden of behavioral disclosure. It does not mention whether the edit is additive or replacement, what happens if frameIndex is invalid, or any side effects. This is insufficient for a mutation tool.

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

Conciseness3/5

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

The description is a single sentence, which is concise but lacks useful structure. It could benefit from a brief list of common usage patterns or notes on default behaviors.

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?

Given 6 parameters, no output schema, and no annotations, the description is too minimal. It does not explain return values, error conditions, or the effect of partial parameter sets, leaving important 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 has 83% parameter description coverage, so the baseline is 3. The description adds no additional meaning beyond the schema (e.g., format of textColor or alignment values), so the score remains 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?

Description clearly states the verb 'Edit' and the resource 'existing text frame', making the basic purpose understandable. However, it does not differentiate from sibling tools like 'set_page_item_properties' or 'create_text_frame'.

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 tool versus alternatives such as 'set_page_item_properties' or 'apply_character_style'. The description provides no context about prerequisites, conflicts, or best use cases.

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

execute_indesign_codeB

Execute custom InDesign ExtendScript code

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesExtendScript code to execute

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits. It fails to mention that executing arbitrary code can be destructive, cause errors, or affect the document. The given sentence is too minimal to convey the tool's power and risks.

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

Conciseness4/5

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

The description is a single, clear sentence with no unnecessary words. However, it could be restructured to front-load critical context (like potential risks) while remaining concise.

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?

Given the tool's nature (executing arbitrary code) and absence of annotations or output schema, the description should provide more context, such as common use cases, error behavior, or return value (e.g., result of execution). It falls short of being complete.

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?

The input schema covers 100% of parameters, and the description adds no extra meaning beyond the schema's own description ('ExtendScript code to execute'). Baseline for high coverage is 3, and no additional value is provided.

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 'Execute custom InDesign ExtendScript code' clearly states the tool's function: running arbitrary ExtendScript. It distinctly differs from sibling tools which perform specific actions like 'add_page' or 'apply_character_style', making the purpose unambiguous.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus the many specific tools. For example, it doesn't mention that this should be used only when no built-in tool exists, or warn about risks of arbitrary execution.

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

export_epubB

Export document to EPUB

ParametersJSON Schema
NameRequiredDescriptionDefault
filePathYesOutput EPUB file path
includeImagesNoInclude images
includeStylesNoInclude styles

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are present, so the description carries the full burden. It does not explain whether the file overwrites without warning, if the operation is destructive, or any permissions/rate limits. Only mentions the action itself.

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

Conciseness4/5

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

The description is extremely concise at 4 words. It is front-loaded and efficient, but arguably too brief to provide full context. Still, it communicates the core purpose without excess.

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 three parameters with full schema descriptions, no output schema, and no annotations, the description is minimal but covers the essential action. However, it lacks context on file overwrite behavior and validation, leaving some gaps for an agent.

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 defines all parameters (filePath, includeImages, includeStyles). The description adds no additional meaning beyond what's 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 'Export document to EPUB' clearly specifies the action (export), resource (document), and output format (EPUB). This distinguishes it from sibling tools like export_pdf and export_images.

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?

No explicit guidance on when to use this tool versus alternatives. However, the format-specific name (EPUB) and distinct sibling tools (export_pdf, export_images) imply usage context.

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

export_imagesC

Export pages as images

ParametersJSON Schema
NameRequiredDescriptionDefault
pagesNoPage range (e.g., "1-5", "all")all
formatNoJPEG
qualityNoQuality (1-100 for JPEG)
outputPathYesOutput directory path
resolutionNoResolution in DPI

TDQS

C2.6/5.0
Behavior1/5

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

With no annotations provided, the description must disclose behavioral traits. It only states 'Export pages as images' without mentioning side effects (e.g., file creation, overwriting behavior), permission requirements, or return values. For a tool that likely writes files, this is a critical omission.

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 description is a single sentence, which is concise but lacks necessary detail. It is front-loaded but at the expense of completeness. Every sentence should earn its place, and this one does state the core purpose, but more context is needed.

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?

The tool has 5 parameters, no output schema, and no annotations. The description does not explain the return value, prerequisites (e.g., an open document), or how the output path is used. Given the complexity, the description is insufficient to fully understand the tool's 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 80% (4 of 5 parameters have descriptions). The tool description does not add any additional meaning to the parameters beyond what the schema provides. According to the rubric, when coverage is high, baseline is 3, so this score 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 clearly states 'Export pages as images', which specifies the verb (export) and resource (pages as images). This distinguishes it from sibling export tools like export_epub and export_pdf. However, it does not mention the image format or any other specifics, so it's clear but slightly generic.

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 provides no guidance on when to use this tool versus alternatives like export_epub or export_pdf. It does not mention any prerequisites, limitations, or contexts where this tool is appropriate or not. The absence of usage direction leaves the agent to guess.

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

export_pdfC

Export document to PDF

ParametersJSON Schema
NameRequiredDescriptionDefault
pagesNoPage range (e.g., "1-5", "all")all
qualityNoPRINT
filePathYesOutput PDF file path
includeBleedNoInclude bleed
includeMarksNoInclude printer marks

TDQS

C2.6/5.0
Behavior1/5

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

With no annotations provided, the description bears full responsibility for behavioral traits. It only states the action without disclosing side effects (e.g., file overwriting, permission needs, or whether it's destructive).

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 description is a single sentence, making it concise. However, it lacks structure and critical details are not front-loaded. It is adequately short but not well-organized.

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?

Given 5 parameters, no output schema, and no annotations, the description is incomplete. It fails to explain return values, error handling, or any behavioral context beyond the bare action.

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 80% (4 of 5 parameters have descriptions). The tool description adds no extra meaning beyond what the schema provides, so the baseline score of 3 is appropriate.

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

Purpose4/5

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

The description clearly states 'Export document to PDF', which combines a specific verb and resource. However, it does not differentiate from sibling export tools like export_epub or export_images, leaving some ambiguity.

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

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 tool versus alternatives (e.g., export_epub, package_document). The description lacks any context about prerequisites or typical use cases.

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

find_replace_textB

Find and replace text in the document

ParametersJSON Schema
NameRequiredDescriptionDefault
findTextYesText to find
wholeWordNoWhole word search
replaceTextYesText to replace with
caseSensitiveNoCase sensitive search

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits, but it only says 'Find and replace text' without explaining whether it replaces all occurrences, modifies the document permanently, or other important behaviors. The schema provides defaults but the description adds no value.

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

Conciseness4/5

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

The description is a single sentence, very concise and to the point. It wastes no words but could be slightly expanded without losing conciseness.

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?

Despite the simplicity of the tool, the description is too minimal. It does not explain replacement scope (first match or global), return values (since no output schema), or side effects. More context would help agents choose correctly among many sibling text 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?

All four parameters have descriptions in the schema, so the description does not need to add extra meaning. The baseline of 3 is appropriate as the description provides no additional semantic context beyond 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 clearly states the tool does 'Find and replace text in the document,' specifying the verb (find and replace) and resource (text in the document). This distinguishes it from the sibling 'find_text_in_document' which only finds text.

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 provided on when to use this tool versus alternatives like 'find_text_in_document' or other text manipulation tools. The description lacks context about prerequisites or exclusions.

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

find_text_in_documentC

Find text across the entire document

ParametersJSON Schema
NameRequiredDescriptionDefault
useRegexNoUse regular expressions
wholeWordNoWhole word search
searchTextYesText to search for
replaceTextNoText to replace with (optional)
caseSensitiveNoCase sensitive search

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. It does not disclose that the tool can also perform replacement (via replaceText parameter) or whether it modifies the document. The description only mentions finding, not replacing.

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?

Single sentence, concise and to the point. However, it could benefit from more detail without being verbose.

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?

Lacks important context such as return values (e.g., positions, count), search scope details, and whether replacement is a side effect. 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 coverage is 100%, and each parameter has a clear description. The description does not add extra meaning beyond the schema, but baseline is adequate.

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?

Description clearly states it finds text across the entire document, which is a specific verb+resource. However, it does not explicitly distinguish from the sibling 'find_replace_text', though the presence of replaceText parameter suggests overlap.

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 tool versus alternatives like 'find_replace_text'. The description lacks context for appropriate usage.

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

get_document_colorsC

Get all colors and swatches in the document

ParametersJSON Schema
NameRequiredDescriptionDefault
includeTintsNoInclude tints
includeSwatchesNoInclude swatches
includeGradientsNoInclude gradients

TDQS

C2.9/5.0
Behavior2/5

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

No annotations exist, so the description must fully disclose behavior. It claims 'all colors and swatches' but the parameters control inclusion of tints, swatches, and gradients, making the output conditional. This is misleading and does not explain return format, limits, or side effects.

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

Conciseness4/5

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

The description is a single concise sentence with no extraneous words. It is appropriately front-loaded, though it could benefit from additional clarifying details without becoming verbose.

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?

Given the lack of an output schema and the presence of sibling tools with overlapping functionality, the description is incomplete. It fails to specify the return structure, result format, or prerequisites, leaving gaps for the agent to 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?

All three parameters are fully described in the input schema (100% coverage). The description does not add any new meaning or examples beyond what the schema provides, meeting the baseline expectation.

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 clearly states that the tool retrieves all colors and swatches in the document, which specifies the verb and resource. However, it does not differentiate from the sibling tool 'list_color_swatches', which may cause confusion about which tool to use for swatch-only queries.

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 provided on when to use this tool versus alternatives like 'list_color_swatches' or 'apply_color'. The description lacks any context or exclusion criteria, making it difficult for an agent to determine optimal usage.

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

get_document_elementsB

Get all elements in the document

ParametersJSON Schema
NameRequiredDescriptionDefault
elementTypeNoType of elements to get (e.g., "all", "text", "graphics", "tables")all

TDQS

B3/5.0
Behavior2/5

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

With no annotations, the description must disclose behavior, but it omits key details like whether the tool is read-only, what it returns (e.g., list of element IDs or full objects), or any side effects. The read-only nature is implied but not stated.

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

Conciseness4/5

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

The description is a single sentence with no redundancy, but it is slightly too brief for the tool's purpose, lacking critical details that could be added without sacrificing conciseness.

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?

Given the complexity of InDesign documents and the lack of output schema or annotations, the description is insufficient. The agent lacks information on return format, element representation, performance considerations, or error cases.

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 single parameter 'elementType' has 100% schema coverage, and the description adds examples ('all', 'text', 'graphics', 'tables'), clarifying the format and options beyond the schema itself.

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 'Get all elements in the document' clearly states the action (get) and resource (elements), but 'elements' is vague and could be misinterpreted. It is distinct from siblings like 'get_page_item_info' which focuses on a specific item, but lacks precision about what constitutes an element.

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 tool versus alternatives such as 'list_page_items' or 'get_document_stories'. No exclusions or context provided, leaving the agent to guess the appropriate scenario.

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

get_document_grid_settingsA

Get comprehensive grid settings for the document

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior3/5

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

No annotations provided; description does not explicitly state it is read-only, but the verb 'Get' implies no modification. No contradictions, but could mention that it does not alter document state.

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?

Single sentence, no wasted words. Immediately communicates the 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?

No output schema, and description does not specify what grid settings are included (e.g., grid spacing, color, visibility). For a simple getter, it is moderately complete but could be more specific about the return content.

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?

Tool has zero parameters, so schema coverage is 100%. Description adds no param info because none exist. Baseline for 0 params is 4, which 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?

The description clearly states the tool retrieves comprehensive grid settings for the document. It distinguishes from sibling tool 'set_document_grid_settings' by being the getter.

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?

No explicit guidance on when to use this tool versus alternatives. However, as a straightforward getter, the context is implied. No exclusions or when-not cases are provided.

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

get_document_infoB

Get information about the active document

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description must disclose behavior but only states the function. It omits whether the tool is read-only, what happens if no document is open, or any side effects.

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

Conciseness5/5

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

The description is a single clear sentence with no unnecessary words, perfectly concise for a simple tool.

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?

Given no output schema or annotations, the description fails to specify what information is returned or provide any context about usage, making it incomplete for an 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 has no parameters, and schema coverage is 100%. The description adds no further meaning, which is acceptable per the baseline for zero-parameter tools.

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 clearly states the tool retrieves information about the active document, using a specific verb and resource. However, it does not differentiate from sibling tools like get_document_preferences or get_document_layout_preferences, which may cause confusion.

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 provided on when to use this tool versus alternatives, nor any context for appropriate usage.

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

get_document_layersC

Get all layers in the document

ParametersJSON Schema
NameRequiredDescriptionDefault
includeHiddenNoInclude hidden layers
includeLockedNoInclude locked layers

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided. The description does not disclose read-only nature, side effects, or that parameters control filtering. Minimal behavioral information.

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

Conciseness4/5

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

A single sentence is concise and front-loaded. However, it could be slightly more informative without being wordy.

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 getter with two boolean params and no output schema, the description is adequate but lacks behavioral context and differentiation from sibling 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 coverage is 100%, so the schema already describes the parameters. The description adds no extra meaning 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?

The description clearly states it retrieves all layers. However, among siblings there is 'list_layers' which likely does the same, and the description does not differentiate.

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 tool versus alternatives like 'list_layers' or 'organize_document_layers'.

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

get_document_layout_preferencesC

Get layout preferences and settings for the document

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, and the description only states 'Get', implying a read operation. It does not disclose authentication needs, rate limits, or any side effects, leaving behavioral traits undefined.

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

Conciseness4/5

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

The description is a single sentence that is front-loaded and concise. While brief, it conveys the essential purpose without extraneous words.

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?

Despite having no parameters or output schema, the description lacks details on what constitutes 'layout preferences' and does not clarify its distinction from 'get_document_preferences'. More context is needed for effective use.

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 are no parameters, and schema coverage is trivially 100%. The description adds no insight beyond the empty schema, earning the baseline score of 3 per the rubric.

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 clearly states the tool retrieves layout preferences and settings for the document. However, it does not differentiate from the similar sibling tool 'get_document_preferences', which could cause confusion.

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 provided on when to use this tool versus alternatives like 'set_document_layout_preferences' or 'get_document_preferences'. The agent must infer from the name alone.

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

get_document_preferencesC

Get document preferences and settings

ParametersJSON Schema
NameRequiredDescriptionDefault
preferenceTypeNoType of preferences to getGENERAL

TDQS

C2.9/5.0
Behavior2/5

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

Without annotations, the description carries the burden. It indicates a read operation but lacks details on side effects, return structure, or prerequisites. The behavior is minimally transparent.

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

Conciseness4/5

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

The description is a single sentence with no waste. It is front-loaded with the action 'Get', but could benefit from slightly more detail without losing conciseness.

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?

The description omits what the returned data contains, especially since there is no output schema. An agent cannot anticipate the response format or fields, leaving a significant 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?

The schema covers 100% of parameters with descriptions, so baseline is 3. The tool description adds no additional meaning beyond the schema's 'Type of preferences to get'.

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 clearly states the tool retrieves document preferences and settings. It distinguishes from 'set_document_preferences' but does not differentiate among other 'get_*' sibling tools like get_document_grid_settings.

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 tool versus alternatives like get_document_layout_preferences or get_document_info. The description provides no context for selection.

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

get_document_sectionsA

Get all sections in the document

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits (e.g., whether it is read-only, any restrictions). The burden is on the description, but it offers minimal transparency beyond the basic action.

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

Conciseness5/5

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

The description is a single, clear sentence with no wasted words. It is appropriately front-loaded and concise.

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 tool is simple with no parameters, but the description does not specify what constitutes a 'section' or what the output contains. Given the many sibling tools, additional context would aid the agent, but the basic usage is communicated.

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?

There are no parameters, so the description does not need to add meaning beyond the schema. According to guidelines, 0 parameters results in a baseline of 4.

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 'Get all sections in the document' uses a specific verb 'Get' and resource 'sections', clearly distinguishing it from sibling tools like 'create_document_section' or 'get_page_info'.

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?

No explicit guidance on when to use this tool vs. alternatives. While the purpose is clear, there is no mention of context such as prerequisites or when to prefer other tools.

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

get_document_storiesB

Get all stories in the document

ParametersJSON Schema
NameRequiredDescriptionDefault
includeHiddenNoInclude hidden text
includeOversetNoInclude overset text

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavior. It only mentions 'stories' without explaining what stories are (e.g., text containers), or how the optional parameters affect results. This leaves the agent guessing about the function's side effects and return value.

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

Conciseness5/5

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

The description is extremely concise with a single sentence. It is front-loaded and contains no redundant information.

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?

The description lacks crucial context: no output schema exists, and the description does not hint at the return format (e.g., list of story identifiers or content). For a tool that retrieves data, the absence of return value description is a significant 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?

The input schema already describes both parameters with 100% coverage. The description adds no additional meaning beyond the schema, so it meets the baseline. No extra context on parameter usage or defaults.

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 clearly states the tool retrieves all stories from the document, using a specific verb and resource. The name and description together make the purpose unambiguous, and it is distinct from sibling tools that get other document features (e.g., get_document_info, get_document_styles).

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?

No explicit guidance on when to use this tool versus alternatives is provided. The description simply states what it does without context of prerequisites or exclusion cases. However, for a straightforward retrieval tool, the lack of guidelines is somewhat acceptable.

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

get_document_stylesC

Get all styles in the document

ParametersJSON Schema
NameRequiredDescriptionDefault
styleTypeNoType of styles to getPARAGRAPH

TDQS

C2.9/5.0
Behavior2/5

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

Without annotations, the description should disclose behavior such as output format or side effects, but it only states the action. No behavioral context is added.

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

Conciseness4/5

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

The description is extremely concise with one sentence, but it sacrifices completeness. It is not verbose, so it earns a 4.

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?

Given the simple parameter set and no annotations or output schema, the description should provide more context about return values or usage. It leaves the agent guessing about the tool's output.

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?

The single parameter is fully described in the schema with enum and default. The description adds no additional meaning, 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?

The description clearly states the tool retrieves all styles in the document, with a verb and resource. However, it does not differentiate from the sibling 'list_styles' and the optional styleType parameter implies it's not always 'all' 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 is provided on when to use this tool versus alternatives like 'list_styles', 'create_paragraph_style', or style application tools.

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

get_group_infoC

Get detailed information about a group

ParametersJSON Schema
NameRequiredDescriptionDefault
pageIndexYesIndex of the page containing the group
groupIndexYesIndex of the group to get info for

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full burden. It only states 'Get detailed information', which implies a read operation, but does not disclose any behavioral traits such as side effects, required permissions, or what 'detailed information' entails. Minimal transparency.

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

Conciseness4/5

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

The description is a single sentence that is concise and to the point. It is front-loaded with the key action and resource. While it could be more informative, it is not verbose.

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?

Given the lack of an output schema, the description should clarify what 'detailed information' returns. It does not specify properties like name, bounds, contents, etc. For a tool that provides detailed info, this is a significant gap in completeness.

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?

Both parameters (pageIndex and groupIndex) have descriptions in the schema that explain their meaning ('Index of the page containing the group', 'Index of the group to get info for'). The description adds no additional semantic value beyond the schema, 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?

The description clearly states the action ('Get detailed information') and resource ('a group'). It is specific enough to distinguish it from tools like get_page_info or get_spread_info, but does not explicitly differentiate from other 'get_info' tools for groups vs other 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?

No guidance on when to use this tool vs alternatives like list_groups or get_page_item_info. No when-not or context clues provided. The description only states the action without usage context.

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

get_image_infoC

Get detailed information about an image

ParametersJSON Schema
NameRequiredDescriptionDefault
itemIndexNoImage index

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavioral traits. It only states that detailed information is returned, but does not specify what fields are included, whether it expects a selected image or uses the itemIndex, or if there are side effects. The absence of an output schema compounds the lack of transparency.

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

Conciseness4/5

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

The description is extremely concise at 6 words. It is front-loaded with the purpose, but it lacks necessary detail. While conciseness is good, the description is under-specified, which reduces its utility. A sentence or two more would improve it without being verbose.

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?

Given the simplicity of the tool (1 optional parameter, no output schema, no annotations), the description is incomplete. It does not explain the output format, prerequisites (e.g., open document, existing images), or how the itemIndex relates to the image. An agent cannot reliably use this tool without further context.

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% for the single parameter 'itemIndex', which has a description 'Image index' and a default of 0. The description adds no further meaning beyond the schema. The baseline is 3 because the schema already adequately documents the parameter, but the description could have clarified what index 0 refers to (e.g., first image in document).

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 clearly states 'Get detailed information about an image' with a specific verb and resource. However, it does not differentiate from sibling tools like get_page_item_info or get_document_elements which may also return image information. The input schema reveals an itemIndex parameter, but the description doesn't mention how to specify which image, leaving ambiguity.

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 provides no guidance on when to use this tool versus alternatives. There is no mention of prerequisites, such as requiring an open document or an image to exist, nor any indication of when not to use it. The sibling tools list includes multiple getters, but no differentiation is offered.

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

get_master_spread_infoC

Get detailed information about a master spread

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesMaster spread name
masterIndexNoMaster spread index

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It only states 'Get detailed information' without specifying what information is returned (e.g., properties, content) or any behavioral traits.

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

Conciseness3/5

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

Extremely concise (one sentence), but lacks necessary detail, making it under-specified rather than efficiently concise.

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

Completeness2/5

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

No output schema exists, yet the description fails to explain what 'detailed information' entails. For a tool that likely returns complex data, this omission is significant.

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 covers both parameters with descriptions. Description adds no extra meaning beyond schema; baseline score 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?

Description clearly states verb ('Get') and resource ('detailed information about a master spread'), indicating a retrieval operation. However, it does not differentiate from sibling tool `get_spread_info` which likely returns similar information for regular spreads.

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 tool over alternatives like `get_spread_info` or `list_master_spreads`. No prerequisites or context provided.

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

get_page_content_summaryB

Get a summary of content on a page

ParametersJSON Schema
NameRequiredDescriptionDefault
pageIndexYesPage index

TDQS

B3.1/5.0
Behavior2/5

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

No annotations provided. The description does not disclose behavioral traits such as whether the summary is textual, statistical, or requires any special permissions. It fails to add context about non-destructiveness or response format.

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?

Single sentence, no wasted words. Appropriate length for a simple tool, but could be slightly more informative without losing conciseness.

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?

Given the lack of output schema and annotations, the description is too minimal. It does not explain what the summary contains or how it is structured, leaving significant gaps for the agent.

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% (one parameter described). The description adds no extra meaning to the parameter beyond the schema's 'Page index'. 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 clearly states it returns a summary of page content, distinguishing it from tools that return full content or specific items. However, it does not specify what kind of summary (e.g., text, metadata), so it's slightly vague.

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?

No explicit guidance on when to use this tool versus siblings like get_page_info or get_spread_content_summary. Usage is implied: when a summary is needed, but no context on alternatives.

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

get_page_infoB

Get detailed information about a specific page

ParametersJSON Schema
NameRequiredDescriptionDefault
pageIndexYesPage index (0-based)

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It fails to disclose what 'detailed information' includes, whether it's read-only, or any side effects.

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

Conciseness5/5

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

The description is a single clear sentence with no unnecessary information, achieving conciseness.

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?

Without an output schema, the description should indicate what information is returned (e.g., properties, dimensions). It does not, and it does not differentiate enough from sibling 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 coverage is 100%, so baseline is 3. The description adds no additional meaning beyond the schema's documentation for the 'pageIndex' parameter.

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 clearly states the tool retrieves detailed information about a specific page, distinguishing it from siblings like 'get_page_content_summary' and 'navigate_to_page'.

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 tool versus alternatives such as 'get_page_content_summary' or 'get_spread_info'. The description lacks context for appropriate usage.

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

get_page_item_infoC

Get detailed information about a specific page item

ParametersJSON Schema
NameRequiredDescriptionDefault
itemIndexYesIndex of the page item to get info for
pageIndexYesIndex of the page containing the item

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the burden. It fails to disclose whether it's read-only or what side effects exist. The return value is not described, leaving behavioral gaps.

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

Conciseness4/5

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

Single sentence is efficient and front-loaded. However, it sacrifices completeness for brevity, but for a simple tool this is acceptable.

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?

Without an output schema, the description should hint at what 'detailed information' includes (e.g., dimensions, type). It fails to do so, making it incomplete for an agent to fully understand the tool's output.

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 covers both parameters with descriptions. The description adds no extra meaning beyond the schema, resulting in the baseline score for high 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 clearly states the action (get) and resource (page item info), distinguishing it from sibling tools like list_page_items and other get_info tools. However, 'detailed information' is vague and could be more 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?

No guidance on when to use this tool vs alternatives like get_group_info or get_image_info. The name implies it's for a specific page item indexed by page and item, but explicit usage context is missing.

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

get_page_item_script_labelsB

Read script labels from page items using selection or explicit identifiers

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoSelection mode: current selection, page/item indices, page number and object id, or sweep all labelled itemsCURRENT_SELECTION
objectIdNoWhen mode=PAGE_NUMBER_AND_OBJECT_ID, InDesign object id of the page item
itemIndexNoWhen mode=PAGE_ITEM, index of the page item (zero-based)
pageIndexNoWhen mode=PAGE_ITEM, index of the page containing the item (zero-based)
pageNumberNoWhen mode=PAGE_NUMBER_AND_OBJECT_ID, page number using documentOffset+1

TDQS

B3.4/5.0
Behavior2/5

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

With no annotations provided, the description bears full responsibility for behavioral disclosure. It states the operation is read-only, which is implicit, but fails to detail any side effects, permissions, return format, or constraints. This is inadequate for an agent to understand the full impact of invoking the tool.

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

Conciseness5/5

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

The description is a single sentence that conveys the core purpose without any superfluous words. It is front-loaded and efficient, earning its place with no redundancy.

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?

Given the tool has 5 optional parameters, multiple modes, and no output schema, the description is too sparse. It does not explain what script labels are, the format of return values, or any usage constraints. An agent would need to infer significant details from parameter names alone, which is insufficient for a tool of this complexity.

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

Parameters3/5

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

Schema coverage is 100% and parameter descriptions are already detailed. The description adds context by linking the mode parameter to 'selection or explicit identifiers', but this is a modest addition. The baseline of 3 is appropriate as the description does not significantly enhance understanding beyond 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 clearly states the verb 'read' and the resource 'script labels from page items', and mentions the method 'using selection or explicit identifiers'. This distinguishes it from sibling tools like set_page_item_script_label, making the purpose highly specific and unambiguous.

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

Usage Guidelines3/5

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

The description implies usage through the mention of selection or explicit identifiers, but does not explicitly state when to use this tool versus alternatives (e.g., set_page_item_script_label for writing). No when-not or prerequisite information is provided, leaving the agent with minimal guidance.

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

get_session_infoA

Get current session information including page dimensions and 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?

No annotations exist, so the description should disclose behavior. It implies a read-only operation but does not explicitly state it is non-destructive or safe to call.

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 efficiently communicates the tool's purpose without extraneous words.

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?

The description provides a clear overview of what is included (page dimensions, active document), but lacks explicit mention of other potential session information. Given low complexity, it is largely complete.

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?

There are zero parameters, and the schema coverage is 100% (empty schema). The description adds no parameter details, but per rules, a baseline of 4 applies for no parameters.

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 clearly states the tool retrieves current session information including page dimensions and active document, but does not differentiate from numerous sibling get_* tools like get_document_info or get_page_info.

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 provided on when to use this tool versus alternatives, such as querying specific document or page info tools.

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

get_spread_content_summaryC

Get a summary of content on a spread

ParametersJSON Schema
NameRequiredDescriptionDefault
spreadIndexYesSpread index

TDQS

C2.6/5.0
Behavior1/5

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

No annotations are provided, and the description does not disclose any behavioral traits such as whether the tool is read-only, what the summary includes, or any side effects. The description carries the full burden but adds nothing.

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 description is very short (8 words). While concise, it lacks sufficient detail to be fully helpful. It could benefit from additional context without becoming verbose.

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?

Given the absence of an output schema and annotations, the description should provide more context about the returned summary, but it does not. The tool's behavior remains underspecified.

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% (the single parameter spreadIndex is described as 'Spread index'). The description adds no additional meaning beyond the schema, so a baseline of 3 is appropriate.

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

Purpose4/5

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

The description clearly states the action (get) and resource (summary of content on a spread). However, it does not distinguish this tool from the similar sibling tool get_page_content_summary, which could cause confusion.

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 provided on when to use this tool versus alternatives like get_spread_info or get_page_content_summary. The agent receives no context for appropriate usage.

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

get_spread_infoB

Get detailed information about a specific spread

ParametersJSON Schema
NameRequiredDescriptionDefault
spreadIndexYesSpread index (0-based)

TDQS

B3.4/5.0
Behavior2/5

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

With no annotations, the description carries full burden. It only states the purpose without disclosing any behavioral traits like output format, side effects, or permissions. Minimal disclosure.

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

Conciseness4/5

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

Single sentence, no waste, directly states purpose. Could be more informative without being verbose, but it is concise and front-loaded.

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?

Adequate for a simple getter with one parameter, but lacking description of return value or what 'detailed information' includes. Without output schema, this is a notable gap.

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

Parameters3/5

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

Schema coverage is 100% with a clear description for 'spreadIndex'. The tool description adds no additional meaning beyond the schema, so baseline score of 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?

The description clearly states the verb 'Get' and resource 'detailed information about a specific spread', distinguishing it from siblings like list_spreads and get_spread_content_summary.

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?

No explicit guidance on when to use or alternatives; usage is implied from the name and description, but lacks context for when not to use or comparison to similar tools.

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

helpA

Get help information about available tools and their usage

ParametersJSON Schema
NameRequiredDescriptionDefault
toolNoSpecific tool name to get help for (optional)
formatNoOutput formatsummary
categoryNoCategory of tools to list (optional)all

TDQS

A3.7/5.0
Behavior2/5

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

No annotations are provided, and the description only states the basic purpose without disclosing any behavioral traits (e.g., no side effects, read-only nature, or how help information is structured).

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 sentence that directly states the tool's function with no unnecessary words. It is appropriately concise and front-loaded.

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 description is adequate for a simple help tool but does not specify the format or content of the help information (e.g., listing tools, showing examples). With no output schema, this omission leaves some ambiguity.

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% with each parameter having a description. The description adds no additional meaning beyond the schema, so it meets the baseline but does not enhance semantics.

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 clearly states the tool provides help information about tools and their usage. It distinguishes itself from sibling tools (which are all action-oriented like create, delete, etc.) as a meta-information tool.

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

Usage Guidelines4/5

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

The tool's purpose as a help tool is self-evident, but no explicit guidance is given on when to use it or when not to. Since there are no sibling help tools, differentiation is not needed, but the description could mention it's for general assistance.

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

list_color_swatchesB

List all color swatches

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description carries the burden. It implies a read operation but does not disclose any behavioral traits such as scope or side effects.

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

Conciseness5/5

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

Extremely concise at 4 words, front-loaded with verb and resource. Every word is necessary.

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?

Adequate for a simple listing tool but lacks details on scope (e.g., across all documents) and output format. Could be more informative.

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?

No parameters exist, and schema coverage is 100%. According to guidelines, baseline is 4 for 0 params. The description adds no extra meaning, which is acceptable.

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 clearly states the action (list) and resource (color swatches), distinguishing it from create_color_swatch. However, it lacks context like 'in the current 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 tool versus alternatives like list_groups or other list tools. The description is a simple statement without context.

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

list_groupsC

List all groups on a specific page

ParametersJSON Schema
NameRequiredDescriptionDefault
pageIndexYesIndex of the page to list groups from

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description bears full responsibility for behavioral disclosure. It does not mention what is returned (e.g., list of group IDs or names), error handling for invalid pageIndex, or any side effects.

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

Conciseness3/5

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

The description is a single short sentence, which is concise but omits important details. It is appropriately sized but lacks sufficient informativeness.

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?

Given no output schema, the description should hint at the return value; it does not. It also omits error conditions and prerequisites, leaving the agent under-informed for a simple list 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 coverage is 100%, so the baseline is 3. The description adds no additional meaning beyond the schema's pageIndex description (e.g., zero-based vs one-based indexing is not clarified).

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 clearly states the verb 'list' and resource 'groups', and specifies 'on a specific page', which distinguishes it from listing groups across the entire document. However, it does not clarify what 'groups' refers to in the InDesign context (e.g., page item groups).

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 provided on when to use this tool versus alternatives like get_group_info for individual groups, or prerequisites such as requiring an open document or valid page index.

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

list_layersB

List all layers in the document

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, and the description only states 'list', implying a read operation. However, it does not disclose return format, scope limitations, or any side effects, leaving the agent with minimal behavioral context.

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

Conciseness5/5

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

The description is a single sentence with no extraneous information. It is efficient and front-loaded.

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 listing tool with no parameters and no output schema, the description provides the basic purpose. However, it lacks details on what properties of layers are returned (e.g., name, visibility, color) and whether additional context is needed.

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 has zero parameters, and the schema coverage is 100%. The description does not need to add parameter details. According to guidelines, baseline is 4 for 0 parameters.

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 'List all layers in the document' clearly states the action and target resource. However, it does not differentiate from the sibling tool 'get_document_layers', which likely serves a similar function.

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 provided on when to use this tool versus alternatives like 'get_document_layers' or 'create_layer'. The description lacks context for appropriate usage.

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

list_master_spreadsA

List all master spreads in the document

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior2/5

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

The description lacks behavioral details such as whether the operation is read-only, performs any side effects, or requires specific permissions. Without annotations, the description should disclose these traits but does not.

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 extremely concise at six words, front-loading the essential information without any superfluous text.

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?

Although the tool is simple with no parameters and no output schema, the description does not specify the structure or content of the returned list (e.g., names, IDs). It is minimally adequate but could provide more context for an 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 has zero parameters, so the schema covers 100% of parameter documentation. The description adds no additional parameter semantics, which is acceptable due to the baseline guideline for no params.

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 clearly states the verb 'list' and the resource 'master spreads', effectively distinguishing it from related tools like get_master_spread_info or create_master_spread.

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?

No explicit guidance on when to use this tool versus alternatives. However, the simplicity of a list tool implies usage when attempting to enumerate all master spreads, but differentiators from other list tools are absent.

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

list_object_stylesA

List all object styles in the document

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior3/5

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

No annotations are provided, so the description carries full responsibility. It implies a read-only operation (listing) without side effects, but it does not explicitly state that it is non-destructive or require no permissions. The minimal description is adequate for a simple listing.

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 sentence that is front-loaded and contains no unnecessary words. It is appropriately concise for a tool with no parameters and a simple action.

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 lack of output schema and annotations, the description is minimal. It does not explain the return format or how it differs from the similar 'list_styles' sibling tool. For a complete understanding, an agent might need more context.

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?

There are no parameters, and the schema coverage is 100% by default. The description adds no parameter information, which is acceptable since none exist. According to guidelines, zero parameters warrant a baseline of 4.

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 uses a specific verb 'List' and identifies the exact resource 'object styles' with clear scope 'in the document'. It distinctively sets this tool apart from sibling list tools that target different resources like colors, groups, or layers.

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

Usage Guidelines4/5

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

The usage context is clear: use this tool when you need object styles. However, there is no explicit mention of when not to use it or alternatives. Given the straightforward nature and many sibling list tools, some guidance would be helpful but is not critical.

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

list_page_itemsB

List all page items on a specific page

ParametersJSON Schema
NameRequiredDescriptionDefault
pageIndexYesIndex of the page to list items from

TDQS

B3.1/5.0
Behavior2/5

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

No annotations provided, so description must fully disclose behavior. It does not mention if the list includes IDs or properties, whether it is read-only, or any performance implications. Lacks sufficient transparency.

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?

Single sentence, no wasted words. Appropriate length for a simple tool with one parameter.

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 no output schema, description could be more complete by stating what the list contains (e.g., item IDs or references). It is minimally complete but leaves ambiguity.

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 covers 100% of parameter documentation. Description adds no extra meaning beyond the schema. Baseline score 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?

Description uses specific verb 'List' and resource 'page items' with scope 'on a specific page'. It clearly states the action but does not distinguish from similar tools like get_page_content_summary.

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 tool versus alternatives such as get_page_item_info or get_page_content_summary. The description assumes the agent already knows the context.

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

list_spreadsA

List all spreads in the document

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavioral traits. It only states the basic action without mentioning return format, access requirements, or side effects.

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

Conciseness5/5

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

Single sentence, no wasted words, front-loaded with the key action. Efficient and to the point.

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 parameters or output schema, the description is minimal. It lacks details on what information about spreads is returned, which would help an agent use the tool effectively.

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?

There are no parameters, so the schema covers all. The description adds no parameter info, but baseline 4 is appropriate due to high schema coverage (100%).

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 'List all spreads in the document' uses a specific verb ('list') and resource ('spreads'), clearly distinguishing it from siblings like 'list_master_spreads' and 'list_page_items'.

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 tool over alternatives (e.g., list_master_spreads, get_spread_info). The description lacks context for decision-making.

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

list_stylesC

List all paragraph and character styles

ParametersJSON Schema
NameRequiredDescriptionDefault
styleTypeNoALL

TDQS

C2.6/5.0
Behavior2/5

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

No annotations provided, so description must fully disclose behavior. It only states the operation without mentioning output format, whether hidden styles are included, or if a document must be open.

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 description is minimal (three words) and concise, but slightly under-specified. It avoids redundancy but could add clarifying details without being verbose.

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?

Given the presence of multiple style-related sibling tools and no output schema, the description lacks context about the tool's output, scope, and how it differs from similar tools.

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% and the description adds no explanation of the 'styleType' parameter. The enum values are self-explanatory, but the description does not clarify how the parameter affects results (e.g., 'ALL' returns both).

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 clearly states the tool lists paragraph and character styles, using specific resource types. However, it does not differentiate from sibling tools like 'list_object_styles' or 'get_document_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 tool versus alternatives such as 'list_object_styles' or 'get_document_styles'. Agent must infer context from sibling names alone.

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

move_pageC

Move a page to a different position

ParametersJSON Schema
NameRequiredDescriptionDefault
bindingNoDEFAULT_VALUE
positionNoAT_END
pageIndexYesPage index to move
newPositionNoLocationOptions value used by the current handler
referencePageIndexNoReference page index (for BEFORE/AFTER positioning)

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations, the description must fully disclose behavior. It only states the action and target, omitting details like whether the operation is destructive/undoable, how invalid indices are handled, or if there are side effects on other pages.

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 description is a single short sentence, which is concise but underspecified. It front-loads the core action, but the lack of additional sentences for clarity makes it barely adequate.

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?

Given the tool has 5 parameters, no output schema, and no annotations, the description is too minimal. It does not explain how to specify the new position (position vs newPosition), the role of referencePageIndex, or what the result looks like. This is insufficient for an agent to use the tool correctly.

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

Parameters2/5

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

The description adds no meaning beyond the input schema. Schema coverage is 60%, but the description does not clarify the missing 40% (e.g., binding, position) or explain how parameters interrelate. The schema's own descriptions for some parameters are still present but not enhanced.

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 clearly states it moves a page to a different position, which is specific to the page resource. However, it does not differentiate from similar sibling tools like move_page_item or move_spread, though the noun 'page' offers some distinction.

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 provided on when to use this tool versus alternatives (e.g., move_page_item, duplicate_page). There are no prerequisites, exclusions, or context about typical usage scenarios.

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

move_page_itemB

Move a page item to a new position

ParametersJSON Schema
NameRequiredDescriptionDefault
xYesNew X coordinate
yYesNew Y coordinate
itemIndexYesIndex of the page item to move
pageIndexYesIndex of the page containing the item

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. The brief statement does not mention side effects (e.g., z-order changes, undo behavior), constraints (e.g., bounds checking), or return values. This is insufficient for a mutation tool.

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

Conciseness4/5

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

The description is a single concise sentence with no wasted words. It is front-loaded with the main action. However, the brevity sacrifices necessary details, which prevents a higher score.

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?

Given four required parameters, no output schema, and no annotations, the description is incomplete. It fails to explain expected behavior (e.g., what happens when coordinates are out of bounds), return values, or any constraints. More context is needed for effective use.

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 each parameter (x, y, itemIndex, pageIndex) described in the schema. The description adds no additional meaning beyond the schema, so a baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the action ('Move'), the resource ('page item'), and the outcome ('to a new position'). It is specific and distinguishes from sibling tools like move_page and move_spread which operate on pages or spreads, not items.

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 (moving an item by coordinates) but provides no explicit guidance on when to use this tool versus alternatives (e.g., resize_page_item, set_page_item_properties). No when-not or prerequisites are given.

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

move_spreadC

Move a spread to a different position

ParametersJSON Schema
NameRequiredDescriptionDefault
positionNoAT_END
spreadIndexYesSpread index to move
referenceSpreadIndexNoReference spread index (for BEFORE/AFTER positioning)

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations provided, the description bears full responsibility for disclosing behavioral traits. It only states the action without mentioning side effects (e.g., whether the spread's content remains intact, if the operation is undoable, or if it requires certain permissions). The agent cannot infer safety or constraints.

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

Conciseness5/5

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

The description is a single, economical sentence that conveys the core purpose without extraneous words. It is front-loaded and easy to parse quickly.

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?

Given the tool's complexity (3 parameters, no output schema, and no annotations), the description is insufficiently complete. It does not explain the resulting state, the interaction between parameters (e.g., referenceSpreadIndex is ignored unless position is BEFORE/AFTER), or how this fits into the broader workflow of managing spreads.

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?

The input schema has 67% description coverage (spreadIndex and referenceSpreadIndex have descriptions, position does not). The description adds no additional meaning beyond the schema; it does not explain the enums or how they affect positioning. The agent must rely solely on the schema and enum labels.

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 clearly states the action (Move) and the object (spread) and hints at the target (different position). It effectively distinguishes from siblings like move_page and move_page_item which operate on different entities. However, 'different position' is somewhat vague and could be more specific (e.g., reorder within the 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?

The description provides no guidance on when to use this tool over alternatives like move_page, duplicate_spread, or delete_spread. It lacks context about typical use cases, prerequisites (e.g., document must have multiple spreads), or conditions where this tool is appropriate.

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

open_documentC

Open an existing document

ParametersJSON Schema
NameRequiredDescriptionDefault
filePathYesPath to the document file

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description is the sole source of behavioral info, but it only states 'Open an existing document' without specifying behavior on missing file, already-open document, or read-only access. Key details are missing.

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

Conciseness3/5

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

The description is extremely concise at 3 words, but this brevity sacrifices necessary detail. It is front-loaded but not optimally informative.

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?

Given the simplicity of the tool (1 param, no output schema, no annotations), the description still lacks context about error handling, state changes, or prerequisites. It is underinformed for an agent selecting among many sibling 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% for the single parameter 'filePath', which already has a clear description. The tool description adds no further meaning to the parameter, so 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 clearly uses the verb 'Open' and resource 'document', which directly conveys the action. It distinguishes from siblings like 'create_document', but is less distinct from 'view_document' which has similar scope.

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 provided on when to use this tool versus alternatives like 'view_document' or 'create_document'. There are no prerequisites or exclusion criteria.

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

organize_document_layersC

Organize and clean up document layers

ParametersJSON Schema
NameRequiredDescriptionDefault
sortLayersNoSort layers alphabetically
deleteEmptyLayersNoDelete empty layers
mergeSimilarLayersNoMerge layers with similar names

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It only states 'organize and clean up' without revealing potential destructive actions (e.g., deleteEmptyLayers permanently removes layers) or the effects of merging. The parameters hint at behaviors but the description adds no context.

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 description is very concise (one sentence), but it is too brief and lacks structure. It could be more informative by front-loading key behaviors or providing an example. The brevity sacrifices clarity.

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?

Given the tool has three boolean parameters with no output schema and no annotations, the description is incomplete. It does not explain return values, confirm success, or detail the order of operations. An agent would need to infer behavior from parameter names alone.

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?

The input schema has 100% description coverage for all three parameters, so the schema already explains what each boolean does. The description adds no additional semantic meaning beyond 'organize and clean up', which is a vague umbrella. Baseline score 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 'Organize and clean up document layers' clearly indicates the resource (document layers) and the action (organize and clean up), which aligns with the parameters for sorting, deleting empty layers, and merging similar layers. However, it does not differentiate from sibling tools like create_layer or list_layers.

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 usage guidance is provided. The description does not state when to use this tool versus alternatives such as manual layer manipulation or specific tools like delete_layer. An explicit context or exclusion would improve clarity.

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

package_documentC

Package document for printing

ParametersJSON Schema
NameRequiredDescriptionDefault
outputPathYesOutput directory path
includeFontsNoInclude fonts
includeLinksNoInclude linked files
includeProfilesNoInclude color profiles

TDQS

C2.3/5.0
Behavior2/5

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

With no annotations, the description must fully disclose behavior. It only says 'for printing' but does not explain that packaging collects fonts, links, and profiles (as implied by the schema). It fails to reveal if the document is modified or a new package is created, or any side effects.

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

Conciseness3/5

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

The description is concise (one sentence) but lacks structure. It is under-specified and does not earn its place by providing useful information beyond the name. Could be more informative while remaining brief.

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?

Given the tool has 4 parameters and no output schema, the description should explain the packaging process, what output is produced, and prerequisites. It does none of these, leaving the agent uninformed about the tool's full capabilities and constraints.

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 baseline is 3. The description does not add any meaning beyond the schema; it simply repeats the tool's name. No additional context is provided for parameters like outputPath or includeFonts.

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 'Package document for printing' states a verb and resource but is vague. It does not explain what 'package' entails or how it differs from sibling tools like export_pdf or export_epub. The purpose is minimally clear but lacks specificity.

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

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 tool over alternatives such as export_pdf or save_document. No exclusions or context provided. The description is insufficient to help an agent decide when to invoke this tool.

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

place_file_on_pageC

Place a file on a page

ParametersJSON Schema
NameRequiredDescriptionDefault
xNoX position in mm
yNoY position in mm
filePathYesPath to file to place
layerNameNoLayer name to place on
pageIndexYesPage index
autoflowingNoAutoflow placed text
showingOptionsNoShow import options dialog

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations, the description should disclose behavioral traits (e.g., does it override existing content? what happens if filePath is invalid?). It fails to do so, leaving the agent uninformed.

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?

Extremely short (6 words), which is under-specification rather than effective conciseness. It does not utilize the description to provide necessary context beyond the name.

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

Completeness1/5

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

For a tool with 7 parameters and no output schema or annotations, the description is grossly insufficient. An agent cannot infer how to correctly invoke the tool (e.g., file format, coordinate origin, effect of autoflowing).

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 documents all parameters. The description adds no additional meaning (e.g., explaining 'autoflowing' or coordinate system). 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?

The description 'Place a file on a page' clearly states the action and resource, but does not differentiate from the similar sibling tool 'place_file_on_spread', missing an opportunity to clarify scope.

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 tool versus alternatives like 'place_file_on_spread' or 'place_image'. No prerequisites, context, or exclusions provided.

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

place_file_on_spreadC

Place a file on a spread

ParametersJSON Schema
NameRequiredDescriptionDefault
xNoX position in mm
yNoY position in mm
filePathYesPath to file to place
layerNameNoLayer name to place on
autoflowingNoAutoflow placed text
spreadIndexYesSpread index
showingOptionsNoShow import options dialog
pageIndexWithinSpreadNoPage index within the spread (0-based)

TDQS

C2.4/5.0
Behavior2/5

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

No annotations exist, so the description carries full burden. It does not disclose whether the action is destructive, requires specific permissions, or how existing content on the spread is affected.

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

Conciseness3/5

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

The description is extremely concise (one sentence), but it sacrifices completeness. It is not wasteful but could include more information without becoming verbose.

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

Completeness1/5

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

With 8 parameters, no output schema, and no annotations, the description fails to provide sufficient context. It does not explain return values, side effects, or usage scenarios.

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 has 100% coverage with descriptions for all 8 parameters, so baseline is 3. The tool description adds no additional meaning beyond the schema.

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 the verb 'place' and resource 'file on a spread,' which is clear but lacks differentiation from sibling tool 'place_file_on_page.' It is not a tautology but is minimal.

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 tool versus alternatives like place_file_on_page or place_image. No prerequisites or context provided.

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

place_imageC

Place an image on the active page with scaling and fitting options

ParametersJSON Schema
NameRequiredDescriptionDefault
xNoX position in mm
yNoY position in mm
scaleNoScale percentage (1-1000)
widthNoWidth in mm
heightNoHeight in mm
fitModeNoImage fitting modePROPORTIONALLY
filePathYesPath to the image file
linkImageNoLink the image

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description should disclose behavioral traits like whether it links images (parameter 'linkImage' exists but not mentioned), if it replaces existing items, or required file existence. The brief description adds minimal value beyond the name.

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

Conciseness5/5

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

A single sentence with no redundant words. It is concise and front-loaded with the core action.

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 tool with 8 parameters and no output schema or annotations, the description is too minimal. It does not explain the interaction of options, constraints, or expected output, leaving the agent underinformed.

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 all parameters have descriptions. The description mentions 'scaling and fitting options' which loosely covers scale, width, height, and fitMode, but adds no new meaning beyond what the schema provides. Baseline 3 is appropriate.

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

Purpose4/5

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

The description clearly states the verb 'Place' and the resource 'an image on the active page', and mentions 'scaling and fitting options'. It distinguishes from siblings like 'place_file_on_page' by specifying images, but could be more explicit about when to use this over similar 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?

No guidance on when to use this tool vs alternatives like 'place_file_on_page' or prerequisites. The description only states what it does, not when it's appropriate or what to avoid.

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

place_xml_on_pageC

Place XML content on a page

ParametersJSON Schema
NameRequiredDescriptionDefault
xNoX position in mm
yNoY position in mm
pageIndexYesPage index
autoflowingNoAutoflow placed text
xmlElementNameYesXML element name to place

TDQS

C2.7/5.0
Behavior1/5

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

No annotations provided and the description omits behavioral details like whether content is replaced, how autoflowing works, or required page state.

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 sentence is concise but lacks essential context, making it borderline under-specified.

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

Completeness1/5

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

Without output schema, annotations, or behavioral details, the description is inadequate for a 5-parameter tool with many siblings.

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?

All parameters have schema descriptions, so the description adds no new meaning beyond what the schema provides; 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 'Place XML content on a page' uses a specific verb and resource, clearly distinguishing from siblings like place_image or place_file_on_page.

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 tool vs alternatives such as place_file_on_page or place_image; the agent must infer 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.

populate_tableC

Populate a table with data

ParametersJSON Schema
NameRequiredDescriptionDefault
dataYesArray of arrays containing table data
startRowNoStarting row index
tableIndexNoTable index
startColumnNoStarting column index

TDQS

C2.5/5.0
Behavior2/5

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

No annotations provided, so description must disclose behavioral traits. It does not mention side effects (overwrites data? appends?), data size limits, or validation. For a mutation tool, this is insufficient.

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

Conciseness3/5

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

Very concise (4 words), but at the expense of completeness. Every sentence should earn its place; this is too brief to be helpful.

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?

Given the tool's 4 parameters including array data and indices, the description is incomplete. No output schema, no annotations, and missing details on required checks.

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% (all parameters have descriptions). Description adds no value beyond schema. Baseline 3 is appropriate.

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?

Description states verb+resource ('Populate a table with data'), which is clear but vague. It doesn't specify the type of table (e.g., InDesign table) or differentiate from siblings like 'create_table'. The purpose is adequate but not specific.

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

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 tool vs alternatives. No prerequisites (e.g., table must exist) or exclusions mentioned. Context with siblings suggests document tables, but not explicit.

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

reframe_pageC

Reframe (resize) a page

ParametersJSON Schema
NameRequiredDescriptionDefault
x1YesTop-left X coordinate in mm
x2YesBottom-right X coordinate in mm
y1YesTop-left Y coordinate in mm
y2YesBottom-right Y coordinate in mm
pageIndexYesPage index
coordinateSpaceNoPAGE_COORDINATES

TDQS

C2.8/5.0
Behavior2/5

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

No annotations provided. Description does not disclose any behavioral traits (e.g., destructive nature, coordinate system details, default behavior). Minimal transparency.

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

Conciseness3/5

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

Description is a single phrase, which is concise but lacks necessary details. It is appropriately sized for a brief summary but does not earn its place due to insufficient content.

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?

Given 6 parameters and no output schema, the description fails to explain what reframing entails, its effect on content, or how it differs from resize_page. Incomplete for practical use.

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 covers 83% of parameters with descriptions (coordinates, pageIndex, coordinateSpace enum). Description adds no extra meaning beyond the schema, so baseline score 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 clearly states it reframes/resizes a page, but does not differentiate from the sibling tool 'resize_page'. The verb 'reframe' and parenthetical '(resize)' give moderate clarity, but ambiguity remains.

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 tool versus alternatives like 'resize_page'. Agent is left to infer usage context.

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

remove_item_from_groupB

Remove a page item from a group

ParametersJSON Schema
NameRequiredDescriptionDefault
itemIndexYesIndex of the item within the group to remove
pageIndexYesIndex of the page containing the group
groupIndexYesIndex of the group to remove the item from

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are present, so the description must carry the full burden of behavioral disclosure. It only restates the function name without explaining what happens to the removed item (e.g., is it deleted or moved?), whether the group becomes empty, or other consequences.

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

Conciseness4/5

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

The description is a single concise sentence with no wasted words. However, it could be expanded to include critical details without losing conciseness.

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?

Given the tool has three required parameters, no output schema, and no annotations, the description is incomplete. It does not explain return values, error conditions, or the overall effect on the document, which is needed for an agent to use it correctly.

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

Parameters3/5

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

Schema coverage is 100% with descriptive parameter names and descriptions, so the baseline is 3. The description adds no additional meaning beyond the schema, but it is not deficient.

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 clearly states the action 'Remove' and the resource 'a page item from a group', with a specific verb-noun pair that distinguishes it from sibling tools like 'add_item_to_group' or 'ungroup'.

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 provides no guidance on when to use this tool versus alternatives (e.g., 'delete_page_item' or 'ungroup'). It does not mention prerequisites, side effects, or usage context.

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

remove_master_overrideC

Remove override from a master page item

ParametersJSON Schema
NameRequiredDescriptionDefault
itemIndexYesMaster item index to remove override from
pageIndexYesPage index

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It only states the action without disclosing potential side effects (e.g., whether the override removal is reversible or if it affects other items). The tool name implies a destructive operation, but no details are given.

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

Conciseness4/5

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

The description is a single concise sentence with no unnecessary words. It is front-loaded but could be slightly more informative without losing conciseness.

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 tool with two parameters and no output schema, the description is minimally adequate. However, it lacks context about what a 'master override' is and what the outcome entails, leaving room for ambiguity.

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 baseline is 3. The description does not add extra meaning beyond the parameter names (itemIndex, pageIndex). It does not explain the relationship between these indices or what constitutes a valid index.

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 clearly states the action (remove override) and the target (master page item). It is specific and uses a verb+resource structure, but does not differentiate from similar sibling tools like 'detach_master_items'.

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 tool versus alternatives. No context about prerequisites or typical use cases is provided.

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

resize_pageC

Resize a page

ParametersJSON Schema
NameRequiredDescriptionDefault
widthNoNew width in mm
heightNoNew height in mm
pageIndexYesPage index
anchorPointNoCENTER_ANCHOR
resizeMethodNoREPLACING_CURRENT_DIMENSIONS_WITH
coordinateSpaceNoPAGE_COORDINATES

TDQS

C2.1/5.0
Behavior1/5

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

With no annotations, the description is the sole source for behavioral traits. It lacks any details about effects on page content, coordinate systems, or constraints.

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

Conciseness3/5

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

The description is a single, front-loaded sentence. While concise, it is too brief to be helpful for a tool with six parameters and multiple enums.

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

Completeness1/5

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

The definition is extremely incomplete given the tool's complexity. It fails to explain how resizing affects page content, the role of anchor points, or coordinates, and there is no output schema.

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 coverage is 50% and the description adds no extra meaning beyond the schema's parameter descriptions. It does not clarify how parameters like anchorPoint or resizeMethod interact.

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 'Resize a page' clearly identifies the action and target resource. It distinguishes from similar tools like 'resize_page_item' based on the name and sibling context.

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 guidance is provided on when to use this tool versus alternatives such as move_page, reframe_page, or other page manipulation tools.

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

resize_page_itemD

Resize a page item

ParametersJSON Schema
NameRequiredDescriptionDefault
widthYesNew width
heightYesNew height
itemIndexYesIndex of the page item to resize
pageIndexYesIndex of the page containing the item
anchorPointNoAnchor point for resizingCENTER_ANCHOR

TDQS

D1.9/5.0
Behavior1/5

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

No annotations are provided, and the description fails to disclose any behavioral traits such as side effects, prerequisites, or constraints. The one-sentence description offers no transparency.

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?

The description is very short but at the expense of missing critical information. It is under-specified rather than concise.

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

Completeness1/5

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

Given the tool has 5 parameters including an enum, and no output schema, the description is woefully inadequate. It provides no context on how resizing works, the role of anchor points, or expected 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 coverage is 100% with parameter descriptions, so the baseline is 3. The description adds no extra value beyond the schema, but it does not contradict it.

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 'Resize a page item' is essentially a tautology of the tool name. It does not provide any additional context or differentiation from sibling tools like 'resize_page' or 'move_page_item'.

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 tool versus alternatives such as 'resize_page' or 'move_page_item'. The description lacks any context for appropriate usage.

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

save_documentC

Save the active document

ParametersJSON Schema
NameRequiredDescriptionDefault
filePathYesPath where to save the document

TDQS

C2.7/5.0
Behavior1/5

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

With no annotations, the description carries full burden for behavioral disclosure. It only states 'Save the active document' without mentioning side effects (e.g., overwriting, permissions required, or state changes). This is critically insufficient for a mutation tool.

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

Conciseness5/5

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

The description is a single sentence with no wasted words. It front-loads the verb and is maximally concise. While lacking detail, this dimension only evaluates efficiency, not completeness.

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 simple save tool with one parameter, the description should mention behavioral aspects like overwrite behavior, file path handling, or document state. The lack of annotations and output schema exacerbates the gap, making the description inadequate for safe autonomous use.

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?

The schema coverage is 100%, so the schema already documents the filePath parameter. The tool description adds no extra meaning beyond the schema, but the baseline of 3 is appropriate given the 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 clearly states the verb 'Save' and resource 'active document', which is specific and distinguishes from sibling tools (no other save tool). However, it lacks additional scope details that would make it a 5, such as the format or destination.

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 provided on when to use this tool, prerequisites (e.g., document must be open), or when to avoid it. No alternatives are mentioned, leaving the agent without context for correct usage.

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

select_pageD

Select a page

ParametersJSON Schema
NameRequiredDescriptionDefault
pageIndexYesPage index
selectionModeNoREPLACE_WITH

TDQS

D1.3/5.0
Behavior1/5

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

With no annotations provided, the description carries full burden for behavioral transparency. It merely restates the name without disclosing any behavioral traits such as side effects, state changes, or requirements.

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

Conciseness2/5

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

While the description is short, it is underspecified and fails to convey essential information. It is not true conciseness because it sacrifices clarity for brevity.

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

Completeness1/5

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

Given the presence of 2 parameters, no output schema, no annotations, and many sibling tools, the description is severely incomplete. It does not explain return values, side effects, or the semantics of parameters like pageIndex and selectionMode.

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

Parameters1/5

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

The description adds no meaning beyond the input schema. The schema's parameter descriptions are minimal ('Page index'), and the 'selectionMode' parameter lacks description entirely. The tool description does not compensate for the 50% schema coverage.

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

Purpose1/5

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

The description 'Select a page' is a tautology that merely restates the tool name. It provides no specifics about what 'select' means in this context and fails to distinguish from sibling tools like 'select_page_item', 'select_spread', and 'navigate_to_page'.

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 on when to use this tool versus alternatives. For example, the difference between 'select_page' and 'navigate_to_page' is unclear, and there are no prerequisites or context provided.

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

select_page_itemB

Select a specific page item

ParametersJSON Schema
NameRequiredDescriptionDefault
itemIndexYesIndex of the page item to select
pageIndexYesIndex of the page containing the item
existingSelectionNoHow to handle existing selectionREPLACE_WITH

TDQS

B3.1/5.0
Behavior2/5

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

The description fails to mention behavioral aspects like how existing selection is handled, despite the existingSelection parameter with enum options (REPLACE_WITH, ADD_TO, REMOVE_FROM). No side effects or error conditions are disclosed.

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

Conciseness4/5

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

Single sentence with no wasted words. While concise, it lacks necessary detail, making it slightly under-specified.

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?

Given the parameter count (3) and the important existingSelection behavior, the description is incomplete. It does not explain the default selection behavior or prerequisites like an open document.

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%, with each parameter described. The tool description adds no additional meaning beyond the schema, meeting the baseline expectation.

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 'Select a specific page item' clearly states the action and target resource. It distinguishes from sibling tools like delete_page_item or move_page_item by focusing on selection only.

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 provided on when to use this tool vs alternatives, such as get_page_item_info for inspection before selection. The description does not mention prerequisites or typical use cases.

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

select_spreadC

Select a spread

ParametersJSON Schema
NameRequiredDescriptionDefault
spreadIndexYesSpread index to select
selectionModeNoREPLACE_WITH

TDQS

C2.3/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It only says 'Select a spread' without any information on side effects, required state, or what the tool actually does (e.g., changes active spread, focuses UI). This is insufficient.

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

Conciseness2/5

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

The description is extremely short (3 words), which is under-specification rather than effective conciseness. It lacks essential details to be 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?

Given the tool has two parameters (one with an enum), no output schema, and no annotations, the description is incomplete. It does not explain what selecting a spread entails, what happens upon success, or how to interpret results. Sibling tools typically have more informative descriptions.

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 50% (only spreadIndex has a description). The tool description adds no additional meaning to the parameters; 'Select a spread' does not clarify the role of selectionMode or the format of spreadIndex. The description does not compensate for the schema gaps.

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?

Description states 'Select a spread', which is a verb+resource pair. However, it is vague because 'select' is ambiguous—it could mean making a spread active or just choosing it for some operation. Among sibling tools like get_spread_info or set_spread_properties, the distinct purpose is unclear.

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 tool versus alternatives such as navigate_to_page or get_spread_info. The description does not mention prerequisites, context, or exclusions.

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

set_active_layerC

Set the active layer

ParametersJSON Schema
NameRequiredDescriptionDefault
layerNameYesLayer name to activate

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It fails to disclose behavioral traits such as whether the change is persistent, whether it affects existing items, or if the layer must already exist. This is critical for a mutation tool.

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

Conciseness4/5

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

The description is a single, front-loaded sentence with no wasted words. However, it could be slightly more informative without becoming verbose, so it is not a perfect 5.

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

Completeness2/5

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

Given the simplicity of the tool (1 param, no output schema), the description is too brief. It does not explain prerequisites (e.g., layer must exist) or the impact on subsequent operations. A new user would likely need additional documentation.

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 schema description for 'layerName' is already clear ('Layer name to activate'). The tool description adds no additional meaning beyond the schema, earning the baseline score 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?

The description uses a clear verb+resource pattern ('Set the active layer'), distinguishing it from siblings like 'create_layer' and 'list_layers'. However, it lacks elaboration on what 'active layer' means in the context of InDesign, which could cause slight ambiguity.

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 provides no guidance on when to use this tool versus alternatives. It does not mention that it should be called before adding items to ensure they go to the correct layer, nor does it reference related tools like 'list_layers'.

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

set_document_grid_settingsB

Set comprehensive grid settings for the document

ParametersJSON Schema
NameRequiredDescriptionDefault
baselineGridNoEnable/disable baseline grid
documentGridNoEnable/disable document grid
gridAlignmentNoGrid alignment option
baselineGridColorNoBaseline grid color
documentGridColorNoDocument grid color
gridViewThresholdNoGrid view threshold
baselineGridOffsetNoBaseline grid offset (e.g., "0pt")
baselineGridIncrementNoBaseline grid increment (e.g., "12pt")
documentGridIncrementNoDocument grid increment (e.g., "12pt")
documentGridSubdivisionNoDocument grid subdivision
baselineGridViewThresholdNoBaseline grid view threshold

TDQS

B3.1/5.0
Behavior2/5

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

There are no annotations provided, so the description must convey behavioral traits. It only says 'set', implying a write operation, but does not discuss permissions, side effects, or whether the operation is reversible. Key behavioral context is missing.

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

Conciseness4/5

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

The description is a single sentence that is concise and front-loaded. However, it could be slightly more informative without being verbose, such as hinting at the range of settings covered.

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?

Given the high parameter count (11), lack of output schema, and no annotations, the description is too minimal. It does not provide an overview of the tool's impact, document state changes, or usage context, making it insufficient for a complex 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?

The input schema has 11 parameters with 100% description coverage, so the schema itself provides detailed semantics. The description adds 'comprehensive' but no additional meaning beyond the schema, achieving baseline value.

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 clearly states the verb 'set' and the resource 'grid settings', and specifies 'comprehensive' to indicate broad coverage. It is distinct from sibling tools like 'set_document_preferences' or 'set_document_layout_preferences'.

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 provides no guidance on when to use this tool versus alternatives such as 'get_document_grid_settings' or other set tools. No conditions, prerequisites, or exclusions are mentioned.

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

set_document_layout_preferencesC

Set layout preferences for the document

ParametersJSON Schema
NameRequiredDescriptionDefault
adjustLayoutNoEnable/disable adjust layout
adjustLayoutRulesNoAdjust layout rules
adjustLayoutMarginsNoEnable/disable adjust layout margins
alignDistributeBoundsNoAlign distribute bounds
smartGuidePreferencesNoEnable/disable smart guide preferences
adjustLayoutPageBreaksNoEnable/disable adjust layout page breaks
alignDistributeSpacingNoAlign distribute spacing

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It states 'set layout preferences' but does not disclose whether changes are destructive, reversible, require permissions, or affect other settings. The behavioral impact is not described beyond the mutation implied by 'set'.

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

Conciseness4/5

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

The description is a single sentence that is concise and to the point. It is appropriately sized given the simplicity of the description, though it could benefit from more structure or detail.

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 7 parameters, no output schema, and no annotations, the description is too minimal. It does not provide enough context for the agent to understand when to set these preferences, their interactions, or the expected result, leading to potential misuse.

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?

The input schema has 7 parameters with full descriptions (100% coverage). The description adds no additional meaning beyond the schema, so the baseline of 3 applies.

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

Purpose4/5

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

The name and description clearly indicate the tool sets document layout preferences. The verb 'set' and object 'layout preferences' are specific, and the sibling 'get_document_layout_preferences' reinforces the read-write pair, but no explicit differentiation from 'adjust_page_layout' is provided.

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 on when to use this tool versus alternatives like 'get_document_layout_preferences' or 'adjust_page_layout'. There is no mention of prerequisites, order of operations, or conditions under which the tool is appropriate.

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

set_document_preferencesC

Set document preferences

ParametersJSON Schema
NameRequiredDescriptionDefault
preferencesYesPreference values to set
preferenceTypeYesType of preferences to set

TDQS

C2.1/5.0
Behavior1/5

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

No annotations are provided, and the description does not disclose any behavioral traits. It does not mention whether the tool is destructive, requires open documents, or validates input. The description fails to provide essential behavioral context.

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

Conciseness2/5

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

The description is extremely short (one sentence) but lacks necessary detail. It is under-specified rather than concise. Every sentence should provide value, but this sentence is too generic to be helpful.

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

Completeness1/5

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

Given the presence of nested objects, an enum parameter, and no output schema or annotations, the description is severely incomplete. It does not explain return values, side effects, prerequisites (e.g., document open state), or how to use the preferences object structure.

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 parameters are described in the schema). The description adds no additional meaning beyond the schema, but per the evaluation criteria, the baseline is 3 when coverage is high. The description neither contradicts nor enriches the parameter information.

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 'Set document preferences' provides a verb and resource, indicating the tool sets preferences for a document. However, it is vague and does not distinguish this tool from sibling tools like set_document_grid_settings or set_document_layout_preferences, which also set specific preferences. The purpose is clear but lacks specificity.

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

Usage Guidelines2/5

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

The description offers no guidance on when to use this tool versus alternatives. Given the many sibling tools for setting specific preferences (e.g., set_document_grid_settings), the description should clarify whether this tool is for general preference setting or only for types not covered by other tools. No usage context is provided.

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

set_group_propertiesC

Set properties of a group

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoName for the group
lockedNoWhether the group is locked
visibleNoWhether the group is visible
pageIndexYesIndex of the page containing the group
groupIndexYesIndex of the group to modify

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description must fully disclose behavior. It only states 'Set properties', indicating a write operation, but does not mention side effects, permissions, or whether changes are reversible. The schema lists properties but the description adds no behavioral context beyond the obvious 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?

The description is a single, clear sentence with no unnecessary words. It is front-loaded and efficient, though it sacrifices depth for brevity.

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?

No output schema is provided, and the description does not mention return values or error handling. For a mutation tool, the context is incomplete without stating what the tool returns (e.g., success indication or updated group). Also, no prerequisites or permissions are noted.

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?

Input schema covers all parameters with descriptions, so schema_description_coverage is 100%. The description adds no extra meaning beyond the schema, which provides baseline clarity. No additional context about parameter semantics is given.

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 'Set properties of a group' clearly indicates the verb and resource. However, it does not differentiate from sibling tools like 'set_page_item_properties' or 'set_spread_properties', which also set properties of similar constructs.

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 tool versus alternatives such as 'create_group', 'get_group_info', or 'ungroup'. The context of modifying an existing group is implied but not explicitly stated.

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

set_page_backgroundA

Set page background by creating a full-page rectangle with specified color

ParametersJSON Schema
NameRequiredDescriptionDefault
opacityNoBackground opacity percentage (0-100)
pageIndexNoPage index
backgroundColorNoBackground color name (must be a color swatch in the document)White

TDQS

A3.5/5.0
Behavior3/5

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

The description implies creating a rectangle, but does not clarify if it replaces existing backgrounds, if it is placed at the bottom layer, or any side effects like affecting existing page items. Given no annotations, the description carries the burden but lacks depth.

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

Conciseness5/5

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

The description is a single, concise sentence that effectively communicates the core purpose. No unnecessary words.

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 tool with no output schema, the description is adequate but incomplete: it does not mention behavior when a background already exists or how the opacity parameter affects the result. The parameter descriptions in schema help fill the gap, but the tool description could be more complete.

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 each parameter has a description. The tool description does not add additional meaning beyond what the schema already provides, meeting 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?

The description clearly states the action ('Set page background') and the method ('creating a full-page rectangle with specified color'). It distinguishes itself from general rectangle creation tools by specifying the purpose.

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 provided on when to use this tool versus alternatives like create_rectangle or apply_color. There are no prerequisites or context for usage.

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

set_page_item_propertiesC

Set properties of a page item

ParametersJSON Schema
NameRequiredDescriptionDefault
lockedNoWhether the item is locked
visibleNoWhether the item is visible
fillColorNoFill color name
itemIndexYesIndex of the page item to modify
pageIndexYesIndex of the page containing the item
strokeColorNoStroke color name
strokeWeightNoStroke weight

TDQS

C2.5/5.0
Behavior2/5

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

No annotations provided; description does not disclose side effects, permissions, or behavior beyond setting properties.

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?

Very concise (one sentence) but lacks structure or additional context. Could be improved.

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 7 parameters and no output schema, the description is insufficient. Does not explain return values or the effect of setting multiple properties.

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 are documented. Description adds no additional meaning beyond the schema.

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?

Description states it sets properties of a page item, which is clear but does not differentiate from similar tools like set_group_properties or set_page_properties.

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 tool versus alternative tools like resize_page_item or move_page_item.

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

set_page_item_script_labelC

Overwrite the script label for targeted page items

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoSelection mode: current selection, page/item indices, or page number plus object idCURRENT_SELECTION
labelYesScript label to assign; use empty string to clear
objectIdNoWhen mode=PAGE_NUMBER_AND_OBJECT_ID, InDesign object id of the page item
itemIndexNoWhen mode=PAGE_ITEM, index of the page item (zero-based)
pageIndexNoWhen mode=PAGE_ITEM, index of the page containing the item (zero-based)
pageNumberNoWhen mode=PAGE_NUMBER_AND_OBJECT_ID, page number using documentOffset+1

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description must fully disclose behavior. It indicates the action is destructive ('overwrite') but omits details like reversibility, permissions, error handling, or the effect of clearing the label (empty string). The schema provides some details, but the description adds little beyond the purpose.

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

Conciseness4/5

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

The description is a single, concise sentence that front-loads the key action and resource. It could be slightly more informative without being verbose, but it is efficient.

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 complexity of the tool (6 parameters, multiple selection modes) and lack of output schema or annotations, the description is incomplete. It does not explain the modes or provide usage context, though the schema fills some 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 documents each parameter adequately. The tool description adds no additional parameter-level information, meeting 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?

The description 'Overwrite the script label for targeted page items' clearly identifies the action (overwrite), resource (script label), and target (page items). It distinguishes from sibling tools like get_page_item_script_labels by specifying an overwrite operation, but it could be more specific about the 'targeted' aspect which is handled by parameters.

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 provided on when to use this tool versus alternatives like set_page_item_properties or apply_object_style. It does not mention the get counterpart or explain which mode to choose for different scenarios.

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

set_page_propertiesC

Set properties for a page

ParametersJSON Schema
NameRequiredDescriptionDefault
labelNoPage label
pageColorNoPage color (RGB values as comma-separated string or UI color name)
pageIndexYesPage index
layoutRuleNoLayout rule
optionalPageNoOptional page for HTML5 pagination
appliedTrapPresetNoTrap preset name to apply
snapshotBlendingModeNoSnapshot blending mode

TDQS

C2.9/5.0
Behavior2/5

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

Description lacks behavioral details beyond the obvious. No annotations are provided, so the description carries the burden. It does not disclose side effects, required permissions, or behavior for invalid inputs.

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?

Single sentence, front-loaded, no wasted words. Structure is appropriate, though brevity sacrifices depth.

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 7 parameters and no output schema, the description is too brief to provide adequate context. Does not explain how properties interact or what the tool returns.

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%, baseline is 3. Description adds no parameter semantics beyond what the schema already provides.

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

Purpose4/5

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

Description clearly states it sets properties for a page (verb+resource), but it does not differentiate from sibling setters like set_spread_properties or set_page_item_properties. The description is generic but not misleading.

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 tool versus alternatives. Does not mention prerequisites, context, or exclusion criteria.

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

set_spread_propertiesC

Set properties for a spread

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoSpread name/label
spreadIndexYesSpread index
spreadHiddenNoHide/show spread
showMasterItemsNoShow master items
allowPageShuffleNoAllow page shuffle
pageTransitionTypeNoPage transition type
pageTransitionDurationNoPage transition duration
pageTransitionDirectionNoPage transition direction

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description is the sole source. It only says 'Set properties', failing to disclose that this is a mutation operation, any required permissions, or whether it overwrites or merges properties.

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

Conciseness4/5

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

The description is very concise at 6 words, front-loaded with verb and object. However, it leans on the schema for details, which is acceptable for a simple tool.

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?

Despite 8 parameters and no output schema, the description is insufficient. It lacks return value info, side effects, or any context beyond the bare action.

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 baseline is 3. The description adds no extra meaning beyond the schema; it does not explain parameter relationships or usage constraints.

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 clearly states the verb 'Set' and the resource 'spread', distinguishing it from siblings like 'get_spread_info'. However, it does not list the properties or further specify the scope.

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 provided on when to use this tool vs alternatives, no prerequisites, and no context for invocation.

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

snapshot_page_layoutB

Create a snapshot of the current page layout

ParametersJSON Schema
NameRequiredDescriptionDefault
pageIndexYesPage index

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description bears full responsibility for behavioral disclosure. It merely states the action without explaining side effects, such as whether existing snapshots are overwritten or if certain document state is required.

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

Conciseness4/5

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

The description is a single short sentence, which is concise and front-loaded. It contains no fluff, though it could be slightly more informative without sacrificing brevity.

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?

Given the tool's simplicity, the description still falls short. It does not explain what a snapshot is, what the output or side effects are, or any prerequisites, leaving the agent with incomplete context.

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 baseline is 3. The description adds no additional meaning to the 'pageIndex' parameter beyond the schema, which already describes it as 'Page index'. No clarification on indexing or scope is provided.

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 'Create a snapshot of the current page layout' uses a specific verb and resource, clearly stating the tool's action. It distinguishes itself from sibling snapshot tools like delete_page_layout_snapshot.

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 provided on when to use this tool versus alternatives. Among many layout-related siblings, there is no mention of prerequisites or context, leaving the agent guessing about appropriate usage.

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

ungroupC

Ungroup a group, releasing all its items

ParametersJSON Schema
NameRequiredDescriptionDefault
pageIndexYesIndex of the page containing the group
groupIndexYesIndex of the group to ungroup

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It only states 'releasing all its items' but does not clarify if the group object is deleted, if items are moved, or if there are side effects like losing group-level properties. No mention of error conditions (e.g., invalid index).

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

Conciseness4/5

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

The description is a single sentence of 8 words, highly concise and front-loaded. It conveys the essential purpose without extraneous text. Could be expanded slightly but efficiency is maintained.

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 no annotations, no output schema, and a simple operation, the description provides minimal but adequate information. However, it does not address the result or behavior beyond the core action, leaving some ambiguity about what 'releasing all its items' means practically.

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?

Both parameters have descriptions in the input schema (100% coverage). The tool description adds no additional meaning beyond those schema descriptions. 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?

The description clearly states the verb 'ungroup' and the resource 'a group', with the result 'releasing all its items'. It distinguishes from sibling tools like 'create_group' and 'add_item_to_group'. However, it could be more precise about what 'releasing all its items' entails.

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 tool versus alternatives such as 'remove_item_from_group' or 'create_group'. No prerequisites mentioned (e.g., group must exist). The agent must infer usage from the name and description alone.

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

view_documentC

View document information and current state

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, and the description offers no behavioral details beyond the implied read-only nature. There is no mention of permissions, side effects, or what 'current state' entails.

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

Conciseness4/5

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

The description is concise at 5 words, but it could be slightly more informative without sacrificing brevity. It is front-loaded and clear.

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?

Given zero parameters and no output schema, the description should clarify what 'information and current state' means (e.g., metadata, page count, zoom level). It lacks enough detail for an agent to fully understand the tool's 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?

There are no parameters, so schema coverage is effectively 100%. The description adds no parameter explanations, but none are needed. Baseline score of 3 is appropriate.

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 'View document information and current state,' which is a clear verb+resource pair. However, it does not specify what specific information or state is included, making it vague compared to more specific sibling tools like get_document_info or get_document_preferences.

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 provided on when to use this tool versus alternatives. With many sibling tools that also retrieve document-related data, the agent lacks context to differentiate their usage.

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

zoom_to_pageC

Zoom to fit page in view

ParametersJSON Schema
NameRequiredDescriptionDefault
pageIndexYesPage index to zoom to
zoomLevelNoZoom level (percentage)

TDQS

C2.8/5.0
Behavior2/5

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

Without annotations, the description should fully disclose behavior. It is too brief, failing to explain whether zoom is absolute or relative, if animation occurs, or how the 'fit page in view' phrase interacts with the zoomLevel parameter.

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 description is extremely short, which is efficient, but it sacrifices crucial details. It is not optimally informative for such a brief text.

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?

Given the simplicity of the tool, the description could be more complete. It lacks explanation of return value, side effects on view state, and resolution of the contradiction between 'fit page' and manual zoom Level.

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%, with each parameter described clearly. The tool description adds no extra meaning beyond the schema, meeting 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?

The description uses specific verb 'Zoom' and resource 'page', clearly indicating the action. However, the phrase 'fit page in view' conflicts with the explicit zoomLevel parameter, implying automatic fitting rather than manual level setting.

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 tool versus siblings like navigate_to_page or select_page. The description does not mention alternatives or exclusions.

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. Dates show when Glama detected each change.

  1. 114 tool updatesv0.4.0
    • First observedadd_item_to_group
    • First observedadd_page
    • First observedadjust_page_layout
    • First observedapply_character_style
    • First observedapply_color
    • First observedapply_master_spread
    • First observedapply_object_style
    • First observedapply_paragraph_style
    • First observedclear_session
    • First observedclose_document
    • First observedcreate_character_style
    • First observedcreate_color_swatch
    • First observedcreate_document
    • First observedcreate_document_hyperlink
    • First observedcreate_document_section
    • First observedcreate_ellipse
    • First observedcreate_group
    • First observedcreate_group_from_items
    • First observedcreate_layer
    • First observedcreate_master_guides
    • First observedcreate_master_rectangle
    • First observedcreate_master_spread
    • First observedcreate_master_text_frame
    • First observedcreate_object_style
    • First observedcreate_page_guides
    • First observedcreate_paragraph_style
    • First observedcreate_polygon
    • First observedcreate_rectangle
    • First observedcreate_spread_guides
    • First observedcreate_table
    • First observedcreate_text_frame
    • First observeddelete_all_page_layout_snapshots
    • First observeddelete_master_spread
    • First observeddelete_page
    • First observeddelete_page_item
    • First observeddelete_page_layout_snapshot
    • First observeddelete_spread
    • First observeddetach_master_items
    • First observedduplicate_master_spread
    • First observedduplicate_page
    • First observedduplicate_page_item
    • First observedduplicate_spread
    • First observededit_text_frame
    • First observedexecute_indesign_code
    • First observedexport_epub
    • First observedexport_images
    • First observedexport_pdf
    • First observedfind_replace_text
    • First observedfind_text_in_document
    • First observedget_document_colors
    • First observedget_document_elements
    • First observedget_document_grid_settings
    • First observedget_document_hyperlinks
    • First observedget_document_info
    • First observedget_document_layers
    • First observedget_document_layout_preferences
    • First observedget_document_preferences
    • First observedget_document_sections
    • First observedget_document_stories
    • First observedget_document_styles
    • First observedget_group_info
    • First observedget_image_info
    • First observedget_master_spread_info
    • First observedget_page_content_summary
    • First observedget_page_info
    • First observedget_page_item_info
    • First observedget_page_item_script_labels
    • First observedget_session_info
    • First observedget_spread_content_summary
    • First observedget_spread_info
    • First observedhelp
    • First observedlist_color_swatches
    • First observedlist_groups
    • First observedlist_layers
    • First observedlist_master_spreads
    • First observedlist_object_styles
    • First observedlist_page_items
    • First observedlist_spreads
    • First observedlist_styles
    • First observedmove_page
    • First observedmove_page_item
    • First observedmove_spread
    • First observednavigate_to_page
    • First observedopen_document
    • First observedorganize_document_layers
    • First observedpackage_document
    • First observedplace_file_on_page
    • First observedplace_file_on_spread
    • First observedplace_image
    • First observedplace_xml_on_page
    • First observedpopulate_table
    • First observedreframe_page
    • First observedremove_item_from_group
    • First observedremove_master_override
    • First observedresize_page
    • First observedresize_page_item
    • First observedsave_document
    • First observedselect_page
    • First observedselect_page_item
    • First observedselect_spread
    • First observedset_active_layer
    • First observedset_document_grid_settings
    • First observedset_document_layout_preferences
    • First observedset_document_preferences
    • First observedset_group_properties
    • First observedset_page_background
    • First observedset_page_item_properties
    • First observedset_page_item_script_label
    • First observedset_page_properties
    • First observedset_spread_properties
    • First observedsnapshot_page_layout
    • First observedungroup
    • First observedview_document
    • First observedzoom_to_page

TDQS

C2.8/5.0
Disambiguation4/5

Most tools have clearly distinct purposes targeting specific InDesign objects (pages, spreads, layers, etc.). However, the large number (114) increases the risk of agent confusion, especially with similar operations like 'create_group' vs 'create_group_from_items' and 'add_page' vs 'duplicate_page'. Overall, the boundaries are mostly clear.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern with snake_case. Verbs are systematically used (create_, delete_, duplicate_, etc.), and the naming is predictable and clear across the entire set.

Tool Count2/5

114 tools is excessively high for an MCP server, far beyond the typical well-scoped range of 3-15. While InDesign is complex, this number feels overwhelming and many tools could be combined or generalized to reduce cognitive load.

Completeness4/5

The tool set covers a very broad range of InDesign operations including page management, styles, colors, hyperlinks, exporting, and scripting. Minor gaps exist (e.g., advanced text editing), but the surface is largely comprehensive for document layout and design workflows.

Maintenance

ActivityActive
ResponsivenessSlow

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • 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
    31
    MIT
  • A
    license
    C
    quality
    B
    maintenance
    A Model Context Protocol (MCP) server that gives AI assistants direct, native control over Adobe InDesign via a UXP plugin bridge, with ~130 tools covering documents, pages, text, graphics, styles, master spreads, books, and export.
    100
    93
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants like Claude to control the Scribus desktop publishing app for document creation, editing, and export via its Python Scripter API, supporting both headless and interactive modes with ~125 tools.
    1
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/zhanglongxiao111/indesign-cli'

If you have feedback or need assistance with the MCP directory API, please join our Discord server